/* 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) */
/* dromio-merry-jest (funny, sunlit) */
.scn-dromio-merry-jest { background: linear-gradient(180deg, #87ceeb 0%, #b0e0e6 30%, #f0e68c 100%), radial-gradient(ellipse at 50% 100%, #ffebcd 0%, transparent 70%); }
.scn-dromio-merry-jest .sky-dmj { position:absolute; inset:0 0 60% 0; background: linear-gradient(180deg, #87ceeb 0%, #b0e0e6 70%); animation: dmj-sky 12s ease-in-out infinite alternate; }
.scn-dromio-merry-jest .sun-dmj { position:absolute; top:10%; left:70%; width:40px; height:40px; background: radial-gradient(circle, #ffd700 0%, #ffb347 60%); border-radius:50%; box-shadow: 0 0 30px 10px #ffb347; animation: dmj-sun 6s ease-in-out infinite; }
.scn-dromio-merry-jest .ground-dmj { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #90ee90 0%, #228b22 100%); border-radius: 20% 20% 0 0 / 40% 40% 0 0; animation: dmj-ground 8s ease-in-out infinite alternate; }
.scn-dromio-merry-jest .building-dmj { position:absolute; bottom:30%; left:20%; width:120px; height:90px; background: linear-gradient(180deg, #deb887 0%, #8b4513 100%); border-radius: 10% 10% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.3); animation: dmj-building 5s ease-in-out infinite; }
.scn-dromio-merry-jest .figure-dmj-a { position:absolute; bottom:25%; left:35%; width:20px; height:40px; background: linear-gradient(180deg, #4682b4 0%, #2f4f4f 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dmj-figure-a 4s ease-in-out infinite; }
.scn-dromio-merry-jest .figure-dmj-b { position:absolute; bottom:25%; left:45%; width:16px; height:30px; background: linear-gradient(180deg, #daa520 0%, #8b6508 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dmj-figure-b 3s ease-in-out infinite; animation-delay: 1s; }
@keyframes dmj-sky { 0% { opacity:0.8; background-position:0 0; } 50% { opacity:1; background-position:0 10%; } 100% { opacity:0.9; background-position:0 0; } }
@keyframes dmj-sun { 0% { transform:scale(1); box-shadow:0 0 30px 10px #ffb347; } 50% { transform:scale(1.1); box-shadow:0 0 40px 15px #ffb347; } 100% { transform:scale(1); } }
@keyframes dmj-ground { 0% { transform:translateY(0); } 50% { transform:translateY(-3px); } 100% { transform:translateY(0); } }
@keyframes dmj-building { 0%,100% { transform:rotate(0deg); } 50% { transform:rotate(1deg); } }
@keyframes dmj-figure-a { 0% { transform:translateX(0) rotate(-2deg); } 25% { transform:translateX(8px) rotate(1deg); } 50% { transform:translateX(16px) rotate(-1deg); } 75% { transform:translateX(24px) rotate(2deg); } 100% { transform:translateX(32px) rotate(0deg); } }
@keyframes dmj-figure-b { 0% { transform:translateX(0) scale(1); } 30% { transform:translateX(-6px) scale(1.05); } 60% { transform:translateX(-12px) scale(0.95); } 100% { transform:translateX(0) scale(1); } }

/* merchant-invitation-decline (calm, sunlit) */
.scn-merchant-invitation-decline { background: linear-gradient(180deg, #f0e68c 0%, #ffe4b5 50%, #d2b48c 100%), radial-gradient(ellipse at 50% 100%, #ffe4b5 0%, transparent 60%); }
.scn-merchant-invitation-decline .sky-mid { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #87ceeb 0%, #f0e68c 100%); animation: mid-sky 14s ease-in-out infinite alternate; }
.scn-merchant-invitation-decline .facade-mid { position:absolute; bottom:25%; left:10%; right:10%; height:50%; background: linear-gradient(180deg, #deb887 0%, #a0522d 100%); border-radius: 5% 5% 0 0; box-shadow: inset 0 -4px 8px rgba(0,0,0,0.2); animation: mid-facade 8s ease-in-out infinite alternate; }
.scn-merchant-invitation-decline .counter-mid { position:absolute; bottom:20%; left:20%; right:20%; height:15%; background: linear-gradient(180deg, #8b4513 0%, #5c3317 100%); border-radius: 10px; box-shadow: 0 2px 4px rgba(0,0,0,0.3); animation: mid-counter 6s ease-in-out infinite; }
.scn-merchant-invitation-decline .document-mid { position:absolute; bottom:30%; left:40%; width:30px; height:20px; background: #ffffe0; border-radius:2px; box-shadow: 0 0 6px rgba(0,0,0,0.1); animation: mid-document 5s ease-in-out infinite; }
.scn-merchant-invitation-decline .merchant-mid { position:absolute; bottom:15%; left:45%; width:22px; height:45px; background: linear-gradient(180deg, #4682b4 0%, #2f4f4f 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mid-merchant 7s ease-in-out infinite; }
@keyframes mid-sky { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.95; } }
@keyframes mid-facade { 0% { transform:translateY(0); } 50% { transform:translateY(-2px); } 100% { transform:translateY(0); } }
@keyframes mid-counter { 0%,100% { transform:scaleY(1); } 50% { transform:scaleY(0.98); } }
@keyframes mid-document { 0% { transform:rotate(0deg); } 25% { transform:rotate(2deg); } 75% { transform:rotate(-2deg); } 100% { transform:rotate(0deg); } }
@keyframes mid-merchant { 0% { transform:translateX(0) rotate(0deg); } 30% { transform:translateX(3px) rotate(1deg); } 60% { transform:translateX(-3px) rotate(-1deg); } 100% { transform:translateX(0) rotate(0deg); } }

/* antipholus-lost-wander (warm, sunlit) */
.scn-antipholus-lost-wander { background: linear-gradient(180deg, #ffa07a 0%, #ffdab9 40%, #faebd7 100%), radial-gradient(ellipse at 50% 100%, #ffdab9 0%, transparent 70%); }
.scn-antipholus-lost-wander .sky-alw { position:absolute; inset:0 0 55% 0; background: linear-gradient(180deg, #ffa07a 0%, #ffdab9 60%); animation: alw-sky 15s ease-in-out infinite alternate; }
.scn-antipholus-lost-wander .city-alw { position:absolute; bottom:25%; left:0; right:0; height:30%; background: linear-gradient(180deg, #cd853f 0%, #8b4513 100%); border-radius: 30% 30% 0 0 / 50% 50% 0 0; box-shadow: inset 0 8px 12px rgba(0,0,0,0.3); animation: alw-city 10s ease-in-out infinite alternate; }
.scn-antipholus-lost-wander .street-alw { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #a0522d 0%, #5c3317 100%); animation: alw-street 8s ease-in-out infinite; }
.scn-antipholus-lost-wander .figure-alw { position:absolute; bottom:10%; left:30%; width:20px; height:40px; background: linear-gradient(180deg, #2f4f4f 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: alw-figure 4s ease-in-out infinite; }
.scn-antipholus-lost-wander .ripple-alw-1 { position:absolute; bottom:5%; left:50%; width:10px; height:10px; background: rgba(255,255,255,0.3); border-radius:50%; animation: alw-ripple 6s ease-out infinite; }
.scn-antipholus-lost-wander .ripple-alw-2 { position:absolute; bottom:8%; left:55%; width:8px; height:8px; background: rgba(255,255,255,0.2); border-radius:50%; animation: alw-ripple 6s ease-out infinite; animation-delay: 2s; }
.scn-antipholus-lost-wander .shadow-alw { position:absolute; bottom:5%; left:30%; width:20px; height:6px; background: rgba(0,0,0,0.2); border-radius:50%; animation: alw-shadow 4s ease-in-out infinite; }
@keyframes alw-sky { 0% { opacity:0.9; background-position:0 0; } 50% { opacity:1; background-position:0 5%; } 100% { opacity:0.95; background-position:0 0; } }
@keyframes alw-city { 0% { transform:translateY(0); } 50% { transform:translateY(-3px); } 100% { transform:translateY(0); } }
@keyframes alw-street { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes alw-figure { 0% { transform:translateX(0) rotate(-1deg); } 25% { transform:translateX(10px) rotate(1deg); } 50% { transform:translateX(20px) rotate(-1deg); } 75% { transform:translateX(30px) rotate(1deg); } 100% { transform:translateX(40px) rotate(0deg); } }
@keyframes alw-ripple { 0% { transform:scale(1); opacity:1; } 50% { transform:scale(3); opacity:0.5; } 100% { transform:scale(5); opacity:0; } }
@keyframes alw-shadow { 0%,100% { transform:scaleX(1); opacity:0.2; } 50% { transform:scaleX(1.5); opacity:0.3; } }

/* item-pig-burnt-dinner (funny, bright-interior) */
.scn-item-pig-burnt-dinner { background: linear-gradient(180deg, #ffd700 0%, #ff8c00 40%, #8b4513 100%), radial-gradient(ellipse at 50% 0%, #ffd700 0%, transparent 60%); }
.scn-item-pig-burnt-dinner .wall-ipb { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #f5deb3 0%, #deb887 100%); animation: ipb-wall 10s ease-in-out infinite alternate; }
.scn-item-pig-burnt-dinner .table-ipb { position:absolute; bottom:20%; left:10%; right:10%; height:20%; background: linear-gradient(180deg, #8b4513 0%, #5c3317 100%); border-radius: 10px; box-shadow: 0 4px 8px rgba(0,0,0,0.4); animation: ipb-table 8s ease-in-out infinite; }
.scn-item-pig-burnt-dinner .pig-ipb { position:absolute; bottom:30%; left:30%; width:60px; height:40px; background: radial-gradient(circle, #b87333 0%, #8b4513 70%); border-radius: 50% 50% 45% 45%; box-shadow: 0 0 12px rgba(0,0,0,0.3); animation: ipb-pig 3s ease-in-out infinite; }
.scn-item-pig-burnt-dinner .capon-ipb { position:absolute; bottom:35%; left:55%; width:35px; height:25px; background: radial-gradient(circle, #deb887 0%, #a0522d 70%); border-radius: 40% 40% 30% 30%; transform-origin: center; animation: ipb-capon 4s ease-in-out infinite; }
.scn-item-pig-burnt-dinner .flame-ipb-1 { position:absolute; bottom:40%; left:35%; width:8px; height:15px; background: linear-gradient(180deg, #ff4500 0%, #ffd700 60%); border-radius: 50% 50% 0 0; animation: ipb-flame 0.8s ease-in-out infinite alternate; }
.scn-item-pig-burnt-dinner .flame-ipb-2 { position:absolute; bottom:42%; left:50%; width:6px; height:12px; background: linear-gradient(180deg, #ff4500 0%, #ffd700 60%); border-radius: 50% 50% 0 0; animation: ipb-flame 0.6s ease-in-out infinite alternate; animation-delay: 0.3s; }
.scn-item-pig-burnt-dinner .smoke-ipb-1 { position:absolute; top:5%; left:40%; width:20px; height:10px; background: rgba(255,255,255,0.4); border-radius:50%; filter: blur(4px); animation: ipb-smoke 8s linear infinite; }
.scn-item-pig-burnt-dinner .smoke-ipb-2 { position:absolute; top:3%; left:55%; width:15px; height:8px; background: rgba(255,255,255,0.3); border-radius:50%; filter: blur(3px); animation: ipb-smoke 10s linear infinite; animation-delay: 2s; }
@keyframes ipb-wall { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.95; } }
@keyframes ipb-table { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-2px); } }
@keyframes ipb-pig { 0% { transform:rotate(0deg); } 30% { transform:rotate(5deg); } 60% { transform:rotate(-5deg); } 100% { transform:rotate(0deg); } }
@keyframes ipb-capon { 0% { transform:rotate(0deg) scale(1); } 25% { transform:rotate(10deg) scale(1.05); } 75% { transform:rotate(-10deg) scale(0.95); } 100% { transform:rotate(0deg) scale(1); } }
@keyframes ipb-flame { 0% { transform:scaleY(1); opacity:0.9; } 50% { transform:scaleY(1.3); opacity:1; } 100% { transform:scaleY(0.8); opacity:0.8; } }
@keyframes ipb-smoke { 0% { transform:translateY(0) scale(1); opacity:0.6; } 50% { transform:translateY(-30px) scale(2); opacity:0.3; } 100% { transform:translateY(-60px) scale(3); opacity:0; } }

.scn-duke-sentence-egeon {
  background: linear-gradient(180deg, #f2d9a0 0%, #d4b87a 40%, #b89a5e 100%),
              radial-gradient(ellipse at 50% 0%, #fff3d0 0%, transparent 60%);
}
.scn-duke-sentence-egeon .throne { position:absolute; bottom:50%; left:50%; width:120px; height:90px; transform:translateX(-50%); background: linear-gradient(135deg, #8a6e3e 0%, #5e4a2a 100%); border-radius:10% 10% 8% 8% / 30% 30% 20% 20%; box-shadow: inset 0 -10px 20px rgba(0,0,0,.3); }
.scn-duke-sentence-egeon .duke { position:absolute; bottom:52%; left:50%; width:40px; height:60px; transform:translateX(-50%); background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; }
.scn-duke-sentence-egeon .egeon { position:absolute; bottom:38%; left:20%; width:30px; height:55px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:30% 30% 20% 20% / 50% 50% 30% 30%; animation: dse-kneel 6s ease-in-out infinite; }
.scn-duke-sentence-egeon .column-left { position:absolute; top:0; left:15%; width:20px; height:60%; background: linear-gradient(90deg, #c8b08a 0%, #e8d8b0 50%, #c8b08a 100%); border-radius:4%; }
.scn-duke-sentence-egeon .column-right { position:absolute; top:0; right:15%; width:20px; height:60%; background: linear-gradient(90deg, #c8b08a 0%, #e8d8b0 50%, #c8b08a 100%); border-radius:4%; }
.scn-duke-sentence-egeon .sunbeam { position:absolute; top:0; left:30%; width:40%; height:100%; background: linear-gradient(180deg, rgba(255,248,210,.4) 0%, transparent 80%); clip-path: polygon(20% 0, 80% 0, 70% 100%, 30% 100%); animation: dse-beam 5s ease-in-out infinite alternate; }
.scn-duke-sentence-egeon .shadow-stripe { position:absolute; bottom:35%; left:5%; width:90%; height:8%; background: rgba(0,0,0,.2); filter: blur(4px); animation: dse-stripe 7s ease-in-out infinite; }
@keyframes dse-kneel { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes dse-beam { 0% { opacity:.6; transform: scaleX(.95); } 100% { opacity:1; transform: scaleX(1.05); } }
@keyframes dse-stripe { 0% { opacity:.3; transform: translateX(-10px); } 50% { opacity:.6; transform: translateX(10px); } 100% { opacity:.3; transform: translateX(-10px); } }

.scn-egeon-led-away {
  background: linear-gradient(180deg, #7a5a3a 0%, #4a3020 40%, #2a1a10 100%),
              radial-gradient(ellipse at 50% 100%, #5a4030 0%, transparent 70%);
}
.scn-egeon-led-away .wall { position:absolute; top:0; left:0; right:0; bottom:30%; background: linear-gradient(90deg, #3a2a1a 0%, #5a4a3a 50%, #3a2a1a 100%); }
.scn-egeon-led-away .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(0deg, #2a1a0a 0%, #4a3a2a 100%); }
.scn-egeon-led-away .gateway { position:absolute; top:20%; left:50%; width:100px; height:50%; transform:translateX(-50%); background: #2a1a0a; border-radius:50% 50% 0 0 / 60% 60% 0 0; box-shadow: inset 0 0 30px rgba(0,0,0,.8); }
.scn-egeon-led-away .gaoler { position:absolute; bottom:28%; left:35%; width:35px; height:70px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; transform:rotate(5deg); animation: ela-walk 8s ease-in-out infinite; }
.scn-egeon-led-away .egeon-bound { position:absolute; bottom:28%; left:40%; width:30px; height:65px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius:30% 30% 20% 20% / 50% 50% 30% 30%; transform:rotate(-3deg); animation: ela-walk 8s ease-in-out infinite; }
.scn-egeon-led-away .sunlight-shaft { position:absolute; top:0; left:35%; width:30%; height:80%; background: linear-gradient(180deg, rgba(255,220,160,.3) 0%, transparent 70%); clip-path: polygon(0 0, 100% 0, 60% 100%, 40% 100%); animation: ela-shaft 6s ease-in-out infinite alternate; }
.scn-egeon-led-away .shadow-figure { position:absolute; bottom:26%; right:25%; width:20px; height:50px; background: rgba(0,0,0,.5); filter: blur(6px); animation: ela-shadow 8s ease-in-out infinite; }
@keyframes ela-walk { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(8px) rotate(2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes ela-shaft { 0% { opacity:.4; transform: translateY(0); } 100% { opacity:.8; transform: translateY(-10px); } }
@keyframes ela-shadow { 0% { transform: translateX(0); opacity:.5; } 50% { transform: translateX(5px); opacity:.7; } 100% { transform: translateX(0); opacity:.5; } }

.scn-syracusian-merchant-warning {
  background: linear-gradient(180deg, #e8d8a0 0%, #c8b880 40%, #a89860 100%),
              radial-gradient(ellipse at 30% 20%, #fff8d0 0%, transparent 60%);
}
.scn-syracusian-merchant-warning .sky-warning { position:absolute; top:0; left:0; right:0; bottom:40%; background: linear-gradient(180deg, #e0d0a0 0%, #b8a870 100%); }
.scn-syracusian-merchant-warning .pavement { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(0deg, #c0b090 0%, #d8c8b0 50%, #c0b090 100%); }
.scn-syracusian-merchant-warning .building-left { position:absolute; top:5%; left:10%; width:25%; height:60%; background: linear-gradient(90deg, #d0b890 0%, #e8d8b8 50%, #d0b890 100%); border-radius:4% 4% 0 0; box-shadow: -8px 0 12px rgba(0,0,0,.15); }
.scn-syracusian-merchant-warning .merchant { position:absolute; bottom:35%; left:40%; width:28px; height:55px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:35% 35% 25% 25% / 55% 55% 35% 35%; animation: swm-shift 4s ease-in-out infinite; }
.scn-syracusian-merchant-warning .friend { position:absolute; bottom:35%; left:50%; width:30px; height:55px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:35% 35% 25% 25% / 55% 55% 35% 35%; animation: swm-shift 4s ease-in-out infinite reverse; }
.scn-syracusian-merchant-warning .goods-crate { position:absolute; bottom:38%; left:30%; width:25px; height:20px; background: linear-gradient(135deg, #7a6a4a 0%, #5a4a2a 100%); border-radius:10%; }
.scn-syracusian-merchant-warning .shadow-sharp { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.25) 100%); animation: swm-shadow 5s ease-in-out infinite alternate; }
@keyframes swm-shift { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-3px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes swm-shadow { 0% { opacity:.5; } 100% { opacity:.8; } }

.scn-antipholus-money-order {
  background: linear-gradient(180deg, #c8d8e0 0%, #a8b8c8 40%, #8898a8 100%),
              radial-gradient(ellipse at 50% 0%, #e0e8f0 0%, transparent 60%);
}
.scn-antipholus-money-order .sky-calm { position:absolute; top:0; left:0; right:0; bottom:50%; background: linear-gradient(180deg, #d8e4ee 0%, #b0c4d8 100%); }
.scn-antipholus-money-order .street { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(0deg, #a0a8b0 0%, #c0c8d0 100%); }
.scn-antipholus-money-order .building-back { position:absolute; top:10%; left:25%; width:50%; height:50%; background: linear-gradient(135deg, #b8c0c8 0%, #9098a0 100%); border-radius:6% 6% 0 0; box-shadow: 0 12px 20px rgba(0,0,0,.1); }
.scn-antipholus-money-order .centaur-sign { position:absolute; top:25%; left:55%; width:16px; height:24px; background: #6a7a6a; border-radius:50% 50% 20% 20%; transform: rotate(-5deg); animation: amo-sway 8s ease-in-out infinite; }
.scn-antipholus-money-order .antipholus { position:absolute; bottom:30%; left:35%; width:30px; height:60px; background: linear-gradient(180deg, #3a4a3a 0%, #1a2a1a 100%); border-radius:35% 35% 25% 25% / 55% 55% 35% 35%; }
.scn-antipholus-money-order .dromio { position:absolute; bottom:30%; left:50%; width:28px; height:55px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:35% 35% 25% 25% / 55% 55% 35% 35%; animation: amo-step 6s ease-in-out infinite; }
.scn-antipholus-money-order .coin-pouch { position:absolute; bottom:40%; left:42%; width:12px; height:10px; background: #7a6a3a; border-radius:40% 40% 20% 20%; box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: amo-pouch 6s ease-in-out infinite; }
.scn-antipholus-money-order .gentle-cloud { position:absolute; top:15%; right:10%; width:80px; height:20px; background: rgba(255,255,255,.3); border-radius:50%; filter: blur(8px); animation: amo-cloud 30s linear infinite; }
@keyframes amo-sway { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(5deg) translateY(-1px); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes amo-step { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-1px) rotate(1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes amo-pouch { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(3deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes amo-cloud { 0% { transform: translateX(0); } 100% { transform: translateX(-120vw); } }

.scn-item-ship-splitted {
  background: linear-gradient(180deg, #4a2a2a 0%, #2a1a1a 60%, #1a0a0a 100%),
              radial-gradient(ellipse at 50% 30%, #6a3a3a 0%, transparent 70%);
  overflow: hidden;
}
.scn-item-ship-splitted .cabin-bg {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(90deg, #3a2a1a, #2a1a0a 50%, #3a2a1a);
  animation: iss-pan 14s ease-in-out infinite;
}
.scn-item-ship-splitted .cabin-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #4a3a2a, #2a1a0a);
}
.scn-item-ship-splitted .window-frame {
  position: absolute; left: 50%; top: 5%; width: 90px; height: 110px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #1f2a3a 0%, #0a1525 40%, #101f30 100%);
  border: 5px solid #3a2a1a; border-radius: 6px;
  overflow: hidden;
  box-shadow: inset 0 0 20px rgba(0,0,0,.6);
  animation: iss-storm 18s ease-in-out infinite alternate;
}
.scn-item-ship-splitted .lantern {
  position: absolute; bottom: 30%; right: 20%; width: 14px; height: 18px;
  background: radial-gradient(circle, #f0c060 0%, #c09440 60%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 0 30px 6px #f0b040, 0 0 60px 12px rgba(240,176,64,.4);
  animation: iss-swing 6s ease-in-out infinite;
}
.scn-item-ship-splitted .table {
  position: absolute; bottom: 10%; left: 10%; width: 70px; height: 40px;
  background: linear-gradient(180deg, #5a4a3a, #3a2a1a);
  border-radius: 4px;
  transform: perspective(200px) rotateX(5deg);
  box-shadow: 0 8px 12px rgba(0,0,0,.5);
  animation: iss-rock 10s ease-in-out infinite;
}
.scn-item-ship-splitted .figure {
  position: absolute; bottom: 22%; left: 30%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: iss-walk 8s ease-in-out infinite;
}
@keyframes iss-pan {
  0% { background-position: 0% 0%; }
  50% { background-position: 10% 0%; }
  100% { background-position: 0% 0%; }
}
@keyframes iss-storm {
  0% { background-position: 0% 100%; }
  50% { background-position: 20% 80%; }
  100% { background-position: 0% 100%; }
}
@keyframes iss-swing {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(2px) rotate(3deg); }
  50% { transform: translateX(0) rotate(0deg); }
  75% { transform: translateX(-2px) rotate(-3deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes iss-rock {
  0% { transform: perspective(200px) rotateX(5deg) translateY(0); }
  50% { transform: perspective(200px) rotateX(7deg) translateY(-2px); }
  100% { transform: perspective(200px) rotateX(5deg) translateY(0); }
}
@keyframes iss-walk {
  0% { transform: translateX(0) translateY(0) rotate(-2deg); }
  25% { transform: translateX(8px) translateY(-1px) rotate(2deg); }
  50% { transform: translateX(16px) translateY(0) rotate(-2deg); }
  75% { transform: translateX(24px) translateY(-1px) rotate(2deg); }
  100% { transform: translateX(32px) translateY(0) rotate(0deg); }
}

.scn-rescue-and-separation {
  background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 50%, #1a0a0a 100%),
              radial-gradient(ellipse at 50% 0%, #5a3a3a 0%, transparent 80%);
  overflow: hidden;
}
.scn-rescue-and-separation .cabin-bg {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #2a1a1a 0%, #3a2a2a 100%);
  animation: ras-pan 16s ease-in-out infinite;
}
.scn-rescue-and-separation .cabin-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #4a3a2a, #2a1a0a);
}
.scn-rescue-and-separation .window-frame {
  position: absolute; left: 50%; top: 5%; width: 100px; height: 120px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #1a2a3a 0%, #0a1520 50%);
  border: 4px solid #3a2a1a; border-radius: 6px;
  box-shadow: inset 0 0 15px rgba(0,0,0,.6);
  animation: ras-sea 20s ease-in-out infinite alternate;
}
.scn-rescue-and-separation .candle {
  position: absolute; bottom: 15%; left: 35%; width: 6px; height: 12px;
  background: radial-gradient(circle, #f0d080 0%, #c0a060 80%);
  border-radius: 40% 40% 10% 10%;
  box-shadow: 0 0 20px 4px #f0c060, 0 0 40px 8px rgba(240,192,96,.4);
  animation: ras-flicker 2s ease-in-out infinite;
}
.scn-rescue-and-separation .table {
  position: absolute; bottom: 8%; left: 25%; width: 80px; height: 30px;
  background: linear-gradient(180deg, #5a4a3a, #3a2a1a);
  border-radius: 4px;
  box-shadow: 0 6px 10px rgba(0,0,0,.4);
  animation: ras-tilt 12s ease-in-out infinite;
}
.scn-rescue-and-separation .figure-left {
  position: absolute; bottom: 15%; left: 10%; width: 20px; height: 45px;
  background: linear-gradient(180deg, #2a1a1a, #1a0a0a);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ras-move-left 8s ease-in-out infinite;
}
.scn-rescue-and-separation .figure-right {
  position: absolute; bottom: 15%; right: 10%; width: 20px; height: 45px;
  background: linear-gradient(180deg, #2a1a1a, #1a0a0a);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ras-move-right 8s ease-in-out infinite;
  animation-delay: -2s;
}
@keyframes ras-pan {
  0% { background-position: 0% 0%; }
  50% { background-position: 5% 0%; }
  100% { background-position: 0% 0%; }
}
@keyframes ras-sea {
  0% { background-position: 0% 100%; }
  50% { background-position: 15% 85%; }
  100% { background-position: 0% 100%; }
}
@keyframes ras-flicker {
  0% { opacity: .9; transform: scaleY(1); }
  30% { opacity: .7; transform: scaleY(.9); }
  60% { opacity: 1; transform: scaleY(1); }
  100% { opacity: .9; transform: scaleY(1); }
}
@keyframes ras-tilt {
  0% { transform: rotateX(3deg) translateY(0); }
  50% { transform: rotateX(6deg) translateY(-1px); }
  100% { transform: rotateX(3deg) translateY(0); }
}
@keyframes ras-move-left {
  0% { transform: translateX(0) rotate(-2deg); }
  25% { transform: translateX(10px) rotate(2deg); }
  50% { transform: translateX(20px) rotate(-2deg); }
  75% { transform: translateX(30px) rotate(2deg); }
  100% { transform: translateX(40px) rotate(0deg); }
}
@keyframes ras-move-right {
  0% { transform: translateX(0) rotate(2deg); }
  25% { transform: translateX(-10px) rotate(-2deg); }
  50% { transform: translateX(-20px) rotate(2deg); }
  75% { transform: translateX(-30px) rotate(-2deg); }
  100% { transform: translateX(-40px) rotate(0deg); }
}

.scn-aegeon-searches {
  background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 50%, #1a0a0a 100%),
              radial-gradient(ellipse at 50% 20%, #5a3a3a 0%, transparent 70%);
  overflow: hidden;
}
.scn-aegeon-searches .study-wall {
  position: absolute; inset: 0 0 15% 0;
  background: linear-gradient(180deg, #2a1a1a 0%, #3a2a2a 100%);
  animation: ase-drape 20s ease-in-out infinite;
}
.scn-aegeon-searches .bookshelf {
  position: absolute; left: 5%; top: 10%; width: 30%; height: 70%;
  background: linear-gradient(0deg, #4a3a2a 0%, #3a2a1a 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 10px rgba(0,0,0,.6);
  animation: ase-sway 15s ease-in-out infinite;
}
.scn-aegeon-searches .desk {
  position: absolute; bottom: 10%; left: 15%; width: 60%; height: 20%;
  background: linear-gradient(180deg, #5a4a3a, #3a2a1a);
  border-radius: 4px;
  transform: perspective(300px) rotateX(5deg);
  box-shadow: 0 8px 12px rgba(0,0,0,.4);
}
.scn-aegeon-searches .map {
  position: absolute; bottom: 20%; left: 30%; width: 40%; height: 25%;
  background: linear-gradient(135deg, #6a5a4a 0%, #5a4a3a 50%, #4a3a2a 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,.3);
  transform: rotate(2deg);
  animation: ase-map 12s ease-in-out infinite;
}
.scn-aegeon-searches .candle {
  position: absolute; bottom: 18%; left: 20%; width: 8px; height: 14px;
  background: radial-gradient(circle, #f0c060 0%, #c09440 80%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 25px 5px #f0b040, 0 0 50px 10px rgba(240,176,64,.3);
  animation: ase-flicker 3s ease-in-out infinite;
}
.scn-aegeon-searches .figure {
  position: absolute; bottom: 8%; left: 35%; 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: ase-bend 6s ease-in-out infinite;
}
@keyframes ase-drape {
  0% { opacity: .9; }
  50% { opacity: 1; }
  100% { opacity: .9; }
}
@keyframes ase-sway {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes ase-map {
  0% { transform: rotate(2deg) scale(1); }
  50% { transform: rotate(4deg) scale(1.02); }
  100% { transform: rotate(2deg) scale(1); }
}
@keyframes ase-flicker {
  0% { opacity: .8; box-shadow: 0 0 15px 3px #f0b040; }
  30% { opacity: .6; box-shadow: 0 0 10px 2px #f0b040; }
  60% { opacity: 1; box-shadow: 0 0 30px 6px #f0b040; }
  100% { opacity: .8; box-shadow: 0 0 15px 3px #f0b040; }
}
@keyframes ase-bend {
  0% { transform: rotate(-2deg) translateY(0); }
  25% { transform: rotate(2deg) translateY(-2px); }
  50% { transform: rotate(-2deg) translateY(0); }
  75% { transform: rotate(2deg) translateY(-2px); }
  100% { transform: rotate(-2deg) translateY(0); }
}

.scn-aegeon-concludes {
  background: linear-gradient(180deg, #4a3a3a 0%, #3a2a2a 50%, #1a1a1a 100%),
              radial-gradient(ellipse at 30% 20%, #6a4a4a 0%, transparent 80%);
  overflow: hidden;
}
.scn-aegeon-concludes .court-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(135deg, #5a4a3a, #3a2a1a, #4a3a2a);
  box-shadow: 0 -10px 20px rgba(0,0,0,.5);
}
.scn-aegeon-concludes .column-left {
  position: absolute; left: 10%; top: 0; width: 8%; height: 100%;
  background: linear-gradient(180deg, #6a5a4a, #4a3a2a, #5a4a3a);
  border-radius: 4px;
  box-shadow: 4px 0 10px rgba(0,0,0,.3);
  animation: ace-column-left 30s ease-in-out infinite;
}
.scn-aegeon-concludes .column-right {
  position: absolute; right: 10%; top: 0; width: 8%; height: 100%;
  background: linear-gradient(180deg, #6a5a4a, #4a3a2a, #5a4a3a);
  border-radius: 4px;
  box-shadow: -4px 0 10px rgba(0,0,0,.3);
  animation: ace-column-right 30s ease-in-out infinite;
}
.scn-aegeon-concludes .throne-bg {
  position: absolute; bottom: 15%; left: 35%; width: 30%; height: 50%;
  background: linear-gradient(180deg, #5a4a3a, #3a2a1a);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 10px 20px rgba(0,0,0,.6);
}
.scn-aegeon-concludes .sunbeam {
  position: absolute; left: 20%; top: 10%; width: 60%; height: 80%;
  background: linear-gradient(180deg, rgba(255,240,200,0.3) 0%, transparent 100%);
  clip-path: polygon(0 0, 100% 0, 70% 100%, 30% 100%);
  animation: ace-beam 18s ease-in-out infinite alternate;
}
.scn-aegeon-concludes .figure-kneeling {
  position: absolute; bottom: 5%; left: 45%; width: 22px; height: 40px;
  background: linear-gradient(180deg, #2a1a1a, #1a0a0a);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform: rotate(-10deg);
  transform-origin: bottom center;
  animation: ace-kneel 8s ease-in-out infinite;
}
@keyframes ace-column-left {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(.98); }
  100% { transform: scaleY(1); }
}
@keyframes ace-column-right {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(.98); }
  100% { transform: scaleY(1); }
}
@keyframes ace-beam {
  0% { opacity: .4; transform: skewX(0deg); }
  50% { opacity: .6; transform: skewX(2deg); }
  100% { opacity: .4; transform: skewX(0deg); }
}
@keyframes ace-kneel {
  0% { transform: rotate(-10deg) translateY(0); }
  25% { transform: rotate(-8deg) translateY(-2px); }
  50% { transform: rotate(-10deg) translateY(0); }
  75% { transform: rotate(-8deg) translateY(-2px); }
  100% { transform: rotate(-10deg) translateY(0); }
}

.scn-duke-condemns-aegeon {
  background: linear-gradient(180deg, #d4c4a0 0%, #b8a88a 40%, #9a8870 100%), radial-gradient(ellipse at 50% 30%, #d4c4a0 0%, transparent 60%);
}
.scn-duke-condemns-aegeon .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #b8a88a 0%, #9a8870 15%, #7a6a5a 100%);
  border-radius: 50% 50% 0 0 / 30% 30% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.3);
  animation: dca-floor 20s ease-in-out infinite alternate;
}
.scn-duke-condemns-aegeon .pillar-left,
.scn-duke-condemns-aegeon .pillar-right {
  position: absolute; bottom: 25%; width: 8%; height: 65%;
  background: linear-gradient(90deg, #8a7a6a 0%, #c0b0a0 40%, #8a7a6a 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.2);
}
.scn-duke-condemns-aegeon .pillar-left { left: 8%; }
.scn-duke-condemns-aegeon .pillar-right { right: 8%; }
.scn-duke-condemns-aegeon .throne {
  position: absolute; bottom: 30%; left: 50%; width: 16%; height: 25%; transform: translateX(-50%);
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%;
  box-shadow: 0 10px 30px rgba(0,0,0,0.5);
  animation: dca-throne 8s ease-in-out infinite alternate;
}
.scn-duke-condemns-aegeon .duke {
  position: absolute; bottom: 35%; left: 38%; width: 8%; height: 30%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dca-duke 4s ease-in-out infinite;
}
.scn-duke-condemns-aegeon .aegeon {
  position: absolute; bottom: 25%; left: 58%; width: 7%; height: 22%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dca-aegeon 6s ease-in-out infinite;
}
.scn-duke-condemns-aegeon .guard-left,
.scn-duke-condemns-aegeon .guard-right {
  position: absolute; bottom: 25%; width: 5%; height: 28%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 20% 20% 10% 10%;
}
.scn-duke-condemns-aegeon .guard-left { left: 24%; animation: dca-guard 5s ease-in-out infinite alternate; }
.scn-duke-condemns-aegeon .guard-right { right: 24%; animation: dca-guard 5s ease-in-out infinite alternate-reverse; }
.scn-duke-condemns-aegeon .light-beam {
  position: absolute; top: 0; left: 30%; width: 40%; height: 75%;
  background: linear-gradient(180deg, rgba(255,245,220,0.3) 0%, transparent 100%);
  clip-path: polygon(30% 0, 70% 0, 60% 100%, 40% 100%);
  filter: blur(2px);
  animation: dca-beam 12s ease-in-out infinite alternate;
}
@keyframes dca-floor {
  0%,100% { opacity: 0.9; }
  50% { opacity: 1; }
}
@keyframes dca-throne {
  0% { transform: translateX(-50%) scaleY(1); }
  50% { transform: translateX(-50%) scaleY(1.02); }
  100% { transform: translateX(-50%) scaleY(0.98); }
}
@keyframes dca-duke {
  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 dca-aegeon {
  0%,100% { transform: translateY(0) rotate(0) scaleX(1); }
  50% { transform: translateY(3px) rotate(-1deg) scaleX(0.95); }
}
@keyframes dca-guard {
  0% { transform: translateY(0); }
  100% { transform: translateY(-5px); }
}
@keyframes dca-beam {
  0% { opacity: 0.5; transform: scaleX(1); }
  50% { opacity: 0.8; transform: scaleX(1.1); }
  100% { opacity: 0.6; transform: scaleX(0.9); }
}

.scn-duke-decrees-laws {
  background: linear-gradient(180deg, #c8b898 0%, #a09070 40%, #807060 100%), radial-gradient(ellipse at 50% 40%, #c8b898 0%, transparent 70%);
}
.scn-duke-decrees-laws .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #a09070 0%, #706050 15%, #504030 100%);
  border-radius: 30% 30% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.3);
  animation: ddl-floor 18s ease-in-out infinite alternate;
}
.scn-duke-decrees-laws .arch-left,
.scn-duke-decrees-laws .arch-right {
  position: absolute; bottom: 20%; width: 12%; height: 70%;
  background: linear-gradient(90deg, #8a7a6a 0%, #c0b0a0 40%, #8a7a6a 100%);
  border-radius: 30% 30% 0 0 / 50% 50% 0 0;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.2);
}
.scn-duke-decrees-laws .arch-left { left: 5%; }
.scn-duke-decrees-laws .arch-right { right: 5%; }
.scn-duke-decrees-laws .podium {
  position: absolute; bottom: 22%; left: 50%; width: 20%; height: 18%; transform: translateX(-50%);
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.4);
  animation: ddl-podium 10s ease-in-out infinite alternate;
}
.scn-duke-decrees-laws .scroll {
  position: absolute; bottom: 32%; left: 50%; width: 6%; height: 4%; transform: translateX(-50%);
  background: linear-gradient(0deg, #d4b080 0%, #f0d0a0 50%, #d4b080 100%);
  border-radius: 20% 20% 40% 40% / 30% 30% 50% 50%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: ddl-scroll 6s ease-in-out infinite;
}
.scn-duke-decrees-laws .duke {
  position: absolute; bottom: 30%; left: 38%; width: 8%; height: 28%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ddl-duke 5s ease-in-out infinite;
}
.scn-duke-decrees-laws .senator-left,
.scn-duke-decrees-laws .senator-right {
  position: absolute; bottom: 25%; width: 7%; height: 24%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
}
.scn-duke-decrees-laws .senator-left { left: 20%; animation: ddl-senator 7s ease-in-out infinite alternate; }
.scn-duke-decrees-laws .senator-right { right: 20%; animation: ddl-senator 7s ease-in-out infinite alternate-reverse; }
.scn-duke-decrees-laws .stain-glass {
  position: absolute; top: 5%; left: 35%; width: 30%; height: 35%;
  background: radial-gradient(circle, #d4a060 20%, #806040 60%, transparent 80%);
  clip-path: polygon(20% 0, 80% 0, 100% 40%, 80% 100%, 20% 100%, 0% 40%);
  box-shadow: inset 0 0 40px rgba(180,120,60,0.4);
  animation: ddl-glass 12s ease-in-out infinite alternate;
}
@keyframes ddl-floor {
  0%,100% { opacity: 0.85; }
  50% { opacity: 1; }
}
@keyframes ddl-podium {
  0% { transform: translateX(-50%) scaleY(1); }
  50% { transform: translateX(-50%) scaleY(1.03); }
  100% { transform: translateX(-50%) scaleY(0.97); }
}
@keyframes ddl-scroll {
  0%,100% { transform: translateX(-50%) rotate(0); }
  50% { transform: translateX(-50%) rotate(3deg); }
}
@keyframes ddl-duke {
  0% { transform: translateY(0) rotate(0); }
  30% { transform: translateY(-3px) rotate(-1deg); }
  60% { transform: translateY(0) rotate(1deg); }
  100% { transform: translateY(-2px) rotate(0); }
}
@keyframes ddl-senator {
  0% { transform: translateY(0) rotate(0); }
  100% { transform: translateY(2px) rotate(2deg); }
}
@keyframes ddl-glass {
  0% { opacity: 0.6; transform: scale(0.95); }
  50% { opacity: 0.9; transform: scale(1.05); }
  100% { opacity: 0.7; transform: scale(0.98); }
}

.scn-aegeon-responds {
  background: linear-gradient(180deg, #c0a888 0%, #a08868 40%, #806850 100%), radial-gradient(ellipse at 50% 50%, #c0a888 0%, transparent 60%);
}
.scn-aegeon-responds .wall {
  position: absolute; inset: 0 0 15% 0;
  background: linear-gradient(180deg, #a08868 0%, #806850 50%, #604030 100%);
  border-radius: 0 0 30% 30% / 0 0 20% 20%;
  animation: ar-wall 20s ease-in-out infinite alternate;
}
.scn-aegeon-responds .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #604030 0%, #402820 100%);
  border-radius: 40% 40% 0 0 / 30% 30% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.5);
}
.scn-aegeon-responds .shadow {
  position: absolute; bottom: 22%; left: 30%; width: 30%; height: 30%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.3) 0%, transparent 70%);
  animation: ar-shadow 8s ease-in-out infinite alternate;
}
.scn-aegeon-responds .aegeon {
  position: absolute; bottom: 20%; left: 45%; width: 18%; height: 45%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ar-aegeon 5s ease-in-out infinite;
  box-shadow: -10px 0 30px rgba(0,0,0,0.4);
}
.scn-aegeon-responds .shackles {
  position: absolute; bottom: 35%; left: 46%; width: 4%; height: 6%;
  background: radial-gradient(circle, #908070 0%, #605040 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.5);
  animation: ar-shackles 3s ease-in-out infinite;
}
.scn-aegeon-responds .duke {
  position: absolute; bottom: 22%; right: 20%; width: 10%; height: 35%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ar-duke 6s ease-in-out infinite;
}
.scn-aegeon-responds .guard {
  position: absolute; bottom: 20%; right: 10%; width: 6%; height: 30%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 20% 20% 10% 10%;
  animation: ar-guard 4s ease-in-out infinite alternate;
}
.scn-aegeon-responds .torch {
  position: absolute; top: 20%; left: 15%; width: 4%; height: 10%;
  background: linear-gradient(180deg, #ffd080 0%, #b06020 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  box-shadow: 0 0 40px 10px rgba(255,160,60,0.5), 0 0 80px 20px rgba(255,160,60,0.2);
  animation: ar-torch 2s ease-in-out infinite alternate;
}
.scn-aegeon-responds .chain {
  position: absolute; top: 0; left: 48%; width: 1%; height: 30%;
  background: linear-gradient(180deg, #807060 0%, #504030 50%, #807060 100%);
  border-radius: 20% 20% 40% 40%;
  animation: ar-chain 7s ease-in-out infinite;
}
@keyframes ar-wall {
  0%,100% { opacity: 0.85; }
  50% { opacity: 0.95; }
}
@keyframes ar-shadow {
  0% { transform: translateY(0) scaleX(1); }
  50% { transform: translateY(5px) scaleX(1.1); }
  100% { transform: translateY(-3px) scaleX(0.9); }
}
@keyframes ar-aegeon {
  0% { transform: translateY(0) rotate(0); }
  25% { transform: translateY(-2px) rotate(-3deg); }
  50% { transform: translateY(0) rotate(0); }
  75% { transform: translateY(-2px) rotate(3deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes ar-shackles {
  0%,100% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(3px) rotate(5deg); }
}
@keyframes ar-duke {
  0% { transform: translateY(0) rotate(0); }
  30% { transform: translateY(-2px) rotate(2deg); }
  60% { transform: translateY(0) rotate(-1deg); }
  100% { transform: translateY(-1px) rotate(0); }
}
@keyframes ar-guard {
  0% { transform: translateY(0); }
  100% { transform: translateY(-4px); }
}
@keyframes ar-torch {
  0% { box-shadow: 0 0 30px 8px rgba(255,160,60,0.4); opacity: 0.8; }
  50% { box-shadow: 0 0 50px 15px rgba(255,160,60,0.7); opacity: 1; }
  100% { box-shadow: 0 0 35px 10px rgba(255,160,60,0.5); opacity: 0.9; }
}
@keyframes ar-chain {
  0%,100% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(2px) rotate(-2deg); }
}

.scn-aegeon-marriage-and-birth {
  background: linear-gradient(180deg, #dcc8a8 0%, #b8a080 40%, #9a7a5a 100%), radial-gradient(ellipse at 50% 30%, #dcc8a8 0%, transparent 60%);
}
.scn-aegeon-marriage-and-birth .wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #b8a080 0%, #9a7a5a 50%, #7a5a3a 100%);
  border-radius: 0 0 20% 20% / 0 0 15% 15%;
  animation: amb-wall 25s ease-in-out infinite alternate;
}
.scn-aegeon-marriage-and-birth .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%);
  border-radius: 50% 50% 0 0 / 30% 30% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.3);
}
.scn-aegeon-marriage-and-birth .window {
  position: absolute; top: 12%; right: 8%; width: 22%; height: 30%;
  background: linear-gradient(180deg, #c0e0f0 0%, #80a0c0 100%);
  border-radius: 5% 5% 15% 15% / 5% 5% 20% 20%;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.2), 0 0 20px rgba(100,150,200,0.3);
  animation: amb-window 15s ease-in-out infinite alternate;
  overflow: hidden;
}
.scn-aegeon-marriage-and-birth .ship {
  position: absolute; top: 18%; right: 10%; width: 12%; height: 18%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  clip-path: polygon(10% 100%, 20% 30%, 40% 20%, 60% 20%, 80% 30%, 90% 100%, 70% 90%, 50% 95%, 30% 90%);
  animation: amb-ship 20s ease-in-out infinite;
}
.scn-aegeon-marriage-and-birth .hearth {
  position: absolute; bottom: 25%; left: 10%; width: 18%; height: 20%;
  background: linear-gradient(180deg, #8a6040 0%, #5a3820 100%);
  border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%;
  box-shadow: inset 0 0 40px rgba(0,0,0,0.4);
  animation: amb-hearth 8s ease-in-out infinite alternate;
}
.scn-aegeon-marriage-and-birth .couple {
  position: absolute; bottom: 22%; left: 35%; width: 20%; height: 25%;
  background: radial-gradient(ellipse at 50% 40%, #806040 0%, #402820 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: amb-couple 6s ease-in-out infinite;
}
.scn-aegeon-marriage-and-birth .child {
  position: absolute; bottom: 18%; left: 42%; width: 6%; height: 10%;
  background: radial-gradient(ellipse at 50% 50%, #a08060 0%, #604020 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: amb-child 4s ease-in-out infinite;
}
.scn-aegeon-marriage-and-birth .table {
  position: absolute; bottom: 20%; left: 55%; width: 20%; height: 5%;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a0a 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  animation: amb-table 14s ease-in-out infinite alternate;
}
.scn-aegeon-marriage-and-birth .lamp {
  position: absolute; bottom: 30%; left: 60%; width: 3%; height: 6%;
  background: radial-gradient(circle, #ffd080 0%, #b06020 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 30px 8px rgba(255,200,100,0.5), 0 0 60px 15px rgba(255,200,100,0.2);
  animation: amb-lamp 3s ease-in-out infinite alternate;
}
@keyframes amb-wall {
  0%,100% { opacity: 0.9; }
  50% { opacity: 1; }
}
@keyframes amb-window {
  0% { transform: scaleY(1); opacity: 0.8; }
  50% { transform: scaleY(1.05); opacity: 1; }
  100% { transform: scaleY(0.95); opacity: 0.9; }
}
@keyframes amb-ship {
  0% { transform: translateX(0) scale(1); }
  50% { transform: translateX(5px) scale(1.03); }
  100% { transform: translateX(-3px) scale(0.97); }
}
@keyframes amb-hearth {
  0% { box-shadow: inset 0 0 30px rgba(0,0,0,0.3), 0 0 20px rgba(200,100,50,0.2); }
  50% { box-shadow: inset 0 0 40px rgba(0,0,0,0.4), 0 0 40px rgba(200,100,50,0.4); }
  100% { box-shadow: inset 0 0 35px rgba(0,0,0,0.35), 0 0 30px rgba(200,100,50,0.3); }
}
@keyframes amb-couple {
  0% { transform: translateY(0) rotate(0); }
  25% { transform: translateY(-2px) rotate(-1deg); }
  50% { transform: translateY(0) rotate(0); }
  75% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes amb-child {
  0%,100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(2px) scale(1.05); }
}
@keyframes amb-table {
  0% { transform: translateX(0) scaleX(1); }
  50% { transform: translateX(-2px) scaleX(1.02); }
  100% { transform: translateX(2px) scaleX(0.98); }
}
@keyframes amb-lamp {
  0% { box-shadow: 0 0 20px 5px rgba(255,200,100,0.4); opacity: 0.8; }
  50% { box-shadow: 0 0 40px 10px rgba(255,200,100,0.7); opacity: 1; }
  100% { box-shadow: 0 0 25px 6px rgba(255,200,100,0.5); opacity: 0.9; }
}

.scn-dromio-phoenix-summon { background: linear-gradient(180deg, #f6e4c0 0%, #e8cf9a 50%, #d4ba80 100%), radial-gradient(ellipse at 30% 40%, #fff6e8 0%, transparent 60%); }
.scn-dromio-phoenix-summon .wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #efe3c0 0%, #d6c79a 100%); box-shadow: inset 0 0 40px rgba(0,0,0,.1); }
.scn-dromio-phoenix-summon .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(0deg, #b89e6e 0%, #c8ae7e 50%, #d6be8e 100%); border-radius: 0 0 20px 20px; }
.scn-dromio-phoenix-summon .window { position:absolute; top:12%; left:20%; width:30%; height:45%; background: radial-gradient(ellipse at 50% 50%, #cfe5f0 0%, #9bc0d0 50%, #6e90a0 100%); border: 6px solid #9e7a4a; border-radius:4px; box-shadow: inset 0 0 20px rgba(255,255,240,.4), 0 8px 16px rgba(0,0,0,.2); }
.scn-dromio-phoenix-summon .sunbeam { position:absolute; top:18%; left:22%; width:20%; height:40%; background: linear-gradient(135deg, rgba(255,245,180,.4) 0%, transparent 70%); filter: blur(8px); animation: ps-beam 6s ease-in-out infinite alternate; }
.scn-dromio-phoenix-summon .table { position:absolute; bottom:32%; left:50%; transform:translateX(-50%); width:40%; height:6%; background: linear-gradient(180deg, #8e6e48 0%, #6e4e2e 100%); border-radius:60% 60% 20% 20% / 80% 80% 10% 10%; box-shadow: 0 4px 8px rgba(0,0,0,.3); }
.scn-dromio-phoenix-summon .pitcher { position:absolute; bottom:36%; left:55%; width:8%; height:16%; background: linear-gradient(180deg, #d8c098 0%, #b89670 100%); border-radius:40% 40% 20% 20% / 60% 60% 20% 20%; box-shadow: 2px 4px 6px rgba(0,0,0,.2); animation: ps-pitcher 3s ease-in-out infinite; }
.scn-dromio-phoenix-summon .figure-ps { position:absolute; bottom:30%; left:25%; width:10%; height:30%; background: linear-gradient(180deg, #7a6a52 0%, #4a3e2e 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ps-figure 4s ease-in-out infinite; }
@keyframes ps-beam { 0% { opacity:.3; transform: scaleX(1); } 50% { opacity:.6; transform: scaleX(1.1); } 100% { opacity:.4; transform: scaleX(.95); } }
@keyframes ps-pitcher { 0%,100% { transform: rotate(0deg); } 50% { transform: rotate(5deg); } }
@keyframes ps-figure { 0%,100% { transform: translateY(0) rotate(-2deg); } 25% { transform: translateY(-2px) rotate(1deg); } 50% { transform: translateY(0) rotate(2deg); } 75% { transform: translateY(-1px) rotate(-1deg); } }

.scn-marks-on-pate { background: linear-gradient(180deg, #3a3022 0%, #2a2018 50%, #1e1812 100%), radial-gradient(ellipse at 50% 20%, #5a4e38 0%, transparent 70%); }
.scn-marks-on-pate .bg-dmp { position:absolute; inset:0; background: linear-gradient(135deg, #2a2018 0%, #1a1410 100%); }
.scn-marks-on-pate .lamp-dmp { position:absolute; top:15%; left:40%; width:12%; height:20%; background: radial-gradient(circle, #ffcc66 0%, #b88a3a 50%, #3a2a12 100%); border-radius:40% 40% 10% 10% / 60% 60% 10% 10%; box-shadow: 0 0 40px 20px rgba(255,204,102,.3), 0 0 80px 30px rgba(255,204,102,.1); animation: dmp-lamp 3s ease-in-out infinite alternate; }
.scn-marks-on-pate .figure-dmp { position:absolute; bottom:20%; left:30%; width:14%; height:40%; background: linear-gradient(180deg, #6a5a4a 0%, #3a2e22 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dmp-body 2s ease-in-out infinite; }
.scn-marks-on-pate .head-dmp { position:absolute; bottom:50%; left:32%; width:10%; height:14%; background: radial-gradient(circle, #d4b896 0%, #b09478 60%, #8a7056 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 0 8px 2px rgba(0,0,0,.4); animation: dmp-head 2s ease-in-out infinite; }
.scn-marks-on-pate .mark-a-dmp { position:absolute; bottom:56%; left:34%; width:4%; height:4%; background: radial-gradient(circle, #c8553d 0%, transparent 100%); border-radius:50%; animation: dmp-mark-spin 6s linear infinite; }
.scn-marks-on-pate .mark-b-dmp { position:absolute; bottom:52%; left:36%; width:3%; height:3%; background: radial-gradient(circle, #a0461a 0%, transparent 100%); border-radius:50%; animation: dmp-mark-spin 6s linear infinite reverse; animation-delay: 1s; }
.scn-marks-on-pate .mark-c-dmp { position:absolute; bottom:58%; left:39%; width:5%; height:5%; background: radial-gradient(circle, #b87878 0%, transparent 100%); border-radius:50%; animation: dmp-mark-spin 6s linear infinite; animation-delay: 2s; }
@keyframes dmp-lamp { 0% { opacity:.5; box-shadow: 0 0 30px 15px rgba(255,204,102,.2); } 50% { opacity:.8; box-shadow: 0 0 50px 25px rgba(255,204,102,.4); } 100% { opacity:.6; box-shadow: 0 0 35px 18px rgba(255,204,102,.25); } }
@keyframes dmp-body { 0%,100% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-4px) rotate(3deg); } 60% { transform: translateY(0) rotate(-2deg); } }
@keyframes dmp-head { 0%,100% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-4px) rotate(5deg); } 60% { transform: translateY(0) rotate(-3deg); } }
@keyframes dmp-mark-spin { 0% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(180deg) scale(1.3); } 100% { transform: rotate(360deg) scale(1); } }

.scn-dromio-flout-beaten { background: linear-gradient(180deg, #2c2620 0%, #1e1814 50%, #14100e 100%), radial-gradient(ellipse at 40% 20%, #4a3e34 0%, transparent 80%); }
.scn-dromio-flout-beaten .room-fb { position:absolute; inset:0; background: linear-gradient(180deg, #3a3028 0%, #1e1814 100%); }
.scn-dromio-flout-beaten .floor-fb { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(0deg, #2a221c 0%, #1e1a16 100%); border-radius: 0 0 10px 10px; }
.scn-dromio-flout-beaten .shadow-fb { position:absolute; bottom:20%; left:10%; width:80%; height:10%; background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 70%); filter: blur(6px); animation: fb-shadow 2s ease-in-out infinite; }
.scn-dromio-flout-beaten .antipholus-fb { position:absolute; bottom:28%; left:25%; width:16%; height:45%; background: linear-gradient(180deg, #5a4a3a 0%, #2e221a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fb-antip 2s ease-in-out infinite; }
.scn-dromio-flout-beaten .dromio-fb { position:absolute; bottom:28%; left:55%; width:14%; height:40%; background: linear-gradient(180deg, #4a3a2e 0%, #2a1e16 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fb-drom 2s ease-in-out infinite reverse; }
.scn-dromio-flout-beaten .fist-fb { position:absolute; bottom:50%; left:38%; width:8%; height:10%; background: radial-gradient(circle, #7a5a4a 0%, #3a2a1e 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 2px 4px rgba(0,0,0,.5); animation: fb-fist 1.5s ease-in-out infinite; }
.scn-dromio-flout-beaten .candle-fb { position:absolute; top:20%; left:60%; width:4%; height:12%; background: linear-gradient(180deg, #f2d080 0%, #b88a3a 40%, #4a2a12 100%); border-radius:20%; box-shadow: 0 0 30px 15px rgba(240,200,80,.3); animation: fb-candle 3s ease-in-out infinite alternate; }
@keyframes fb-shadow { 0%,100% { transform: scaleX(1); opacity:.4; } 50% { transform: scaleX(1.05); opacity:.6; } }
@keyframes fb-antip { 0%,100% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-3px) rotate(-3deg); } 50% { transform: translateY(0) rotate(3deg); } 75% { transform: translateY(-2px) rotate(-1deg); } }
@keyframes fb-drom { 0%,100% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(3deg); } 50% { transform: translateY(0) rotate(-2deg); } 75% { transform: translateY(-1px) rotate(1deg); } }
@keyframes fb-fist { 0%,100% { transform: translate(0,0) scale(1); } 30% { transform: translate(5px,-3px) scale(1.1); } 60% { transform: translate(0,0) scale(1); } }
@keyframes fb-candle { 0% { opacity:.6; transform: scaleY(1); } 50% { opacity:1; transform: scaleY(1.05); } 100% { opacity:.7; transform: scaleY(.95); } }

.scn-antipholus-fear-cozenage { background: linear-gradient(180deg, #0c0e1c 0%, #1a1628 30%, #2a1e30 60%, #1a1222 100%), radial-gradient(ellipse at 50% 30%, #2e2240 0%, transparent 70%); }
.scn-antipholus-fear-cozenage .bg-fc { position:absolute; inset:0; background: linear-gradient(135deg, #0c0e1c 0%, #1a1628 100%); }
.scn-antipholus-fear-cozenage .arch-fc { position:absolute; top:0; left:20%; width:60%; height:60%; border: 4px solid #3a2e4e; border-radius: 50% 50% 0 0 / 80% 80% 0 0; background: transparent; box-shadow: inset 0 0 40px rgba(30,20,40,.5); }
.scn-antipholus-fear-cozenage .figure-fc { position:absolute; bottom:25%; left:50%; transform:translateX(-50%); width:12%; height:35%; background: linear-gradient(180deg, #2a1e2e 0%, #0e0a14 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 0 12px 4px rgba(0,0,0,.6); animation: fc-figure 4s ease-in-out infinite; }
.scn-antipholus-fear-cozenage .cloak-fc { position:absolute; bottom:20%; left:46%; width:18%; height:30%; background: linear-gradient(180deg, #1a1422 0%, #0a0812 100%); border-radius: 50% 50% 10% 10% / 70% 70% 10% 10%; transform-origin: top center; animation: fc-cloak 6s ease-in-out infinite; }
.scn-antipholus-fear-cozenage .eye-r-fc { position:absolute; bottom:50%; left:53.5%; width:3%; height:3%; background: radial-gradient(circle, #6a8ab0 0%, #3a506a 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 12px 6px rgba(80,120,180,.3); animation: fc-eye 3s ease-in-out infinite alternate; }
.scn-antipholus-fear-cozenage .eye-l-fc { position:absolute; bottom:50%; left:43.5%; width:3%; height:3%; background: radial-gradient(circle, #6a8ab0 0%, #3a506a 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 12px 6px rgba(80,120,180,.3); animation: fc-eye 3s ease-in-out infinite alternate-reverse; }
.scn-antipholus-fear-cozenage .hand-fc { position:absolute; bottom:40%; left:30%; width:6%; height:10%; background: radial-gradient(circle at 30% 40%, #9a8a7a 0%, #4a3a32 100%); border-radius:30% 30% 40% 40% / 60% 60% 30% 30%; transform-origin: top center; animation: fc-hand 5s ease-in-out infinite; }
@keyframes fc-figure { 0%,100% { transform: translateX(-50%) translateY(0); } 30% { transform: translateX(-50%) translateY(-3px); } 60% { transform: translateX(-50%) translateY(2px); } }
@keyframes fc-cloak { 0%,100% { transform: rotate(0deg) scaleX(1); } 30% { transform: rotate(2deg) scaleX(1.02); } 60% { transform: rotate(-3deg) scaleX(.98); } }
@keyframes fc-eye { 0% { opacity:.3; transform: scale(1); } 50% { opacity:.8; transform: scale(1.3); } 100% { opacity:.4; transform: scale(.9); } }
@keyframes fc-hand { 0%,100% { transform: rotate(0deg) translateX(0); } 25% { transform: rotate(10deg) translateX(5px); } 50% { transform: rotate(0deg) translateX(0); } 75% { transform: rotate(-5deg) translateX(-3px); } }

.scn-aegeon-twins-born { background: linear-gradient(180deg, #f5e6d3 0%, #e3c9b0 30%, #c8a67a 100%), radial-gradient(ellipse at 20% 40%, #ffdbaa 0%, transparent 60%); }
.scn-aegeon-twins-born .floor { position: absolute; bottom: 0; left:0; right:0; height: 40%; background: linear-gradient(0deg, #b89870 0%, #a07a58 100%); box-shadow: inset 0 8px 20px rgba(0,0,0,0.3); }
.scn-aegeon-twins-born .wall { position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #f0dec8 0%, #dbba97 100%); }
.scn-aegeon-twins-born .bed { position: absolute; bottom: 22%; left: 20%; width: 55%; height: 18%; background: linear-gradient(180deg, #c49a6c 0%, #8b6a48 100%); border-radius: 12px; box-shadow: 0 6px 12px rgba(0,0,0,0.4); animation: ae-bed-float 8s ease-in-out infinite; }
.scn-aegeon-twins-born .mother { position: absolute; bottom: 28%; left: 35%; width: 20px; height: 30px; background: linear-gradient(180deg, #7a5a3a 0%, #4a3020 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: ae-figure-rock 6s ease-in-out infinite; }
.scn-aegeon-twins-born .baby-a { position: absolute; bottom: 24%; left: 32%; width: 12px; height: 10px; background: radial-gradient(circle, #f0d8b8 0%, #d4b28a 100%); border-radius: 50%; animation: ae-baby-breathe 3s ease-in-out infinite; }
.scn-aegeon-twins-born .baby-b { position: absolute; bottom: 24%; left: 40%; width: 12px; height: 10px; background: radial-gradient(circle, #f0d8b8 0%, #d4b28a 100%); border-radius: 50%; animation: ae-baby-breathe 3s ease-in-out infinite 0.5s; }
.scn-aegeon-twins-born .window-glow { position: absolute; bottom: 40%; left: 15%; width: 60px; height: 50px; background: radial-gradient(circle at 50% 50%, #ffe8c0 0%, #eec080 70%, transparent 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 40px 20px #ffd090; animation: ae-window-glow 4s ease-in-out infinite alternate; }
.scn-aegeon-twins-born .lamp { position: absolute; bottom: 50%; left: 12%; width: 8px; height: 10px; background: #ffd060; border-radius: 50%; box-shadow: 0 0 24px 12px rgba(255,208,96,0.6); animation: ae-lamp-flicker 2s ease-in-out infinite; }
@keyframes ae-bed-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes ae-figure-rock { 0%,100% { transform: translateX(0) rotate(0); } 25% { transform: translateX(2px) rotate(2deg); } 75% { transform: translateX(-2px) rotate(-2deg); } }
@keyframes ae-baby-breathe { 0%,100% { transform: scale(1); } 50% { transform: scale(1.15); } }
@keyframes ae-window-glow { 0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes ae-lamp-flicker { 0%,100% { opacity: 0.9; box-shadow: 0 0 20px 8px rgba(255,208,96,0.5); } 50% { opacity: 1; box-shadow: 0 0 30px 16px rgba(255,208,96,0.8); } }

.scn-shipwreck-begins { background: linear-gradient(180deg, #2c2a3a 0%, #3e3c50 30%, #52506a 100%), radial-gradient(ellipse at 70% 60%, #7a6a5a 0%, transparent 60%); }
.scn-shipwreck-begins .cabin-floor { position: absolute; bottom: 0; left:0; right:0; height: 30%; background: linear-gradient(0deg, #3a3228 0%, #4a4030 100%); }
.scn-shipwreck-begins .cabin-wall { position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #4a4438 0%, #3a342a 100%); }
.scn-shipwreck-begins .porthole { position: absolute; top: 20%; right: 15%; width: 50px; height: 50px; border-radius: 50%; background: radial-gradient(circle at 30% 30%, #8a9ab8 0%, #4a5a78 60%, #2a3a4a 100%); box-shadow: inset 0 0 20px #1a1a2a, 0 0 10px rgba(0,0,0,0.6); animation: sh-porthole-flash 7s ease-in-out infinite; }
.scn-shipwreck-begins .table { position: absolute; bottom: 20%; left: 25%; width: 40%; height: 12%; background: linear-gradient(180deg, #6a5a42 0%, #4a3a28 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.6); }
.scn-shipwreck-begins .map { position: absolute; bottom: 24%; left: 28%; width: 30%; height: 6%; background: linear-gradient(135deg, #c8b090 0%, #a08868 100%); border-radius: 2px; transform: rotate(3deg); box-shadow: 0 2px 4px rgba(0,0,0,0.5); animation: sh-map-flutter 10s ease-in-out infinite; }
.scn-shipwreck-begins .hurricane-lamp { position: absolute; bottom: 30%; left: 10%; width: 10px; height: 14px; background: radial-gradient(circle, #ffe070 0%, #d08020 100%); border-radius: 30% 30% 20% 20%; box-shadow: 0 0 30px 10px rgba(255,224,112,0.5); animation: sh-lamp-swing 4s ease-in-out infinite; }
.scn-shipwreck-begins .figure-trembling { position: absolute; bottom: 22%; left: 50%; width: 22px; height: 40px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sh-shake 3s ease-in-out infinite; }
@keyframes sh-porthole-flash { 0%,100% { opacity: 0.7; } 50% { opacity: 1; } 70% { opacity: 0.5; } }
@keyframes sh-map-flutter { 0%,100% { transform: rotate(3deg) translateY(0); } 50% { transform: rotate(4deg) translateY(-2px); } }
@keyframes sh-lamp-swing { 0% { transform: rotate(-6deg); } 25% { transform: rotate(8deg); } 50% { transform: rotate(-4deg); } 100% { transform: rotate(5deg); } }
@keyframes sh-shake { 0%,100% { transform: translateX(0) scale(1); } 20% { transform: translateX(2px) scale(1.02); } 40% { transform: translateX(-3px) scale(0.98); } 60% { transform: translateX(1px) scale(1.01); } 80% { transform: translateX(-2px) scale(1); } }

.scn-item-shipwreck-mast { background: linear-gradient(180deg, #7a8a8a 0%, #a0acac 40%, #c8d0d0 100%), radial-gradient(ellipse at 50% 20%, #d4dcdc 0%, transparent 60%); }
.scn-item-shipwreck-mast .sea-sky { position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #b0b8b8 0%, #809090 100%); animation: sm-sky-sway 12s ease-in-out infinite; }
.scn-item-shipwreck-mast .sea { position: absolute; bottom: 0; left:0; right:0; height: 40%; background: linear-gradient(180deg, #5a6a6a 0%, #3a4a4a 100%); }
.scn-item-shipwreck-mast .mast { position: absolute; bottom: 10%; left: 50%; width: 6px; height: 60%; transform: translateX(-50%); background: linear-gradient(180deg, #4a4038 0%, #2a2018 100%); border-radius: 2px; box-shadow: 2px 0 4px rgba(0,0,0,0.4); animation: sm-mast-creak 5s ease-in-out infinite; }
.scn-item-shipwreck-mast .woman { position: absolute; bottom: 8%; left: 44%; width: 20px; height: 36px; background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sm-woman-grieve 9s ease-in-out infinite; }
.scn-item-shipwreck-mast .child { position: absolute; bottom: 10%; left: 46%; width: 12px; height: 12px; background: radial-gradient(circle, #c8a888 0%, #987868 100%); border-radius: 50%; animation: sm-child-cry 4s ease-in-out infinite; }
.scn-item-shipwreck-mast .rope { position: absolute; bottom: 45%; left: 48%; width: 2px; height: 30%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); transform: rotate(8deg); transform-origin: top; border-radius: 1px; animation: sm-rope-sway 6s ease-in-out infinite; }
.scn-item-shipwreck-mast .cloud-gloom { position: absolute; top: 15%; left: 10%; width: 100px; height: 25px; background: rgba(120,130,130,0.5); border-radius: 50%; filter: blur(8px); animation: sm-cloud-drift 40s linear infinite; }
@keyframes sm-sky-sway { 0%,100% { opacity: 0.9; } 50% { opacity: 1; } }
@keyframes sm-mast-creak { 0%,100% { transform: translateX(-50%) rotate(0); } 30% { transform: translateX(-50%) rotate(1deg); } 60% { transform: translateX(-50%) rotate(-1deg); } }
@keyframes sm-woman-grieve { 0%,100% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-3px) rotate(5deg); } 50% { transform: translateY(0) rotate(-3deg); } 75% { transform: translateY(-2px) rotate(4deg); } }
@keyframes sm-child-cry { 0%,100% { transform: scale(1) translateY(0); } 30% { transform: scale(1.1) translateY(-2px); } 60% { transform: scale(0.95) translateY(1px); } }
@keyframes sm-rope-sway { 0%,100% { transform: rotate(8deg); } 50% { transform: rotate(12deg); } }
@keyframes sm-cloud-drift { 0% { transform: translateX(0); } 100% { transform: translateX(120vw); } }

.scn-sun-and-ships { background: linear-gradient(180deg, #d4dce8 0%, #b0c0d0 30%, #8098a8 100%), radial-gradient(ellipse at 30% 20%, #e8f0f0 0%, transparent 60%); }
.scn-sun-and-ships .sea-sky-bright { position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #c8d8e0 0%, #a8b8c8 100%); animation: su-sky-bright 15s ease-in-out infinite; }
.scn-sun-and-ships .sea-bright { position: absolute; bottom: 0; left:0; right:0; height: 40%; background: linear-gradient(180deg, #6a8090 0%, #4a6070 100%); }
.scn-sun-and-ships .ship-a { position: absolute; bottom: 35%; left: 20%; width: 70px; height: 20px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 4px 8px rgba(0,0,0,0.4); animation: su-ship-sway 6s ease-in-out infinite; }
.scn-sun-and-ships .ship-b { position: absolute; bottom: 38%; right: 15%; width: 60px; height: 18px; background: linear-gradient(180deg, #4a4030 0%, #2a2018 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 4px 8px rgba(0,0,0,0.4); animation: su-ship-sway 6s ease-in-out infinite 0.5s; }
.scn-sun-and-ships .deck-rail { position: absolute; bottom: 30%; left: 0; right: 0; height: 5%; background: linear-gradient(180deg, #5a5030 0%, #3a3018 100%); }
.scn-sun-and-ships .captain { position: absolute; bottom: 28%; left: 48%; width: 20px; height: 38px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: su-captain-watch 8s ease-in-out infinite; }
.scn-sun-and-ships .flag { position: absolute; bottom: 42%; left: 15%; width: 16px; height: 12px; background: linear-gradient(135deg, #b0a060 0%, #807040 100%); border-radius: 0 30% 10% 0; transform-origin: left center; animation: su-flag-flap 4s ease-in-out infinite; }
@keyframes su-sky-bright { 0%,100% { opacity: 0.9; } 50% { opacity: 1; } }
@keyframes su-ship-sway { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes su-captain-watch { 0%,100% { transform: translateX(0) rotate(0); } 25% { transform: translateX(2px) rotate(5deg); } 75% { transform: translateX(-2px) rotate(-5deg); } }
@keyframes su-flag-flap { 0%,100% { transform: scaleX(1); } 50% { transform: scaleX(1.1); } }

.scn-dromio-mistress-hot {
  background: linear-gradient(180deg, #f5e6c8 0%, #e0c9a0 40%, #c8a87a 100%), radial-gradient(ellipse at 50% 100%, #d4b88a 0%, transparent 70%);
}
.scn-dromio-mistress-hot .wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #f0dbb0 0%, #d4b88a 100%);
  animation: dmh-wall 20s ease-in-out infinite alternate;
}
.scn-dromio-mistress-hot .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #b89a6a 0%, #8a6a3a 100%);
  border-radius: 20% 20% 0 0;
  animation: dmh-floor 15s ease-in-out infinite alternate;
}
.scn-dromio-mistress-hot .table {
  position: absolute; bottom: 30%; left: 30%; width: 40%; height: 20%;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%);
  border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.3);
  animation: dmh-table 8s ease-in-out infinite;
}
.scn-dromio-mistress-hot .plate {
  position: absolute; bottom: 35%; left: 45%; width: 15%; height: 8%;
  background: radial-gradient(circle, #e8d8b0 0%, #c8b090 70%);
  border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,.2);
  animation: dmh-plate 6s ease-in-out infinite;
}
.scn-dromio-mistress-hot .figure {
  position: absolute; bottom: 25%; left: 20%; width: 12%; height: 30%;
  background: 50% 50% 40% 40% / 60% 60% 40% 40%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  transform-origin: bottom center;
  animation: dmh-figure 4s ease-in-out infinite;
}
.scn-dromio-mistress-hot .clock {
  position: absolute; top: top: 15%; right: 20%; width: 10%; height: 15%;
 15%;
  background: radial-gradient(circle, #c8a87a 0%, #8a6a3a 70%);
  border-radius: 50%; box-shadow: 0 0 10px rgba(0,0,0,.3);
  animation: dmh-clock 12s linear infinite;
}
.scn-dromio-mistress-hot .window {
  position: absolute; left: 10%; top: top: 10%; width: 20%; height: 30%;
  background: linear-gradient(180deg, #a0c8e0 0%, #80a8c0 100%);
  border: 4px solid #6a4a2a; border-radius: 4px;
  animation: dmh-window 20s ease-in-out infinite alternate;
}
@keyframes dmh-wall { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .9 } }
@keyframes dmh-floor { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes dmh-table { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes dmh-plate { 0% { transform: scale(1) } 50% { transform: scale(1.02) } 100% { transform: scale(1) } }
@keyframes dmh-figure { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(5px) rotate(2deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes dmh-clock { 0% { transform: rotate(0) } 50% { transform: rotate(180deg) } 100% { transform: rotate(360deg) } }
@keyframes dmh-window { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .8 } }

.scn-money-mistaken-dromio {
  background: linear-gradient(180deg, #e8d8c0 0%, #c8b8a0 40%, #a89880 100%), radial-gradient(ellipse at 50% 0%, #d8c8b0 0%, transparent 60%);
}
.scn-money-mistaken-dromio .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #d8c8b0 0%, #b8a890 100%);
  animation: mmd-bg 12s ease-in-out infinite alternate;
}
.scn-money-mistaken-dromio .table {
  position: absolute; bottom: 30%; left: 25%; width: 50%; height: 15%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 4px; box-shadow: 0 6px 12px rgba(0,0,0,.5);
  animation: mmd-table 3s ease-in-out infinite alternate;
}
.scn-money-mistaken-dromio .purse {
  position: absolute; bottom: 35%; left: 40%; width: 12%; height: 10%;
  background: radial-gradient(circle, #c8553d 0%, #a0461a 70%);
  border-radius: 30% 30% 40% 40% 40%; box-shadow: 0 4px 8px rgba(0,0,0,.4);
  animation: mmd: mmd-purse 2s ease-in-out infinite;
}
.scn-money-mistaken-dromio .hand {
  position: absolute; bottom: 30%; left: 45%; width: 8%; height: 15%;
  background: linear-gradient(180deg, #d4a88a 0%, #b8886a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom;
  animation: mmd-hand 1.5s ease-in-out infinite;
}
.scn-money-mistaken-dromio .figure-a {
  position: absolute; bottom: 20%; left: 15%; width: 15%; height: 35%;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: mmd-fig-a 2s ease-in-out infinite;
}
.scn-money-mistaken-dromio .figure-b {
  position: absolute; bottom: 20%; right: 15%; width: 15%; height: 35%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: mmd-fig-b 2s ease-in-out infinite reverse;
}
@keyframes mmd-bg { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .9 } }
@keyframes mmd-table { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(0) } }
@keyframes mmd-purse { 0% { transform: scale(1) } 50% { transform: scale(1.1) } 100% { transform: scale(1) } }
@keyframes mmd-hand { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-5px) rotate(10deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes mmd-fig-a { 0% { transform: translateX(0) } 50% { transform: translateX(3px) } 100% { transform: translateX(0) } }
@keyframes mmd-fig-b { 0% { transform: translateX(0) } 50% { transform: translateX(-3px) } 100% { transform: translateX(0) } }

.scn-dromio-mistress-post {
  background: linear-gradient(180deg, #f0e0c8 0%, #d8c8a8 50%, #b8a888 100%), radial-gradient(ellipse at 50% 100%, #d8c8a8 0%, transparent 70%);
}
.scn-dromio-mistress-post .corridor {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #c8b8a0 0%, #e0d0b8 50%, #c8b8a0 100%);
  animation: dmp-corridor 10s ease-in-out infinite alternate;
}
.scn-dromio-mistress-post .door {
  position: absolute; right: 10%; top: 10%; width: 20%; height: 80%;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%);
  border-radius: 4px; box-shadow: inset 0 0 10px rgba(0,0,0,.3);
  animation: dmp-door 5s ease-in-out infinite;
}
.scn-dromio-mistress-post .dromio {
  position: absolute; bottom: 20%; left: 30%; width: 12%; height: 30%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom;
  animation: dmp-run 1s ease-in-out infinite;
}
.scn-dromio-mistress-post .letter {
  position: absolute; bottom: 35%; left: 35%; width: 8%; height: 6%;
  background: #f0e0c8; border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,.2);
  animation: dmp-letter 1s ease-in-out infinite;
}
.scn-dromio-mistress-post .hat {
  position: absolute; top: 25%; left: 25%; width: 10%; height: 8%;
  background: #5a3a2a; border-radius: 50% 50% 0 0;
  animation: dmp-hat 1.5s ease-in-out infinite;
}
@keyframes dmp-corridor { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.02) } 100% { transform: scaleX(1) } }
@keyframes dmp-door { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(1) } }
@keyframes dmp-run { 0% { transform: translateX(0) rotate(-5deg) } 25% { transform: translateX(10px) rotate(5deg) } 50% { transform: translateX(20px) rotate(-5deg) } 75% { transform: translateX(30px) rotate(5deg) } 100% { transform: translateX(40px) rotate(-5deg) } }
@keyframes dmp-letter { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-3px) rotate(10deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes dmp-hat { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-10px) rotate(20deg) } 100% { transform: translateY(0) rotate(0) } }

.scn-antipholus-gold-lost {
  background: linear-gradient(180deg, #d8c8b0 0%, #b8a890 50%, #988070 100%), radial-gradient(ellipse at 50% 0%, #c8b8a0 0%, transparent 60%);
}
.scn-antipholus-gold-lost .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #c8b8a0 0%, #a89880 100%);
  animation: agl-bg 8s ease-in-out infinite alternate;
}
.scn-antipholus-gold-lost .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%);
  border-radius: 10% 10% 0 0;
  animation: agl-floor 10s ease-in-out infinite alternate;
}
.scn-antipholus-gold-lost .chest {
  position: absolute; bottom: 25%; left: 40%; width: 20%; height: 15%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.5);
  animation: agl-chest 3s ease-in-out infinite alternate;
}
.scn-antipholus-gold-lost .antipholus {
  position: absolute; bottom: 20%; left: 15%; width: 15%; height: 35%;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: agl-ant 2s ease-in-out infinite;
}
.scn-antipholus-gold-lost .dromio {
  position: absolute; bottom: 20%; right: 15%; width: 15%; height: 35%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: agl-dro 2s ease-in-out infinite reverse;
}
@keyframes agl-bg { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .9 } }
@keyframes agl-floor { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes agl-chest { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes agl-ant { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(5px) rotate(5deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes agl-dro { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(-5px) rotate(-5deg) } 100% { transform: translateX(0) rotate(0) } }

.scn-adriana-venting-frustration {
  background:
    linear-gradient(135deg, #f5e4d0 0%, #e0c8a0 50%, #d0b080 100%),
    radial-gradient(ellipse at 40% 20%, #c8553d 0%, transparent 50%);
}
.scn-adriana-venting-frustration .avf-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #d4c0a8 0%, #c0a888 100%);
  border-bottom: 2px solid #b09878;
}
.scn-adriana-venting-frustration .avf-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #8b7355 0%, #a08868 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
}
.scn-adriana-venting-frustration .avf-window {
  position: absolute; top: 15%; left: 20%; width: 30%; height: 35%;
  background: linear-gradient(180deg, #fff8e7 0%, #e8e0d0 100%);
  border: 4px solid #8b7355; border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(255,255,200,0.5);
  animation: avf-windowlight 3s ease-in-out infinite alternate;
}
.scn-adriana-venting-frustration .avf-table {
  position: absolute; bottom: 25%; left: 40%; width: 25%; height: 15%;
  background: linear-gradient(135deg, #6b5b45, #5a4a35);
  border-radius: 4px; transform-origin: bottom center;
  animation: avf-table 2s ease-in-out infinite alternate;
}
.scn-adriana-venting-frustration .avf-figure {
  position: absolute; bottom: 28%; left: 50%; width: 12%; height: 35%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: avf-figure 1.5s ease-in-out infinite;
}
.scn-adriana-venting-frustration .avf-lamp {
  position: absolute; top: 30%; right: 25%; width: 8%; height: 12%;
  background: radial-gradient(circle at 50% 0%, #f0d080 0%, #c89040 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 40px 10px #c89040;
  animation: avf-lamp 1s ease-in-out infinite alternate;
}
.scn-adriana-venting-frustration .avf-shadow {
  position: absolute; bottom: 30%; right: 10%; width: 20%; height: 40%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.4) 0%, transparent 70%);
  filter: blur(10px);
  animation: avf-shadow 2s ease-in-out infinite alternate;
}
@keyframes avf-windowlight {
  0% { box-shadow: inset 0 0 20px rgba(255,255,200,0.3); }
  50% { box-shadow: inset 0 0 40px rgba(255,255,200,0.7); }
  100% { box-shadow: inset 0 0 20px rgba(255,255,200,0.4); }
}
@keyframes avf-table {
  0% { transform: translateX(0) rotate(-1deg); }
  50% { transform: translateX(2px) rotate(1deg); }
  100% { transform: translateX(-1px) rotate(-0.5deg); }
}
@keyframes avf-figure {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  30% { transform: translateX(5px) translateY(-2px) rotate(3deg); }
  60% { transform: translateX(-5px) translateY(0) rotate(-2deg); }
  100% { transform: translateX(0) translateY(2px) rotate(1deg); }
}
@keyframes avf-lamp {
  0% { opacity: 0.8; box-shadow: 0 0 30px 8px #c89040; }
  50% { opacity: 1; box-shadow: 0 0 50px 15px #e0b060; }
  100% { opacity: 0.9; box-shadow: 0 0 35px 10px #c89040; }
}
@keyframes avf-shadow {
  0% { transform: scaleX(1) scaleY(1); opacity: 0.5; }
  50% { transform: scaleX(1.1) scaleY(0.9); opacity: 0.7; }
  100% { transform: scaleX(0.95) scaleY(1.05); opacity: 0.4; }
}

.scn-luciana-advise-patience {
  background:
    linear-gradient(180deg, #f0ebe0 0%, #e0d5c8 100%),
    radial-gradient(ellipse at 60% 20%, #b8d0e0 0%, transparent 60%);
}
.scn-luciana-advise-patience .lap-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #f0e8dc 0%, #dcd0c0 100%);
}
.scn-luciana-advise-patience .lap-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #b8a090 0%, #d0c0b0 100%);
}
.scn-luciana-advise-patience .lap-window {
  position: absolute; top: 10%; left: 25%; width: 30%; height: 40%;
  background: linear-gradient(180deg, #f8f4f0 0%, #e0dcd8 100%);
  border: 4px solid #a09080; border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(200,220,240,0.4);
  animation: lap-window 6s ease-in-out infinite alternate;
}
.scn-luciana-advise-patience .lap-sofa {
  position: absolute; bottom: 25%; left: 35%; width: 30%; height: 20%;
  background: linear-gradient(135deg, #6b7b8a 0%, #4a5a6a 100%);
  border-radius: 10% 10% 20% 20% / 40% 40% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
.scn-luciana-advise-patience .lap-figure-sit {
  position: absolute; bottom: 28%; left: 45%; width: 10%; height: 25%;
  background: linear-gradient(180deg, #3a4a5a 0%, #2a3a4a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lap-sit 8s ease-in-out infinite;
}
.scn-luciana-advise-patience .lap-figure-stand {
  position: absolute; bottom: 28%; left: 30%; width: 8%; height: 30%;
  background: linear-gradient(180deg, #5a6a7a 0%, #3a4a5a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lap-stand 10s ease-in-out infinite;
}
.scn-luciana-advise-patience .lap-rug {
  position: absolute; bottom: 10%; left: 30%; width: 40%; height: 15%;
  background: linear-gradient(135deg, #d4c488 0%, #c4b478 50%, #b4a468 100%);
  border-radius: 20% 20% 30% 30% / 50% 50% 30% 30%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}
.scn-luciana-advise-patience .lap-vase {
  position: absolute; bottom: 38%; right: 20%; width: 5%; height: 15%;
  background: linear-gradient(135deg, #7b8a6a, #5a6a4a);
  border-radius: 20% 20% 10% 10%;
  animation: lap-vase 12s ease-in-out infinite;
}
@keyframes lap-window {
  0% { box-shadow: inset 0 0 20px rgba(200,220,240,0.2); }
  50% { box-shadow: inset 0 0 40px rgba(200,220,240,0.5); }
  100% { box-shadow: inset 0 0 30px rgba(200,220,240,0.3); }
}
@keyframes lap-sit {
  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 lap-stand {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  33% { transform: translateX(3px) translateY(-1px) rotate(2deg); }
  66% { transform: translateX(-3px) translateY(0) rotate(-1deg); }
  100% { transform: translateX(0) translateY(1px) rotate(0deg); }
}
@keyframes lap-vase {
  0%,100% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(2deg) scale(1.02); }
}
/* end per-scene blocks */

/* auto-stub: parent tag-classes flagged by CSS audit */
.mark { position: absolute; pointer-events: none; }

/* ============ tier A ============ */
/* per-scene blocks (EXP step_scenes) */
.scn-adriana-waiting {
  background: linear-gradient(180deg, #1a1210 0%, #2a1e1a 40%, #0d0806 100%),
              radial-gradient(ellipse at 30% 60%, #3a2a1e 0%, transparent 60%);
}
.scn-adriana-waiting .wall   { position:absolute; inset:0 0 30% 0; background: linear-gradient(90deg, #1e1614 0%, #2a1e1a 50%, #1a1210 100%); }
.scn-adriana-waiting .floor  { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 100%); border-radius: 20% 20% 0 0 / 10% 10% 0 0; box-shadow: inset 0 8px 12px rgba(0,0,0,.6); }
.scn-adriana-waiting .window { position:absolute; top:15%; left:20%; width:80px; height:100px; background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%); border: 4px solid #3a2a1a; border-radius: 4px; box-shadow: inset 0 0 20px rgba(100,150,200,.2), 0 0 30px rgba(100,150,200,.1); animation: aw1-window 6s ease-in-out infinite alternate; }
.scn-adriana-waiting .candle { position:absolute; bottom:35%; left:55%; width:8px; height:30px; background: linear-gradient(180deg, #e8c080 0%, #c09050 100%); border-radius: 2px 2px 4px 4px; transform-origin: bottom center; animation: aw1-candle 2s ease-in-out infinite; }
.scn-adriana-waiting .candle::after { content:''; position:absolute; top:-10px; left:50%; width:12px; height:16px; transform:translateX(-50%); background: radial-gradient(circle, #ffd080 0%, #e8a040 60%, transparent 100%); border-radius:50%; animation: aw1-flame 1.5s ease-in-out infinite alternate; }
.scn-adriana-waiting .figure { position:absolute; background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: aw1-figure 4s ease-in-out infinite; left: 45%; top: 50%; width: 6%; height: 20%;}
.scn-adriana-waiting .shadow { position:absolute; bottom:30%; left:40%; width:40px; height:20px; background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 70%); animation: aw1-shadow 4s ease-in-out infinite; }
.scn-adriana-waiting .curtain{ position:absolute; top:15%; left:18%; width:10px; height:100px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e1a 100%); border-radius: 2px; animation: aw1-curtain 8s ease-in-out infinite alternate; }
@keyframes aw1-window { 0% { opacity:.6; box-shadow: inset 0 0 20px rgba(100,150,200,.2), 0 0 30px rgba(100,150,200,.1); } 50% { opacity:.9; box-shadow: inset 0 0 30px rgba(100,150,200,.4), 0 0 50px rgba(100,150,200,.2); } 100% { opacity:.7; box-shadow: inset 0 0 20px rgba(100,150,200,.3), 0 0 40px rgba(100,150,200,.15); } }
@keyframes aw1-candle { 0%,100% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-1px) rotate(1deg); } 75% { transform: translateY(-1px) rotate(-1deg); } }
@keyframes aw1-flame { 0% { transform: translateX(-50%) scaleY(1); opacity:.8; } 50% { transform: translateX(-50%) scaleY(1.2) scaleX(.9); opacity:1; } 100% { transform: translateX(-50%) scaleY(.9); opacity:.7; } }
@keyframes aw1-figure { 0% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(4px) rotate(1deg); } 50% { transform: translateX(8px) rotate(-1deg); } 75% { transform: translateX(12px) rotate(2deg); } 100% { transform: translateX(16px) rotate(0); } }
@keyframes aw1-shadow { 0% { transform: translateX(0) scaleX(1); opacity:.5; } 50% { transform: translateX(8px) scaleX(1.2); opacity:.7; } 100% { transform: translateX(16px) scaleX(1); opacity:.5; } }
@keyframes aw1-curtain { 0% { transform: translateX(scaleX(1)); } 100% { transform(scaleX(1.3)); } }

.scn-adriana-wifely-gripe {
  background: linear-gradient(180deg, #1a1210 0%, #2a1e1a 50%, #0d0806 100%),
              radial-gradient(ellipse at 50% 70%, #3a2a1e 0%, transparent 60%);
}
.scn-adriana-wifely-gripe .bg   { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #1e1614 0%, #2a1e1a 40%, #1a1210 100%); }
.scn-adriana-wifely-gripe .table{ position:absolute; bottom:25%; left:30%; width:40%; height:12px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e1a 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-adriana-wifely-gripe .figure-left { position:absolute; bottom:30%; left:25%; width:22px; height:55px; background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 100%); border-radius: 50% 50% 40% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: aw2-left 5s ease-in-out infinite; }
.scn-adriana-wifely-gripe .figure-right{ position:absolute; bottom:30%; right:25%; width:22px; height:55px; background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: aw2-right 5s ease-in-out infinite; }
.scn-adriana-wifely-gripe .lamp { position:absolute; bottom:35%; left:50%; width:10px; height:20px; transform:translateX(-50%); background: linear-gradient(180deg, #e8c080 0%, #c09050 100%); border-radius: 2px 2px 6px 6px; box-shadow: 0 0 20px 6px rgba(200,150,80,.3); animation: aw2-lamp 3s ease-in-out infinite; }
.scn-adriana-wifely-gripe .shadow-left { position:absolute; bottom:25%; left:20%; width:40px; height:15px; background: radial-gradient(ellipse, rgba(0,0,0,.4) 0%, transparent 70%); animation: aw2-shl 5s ease-in-out infinite; }
.scn-adriana-wifely-gripe .shadow-right{ position:absolute; bottom:25%; right:20%; width:40px; height:15px; background: radial-gradient(ellipse, rgba(0,0,0,.4) 0%, transparent 70%); animation: aw2-shr 5s ease-in-out infinite; }
@keyframes aw2-left { 0% { transform: translateX(0) rotate(-3deg); } 25% { transform: translateX(5px) rotate(1deg); } 50% { transform: translateX(10px) rotate(-2deg); } 75% { transform: translateX(15px) rotate(2deg); } 100% { transform: translateX(20px) rotate(0); } }
@keyframes aw2-right { 0% { transform: translateX(0) rotate(3deg); } 25% { transform: translateX(-5px) rotate(-1deg); } 50% { transform: translateX(-10px) rotate(2deg); } 75% { transform: translateX(-15px) rotate(-2deg); } 100% { transform: translateX(-20px) rotate(0); } }
@keyframes aw2-lamp { 0%,100% { transform: translateX(-50%) rotate(-2deg); } 50% { transform: translateX(-50%) rotate(2deg); } }
@keyframes aw2-shl { 0% { transform: translateX(0) scaleX(1); opacity:.5; } 50% { transform: translateX(10px) scaleX(1.2); opacity:.7; } 100% { transform: translateX(20px) scaleX(1); opacity:.5; } }
@keyframes aw2-shr { 0% { transform: translateX(0) scaleX(1); opacity:.5; } 50% { transform: translateX(-10px) scaleX(1.2); opacity:.7; } 100% { transform: translateX(-20px) scaleX(1); opacity:.5; } }

/* ===== aegeon-twin-births ===== */
.scn-aegeon-twin-births { background:
  linear-gradient(180deg, #e8d5b8 0%, #d4b88a 100%),
  radial-gradient(ellipse at 50% 0%, #f0e0c0 0%, transparent 70%);
}
.scn-aegeon-twin-births .inn-wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #c9a86c 0%, #b89060 100%); animation: tb-wallpulse 12s ease-in-out infinite; }
.scn-aegeon-twin-births .inn-floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(0deg, #8b6e4e 0%, #a07a5a 100%); }
.scn-aegeon-twin-births .inn-window { position:absolute; top:15%; left:50%; width:100px; height:130px; transform:translateX(-50%); background: linear-gradient(180deg, #f5e8d0 0%, #dfc8a0 100%); border-radius:20% 20% 10% 10%; box-shadow: inset 0 0 40px #f0d090, 0 4px 20px rgba(0,0,0,.3); animation: tb-window 8s ease-in-out infinite alternate; }
.scn-aegeon-twin-births .cradle-left { position:absolute; bottom:30%; left:25%; width:70px; height:50px; background: linear-gradient(180deg, #6b4e32 0%, #4a3424 100%); border-radius:50% 50% 30% 30%; animation: tb-rock 5s ease-in-out infinite; }
.scn-aegeon-twin-births .cradle-right { position:absolute; bottom:30%; right:25%; width:70px; height:50px; background: linear-gradient(180deg, #6b4e32 0%, #4a3424 100%); border-radius:50% 50% 30% 30%; animation: tb-rock 5s ease-in-out infinite 2.5s; }
.scn-aegeon-twin-births .mother { position:absolute; bottom:20%; left:50%; width:40px; height:80px; transform:translateX(-50%); background: linear-gradient(180deg, #5e3a2a 0%, #3a221a 100%); border-radius:45% 45% 40% 40% / 55% 55% 40% 40%; animation: tb-breathe 4s ease-in-out infinite; }
.scn-aegeon-twin-births .lamp-glow { position:absolute; top:20%; left:15%; width:20px; height:20px; background: radial-gradient(circle, #ffc080 0%, #d08040 60%); border-radius:50%; box-shadow: 0 0 30px 10px #ffc080, 0 0 60px 20px rgba(255,192,128,.5); animation: tb-flicker 3s ease-in-out infinite; }
@keyframes tb-wallpulse {
  0% { opacity:.9; }
  50% { opacity:1; }
  100% { opacity:.92; }
}
@keyframes tb-window {
  0% { box-shadow: inset 0 0 30px #f0d090, 0 4px 20px rgba(0,0,0,.3); }
  100% { box-shadow: inset 0 0 60px #ffe0a0, 0 4px 30px rgba(0,0,0,.2); }
}
@keyframes
}
@keyframes tb-rock {
  0%,100% { transform: rotate(-2deg) translateY(0); }
  50% { transform: rotate(2deg) translateY(-3px); }
}
@keyframes tb-breathe {
  0% { transform: translateX(-50%) scale(1); }
  50% { transform: translateX(-50%) scale(1.02) translateY(-2px); }
  100% { transform: translateX(-50%) scale(1); }
}
@keyframes tb-flicker {
  0% { opacity:.85; transform: scale(1); }
  25% { opacity:1; transform: scale(1.05); }
  50% { opacity:.9; transform: scale(.95); }
  75% { opacity:1; transform: scale(1.02); }
  100% { opacity:.85; transform: scale(1); }
}

/* ===== aegeon-sea-voyage ===== */
.scn-aegeon-sea-voyage { background:
  linear-gradient(180deg, #4a3a2a 0%, #6a5040 100%),
  radial-gradient(ellipse at 50% 100%, #8a6a4a 0%, transparent 80%);
}
.scn-aegeon-sea-voyage .cabin-wall { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); animation: sv-wall 15s linear infinite; }
.scn-aegeon-sea-voyage .cabin-floor { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(0deg, #2a1a0a 0%, #4a2a1a 100%); }
.scn-aegeon-sea-voyage .porthole { position:absolute; top:15%; left:20%; width:60px; height:60px; border-radius:50%; background: radial-gradient(circle, #b0d0e0 0%, #406080 70%); box-shadow: inset 0 0 20px #6080a0; animation: sv-sea 20s ease-in-out infinite; }
.scn-aegeon-sea-voyage .table { position:absolute; bottom:35%; left:50%; transform:translateX(-50%); width:120px; height:20px; background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%); border-radius:10%; box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: sv-roll 6s ease-in-out infinite; }
.scn-aegeon-sea-voyage .lantern { position:absolute; top:10%; right:20%; width:16px; height:24px; background: radial-gradient(circle, #ffe080 0%, #c08020 70%); border-radius:30%; box-shadow: 0 0 20px 6px #c08020; animation: sv-swing 4s ease-in-out infinite; transform-origin: top center; }
.scn-aegeon-sea-voyage .twin-fig { position:absolute; bottom:20%; left:30%; width:18px; height:36px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius:45% 45% 40% 40% / 55% 55% 40% 40%; animation: sv-walk 5s ease-in-out infinite; }
.scn-aegeon-sea-voyage .twin-fig.two { left:60%; animation-delay:2.5s; }
@keyframes sv-wall { 0% { opacity:.9; } 50% { opacity:.95; } 100% { opacity:.9; } }
@keyframes sv-sea { 0% { transform: translateY(0); } 50% { transform: translateY(5px); } 100% { transform: translateY(0); } }
@keyframes sv-roll { 0% { transform: translateX(-50%) rotate(-2deg); } 25% { transform: translateX(-50%) rotate(1deg); } 50% { transform: translateX(-50%) rotate(3deg); } 75% { transform: translateX(-50%) rotate(-1deg); } 100% { transform: translateX(-50%) rotate(-2deg); } }
@keyframes sv-swing { 0% { transform: rotate(-5deg); } 25% { transform: rotate(10deg); } 50% { transform: rotate(-5deg); } 75% { transform: rotate(8deg); } 100% { transform: rotate(-5deg); } }
@keyframes sv-walk { 0% { transform: translateX(0) rotate(-1deg); } 25% { transform: translateX(10px) rotate(1deg); } 50% { transform: translateX(20px) rotate(-1deg); } 75% { transform: translateX(30px) rotate(1deg); } 100% { transform: translateX(40px) rotate(0); } }

/* ===== aegeon-storm-despair ===== */
.scn-aegeon-storm-despair { background:
  linear-gradient(180deg, #2a1a0a 0%, #4a2a1a 50%, #1a0a00 100%),
  radial-gradient(ellipse at 50% 0%, #6a3a1a 0%, transparent 80%);
}
.scn-aegeon-storm-despair .cabin-tilt { position:absolute; inset:0; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); transform: rotate(2deg); transform-origin: bottom center; animation: sd-tilt 3s ease-in-out infinite; }
.scn-aegeon-storm-despair .broken-window { position:absolute; top:10%; left:20%; left:25%; width:80px; height:100px; background: linear-gradient(180deg, #a0a0b0 0%, #606080 100%); border-radius:20%; box-shadow: inset 0 0 20px #404060, 0 0 0 3px #2a1a0a; animation: sd-shake 2s ease-in-out infinite; }
.scn-aegeon-storm-despair .mother-weep { position:absolute; bottom:25%; right:30%; width:40px; height:70px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius:50% 50% 40% 40% / 55% 55% 40% 40%; animation: sd-weep 4s ease-in-out infinite; }
.scn-aegeon-storm-despair .babe-left { position:absolute; bottom:18%; left:35%; width:20px; height:30px; background: #2a1a0a; border-radius:40% 40% 30% 30%; animation: sd-tremble 2s ease-in-out infinite; }
.scn-aegeon-storm-despair .babe-right { position:absolute; bottom:18%; right:35%; width:20px; height:30px; background: #2a1a0a; border-radius:40% 40% 30% 30%; animation: sd-tremble 9.5s ease-in-out infinite .5s; }
.scn-aegeon-storm-despair .lantern-flicker { position:absolute; background: radial-gradient(circle, #ffa040 0%, #c06010 70%); border-radius:30%; box-shadow: 0 0 30px 10px #c06010; animation: sd-flicker .5s ease-in-out infinite; left: 10%; top: 10%; width: 3%; height: 6%;}
.scn-aegeon-storm-despair .shadow-beams { position:absolute; background: conic-gradient(from 45deg, transparent 0deg, rgba(0,0,0,.4) 10deg, transparent 20deg); animation: sd-beams 15.5s linear infinite; left: 0%; top: 0%; width: 100%; height: 100%;}
@keyframes sd-tilt { 0% { transform: rotate(1deg); } 50% { transform: rotate(-3deg); } 100% { transform: rotate(1deg); } }
@keyframes sd-shake { 0% { transform: translateX(0); } 25% { transform: translateX(2px); } 50% { transform: translateX(-2px); } 75% { transform: translateX(1px); } 100% { transform: translateX(0); } }
@keyframes sd-weep { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-10px) rotate(2deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes sd-tremble { 0% { transform: scale(1); } 25% { transform: scale(1.1); } 50% { transform: scale(.95); } 75% { transform: scale(1.05); } 100% { transform: scale(1); } }
@keyframes sd-flicker { 0% { opacity:.8; transform: scale(1); } 20% { opacity:1; transform: scale(1.2); } 40% { opacity:.6; transform: scale(.9); } 60% { opacity:1; transform: scale(1.1); } 80% { opacity:.7; transform: scale(1); } 100% { opacity:.8; } }
@keyframes sd-beams { 0% { opacity:.3; } 50% { opacity:.5; } 100% { opacity:.3; } }

/* ===== aegeon-mast-floating ===== */

.scn-aegeon-mast-floating { background:
  linear-gradient(180deg, #3a2a1a 0%, #5a4a3a 100%),
  radial-gradient(ellipse at 50% 50%, #8a7a6a 0%, transparent 70%);
}
.scn-aegeon-mast-floating .room-wall { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); animation: mf-wall 10s linear infinite; }
.scn-
}
.scn-aegeon-mast-floating .room-floor { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(0deg, #1a0a00 0%, #3a2a1a 100%); }
.scn-aegeon-mast-floating .sea-window { position:absolute; left:70%; top:20%; width:70px; height:90px; border-radius:30% 30% 20% 20%; background: linear-gradient(180deg, #607080 0%, #304050 100%); box-shadow: inset 0 0 20px #203040; animation: mf-sea 8s ease-in-out infinite; }
.scn-aegeon-mast-floating .mast-pole { position:absolute; bottom:40%; left:50%; transform:translateX(-50%); width:20px; height:120px; background: linear-gradient(90deg, #4a3020 0%, #3a2010 50%, #4a3020 100%); border-radius:10%; box-shadow: 0 0 10px rgba(0,0,0,.5); animation: mf-sway 6s ease-in-out infinite; }
.scn-aegeon-mast-floating .child-left { position:absolute; bottom:50%; left:calc(50% - 30px); width:20px; height:30px; background: #2a1a0a; border-radius:40% 40% 30% 30%; animation: mf-float 5s ease-in-out infinite; }
.scn-aegeon-mast-floating .child-right { position:absolute; bottom:50%; right:calc(50% - 30px); width:20px; height:30px; background: #2a1a0a; border-radius:40% 40% 30% 30%; animation: mf-float 5s ease-in-out infinite 2.5s; }
.scn-aegeon-mast-floating candle { position:absolute; top:10%; left:20%; width:8px; height:12px; background: radial-gradient(circle, #ffc080 0%, #c0a060 70%); border-radius:30%; box-shadow: 0 0 20px 5px #c0a060, 0 0 40px 10px rgba(192,160,96,.5); animation: mf-candle 3s ease-in-out infinite; }
@keyframes mf-wall { 0% { opacity:.9; } 50% { opacity:.95; } 100% { opacity:.9; } }
@keyframes mf-sea { 0% { transform: translateY(0); } 50% { transform: translateY(10px); } 100% { transform: translateY(0); } }
@keyframes mf-sway { 0% { transform: translateX(-50%) rotate(-3deg); } 25% { transform: translateX(-50%) rotate(2deg); } 50% { transform: translateX(-50%) rotate(-4deg); } 75% { transform: translateX(-50%) rotate(3deg); } 100% { transform: translateX(-50%) rotate(-3deg); } }
@keyframes mf-float { 0% { transform: translateY(0) rotate(-5deg); } 25% { transform: translateY(-10px) rotate(5deg); } 50% { transform: translateY(0) rotate(-3deg); } 75% { transform: translateY(8px) rotate(3deg); } 100% { transform: translateY(0) rotate(-5deg); } }
@keyframes mf-candle { 0% { opacity:.8; transform: scale(1) rotate(0); } 25% { opacity:1; transform: scale(1.1) rotate(5deg); } 50% { opacity:.9; transform: scale(.95) rotate(-3deg); } 75% { opacity:1; transform: scale(1.05) rotate(2deg); } 100% { opacity:.8; transform: scale(1) rotate(0); } }

.scn-mart-introduction {
  background: linear-gradient(180deg, #87CEEB 0%, #B0E0E6 40%, #F5DEB3 100%),
              radial-gradient(ellipse at 50% 0%, #FFF8DC 0%, transparent 60%);
}
.scn-mart-introduction .sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #87CEEB 0%, #B0E0E6 100%);
  animation: mi-sky 20s ease-in-out infinite alternate;
}
.scn-mart-introduction .buildings {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #D2B48C 0%, #A0522D 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 8px 12px rgba(0,0,0,0.3);
  animation: mi-buildings 12s ease-in-out infinite alternate;
}
.scn-mart-introduction .stall {
  position: absolute; bottom: 30%; left: 20%; width: 120px; height: 80px;
  background: linear-gradient(180deg, #DEB887 0%, #8B4513 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: mi-stall 6s ease-in-out infinite;
}
.scn-mart-introduction .merchant {
  position: absolute; bottom: 30%; left: 25%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #C8553D 0%, #A0461A 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mi-figure 4s ease-in-out infinite;
}
.scn-mart-introduction .antipholus {
  position: absolute; bottom: 30%; left: 45%; width: 22px; height: 55px;
  background: linear-gradient(180deg, #4682B4 0%, #2F4F4F 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mi-figure 5s ease-in-out infinite 1s;
}
.scn-mart-introduction .dromio {
  position: absolute; bottom: 30%; left: 60%; width: 18px; height: 45px;
  background: linear-gradient(180deg, #8B7355 0%, #5C4033 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mi-figure 4.5s ease-in-out infinite 2s;
}
.scn-mart-introduction .crate {
  position: absolute; bottom: 30%; left: 35%; width: 30px; height: 20px;
  background: linear-gradient(180deg, #A0522D 0%, #6B3A2A 100%);
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: mi-crate 8s ease-in-out infinite;
}
@keyframes mi-sky { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes mi-buildings { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes mi-stall { 0%,100% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(2px) rotate(1deg) } }
@keyframes mi-figure {  -figure { 0% { transform: translateX(0) translateY(0) rotate(-1deg) } 25% { transform: translateX(4px) translateY(-1px) rotate(1deg) } 50% { transform: translateX(8px) translateY(0) rotate(-1deg) } 75% { transform: translateX(12px) translateY(-1px) rotate(1deg) } 100% { transform: translateX(16px) translateY(0) rotate(0deg) } }; }
@keyframes mi-crate { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-3px) } }

.scn-antiphilus-wanders {
  background: linear-gradient(180deg, #87CEEB 0%, #B0E0E6 30%, #F5DEB3 70%, #DEB887 100%),
              radial-gradient(ellipse at 50% 0%, #FFF8DC 0%, transparent 50%);
}
.scn-antiphilus-wanders .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #87CEEB 0%, #B0E0E6 100%);
  animation: aw-sky 25s ease-in-out infinite alternate;
}
.scn-antiphilus-wanders .street {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #D2B48C 0%, #A0522D 100%);
  border-radius: 0;
  animation: aw-street 15s ease-in-out infinite alternate;
}
.scn-antiphilus-wanders .buildings-bg {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #C4A882 0%, #8B7355 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: inset 0 8px 12px rgba(0,0,0,0.2);
  animation: aw-buildings 18s ease-in-out infinite alternate;
}
.scn-antiphilus-wanders .antipholus-fig {
  position: absolute; bottom: 25%; left: 40%; width: 22px; height: 55px;
  background: linear-gradient(180deg, #4682B4 0%, #2F4F4F 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: aw-walk 6s ease-in-out infinite;
}
.scn-antiphilus-wanders .centaur-sign {
  position: absolute; bottom: 35%; left: 60%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #8B4513 0%, #5C4033 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 4px 6px rgba(0,0,0,0.3);
  animation: aw-sign 4s ease-in-out infinite alternate;
}
.scn-antiphilus-wanders .lamp {
  position: absolute; bottom: 35%; left: 20%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #DAA520 0%, #B8860B 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 12px 4px #FFD700, 0 0 24px 8px rgba(255,215,0,0.4);
  animation: aw-lamp 3s ease-in-out infinite alternate;
}
@keyframes aw-sky { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes aw-street { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes aw-buildings { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes aw-walk { 0% { transform: translateX(0) translateY(0) rotate(-1deg) } 25% { transform: translateX(5px) translateY(-1px) rotate(1deg) } 50% { transform: translateX(10px) translateY(0) rotate(-1deg) } 75% { transform: translateX(15px) translateY(-1px) rotate(1deg) } 100% { transform: translateX(20px) translateY(0) rotate(0deg) } }
@keyframes aw-sign { 0% { transform: rotate(-3deg) } 50% { transform: rotate(3deg) } 100% { transform: rotate(-2deg) } }
@keyframes aw-lamp { 0% { box-shadow: 0 0 8px 2px #FFD700, 0 0  } 50% { box-shadow: 0 0 16px 6px #FFD700, 0 0 32px 12px rgba(255,215,0,0.5) } 100% { box-shadow: 0 0 10px 3px #FFD700, 0 0 20px 6px rgba(255,215,0,0.3) } }

.scn-dromio-departure {
  background: linear-gradient(180deg, #87CEEB 0%, #B0E0E6 40%, #F5DEB3 100%),
              radial-gradient(ellipse at 50% 100%, #FFF8DC 0%, transparent 60%);
}
.scn-dromio-departure .arch {
  position: absolute; bottom: 20%; left: 30%; width: 120px; height: 150px;
  background: linear-gradient(180deg, #A0522D 0%, #6B3A2A 100%);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  box-shadow: inset 0 8px 12px rgba(0,0,0,0.4);
  animation: dd-arch 10s ease-in-out-in-out infinite alternate;
}
.scn-dromio-departure .dromio-fig {
  position: absolute; bottom: 25%; left: 35%; width: 18px; height: 45px;
  background: linear-gradient(180deg, #8B7355 0%, #5C4033 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dd-walk 5s ease-in-out infinite;
}
.scn-dromio-departure .shadow {
  position: absolute; bottom: 25%; left: 35%; width: 30px; height: 6px;
  background: rgba(0,0,0,0.3);
  border-radius: 50%;
  animation: dd-shadow 5s ease-in-out infinite;
}
.scn-dromio-departure .light-beam {
  position: absolute; top: 20%; left: 35%; width: 100px; height: 200px;
  background: linear-gradient(180deg, rgba(255,255,200,0.3) 0%, transparent 100%);
  transform: rotate(15deg);
  filter: blur(8px);
  animation: dd-light 4s ease-in-out infinite alternate;
}
.scn-dromio-departure .step {
  position: absolute; bottom: 25%; left: 30%; width: 80px; height: 10px;
  background: linear-gradient(180deg, #D2B48C 0%, #A0522D 100%);
  border-radius: 4px;
  ;
  animation: dd-step 8s ease-in-out infinite;
}
@keyframes dd-arch { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(1) } }
@keyframes dd-walk { 0% { transform: translateX(0) translateY(0) rotate(-1deg) } 25% { transform: translateX(4px) translateY(-1px) rotate(1deg) } 50% { transform: translateX(8px) translateY(0) rotate(-1deg) } 75% { transform: translateX(12px) translateY(-1px) rotate(1deg) } 100% { transform: translateX(16px) translateY(0) rotate(0deg) } }
@keyframes dd-shadow { 0% { transform: scaleX(1) opacity: 0.3 } 50% { transform: scaleX(0.8) opacity: 0.2 } 100% { transform: scaleX(1) opacity: 0.3 } }
@keyframes dd-light { 0% { opacity: 0.4 } 50% { opacity: 0.8 } 100% { opacity: 0.5 } }
@keyframes dd-step { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }

.scn-antiphilush-soliloquy {
  background: linear-gradient(180deg, #B0C4DE 0%, #D3D3D3 40%, #F5DEB3 100%),
              radial-gradient(ellipse at 50% 0%, #FFF8DC 0%, transparent 60%);
}
.scn-antiphilush-soliloquy .sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #B0C4DE 0%, #D3D3D3 100%);
  animation: as-sky 30s ease-in-out infinite alternate;
}
.scn-antiphilush-soliloquy .cityscape {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #A9A9A9 0%, #696969 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 8px 12px rgba(0,0,0,0.2);
  animation: as-city 20s ease-in-out infinite alternate;
}
.scn-antiphilush-soliloquy .antipholus-lone {
  position: absolute; bottom: 25%; left: 45%; width: 22px; height: 55px;
  background: linear-gradient(180deg, #708090 0%, #2F4F4F 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: as-figure 8s ease-in-out infinite;
}
.scn-antiphilush-soliloquy .bench {
  position: absolute; bottom: 25%; left: 40%; width: 40px; height: 12px;
  background: linear-gradient(180deg, #8B4513 0%, #5C4033 100%);
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: as-bench 12s ease-in-out infinite;
}
.scn-antiphilush-soliloquy .shadow-lone {
  position: absolute; bottom: 25%; left: 45%; width: 30px; height: 6px;
  background: rgba(0,0,0,0.2);
  border-radius: 50%;
  animation: as-shadow 8s ease-in-out infinite;
}
.scn-antiphilush-soliloquy .leaf {
  position: absolute; absolute; top: 20%; left: 60%; width: 8px; height: 8px;
  ;
  background: #BDB76B;
  border-radius: 50% 0 50% 0;
  filter: blur(1px);
  animation: as-leaf 15s linear infinite;
}
@keyframes as-sky { 0% { opacity: 0.7 } 50% { opacity: 0.9 } 100% { opacity: 0.8 } }
@keyframes as-city { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes as-figure { 0%,100% { transform: translateX(0) translateY(0) rotate(-1deg) } 50% { transform: translateX(2px) translateY(-1px) rotate(1deg) } }
@keyframes as-bench { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes as-shadow { 0% { transform: scaleX(1) opacity: 0.2 } 50% { transform: scaleX(0.9) opacity: 0.15 } 100% { transform: scaleX(1) opacity: 0.2 } }
@keyframes as-leaf { 0% { transform: translate(0,0) rotate(0deg) } 50% { transform: translate(-30px, 40px) rotate(180deg) } 100% } 100% { transform: translate(-60px, 80px) rotate(360deg) } }

.scn-palace-trial-opening {
  background: 
    linear-gradient(180deg, #f5e6c8 0%, #d4b896 40%, #b89a7a 100%),
    radial-gradient(ellipse at 50% 30%, #fff8e7 0%, transparent 60%);
}
.scn-palace-trial-opening .hall-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #e8d5b0 0%, #c4a882 100%);
  animation: pt1-hall 20s ease-in-out infinite alternate;
}
.scn-palace-trial-opening .col-left {
  position: absolute; left: 10%; top: 0; bottom: 0; width: 8%;
  background: linear-gradient(90deg, #d4b896 0%, #f0e0c8 50%, #c4a882 100%);
  border-radius: 4px;
  box-shadow: 4px 0 12px rgba(0,0,0,0.15);
  animation: pt1-col 8s ease-in-out infinite alternate;
}
.scn-palace-trial-opening .col-right {
  position: absolute; right: 10%; top: 0; bottom: 0; width: 8%;
  background: linear-gradient(90deg, #c4a882 0%, #f0e0c8 50%, #d4b896 100%);
  border-radius: 4px;
  box-shadow: -4px 0 12px rgba(0,0,0,0.15);
  animation: pt1-col 8s ease-in-out infinite alternate-reverse;
}
.scn-palace-trial-opening .throne {
  position: absolute; bottom: 25%; left: 50%; width: 120px; height: 160px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #b08050 0%, #8a6030 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 10% 10%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.3);
  animation: pt1-throne 12s ease-in-out infinite;
}
.scn-palace-trial-opening .duke {
  position: absolute; bottom: 28%; left: 50%; width: 40px; height: 80px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: pt1-duke 4s ease-in-out infinite;
}
.scn-palace-trial-opening .prisoner {
  position: absolute; bottom: 22%; left: 30%; width: 36px; height: 72px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: pt1-prisoner 6s ease-in-out infinite;
}
.scn-palace-trial-opening .torch-left {
  position: absolute; left: 15%; top: 20%; width: 10px; height: 30px;
  background: linear-gradient(180deg, #c08040 0%, #a06020 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 20px 8px #ffa040, 0 0 40px 16px rgba(255,160,64,0.4);
  animation: pt1-torch 2s ease-in-out infinite alternate;
}
.scn-palace-trial-opening .torch-right {
  position: absolute; right: 15%; top: 20%; width: 10px; height: 30px;
  background: linear-gradient(180deg, #c08040 0%, #a06020 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 20px 8px #ffa040, 0 0 40px 16px rgba(255,160,64,0.4);
  animation: pt1-torch 2.5s ease-in-out infinite alternate-reverse;
}
.scn-palace-trial-opening .shadow-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.25) 100%);
  animation: pt1-shadow 10s ease-in-out infinite alternate;
}
@keyframes pt1-hall { /* dummy for completeness */ }
@keyframes pt1-hall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes pt1-col { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.98); } 100% { transform: scaleY(1); } }
@keyframes pt1-throne { 0%,100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-4px); } }
@keyframes pt1-duke { 0% { transform: translateX(-50%) translateY(0) rotate(-1deg); } 25% { transform: translateX(-50%) translateY(-2px) rotate(1deg); } 50% { transform: translateX(-50%) translateY(0) rotate(-1deg); } 75% { transform: translateX(-50%) translateY(-2px) rotate(1deg); } 100% { transform: translateX(-50%) translateY(0) rotate(0); } }
@keyframes pt1-prisoner { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes pt1-torch { 0% { opacity: 0.7; box-shadow: 0 0 15px 5px #ffa040; } 50% { opacity: 1; box-shadow: 0 0 30px 12px #ffa040; } 100% { opacity: 0.8; box-shadow: 0 0 20px 6px #ffa040; } }
@keyframes pt1-shadow { 0% { opacity: 0.5; } 50% { opacity: 0.7; } 100% { opacity: 0.5; } }

.scn-palace-sentencing-law {
  background: 
    linear-gradient(180deg, #f0e0c8 0%, #d4b896 40%, #b89a7a 100%),
    radial-gradient(ellipse at 50% 40%, #fff8e7 0%, transparent 60%);
}
.scn-palace-sentencing-law .hall-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #e8d5b0 0%, #c4a882 100%);
  animation: ps2-hall 20s ease-in-out infinite alternate;
}
.scn-palace-sentencing-law .desk {
  position: absolute; bottom: 20%; left: 50%; width: 160px; height: 40px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #8a6030 0%, #5a3a1a 100%);
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.3);
  animation: ps2-desk 10s ease-in-out infinite;
}
.scn-palace-sentencing-law .scroll {
  position: absolute; bottom: 30%; left: 50%; width: 80px; height: 20px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #f0e0c8 0%, #d4b89670 100%);
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: ps2-scroll 6s ease-in-out infinite;
}
.scn-palace-sentencing-law .judge {
  position: absolute; bottom: 28%; left: 50%; width: 44px; height: 90px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% 40% / 60% 60% 40% 40%;
  animation: ps2-judge 4s ease-in-out infinite;
}
.scn-palace-sentencing-law .clerk {
  position: absolute; bottom: 22%; left: 35%; width: 34px; height: 70px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ps2-clerk 5s ease-in-out infinite;
}
.scn-palace-sentencing-law .gavel {
  position: absolute; bottom: 32%; left: 55%; width: 12px; height: 18px;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: ps2-gavel 3s ease-in-out infinite;
}
.scn-palace-sentencing-law .shadow-wall {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.2) 100%);
  animation: ps2-shadow 12s ease-in-out infinite alternate;
}
@keyframes ps2 { /* dummy */ }
@keyframes ps2-hall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes ps2-desk { 0%,100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-2px); } }
@keyframes ps2-scroll { 0% { transform: translateX(-50%) rotate(0); } 50% { transform: translateX(-50%) rotate(2deg); } 100% { transform: translateX(-50%) rotate(0); } }
@keyframes ps2-judge { 0% { transform: translateX(-50%) translateY(0) rotate(-1deg); } 25% { transform: translateX(-50%) translateY(-2px) rotate(1deg); } 50% { transform: translateX(-50%) translateY(0) rotate(-1deg); } 75% { transform: translateX(-50%) translateY(-2px) rotate(1deg); } 100% { transform: translateX(-50%) translateY(0) rotate(0); } }
@keyframes ps2-clerk { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes ps2-gavel { 0% { transform: rotate(0); } 50% { transform: rotate(15deg); } 100% { transform: rotate(0); } }
@keyframes ps2-shadow { 0% { opacity: 0.4; } 50% { opacity: 0.6; } 100% { opacity: 0.4; } }

.scn-palace-death-sentence {
  background: 
    linear-gradient(180deg, #d4b896 0%, #b89a7a 40%, #8a7050 100%),
    radial-gradient(ellipse at 50% 30%, #e8d5b0 0%, transparent 60%);
}
.scn-palace-death-sentence .hall-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #c4a882 0%, #a08060 100%);
  animation: pd3-hall 25s ease-in-out infinite alternate;
}
.scn-palace-death-sentence .pillar-left {
  position: absolute; left: 10%; top: 0; bottom: 0; width: 8%;
  background: linear-gradient(90deg, #8a7050 0%, #a08060 50%, #8a7050 100%);
  border-radius: 4px;
  box-shadow: 4px 0 12px rgba(0,0,0,0.3);
  animation: pd3-pillar 10s ease-in-out infinite alternate;
}
.scn-palace-death-sentence .pillar-right {
  position: absolute; right: 10%; top: 0; bottom: 0; width: 8%;
  background: linear-gradient(90deg, #8a7050 0%, #a08060 50%, #8a7050 100%);
  border-radius: 4px;
  box-shadow: -4px 0 12px rgba(0,0,0,0.3);
  animation: pd3-pillar 10s ease-in-out infinite alternate-reverse;
}
.scn-palace-death-sentence .block {
  position: absolute; bottom: 20%; left: 50%; width: 80px; height: 30px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5a3a1a 0%, #3a2a0a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: pd3-block 15s ease-in-out infinite;
}
.scn-palace-death-sentence .condemned {
  position: absolute; bottom: 25%; left: 50%; width: 38px; height: 76px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: pd3-condemned 6s ease-in-out infinite;
}
.scn-palace-death-sentence .guard {
  position: absolute; bottom: 22%; left: 35%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: pd3-guard 8s ease-in-out infinite;
}
.scn-palace-death-sentence .shadow-deep {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.4) 100%);
  animation: pd3-shadow 18s ease-in-out infinite alternate;
}
@keyframes pd3 { /* dummy */ }
@keyframes pd3-hall { 0% { opacity: 0.8; } 50% { opacity: 0.95; } 100% { opacity: 0.75; } }
@keyframes pd3-pillar { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.97); } 100% { transform: scaleY(1); } }
@keyframes pd3-block { 0%,100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-2px); } }
@keyframes pd3-condemned { 0% { transform: translateX(-50%) translateY(0) rotate(0); } 25% { transform: translateX(-50%) translateY(-2px) rotate(2deg); } 50% { transform: translateX(-50%) translateY(0) rotate(0); } 75% { transform: translateX(-50%) translateY(-2px) rotate(-2deg); } 100% { transform: translateX(-50%) translateY(0) rotate(0); } }
@keyframes pd3-guard { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes pd3-shadow { 0% { opacity: opacity: 0.6; } 50% { opacity: 0.8; } 100% { opacity: 0.6; } }

.scn-aegeon-story-begin {
  background: 
    linear-gradient(180deg, #f5e6c8 0%, #d4b896 40%, #b89a7a 100%),
    radial-gradient(ellipse at 50% 40%, #fff8e7 0%, transparent 60%);
}
.scn-aegeon-story-begin .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #e8d5b0 0%, #c4a882 100%);
  animation: as4-room 30s ease-in-out infinite alternate;
}
.scn-aegeon-story-begin .window {
  position: absolute; top: 10%; right: 15%; width: 80px; height: 100px;
  background: radial-gradient(ellipse at 50% 50%, #b8d8f0 0%, #8ab0d0 100%);
  border-radius: 10px;
  box-shadow: inset 0 0 20px rgba(255,255,255,0.3);
  animation: as4-window 20s ease-in-out infinite alternate;
}
.scn-aegeon-story-begin .ship-silhouette {
  position: absolute; top: 15%; right: 20%; width: 60px; height: 40px;
  background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%);
  clip-path: polygon(0% 100%, 20% 60%, 40% 40%, 60% 40%, 80% 60%, 100% 100%);
  animation: as4-ship 40s linear infinite;
}
.scn-aegeon-story-begin .aegeon {
  position: absolute; bottom: 25%; left: 40%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: as4-aegeon 8s ease-in-out infinite;
}
.scn-aegeon-story-begin .table {
  position: absolute; bottom: 18%; left: 35%; width: 120px; height: 30px;
  background: linear-gradient(180deg, #8a6030 0%, #5a3a1a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: as4-table 12s ease-in-out infinite;
}
.scn-aegeon-story-begin .candle {
  position: absolute; bottom: 28%; left: 42%; width: 8px; height: 24px;
  background: linear-gradient(180deg, #f0e0c8 0%, #d4b896 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 16px 6px #ffd080, 0 0 32px 12px rgba(255,208,128,0.4);
  animation: as4-candle 4s ease-in-out infinite alternate;
}
.scn-aegeon-story-begin .shadow-soft {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.15) 100%);
  animation: as4-shadow 15s ease-in-out infinite alternate;
}
@keyframes as4 { /* dummy */ }
@keyframes as4-room { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes as4-window { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes as4-ship { 0% { transform: translateX(0); } 100% { transform: translateX(-120px); } }
@keyframes as4-aegeon { 0% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-2px) rotate(1deg); } 50% { transform: translateY(0) rotate(0); } 75% { transform: translateY(-2px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes as4-table { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes as4-candle { 0% { opacity: 0.8; box-shadow: 0 0 12px 4px #ffd080; } 50% { opacity: 1; box-shadow: 0 0 24px 8px #ffd080; } 100% { opacity: 0.85; box-shadow: 0 0 16px 5px #ffd080; } }
@keyframes as4-shadow { 0% { opacity: 0.3; } 50% { opacity: 0.5; } 100% { opacity: 0.3; } }

/* Scene: item-water-drop-simile */
.scn-item-water-drop-simile {
  background: linear-gradient(180deg, #87CEEB 0%, #f0e68c 40%, #b0e0e6 70%, #4682b4 100%), radial-gradient(ellipse at 50% 30%, #fff8dc 0%, transparent 60%);
}
.scn-item-water-drop-simile .sky {
  position: absolute; inset: 0 0 60% 0;
  background: linear-gradient(180deg, #87CEEB 0%, #b0e0e6 100%);
  animation: wd-sky 12s ease-in-out infinite alternate;
}
.scn-item-water-drop-simile .ocean {
  position: absolute; bottom: 0; left: 0; right: 0; height: 60%;
  background: linear-gradient(180deg, #4682b4 0%, #1e90ff 50%, #00bfff 100%);
  border-radius: 30% 70% 0 0 / 20% 40% 0 0;
  animation: wd-ocean 8s ease-in-out infinite alternate;
}
.scn-item-water-drop-simile .sun-reflection {
  position: absolute; top: 35%; left: 45%; width: 40px; height: 40px;
  background: radial-gradient(circle, #fff8dc 0%, #ffd700 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px rgba(255,215,0,0.3);
  animation: wd-sun 6s ease-in-out infinite alternate;
}
.scn-item-water-drop-simile .drop {
  position: absolute; top: 20%; left: 50%; width: 8px; height: 12px;
  background: linear-gradient(180deg, #87CEEB 0%, #4682b4 100%);
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  box-shadow: 0 0 6px 2px rgba(70,130,180,0.5);
  animation: wd-drop 4s ease-in infinite;
}
@keyframes wd-drop {
  0% { transform: translateX(-50%) translateY(0) scale(1); opacity: 1; }
  50% { transform: translateX(-50%) translateY(180px) scale(0.8); opacity: 0.8; }
  100% { transform: translateX(-50%) translateY(360px) scale(0.4); opacity: 0; }
}
.scn-item-water-drop-simile .ripple {
  position: absolute; bottom: 40%; left: 50%; width: 10px; height: 10px;
  background: transparent;
  border: 2px solid rgba(255,255,255,0.6);
  border-radius: 50%;
  animation: wd-ripple 4s ease-out infinite;
  animation-delay: 0s;
}
.scn-item-water-drop-simile .ripple2 {
  position: absolute; bottom: 40%; left: 50%; width: 10px; height: 10px;
  background: transparent;
  border: 2px solid rgba(255,255,255,0.4);
  border-radius: 50%;
  animation: wd-ripple 4s ease-out infinite;
  animation-delay: 2s;
}
@keyframes wd-ripple {
  0% { transform: translateX(-50%) translateY(-50%) scale(0); opacity: 1; }
  50% { transform: { transform: translateX(-50%) translateY(-50%) scale(3); opacity: 0.5; }
  100% { transform: translateX(-50%) translateY(-50%) scale(6); opacity: 0; }
}; }
.scn-item-water-drop-simile .mist {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, rgba(255,255,255,0.2) 0%, transparent 100%);
  filter: blur(8px);
  animation: wd-mist 15s ease-in-out infinite alternate;
}
@keyframes wd-sky { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes wd-ocean { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes wd-sun { 0% { transform: scale(1); opacity:0.8; } 50% { transform: scale(1.1); opacity:1; } 100% { transform: scale(0.95); opacity:0.7; } }
@keyframes wd-mist { 0% { opacity:0.3; } 50% { opacity:0.6; } 100% { opacity:0.2; } }

/* Scene: dromio-arrives-mistaken */
.scn-dromio-arrives-mistaken {
  background: linear-gradient(180deg, #f5deb3 0%, #deb887 30%, #8b4513 70%, #5c4033 100%), radial-gradient(ellipse at 50% 20%, #ffd700 0%, transparent 50%);
}
.scn-dromio-arrives-mistaken .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #deb887 0%, #c4a882 50%, #deb887 100%);
  box-shadow: inset 0 4px 10px rgba(0,0,0,0.2);
}
.scn-dromio-arrives-mistaken .table {
  position: absolute; bottom: 25%; left: 20%; right: 20%; height: 15%;
  background: linear-gradient(180deg, #8b4513 0%, #5c4033 100%);
  border-radius: 4px;
  box-shadow: 0 6px 6px 12px rgba(0,0,0,0.4);
}
.scn-dromio-arrives-mistaken .capon {
  position: absolute; bottom: 35%; left: 30%; width: 30px; height: 20px;
  background: radial-gradient(ellipse at 50% 60%, #c8553d 0%, #a0461a 70%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  box-shadow: 0 0 20px 8px rgba(200,85,61,0.6);
  animation: da-capon 2s ease-in-out infinite alternate;
}
@keyframes da-capon {
  0% { transform: scale(1) rotate(0deg); box-shadow: 0 0 20px 8px rgba(200,85,61,0.6); }
  50% { transform: scale(1.05) rotate(2deg); box-shadow: 0 0 30px 12px rgba(200,85,61,0.8); }
  100% { transform: scale(1) rotate(0deg); box-shadow: 0 0 20px 8px rgba(200,85,61,0.6); }
}
.scn-dromio-arrives-mistaken .pig {
  position: absolute;
  background: radial-gradient(ellipse at 50% 50%, #f4a460 0%, #d2691e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: da-pig 11s ease-in-out infinite; left: 55%; top: 63.33%; width: 8.75%; height: 6.67%;}
@keyframes da-pig {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-10px) rotate(-5deg); }
  50% { transform: translateY(0) rotate(0deg); }
  75% { transform: translateY(-5px) rotate(5deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
.scn-dromio-arrives-mistaken .clock {
  position: absolute; top: absolute; top: 15%; right: 20%; width: 40px; height: 40px;
  background: radial-gradient(circle, #f5deb3 0 0%, #deb887 60%);
  border-radius: 50%;
  box-shadow: 0 0 10px 4px rgba(0,0,0,0.3);
  animation: da-clock 12s linear infinite;
}
@keyframes da-clock {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.scn-dromio-arrives-mistaken .pendulum {
  position: absolute;
  background: #8b4513;
  transform-origin: top center;
  animation: da-pendulum 2s ease-in-out infinite alternate; left: 74%; top: 22.67%; width: 2%; height: 10%;}
@keyframes da-pendulum {
  0% { transform: rotate(-20deg); }
  50% { transform: rotate(0deg); }
  100% { transform: rotate(20deg); }
}
.scn-dromio-arrives-mistaken .dromio {
  position: absolute; bottom: 20%; left: 10%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #5c4033 0%, #3e2723 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40% 40%;
  animation: da-dromio 4s ease-in-out infinite;
}
@keyframes da-dromio {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  25% { transform: translateX(15px) translateY(-2px) rotate(3deg); }
  50% { transform: translateX(30px) translateY(0) rotate(0deg); }
  75% { transform: translateX(45px) translateY(-2px) rotate(-3deg); }
  100% { transform: translateX(60px) translateY(0) rotate(0deg); }
}
.scn-dromio-arrives-mistaken .smoke {
  position: absolute; top: 10%; left: 35%; width: 40px; height: 20px;
  background: rgba(200,200,200,0.3);
  filter: blur(6px);
  border-radius: 50%;
  animation: da-smoke 6s ease-out infinite;
}
@keyframes da-smoke {
  0% { transform: translateY(0) scale(1); opacity:0.5; }
  50% { transform: translateY(-20px) scale(1.5); opacity:0.3; }
  100% { transform: translateY(-40px) scale(2); opacity:0; }
}

/* Scene: dromio-complaint */

.scn-dromio-complaint {
  background: linear-gradient(180deg, #fff8dc 0%, #f0e68c 40%, #ffd700 70%, #daa520 100%), radial-gradient(ellipse at 50% 50%, #fffacd 0%, transparent 60%);
}
.scn-dromio-complaint .bg-bright {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #fff8dc 0%, #f5deb3 100%);
  animation: dc-bg 8s ease-in-out infinite alternate;
}
@keyframes dc-bg { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.8; } }
.scn-dromio-complaint .figure-left {
  position: absolute; bottom: 20%; left: 20%; width: 22px; height: 45px;
  background: linear-gradient(180deg, #8b4513 0%, #5c4033 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: dc-fig-left 3s ease-in-out infinite;
}
@keyframes dc-fig-left {
  0% { transform: translateY(0) rotate(-2deg); }
  25% { transform: translateY(-3px) rotate(2deg); }
  50% { transform: translateY(0) rotate(-2deg); }
  75% { transform: translateY(-3px) rotate(2deg); }
  100% { transform: translateY(0) rotate(-2deg); }
}
.scn-dromio-complaint .figure-right {
  position: absolute; bottom: 20%; right: 20%; width: 22px; height: 45px;
  background: linear-gradient(180deg, #a0522d 0%, #6b3a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: dc-fig-right 3s ease-in-out infinite 0.5s;
}
@keyframes dc-fig-right {
  0% { transform: translateY(0) rotate(2deg); }
  25% { transform: translateY(-3px) rotate(-2deg); }
  50% { transform: translateY(0) rotate(2deg); }
  75% { transform: translateY(-3px) rotate(-2deg); }
  100% { transform: translateY(0) rotate(2deg); }
}
.scn-dromio-complaint .money-bag {
  position: absolute; bottom: 30%; left: 50%; width: 20px; height: 24px;
  background: radial-gradient(ellipse at 50% 50% 60%, #daa520 0%, #b8860b 100%);
  %);
  border-radius: 30% 30% 40% 40% / 40% 40% 50% 50%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: dc-bag 2s ease-in-out infinite;
}
@keyframes dc-bag {
  0% { transform: translateX(-50%) translateY(0) rotate(0deg); }
  50% { transform: translateX(-50%) translateY(-5px) rotate(10deg); }
  100% { transform: translateX(-50%) translateY(0) rotate(0deg); }
}
.scn-dromio-complaint .coin {
  position: absolute; bottom: 35%; width: 8px; height: 8px;
  background: radial-gradient(circle, #ffd700 0%, #daa520 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
.scn-dromio-complaint .coin1 {
  left: 45%;
  animation: dc-coin1 2.5s ease-in-out infinite;
}
@keyframes dc-coin1 {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-8px) rotate(180deg); }
  100% { transform: translateY(0) rotate(360deg); }
}
.scn-dromio-complaint .coin2 {
  left: 55%;
  animation: dc-coin2 2.5s ease-in-out infinite 0.8s;
}
@keyframes dc-coin2 {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-8px) rotate(-180deg); }
  100% { transform: translateY(0) rotate(-360deg); }
}
.scn-dromio-complaint .shadow-left {
  position: absolute; bottom: 15%; left: 15%; width: 30px; height: 6px;
  background: rgba(0,0,0,0.15);
  border-radius: 50%;
  filter: blur(3px);
  animation: dc-shadow 3s ease-in-out infinite;
}
.scn-dromio-complaint .shadow-right {
  position: absolute; bottom: 15%; right: 15%; width: 30px; height: 6px;
  background: rgba(0,0,0,0.15);
  border-radius: 50%;
  filter: blur(3px);
  animation: dc-shadow 3s ease-in-out infinite 0.5s;
}
@keyframes dc-shadow {
  0% { transform: scaleX(1); opacity:0.6; }
  50% { transform: scaleX(1.2); opacity:0.8; }
  100% { transform: scaleX(1); opacity:0.6; }
}

/* Scene: antiphilus-angered */
.scn-antiphilus-angered {
  background: linear-gradient(180deg, #f5deb3 0%, #deb887 40%, #a0522d 80%, #5c4033 100%), radial-gradient(ellipse at 50% 20%, #ffd700 0%, transparent 50%);
}
.scn-antiphilus-angered .street-bg {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #f5deb3 0%, #deb887 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.2);
}
.scn-antiphilus-angered .building {
  position: {
  position: absolute; bottom: 40%; left: 10%; right: 10%; height: 50%;
  background: linear-gradient(180deg, #c4a882 0%, #a0522d 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 4px 0 12px rgba(0,0,0,0.3);
}; }
.scn-antiphilus-angered .antiphilus {
  position: absolute; bottom: 20%; left: 35%; width: 24px; height: 48px;
  background: linear-gradient(180deg, #5c4033 0%, #3e2723 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: aa-angry 1.6s ease-in-out infinite alternate;
}
@keyframes aa-angry {
  0% { transform: translateX(0) rotate(-3deg); }
  50% { transform: translateX(2px) rotate(3deg); }
  100% { transform: translateX(0) rotate(-3deg); }
}
.scn-antiphilus-angered .dromio-cower {
  position: absolute; bottom: 20%; right: 35%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #8b4513 0%, #5c4033 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: aa-cower 2.4s ease-in-out infinite;
}
@keyframes aa-cower {
  0% { transform: translateY(0) scale(1); }
  25% { transform: translateY(-2px) scale(0.95); }
  50% { transform: translateY(0) scale(1); }
  75% { transform: translateY(-2px) scale(0.95); }
  100% { transform: translateY(0) scale(1); }
}
.scn-antiphilus-angered .saddle {
  position: absolute; bottom: 30%; left: 50%; width: 30px; height: 15px;
  background: linear-gradient(180deg, #8b4513 0%, #5c4033 100%);
  border-radius: 20% 20% 30% 30% / 40% 40% 30% 30%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: aa-saddle 3s ease-in-out infinite;
}
@keyframes aa-saddle {
  0% { transform: translateX(-50%) rotate(0deg); }
  50% { transform: translateX(-50%) rotate(5deg); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
}
.scn-antiphilus-angered .money-bag-tremble {
  position: absolute; bottom: 25%; left: 60%; width: 16px; height: 20px;
  background: radial-gradient(ellipse at 50% 60%, #daa520 0%, #b8860b 100%);
  border-radius: 30% 30% 40% 40% / 40% 40% 50% 50%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: aa-tremble 1.5s ease-in-out infinite;
}
@keyframes aa-tremble {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(-2px) rotate(-5deg); }
  50% { transform: translateX(0) rotate(0deg); }
  75% { transform: translateX(2px) rotate(-5deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
.scn-antiphilus-angered .shadow-sharp {
  position: absolute; bottom: 15%; left: 30%; right: 30%; height: 8px;
  background: linear-gradient(90deg, transparent, rgba(0, transparent);
  box-shadow: 0 0 10px 2px rgba(0,0,0,0.4);
  filter: blur(2px);
  animation: aa-shadow 2s ease-in-out infinite alternate;
}
@keyframes aa-shadow {
  0% { opacity:0.5; transform: scaleX(1); }
  50% { opacity:0.8; transform: scaleX(1.1); }
  100% { opacity:0.5; transform: scaleX(1); }
}
.scn-antiphilus-angered .dust {
  position: absolute; bottom: 10%; left: 20%; width: 30px; height: 10px;
  background: rgba(200,180,150,0.3);
  filter: blur(4px);
  border-radius: 50%;
  animation: aa-dust 5s ease-in-out infinite;
}
@keyframes aa-dust {
  0% { transform: translateY(0) scale(1); opacity:0.4; }
  50% { transform: translateY(-10px) scale(1.5); opacity:0.2; }
  100% { transform: translateY(-20px) scale(2); opacity:0; }
}

/* Scene: aegeon-search-story (sad, bright-interior) */
.scn-aegeon-search-story { position: relative; width: 100%; height: 100%; overflow: hidden; background: linear-gradient(180deg, #0a1224 0%, #1a263e 40%, #2c3a4e 100%), radial-gradient(ellipse at 80% 30%, #3a4a6a 0%, transparent 65%); }
.scn-aegeon-search-story .sky { position: absolute; inset: 0; background: radial-gradient(ellipse at 80% 20%, rgba(200,200,180,0.12) 0%, transparent 60%); animation: as-sky-shift 20s ease-in-out infinite alternate; }
.scn-aegeon-search-story .moon { position: absolute; top: 8%; right: 12%; width: 36px; height: 36px; background: radial-gradient(circle at 30% 30%, #e0d8c0 0%, #8e8058 70%); border-radius: 50%; box-shadow: 0 0 18px 6px rgba(200,180,128,0.8); animation: as-moon-glow 20s ease-in-out infinite alternate; }
.scn-aegeon-search-story .mist { position: absolute; bottom: 15%; left: -20%; width: 140%; height: 35%; background: linear-gradient(0deg, rgba(120,130,150,0.12) 0%, transparent 80%); filter: blur(14px); border-radius: 50%; animation: as-mist-drift 40s linear infinite; }
.scn-aegeon-search-story .distant-shore { position: absolute; bottom: 28%; left: 0; right: 0; height: 18%; background: linear-gradient(180deg, #141a2a 0%, #080e18 100%); border-radius: 60% 70% 0 0 / 100% 100% 0 0; box-shadow: inset 0 4px 12px rgba(0,0,0,0.5); animation: as-shore-sway 24s ease-in-out infinite alternate; }
.scn-aegeon-search-story .water { position: absolute; bottom: 8%; left: 0; right: 0; height: 42%; background: linear-gradient(180deg, #1a263a 0%, #0a1220 100%); animation: as-water-wave 12s ease-in-out infinite alternate; }
.scn-aegeon-search-story .quay { position: absolute; bottom: 18%; left: 5%; width: 65%; height: 10px; background: linear-gradient(90deg, #2a1a0e, #4a3a2a, #2a1a0e); border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,0.7); transform-origin: left bottom; animation: as-quay-sway 7s ease-in-out infinite alternate; }
.scn-aegeon-search-story .ship { position: absolute; bottom: 24%; right: 18%; width: 50px; height: 26px; background: linear-gradient(180deg, #1e1e2e 0%, #0e0e18 100%); border-radius: 0 0 12% 12% / 0 0 45% 45%; box-shadow: 0 4px 8px rgba(0,0,0,0.6); transform-origin: bottom center; animation: as-ship-rock 6s ease-in-out infinite; }
.scn-aegeon-search-story .lantern { position: absolute; bottom: 22%; left: 68%; width: 9px; height: 9px; background: radial-gradient(circle at 40% 40%, #f0c860 0%, #b07820 70%); border-radius: 50%; box-shadow: 0 0 14px 5px #e0b040, 0 0 26px 8px rgba(224,176,64,0.45); animation: as-lantern-flicker 3.5s ease-in-out infinite alternate; }
.scn-aegeon-search-story .figure { position: absolute; bottom: 20%; left: 50%; width: 10px; height: 20px; background: linear-gradient(180deg, #20203a 0%, #08081a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: as-figure-walk 5s ease-in-out infinite; }

@keyframes as-sky-shift { 0% { transform: translateX(0) scale(1); opacity: 0.65; } 50% { transform: translateX(8px) scale(1.02); opacity: 0.85; } 100% { transform: translateX(-4px) scale(0.98); opacity: 0.75; } }
@keyframes as-moon-glow { 0% { box-shadow: 0 0 16px 6px #b8a878; opacity: 0.88; } 50% { box-shadow: 0 0 24px 10px #d8cc98; opacity: 1; } 100% { box-shadow: 0 0 18px 7px #a09068; opacity: 0.85; } }
@keyframes as-mist-drift { 0% { transform: translateX(-8%); } 50% { transform: translateX(12%); } 100% { transform: translateX(-4%); } }
@keyframes as-shore-sway { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(1.01); } 100% { transform: translateY(0) scaleY(0.99); } }
@keyframes as-water-wave { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(0.4deg); } 100% { transform: translateY(0) rotate(-0.3deg); } }
@keyframes as-quay-sway { 0% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(0.9deg) translateY(-1px); } 100% { transform: rotate(-0.5deg) translateY(1px); } }
@keyframes as-ship-rock { 0% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(2.5deg) translateY(-2px); } 100% { transform: rotate(-1.2deg) translateY(1px); } }
@keyframes as-lantern-flicker { 0% { box-shadow: 0 0 10px 3px #e0b040, 0 0 20px 6px rgba(224,176,64,0.4); opacity: 0.85; } 50% { box-shadow: 0 0 15px 5px #f0c060, 0 0 28px 8px rgba(240,192,96,0.55); opacity: 1; } 100% { box-shadow: 0 0 12px 4px #e0b040, 0 0 22px 7px rgba(224,176,64,0.45); opacity: 0.9; } }
@keyframes as-figure-walk { 0% { transform: translateX(0) translateY(0) rotate(-0.5deg); } 25% { transform: translateX(8px) translateY(-1px) rotate(1deg); } 50% { transform: translateX(16px) translateY(0) rotate(-0.5deg); } 75% { transform: translateX(24px) translateY(-1px) rotate(0.5deg); } 100% { transform: translateX(32px) translateY(0) rotate(0); } }

.scn-aegeon-final-plea { background: linear-gradient(180deg, #1a1025 0%, #0d0815 50%, #080410 100%), radial-gradient(ellipse at 20% 40%, rgba(255,180,80,0.15) 0%, transparent 70%); }
.scn-aegeon-final-plea .pillar-l { position:absolute; left:8%; width:6%; height:80%; bottom:0; background:linear-gradient(90deg, #0f0a1c 0%, #1a122e 50%, #0f0a1c 100%); box-shadow: inset -4px 0 12px rgba(0,0,0,0.5); animation: afp-pillar-breathe 12s ease-in-out infinite alternate; }
.scn-aegeon-final-plea .pillar-r { position:absolute; right:8%; width:6%; height:80%; bottom:0; background:linear-gradient(90deg, #0f0a1c 0%, #1a122e 50%, #0f0a1c 100%); box-shadow: inset 4px 0 12px rgba(0,0,0,0.5); animation: afp-pillar-breathe 14s ease-in-out infinite alternate; }
.scn-aegeon-final-plea .dais { position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:60%; height:12%; background:linear-gradient(180deg, #2a1a3a 0%, #0d0a15 100%); border-radius:10% 10% 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,0.6); animation: afp-dais 8s ease-in-out infinite; }
.scn-aegeon-final-plea .throne { position:absolute; bottom:4%; left:50%; transform:translateX(-50%); width:20px; height:30px; background:linear-gradient(180deg, #3a2a4a 0%, #1a1025 100%); border-radius:30% 30% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.7); animation: afp-throne 14s ease-in-out infinite alternate; }
.scn-aegeon-final-plea .aegeon { position:absolute; bottom:11%; left:40%; width:18px; height:25px; background:linear-gradient(180deg, #2a1a2a 0%, #0f0a15 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: afp-aegeon-implore 5s ease-in-out infinite; }
.scn-aegeon-final-plea .chain { position:absolute; bottom:13%; left:43%; width:4px; height:12px; background:radial-gradient(circle, #555 0%, #222 100%); border-radius:50%; box-shadow:0 2px 4px rgba(0,0,0,0.5); animation: afp-chain-sway 6s ease-in-out infinite alternate; }
.scn-aegeon-final-plea .torch { position:absolute; left:10%; top:35%; width:8px; height:14px; background:radial-gradient(ellipse at 50% 70%, #ffaa33 0%, #553300 100%); border-radius:50% 50% 20% 20%; box-shadow:0 0 20px 6px rgba(255,170,51,0.5), 0 0 40px 12px rgba(255,170,51,0.2); animation: afp-torch-flicker 3s ease-in-out infinite; }
.scn-aegeon-final-plea .smoke-a { position:absolute; top:25%; left:20%; width:60px; height:20px; background:rgba(255,255,255,0.05); border-radius:50%; filter:blur(8px); animation: afp-smoke-drift 24s linear infinite; }
.scn-aegeon-final-plea .smoke-b { position:absolute; top:30%; left:40%; width:50px; height:15px; background:rgba(255,255,255,0.04); border-radius:50%; filter:blur(6px); animation: afp-smoke-drift 32s linear infinite reverse; animation-delay:-10s; }
@keyframes afp-pillar-breathe { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-3px) } }
@keyframes afp-dais { 0%,100% { transform: translateX(-50%) } 50% { transform: translateX(-50%) translateY(-2px) } }
@keyframes afp-throne { 0% { opacity:0.9 } 100% { opacity:1 } }
@keyframes afp-aegeon-implore { 0% { transform: translateY(0) rotate(-2deg) } 50% { transform: translateY(-4px) rotate(2deg) } 100% { transform: translateY(0) rotate(-2deg) } }
@keyframes afp-chain-sway { 0% { transform: rotate(-5deg) } 50% { transform: rotate(5deg) } 100% { transform: rotate(-5deg) } }
@keyframes afp-torch-flicker { 0% { box-shadow: 0 0 16px 4px rgba(255,170,51,0.5), 0 0 30px 8px rgba(255,170,51,0.2); opacity:0.8 } 50% { box-shadow: 0 0 24px 8px rgba(255,200,80,0.6), 0 0 45px 15px rgba(255,170,51,0.3); opacity:1 } 100% { box-shadow: 0 0 18px 5px rgba(255,150,40,0.4), 0 0 28px 7px rgba(255,150,40,0.15); opacity:0.85 } }
@keyframes afp-smoke-drift { 0% { transform: translateX(-30px); opacity:0 } 20% { opacity:0.3 } 80% { opacity:0.2 } 100% { transform: translateX(120px); opacity:0 } }

.scn-palace-pity-sentence {
  background: linear-gradient(180deg, #2a3a4a 0%, #3a4a5a 50%, #2a3a4a 100%),
              radial-gradient(ellipse at 50% 40%, #4a5a6a 0%, transparent 70%);
}
.scn-palace-pity-sentence .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 0 0;
}
.scn-palace-pity-sentence .wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #3a4a5a 0%, #2a3a4a 100%);
}
.scn-palace-pity-sentence .throne {
  position: absolute; bottom: 20%; left: 30%; width: 50px; height: 60px;
  background: linear-gradient(180deg, #6a5a3a 0%, #4a3a1a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: pp-throne 12s ease-in-out infinite alternate;
}
.scn-palace-pity-sentence .duke {
  position: absolute; bottom: 22%; left: 32%; width: 20px; height: 40px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: pp-duke 8s ease-in-out infinite;
}
.scn-palace-pity-sentence .aegeon {
  position: absolute; bottom: 20%; left: 55%; width: 22px; height: 44px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: pp-aegeon 10s ease-in-out infinite;
}
.scn-palace-pity-sentence .pillar {
  position: absolute; bottom: 20%; left: 15%; width: 12px; height: 80px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 4px;
  box-shadow: 0 0 10px rgba(0,0,0,0.3);
  animation: pp-pillar 20s ease-in-out infinite alternate;
}
.scn-palace-pity-sentence .window {
  position: absolute; top: 10%; left: 70%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #5a6a7a 0%, #3a4a5a 100%);
  border: 3px solid #4a3a2a;
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(200,200,220,0.2);
  animation: pp-window 15s ease-in-out infinite alternate;
}
.scn-palace-pity-sentence .candle {
  position: absolute; bottom: 22%; left: 60%; width: 4px; height: 14px;
  background: linear-gradient(180deg, #e8d8b8 0%, #c8b898 100%);
  border-radius: 2px;
  box-shadow: 0 0 8px 2px rgba(255,200,100,0.3);
  animation: pp-candle 4s ease-in-out infinite alternate;
}
@keyframes pp-throne { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes pp-duke { 0% { transform: translateX(-50%) translateY(0) rotate(-1deg); } 25% { transform: translateX(-50%) translateY(-1px) rotate(1deg); } 50% { transform: translateX(-50%) translateY(0) rotate(0deg); } 75% { transform: translateX(-50%) translateY(-1px) rotate(-1deg); } 100% { transform: translateX(-50%) translateY(0) rotate(-1deg); } }
@keyframes pp-aegeon { 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 pp-pillar { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes pp-window { 0% { box-shadow: inset 0 0 15px rgba(200,200,220,0.1); } 50% { box-shadow: inset 0 0 30px rgba(200,200,220,0.3); } 100% { box-shadow: inset 0 0 20px rgba(200,200,220,0.15); } }
@keyframes pp-candle { 0% { box-shadow: 0 0 6px 1px rgba(255,200,100,0.2); height: 12px; } 50% { box-shadow: 0 0 12px 4px rgba(255,200,100,0.5); height: 14px; } 100% { box-shadow: 0 0 8px 2px rgba(255,200,100,0.3); height: 13px; } }

/* Scene: palace-exeunt (dark, bright-interior) */
.scn-palace-exeunt {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 50%, #1a1a2e 100%),
              radial-gradient(ellipse at 50% 80%, #3a3a4e 0%, transparent 70%);
}
.scn-palace-exeunt .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 10% 10% 0 0;
}
.scn-palace-exeunt .wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%);
}
.scn-palace-exeunt .door {
  position: absolute; bottom: 20%; left: 50%; width: 50px; height: 80px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border: 3px solid #6a5a3a;
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
  animation: pe-door 10s ease-in-out infinite alternate;
}
.scn-palace-exeunt .figure {
  position: absolute; bottom: 18%; left: 45%; width: 22px; height: 46px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: pe-figure 6s ease-in-out infinite;
}
.scn-palace-exeunt .guard {
  position: absolute; bottom: 18%; left: 55%; width: 24px; height: 48px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: pe-guard 8s ease-in-out infinite;
}
.scn-palace-exeunt .light {
  position: absolute; top: 10%; left: 50%; width: 100px; height: 100px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse, rgba(255,200,100,0.2) 0%, transparent 60%);
  animation: pe-light 5s ease-in-out infinite alternate;
}
.scn-palace-exeunt .shadow {
  position: absolute; bottom: 0; left: 40%; width: 60px; height: 30px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%);
  animation: pe-shadow 7s ease-in-out infinite alternate;
}
@keyframes pe-door { 0% { transform: translateX(-50%) scaleX(1); } 50% { transform: translateX(-50%) scaleX(1.02); } 100% { transform: translateX(-50%) scaleX(1); } }
@keyframes pe-figure { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(4px) translateY(-2px) rotate(2deg); } 50% { transform: translateX(8px) translateY(0) rotate(0deg); } 75% { transform: translateX(12px) translateY(-1px) rotate(-1deg); } 100% { transform: translateX(16px) translateY(0) rotate(0deg); } }
@keyframes pe-guard { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(-1px) translateY(-1px) rotate(1deg); } 50% { transform: translateX(0) translateY(0) rotate(0deg); } 75% { transform: translateX(1px) translateY(-1px) rotate(-1deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }
@keyframes pe-light { 0% { opacity: 0.2; } 50% { opacity: 0.4; } 100% { opacity: 0.25; } }
@keyframes pe-shadow { 0% { opacity: 0.4; transform: scaleX(1); } 50% { opacity: 0.7; transform: scaleX(1.1); } 100% { opacity: 0.5; transform: scaleX(1); } }

.scn-dromio-pleads {
  background: linear-gradient(180deg, #87ceeb 0%, #f5d76e 60%, #f0a030 100%),
              radial-gradient(ellipse at 70% 20%, #fff5cc 0%, transparent 60%);
}
.scn-dromio-pleads .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #b0e0ff 0%, transparent 100%); animation: dp-sky 12s ease-in-out infinite alternate; }
.scn-dromio-pleads .sun { position:absolute; top:8%; left:70%; width:50px; height:50px; background: radial-gradient(circle, #ffe680 0%, #ffcc33 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 40px 20px rgba(255,204,51,0.4); animation: dp-sun 6s ease-in-out infinite alternate; }
.scn-dromio-pleads .ground { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #c8a96e 0%, #a08050 100%); border-radius: 20% 20% 0 0; }
.scn-dromio-pleads .building { position:absolute; bottom:30%; left:10%; width:35%; height:50%; background: linear-gradient(180deg, #d4b896 0%, #b89a78 100%); border-radius: 4% 4% 0 0; box-shadow: inset 0 -10px 20px rgba(0,0,0,0.1); }
.scn-dromio-pleads .figure-a { position:absolute; bottom:30%; left:45%; width:24px; height:50px; background: linear-gradient(180deg, #5a3a2a 0%, #3a2212 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dp-figure-a 1.5s ease-in-out infinite; }
.scn-dromio-pleads .figure-b { position:absolute; bottom:30%; left:55%; width:22px; height:45px; background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dp-figure-b 2s ease-in-out infinite; }
.scn-dromio-pleads .clock { position:absolute; bottom:50%; left:20%; width:30px; height:30px; background: radial-gradient(circle, #f5d76e 0%, #c8a030 60%, #8a6a20 100%); border-radius:50%; border:2px solid #6a4a10; box-shadow: 0 0 10px 2px rgba(200,160,48,0.5); animation: dp-clock 3s ease-in-out infinite; }
@keyframes dp-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes dp-sun { 0% { transform: scale(0.9); opacity:0.8 } 50% { transform: scale(1.1); opacity:1 } 100% { transform: scale(0.95); opacity:0.9 } }
@keyframes dp-figure-a { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(2px) rotate(10deg) } 50% { transform: translateX(0) rotate(0deg) } 75% { transform: translateX(-2px) rotate(-5deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes dp-figure-b { 0% { transform: translateY(0) rotate(0deg) } 30% { transform: translateY(-3px) rotate(-8deg) } 60% { transform: translateY(0) rotate(0deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes dp-clock { 0% { transform: rotate(0deg) scale(1) } 25% { transform: rotate(15deg) scale(1.05) } 50% { transform: rotate(0deg) scale(1) } 75% { transform: rotate(-15deg) scale(1.05) } 100% { transform: rotate(0deg) scale(1) } }

.scn-dromio-invites-dinner {
  background: linear-gradient(180deg, #87ceeb 0%, #f5d76e 50%, #f0a030 100%),
              radial-gradient(ellipse at 50% 10%, #fff5cc 0%, transparent 70%);
}
.scn-dromio-invites-dinner .sky { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #b0e0ff 0%, transparent 100%); animation: di-sky 20s ease-in-out infinite alternate; }
.scn-dromio-invites-dinner .sun { position:absolute; top:10%; left:60%; width:45px; height:45px; background: radial-gradient(circle, #ffe680 0%, #ffcc33 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 30px 15px rgba(255,204,51,0.3); animation: di-sun 8s ease-in-out infinite alternate; }
.scn-dromio-invites-dinner .house { position:absolute; bottom:25%; left:35%; width:30%; height:45%; background: linear-gradient(180deg, #d4b896 0%, #b89a78 100%); border-radius: 8% 8% 4% 4%; box-shadow: 0 6px 12px rgba(0,0,0,0.2); }
.scn-dromio-invites-dinner .sign { position:absolute; bottom:55%; left:42%; width:40px; height:20px; background: linear-gradient(180deg, #c8a96e 0%, #a08050 100%); border-radius: 10%; box-shadow: 0 2px 4px rgba(0,0,0,0.3); animation: di-sign 6s ease-in-out infinite; }
.scn-dromio-invites-dinner .path { position:absolute; bottom:0; left:30%; width:40%; height:25%; background: linear-gradient(180deg, #c8a96e 0%, #a08050 100%); border-radius: 50% 50% 0 0 / 100% 100% 0 0; }
.scn-dromio-invites-dinner .figure { position:absolute; bottom:20%; left:50%; width:20px; height:40px; background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: di-figure 4s ease-in-out infinite; }
.scn-dromio-invites-dinner .tree { position:absolute; bottom:30%; left:15%; width:30px; height:60px; background: linear-gradient(180deg, #6a8a4a 0%, #4a6a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: di-tree 10s ease-in-out infinite; }
@keyframes di-sky { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes di-sun { 0% { transform: scale(0.95); opacity:0.9 } 50% { transform: scale(1.05); opacity:1 } 100% { transform: scale(0.98); opacity:0.95 } }
@keyframes di-sign { 0% { transform: rotate(0deg) } 25% { transform: rotate(2deg) } 50% { transform: rotate(0deg) } 75% { transform: rotate(-2deg) } 100% { transform: rotate(0deg) } }
@keyframes di-figure { 0% { transform: translateX(0) translateY(0) } 25% { transform: translateX(5px) translateY(-1px) } 50% { transform: translateX(10px) translateY(0) } 75% { transform: translateX(15px) translateY(-1px) } 100% { transform: translateX(20px) translateY(0) } }
@keyframes di-tree { 0% { transform: rotate(0deg) } 25% { transform: rotate(1deg) } 50% { transform: rotate(0deg) } 75% { transform: rotate(-1deg) } 100% { transform: rotate(0deg) } }

.scn-antiphilus-beats-dromio {
  background: linear-gradient(180deg, #87ceeb 0%, #f5d76e 40%, #e0a030 100%),
              radial-gradient(ellipse at 80% 30%, #fff5cc 0%, transparent 60%);
}
.scn-antiphilus-beats-dromio .sky { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #b0e0ff 0%, transparent 100%); animation: ab-sky 8s ease-in-out infinite alternate; }
.scn-antiphilus-beats-dromio .sun { position:absolute; top:5%; right:15%; width:55px; height:55px; background: radial-gradient(circle, #ffe680 0%, #ffcc33 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 50px 25px rgba(255,204,51,0.5); animation: ab-sun 4s ease-in-out infinite alternate; }
.scn-antiphilus-beats-dromio .ground { position:absolute; bottom:0; left:0; right:0; height:45%; background: linear-gradient(180deg, #c8a96e 0%, #a08050 100%); border-radius: 10% 10% 0 0; }
.scn-antiphilus-beats-dromio .shadow { position:absolute; bottom:25%; left:40%; width:30%; height:20%; background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, transparent 100%); border-radius: 50%; animation: ab-shadow 2s ease-in-out infinite; }
.scn-antiphilus-beats-dromio .figure-a { position:absolute; bottom:30%; left:45%; width:26px; height:55px; background: linear-gradient(180deg, #5a3a2a 0%, #3a2212 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ab-figure-a 2s ease-in-out infinite; }
.scn-antiphilus-beats-dromio .figure-b { position:absolute; bottom:30%; left:55%; width:22px; height:40px; background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ab-figure-b 1.6s ease-in-out infinite; }
.scn-antiphilus-beats-dromio .wall { position:absolute; bottom:30%; left:10%; width:25%; height:50%; background: linear-gradient(180deg, #d4b896 0%, #b89a78 100%); border-radius: 4% 4% 0 0; box-shadow: inset 0 -10px 20px rgba(0,0,0,0.2); }
@keyframes ab-sky { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.6 } }
@keyframes ab-sun { 0% { transform: scale(1); opacity:0.9 } 50% { transform: scale(1.15); opacity:1 } 100% { transform: scale(1.05); opacity:0.95 } }
@keyframes ab-shadow { 0% { transform: scaleX(1); opacity:0.5 } 50% { transform: scaleX(1.2); opacity:0.8 } 100% { transform: scaleX(1); opacity:0.5 } }
@keyframes ab-figure-a { 0% { transform: translateY(0) rotate(0deg) } 20% { transform: translateY(-5px) rotate(20deg) } 40% { transform: translateY(0) rotate(0deg) } 60% { transform: translateY(-3px) rotate(-10deg) } 80% { transform: translateY(0) rotate(0deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes ab-figure-b { 0% { transform: translateY(0) scale(1) } 25% { transform: translateY(-2px) scale(0.95) } 50% { transform: translateY(0) scale(1) } 75% { transform: translateY(-1px) scale(0.98) } 100% { transform: translateY(0) scale(1) } }

.scn-antiphilus-suspicion-city {
  background: linear-gradient(180deg, #87ceeb 0%, #f5d76e 30%, #d09030 100%),
              radial-gradient(ellipse at 60% 20%, #fff5cc 0%, transparent 70%);
}
.scn-antiphilus-suspicion-city .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #b0e0ff 0%, transparent 100%); animation: as-sky 15s ease-in-out infinite alternate; }
.scn-antiphilus-suspicion-city .sun { position:absolute; top:5%; left:50%; width:50px; height:50px; background: radial-gradient(circle, #ffe680 0%, #ffcc33 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 40px 20px rgba(255,204,51,0.4); animation: as-sun 10s ease-in-out infinite alternate; }
.scn-antiphilus-suspicion-city .ground { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #c8a96e 0%, #a08050 100%); border-radius: 15% 15% 0 0; }
.scn-antiphilus-suspicion-city .crowd { position:absolute; bottom:25%; left:20%; width:60%; height:30%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; animation: as-crowd 4s ease-in-out infinite; }
.scn-antiphilus-suspicion-city .figure { position:absolute; bottom:30%; left:45%; width:24px; height:50px; background: linear-gradient(180deg, #5a3a2a 0%, #3a2212 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: as-figure 3s ease-in-out infinite; }
.scn-antiphilus-suspicion-city .shadow { position:absolute; bottom:20%; left:40%; width:20%; height:15%; background: linear-gradient(180deg, rgba(0,0,0,0.4) 0%, transparent 100%); border-radius: 50%; animation: as-shadow 5s ease-in-out infinite; }
.scn-antiphilus-suspicion-city .sign { position:absolute; bottom:55%; left:30%; width:30px; height:15px; background: linear-gradient(180deg, #c8a96e 0%, #a08050 100%); border-radius: 10%; box-shadow: 0 2px 4px rgba(0,0,0,0.3); animation: as-sign 2s ease-in-out infinite; }
@keyframes as-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes as-sun { 0% { transform: scale(0.9); opacity:0.7 } 50% { transform: scale(1.1); opacity:1 } 100% { transform: scale(0.95); opacity:0.8 } }
@keyframes as-crowd { 0% { transform: translateX(0) scale(1) } 25% { transform: translateX(3px) scale(1.02) } 50% { transform: translateX(0) scale(1) } 75% { transform: translateX(-3px) scale(0.98) } 100% { transform: translateX(0) scale(1) } }
@keyframes as-figure { 0% { transform: rotate(0deg) } 25% { transform: rotate(5deg) } 50% { transform: rotate(0deg) } 75% { transform: rotate(-5deg) } 100% { transform: rotate(0deg) } }
@keyframes as-shadow { 0% { transform: scaleX(1); opacity:0.4 } 50% { transform: scaleX(1.3); opacity:0.7 } 100% { transform: scaleX(1); opacity:0.4 } }
@keyframes as-sign { 0% { transform: rotate(0deg) } 25% { transform: rotate(3deg) } 50% { transform: rotate(0deg) } 75% { transform: rotate(-3deg) } 100% { transform: rotate(0deg) } }

/* aegeon-calmer-waters */
/* Calmer waters after the storm – gentle Aegeon seascape */
.scn-aegeon-calmer-waters { background: linear-gradient(180deg, #f5a75c 0%, #f7c88e 40%, #c1dce9 75%, #1f3b4e 100%), radial-gradient(ellipse at 50% 100%, #fcf0b5 0%, transparent 60%); }
.scn-aegeon-calmer-waters .sky    { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, rgba(245,167,92,.4) 0%, rgba(199,200,142,.2) 100%); animation: acw-sky-glow 14s ease-in-out infinite alternate; }
.scn-aegeon-calmer-waters .water  { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #3b5982 0%, #1d2a4a 100%); border-radius: 40% 60% 0 0 / 30% 20% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,.3); animation: acw-water-lap 15s ease-in-out infinite alternate; }
.scn-aegeon-calmer-waters .city   { position:absolute; bottom:30%; left:0; right:0; height:12%; background: linear-gradient(180deg, #2b3b5c 0%, #1a2a3d 100%); border-radius: 0 0 15% 15%; box-shadow: 0 4px 10px rgba(0,0,0,.4); animation: acw-city-shimmer 13s ease-in-out infinite alternate; }
.scn-aegeon-calmer-waters .dock   { position:absolute; bottom:20%; left:3%; width:40px; height:8px; background: linear-gradient(90deg, #5b4234 0%, #302018 100%); border-radius: 15% 15% 5% 5%; transform-origin: bottom left; animation: acw-dock-sway 4.5s ease-in-out infinite alternate; }
.scn-aegeon-calmer-waters .ship   { position:absolute; bottom:26%; right:10%; width:55px; height:18px; background: linear-gradient(180deg, #5b4234 0%, #302018 100%); border-radius: 20% 30% 10% 10%; transform-origin: bottom center; animation: acw-ship-float 5s ease-in-out infinite; }
.scn-aegeon-calmer-waters .sail   { position:absolute; bottom:28%; right:12%; width:4px; height:25px; background: linear-gradient(180deg, #e0d6c8 0%, #c8bca0 100%); border-radius: 30% 70% 0 0; transform-origin: bottom center; animation: acw-sail-sway 7s ease-in-out infinite alternate; }
.scn-aegeon-calmer-waters .figure { position:absolute; bottom:18%; left:5%; width:5px; height:12px; background: linear-gradient(180deg, #2a3b5c 0%, #1a2a3d 100%); border-radius: 45% 45% 35% 35% / 55% 55% 40% 40%; transform-origin: bottom center; animation: acw-figure-breathe 5s ease-in-out infinite; }
.scn-aegeon-calmer-waters .cloud-a{ position:absolute; top:15%; left:10%; width:90px; height:20px; background: linear-gradient(180deg, rgba(255,255,255,.6) 0%, rgba(255,255,255,.1) 100%); border-radius: 50%; filter: blur(6px); animation: acw-drift-a 28s linear infinite; }
.scn-aegeon-calmer-waters .cloud-b{ position:absolute; top:22%; right:5%; width:70px; height:16px; background: linear-gradient(180deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,.05) 100%); border-radius: 50%; filter: blur(5px); animation: acw-drift-b 38s linear infinite reverse; }
@keyframes acw-sky-glow    { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.75 } }
@keyframes acw-water-lap   { 0% { border-radius:40% 60% 0 0 / 30% 20% 0 0; box-shadow:inset 0 8px 18px rgba(0,0,0,.25) } 50% { border-radius:45% 55% 0 0 / 25% 25% 0 0; box-shadow:inset 0 12px 24px rgba(0,0,0,.35) } 100% { border-radius:35% 65% 0 0 / 35% 15% 0 0; box-shadow:inset 0 6px 14px rgba(0,0,0,.2) } }
@keyframes acw-city-shimmer{ 0% { opacity:.8; box-shadow:0 2px 6px rgba(0,0,0,.3) } 50% { opacity:1; box-shadow:0 6px 12px rgba(0,0,0,.5) } 100% { opacity:.85; box-shadow:0 3px 8px rgba(0,0,0,.4) } }
@keyframes acw-dock-sway    { 0% { transform:rotate(-2deg) translateY(0) } 50% { transform:rotate(1deg) translateY(-1px) } 100% { transform:rotate(-1deg) translateY(.5px) } }
@keyframes acw-ship-float   { 0% { transform:translateY(0) rotate(-1deg) } 50% { transform:translateY(2px) rotate(0deg) } 100% { transform:translateY(-1px) rotate(1deg) } }
@keyframes acw-sail-sway    { 0% { transform:rotate(-3deg) } 50% { transform:rotate(5deg) } 100% { transform:rotate(-2deg) } }
@keyframes acw-figure-breathe{ 0% { transform:translateX(0) translateY(0) rotate(-1deg) } 25% { transform:translateX(1px) translateY(-1px) rotate(1deg) } 50% { transform:translateX(0) translateY(0) rotate(0) } 75% { transform:translateX(-1px) translateY(1px) rotate(-1deg) } 100% { transform:translateX(0) translateY(0) rotate(0) } }
@keyframes acw-drift-a      { 0% { transform:translateX(-20px) } 100% { transform:translateX(110vw) } }
@keyframes acw-drift-b      { 0% { transform:translateX(0) } 100% { transform:translateX(-100vw) } }

.scn-aegeon-interruption-duke { background: linear-gradient(180deg, #1a1a3e 0%, #3b2b4e 40%, #5a3a2a 80%, #7a5a3a 100%), radial-gradient(ellipse at 80% 30%, rgba(255,220,100,0.4) 0%, transparent 60%); }
.scn-aegeon-interruption-duke .sky    { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #2a2a4e 0%, transparent 100%); animation: aid-sky 15s ease-in-out infinite alternate; }
.scn-aegeon-interruption-duke .buildings { position:absolute; top:30%; bottom:30%; left:0; right:0; background: linear-gradient(180deg, #2a1a2a 0%, #1a1a1a 100%); border-radius: 50% 50% 0 0 / 20% 30% 0 0; box-shadow: 0 4px 12px rgba(0,0,0,.5); animation: aid-buildings 20s ease-in-out infinite alternate; }
.scn-aegeon-interruption-duke .ground  { position:absolute; bottom:0; left:0; right:0; height:25%; background: radial-gradient(ellipse at 50% 80%, #3a2a1a 0%, #1a1a1a 100%); }
.scn-aegeon-interruption-duke .platform { position:absolute; bottom:20%; left:50%; width:90px; height:25px; transform:translateX(-50%); background: linear-gradient(180deg, #5a3a2a, #3a2a1a); border-radius:5% 5% 0% 0%; box-shadow:0 6px 12px rgba(0,0,0,.6); animation: aid-platform 4s ease-in-out infinite; }
.scn-aegeon-interruption-duke .crowd-left { position:absolute; bottom:18%; left:5%; width:35%; height:8%; background: linear-gradient(180deg, #2a1a2a, #1a1a1a); border-radius: 50% 50% 0 0 / 80% 80% 0 0; animation: aid-crowd-left 5s ease-in-out infinite alternate; }
.scn-aegeon-interruption-duke .crowd-right { position:absolute; bottom:18%; right:5%; width:35%; height:8%; background: linear-gradient(180deg, #2a1a2a, #1a1a1a); border-radius: 50% 50% 0 0 / 80% 80% 0 0; animation: aid-crowd-right 5s ease-in-out infinite alternate; }
.scn-aegeon-interruption-duke .figure-main { position:absolute; bottom:26%; left:50%; width:6px; height:8px; transform:translateX(-50%); background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:40% 40% 30% 30% / 50% 50% 20% 20%; animation: aid-figure-main 4s ease-in-out infinite; }
.scn-aegeon-interruption-duke .figure-main::before { content:''; position:absolute; top:-4px; left:50%; transform: translateX(-50%); width:4px; height:4px; background:#1a1a2a; border-radius:50%; }
.scn-aegeon-interruption-duke .figure-duke { position:absolute; bottom:20%; right:18%; width:6px; height:14px; background: linear-gradient(180deg, #3a2a4a 0%, #1a1a2a 100%); border-radius:40% 40% 20% 20% / 50% 50% 30% 30%; animation: aid-figure-duke 6s ease-in-out infinite; }
.scn-aegeon-interruption-duke .figure-duke::before { content:''; position:absolute; top:-4px; left:50%; transform:translateX(-50%); width:4px; height:4px; background:#3a2a4a; border-radius:50%; }
.scn-aegeon-interruption-duke .figure-duke::after { content:''; position:absolute; top:50%; left:10px; width:5px; height:10px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:40% 40% 20% 20% / 50% 50% 30% 30%; transform:translateY(-50%); }
.scn-aegeon-interruption-duke .light-beam { position:absolute; top:0; right:0; width:30%; height:100%; background: linear-gradient(135deg, transparent 0%, rgba(255,240,180,0.3) 30%, rgba(255,240,180,0.1) 60%, transparent 100%); animation: aid-beam 4s ease-in-out infinite; }
.scn-aegeon-interruption-duke .cloud-a { position:absolute; top:12%; left:15%; width:70px; height:16px; background: linear-gradient(180deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,.1) 100%); border-radius:50%; filter:blur(6px); animation: aid-drift-a 30s linear infinite; }
.scn-aegeon-interruption-duke .cloud-b { position:absolute; top:22%; right:10%; width:55px; height:12px; background: linear-gradient(180deg, rgba(255,255,255,.4) 0%, rgba(255,255,255,.05) 100%); border-radius:50%; filter:blur(5px); animation: aid-drift-b 45s linear infinite reverse; }
@keyframes aid-sky { 0% { opacity:.8; background-position:0 0; } 50% { opacity:1; background-position:0 10px; } 100% { opacity:.7; background-position:0 0; } }
@keyframes aid-buildings { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(2px) scale(1.02); } 100% { transform: translateY(0) scale(1); } }
@keyframes aid-platform { 0%,100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-2px); } }
@keyframes aid-crowd-left { 0% { transform: translateX(-2px); } 50% { transform: translateX(2px); } 100% { transform: translateX(-2px); } }
@keyframes aid-crowd-right { 0% { transform: translateX(2px); } 50% { transform: translateX(-2px); } 100% { transform: translateX(2px); } }
@keyframes aid-figure-main { 0%,100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-1px) rotate(-1deg); } }
@keyframes aid-figure-duke { 0% { transform: translateX(0) translateY(0); } 25% { transform: translateX(4px) translateY(-1px); } 50% { transform: translateX(8px) translateY(0); } 75% { transform: translateX(12px) translateY(-1px); } 100% { transform: translateX(16px) translateY(0); } }
@keyframes aid-beam { 0% { opacity:.7; } 50% { opacity:1; } 100% { opacity:.7; } }
@keyframes aid-drift-a { 0% { transform: translateX(0); } 100% { transform: translateX(120vw); } }
@keyframes aid-drift-b { 0% { transform: translateX(0); } 100% { transform: translateX(-100vw); } }

.scn-aegeon-separation-account {
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 40%, #0a0a1e 100%),
              radial-gradient(ellipse at 50% 30%, #3a3a5e 0%, transparent 70%);
}
.scn-aegeon-separation-account .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%);
  opacity: 0.8;
}
.scn-aegeon-separation-account .desk {
  position: absolute; bottom: 20%; left: 20%; right: 20%; height: 10%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
}
.scn-aegeon-separation-account .map {
  position: absolute; bottom: 25%; left: 30%; width: 100px; height: 60px;
  background: linear-gradient(135deg, #8a7a5a 0%, #6a5a3a 50%, #5a4a2a 100%);
  border-radius: 4px;
  transform: rotate(-5deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: asa-map 8s ease-in-out infinite alternate;
}
.scn-aegeon-separation-account .figure {
  position: absolute; bottom: 20%; left: 45%; width: 24px; height: 60px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: asa-figure 6s ease-in-out infinite;
}
.scn-aegeon-separation-account .lamp {
  position: absolute; bottom: 35%; left: 25%; width: 8px; height: 12px;
  background: radial-gradient(circle, #ffd680 0%, #b08040 60%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(255,214,128,0.5), 0 0 60px 20px rgba(255,214,128,0.2);
  animation: asa-lamp 3s ease-in-out infinite alternate;
}
.scn-aegeon-separation-account .shadow {
  position: absolute; bottom: 20%; left: 40%; width: 80px; height: 8px;
  background: rgba(0,0,0,0.4);
  border-radius: 50%;
  filter: blur(6px);
  animation: asa-shadow 6s ease-in-out infinite;
}
.scn-aegeon-separation-account .ship-model {
  position: absolute; bottom: 28%; right: 25%; width: 40px; height: 30px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%);
  border-radius: 0 0 20% 20%;
  transform-origin: bottom center;
  animation: asa-ship 10s ease-in-out infinite;
}
@keyframes asa-map { 0% { transform: rotate(-5deg) scale(1); } 50% { transform: rotate(-3deg) scale(1.02); } 100% { transform: rotate(-5deg) scale(1); } }
@keyframes asa-figure { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(2deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-1px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes asa-lamp { 0% { box-shadow: 0 0 20px 5px rgba(255,214,128,0.4), 0 0 40px 10px rgba(255,214,128,0.1); } 50% { box-shadow: 0 0 40px 15px rgba(255,214,128,0.6), 0 0 80px 25px rgba(255,214,128,0.3); } 100% { box-shadow: 0 0 20px 5px rgba(255,214,128,0.4), 0 0 40px 10px rgba(255,214,128,0.1); } }
@keyframes asa-shadow { 0% { transform: scale(1); opacity: 0.4; } 50% { transform: scale(1.1); opacity: 0.6; } 100% { transform: scale(1); opacity: 0.4; } }
@keyframes asa-ship { 0% { transform: translateY(0) rotate(-3deg); } 25% { transform: translateY(-2px) rotate(1deg); } 50% { transform: translateY(0) rotate(3deg); } 75% { transform: translateY(-1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(-3deg); } }

/* aegeon-lost-years */
.scn-aegeon-lost-years { background: linear-gradient(180deg, #2a2538 0%, #3e3352 35%, #5a4b6e 70%, #241c2a 100%), radial-gradient(ellipse at 50% 90%, #6a5c82 0%, transparent 55%); }
.scn-aegeon-lost-years .sky    { position:absolute; inset:0 0 60% 0; background: linear-gradient(180deg, #3b3050 0%, transparent 100%); animation: ael-sky 14s ease-in-out infinite alternate; }
.scn-aegeon-lost-years .cloud  { position:absolute; top:12%; left:10%; width:140px; height:24px; background: linear-gradient(180deg, rgba(255,255,255,.2) 0%, rgba(255,255,255,.03) 100%); border-radius:50%; filter:blur(8px); animation: ael-cloud 38s linear infinite; }
.scn-aegeon-lost-years .mountains-back { position:absolute; bottom:32%; left:0; right:0; height:18%; background: linear-gradient(180deg, #3c2f48 0%, #2a1e30 100%); border-radius: 30% 50% 0 0 / 60% 50% 0 0; box-shadow: inset 0 4px 12px rgba(0,0,0,.4); animation: ael-mtn-back 20s ease-in-out infinite alternate; }
.scn-aegeon-lost-years .mountains-front{ position:absolute; bottom:27%; left:0; right:0; height:14%; background: linear-gradient(180deg, #4a3858 0%, #3a2848 100%); border-radius: 40% 30% 0 0 / 70% 40% 0 0; box-shadow: inset 0 6px 14px rgba(0,0,0,.5); animation: ael-mtn-front 16s ease-in-out infinite alternate; }
.scn-aegeon-lost-years .ground { position:absolute; bottom:0; left:0; right:0; height:28%; background: linear-gradient(180deg, #2a1c2a 0%, #100a14 100%); animation: ael-ground 22s ease-in-out infinite alternate; }
.scn-aegeon-lost-years .figure { position:absolute; bottom:22%; left:58%; width:14px; height:30px; background: linear-gradient(180deg, #0a0a10 0%, #05050a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ael-walk 5.5s ease-in-out infinite alternate; }
.scn-aegeon-lost-years .lantern{ position:absolute; bottom:30%; left:63%; width:8px; height:10px; background: radial-gradient(circle, #ffc870 0%, #b07030 80%); border-radius:40% 40% 30% 30%; box-shadow: 0 0 12px 4px rgba(255,180,80,.6), 0 0 24px 8px rgba(200,140,60,.3); animation: ael-lantern 3.5s ease-in-out infinite; }
@keyframes ael-sky { 0%{opacity:.75} 50%{opacity:.95} 100%{opacity:.8} }
@keyframes ael-cloud { 0%{transform:translateX(-20px)} 100%{transform:translateX(120vw)} }
@keyframes ael-mtn-back { 0%{transform:translateY(0)} 50%{transform:translateY(-2px)} 100%{transform:translateY(0)} }
@keyframes ael-mtn-front{ 0%{transform:translateY(0)} 50%{transform:translateY(-1px)} 100%{transform:translateY(1px)} }
@keyframes ael-ground { 0%{opacity:.9} 100%{opacity:1} }
@keyframes ael-walk { 0%,100%{transform:translateX(0) translateY(0) rotate(-1.2deg)} 50%{transform:translateX(14px) translateY(-2px) rotate(1.2deg)} }
@keyframes ael-lantern { 0%,100%{transform:translate(0,0) rotate(-2deg); opacity:.85} 40%{transform:translate(1px,-1px) rotate(2deg); opacity:1} 70%{transform:translate(-1px,0) rotate(-1deg); opacity:.9} }

/* end per-scene blocks */

/* auto-stub: parent tag-classes flagged by CSS audit */
.bg-hall { position: absolute; pointer-events: none; }
.figure-aegeon { position: absolute; pointer-events: none; }
.sunset-beam { position: absolute; pointer-events: none; }

/* ============ tier S ============ */
/* per-scene blocks (EXP step_scenes) */
.scn-item-money-sent { background: linear-gradient(180deg, #f5e6c8 0%, #d4c4a0 30%, #8a7a50 60%, #4a3a20 100%), radial-gradient(ellipse at 70% 20%, #fff8e0 0%, transparent 60%); }
.scn-item-money-sent .sky { position:absolute; inset:0 0 55% 0; background: linear-gradient(180deg, #fdf4d8 0%, #f0d8a0 40%, #d0b870 100%); animation: ms-sky 10s ease-in-out infinite alternate; }
.scn-item-money-sent .sun { position:absolute; top:8%; left:75%; width:40px; height:40px; background: radial-gradient(circle, #fff8d0b870 0%, #c0a050 50%, transparent 100%); border-radius:50%; box-shadow: 0 0 40px 20px rgba(200,170,80,.6); animation: ms-sun 8s ease-in-out infinite alternate; }
.scn-item-money-sent .ground { position:absolute; bottom:0; left:0; right:0; height:55%; background: linear-gradient(180deg, #6a5a30 0%, #4a3a20 60%, #3a2a10 100%); border-radius:30% 0 0 0 / 20% 0 0 0; animation: ms-ground 12s ease-in-out infinite alternate; }
.scn-item-money-sent .stall-left { position:absolute; bottom:30%; left:5%; width:80px; height:70px; background: linear-gradient(90deg, #a07840 0%, #7a5820 100%); border-radius:4% 4% 0 0; box-shadow: 8px 0 15px rgba(0,0,0,.3); animation: ms-stall 15s ease-in-out infinite alternate; }
.scn-item-money-sent .stall-right { position:absolute; bottom:30%; right:5%; width:60px; height:50px; background: linear-gradient(90deg, #8a6a30 0%, #6a4a10 100%); border-radius:0 0 4% 4%; box-shadow: -8px 0 12px rgba(0,0,0,.3); animation: ms-stall 15s ease-in-out infinite alternate-reverse; }
.scn-item-money-sent .figure-a { position:absolute; bottom:32%; left:38%; width:20px; height:40px; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: ms-fig-a 3s ease-in-out infinite; }
.scn-item-money-sent .figure-b { position:absolute; bottom:32%; left:52%; width:20px; height:38px; background: linear-gradient(180deg, #3a2a1a1a 0%, #1a0a0a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: ms-fig-b 3s ease-in-out infinite 1s; }
.scn-item-money-sent .money { position:absolute; bottom:48%; left:46%; width:12px; height:8px; background: linear-gradient(135deg, #b8a060 0%, #806830 100%); border-radius:50%; box-shadow: 0 0 10px 4px rgba(180,160,80,.5); animation: ms-money 1.5s ease-in-out infinite; }
.scn-item-money-sent .shadow { position:absolute; bottom:30%; left:30%; width:35%; height:4px; background: rgba(0,0,0,.4); border-radius:50%; filter: blur(3px); transform: scaleY(0.5); animation: ms-shadow 3s ease-in-out infinite; }
@keyframes ms-sky { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes ms-sun { 0% { transform: translateX(0) scale(1); box-shadow: 0 0 30px 15px rgba(200,170,80,.5); } 50% { transform: translateX(5px) scale(1.02); box-shadow: 0 0 50px 25px rgba(200,170,80,.7); } 100% { transform: translateX(-2px) scale(.98); box-shadow: 0 0 30px 15px rgba(200,170,80,.5); } }
@keyframes ms-ground { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes ms-stall { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.02) rotate(.5deg); } 100% { transform: scale(1) rotate(0deg); } }
@keyframes ms-fig-a { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 25% { transform: translateX(3px) translateY(-1px) rotate(2deg); } 50% { transform: translateX(0) translateY(0) rotate(-1deg); } 75% { transform: translateX(-3px) translateY(-1px) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(-2deg); } }
@keyframes ms-fig-b { 0% { transform: translateX(0) translateY(0) rotate(2deg); } 25% { transform: translateX(-3px) translateY(-1px) rotate(-2deg); } 50% { transform: translateX(0) translateY(0) rotate(1deg); } 75% { transform: translateX(3px) translateY(-1px) rotate(-1deg); } 100% { transform: translateX(0) translateY(0) rotate(2deg); } }
@keyframes ms-money { 0% { transform: translateY(0) rotate(0deg) scale(1); } 33% { transform: translateY(-6px) rotate(10deg) scale(1.1); } 66% { transform: translateY(2px) rotate(-5deg) scale(.95); } 100% { transform: translateY(0) rotate(0deg) scale(1); } }
@keyframes ms-shadow { 0% { opacity:.4; transform: scaleX(1); } 33% { opacity:.6; transform: scaleX(1.1); } 66% { opacity:.3; transform: scaleX(.9); } 100% { opacity:.4; transform: scaleX(1); } }

/* === aegeon-condemned === */
.scn-aegeon-condemned {
  background:
    linear-gradient(180deg, #2b1b3a 0%, #4a2a3a 30%, #6a3a3a 60%, #8a5a3a 100%),
    radial-gradient(ellipse at 50% 0%, #c08050 0%, transparent 60%);
}
.scn-aegeon-condemned .ac-backdrop {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #3a2a2a 0%, #5a3a2a 50%, #7a4a2a 100%);
  border-radius: 0 0 40% 40%;
  animation: ac-backdrop 20s ease-in-out infinite alternate;
}
.scn-aegeon-condemned .ac-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.5);
  border-radius: 20% 20% 0 0;
}
.scn-aegeon-condemned .ac-window {
  position: absolute; top: 10%; left: 50%; width: 50%; height: 40%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #a07040 0%, #805030 50%, #603020 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: inset 0 0 40px rgba(200,150,80,0.3);
  animation: ac-window 15s ease-in-out infinite;
}
.scn-aegeon-condemned .ac-lightrays {
  position: absolute; top: 12%; left: 20%; right: 20%; height: 50%;
  background: linear-gradient(180deg, rgba(255,200,100,0.2) 0%, transparent 60%);
  filter: blur(10px);
  animation: ac-lightrays 8s ease-in-out infinite alternate;
}
.scn-aegeon-condemned .ac-figure {
  position: absolute; bottom: 25%; left: 50%; width: 16px; height: 36px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ac-figure 12s ease-in-out infinite;
}
.scn-aegeon-condemned .ac-shadow {
  position: absolute; bottom: 24%; left: 48%; width: 30px; height: 6px;
  background: rgba(0,0,0,0.4);
  border-radius: 50%;
  filter: blur(3px);
  animation: ac-shadow 12s ease-in-out infinite;
}
.scn-aegeon-condemned .ac-pillar {
  position: absolute; bottom: 30%; left: 15%; width: 12px; height: 60%;
  background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: 2px 0 8px rgba(0,0,0,0.3);
  animation: ac-pillar 30s linear infinite;
}
@keyframes ac-backdrop {
  0% { opacity: 0.8; transform: scaleY(1); }
  50% { opacity: 0.9; transform: scaleY(1.02); }
  100% { opacity: 0.85; transform: scaleY(0.98); }
}
@keyframes ac-window {
  0% { box-shadow: inset 0 0 30px rgba(200,150,80,0.2); }
  50% { box-shadow: inset 0 0 60px rgba(200,150,80,0.4); }
  100% { box-shadow: inset 0 0 40px rgba(200,150,80,0.25); }
}
@keyframes ac-lightrays {
  0% { opacity: 0.4; transform: translateY(0) scaleX(1); }
  50% { opacity: 0.7; transform: translateY(-4px) scaleX(1.05); }
  100% { opacity: 0.5; transform: translateY(0) scaleX(0.95); }
}
@keyframes ac-figure {
  0% { transform: translateX(-50%) translateY(0) rotate(-2deg); }
  50% { transform: translateX(-50%) translateY(-2px) rotate(2deg); }
  100% { transform: translateX(-50%) translateY(0) rotate(0); }
}
@keyframes ac-shadow {
  0% { transform: translateX(0) scaleX(1); opacity: 0.4; }
  50% { transform: translateX(-4px) scaleX(1.2); opacity: 0.6; }
  100% { transform: translateX(0) scaleX(0.9); opacity: 0.35; }
}
@keyframes ac-pillar {
  0% { transform: translateY(0); }
  50% { transform: translateY(2px); }
  100% { transform: translateY(0); }
}

/* === storm-shipwreck === */
.scn-storm-shipwreck {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 30%, #3a3a4e 60%, #4a4a5e 100%),
    radial-gradient(ellipse at 50% 100%, #2a2a3e 0%, transparent 70%);
}
.scn-storm-shipwreck .ss-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #1e1e2e 0%, #2e2e3e 50%, #3e3e4e 100%);
  animation: ss-sky 8s ease-in-out infinite alternate;
}
.scn-storm-shipwreck .ss-clouds {
  position: absolute; top: 5%; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, rgba(80,80,100,0.5) 0%, transparent 100%);
  filter: blur(8px);
  animation: ss-clouds 30s linear infinite;
}
.scn-storm-shipwreck .ss-sea {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%);
  border-radius: 50% 50% 0 0 / 30% 30% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.6);
  animation: ss-sea 6s ease-in-out infinite;
}
.scn-storm-shipwreck .ss-wavefront {
  position: absolute; bottom: 35%; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, rgba(60,80,100,0.4) 0%, transparent 100%);
  border-radius: 40% 60% 0 0;
  filter: blur(4px);
  animation: ss-wavefront 4s ease-in-out infinite;
}
.scn-storm-shipwreck .ss-ship {
  position: absolute; bottom: 20%; left: 40%; width: 40px; height: 20px;
  background: linear-gradient(90deg, #3a2a1a 0%, #5a3a2a 50%, #3a2a1a 100%);
  border-radius: 0 0 30% 30%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: ss-ship 3s ease-in-out infinite;
  transform-origin: center bottom;
}
.scn-storm-shipwreck .ss-mast {
  position: absolute; bottom: 32%; left: 44%; width: 4px; height: 30px;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%);
  border-radius: 20%;
  animation: ss-mast 3s ease-in-out infinite;
  transform-origin: bottom center;
}
.scn-storm-shipwreck .ss-figure {
  position: absolute; bottom: 35%; left: 44%; width: 10px; height: 20px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ss-figure 2.5s ease-in-out infinite;
}
@keyframes ss-sky {
  0% { opacity: 0.7; filter: brightness(1); }
  50% { opacity: 0.85; filter: brightness(1.1); }
  100% { opacity: 0.75; filter: brightness(0.95); }
}
@keyframes ss-clouds {
  0% { transform: translateX(0); }
  50% { transform: translateX(-20px); }
  100% { transform: translateX(40px); }
}
@keyframes ss-sea {
  0% { transform: scaleY(1) translateY(0); }
  50% { transform: scaleY(1.03) translateY(-3px); }
  100% { transform: scaleY(0.98) translateY(0); }
}
@keyframes ss-wavefront {
  0% { transform: translateX(0) scaleY(1); opacity: 0.6; }
  50% { transform: translateX(-10px) scaleY(1.4); opacity: 0.9; }
  100% { transform: translateX(10px) scaleY(0.8); opacity: 0.5; }
}
@keyframes ss-ship {
  0% { transform: rotate(-3deg) translateY(0); }
  50% { transform: rotate(5deg) translateY(-2px); }
  100% { transform: rotate(-2deg) translateY(0); }
}
@keyframes ss-mast {
  0% { transform: rotate(-2deg) scaleY(1); }
  50% { transform: rotate(4deg) scaleY(1.05); }
  100% { transform: rotate(-1deg) scaleY(0.95); }
}
@keyframes ss-figure {
  0% { transform: translateY(0) rotate(-5deg); }
  30% { transform: translateY(-3px) rotate(5deg); }
  70% { transform: translateY(2px) rotate(-3deg); }
  100% { transform: translateY(0) rotate(0); }
}

.scn-aegeon-condemned {
  background: 
    linear-gradient(180deg, #2b1a3a 0%, #4a2a3a 30%, #8a5a3a 60%, #c08040 80%, #e0a050 100%),
    radial-gradient(ellipse at 50% 0%, #4a2a3a 0%, transparent 60%);
}
.scn-aegeon-condemned .bg-sky {
  position: absolute; top: 0; left: 20%; right: 20%; height: 50%;
  background: linear-gradient(180deg, #3a1a2a 0%, #6a3a2a 40%, #c08040 70%, #e0a050 100%);
  border-radius: 0 0 40% 40% / 0 0 20% 20%;
  animation: ae-sky 12s ease-in-out infinite alternate;
}
.scn-aegeon-condemned .window-frame {
  position: absolute; top: 0; left: 20%; right: 20%; height: 50%;
  border: 8px solid #4a2a1a;
  border-radius: 0 0 40% 40% / 0 0 20% 20%;
  box-shadow: inset: 0; /* cover same area but with border */
  pointer-events: none;
  box-shadow: inset 0 0 40px rgba(0,0,0,0.5);
}
.scn-aegeon-condemned .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 50%, #2a1a0a 100%);
  transform: perspective(400px) rotateX(10deg);
  transform-origin: bottom center;
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.6);
}
.scn-aegeon-condemned .column-left {
  position: absolute; bottom: 35%; left: 10%; width: 6%; height: 50%;
  background: linear-gradient(90deg, #6a4a3a 0%, #8a6a5a 30%, #6a4a3a 70%);
  border-radius: 4px 4px 0 0;
  box-shadow: 4px 0 12px rgba(0,0,0,0.4);
}
.scn-aegeon-condemned .column-right {
  position: absolute; bottom: 35%; right: 10%; width: 6%; height: 50%;
  background: linear-gradient(90deg, #6a4a3a 0%, #8a6a5a 30%, #6a4a3a 70%);
  border-radius: 4px 4px 0 0;
  box-shadow: -4px 0 12px rgba(0,0,0,0.4);
}
.scn-aegeon-condemned .figure {
  position: absolute; bottom: 32%; left: 50%; transform: translateX(-50%);
  width: 20px; height: 50px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ae-figure 6s ease-in-out infinite;
}
.scn-aegeon-condemned .throne {
  position: absolute; bottom: 35%; right: 15%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  transform: perspective(200px) rotateY(-5deg);
}
.scn-aegeon-condemned .light-ray {
  position: absolute; bottom: 35%; left: 25%; width: 50%; height: 30%;
  background: linear-gradient(135deg, rgba(224,160,80,0.3) 0%, transparent 60%);
  clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%);
  animation: ae-light 8s ease-in-out infinite alternate;
  filter: blur(4px);
}
@keyframes ae-sky {
  0% { opacity: 0.8; filter: brightness(1); }
  50% { opacity: 1; filter: brightness(1.1); }
  100% { opacity: 0.9; filter: brightness(0.9); }
}
@keyframes ae-figure {
  0% { transform: translateX(-50%) translateY(0) rotate(0deg); }
  50% { transform: translateX(-50%) translateY(-2px) rotate(1deg); }
  100% { transform: translateX(-50%) translateY(0) rotate(0deg); }
}
@keyframes ae-light {
  0% { opacity: 0.4; transform: scaleX(1); }
  50% { opacity: 0.7; transform: scaleX(1.05); }
  100% { opacity: 0.5; transform: scaleX(0.95); }
}
/* end per-scene blocks */
