/* style.css -- merged from per-tier scene CSS by wizard2.stages.build_deploy */
/* Scene root must fill its positioning container. */
.scn { position: absolute; inset: 0; }

/* ============ tier U ============ */
/* per-scene blocks (EXP step_scenes) */
.scn-caesar-eulogy {
  background:
    linear-gradient(180deg, #87ceeb 0%, #b0e0e6 20%, #f0e68c 40%, #ffdab9 60%, #f4a460 100%),
    radial-gradient(ellipse at 70% 30%, #fff0d0 0%, transparent 60%);
  background-blend-mode: normal;
}
.scn-caesar-eulogy .sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #b0c4de 0%, transparent 100%);
  animation: ce-sky 20s ease-in-out infinite alternate;
}
.scn-caesar-eulogy .sun {
  position: absolute; top: 18%; left: 72%; width: 50px; height: 50px;
  background: radial-gradient(circle, #fff5d0 0%, #ffdab9 50%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px rgba(255, 218, 185, 0.5);
  animation: ce-sun 12s ease-in-out infinite alternate;
}
.scn-caesar-eulogy .hills-back {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #7a9b7a 0%, #5a7a5a 100%);
  border-radius: 60% 40% 0 0 / 80% 70% 0 0;
  box-shadow: inset 0 4px 12px rgba(0,0,0,0.2);
  animation: ce-hillsb 30s ease-in-out infinite alternate;
}
.scn-caesar-eulogy .hills-mid {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 22%;
  background: linear-gradient(180deg, #6a8a6a 0%, #4a6a4a 100%);
  border-radius: 30% 70% 0 0 / 60% 80% 0 0;
  box-shadow: inset 0 6px 16px rgba(0,0,0,0.3);
  animation: ce-hillsm 25s ease-in-out infinite alternate;
}
.scn-caesar-eulogy .column-left {
  position: absolute; bottom: 15%; left: 15%; width: 22px; height: 70px;
  background: linear-gradient(180deg, #d2b48c 0%, #a08060 100%);
  border-radius: 4px 4px 2px 2px;
  box-shadow: 0 8px 16px rgba(0,0,0,0.3);
  animation: ce-column 6s ease-in-out infinite;
}
.scn-caesar-eulogy .figure {
  position: absolute; bottom: 18%; left: 40%; width: 24px; height: 48px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ce-figure 8s ease-in-out infinite;
}
.scn-caesar-eulogy .fig-basket {
  position: absolute; bottom: 21%; left: 48%; width: 20px; height: 14px;
  background: linear-gradient(180deg, #8b5e3c 0%, #5a3e2a 100%);
  border-radius: 30% 30% 40% 40% / 40% 40% 60% 60%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: ce-basket 10s ease-in-out infinite;
}
.scn-caesar-eulogy .cloud {
  position: absolute; top: 12%; left: -10%; width: 120px; height: 20px;
  background: linear-gradient(180deg, rgba(255,255,240,0.6) 0%, rgba(255,255,240,0.1) 100%);
  border-radius: 50%;
  filter: blur(8px);
  animation: ce-cloud 40s linear infinite;
}
.scn-caesar-eulogy .glow {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 70% 30%, rgba(255,218,185,0.15) 0%, transparent 70%);
  pointer-events: none;
  animation: ce-glow 15s ease-in-out infinite alternate;
}

@keyframes ce-sky {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes ce-sun {
  0% { transform: scale(1); box-shadow: 0 0 40px 15px rgba(255,218,185,0.4); }
  50% { transform: scale(1.05); box-shadow: 0 0 80px 30px rgba(255,218,185,0.6); }
  100% { transform: scale(0.98); box-shadow: 0 0 50px 20px rgba(255,218,185,0.5); }
}
@keyframes ce-hillsb {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes ce-hillsm {
  0% { transform: translateY(0) scaleX(1); }
  50% { transform: translateY(-3px) scaleX(1.01); }
  100% { transform: translateY(0) scaleX(1); }
}
@keyframes ce-column {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
}
@keyframes ce-figure {
  0% { transform: rotate(0deg) translateY(0); }
  25% { transform: rotate(1deg) translateY(-1px); }
  50% { transform: rotate(-1deg) translateY(0); }
  75% { transform: rotate(1deg) translateY(-1px); }
  100% { transform: rotate(0deg) translateY(0); }
}
@keyframes ce-basket {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(2deg); }
}
@keyframes ce-cloud {
  0% { transform: translateX(0); }
  100% { transform: translateX(110vw); }
}
@keyframes ce-glow {
  0% { opacity: 0.5; }
  50% { opacity: 1; }
  100% { opacity: 0.6; }
}

/* one block per scene id. Append to style.css. */
.scn-mecaenas-urges-peace { background: linear-gradient(180deg, #f5e6c8 0%, #e8d4a8 40%, #c9b07a 100%), radial-gradient(ellipse at 30% 20%, rgba(255,240,200,0.4) 0%, transparent 60%); }
.scn-mecaenas-urges-peace .bg-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(135deg, #d4c4a0 0%, #bfa880 100%); }
.scn-mecaenas-urges-peace .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #a08060 0%, #806040 100%); border-radius: 20% 20% 0 0; }
.scn-mecaenas-urges-peace .window-arch { position:absolute; top:15%; left:50%; width:120px; height:160px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 30%, #fffaee 0%, #e8d4a8 60%, #bfa880 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; box-shadow: inset 0 0 40px rgba(255,240,200,0.6); }
.scn-mecaenas-urges-peace .figure-left { position:absolute; bottom:28%; left:22%; width:24px; height:60px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mp-fig-left 8s ease-in-out infinite; }
.scn-mecaenas-urges-peace .figure-right { position:absolute; bottom:28%; right:22%; width:24px; height:60px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mp-fig-right 8s ease-in-out infinite 2s; }
.scn-mecaenas-urges-peace .olive-branch { position:absolute; bottom:45%; left:48%; width:40px; height:8px; background: linear-gradient(90deg, #6a8a4a 0%, #4a6a2a 100%); border-radius: 50% 50% 0 0 / 100% 100% 0 0; transform: rotate(-15deg); animation: mp-branch 6s ease-in-out infinite alternate; }
.scn-mecaenas-urges-peace .lamp-glow { position:absolute; top:20%; left:30%; width:20px; height:20px; background: radial-gradient(circle, #ffe080 0%, #cc8800 50%, transparent 70%); border-radius: 50%; box-shadow: 0 0 60px 30px rgba(255,224,128,0.3); animation: mp-lamp 4s ease-in-out infinite alternate; }
.scn-mecaenas-urges-peace .shadow-wash { position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,0) 60%, rgba(0,0,0,0.15) 100%); pointer-events: none; animation: mp-shadow 12s ease-in-out infinite; }
@keyframes mp-fig-left { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(4px) rotate(2deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes mp-fig-right { 0% { transform: translateX(0) rotate(2deg); } 50% { transform: translateX(-4px) rotate(-2deg); } 100% { transform: translateX(0) rotate(2deg); } }
@keyframes mp-branch { 0% { transform: rotate(-15deg) scaleX(0.9); } 50% { transform: rotate(-5deg) scaleX(1); } 100% { transform: rotate(-15deg) scaleX(0.9); } }
@keyframes mp-lamp { 0%,100% { opacity:0.7; transform: scale(0.9); } 50% { opacity:1; transform: scale(1.1); } }
@keyframes mp-shadow { 0%,100% { opacity:0.8; } 50% { opacity:1; } }

.scn-enobarbus-silenced { background: linear-gradient(180deg, #fdf4e0 0%, #ede0c8 40%, #d4bea0 100%), radial-gradient(ellipse at 50% 80%, rgba(200,180,150,0.3) 0%, transparent 50%); }
.scn-enobarbus-silenced .bg-room { position:absolute; inset:0 0 25% 0; background: linear-gradient(135deg, #e8dcc8 0%, #d0b890 100%); }
.scn-enobarbus-silenced .pillar-left { position:absolute; top:0; left:10%; width:20px; height:100%; background: linear-gradient(180deg, #c8b098 0%, #a08070 100%); border-radius: 10% / 50%; box-shadow: 6px 0 12px rgba(0,0,0,0.1); }
.scn-enobarbus-silenced .pillar-right { position:absolute; top:0; right:10%; width:20px; height:100%; background: linear-gradient(180deg, #c8b098 0%, #a08070 100%); border-radius: 10% / 50%; box-shadow: -6px 0 12px rgba(0,0,0,0.1); }
.scn-enobarbus-silenced .figure-center { position:absolute; bottom:25%; left:50%; width:36px; height:80px; background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: translateX(-50%); animation: es-fig 6s ease-in-out infinite; }
.scn-enobarbus-silenced .hand-over-mouth { position:absolute; bottom:55%; left:53%; width:16px; height:20px; background: radial-gradient(ellipse at 50% 30%, #b09080 0%, #806050 70%); border-radius: 50% 50% 30% 30%; transform: rotate(20deg); animation: es-hand 3s ease-in-out infinite alternate; }
.scn-enobarbus-silenced .stone-base { position:absolute; bottom:22%; left:40%; width:80px; height:10px; background: #b0a090; border-radius: 50%; box-shadow: 0 4px 8px rgba(0,0,0,0.3); }
.scn-enobarbus-silenced .speech-bubble-icon { position:absolute; bottom:50%; left:60%; width:18px; height:12px; background: #ffffff; border-radius: 50% 50% 0 50%; transform: rotate(10deg); opacity:0.6; animation: es-bubble 8s ease-in-out infinite; }
.scn-enobarbus-silenced .shadow-wash { position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.1) 100%); pointer-events: none; }
@keyframes es-fig { 0% { transform: translateX(-50%) rotate(0deg); } 25% { transform: translateX(-45%) rotate(-3deg); } 50% { transform: translateX(-50%) rotate(0deg); } 75% { transform: translateX(-55%) rotate(3deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes es-hand { 0% { transform: rotate(20deg) translateX(0); } 100% { transform: rotate(-10deg) translateX(4px); } }
@keyframes es-bubble { 0%,100% { opacity:0.3; transform: scale(0.8) rotate(10deg); } 50% { opacity:0.8; transform: scale(1.2) rotate(-5deg); } }

.scn-caesar-considers-marriage { background: linear-gradient(180deg, #f8efe0 0%, #eadda8 50%, #d4be90 100%), radial-gradient(ellipse at 30% 40%, rgba(255,240,200,0.3) 0%, transparent 60%); }
.scn-caesar-considers-marriage .bg-palace { position:absolute; inset:0 0 20% 0; background: linear-gradient(135deg, #e0d0b8 0%, #c0a880 100%); }
.scn-caesar-considers-marriage .window-throne { position:absolute; top:10%; left:50%; width:100px; height:140px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 40%, #fff8ee 0%, #d4be90 70%, #b09070 100%); border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%; box-shadow: inset 0 0 30px rgba(255,255,240,0.5); }
.scn-caesar-considers-marriage .figure-seated { position:absolute; bottom:20%; left:50%; width:30px; height:64px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: translateX(-50%) scale(0.95); animation: cm-thinker 7s ease-in-out infinite; }
.scn-caesar-considers-marriage .crown-float { position:absolute; bottom:60%; left:55%; width:20px; height:14px; background: linear-gradient(180deg, #d4a050 0%, #b08030 100%); border-radius: 50% 50% 0 0 / 100% 100% 0 0; box-shadow: 0 0 18px 4px rgba(212,160,80,0.5); animation: cm-crown 10s ease-in-out infinite; }
.scn-caesar-considers-marriage .ring-glow { position:absolute; bottom:35%; left:45%; width:8px; height:8px; background: radial-gradient(circle, #ffd080 0%, #cc8800 50%, transparent 70%); border-radius: 50%; box-shadow: 0 0 24px 8px rgba(255,208,128,0.4); animation: cm-ring 3s ease-in-out infinite alternate; }
.scn-caesar-considers-marriage .scroll-open { position:absolute; bottom:22%; left:35%; width:40px; height:14px; background: linear-gradient(180deg, #f0e0c0 0%, #d0b090 100%); border-radius: 10% 10% 50% 50%; transform: rotate(-30deg); animation: cm-scroll 8s ease-in-out infinite; }
.scn-caesar-considers-marriage .shadow-wash { position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,0) 60%, rgba(0,0,0,0.1) 100%); pointer-events: none; }
@keyframes cm-thinker { 0% { transform: translateX(-50%) scale(0.95) rotate(0deg); } 50% { transform: translateX(-50%) scale(1) rotate(2deg); } 100% { transform: translateX(-50%) scale(0.95) rotate(0deg); } }
@keyframes cm-crown { 0% { transform: translateY(0) rotate(-5deg); } 50% { transform: translateY(-6px) rotate(5deg); } 100% { transform: translateY(0) rotate(-5deg); } }
@keyframes cm-ring { 0% { opacity:0.6; transform: scale(0.8); } 50% { opacity:1; transform: scale(1.3); } 100% { opacity:0.7; transform: scale(0.9); } }
@keyframes cm-scroll { 0% { transform: rotate(-30deg) translateX(0); } 50% { transform: rotate(-20deg) translateX(4px); } 100% { transform: rotate(-30deg) translateX(0); } }

.scn-agrippa-proposes-octavia { background: linear-gradient(180deg, #e9f0dc 0%, #d4deb8 40%, #b0c098 100%), radial-gradient(ellipse at 70% 60%, rgba(220,240,200,0.3) 0%, transparent 50%); }
.scn-agrippa-proposes-octavia .bg-garden { position:absolute; inset:0 0 25% 0; background: linear-gradient(135deg, #d4e0b8 0%, #b0c088 100%); }
.scn-agrippa-proposes-octavia .grass { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #6a8a4a 0%, #4a6a2a 100%); border-radius: 60% 40% 0 0 / 40% 30% 0 0; }
.scn-agrippa-proposes-octavia .figure-left { position:absolute; bottom:22%; left:20%; width:26px; height:66px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ao-fig-left 7s ease-in-out infinite; }
.scn-agrippa-proposes-octavia .figure-right { position:absolute; bottom:22%; right:20%; width:26px; height:60px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ao-fig-right 7s ease-in-out infinite 3s; }
.scn-agrippa-proposes-octavia .offering-hand { position:absolute; bottom:30%; left:48%; width:14px; height:18px; background: radial-gradient(ellipse at 30% 40%, #b09080 0%, #806050 70%); border-radius: 50% 50% 30% 30%; transform: rotate(-10deg); animation: ao-hand 5s ease-in-out infinite alternate; }
.scn-agrippa-proposes-octavia .wreath-glow { position:absolute; bottom:50%; left:50%; width:16px; height:10px; background: radial-gradient(circle, #d4e0b0 0%, #80a060 50%, transparent 70%); border-radius: 50%; box-shadow: 0 0 30px 12px rgba(180,200,100,0.4); animation: ao-wreath 6s ease-in-out infinite; }
.scn-agrippa-proposes-octavia .shadow-wash { position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,0.1) 100%); pointer-events: none; animation: ao-shadow 10s ease-in-out infinite; }
@keyframes ao-fig-left { 0% { transform: translateX(0) rotate(2deg); } 50% { transform: translateX(4px) rotate(-1deg); } 100% { transform: translateX(0) rotate(2deg); } }
@keyframes ao-fig-right { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(-4px) rotate(1deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes ao-hand { 0% { transform: rotate(-10deg) translateY(0); } 100% { transform: rotate(10deg) translateY(-4px); } }
@keyframes ao-wreath { 0%,100% { opacity:0.6; transform: scale(0.9); } 50% { opacity:1; transform: scale(1.2); } }
@keyframes ao-shadow { 0%,100% { opacity:0.7; } 50% { opacity:1; } }

/* scene: alexas-brings-pearl */
.scn-alexas-brings-pearl {
  background:
    radial-gradient(ellipse at 60% 40%, #f5e6c8 0%, #e0c29a 40%, #c89a6e 70%, #8a5a3a 100%),
    linear-gradient(180deg, #f2d8b0 0%, #d4a86a 50%, #a06a3a 100%);
}
.scn-alexas-brings-pearl .bg-abp {
  position:absolute;inset:0;
  background:linear-gradient(135deg, #f2d8b0 0%, #e0b882 50%, #c89a6e 100%);
  animation:abp-bg 8s ease-in-out infinite alternate;
}
.scn-alexas-brings-pearl .table-abp {
  position:absolute;bottom:15%;left:20%;right:20%;height:12%;
  background:linear-gradient(180deg, #8a5a3a 0%, #6a3a1a 100%);
  border-radius:4px 4px 0 0;
  box-shadow:0 8px 20px rgba(0,0,0,.4);
}
.scn-alexas-brings-pearl .hand-abp {
  position:absolute;bottom:30%;left:45%;width:60px;height:80px;
  background:linear-gradient(180deg, #d4a070 0%, #b8825a 60%, #9a6a48 100%);
  border-radius:40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin:bottom center;
  animation:abp-hand 4s ease-in-out infinite;
}
.scn-alexas-brings-pearl .pearl-abp {
  position:absolute;bottom:48%;left:50%;width:22px;height:22px;
  background:radial-gradient(circle at 35% 35%, #fff8e0 0%, #f0d8a0 60%, #d0b070 100%);
  border-radius:50%;
  box-shadow:0 0 20px 6px rgba(240,216,160,.5), 0 0 40px 12px rgba(240,216,160,.3);
  animation:abp-pearl 3s ease-in-out infinite alternate;
}
.scn-alexas-brings-pearl .glow-abp {
  position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 50%, rgba(255,235,180,0.15) 0%, transparent 60%);
  animation:abp-glow 5s ease-in-out infinite alternate;
}
.scn-alexas-brings-pearl .shadow-abp {
  position:absolute;bottom:27%;left:43%;width:70px;height:10px;
  background:radial-gradient(ellipse, rgba(0,0,0,.3) 0%, transparent 70%);
  animation:abp-shadow 4s ease-in-out infinite;
}
@keyframes abp-bg { 0%{opacity:1} 50%{opacity:.8} 100%{opacity:1} }
@keyframes abp-hand { 0%{transform:translateY(0) rotate(-2deg)} 50%{transform:translateY(-4px) rotate(2deg)} 100%{transform:translateY(0) rotate(-2deg)} }
@keyframes abp-pearl { 0%{transform:scale(1) rotate(-5deg); box-shadow:0 0 20px 6px rgba(240,216,160,.5)} 50%{transform:scale(1.1) rotate(0); box-shadow:0 0 30px 12px rgba(255,235,180,.7)} 100%{transform:scale(1) rotate(5deg); box-shadow:0 0 20px 6px rgba(240,216,160,.5)} }
@keyframes abp-glow { 0%{opacity:.6} 50%{opacity:1} 100%{opacity:.6} }
@keyframes abp-shadow { 0%{opacity:.3; transform:scaleX(1)} 50%{opacity:.5; transform:scaleX(1.1)} 100%{opacity:.3; transform:scaleX(1)} }

/* scene: alexas-recites-message */
.scn-alexas-recites-message {
  background:
    radial-gradient(ellipse at 70% 30%, #f5e6c8 0%, #d4b080 40%, #a07850 100%),
    linear-gradient(180deg, #f2d8b0 0%, #c89a6e 60%, #8a5a3a 100%);
}
.scn-alexas-recites-message .bg-arm {
  position:absolute;inset:0;
  background:linear-gradient(135deg, #e8c8a0 0%, #d4a86a 50%, #b8825a 100%);
  animation:arm-bg 10s ease-in-out infinite alternate;
}
.scn-alexas-recites-message .throne-arm {
  position:absolute;bottom:20%;right:15%;width:120px;height:140px;
  background:linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%);
  border-radius:20% 20% 10% 10% / 30% 30% 10% 10%;
  box-shadow:0 10px 30px rgba(0,0,0,.3);
}
.scn-alexas-recites-message .figure-arm {
  position:absolute;bottom:25%;left:35%;width:50px;height:100px;
  background:linear-gradient(180deg, #d4a070 0%, #b8825a 50%, #8a5a3a 100%);
  border-radius:40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin:bottom center;
  animation:arm-figure 6s ease-in-out infinite;
}
.scn-alexas-recites-message .scroll-arm {
  position:absolute;bottom:38%;left:38%;width:40px;height:14px;
  background:linear-gradient(180deg, #f0e0c0 0%, #d0b890 100%);
  border-radius:20% 20% 30% 30%;
  box-shadow:0 2px 6px rgba(0,0,0,.2);
  transform:rotate(25deg);
  animation:arm-scroll 4s ease-in-out infinite alternate;
}
.scn-alexas-recites-message .floor-arm {
  position:absolute;bottom:15%;left:0;right:0;height:15%;
  background:linear-gradient(180deg, #8a5a3a 0%, #6a3a1a 100%);
  border-radius:40% 60% 0 0 / 20% 30% 0 0;
}
.scn-alexas-recites-message .pillar-left {
  position:absolute;bottom:15%;left:5%;width:16px;height:70%;
  background:linear-gradient(90deg, #c8a080 0%, #e0c0a0 50%, #c8a080 100%);
  border-radius:4px;
  box-shadow:2px 0 8px rgba(0,0,0,.2);
}
.scn-alexas-recites-message .pillar-right {
  position:absolute;bottom:15%;right:5%;width:16px;height:70%;
  background:linear-gradient(90deg, #c8a080 0%, #e0c0a0 50%, #c8a080 100%);
  border-radius:4px;
  box-shadow:-2px 0 8px rgba(0,0,0,.2);
}
@keyframes arm-bg { 0%{opacity:.9} 50%{opacity:.7} 100%{opacity:.9} }
@keyframes arm-figure { 0%{transform:translateY(0) rotate(-1deg)} 50%{transform:translateY(-3px) rotate(1deg)} 100%{transform:translateY(0) rotate(-1deg)} }
@keyframes arm-scroll { 0%{transform:rotate(20deg) translateY(0)} 50%{transform:rotate(30deg) translateY(-2px)} 100%{transform:rotate(20deg) translateY(0)} }

/* scene: cleopatra-asks-disposition */
.scn-cleopatra-asks-disposition {
  background:
    radial-gradient(ellipse at 50% 40%, #f5e6c8 0%, #d4a86a 40%, #a07850 100%),
    linear-gradient(180deg, #e8c8a0 0%, #c89a6e 60%, #8a5a3a 100%);
}
.scn-cleopatra-asks-disposition .bg-caq {
  position:absolute;inset:0;
  background:linear-gradient(135deg, #f2d8b0 0%, #d4a86a 50%, #b8825a 100%);
  animation:caq-bg 12s ease-in-out infinite alternate;
}
.scn-cleopatra-asks-disposition .couch-caq {
  position:absolute;bottom:18%;left:20%;right:20%;height:20%;
  background:linear-gradient(180deg, #8a5a3a 0%, #5a3a1a 100%);
  border-radius:30% 30% 10% 10% / 60% 60% 10% 10%;
  box-shadow:0 8px 20px rgba(0,0,0,.4);
}
.scn-cleopatra-asks-disposition .queen-caq {
  position:absolute;bottom:30%;left:30%;width:70px;height:90px;
  background:linear-gradient(180deg, #d4a070 0%, #b8825a 50%, #9a6a48 100%);
  border-radius:45% 45% 35% 35% / 55% 55% 45% 45%;
  transform-origin:bottom center;
  animation:caq-queen 5s ease-in-out infinite;
}
.scn-cleopatra-asks-disposition .charmian-caq {
  position:absolute;bottom:25%;right:30%;width:40px;height:70px;
  background:linear-gradient(180deg, #c8a080 0%, #a07860 50%, #805040 100%);
  border-radius:40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin:bottom center;
  animation:caq-charmian 6s ease-in-out infinite alternate;
}
.scn-cleopatra-asks-disposition .curtain-left {
  position:absolute;bottom:15%;left:2%;width:20px;height:80%;
  background:linear-gradient(180deg, #c85050 0%, #a03030 50%, #701010 100%);
  border-radius:4px;
  transform-origin:top;
  animation:caq-curtain 10s ease-in-out infinite alternate;
}
.scn-cleopatra-asks-disposition .curtain-right {
  position:absolute;bottom:15%;right:2%;width:20px;height:80%;
  background:linear-gradient(180deg, #c85050 0%, #a03030 50%, #701010 100%);
  border-radius:4px;
  transform-origin:top;
  animation:caq-curtain 10s ease-in-out infinite alternate-reverse;
}
.scn-cleopatra-asks-disposition .light-caq {
  position:absolute;top:5%;left:30%;width:40%;height:20%;
  background:radial-gradient(ellipse, rgba(255,235,180,0.2) 0%, transparent 70%);
  animation:caq-light 8s ease-in-out infinite alternate;
}
@keyframes caq-bg { 0%{opacity:.8} 50%{opacity:1} 100%{opacity:.8} }
@keyframes caq-queen { 0%{transform:translateY(0) rotate(-1deg)} 50%{transform:translateY(-2px) rotate(1deg)} 100%{transform:translateY(0) rotate(-1deg)} }
@keyframes caq-charmian { 0%{transform:translateY(0) rotate(0)} 50%{transform:translateY(-3px) rotate(2deg)} 100%{transform:translateY(0) rotate(0)} }
@keyframes caq-curtain { 0%{transform:scaleY(1)} 50%{transform:scaleY(0.95)} 100%{transform:scaleY(1)} }
@keyframes caq-light { 0%{opacity:.4} 50%{opacity:.8} 100%{opacity:.4} }

/* scene: cleopatra-rebukes-charmian */
.scn-cleopatra-rebukes-charmian {
  background:
    radial-gradient(ellipse at 50% 30%, #f5e6c8 0%, #d4a86a 40%, #a07850 100%),
    linear-gradient(180deg, #e8c8a0 0%, #c89a6e 60%, #8a5a3a 100%);
}
.scn-cleopatra-rebukes-charmian .bg-crc {
  position:absolute;inset:0;
  background:linear-gradient(135deg, #f2d8b0 0%, #d4a86a 50%, #b8825a 100%);
  animation:crc-bg 3s ease-in-out infinite alternate;
}
.scn-cleopatra-rebukes-charmian .floor-crc {
  position:absolute;bottom:15%;left:0;right:0;height:15%;
  background:linear-gradient(180deg, #8a5a3a 0%, #5a3a1a 100%);
  border-radius:50% 50% 0 0 / 30% 30% 0 0;
}
.scn-cleopatra-rebukes-charmian .cleo-crc {
  position:absolute;bottom:25%;left:25%;width:65px;height:100px;
  background:linear-gradient(180deg, #d4a070 0%, #b8825a 50%, #9a6a48 100%);
  border-radius:40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin:bottom center;
  animation:crc-cleo 0.8s ease-in-out infinite alternate;
}
.scn-cleopatra-rebukes-charmian .charmian-crc {
  position:absolute;bottom:20%;right:25%;width:40px;height:70px;
  background:linear-gradient(180deg, #c8a080 0%, #a07860 50%, #805040 100%);
  border-radius:40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin:bottom center;
  animation:crc-charmian 1.2s ease-in-out infinite alternate;
}
.scn-cleopatra-rebukes-charmian .arm-crc {
  position:absolute;bottom:50%;left:28%;width:14px;height:40px;
  background:linear-gradient(180deg, #d4a070 0%, #b8825a 100%);
  border-radius:20% 20% 30% 30%;
  transform-origin:bottom center;
  animation:crc-arm 0.6s ease-in-out infinite alternate;
}
.scn-cleopatra-rebukes-charmian .shadow-crc {
  position:absolute;bottom:15%;left:20%;right:20%;height:10%;
  background:radial-gradient(ellipse, rgba(0,0,0,.3) 0%, transparent 70%);
  animation:crc-shadow 1s ease-in-out infinite alternate;
}
.scn-cleopatra-rebukes-charmian .spark-crc-a {
  position:absolute;top:40%;left:40%;width:8px;height:8px;
  background:radial-gradient(circle, #fff4c0 0%, #e8b840 60%, transparent 100%);
  border-radius:50%;
  animation:crc-spark1 0.4s ease-in-out infinite alternate;
}
.scn-cleopatra-rebukes-charmian .spark-crc-b {
  position:absolute;top:45%;left:55%;width:6px;height:6px;
  background:radial-gradient(circle, #fff4c0 0%, #e8b840 60%, transparent 100%);
  border-radius:50%;
  animation:crc-spark2 0.5s ease-in-out infinite alternate 0.1s;
}
@keyframes crc-bg { 0%{opacity:.9} 50%{opacity:.7} 100%{opacity:.9} }
@keyframes crc-cleo { 0%{transform:translateY(0) rotate(-3deg)} 100%{transform:translateY(-4px) rotate(3deg)} }
@keyframes crc-charmian { 0%{transform:translateY(0) rotate(0) scale(1)} 50%{transform:translateY(2px) rotate(-5deg) scale(0.95)} 100%{transform:translateY(0) rotate(0) scale(1)} }
@keyframes crc-arm { 0%{transform:rotate(-30deg) translateX(0)} 100%{transform:rotate(30deg) translateX(4px)} }
@keyframes crc-shadow { 0%{opacity:.2} 100%{opacity:.4} }
@keyframes crc-spark1 { 0%{transform:scale(1) translateY(0)} 100%{transform:scale(1.5) translateY(-8px)} }
@keyframes crc-spark2 { 0%{transform:scale(1) translateY(0)} 100%{transform:scale(1.3) translateY(-6px)} }

/* cleopatra-accuses-antonius */
.scn-cleopatra-accuses-antonius {
  background: linear-gradient(180deg, #d4c9a8 0%, #b8a78d 40%, #8c7a5e 100%), radial-gradient(ellipse at 50% 30%, #f0e0c0 0%, transparent 70%);
}
.scn-cleopatra-accuses-antonius .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #c8b89a 0%, #a08d70 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.15);
  animation: caa-wall 20s ease-in-out infinite alternate;
}
.scn-cleopatra-accuses-antonius .floor {
  position: absolute; inset: 70% 0 0 0;
  background: linear-gradient(180deg, #6b5a45 0%, #4a3c2e 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.4);
  animation: caa-floor 15s ease-in-out infinite;
}
.scn-cleopatra-accuses-antonius .throne-back {
  position: absolute; bottom: 35%; left: 50%; width: 80px; height: 100px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #8a7a60 0%, #5c4e3a 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 10% 10%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  animation: caa-throne 6s ease-in-out infinite;
}
.scn-cleopatra-accuses-antonius .throne-seat {
  position: absolute; bottom: 30%; left: 50%; width: 70px; height: 20px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #a09278 0%, #7a6a54 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: caa-throne 6s ease-in-out infinite 0.2s;
}
.scn-cleopatra-accuses-antonius .figure-queen {
  position: absolute; bottom: 25%; left: 40%; width: 24px; height: 55px;
  background: linear-gradient(180deg, #6b3a2a 0%, #4a2418 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: 0 0 10px rgba(0,0,0,0.3);
  animation: caa-walk 5s ease-in-out infinite;
}
.scn-cleopatra-accuses-antonius .figure-antonius {
  position: absolute; bottom: 25%; right: 35%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #4a3a30 0%, #2a1e16 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: 0 0 10px rgba(0,0,0,0.3);
  animation: caa-walk 5s ease-in-out infinite 1.5s;
}
.scn-cleopatra-accuses-antonius .banner {
  position: absolute; top: 12%; left: 20%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #b8553d 0%, #8a3a2a 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  transform: skewX(-5deg);
  animation: caa-banner 8s ease-in-out infinite alternate;
}
.scn-cleopatra-accuses-antonius .sunbeam {
  position: absolute; top: 0; left: 30%; width: 80px; height: 100%;
  background: linear-gradient(180deg, rgba(255,240,200,0.25) 0%, rgba(255,240,200,0) 100%);
  filter: blur(10px);
  transform: rotate(15deg);
  animation: caa-sunbeam 12s ease-in-out infinite alternate;
}
@keyframes caa-wall { 0%,100% { opacity: 0.9 } 50% { opacity: 1 } }
@keyframes caa-floor { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } }
@keyframes caa-throne { 0%,100% { transform: translateX(-50%) translateY(0) } 50% { transform: translateX(-50%) translateY(-2px) } }
@keyframes caa-walk { 0% { transform: translateX(0) rotate(-2deg) } 25% { transform: translateX(8px) rotate(2deg) } 50% { transform: translateX(0) rotate(-2deg) } 75% { transform: translateX(-8px) rotate(2deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes caa-banner { 0% { transform: skewX(-10deg) } 100% { transform: skewX(5deg) } }
@keyframes caa-sunbeam { 0% { opacity: 0.3; transform: rotate(10deg) } 100% { opacity: 0.7; transform: rotate(20deg) } }

/* cleopatra-mocks-vows */
.scn-cleopatra-mocks-vows {
  background: linear-gradient(180deg, #d9cbb0 0%, #b5a58a 30%, #7a6a54 70%), radial-gradient(ellipse at 50% 30%, #f0dcc0 0%, transparent 60%);
}
.scn-cleopatra-mocks-vows .bg-arch {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 80%, #c8b8a0 0%, transparent 60%);
  opacity: 0.6;
  animation: cmv-bg-arch 20s ease-in-out infinite;
}
.scn-cleopatra-mocks-vows .column-left {
  position: absolute; left: 10%; top: 0; bottom: 0; width: 20px;
  background: linear-gradient(180deg, #a08a70 0%, #7a6a54 100%);
  border-radius: 10% / 5%;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.2);
  animation: cmv-column 10s ease-in-out infinite alternate;
}
.scn-cleopatra-mocks-vows .column-right {
  position: absolute; right: 10%; top: 0; bottom: 0; width: 20px;
  background: linear-gradient(180deg, #a08a70 0%, #7a6a54 100%);
  border-radius: 10% / 5%;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.2);
  animation: cmv-column 10s ease-in-out infinite alternate 2s;
}
.scn-cleopatra-mocks-vows .figure-hand {
  position: absolute; bottom: 30%; left: 50%; width: 20px; height: 30px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6b3a2a 0%, #4a2418 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: cmv-hand 4s ease-in-out infinite;
}
.scn-cleopatra-mocks-vows .wreath {
  position: absolute; top: 25%; left: 50%; width: 50px; height: 30px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #c8a050 0%, #8a7830 100%);
  border-radius: 50% 50% 30% 30%;
  filter: blur(2px);
  animation: cmv-wreath 6s ease-in-out infinite alternate;
}
.scn-cleopatra-mocks-vows .light-spot {
  position: absolute; top: 10%; left: 40%; width: 100px; height: 200px;
  background: radial-gradient(ellipse, rgba(255,230,180,0.3) 0%, transparent 70%);
  filter: blur(15px);
  animation: cmv-light 8s ease-in-out infinite alternate;
}
@keyframes cmv-bg-arch { 0%,100% { opacity: 0.5 } 50% { opacity: 0.7 } }
@keyframes cmv-column { 0% { transform: scaleY(1) } 100% { transform: scaleY(1.05) } }
@keyframes cmv-hand { 0% { transform: translateX(-50%) rotate(-10deg) } 25% { transform: translateX(-50%) rotate(5deg) } 50% { transform: translateX(-50%) rotate(-5deg) } 75% { transform: translateX(-50%) rotate(10deg) } 100% { transform: translateX(-50%) rotate(-3deg) } }
@keyframes cmv-wreath { 0% { transform: translateX(-50%) rotate(0) scale(1) } 100% { transform: translateX(-50%) rotate(15deg) scale(0.95) } }
@keyframes cmv-light { 0% { opacity: 0.3; transform: scale(1) } 100% { opacity: 0.6; transform: scale(1.2) } }

/* antony-pleads-necessity */
.scn-antony-pleads-necessity {
  background: linear-gradient(180deg, #d4c5a5 0%, #b8a78a 40%, #7a6a54 100%), radial-gradient(ellipse at 50% 30%, #eedcc0 0%, transparent 60%);
}
.scn-antony-pleads-necessity .wall-shadow {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(0,0,0,0.15) 100%);
  animation: apn-shadow 12s ease-in-out infinite;
}
.scn-antony-pleads-necessity .window-arch {
  position: absolute; top: 8%; right: 25%; width: 80px; height: 100px;
  background: radial-gradient(ellipse at 50% 0%, #c8b896 0%, #8a7a60 100%);
  border-radius: 50% 50% 0 0 / 40% 40% 0 0;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.3);
  animation: apn-window 18s ease-in-out infinite alternate;
}
.scn-antony-pleads-necessity .figure-antony {
  position: absolute; bottom: 25%; right: 35%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #4a3a30 0%, #2a1e16 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: apn-figure 5s ease-in-out infinite;
}
.scn-antony-pleads-necessity .figure-cleopatra {
  position: absolute; bottom: 25%; left: 35%; width: 24px; height: 55px;
  background: linear-gradient(180deg, #6b3a2a 0%, #4a2418 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: apn-figure 5s ease-in-out infinite 1.5s;
}
.scn-antony-pleads-necessity .table {
  position: absolute; bottom: 20%; left: 50%; width: 90px; height: 14px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #7a6a54 0%, #5c4e3a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: apn-table 8s ease-in-out infinite;
}
.scn-antony-pleads-necessity .scroll {
  position: absolute; bottom: 30%; left: 48%; width: 30px; height: 50px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #c8b896 0%, #a09278 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: apn-scroll 6s ease-in-out infinite alternate;
}
.scn-antony-pleads-necessity .candle {
  position: absolute; bottom: 28%; left: 55%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #e0c080 0%, #c8a05a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 12px 4px rgba(200,160,90,0.6);
  animation: apn-candle 3s ease-in-out infinite;
}
@keyframes apn-shadow { 0%,100% { opacity: 0.2 } 50% { opacity: 0.4 } }
@keyframes apn-window { 0% { transform: scaleY(1) } 100% { transform: scaleY(0.95) } }
@keyframes apn-figure { 0% { transform: translateY(0) rotate(0) } 25% { transform: translateY(-2px) rotate(-5deg) } 50% { transform: translateY(0) rotate(0) } 75% { transform: translateY(-2px) rotate(5deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes apn-table { 0%,100% { transform: translateX(-50%) scaleX(1) } 50% { transform: translateX(-50%) scaleX(1.02) } }
@keyframes apn-scroll { 0% { transform: translateX(-50%) rotate(0) } 100% { transform: translateX(-50%) rotate(3deg) } }
@keyframes apn-candle { 0%,100% { transform: scaleY(1); opacity: 0.9 } 50% { transform: scaleY(1.1); opacity: 1 } }

/* cleopatra-mocks-death-news */
.scn-cleopatra-mocks-death-news {
  background: linear-gradient(180deg, #c8b89a 0%, #a08d70 30%, #7a6a54 70%), radial-gradient(ellipse at 50% 30%, #e8d4b8 0%, transparent 60%);
}
.scn-cleopatra-mocks-death-news .bg-pillar {
  position: absolute; left: 50%; top: 0; bottom: 0; width: 30px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #9a8a72 0%, #6b5a45 100%);
  box-shadow: 0 0 20px rgba(0,0,0,0.2);
  animation: cmd-pillar 10s ease-in-out infinite alternate;
}
.scn-cleopatra-mocks-death-news .floor-tile {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: repeating-linear-gradient(90deg, #6b5a45 0px, #5c4e3a 10px, #6b5a45 20px, #4a3c2e 30px);
  animation: cmd-floor 12s linear infinite;
}
.scn-cleopatra-mocks-death-news .figure-cleopatra {
  position: absolute; bottom: 25%; left: 50%; width: 24px; height: 55px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6b3a2a 0%, #4a2418 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: cmd-figure 4s ease-in-out infinite;
}
.scn-cleopatra-mocks-death-news .messenger-shadow {
  position: absolute; bottom: 20%; right: 20%; width: 20px; height: 40px;
  background: rgba(0,0,0,0.15);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  filter: blur(3px);
  animation: cmd-shadow 6s ease-in-out infinite;
}
.scn-cleopatra-mocks-death-news .scroll-roll {
  position: absolute; bottom: 30%; left: 60%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #c8b896 0%, #a09278 100%);
  border-radius: 20% 20% 10% 10%;
  transform: rotate(15deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: cmd-scroll 8s ease-in-out infinite;
}
.scn-cleopatra-mocks-death-news .chain {
  position: absolute; top: 20%; left: 48%; width: 4px; height: 80px;
  background: linear-gradient(180deg, #a08a70 0%, #6b5a45 100%);
  border-radius: 50%;
  animation: cmd-chain 3s ease-in-out infinite alternate;
}
@keyframes cmd-pillar { 0% { transform: translateX(-50%) scaleY(1) } 100% { transform: translateX(-50%) scaleY(1.03) } }
@keyframes cmd-floor { 0% { background-position: 0 0 } 100% { background-position: 30px 0 } }
@keyframes cmd-figure { 0%,100% { transform: translateX(-50%) rotate(0) } 25% { transform: translateX(-50%) rotate(-4deg) } 75% { transform: translateX(-50%) rotate(4deg) } }
@keyframes cmd-shadow { 0%,100% { opacity: 0.2; transform: scale(1) } 50% { opacity: 0.5; transform: scale(1.1) } }
@keyframes cmd-scroll { 0% { transform: rotate(10deg) } 100% { transform: rotate(25deg) } }
@keyframes cmd-chain { 0% { transform: scaleY(1) } 100% { transform: scaleY(0.9) } }

.scn-enobarbus-repents { background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, #0e0e1e 100%), radial-gradient(ellipse at 50% 0%, #3a3a4e 0%, transparent 60%); }
.scn-enobarbus-repents .er-sky   { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #3a3a4e 0%, transparent 100%); animation: er-sky 12s ease-in-out infinite alternate; }
.scn-enobarbus-repents .er-ground{ position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #1a1a1e 0%, #0a0a0e 100%); border-radius: 20% 20% 0 0 / 40% 40% 0 0; box-shadow: inset 0 4px 12px rgba(0,0,0,.6); }
.scn-enobarbus-repents .er-tree  { position:absolute; bottom:30%; left:30%; width:6px; height:60%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a12 100%); border-radius: 2px; transform-origin: bottom center; animation: er-tree 8s ease-in-out infinite; }
.scn-enobarbus-repents .er-tree::before { content:''; position:absolute; top:0; left:-15px; width:36px; height:18px; background: radial-gradient(ellipse at center, #1a1a2a 0%, transparent 70%); border-radius:50%; filter: blur(2px); }
.scn-enobarbus-repents .er-figure{ position:absolute; bottom:30%; left:42%; width:20px; height:36px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a12 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: er-figure 6s ease-in-out infinite; }
.scn-enobarbus-repents .er-shadow{ position:absolute; bottom:30%; left:42%; width:24px; height:4px; background: rgba(0,0,0,.4); border-radius:50%; transform: translateX(-2px); filter: blur(2px); animation: er-shadow 6s ease-in-out infinite; }
.scn-enobarbus-repents .er-cloud { position:absolute; top:12%; left:60%; width:70px; height:14px; background: linear-gradient(180deg, rgba(60,60,70,.5) 0%, transparent 100%); border-radius:50%; filter: blur(5px); animation: er-cloud 40s linear infinite; }
@keyframes er-sky    { 0% { opacity:.7 } 50% { opacity:.9 } 100% { opacity:.6 } }
@keyframes er-tree   { 0% { transform: rotate(-2deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-1deg) } }
@keyframes er-figure { 0% { transform: translateY(0) rotate(-1deg) } 25% { transform: translateY(-1px) rotate(0deg) } 50% { transform: translateY(0) rotate(1deg) } 75% { transform: translateY(-2px) rotate(0deg) } 100% { transform: translateY(0) rotate(-1deg) } }
@keyframes er-shadow { 0% { width:24px; opacity:.4 } 50% { width:20px; opacity:.5 } 100% { width:24px; opacity:.4 } }
@keyframes er-cloud  { 0% { transform: translateX(0) } 100% { transform: translateX(-120vw) } }

.scn-soldier-brings-treasure { background: linear-gradient(180deg, #5a4a3a 0%, #4a3a2a 50%, #3a2a1a 100%), radial-gradient(ellipse at 50% 100%, #6a5a4a 0%, transparent 70%); }
.scn-soldier-brings-treasure .sbt-sky   { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); animation: sbt-sky 14s ease-in-out infinite alternate; }
.scn-soldier-brings-treasure .sbt-tent  { position:absolute; bottom:25%; left:60%; width:90px; height:80px; background: linear-gradient(180deg, #6a5a3a 0%, #4a3a1a 100%); border-radius: 50% 50% 10% 10% / 80% 80% 10% 10%; box-shadow: 0 4px 12px rgba(0,0,0,.5); }
.scn-soldier-brings-treasure .sbt-flap  { position:absolute; bottom:25%; left:62%; width:40px; height:30px; background: linear-gradient(180deg, #7a6a4a 0%, #5a4a2a 100%); border-radius: 20% 20% 30% 30% / 60% 60% 40% 40%; transform-origin: top left; animation: sbt-flap 4s ease-in-out infinite alternate; }
.scn-soldier-brings-treasure .sbt-soldier{ position:absolute; bottom:20%; left:30%; width:22px; height:44px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sbt-walk 5s ease-in-out infinite; }
.scn-soldier-brings-treasure .sbt-chest { position:absolute; bottom:22%; left:33%; width:20px; height:14px; background: linear-gradient(180deg, #8a6a3a 0%, #6a4a1a 100%); border-radius: 10% 10% 20% 20%; box-shadow: 0 2px 6px rgba(0,0,0,.5); animation: sbt-chest 5s ease-in-out infinite; }
.scn-soldier-brings-treasure .sbt-ground{ position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 30% 30% 0 0 / 40% 40% 0 0; box-shadow: inset 0 6px 18px rgba(0,0,0,.4); }
@keyframes sbt-sky    { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.7 } }
@keyframes sbt-flap   { 0% { transform: rotate(0deg) scaleX(1) } 50% { transform: rotate(8deg) scaleX(0.9) } 100% { transform: rotate(0deg) scaleX(1) } }
@keyframes sbt-walk   { 0% { transform: translateX(0) translateY(0) rotate(-1deg) } 25% { transform: translateX(8px) translateY(-2px) rotate(1deg) } 50% { transform: translateX(16px) translateY(0) rotate(-1deg) } 75% { transform: translateX(24px) translateY(-1px) rotate(1deg) } 100% { transform: translateX(32px) translateY(0) rotate(0deg) } }
@keyframes sbt-chest  { 0% { transform: translate(0,0) rotate(-2deg) } 25% { transform: translate(2px,-1px) rotate(1deg) } 50% { transform: translate(4px,0) rotate(-1deg) } 75% { transform: translate(6px,-1px) rotate(2deg) } 100% { transform: translate(8px,0) rotate(0deg) } }

.scn-enobarbus-despairs { background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1e 50%, #050510 100%), radial-gradient(ellipse at 50% 0%, #2a2a3e 0%, transparent 60%); }
.scn-enobarbus-despairs .ed-sky   { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%); animation: ed-sky 10s ease-in-out infinite alternate; }
.scn-enobarbus-despairs .ed-ditch { position:absolute; bottom:0; left:20%; right:20%; height:50%; background: linear-gradient(180deg, #0e0e1e 0%, #050510 100%); border-radius: 0 0 40% 40% / 0 0 80% 80%; box-shadow: inset 0 20px 30px rgba(0,0,0,.8); }
.scn-enobarbus-despairs .ed-figure{ position:absolute; bottom:20%; left:45%; width:24px; height:38px; background: linear-gradient(180deg, #0e0e1a 0%, #050510 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ed-figure 7s ease-in-out infinite; }
.scn-enobarbus-despairs .ed-arm   { position:absolute; bottom:30%; left:43%; width:6px; height:20px; background: linear-gradient(180deg, #0e0e1a 0%, #050510 100%); border-radius: 2px; transform-origin: top center; animation: ed-arm 5s ease-in-out infinite; }
.scn-enobarbus-despairs .ed-storm { position:absolute; top:10%; left:10%; width:120%; height:20px; background: linear-gradient(180deg, rgba(60,60,80,.3) 0%, transparent 100%); border-radius:50%; filter: blur(10px); animation: ed-storm 8s linear infinite; }
.scn-enobarbus-despairs .ed-flash { position:absolute; inset:0; background: rgba(100,100,140,.15); opacity:0; animation: ed-flash 3s ease-in-out infinite; }
@keyframes ed-sky    { 0% { opacity:.5 } 50% { opacity:.8 } 100% { opacity:.4 } }
@keyframes ed-figure { 0% { transform: translateY(0) rotate(-1deg) } 30% { transform: translateY(2px) rotate(1deg) } 60% { transform: translateY(-1px) rotate(-2deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes ed-arm    { 0% { transform: rotate(0deg) } 20% { transform: rotate(-30deg) } 50% { transform: rotate(-45deg) } 80% { transform: rotate(-20deg) } 100% { transform: rotate(0deg) } }
@keyframes ed-storm  { 0% { transform: translateX(-10%) } 50% { transform: translateX(10%) } 100% { transform: translateX(-10%) } }
@keyframes ed-flash  { 0%,100% { opacity:0 } 10% { opacity:.6 } 20% { opacity:0 } }

.scn-agrippa-retires { background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 50%, #1a1a2a 100%), radial-gradient(ellipse at 50% 100%, #4a4a5a 0%, transparent 70%); }
.scn-agrippa-retires .ar-sky   { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 100%); animation: ar-sky 15s ease-in-out infinite alternate; }
.scn-agrippa-retires .ar-ground{ position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 10% 10% 0 0 / 20% 20% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.5); }
.scn-agrippa-retires .ar-tent  { position:absolute; bottom:25%; left:60%; width:60px; height:50px; background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%); border-radius: 40% 40% 10% 10% / 70% 70% 10% 10%; box-shadow: 0 4px 12px rgba(0,0,0,.6); animation: ar-tent 6s ease-in-out infinite; }
.scn-agrippa-retires .ar-fig1  { position:absolute; bottom:22%; left:35%; width:20px; height:42px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ar-walk1 4s ease-in-out infinite; }
.scn-agrippa-retires .ar-fig2  { position:absolute; bottom:20%; left:40%; width:18px; height:36px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ar-walk2 4s ease-in-out infinite 0.2s; }
.scn-agrippa-retires .ar-spear { position:absolute; bottom:24%; left:48%; width:3px; height:30px; background: linear-gradient(180deg, #4a4a5a 0%, #1a1a2a 100%); border-radius: 1px; transform-origin: bottom center; animation: ar-spear 4s ease-in-out infinite; }
.scn-agrippa-retires .ar-flag  { position:absolute; bottom:30%; left:72%; width:10px; height:20px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 2px; transform-origin: bottom center; animation: ar-flag 3s ease-in-out infinite alternate; }
@keyframes ar-sky   { 0% { opacity:.7 } 50% { opacity:.9 } 100% { opacity:.6 } }
@keyframes ar-tent  { 0% { transform: scaleY(1) } 50% { transform: scaleY(0.95) } 100% { transform: scaleY(1) } }
@keyframes ar-walk1 { 0% { transform: translateX(0) translateY(0) rotate(-1deg) } 25% { transform: translateX(6px) translateY(-2px) rotate(0deg) } 50% { transform: translateX(12px) translateY(0) rotate(1deg) } 75% { transform: translateX(18px) translateY(-1px) rotate(0deg) } 100% { transform: translateX(24px) translateY(0) rotate(-1deg) } }
@keyframes ar-walk2 { 0% { transform: translateX(0) translateY(0) rotate(-1deg) } 25% { transform: translateX(5px) translateY(-1px) rotate(0deg) } 50% { transform: translateX(10px) translateY(0) rotate(1deg) } 75% { transform: translateX(15px) translateY(-1px) rotate(0deg) } 100% { transform: translateX(20px) translateY(0) rotate(-1deg) } }
@keyframes ar-spear { 0% { transform: rotate(-2deg) } 25% { transform: rotate(1deg) } 50% { transform: rotate(-1deg) } 75% { transform: rotate(2deg) } 100% { transform: rotate(-2deg) } }
@keyframes ar-flag  { 0% { transform: rotate(-5deg) } 50% { transform: rotate(5deg) } 100% { transform: rotate(-3deg) } }

/* Scene: menas-doubts-alliance */
.scn-menas-doubts-alliance {
  background: 
    linear-gradient(180deg, #3a2a1a 0%, #6a5a3a 30%, #8a7a4a 60%, #5a4a2a 100%),
    radial-gradient(ellipse at 50% 30%, #9a8a5a 0%, transparent 70%);
}
.scn-menas-doubts-alliance .room-wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #7a6a4a 0%, #5a4a2a 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.5);
}
.scn-menas-doubts-alliance .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #4a3a1a 0%, #2a1a0a 100%);
  border-top: 2px solid #6a5a3a;
}
.scn-menas-doubts-alliance .table {
  position: absolute; bottom: 25%; left: 50%; width: 120px; height: 30px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #8a7a4a 0%, #5a4a2a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
  animation: md-table 12s ease-in-out infinite alternate;
}
.scn-menas-doubts-alliance .map {
  position: absolute; bottom: 28%; left: 50%; width: 80px; height: 20px;
  transform: translateX(-50%) rotate(2deg);
  background: linear-gradient(135deg, #b8a87a 0%, #9a8a5a 50%, #a89868 100%);
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  animation: md-map 4s ease-in-out infinite alternate;
}
.scn-menas-doubts-alliance .figure-left {
  position: absolute; bottom: 20%; left: 30%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: md-fig-left 3s ease-in-out infinite;
}
.scn-menas-doubts-alliance .figure-right {
  position: absolute; bottom: 20%; right: 30%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: md-fig-right 3s ease-in-out infinite 0.5s;
}
.scn-menas-doubts-alliance .candle {
  position: absolute; bottom: 30%; left: 50%; width: 6px; height: 18px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #e0c080 0%, #b09055 100%);
  border-radius: 2px 2px 0 0;
  box-shadow: 0 0 10px #e0c080;
}
.scn-menas-doubts-alliance .candle-glow {
  position: absolute; bottom: 30%; left: 50%; width: 80px; height: 80px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(224,192,128,0.4) 0%, transparent 70%);
  animation: md-glow 2s ease-in-out infinite alternate;
}
.scn-menas-doubts-alliance .shadow-veil {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 60%, transparent 30%, rgba(0,0,0,0.3) 100%);
  pointer-events: none;
}
@keyframes md-table {
  0% { transform: translateX(-50%) rotate(0deg); }
  50% { transform: translateX(-50%) rotate(1deg) translateY(-2px); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes md-map {
  0% { transform: translateX(-50%) rotate(2deg) scale(1); }
  50% { transform: translateX(-50%) rotate(1deg) scale(1.02); }
  100% { transform: translateX(-50%) rotate(2deg) scale(1); }
}
@keyframes md-fig-left {
  0% { transform: translateX(0) rotate(-2deg); }
  25% { transform: translateX(4px) rotate(2deg); }
  50% { transform: translateX(0) rotate(-1deg); }
  75% { transform: translateX(-4px) rotate(1deg); }
  100% { transform: translateX(0) rotate(-2deg); }
}
@keyframes md-fig-right {
  0% { transform: translateX(0) rotate(2deg); }
  25% { transform: translateX(-4px) rotate(-2deg); }
  50% { transform: translateX(0) rotate(1deg); }
  75% { transform: translateX(4px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(2deg); }
}
@keyframes md-glow {
  0% { opacity: 0.7; transform: translate(-50%, -50%) scale(1); }
  50% { opacity: 1; transform: translate(-50%, -50%) scale(1.1); }
  100% { opacity: 0.8; transform: translate(-50%, -50%) scale(0.9); }
}

/* Scene: enobarbus-advises-boldness */
.scn-enobarbus-advises-boldness {
  background: 
    linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 50%, #4a3a1a 100%),
    radial-gradient(ellipse at 50% 20%, #9a8a6a 0%, transparent 60%);
}
.scn-enobarbus-advises-boldness .bg-arch {
  position: absolute; inset: 0 10% 30% 10%;
  background: linear-gradient(180deg, #a09070 0%, #7a6a4a 100%);
  border-radius: 50% 50% 0 0;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.4);
}
.scn-enobarbus-advises-boldness .column-left {
  position: absolute; bottom: 30%; left: 15%; width: 20px; height: 60%;
  background: linear-gradient(90deg, #8a7a5a 0%, #6a5a3a 100%);
  border-radius: 4px;
  box-shadow: inset -5px 0 10px rgba(0,0,0,0.3);
}
.scn-enobarbus-advises-boldness .column-right {
  position: absolute; bottom: 30%; right: 15%; width: 20px; height: 60%;
  background: linear-gradient(90deg, #6a5a3a 0%, #8a7a5a 100%);
  border-radius: 4px;
  box-shadow: inset 5px 0 10px rgba(0,0,0,0.3);
}
.scn-enobarbus-advises-boldness .antony-silhouette {
  position: absolute; bottom: 20%; left: 40%; width: 25px; height: 60px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ea-antony 4s ease-in-out infinite alternate;
}
.scn-enobarbus-advises-boldness .enobarbus {
  position: absolute; bottom: 18%; right: 30%; width: 22px; height: 55px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ea-enobarbus 4s ease-in-out infinite alternate 0.2s;
}
.scn-enobarbus-advises-boldness .arm-pointing {
  position: absolute; bottom: 40%; right: 20%; width: 40px; height: 6px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 3px;
  transform: rotate(-40deg);
  transform-origin: right center;
  animation: ea-arm 3s ease-in-out infinite alternate;
}
.scn-enobarbus-advises-boldness .speech-aura {
  position: absolute; bottom: 50%; right: 35%; width: 60px; height: 60px;
  background: radial-gradient(circle, rgba(255,200,100,0.3) 0%, transparent 70%);
  animation: ea-aura 5s ease-in-out infinite alternate;
}
@keyframes ea-antony {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-5px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(2deg); }
}
@keyframes ea-enobarbus {
  0% { transform: translateX(0) rotate(3deg); }
  50% { transform: translateX(5px) rotate(0deg); }
  100% { transform: translateX(0) rotate(-3deg); }
}
@keyframes ea-arm {
  0% { transform: rotate(-40deg) scaleY(1); }
  50% { transform: rotate(-30deg) scaleY(1.1); }
  100% { transform: rotate(-40deg) scaleY(1); }
}
@keyframes ea-aura {
  0% { opacity: 0.5; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.2); }
  100% { opacity: 0.6; transform: scale(0.9); }
}

/* Scene: lepidus-urges-calm */
.scn-lepidus-urges-calm {
  background: 
    linear-gradient(180deg, #b0a080 0%, #9a8a6a 40%, #7a6a4a 100%),
    radial-gradient(ellipse at 50% 40%, #c0b090 0%, transparent 70%);
}
.scn-lepidus-urges-calm .bg-hall {
  position: absolute; inset: 0 5% 20% 5%;
  background: linear-gradient(180deg, #c0b090 0%, #a09070 100%);
  border-radius: 20px 20px 0 0;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.2);
}
.scn-lepidus-urges-calm .floor-mosaic {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: repeating-linear-gradient(90deg, #8a7a5a 0px, #8a7a5a 10px, #9a8a6a 10px, #9a8a6a 20px);
  box-shadow: inset 0 5px 10px rgba(0,0,0,0.3);
}
.scn-lepidus-urges-calm .lepidus-center {
  position: absolute; bottom: 15%; left: 50%; width: 24px; height: 55px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: lu-figure 8s ease-in-out infinite alternate;
}
.scn-lepidus-urges-calm .antony-profile {
  position: absolute; bottom: 18%; right: 25%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lu-figure 8s ease-in-out infinite alternate-reverse;
}
.scn-lepidus-urges-calm .caesar-profile {
  position: absolute; bottom: 18%; left: 25%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lu-figure 8s ease-in-out infinite alternate 2s;
}
.scn-lepidus-urges-calm .olive-branch {
  position: absolute; bottom: 30%; left: 50%; width: 30px; height: 5px;
  transform: translateX(-50%) rotate(-10deg);
  background: linear-gradient(180deg, #6a7a3a 0%, #4a5a1a 100%);
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: lu-olive 6s ease-in-out infinite alternate;
}
.scn-lepidus-urges-calm .soft-light {
  position: absolute; top: 20%; left: 30%; width: 200px; height: 200px;
  background: radial-gradient(circle, rgba(255,230,180,0.15) 0%, transparent 60%);
  animation: lu-light 10s ease-in-out infinite alternate;
}
@keyframes lu-figure {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes lu-olive {
  0% { transform: translateX(-50%) rotate(-10deg) scaleX(1); }
  50% { transform: translateX(-50%) rotate(-5deg) scaleX(1.05); }
  100% { transform: translateX(-50%) rotate(-10deg) scaleX(1); }
}
@keyframes lu-light {
  0% { opacity: 0.6; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.1); }
  100% { opacity: 0.7; transform: scale(0.9); }
}

/* Scene: antony-caesar-confront */
.scn-antony-caesar-confront {
  background: 
    linear-gradient(180deg, #5a4a2a 0%, #3a2a1a 40%, #1a0a00 100%),
    radial-gradient(ellipse at 50% 20%, #7a6a3a 0%, transparent 60%);
}
.scn-antony-caesar-confront .bg-courtyard {
  position: absolute; inset: 0 10% 20% 10%;
  background: linear-gradient(180deg, #6a5a3a 0%, #4a3a1a 100%);
  border-radius: 10px 10px 0 0;
  box-shadow: inset 0 0 40px rgba(0,0,0,0.6);
}
.scn-antony-caesar-confront .pillar-left {
  position: absolute; bottom: 20%; left: 18%; width: 18px; height: 55%;
  background: linear-gradient(90deg, #5a4a2a 0%, #3a2a1a 100%);
  border-radius: 4px;
  box-shadow: inset -5px 0 10px rgba(0,0,0,0.4);
}
.scn-antony-caesar-confront .pillar-right {
  position: absolute; bottom: 20%; right: 18%; width: 18px; height: 55%;
  background: linear-gradient(90deg, #3a2a1a 0%, #5a4a2a 100%);
  border-radius: 4px;
  box-shadow: inset 5px 0 10px rgba(0,0,0,0.4);
}
.scn-antony-caesar-confront .antony-angry {
  position: absolute; bottom: 15%; left: 35%; width: 22px; height: 58px;
  background: linear-gradient(180deg, #1a0a00 0%, #0a0000 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ac-antony 2.5s ease-in-out infinite alternate;
}
.scn-antony-caesar-confront .caesar-defiant {
  position: absolute; bottom: 15%; right: 35%; width: 22px; height: 58px;
  background: linear-gradient(180deg, #1a0a00 0%, #0a0000 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ac-caesar 2.5s ease-in-out infinite alternate 0.3s;
}
.scn-antony-caesar-confront .ground-shadow {
  position: absolute; bottom: 10%; left: 20%; right: 20%; height: 10%;
  background: linear-gradient(180deg, rgba(0,0,0,0.5) 0%, transparent 100%);
  border-radius: 50%;
  animation: ac-shadow 3s ease-in-out infinite alternate;
}
.scn-antony-caesar-confront .sword-tension {
  position: absolute; bottom: 40%; left: 48%; width: 8px; height: 50px;
  background: linear-gradient(180deg, #8a7a5a 0%, #c0b090 50%, #8a7a5a 100%);
  border-radius: 2px;
  transform: rotate(15deg);
  transform-origin: bottom center;
  animation: ac-sword 1.5s ease-in-out infinite alternate;
}
@keyframes ac-antony {
  0% { transform: translateX(0) rotate(-5deg) scaleY(1); }
  50% { transform: translateX(3px) rotate(5deg) scaleY(1.02); }
  100% { transform: translateX(0) rotate(-5deg) scaleY(1); }
}
@keyframes ac-caesar {
  0% { transform: translateX(0) rotate(5deg) scaleY(1); }
  50% { transform: translateX(-3px) rotate(-5deg) scaleY(1.02); }
  100% { transform: translateX(0) rotate(5deg) scaleY(1); }
}
@keyframes ac-shadow {
  0% { opacity: 0.6; transform: scaleX(1); }
  50% { opacity: 1; transform: scaleX(1.1); }
  100% { opacity: 0.7; transform: scaleX(0.9); }
}
@keyframes ac-sword {
  0% { transform: rotate(15deg) scaleY(1); }
  50% { transform: rotate(20deg) scaleY(1.05); }
  100% { transform: rotate(15deg) scaleY(1); }
}

.scn-seleucus-betrayal {
  background: 
    radial-gradient(ellipse at 50% 60%, #3a2a1a 0%, transparent 60%),
    linear-gradient(180deg, #1a1510 0%, #2a2018 40%, #3a2a1a 100%);
}
.scn-seleucus-betrayal .wall-bg { position:absolute; inset:0; background: linear-gradient(180deg, #2a2018 0%, #1a1510 80%); }
.scn-seleucus-betrayal .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(0deg, #1a100a 0%, #2a1a10 100%); }
.scn-seleucus-betrayal .curtain-left { position:absolute; top:0; left:0; width:20%; height:100%; background: linear-gradient(90deg, #4a2a1a 0%, #2a1510 100%); transform-origin: left center; animation: sb-sway-left 8s ease-in-out infinite; }
.scn-seleucus-betrayal .curtain-right { position:absolute; top:0; right:0; width:20%; height:100%; background: linear-gradient(270deg, #4a2a1a 0%, #2a1510 100%); transform-origin: right center; animation: sb-sway-right 8s ease-in-out infinite 2s; }
.scn-seleucus-betrayal .chest { position:absolute; bottom:25%; left:25%; width:40px; height:25px; background: linear-gradient(180deg, #5a3a20 0%, #3a2010 100%); border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,.6); }
.scn-seleucus-betrayal .figure-cleopatra { position:absolute; bottom:28%; left:45%; width:20px; height:45px; background: linear-gradient(180deg, #2a1a10 0%, #1a0a05 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sb-breathe 6s ease-in-out infinite; }
.scn-seleucus-betrayal .figure-seleucus { position:absolute; bottom:28%; right:30%; width:18px; height:40px; background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%); border-radius:50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: sb-cower 4s ease-in-out infinite; }
.scn-seleucus-betrayal .candle-glow { position:absolute; bottom:30%; left:50%; width:30px; height:30px; background: radial-gradient(circle, #ffb060 0%, #8a5020 40%, transparent 70%); opacity:0.6; animation: sb-glow-pulse 4s ease-in-out infinite; }
.scn-seleucus-betrayal .candle-flame { position:absolute; bottom:32%; left:50.5%; width:4px; height:6px; background: radial-gradient(circle, #ffd080 0%, #ff8030 100%); border-radius:50%; box-shadow: 0 0 6px 2px #ff8030; animation: sb-flicker 2s ease-in-out infinite; }

@keyframes sb-sway-left { 0%,100% { transform: rotate(0deg) scaleX(1); } 50% { transform: rotate(3deg) scaleX(1.02); } }
@keyframes sb-sway-right { 0%,100% { transform: rotate(0deg) scaleX(1); } 50% { transform: rotate(-3deg) scaleX(1.02); } }
@keyframes sb-breathe { 0%,100% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(1.01); } }
@keyframes sb-cower { 0%,100% { transform: translateX(0) scaleX(1); } 50% { transform: translateX(-3px) scaleX(0.95); } }
@keyframes sb-glow-pulse { 0%,100% { opacity:0.5; transform: scale(1); } 50% { opacity:0.8; transform: scale(1.3); } }
@keyframes sb-flicker { 0%,100% { transform: scaleY(1) rotate(0deg); opacity:0.9; } 25% { transform: scaleY(1.1) rotate(5deg); opacity:1; } 75% { transform: scaleY(0.9) rotate(-5deg); opacity:0.8; } }

.scn-cleopatra-rages-at-seleucus {
  background: 
    radial-gradient(ellipse at 50% 60%, #3a2018 0%, transparent 60%),
    linear-gradient(180deg, #1a1210 0%, #2a1a15 40%, #3a2018 100%);
}
.scn-cleopatra-rages-at-seleucus .wall-bg { position:absolute; inset:0; background: linear-gradient(180deg, #2a1a15 0%, #1a1210 80%); }
.scn-cleopatra-rages-at-seleucus .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(0deg, #1a0e0a 0%, #2a1810 100%); }
.scn-cleopatra-rages-at-seleucus .curtain-left { position:absolute; top:0; left:0; width:20%; height:100%; background: linear-gradient(90deg, #4a2a1a 0%, #2a1510 100%); transform-origin: left center; animation: cr-curtain 6s ease-in-out infinite; }
.scn-cleopatra-rages-at-seleucus .curtain-right { position:absolute; top:0; right:0; width:20%; height:100%; background: linear-gradient(270deg, #4a2a1a 0%, #2a1510 100%); transform-origin: right center; animation: cr-curtain 6s ease-in-out infinite 3s; }
.scn-cleopatra-rages-at-seleucus .table { position:absolute; bottom:25%; left:35%; width:60px; height:15px; background: linear-gradient(0deg, #3a2010 0%, #5a3820 100%); border-radius:2px; box-shadow: 0 3px 6px rgba(0,0,0,.5); }
.scn-cleopatra-rages-at-seleucus .figure-cleopatra { position:absolute; bottom:28%; left:42%; width:22px; height:50px; background: linear-gradient(180deg, #2a1810 0%, #1a0a05 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cr-rage-body 3s ease-in-out infinite; }
.scn-cleopatra-rages-at-seleucus .figure-seleucus { position:absolute; bottom:28%; right:25%; width:18px; height:38px; background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%); border-radius:50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: cr-cower 2s ease-in-out infinite; }
.scn-cleopatra-rages-at-seleucus .hand-rage { position:absolute; bottom:38%; left:47%; width:12px; height:16px; background: linear-gradient(180deg, #2a1810 0%, #1a0a05 100%); border-radius:40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: cr-hand 1.5s ease-in-out infinite; }
.scn-cleopatra-rages-at-seleucus .candle-glow { position:absolute; bottom:30%; left:55%; width:25px; height:25px; background: radial-gradient(circle, #ffa050 0%, #8a4020 40%, transparent 70%); opacity:0.7; animation: cr-glow 3s ease-in-out infinite; }

@keyframes cr-curtain { 0%,100% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } }
@keyframes cr-rage-body { 0%,100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-3px) rotate(2deg); } }
@keyframes cr-cower { 0%,100% { transform: translateX(0) scaleX(1); } 50% { transform: translateX(-5px) scaleX(0.9); } }
@keyframes cr-hand { 0%,100% { transform: translate(0,0) rotate(0deg); } 25% { transform: translate(3px,-2px) rotate(30deg); } 75% { transform: translate(5px,-4px) rotate(45deg); } }
@keyframes cr-glow { 0%,100% { opacity:0.6; transform: scale(1); } 50% { opacity:1; transform: scale(1.2); } }

.scn-caesar-forgives {
  background: 
    radial-gradient(ellipse at 50% 60%, #3a2a20 0%, transparent 50%),
    linear-gradient(180deg, #2a2018 0%, #1a1510 100%);
}
.scn-caesar-forgives .wall-bg { position:absolute; inset:0; background: linear-gradient(180deg, #2a1f18 0%, #1a1510 80%); }
.scn-caesar-forgives .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(0deg, #1a0e0a 0%, #2a1810 100%); }
.scn-caesar-forgives .curtain-left { position:absolute; top:0; left:0; width:20%; height:100%; background: linear-gradient(90deg, #4a2a1a 0%, #2a1510 100%); transform-origin: left center; animation: cf-drape 12s ease-in-out infinite; }
.scn-caesar-forgives .curtain-right { position:absolute; top:0; right:0; width:20%; height:100%; background: linear-gradient(270deg, #4a2a1a 0%, #2a1510 100%); transform-origin: right center; animation: cf-drape 12s ease-in-out infinite 6s; }
.scn-caesar-forgives .figure-caesar { position:absolute; bottom:28%; left:35%; width:22px; height:50px; background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cf-caesar 10s ease-in-out infinite; }
.scn-caesar-forgives .figure-cleopatra { position:absolute; bottom:28%; right:35%; width:20px; height:45px; background: linear-gradient(180deg, #2a1a10 0%, #1a0a05 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cf-cleopatra 8s ease-in-out infinite; }
.scn-caesar-forgives .hand-forgive { position:absolute; bottom:38%; left:42%; width:10px; height:14px; background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%); border-radius:40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom left; animation: cf-hand 6s ease-in-out infinite; }
.scn-caesar-forgives .candle-glow { position:absolute; bottom:30%; left:50%; width:28px; height:28px; background: radial-gradient(circle, #ffc080 0%, #8a5030 40%, transparent 70%); opacity:0.5; animation: cf-glow 5s ease-in-out infinite; }
.scn-caesar-forgives .candle-flame { position:absolute; bottom:32%; left:50.5%; width:4px; height:7px; background: radial-gradient(circle, #ffd090 0%, #ff8040 100%); border-radius:50%; box-shadow: 0 0 8px 3px #ff8040; animation: cf-flame 3s ease-in-out infinite; }

@keyframes cf-drape { 0%,100% { transform: rotate(0deg); } 50% { transform: rotate(1deg); } }
@keyframes cf-caesar { 0%,100% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-1px) scaleY(1.01); } }
@keyframes cf-cleopatra { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(3deg); } }
@keyframes cf-hand { 0%,100% { transform: translate(0,0) rotate(0deg); } 25% { transform: translate(2px,-1px) rotate(15deg); } 75% { transform: translate(4px,-2px) rotate(20deg); } }
@keyframes cf-glow { 0%,100% { opacity:0.4; transform: scale(1); } 50% { opacity:0.7; transform: scale(1.15); } }
@keyframes cf-flame { 0%,100% { transform: scaleY(1) rotate(0deg); opacity:0.9; } 50% { transform: scaleY(1.1) rotate(3deg); opacity:1; } }

.scn-caesar-departs {
  background: 
    radial-gradient(ellipse at 50% 70%, #2a1a10 0%, transparent 50%),
    linear-gradient(180deg, #1a1510 0%, #2a2018 60%, #1a1510 100%);
}
.scn-caesar-departs .wall-bg { position:absolute; inset:0; background: linear-gradient(180deg, #1a1510 0%, #2a1f18 80%); }
.scn-caesar-departs .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(0deg, #1a0e0a 0%, #2a1810 100%); }
.scn-caesar-departs .curtain-left { position:absolute; top:0; left:0; width:20%; height:100%; background: linear-gradient(90deg, #4a2a1a 0%, #2a1510 100%); transform-origin: left center; animation: cd-sway 15s ease-in-out infinite; }
.scn-caesar-departs .curtain-right { position:absolute; top:0; right:0; width:20%; height:100%; background: linear-gradient(270deg, #4a2a1a 0%, #2a1510 100%); transform-origin: right center; animation: cd-sway 15s ease-in-out infinite 7.5s; }
.scn-caesar-departs .figure-caesar-depart { position:absolute; bottom:28%; left:20%; width:20px; height:48px; background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cd-walk 8s ease-in-out infinite; }
.scn-caesar-departs .figure-cleopatra { position:absolute; bottom:28%; right:30%; width:20px; height:45px; background: linear-gradient(180deg, #2a1a10 0%, #1a0a05 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cd-linger 10s ease-in-out infinite; }
.scn-caesar-departs .archway { position:absolute; bottom:15%; left:40%; width:30px; height:60px; background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%); border-radius:30% 30% 0 0; box-shadow: inset 0 4px 8px rgba(0,0,0,.5); opacity:0.8; }
.scn-caesar-departs .candle-glow { position:absolute; bottom:35%; left:50%; width:20px; height:20px; background: radial-gradient(circle, #ffa050 0%, #8a4020 40%, transparent 70%); opacity:0.4; animation: cd-glow 6s ease-in-out infinite; }
.scn-caesar-departs .candle-flame { position:absolute; bottom:37%; left:50.5%; width:3px; height:5px; background: radial-gradient(circle, #ffc080 0%, #ff8030 100%); border-radius:50%; box-shadow: 0 0 5px 2px #ff8030; animation: cd-flame 4s ease-in-out infinite; }

@keyframes cd-sway { 0%,100% { transform: rotate(0deg); } 50% { transform: rotate(1.5deg); } }
@keyframes cd-walk { 0%,100% { transform: translateX(0) translateY(0); } 25% { transform: translateX(-2px) translateY(-1px); } 50% { transform: translateX(-4px) translateY(0); } 75% { transform: translateX(-6px) translateY(-1px); } }
@keyframes cd-linger { 0%,100% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-1px) scaleY(1.01); } }
@keyframes cd-glow { 0%,100% { opacity:0.3; transform: scale(1); } 50% { opacity:0.6; transform: scale(1.2); } }
@keyframes cd-flame { 0%,100% { transform: scaleY(1) rotate(0deg); opacity:0.8; } 25% { transform: scaleY(1.1) rotate(4deg); opacity:1; } 75% { transform: scaleY(0.9) rotate(-4deg); opacity:0.7; } }

.scn-antony-accepts-proposal {
  background: 
    linear-gradient(180deg, #f8e8c0 0%, #d4b87a 40%, #b89050 100%),
    radial-gradient(ellipse at 50% 20%, #fff4d6 0%, transparent 60%);
}
.scn-antony-accepts-proposal .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #b89050 0%, #8a6a3a 100%); border-radius: 20% 20% 0 0 / 40% 40% 0 0; }
.scn-antony-accepts-proposal .wall { position:absolute; bottom:30%; left:0; right:0; top:0; background: linear-gradient(180deg, #f0d8a0 0%, #e0c080 100%); }
.scn-antony-accepts-proposal .window-light { position:absolute; top:10%; left:20%; width:30%; height:50%; background: radial-gradient(ellipse, #ffe8b0 0%, #d4b87a 40%, transparent 70%); filter: blur(8px); animation: awp-light 5s ease-in-out infinite alternate; }
.scn-antony-accepts-proposal .figure-kneeling { position:absolute; bottom:30%; left:35%; width:30px; height:50px; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; transform-origin: bottom center; animation: awp-kneel 3s ease-in-out infinite; }
.scn-antony-accepts-proposal .figure-standing { position:absolute; bottom:30%; left:55%; width:25px; height:60px; background: linear-gradient(180deg, #7a5a3a 0%, #4a3a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: awp-stand 4s ease-in-out infinite alternate; }
.scn-antony-accepts-proposal .offering { position:absolute; bottom:35%; left:42%; width:8px; height:8px; background: radial-gradient(circle, #ffd080 0%, #c08040 100%); border-radius: 50%; box-shadow: 0 0 12px 4px rgba(255,208,128,.6); animation: awp-glow 2s ease-in-out infinite alternate; }
@keyframes awp-light { 0% { opacity:.6; transform: scale(1); } 50% { opacity:1; transform: scale(1.2); } 100% { opacity:.7; transform: scale(.95); } }
@keyframes awp-kneel { 0%,100% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(0deg) translateY(-2px); } }
@keyframes awp-stand { 0% { transform: rotate(0deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-3deg); } }
@keyframes awp-glow { 0% { opacity:.7; box-shadow: 0 0 8px 2px rgba(255,208,128,.5); } 50% { opacity:1; box-shadow: 0 0 20px 8px rgba(255,208,128,.8); } 100% { opacity:.8; box-shadow: 0 0 10px 3px rgba(255,208,128,.6); } }

/* scene 2 */
.scn-antony-seals-pact {
  background:
    linear-gradient(180deg, #f0d8b0 0%, #d4b87a 100%),
    radial-gradient(ellipse at 50% 80%, #b89050 0%, transparent 70%);
}
.scn-antony-seals-pact .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #8a6a3a 0%, #5a4a2a 100%); }
.scn-antony-seals-pact .table { position:absolute; bottom:25%; left:10%; right:10%; height:8%; background: linear-gradient(180deg, #a08050 0%, #7a6030 100%); border-radius: 10% 10% 0 0; }
.scn-antony-seals-pact .document { position:absolute; bottom:30%; left:40%; width:20%; height:4%; background: #f0e0c0; border-radius: 4px; box-shadow: 0 2px 4px rgba(0,0,0,.2); }
.scn-antony-seals-pact .candle { position:absolute; bottom:33%; left:45%; width:6px; height:18%; background: linear-gradient(180deg, #f0d8a0 0%, #c0a060 100%); border-radius: 2px; }
.scn-antony-seals-pact .candle::after { content:''; position:absolute; top:-8px; left:50%; transform:translateX(-50%); width:4px; height:8px; background: radial-gradient(circle, #ffd080 0%, #c08040 100%); border-radius: 50%; animation: asp-flame 2s ease-in-out infinite alternate; }
.scn-antony-seals-pact .hand-left { position:absolute; bottom:30%; left:35%; width:20px; height:18px; background: linear-gradient(180deg, #a08060 0%, #7a6040 100%); border-radius: 40% 40% 30% 30%; transform: rotate(15deg); animation: asp-hand 3s ease-in-out infinite; }
.scn-antony-seals-pact .hand-right { position:absolute; bottom:30%; right:35%; width:20px; height:18px; background: linear-gradient(180deg, #a08060 0%, #7a6040 100%); border-radius: 40% 40% 30% 30%; transform: rotate(-15deg); animation: asp-hand 3s ease-in-out infinite reverse; }
.scn-antony-seals-pact .seal { position:absolute; bottom:31%; left:49%; width:8px; height:8px; background: radial-gradient(circle, #c07030 0%, #805020 100%); border-radius: 50%; box-shadow: 0 0 4px rgba(128,80,32,.5); }
@keyframes asp-flame { 0% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(1.3); } 100% { transform: translateX(-50%) scaleY(.8); } }
@keyframes asp-hand { 0% { transform: rotate(15deg) translateY(0); } 50% { transform: rotate(18deg) translateY(-2px); } 100% { transform: rotate(15deg) translateY(0); } }

/* scene 3 */
.scn-enobarbus-mocks-wars {
  background:
    linear-gradient(180deg, #f0e080 0%, #c0a060 100%),
    radial-gradient(ellipse at 50% 30%, #ffe8a0 0%, transparent 60%);
}
.scn-enobarbus-mocks-wars .stage { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #a08050 0%, #604030 100%); border-radius: 30% 30% 0 0 / 60% 60% 0 0; }
.scn-enobarbus-mocks-wars .figure { position:absolute; bottom:40%; left:50%; transform:translateX(-50%); width:40px; height:80px; background: linear-gradient(180deg, #c05030 0%, #803020 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; animation: enm-figure 2s ease-in-out infinite; }
.scn-enobarbus-mocks-wars .hat { position:absolute; bottom:78%; left:50%; transform:translateX(-50%); width:50px; height:20px; background: linear-gradient(180deg, #e8a020 0%, #c08010 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 4px 0 #a06010; animation: enm-hat 1.5s ease-in-out infinite; }
.scn-enobarbus-mocks-wars .sword-toy { position:absolute; bottom:45%; left:60%; width:30px; height:6px; background: linear-gradient(90deg, #d0c0a0 0%, #b0a080 100%); border-radius: 2px; transform: rotate(-30deg); animation: enm-sword 3s ease-in-out infinite; }
.scn-enobarbus-mocks-wars .shadow { position:absolute; bottom:0; left:30%; right:30%; height:10%; background: radial-gradient(ellipse, rgba(0,0,0,.3) 0%, transparent 100%); filter: blur(4px); animation: enm-shadow 4s ease-in-out infinite alternate; }
.scn-enobarbus-mocks-wars .stars { position:absolute; top:5%; left:10%; right:10%; height:20%; background: radial-gradient(circle at 20% 30%, #fff 1px, transparent 1px), radial-gradient(circle at 50% 10%, #fff 1px, transparent 1px), radial-gradient(circle at 80% 20%, #fff 1px, transparent 1px); background-size: 30px 30px; animation: enm-stars 20s linear infinite; }
@keyframes enm-figure { 0% { transform: translateX(-50%) rotate(5deg); } 25% { transform: translateX(-50%) rotate(-3deg); } 50% { transform: translateX(-50%) rotate(8deg); } 75% { transform: translateX(-50%) rotate(-2deg); } 100% { transform: translateX(-50%) rotate(5deg); } }
@keyframes enm-hat { 0% { transform: translateX(-50%) rotate(0deg); } 25% { transform: translateX(-50%) rotate(10deg); } 50% { transform: translateX(-50%) rotate(-5deg); } 75% { transform: translateX(-50%) rotate(15deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes enm-sword { 0% { transform: rotate(-30deg) translateY(0); } 50% { transform: rotate(-20deg) translateY(-5px); } 100% { transform: rotate(-30deg) translateY(0); } }
@keyframes enm-shadow { 0% { opacity:.3; } 50% { opacity:.6; } 100% { opacity:.4; } }
@keyframes enm-stars { 0% { background-position: 0 0; } 100% { background-position: 0 -60px; } }

/* scene 4 */
.scn-lepidus-joins-council {
  background:
    linear-gradient(180deg, #f0d8b0 0%, #c0a060 50%, #a08050 100%),
    radial-gradient(ellipse at 50% 0%, #fff4d6 0%, transparent 70%);
}
.scn-lepidus-joins-council .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #8a6a3a 0%, #5a4a2a 100%); }
.scn-lepidus-joins-council .pillar-left { position:absolute; bottom:20%; left:10%; width:8%; height:70%; background: linear-gradient(90deg, #b09060 0%, #8a6a3a 50%, #b09060 100%); border-radius: 6px; box-shadow: 2px 0 4px rgba(0,0,0,.2); }
.scn-lepidus-joins-council .pillar-right { position:absolute; bottom:20%; right:10%; width:8%; height:70%; background: linear-gradient(90deg, #b09060 0%, #8a6a3a 50%, #b09060 100%); border-radius: 6px; box-shadow: -2px 0 4px rgba(0,0,0,.2); }
.scn-lepidus-joins-council .arch { position:absolute; top:5%; left:5%; right:5%; height:20%; background: linear-gradient(180deg, #d4b87a 0%, #b09060 100%); border-radius: 50% 50% 0 0 / 100% 100% 0 0; }
.scn-lepidus-joins-council .figure-left { position:absolute; bottom:20%; left:25%; width:20px; height:50px; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: ljc-figures 6s ease-in-out infinite alternate; }
.scn-lepidus-joins-council .figure-center { position:absolute; bottom:20%; left:50%; transform:translateX(-50%); width:25px; height:55px; background: linear-gradient(180deg, #7a5a3a 0%, #4a3a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: ljc-figures 6s ease-in-out infinite alternate-reverse; }
.scn-lepidus-joins-council .figure-right { position:absolute; bottom:20%; right:25%; width:20px; height:50px; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: ljc-figures 6s ease-in-out infinite alternate 2s; }
@keyframes ljc-figures { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }

.scn-antony-addresses-servants { background: linear-gradient(180deg, #3a2c1a 0%, #5a4030 30%, #7a5540 70%, #4a3525 100%), radial-gradient(ellipse at 50% 0%, #fff3c0 0%, transparent 60%); }
.scn-antony-addresses-servants .walls { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #8a6b50 0%, #6a4d35 100%); box-shadow: inset 0 0 60px rgba(0,0,0,.6); }
.scn-antony-addresses-servants .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #4a3525 0%, #2a1a10 100%); }
.scn-antony-addresses-servants .doorway { position:absolute; bottom:25%; left:50%; width:120px; height:80px; transform:translateX(-50%); background: linear-gradient(180deg, #ffd8a0 0%, #d4a060 60%, #8a5a30 100%); border-radius:60% 60% 10% 10% / 80% 80% 10% 10%; box-shadow: inset 0 -20px 40px rgba(0,0,0,.7); animation: as-door-pulse 5s ease-in-out infinite alternate; }
.scn-antony-addresses-servants .lightbeam { position:absolute; bottom:25%; left:50%; width:160px; height:100px; transform:translateX(-50%); background: linear-gradient(180deg, rgba(255,215,160,.4) 0%, transparent 100%); border-radius:0 0 50% 50%; filter: blur(10px); animation: as-beam 8s ease-in-out infinite; }
.scn-antony-addresses-servants .figure { position:absolute; bottom:20%; height:80px; width:30px; background: linear-gradient(180deg, #2a1a10 0%, #0a0500 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; }
.scn-antony-addresses-servants .figure-ant { left:35%; animation: as-figure-ant 6s ease-in-out infinite; }
.scn-antony-addresses-servants .figure-serv1 { left:48%; animation: as-figure-serv 8s ease-in-out infinite; }
.scn-antony-addresses-servants .figure-serv2 { left:55%; animation: as-figure-serv 8s ease-in-out infinite 0.5s; }
.scn-antony-addresses-servants .figure-serv3 { left:62%; animation: as-figure-serv 8s ease-in-out infinite 1s; }
.scn-antony-addresses-servants .lantern { position:absolute; bottom:35%; width:10px; height:10px; background:#ffd080; border-radius:50%; box-shadow: 0 0 20px 6px rgba(255,208,128,.7), 0 0 40px 12px rgba(255,208,128,.4); }
.scn-antony-addresses-servants .lantern-1 { left:25%; animation: as-lantern 4s ease-in-out infinite; }
.scn-antony-addresses-servants .lantern-2 { right:25%; animation: as-lantern 4s ease-in-out infinite 2s; }
@keyframes as-door-pulse { 0% { opacity:.9; transform:translateX(-50%) scaleY(1) } 50% { opacity:1; transform:translateX(-50%) scaleY(1.05) } 100% { opacity:.85; transform:translateX(-50%) scaleY(.98) } }
@keyframes as-beam { 0%,100% { opacity:.3; transform:translateX(-50%) scaleY(1) } 50% { opacity:.6; transform:translateX(-50%) scaleY(1.1) } }
@keyframes as-figure-ant { 0% { transform: translateX(0) } 50% { transform: translateX(8px) translateY(-3px) rotate(2deg) } 100% { transform: translateX(0) translateY(0) } }
@keyframes as-figure-serv { 0% { transform: translateX(0) } 50% { transform: translateX(-5px) translateY(-2px) } 100% { transform: translateX(0) } }
@keyframes as-lantern { 0%,100% { transform: translateY(0) rotate(-5deg); opacity:.9 } 50% { transform: translateY(-3px) rotate(5deg); opacity:1 } }

.scn-antony-takes-leave { background: linear-gradient(180deg, #4a3020 0%, #2a1a10 40%, #1a0e08 100%), radial-gradient(ellipse at 50% 70%, #ffd4a0 0%, transparent 70%); }
.scn-antony-takes-leave .tabletop { position:absolute; bottom:15%; left:10%; right:10%; height:20%; background: linear-gradient(180deg, #6a4a30 0%, #3a2515 100%); border-radius:20% 20% 0 0; box-shadow: inset 0 4px 20px rgba(0,0,0,.5); }
.scn-antony-takes-leave .goblet { position:absolute; bottom:25%; width:20px; height:30px; background: linear-gradient(180deg, #c8a070 0%, #8a6040 100%); border-radius:50% 50% 10% 10%; box-shadow: 0 0 8px rgba(0,0,0,.4); }
.scn-antony-takes-leave .goblet-left { left:35%; animation: at-goblet 3s ease-in-out infinite; }
.scn-antony-takes-leave .goblet-right { left:55%; animation: at-goblet 3s ease-in-out infinite 1.5s; }
.scn-antony-takes-leave .hand-sleeve { position:absolute; bottom:28%; left:42%; width:25px; height:40px; background: linear-gradient(180deg, #8a6040 0%, #503020 100%); border-radius:60% 40% 30% 50% / 70% 50% 50% 60%; transform-origin: bottom right; animation: at-hand 4s ease-in-out infinite; }
.scn-antony-takes-leave .wine-splash { position:absolute; bottom:30%; left:48%; width:8px; height:12px; background: linear-gradient(180deg, #c04030 0%, #802818 100%); border-radius:50% 50% 40% 40%; opacity:.8; animation: at-splash 2s ease-in-out infinite alternate; }
.scn-antony-takes-leave .candle { position:absolute; bottom:32%; right:20%; width:8px; height:30px; background: linear-gradient(180deg, #e8c080 0%, #d4a060 100%); border-radius:40% 40% 10% 10%; }
.scn-antony-takes-leave .candle-glow { position:absolute; bottom:38%; right:20%; width:20px; height:20px; background: radial-gradient(circle, #ffe8b0 0%, #ffd080 30%, transparent 70%); transform:translate(50%, -50%); animation: at-glow 2s ease-in-out infinite alternate; }
.scn-antony-takes-leave .shadow-shape { position:absolute; bottom:10%; left:30%; width:120px; height:20px; background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 70%); animation: at-shadow 5s ease-in-out infinite; }
@keyframes at-goblet { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-5px) rotate(3deg) } }
@keyframes at-hand { 0%,100% { transform: translate(0,0) rotate(0) } 50% { transform: translate(-5px, -10px) rotate(-10deg) } }
@keyframes at-splash { 0% { opacity:.5; transform: translateY(0) scale(1) } 100% { opacity:1; transform: translateY(-5px) scale(1.2) } }
@keyframes at-glow { 0% { opacity:.6; transform:translate(50%, -50%) scale(1) } 100% { opacity:1; transform:translate(50%, -50%) scale(1.3) } }
@keyframes at-shadow { 0%,100% { opacity:.5; transform: scaleX(1) } 50% { opacity:.8; transform: scaleX(1.2) } }

.scn-antony-commands-festivities { background: linear-gradient(180deg, #3a2a1a 0%, #5a4030 40%, #4a3525 100%), radial-gradient(ellipse at 50% 30%, #ffd8a0 0%, transparent 70%); }
.scn-antony-commands-festivities .column { position:absolute; bottom:0; width:24px; height:70%; background: linear-gradient(90deg, #8a6b50 0%, #5a4030 50%, #3a2a1a 100%); border-radius:8px 8px 0 0; box-shadow: 0 0 20px rgba(0,0,0,.5); }
.scn-antony-commands-festivities .col-left { left:15%; }
.scn-antony-commands-festivities .col-right { right:15%; }
.scn-antony-commands-festivities .arch { position:absolute; bottom:70%; left:15%; right:15%; height:40px; background: linear-gradient(180deg, #8a6b50 0%, #5a4030 100%); border-radius:80% 80% 0 0; box-shadow: 0 -10px 30px rgba(0,0,0,.6); }
.scn-antony-commands-festivities .floor-tiles { position:absolute; bottom:0; left:0; right:0; height:30%; background: repeating-linear-gradient(90deg, #4a3525 0px, #4a3525 15px, #3a2515 15px, #3a2515 30px); }
.scn-antony-commands-festivities .figure-ant-command { position:absolute; bottom:28%; left:40%; width:35px; height:80px; background: linear-gradient(180deg, #2a1a10 0%, #0a0500 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ac-ant-command 5s ease-in-out infinite; }
.scn-antony-commands-festivities .servants-group { position:absolute; bottom:22%; left:52%; width:60px; height:50px; background: linear-gradient(180deg, #3a2515 0%, #1a0e08 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; animation: ac-servants 7s ease-in-out infinite; }
.scn-antony-commands-festivities .torch { position:absolute; bottom:40%; width:10px; height:40px; background: linear-gradient(180deg, #d4a060 0%, #8a5a30 100%); border-radius:40% 40% 10% 10%; }
.scn-antony-commands-festivities .torch-left { left:18%; }
.scn-antony-commands-festivities .torch-right { right:18%; }
@keyframes ac-ant-command { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-4px) rotate(3deg) } }
@keyframes ac-servants { 0%,100% { transform: translateX(0) scale(1) } 50% { transform: translateX(-5px) scale(1.05) } }

.scn-cleopatra-chides-antonys-sadness { background: linear-gradient(180deg, #2a1a10 0%, #4a3020 40%, #3a2515 100%), radial-gradient(ellipse at 50% 20%, #ffd8a0 0%, transparent 70%); }
.scn-cleopatra-chides-antonys-sadness .profile-head { position:absolute; bottom:30%; left:35%; width:40px; height:50px; background: linear-gradient(180deg, #2a1a10 0%, #1a0e08 100%); border-radius:60% 40% 40% 60% / 70% 50% 50% 60%; transform: rotate(15deg); animation: cc-head 6s ease-in-out infinite; }
.scn-cleopatra-chides-antonys-sadness .shoulder { position:absolute; bottom:15%; left:28%; width:60px; height:50px; background: linear-gradient(180deg, #3a2515 0%, #1a0e08 100%); border-radius:50% 50% 30% 30% / 40% 40% 30% 30%; }
.scn-cleopatra-chides-antonys-sadness .tear-drop { position:absolute; bottom:38%; left:37%; width:6px; height:10px; background: linear-gradient(180deg, rgba(200,160,120,.8) 0%, rgba(200,160,120,.3) 100%); border-radius:50% 50% 50% 50% / 60% 60% 40% 40%; animation: cc-tear 3s ease-in-out infinite; }
.scn-cleopatra-chides-antonys-sadness .hand-raised { position:absolute; bottom:35%; left:42%; width:15px; height:30px; background: #2a1a10; border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: cc-hand 4s ease-in-out infinite; }
.scn-cleopatra-chides-antonys-sadness .veil { position:absolute; bottom:25%; left:30%; width:70px; height:40px; background: linear-gradient(180deg, rgba(180,140,100,.4) 0%, transparent 100%); border-radius:50% 50% 30% 30%; filter: blur(3px); animation: cc-veil 8s ease-in-out infinite; }
.scn-cleopatra-chides-antonys-sadness .background-glow { position:absolute; bottom:30%; left:20%; right:20%; height:50%; background: radial-gradient(ellipse at 50% 100%, rgba(255,200,150,.15) 0%, transparent 70%); animation: cc-glow 5s ease-in-out infinite alternate; }
.scn-cleopatra-chides-antonys-sadness .shadow-under { position:absolute; bottom:0; left:20%; right:20%; height:20%; background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 70%); }
@keyframes cc-head { 0%,100% { transform: rotate(15deg) translateY(0) } 50% { transform: rotate(10deg) translateY(-3px) } }
@keyframes cc-tear { 0% { opacity:0; transform: translateY(0) scale(1) } 30% { opacity:1 } 60% { opacity:1; transform: translateY(10px) scale(1.1) } 100% { opacity:0; transform: translateY(20px) scale(.8) } }
@keyframes cc-hand { 0%,100% { transform: rotate(0) } 50% { transform: rotate(-20deg) translateY(5px) } }
@keyframes cc-veil { 0%,100% { opacity:.4; transform: translateX(0) } 50% { opacity:.7; transform: translateX(8px) } }
@keyframes cc-glow { 0% { opacity:.5; transform: scaleY(1) } 100% { opacity:1; transform: scaleY(1.1) } }

.scn-antony-rages-at-thyreus { background: linear-gradient(180deg, #1a1a2e 0%, #2a1e1e 30%, #1e1a2a 60%, #0e0a14 100%), radial-gradient(ellipse at 60% 40%, #4a3020 0%, transparent 60%); }
.scn-antony-rages-at-thyreus .bg-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a1e1e 0%, #1a1212 100%); box-shadow: inset 0 0 40px rgba(0,0,0,.5); }
.scn-antony-rages-at-thyreus .bg-floor { position:absolute; top:70%; left:0; right:0; bottom:0; background: linear-gradient(0deg, #1a1212 0%, #2a1e1e 100%); border-radius: 30% 0 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,.6); }
.scn-antony-rages-at-thyreus .figure-antony { position:absolute; bottom:35%; left:30%; width:40px; height:80px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 40%, #0e0e1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: arat-antony 6s ease-in-out infinite; }
.scn-antony-rages-at-thyreus .figure-thyreus { position:absolute; bottom:32%; left:55%; width:34px; height:60px; background: linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 100%); border-radius: 40% 40% 60% 60% / 50% 50% 70% 70%; transform-origin: bottom center; animation: arat-thyreus 4s ease-in-out infinite; }
.scn-antony-rages-at-thyreus .fire-glow { position:absolute; bottom:40%; left:20%; width:120px; height:120px; background: radial-gradient(circle, rgba(200,120,60,.4) 0%, rgba(200,120,60,.1) 50%, transparent 70%); filter: blur(20px); animation: arat-fire 3s ease-in-out infinite alternate; }
.scn-antony-rages-at-thyreus .light-shaft { position:absolute; top:10%; left:30%; width:20px; height:80%; background: linear-gradient(180deg, rgba(255,200,100,.08) 0%, transparent 100%); transform: skewX(-10deg); animation: arat-shaft 8s linear infinite; }
.scn-antony-rages-at-thyreus .shadow-pool { position:absolute; bottom:30%; left:40%; width:80px; height:20px; background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 70%); animation: arat-pool 5s ease-in-out infinite; }
@keyframes arat-antony { 0% { transform: rotate(-2deg) translateY(0); } 30% { transform: rotate(2deg) translateY(-2px); } 60% { transform: rotate(-1deg) translateY(0); } 100% { transform: rotate(3deg) translateY(-1px); } }
@keyframes arat-thyreus { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(5px) rotate(-5deg); } 50% { transform: translateX(-3px) rotate(3deg); } 75% { transform: translateX(2px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes arat-fire { 0% { opacity: .6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.05); } 100% { opacity: .7; transform: scale(.95); } }
@keyframes arat-shaft { 0% { opacity: .3; } 50% { opacity: .6; } 100% { opacity: .3; } }
@keyframes arat-pool { 0% { transform: scale(1); } 50% { transform: scale(1.2); } 100% { transform: scale(.9); } }

.scn-whip-thyreus { background: linear-gradient(180deg, #1a1a2e 0%, #2a1e1e 30%, #1e1a2a 60%, #0e0a14 100%), radial-gradient(ellipse at 50% 50%, #3a2020 0%, transparent 70%); }
.scn-whip-thyreus .bg-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a1e1e 0%, #1a1212 100%); box-shadow: inset 0 0 40px rgba(0,0,0,.5); }
.scn-whip-thyreus .bg-floor { position:absolute; top:70%; left:0; right:0; bottom:0; background: linear-gradient(0deg, #1a1212 0%, #2a1e1e 100%); border-radius: 30% 0 0 0; }
.scn-whip-thyreus .figure-attendant { position:absolute; bottom:30%; left:35%; width:36px; height:70px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: 80% 60%; animation: wt-attendant 2s ease-in-out infinite; }
.scn-whip-thyreus .figure-thyreus-grovel { position:absolute; bottom:25%; left:50%; width:40px; height:50px; background: linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 100%); border-radius: 40% 40% 60% 60% / 50% 50% 70% 70%; transform-origin: bottom center; animation: wt-grovel 3s ease-in-out infinite; }
.scn-whip-thyreus .whip-crack { position:absolute; bottom:50%; left:38%; width:50px; height:4px; background: linear-gradient(90deg, transparent 0%, #8a5a3a 50%, transparent 100%); border-radius: 50%; transform: rotate(-30deg); animation: wt-whip .8s ease-in-out infinite; }
.scn-whip-thyreus .fire-glow-bright { position:absolute; bottom:40%; left:25%; width:150px; height:150px; background: radial-gradient(circle, rgba(220,140,60,.5) 0%, rgba(200,100,40,.15) 50%, transparent 70%); filter: blur(25px); animation: wt-fire 2s ease-in-out infinite alternate; }
.scn-whip-thyreus .shadow-pool { position:absolute; bottom:25%; left:40%; width:100px; height:25px; background: radial-gradient(ellipse, rgba(0,0,0,.7) 0%, transparent 70%); animation: wt-pool 4s ease-in-out infinite; }
@keyframes wt-attendant { 0% { transform: rotate(-10deg); } 50% { transform: rotate(10deg); } 100% { transform: rotate(-10deg); } }
@keyframes wt-grovel { 0% { transform: translateY(0) scale(1); } 25% { transform: translateY(-2px) scale(1.02); } 50% { transform: translateY(0) scale(.98); } 75% { transform: translateY(1px) scale(1.01); } 100% { transform: translateY(0) scale(1); } }
@keyframes wt-whip { 0% { transform: rotate(-30deg) scaleX(.8); opacity: .5; } 50% { transform: rotate(20deg) scaleX(1.2); opacity: 1; } 100% { transform: rotate(-30deg) scaleX(.8); opacity: .5; } }
@keyframes wt-fire { 0% { opacity: .7; transform: scale(.95); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: .8; transform: scale(1); } }
@keyframes wt-pool { 0% { transform: scale(1); } 50% { transform: scale(1.3); } 100% { transform: scale(.9); } }

.scn-antony-reviles-cleopatra { background: linear-gradient(180deg, #1a1a2e 0%, #2a1e1e 30%, #1e1a2a 60%, #0e0a14 100%), radial-gradient(ellipse at 40% 30%, #3a2820 0%, transparent 70%); }
.scn-antony-reviles-cleopatra .bg-wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #2a1e1e 0%, #1a1212 100%); box-shadow: inset 0 0 30px rgba(0,0,0,.5); }
.scn-antony-reviles-cleopatra .bg-floor { position:absolute; top:65%; left:0; right:0; bottom:0; background: linear-gradient(0deg, #1a1212 0%, #2a1e1e 100%); border-radius: 40% 0 0 0; }
.scn-antony-reviles-cleopatra .figure-antony-arm { position:absolute; bottom:35%; left:25%; width:40px; height:85px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 40%, #0e0e1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: 50% 80%; animation: arc-antony 5s ease-in-out infinite; }
.scn-antony-reviles-cleopatra .figure-cleopatra { position:absolute; bottom:35%; left:55%; width:36px; height:78px; background: linear-gradient(180deg, #3a1a1a 0%, #2a0e0e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: arc-cleopatra 6s ease-in-out infinite; }
.scn-antony-reviles-cleopatra .fire-glow-mid { position:absolute; bottom:45%; left:30%; width:130px; height:130px; background: radial-gradient(circle, rgba(200,120,60,.35) 0%, rgba(180,100,40,.1) 50%, transparent 70%); filter: blur(20px); animation: arc-fire 3s ease-in-out infinite alternate; }
.scn-antony-reviles-cleopatra .shadow-fall { position:absolute; top:0; left:40%; width:30px; height:100%; background: linear-gradient(180deg, rgba(0,0,0,.3) 0%, transparent 100%); animation: arc-fall 7s linear infinite; }
.scn-antony-reviles-cleopatra .dust-mote { position:absolute; top:20%; left:15%; width:6px; height:6px; background: rgba(255,220,150,.3); border-radius:50%; filter: blur(2px); animation: arc-dust 12s linear infinite; }
@keyframes arc-antony { 0% { transform: rotate(-3deg) translateX(0); } 30% { transform: rotate(4deg) translateX(5px); } 60% { transform: rotate(-2deg) translateX(-2px); } 100% { transform: rotate(2deg) translateX(0); } }
@keyframes arc-cleopatra { 0% { transform: translateY(0); } 25% { transform: translateY(-2px); } 50% { transform: translateY(0); } 75% { transform: translateY(1px); } 100% { transform: translateY(0); } }
@keyframes arc-fire { 0% { opacity: .5; transform: scale(1); } 50% { opacity: .9; transform: scale(1.05); } 100% { opacity: .6; transform: scale(.95); } }
@keyframes arc-fall { 0% { opacity: .2; } 50% { opacity: .5; } 100% { opacity: .2; } }
@keyframes arc-dust { 0% { transform: translateY(0) translateX(0); opacity: .3; } 50% { transform: translateY(30px) translateX(20px); opacity: .6; } 100% { transform: translateY(0) translateX(0); opacity: .3; } }

.scn-thyreus-whipped { background: linear-gradient(180deg, #1a1a2e 0%, #2a1e1e 30%, #1e1a2a 60%, #0e0a14 100%), radial-gradient(ellipse at 50% 60%, #2a1a12 0%, transparent 80%); }
.scn-thyreus-whipped .bg-wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #2a1e1e 0%, #1a1212 100%); box-shadow: inset 0 0 30px rgba(0,0,0,.5); }
.scn-thyreus-whipped .bg-floor { position:absolute; top:65%; left:0; right:0; bottom:0; background: linear-gradient(0deg, #1a1212 0%, #2a1e1e 100%); border-radius: 20% 0 0 0; }
.scn-thyreus-whipped .figure-thyreus-beaten { position:absolute; bottom:30%; left:40%; width:38px; height:55px; background: linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 100%); border-radius: 40% 40% 60% 60% / 50% 50% 70% 70%; transform-origin: bottom center; animation: tw-beaten 4s ease-in-out infinite; }
.scn-thyreus-whipped .figure-antony-gesture { position:absolute; bottom:35%; left:20%; width:42px; height:82px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 40%, #0e0e1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: 60% 50%; animation: tw-antony 5s ease-in-out infinite; }
.scn-thyreus-whipped .fire-glow-dim { position:absolute; bottom:40%; left:50%; width:140px; height:140px; background: radial-gradient(circle, rgba(180,100,40,.25) 0%, rgba(160,80,30,.08) 50%, transparent 70%); filter: blur(25px); animation: tw-fire 4s ease-in-out infinite alternate; }
.scn-thyreus-whipped .lamp-light { position:absolute; top:15%; left:70%; width:10px; height:10px; background: radial-gradient(circle, rgba(255,200,100,.4) 0%, transparent 60%); filter: blur(8px); animation: tw-lamp 3s ease-in-out infinite alternate; }
.scn-thyreus-whipped .chains-shadow { position:absolute; bottom:40%; left:60%; width:50px; height:30px; background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 70%); animation: tw-chains 6s linear infinite; }
@keyframes tw-beaten { 0% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-2px) rotate(-4deg); } 50% { transform: translateY(0) rotate(2deg); } 75% { transform: translateY(1px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes tw-antony { 0% { transform: rotate(-2deg) scale(1); } 30% { transform: rotate(5deg) scale(1.02); } 60% { transform: rotate(-3deg) scale(.98); } 100% { transform: rotate(2deg) scale(1); } }
@keyframes tw-fire { 0% { opacity: .4; transform: scale(.95); } 50% { opacity: .8; transform: scale(1.08); } 100% { opacity: .5; transform: scale(1); } }
@keyframes tw-lamp { 0% { opacity: .5; transform: scale(1); } 50% { opacity: 1; transform: scale(1.2); } 100% { opacity: .6; transform: scale(.9); } }
@keyframes tw-chains { 0% { transform: translateX(0) scale(1); } 50% { transform: translateX(-5px) scale(1.1); } 100% { transform: translateX(0) scale(1); } }

.scn-drunken-revelry {
  background: 
    radial-gradient(ellipse at 50% 100%, #4a2810 0%, transparent 60%),
    linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 40%, #5a3a1a 100%);
}
.scn-drunken-revelry .wall {
  position: absolute;
  inset: 0 0 30% 0;
  background: linear-gradient(180deg, #3a2a1a 0%, #4a3a2a 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,.5);
  animation: dr-wall 20s ease-in-out infinite alternate;
}
.scn-drunken-revelry .floor {
  position: absolute;
  bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #2a1a0a 0%, #3a2a1a 100%);
  border-radius: 60% 40% 0 0 / 40% 30% 0 0;
}
.scn-drunken-revelry .fireplace {
  position: absolute;
  bottom: 30%; left: 50%; transform: translateX(-50%);
  width: 80px; height: 60px;
  background: linear-gradient(180deg, #5a3a1a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 -8px 12px rgba(0,0,0,.6);
}
.scn-drunken-revelry .fire-glow {
  position: absolute;
  bottom: 32%; left: 50%; transform: translateX(-50%);
  width: 30px; height: 40px;
  background: radial-gradient(circle, #f08030 0%, #d06020 40%, transparent 70%);
  filter: blur(4px);
  box-shadow: 0 0 30px 15px rgba(240,128,48,.6);
  animation: dr-fire 3s ease-in-out infinite alternate;
}
.scn-drunken-revelry .table {
  position: absolute;
  bottom: 20%; left: 30%; width: 40%; height: 10px;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,.4);
}
.scn-drunken-revelry .cup {
  position: absolute;
  bottom: 25%; width: 12px; height: 16px;
  background: linear-gradient(180deg, #b08040 0%, #8a6a2a 100%);
  border-radius: 0 0 20% 20%;
  transform-origin: bottom center;
}
.scn-drunken-revelry .cup-left {
  left: 35%;
  animation: dr-cup-left 6s ease-in-out infinite;
}
.scn-drunken-revelry .cup-right {
  left: 55%;
  animation: dr-cup-right 7s ease-in-out infinite 1s;
}
.scn-drunken-revelry .figure {
  position: absolute;
  bottom: 20%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
}
.scn-drunken-revelry .figure-1 {
  left: 25%;
  animation: dr-figure1 8s ease-in-out infinite;
}
.scn-drunken-revelry .figure-2 {
  left: 60%;
  animation: dr-figure2 9s ease-in-out infinite 3s;
}

@keyframes dr-wall {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes dr-fire {
  0% { transform: translateX(-50%) scale(1); opacity: 0.9; }
  50% { transform: translateX(-50%) scale(1.1); opacity: 1; }
  100% { transform: translateX(-50%) scale(0.95); opacity: 0.8; }
}
@keyframes dr-cup-left {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(-15deg) translateY(-2px); }
  50% { transform: rotate(5deg); }
  75% { transform: rotate(-5deg) translateY(1px); }
  100% { transform: rotate(0deg); }
}
@keyframes dr-cup-right {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(10deg) translateY(-1px); }
  50% { transform: rotate(-10deg); }
  75% { transform: rotate(5deg) translateY(2px); }
  100% { transform: rotate(0deg); }
}
@keyframes dr-figure1 {
  0% { transform: rotate(0deg); }
  20% { transform: rotate(-8deg) translateX(3px); }
  40% { transform: rotate(5deg) translateX(-2px); }
  60% { transform: rotate(-3deg) translateX(5px); }
  80% { transform: rotate(8deg) translateX(-3px); }
  100% { transform: rotate(0deg); }
}
@keyframes dr-figure2 {
  0% { transform: rotate(0deg); }
  20% { transform: rotate(6deg) translateX(-4px); }
  40% { transform: rotate(-4deg) translateX(2px); }
  60% { transform: rotate(8deg) translateX(-5px); }
  80% { transform: rotate(-6deg) translateX(4px); }
  100% { transform: rotate(0deg); }
}

/* song-bacchus */
.scn-song-bacchus {
  background:
    radial-gradient(ellipse at 50% 0%, #e08030 0%, transparent 60%),
    linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 40%, #3a2a1a 100%);
}
.scn-song-bacchus .sky {
  position: absolute;
  inset: 0 0 40% 0;
  background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 80%);
  animation: sb-sky 12s ease-in-out infinite alternate;
}
.scn-song-bacchus .stage {
  position: absolute;
  bottom: 20%; left: 50%; transform: translateX(-50%);
  width: 70%; height: 20px;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 -4px 12px rgba(0,0,0,.4);
}
.scn-song-bacchus .singer {
  position: absolute;
  bottom: 30%; left: 50%; transform: translateX(-50%);
  width: 24px; height: 60px;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform-origin: bottom center;
  animation: sb-singer 4s ease-in-out infinite;
}
.scn-song-bacchus .lyre {
  position: absolute;
  bottom: 38%; left: 48%; transform: translateX(-50%);
  width: 8px; height: 30px;
  background: linear-gradient(180deg, #d0a060 0%, #a08040 100%);
  border-radius: 20%;
  box-shadow: -4px 0 0 #a08040, 4px 0 0 #a08040;
  animation: sb-lyre 3s ease-in-out infinite alternate;
}
.scn-song-bacchus .crowd {
  position: absolute;
  bottom: 15%; width: 16px; height: 40px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
}
.scn-song-bacchus .crowd-1 {
  left: 20%;
  animation: sb-crowd1 6s ease-in-out infinite;
}
.scn-song-bacchus .crowd-2 {
  left: 70%;
  animation: sb-crowd2 7s ease-in-out infinite 2s;
}
.scn-song-bacchus .ribbon {
  position: absolute;
  bottom: 45%; left: 50%; transform: translateX(-50%);
  width: 60px; height: 4px;
  background: linear-gradient(90deg, #d08050, #f0a060, #d08050);
  border-radius: 2px;
  filter: blur(1px);
  animation: sb-ribbon 2s ease-in-out infinite alternate;
}

@keyframes sb-sky {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes sb-singer {
  0% { transform: translateX(-50%) rotate(0deg); }
  25% { transform: translateX(-50%) rotate(5deg) translateY(-2px); }
  50% { transform: translateX(-50%) rotate(-3deg); }
  75% { transform: translateX(-50%) rotate(4deg) translateY(1px); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes sb-lyre {
  0% { transform: translateX(-50%) rotate(-5deg); }
  50% { transform: translateX(-50%) rotate(5deg); }
  100% { transform: translateX(-50%) rotate(-3deg); }
}
@keyframes sb-crowd1 {
  0% { transform: rotate(0deg); }
  20% { transform: rotate(8deg) translateX(2px); }
  40% { transform: rotate(-6deg) translateX(-3px); }
  60% { transform: rotate(4deg); }
  80% { transform: rotate(-8deg) translateX(4px); }
  100% { transform: rotate(0deg); }
}
@keyframes sb-crowd2 {
  0% { transform: rotate(0deg); }
  20% { transform: rotate(-6deg) translateX(-2px); }
  40% { transform: rotate(8deg) translateX(3px); }
  60% { transform: rotate(-4deg); }
  80% { transform: rotate(6deg) translateX(-4px); }
  100% { transform: rotate(0deg); }
}
@keyframes sb-ribbon {
  0% { transform: translateX(-50%) scaleX(1); opacity: 0.6; }
  50% { transform: translateX(-50%) scaleX(1.3); opacity: 1; }
  100% { transform: translateX(-50%) scaleX(0.9); opacity: 0.7; }
}

/* party-breaks-up */
.scn-party-breaks-up {
  background:
    radial-gradient(ellipse at 50% 100%, #1a1a3a 0%, transparent 70%),
    linear-gradient(180deg, #0a0a2a 0%, #1a1a3a 50%, #2a2a4a 100%);
}
.scn-party-breaks-up .night-sky {
  position: absolute;
  inset: 0 0 40% 0;
  background: linear-gradient(180deg, #0a0a2a 0%, #1a1a3a 100%);
  animation: pb-sky 15s ease-in-out infinite alternate;
}
.scn-party-breaks-up .ground {
  position: absolute;
  bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(0deg, #1a1a2a 0%, #2a2a3a 100%);
  border-radius: 50% 50% 0 0 / 20% 20% 0 0;
}
.scn-party-breaks-up .figure {
  position: absolute;
  bottom: 20%; width: 18px; height: 50px;
  background: linear-gradient(180deg, #2a2a3a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
}
.scn-party-breaks-up .figure.exiting-a {
  left: 30%;
  animation: pb-exit-a 10s ease-in-out infinite;
}
.scn-party-breaks-up .figure.exiting-b {
  left: 60%;
  animation: pb-exit-b 12s ease-in-out infinite 3s;
}
.scn-party-breaks-up .lantern {
  position: absolute;
  bottom: 28%; left: 45%;
  width: 8px; height: 12px;
  background: radial-gradient(circle, #b08040 0%, #806030 60%);
  border-radius: 20%;
  box-shadow: 0 0 20px 6px rgba(176,128,64,.4);
  animation: pb-lantern 4s ease-in-out infinite alternate;
}
.scn-party-breaks-up .star {
  position: absolute;
  width: 3px; height: 3px;
  background: #ffffff;
  border-radius: 50%;
  filter: blur(1px);
  animation: pb-star 5s ease-in-out infinite alternate;
}
.scn-party-breaks-up .star-1 { top: 10%; left: 20%; animation-delay: 0s; }
.scn-party-breaks-up .star-2 { top: 15%; left: 70%; animation-delay: 2s; }
.scn-party-breaks-up .star-3 { top: 25%; left: 50%; animation-delay: 4s; }

@keyframes pb-sky {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes pb-exit-a {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(20px) rotate(5deg); }
  50% { transform: translateX(40px) rotate(0deg); }
  75% { transform: translateX(60px) rotate(-5deg); }
  100% { transform: translateX(80px) rotate(0deg); }
}
@keyframes pb-exit-b {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(-15px) rotate(-4deg); }
  50% { transform: translateX(-30px) rotate(0deg); }
  75% { transform: translateX(-45px) rotate(4deg); }
  100% { transform: translateX(-60px) rotate(0deg); }
}
@keyframes pb-lantern {
  0% { transform: rotate(-5deg); box-shadow: 0 0 15px 4px rgba(176,128,64,.3); }
  50% { transform: rotate(5deg); box-shadow: 0 0 25px 8px rgba(176,128,64,.5); }
  100% { transform: rotate(-3deg); box-shadow: 0 0 18px 5px rgba(176,128,64,.35); }
}
@keyframes pb-star {
  0% { opacity: 0.5; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.5); }
  100% { opacity: 0.6; transform: scale(0.8); }
}

/* final-farewell-at-sea */
.scn-final-farewell-at-sea {
  background:
    radial-gradient(ellipse at 50% 0%, #1a2a4a 0%, transparent 70%),
    linear-gradient(180deg, #0a1a2a 0%, #1a2a3a 50%, #2a3a4a 100%);
}
.scn-final-farewell-at-sea .sea {
  position: absolute;
  inset: 50% 0 0 0;
  background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%);
  border-radius: 60% 40% 0 0 / 30% 20% 0 0;
  animation: ff-sea 18s ease-in-out infinite alternate;
}
.scn-final-farewell-at-sea .deck {
  position: absolute;
  bottom: 30%; left: 20%; right: 20%; height: 10px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(0,0,0,.5);
}
.scn-final-farewell-at-sea .mast {
  position: absolute;
  bottom: 30%; left: 50%; transform: translateX(-50%);
  width: 4px; height: 80px;
  background: linear-gradient(0deg, #2a1a0a 0%, #3a2a1a 100%);
  border-radius: 2px;
}
.scn-final-farewell-at-sea .sail {
  position: absolute;
  bottom: 40%; left: 50%; transform: translateX(-50%);
  width: 40px; height: 50px;
  background: linear-gradient(0deg, #5a4a3a 0%, #4a3a2a 100%);
  clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%);
  animation: ff-sail 20s ease-in-out infinite alternate;
}
.scn-final-farewell-at-sea .figure {
  position: absolute;
  bottom: 26%; width: 16px; height: 40px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
}
.scn-final-farewell-at-sea .figure.captain {
  left: 45%;
  animation: ff-captain 6s ease-in-out infinite;
}
.scn-final-farewell-at-sea .figure.sailor {
  left: 60%;
  animation: ff-sailor 7s ease-in-out infinite 2s;
}
.scn-final-farewell-at-sea .trumpet {
  position: absolute;
  bottom: 34%; left: 52%;
  width: 6px; height: 20px;
  background: linear-gradient(180deg, #c0a060 0%, #a08040 100%);
  border-radius: 2px 2px 50% 50%;
  transform-origin: bottom left;
  animation: ff-trumpet 2s ease-in-out infinite alternate;
}
.scn-final-farewell-at-sea .ripple {
  position: absolute;
  bottom: 15%; left: 30%; width: 40%; height: 2px;
  background: radial-gradient(ellipse, rgba(255,255,255,0.1) 0%, transparent 80%);
  border-radius: 50%;
  filter: blur(1px);
  animation: ff-ripple 8s linear infinite;
}

@keyframes ff-sea {
  0% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
  100% { transform: translateY(2px); }
}
@keyframes ff-sail {
  0% { transform: translateX(-50%) scaleX(1); }
  50% { transform: translateX(-50%) scaleX(1.1); }
  100% { transform: translateX(-50%) scaleX(0.95); }
}
@keyframes ff-captain {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(5deg) translateX(2px); }
  50% { transform: rotate(-3deg); }
  75% { transform: rotate(4deg) translateX(-2px); }
  100% { transform: rotate(0deg); }
}
@keyframes ff-sailor {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(-4deg) translateX(-1px); }
  50% { transform: rotate(6deg); }
  75% { transform: rotate(-5deg) translateX(1px); }
  100% { transform: rotate(0deg); }
}
@keyframes ff-trumpet {
  0% { transform: rotate(-20deg); }
  50% { transform: rotate(20deg); }
  100% { transform: rotate(-15deg); }
}
@keyframes ff-ripple {
  0% { transform: translateX(-10%) scaleX(1); opacity: 0.4; }
  50% { transform: translateX(10%) scaleX(1.2); opacity: 0.6; }
  100% { transform: translateX(-10%) scaleX(1); opacity: 0.4; }
}

.scn-lepidus-sends-generals {
  background: linear-gradient(145deg, #fff8e7 0%, #f0e0c0 40%, #d8c8a8 100%),
              radial-gradient(ellipse at 30% 60%, #f5e6c8 0%, transparent 60%);
}
.scn-lepidus-sends-generals .room-frame {
  position: absolute; inset: 0; border: 24px solid #8b7355; box-shadow: inset 0 0 40px rgba(0,0,0,0.15);
  background: linear-gradient(180deg, #f5e6c8 0%, #e8d4b0 100%);
}
.scn-lepidus-sends-generals .table {
  position: absolute; bottom: 20%; left: 20%; right: 20%; height: 12%;
  background: linear-gradient(180deg, #6b4c2a 0%, #4a3220 100%);
  border-radius: 4px 4px 0 0; box-shadow: 0 6px 12px rgba(0,0,0,0.3);
}
.scn-lepidus-sends-generals .map {
  position: absolute; bottom: 26%; left: 30%; width: 30%; height: 12%;
  background: linear-gradient(135deg, #eeddc0 0%, #d4b88a 50%, #c8a87a 100%);
  border-radius: 2px; transform: rotate(-2deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: l-sg-map 8s ease-in-out infinite alternate;
}
.scn-lepidus-sends-generals .general {
  position: absolute; bottom: 32%;
  width: 40px; height: 80px;
  background: linear-gradient(180deg, #a07050 0%, #604030 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
}
.scn-lepidus-sends-generals .general-left {
  left: 25%;
  animation: l-sg-bow 6s ease-in-out infinite;
}
.scn-lepidus-sends-generals .general-right {
  right: 25%;
  animation: l-sg-bow 6s ease-in-out infinite alternate;
}
.scn-lepidus-sends-generals .window {
  position: absolute; top: 8%; left: 50%; transform: translateX(-50%);
  width: 80px; height: 60px;
  background: linear-gradient(180deg, #b8d0e0 0%, #a0b8d0 100%);
  border: 6px solid #8b7355; border-radius: 2px;
  box-shadow: inset 0 0 20px rgba(255,255,200,0.4);
}
.scn-lepidus-sends-generals .sunbeam {
  position: absolute; top: 8%; left: 48%; width: 30%; height: 70%;
  background: linear-gradient(180deg, rgba(255,240,180,0.25) 0%, transparent 100%);
  clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%);
  animation: l-sg-sunbeam 12s ease-in-out infinite alternate;
}
@keyframes l-sg-map {
  0% { transform: rotate(-2deg) scale(1); }
  50% { transform: rotate(1deg) scale(1.02); }
  100% { transform: rotate(-1deg) scale(0.98); }
}
@keyframes l-sg-bow {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-2px) rotate(2deg); }
  60% { transform: translateY(0) rotate(-1deg); }
  100% { transform: translateY(1px) rotate(0deg); }
}
@keyframes l-sg-sunbeam {
  0% { opacity: 0.6; transform: skewX(-5deg); }
  50% { opacity: 0.9; transform: skewX(3deg); }
  100% { opacity: 0.5; transform: skewX(-2deg); }
}

.scn-cleopatra-asks-for-music {
  background: linear-gradient(180deg, #0d0a1a 0%, #1a1226 40%, #2a1e3a 100%),
              radial-gradient(ellipse at 50% 30%, #4a3050 0%, transparent 70%);
}
.scn-cleopatra-asks-for-music .night-room {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 60%, #2a1e3a 0%, #0d0a1a 100%);
}
.scn-cleopatra-asks-for-music .candle {
  position: absolute; bottom: 40%; left: 15%;
  width: 12px; height: 30px;
  background: linear-gradient(180deg, #f0d080 0%, #c09040 100%);
  border-radius: 2px;
  animation: c-mu-candle 4s ease-in-out infinite alternate;
}
.scn-cleopatra-asks-for-music .candle-glow {
  position: absolute; bottom: 35%; left: 12%; width: 80px; height: 80px;
  background: radial-gradient(circle, rgba(240,200,100,0.6) 0%, transparent 70%);
  border-radius: 50%;
  animation: c-mu-glow 4s ease-in-out infinite alternate;
}
.scn-cleopatra-asks-for-music .cleopatra {
  position: absolute; bottom: 25%; left: 35%; width: 50px; height: 90px;
  background: linear-gradient(180deg, #3a2a4a 0%, #1a0e2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: c-mu-recline 7s ease-in-out infinite;
}
.scn-cleopatra-asks-for-music .musician {
  position: absolute; bottom: 25%; right: 20%; width: 35px; height: 70px;
  background: linear-gradient(180deg, #4a3a4a 0%, #2a1a2a 100%);
  border-radius: 50% 50% 35% 35% / 55% 55% 35% 35%;
  animation: c-mu-play 3s ease-in-out infinite;
}
.scn-cleopatra-asks-for-music .instrument {
  position: absolute; bottom: 30%; right: 28%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #8a6a3a 0%, #5a4220 100%);
  border-radius: 40% 60% 30% 30%;
  transform: rotate(-15deg);
  animation: c-mu-instr 3s ease-in-out infinite alternate;
}
@keyframes c-mu-candle {
  0% { transform: scaleY(1); opacity: 0.8; }
  50% { transform: scaleY(1.1); opacity: 1; }
  100% { transform: scaleY(0.95); opacity: 0.7; }
}
@keyframes c-mu-glow {
  0% { transform: scale(1); opacity: 0.5; }
  50% { transform: scale(1.2); opacity: 0.8; }
  100% { transform: scale(0.9); opacity: 0.4; }
}
@keyframes c-mu-recline {
  0% { transform: translateY(0) rotate(-3deg); }
  50% { transform: translateY(-4px) rotate(2deg); }
  100% { transform: translateY(1px) rotate(-1deg); }
}
@keyframes c-mu-play {
  0% { transform: translateX(0) rotate(5deg); }
  25% { transform: translateX(3px) rotate(8deg); }
  50% { transform: translateX(0) rotate(3deg); }
  75% { transform: translateX(-3px) rotate(8deg); }
  100% { transform: translateX(0) rotate(5deg); }
}
@keyframes c-mu-instr {
  0% { transform: rotate(-15deg) translateY(0); }
  50% { transform: rotate(-10deg) translateY(-2px); }
  100% { transform: rotate(-18deg) translateY(1px); }
}

.scn-charmian-recalls-fish-trick {
  background: linear-gradient(180deg, #7ab0d0 0%, #4a8aaa 50%, #2a6a8a 100%),
              radial-gradient(ellipse at 50% 20%, #d0e0f0 0%, transparent 60%);
}
.scn-charmian-recalls-fish-trick .parapet {
  position: absolute; bottom: 35%; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #b0a080 0%, #8a7a60 100%);
  border-radius: 10px 10px 0 0;
  box-shadow: 0 -8px 20px rgba(0,0,0,0.2);
}
.scn-charmian-recalls-fish-trick .sea-bg {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #4a8aaa 0%, #2a6a8a 100%);
  animation: c-ft-sea 10s ease-in-out infinite alternate;
}
.scn-charmian-recalls-fish-trick .figure-charmian {
  position: absolute; bottom: 40%; left: 25%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #c87868 0%, #a05848 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: c-ft-laugh 3s ease-in-out infinite;
}
.scn-charmian-recalls-fish-trick .fishing-line {
  position: absolute; bottom: 55%; left: 60%; width: 2px; height: 70px;
  background: #d0b080; transform-origin: top center;
  animation: c-ft-line 2s ease-in-out infinite alternate;
}
.scn-charmian-recalls-fish-trick .fish {
  position: absolute; bottom: 30%; left: 58%; width: 30px; height: 12px;
  background: radial-gradient(ellipse at 30% 50%, #d0b080 0%, #a08860 100%);
  border-radius: 50%; transform: rotate(20deg);
  animation: c-ft-fish 1.5s ease-in-out infinite;
}
.scn-charmian-recalls-fish-trick .splash {
  position: absolute; bottom: 32%; left: 55%; width: 40px; height: 20px;
  background: radial-gradient(circle, rgba(255,255,255,0.6) 0%, transparent 100%);
  border-radius: 50%;
  animation: c-ft-splash 0.8s ease-in-out infinite;
}
.scn-charmian-recalls-fish-trick .sun-glare {
  position: absolute; top: 8%; left: 20%; width: 60px; height: 60px;
  background: radial-gradient(circle, rgba(255,240,180,0.5) 0%, transparent 100%);
  border-radius: 50%;
  animation: c-ft-glare 6s ease-in-out infinite alternate;
}
@keyframes c-ft-sea {
  0% { background-position: 0 0; }
  100% { background-position: 20px 10px; }
}
@keyframes c-ft-laugh {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-10px) rotate(-5deg); }
  50% { transform: translateY(0) rotate(0deg); }
  75% { transform: translateY(-8px) rotate(5deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes c-ft-line {
  0% { transform: rotate(10deg) scaleY(1); }
  50% { transform: rotate(-5deg) scaleY(1.2); }
  100% { transform: rotate(5deg) scaleY(0.9); }
}
@keyframes c-ft-fish {
  0% { transform: rotate(20deg) translateY(0); }
  50% { transform: rotate(30deg) translateY(-3px); }
  100% { transform: rotate(15deg) translateY(2px); }
}
@keyframes c-ft-splash {
  0% { transform: scale(1); opacity: 0.8; }
  100% { transform: scale(2); opacity: 0; }
}
@keyframes c-ft-glare {
  0% { transform: translateX(0) scale(1); opacity: 0.3; }
  50% { transform: translateX(20px) scale(1.3); opacity: 0.7; }
  100% { transform: translateX(0) scale(0.9); opacity: 0.4; }
}

.scn-messenger-from-italy {
  background: linear-gradient(180deg, #e8dcc8 0%, #c8b8a0 50%, #a89880 100%),
              radial-gradient(ellipse at 40% 50%, #f0e0d0 0%, transparent 70%);
}
.scn-messenger-from-italy .chamber {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #d8c8b0 0%, #b8a890 100%);
  box-shadow: inset 0 0 50px rgba(0,0,0,0.1);
}
.scn-messenger-from-italy .doorway {
  position: absolute; top: 10%; right: 15%; width: 60px; height: 120px;
  background: #8a7a6a;
  border-radius: 4px 4px 0 0;
  box-shadow: 0 0 20px rgba(0,0,0,0.3);
  animation: m-it-door 8s ease-in-out infinite alternate;
}
.scn-messenger-from-italy .messenger {
  position: absolute; bottom: 20%; right: 20%; width: 35px; height: 80px;
  background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: m-it-enter 2s ease-in-out infinite;
}
.scn-messenger-from-italy .cleopatra-tense {
  position: absolute; bottom: 20%; left: 25%; width: 45px; height: 85px;
  background: linear-gradient(180deg, #5a4a6a 0%, #2a1a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: m-it-start 1.5s ease-in-out infinite alternate;
}
.scn-messenger-from-italy .scroll {
  position: absolute; bottom: 35%; right: 28%; width: 8px; height: 16px;
  background: #e0c890;
  border-radius: 2px;
  transform: rotate(30deg);
  animation: m-it-scroll 3s ease-in-out infinite alternate;
}
.scn-messenger-from-italy .shadow-slice {
  position: absolute; top: 20%; left: 30%; width: 40%; height: 60%;
  background: linear-gradient(135deg, rgba(0,0,0,0.15) 0%, transparent 100%);
  clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%);
  animation: m-it-shadow 5s ease-in-out infinite alternate;
}
@keyframes m-it-door {
  0% { transform: scaleX(1); opacity: 1; }
  50% { transform: scaleX(1.1); opacity: 0.9; }
  100% { transform: scaleX(1); opacity: 1; }
}
@keyframes m-it-enter {
  0% { transform: translateX(0) scale(1); }
  50% { transform: translateX(-8px) scale(1.05); }
  100% { transform: translateX(0) scale(0.95); }
}
@keyframes m-it-start {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-3px) rotate(3deg); }
  60% { transform: translateY(0) rotate(-2deg); }
  100% { transform: translateY(2px) rotate(0deg); }
}
@keyframes m-it-scroll {
  0% { transform: rotate(30deg) translateY(0); }
  50% { transform: rotate(20deg) translateY(-2px); }
  100% { transform: rotate(35deg) translateY(1px); }
}
@keyframes m-it-shadow {
  0% { opacity: 0.3; transform: skewX(0deg); }
  50% { opacity: 0.6; transform: skewX(5deg); }
  100% { opacity: 0.4; transform: skewX(-3deg); }
}

.scn-antony-offers-golden-armour {
  background: linear-gradient(180deg, #f8e4c0 0%, #e8c878 30%, #d4a040 60%, #a07020 100%),
              radial-gradient(ellipse at 50% 20%, rgba(255,220,140,0.6) 0%, transparent 60%);
}
.scn-antony-offers-golden-armour .sky { position:absolute; inset:0 0 55% 0; background: linear-gradient(180deg, #ffe8b0 0%, #f8d890 40%, transparent 100%); animation: aga-sky 20s ease-in-out infinite alternate; }
.scn-antony-offers-golden-armour .sun-glow { position:absolute; top:5%; left:45%; width:120px; height:120px; background: radial-gradient(circle, rgba(255,230,160,0.8) 0%, rgba(255,200,80,0.4) 40%, transparent 70%); border-radius:50%; filter:blur(8px); animation: aga-glow 6s ease-in-out infinite alternate; }
.scn-antony-offers-golden-armour .ground { position:absolute; bottom:0; left:0; right:0; height:55%; background: linear-gradient(180deg, #b88840 0%, #8a6830 40%, #5a4420 100%); border-radius:30% 70% 0 0 / 20% 40% 0 0; box-shadow: inset 0 20px 40px rgba(0,0,0,0.3); }
.scn-antony-offers-golden-armour .armour { position:absolute; bottom:35%; left:55%; width:80px; height:90px; transform:translateX(-50%); background: linear-gradient(135deg, #f0d070 0%, #c8a030 40%, #a08020 100%); border-radius:20% 20% 30% 30% / 30% 30% 40% 40%; box-shadow: 0 4px 20px rgba(200,160,48,0.6), inset 0 -8px 20px rgba(120,80,20,0.5); animation: aga-armour 8s ease-in-out infinite; }
.scn-antony-offers-golden-armour .giver { position:absolute; bottom:30%; left:35%; width:28px; height:60px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform:rotate(-5deg); animation: aga-giver 5s ease-in-out infinite; }
.scn-antony-offers-golden-armour .receiver { position:absolute; bottom:30%; left:60%; width:26px; height:55px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform:rotate(8deg); animation: aga-receiver 5s ease-in-out infinite reverse; }
.scn-antony-offers-golden-armour .dust { position:absolute; bottom:30%; left:20%; width:120px; height:40px; background: radial-gradient(ellipse at 50% 50%, rgba(200,160,80,0.25) 0%, transparent 70%); filter:blur(10px); animation: aga-drift 30s linear infinite; }
.scn-antony-offers-golden-armour .dust-far { position:absolute; bottom:28%; right:10%; width:100px; height:30px; background: radial-gradient(ellipse at 50% 50%, rgba(200,160,80,0.15) 0%, transparent 70%); filter:blur(8px); animation: aga-drift 40s linear infinite reverse; }

@keyframes aga-sky { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes aga-glow { 0% { transform:scale(0.95); opacity:0.8; } 50% { transform:scale(1.05); opacity:1; } 100% { transform:scale(0.9); opacity:0.7; } }
@keyframes aga-armour { 0%,100% { transform:translateX(-50%) rotate(0deg); } 50% { transform:translateX(-50%) rotate(2deg) scale(1.02); } }
@keyframes aga-giver { 0% { transform:rotate(-5deg) translateX(0); } 50% { transform:rotate(-2deg) translateX(-3px); } 100% { transform:rotate(-5deg) translateX(0); } }
@keyframes aga-receiver { 0% { transform:rotate(8deg) translateX(0); } 50% { transform:rotate(5deg) translateX(2px); } 100% { transform:rotate(8deg) translateX(0); } }
@keyframes aga-drift { 0% { transform:translateX(-20px) scale(1); } 50% { transform:translateX(10px) scale(1.2); } 100% { transform:translateX(-20px) scale(1); } }

.scn-antony-orders-triumphant-march {
  background: linear-gradient(180deg, #ffd890 0%, #e8b860 35%, #c89040 65%, #906020 100%),
              radial-gradient(ellipse at 50% 0%, rgba(255,220,140,0.5) 0%, transparent 60%);
}
.scn-antony-orders-triumphant-march .sky { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #ffd680 0%, #f8c060 30%, transparent 100%); animation: atm-sky 20s ease-in-out infinite alternate; }
.scn-antony-orders-triumphant-march .sunburst { position:absolute; top:8%; left:30%; width:100px; height:100px; background: radial-gradient(circle, rgba(255,200,80,0.9) 0%, rgba(255,180,60,0.3) 40%, transparent 70%); border-radius:50%; filter:blur(6px); animation: atm-sun 8s ease-in-out infinite; }
.scn-antony-orders-triumphant-march .road { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #c89848 0%, #a07830 40%, #684820 100%); clip-path:polygon(0% 100%, 0% 40%, 30% 20%, 70% 20%, 100% 40%, 100% 100%); box-shadow: inset 0 20px 40px rgba(0,0,0,0.25); }
.scn-antony-orders-triumphant-march .banner-1 { position:absolute; bottom:30%; left:25%; width:30px; height:50px; background: linear-gradient(180deg, #c8553d 0%, #a0461a 100%); border-radius:2px; transform:rotate(-10deg); box-shadow: 0 4px 8px rgba(0,0,0,0.3); animation: atm-banner 6s ease-in-out infinite; }
.scn-antony-orders-triumphant-march .banner-2 { position:absolute; bottom:28%; right:30%; width:30px; height:50px; background: linear-gradient(180deg, #a0461a 0%, #5e1a1d 100%); border-radius:2px; transform:rotate(8deg); box-shadow: 0 4px 8px rgba(0,0,0,0.3); animation: atm-banner 7s ease-in-out infinite reverse; }
.scn-antony-orders-triumphant-march .marcher-1 { position:absolute; bottom:22%; left:15%; width:22px; height:50px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform:translateY(0); animation: atm-march 4s ease-in-out infinite; }
.scn-antony-orders-triumphant-march .marcher-2 { position:absolute; bottom:22%; left:38%; width:22px; height:50px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform:translateY(0); animation: atm-march 4.5s ease-in-out infinite 0.5s; }
.scn-antony-orders-triumphant-march .marcher-3 { position:absolute; bottom:22%; left:60%; width:22px; height:50px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform:translateY(0); animation: atm-march 5s ease-in-out infinite 1s; }
.scn-antony-orders-triumphant-march .dust-cloud { position:absolute; bottom:18%; left:20%; width:160px; height:50px; background: radial-gradient(ellipse at 50% 50%, rgba(180,140,80,0.3) 0%, transparent 70%); filter:blur(12px); animation: atm-drift 25s linear infinite; }

@keyframes atm-sky { 0% { opacity:0.85; } 50% { opacity:1; } 100% { opacity:0.75; } }
@keyframes atm-sun { 0% { transform:scale(0.95) rotate(0deg); opacity:0.8; } 50% { transform:scale(1.1) rotate(5deg); opacity:1; } 100% { transform:scale(0.95) rotate(0deg); opacity:0.8; } }
@keyframes atm-banner { 0%,100% { transform:rotate(-10deg) translateX(0); } 50% { transform:rotate(-6deg) translateX(-2px); } }
@keyframes atm-march { 0% { transform:translateY(0) rotate(0deg); } 25% { transform:translateY(-3px) rotate(2deg); } 50% { transform:translateY(0) rotate(0deg); } 75% { transform:translateY(-3px) rotate(-2deg); } 100% { transform:translateY(0) rotate(0deg); } }
@keyframes atm-drift { 0% { transform:translateX(-30px) scale(1); } 50% { transform:translateX(20px) scale(1.15); } 100% { transform:translateX(-30px) scale(1); } }

.scn-enobarbus-dies {
  background: linear-gradient(180deg, #0a0a1a 0%, #14142e 30%, #1a1a3e 60%, #0e0e20 100%),
              radial-gradient(ellipse at 50% 15%, #2a2a4e 0%, transparent 70%);
}
.scn-enobarbus-dies .night-sky { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #0a0a1a 0%, #14143a 40%, transparent 100%); animation: ed-sky 18s ease-in-out infinite alternate; }
.scn-enobarbus-dies .moon { position:absolute; top:8%; left:70%; width:50px; height:50px; background: radial-gradient(circle, #e8e8f0 0%, #c0c0d0 60%, #a0a0b8 100%); border-radius:50%; box-shadow: 0 0 20px 6px rgba(160,160,184,0.4); animation: ed-moon 12s ease-in-out infinite alternate; }
.scn-enobarbus-dies .moon-halo { position:absolute; top:5%; left:68%; width:80px; height:80px; background: radial-gradient(circle, rgba(200,200,220,0.15) 0%, transparent 70%); border-radius:50%; filter:blur(10px); animation: ed-halo 14s ease-in-out infinite; }
.scn-enobarbus-dies .hills-dark { position:absolute; bottom:30%; left:0; right:0; height:20%; background: linear-gradient(180deg, #1a1a3a 0%, #0e0e24 100%); border-radius:60% 40% 0 0 / 40% 30% 0 0; box-shadow: inset 0 8px 16px rgba(0,0,0,0.5); animation: ed-hills 20s ease-in-out infinite alternate; }
.scn-enobarbus-dies .ground-shadow { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #0a0a1a 0%, #060610 100%); box-shadow: inset 0 10px 30px rgba(0,0,0,0.6); }
.scn-enobarbus-dies .fallen-figure { position:absolute; bottom:8%; left:40%; width:30px; height:40px; background: linear-gradient(180deg, #1a1a2e 0%, #0a0a18 100%); border-radius:50% 50% 30% 30% / 60% 60% 30% 30%; transform:rotate(-70deg); box-shadow: 0 0 8px rgba(0,0,0,0.5); animation: ed-fall 8s ease-in-out infinite; }
.scn-enobarbus-dies .dark-pool { position:absolute; bottom:6%; left:35%; width:60px; height:20px; background: radial-gradient(ellipse at 50% 50%, rgba(10,10,30,0.8) 0%, transparent 70%); border-radius:50%; filter:blur(6px); animation: ed-pool 10s ease-in-out infinite; }
.scn-enobarbus-dies .wind-line { position:absolute; top:30%; left:10%; width:200px; height:2px; background: linear-gradient(90deg, transparent 0%, rgba(200,200,220,0.08) 50%, transparent 100%); filter:blur(1px); animation: ed-wind 25s linear infinite; }

@keyframes ed-sky { 0% { opacity:0.85; } 50% { opacity:1; } 100% { opacity:0.75; } }
@keyframes ed-moon { 0% { transform:translateY(0); opacity:0.9; } 50% { transform:translateY(-4px); opacity:1; } 100% { transform:translateY(0); opacity:0.85; } }
@keyframes ed-halo { 0% { transform:scale(0.95); opacity:0.6; } 50% { transform:scale(1.05); opacity:0.8; } 100% { transform:scale(0.95); opacity:0.6; } }
@keyframes ed-hills { 0% { transform:translateY(0); } 50% { transform:translateY(2px); } 100% { transform:translateY(0); } }
@keyframes ed-fall { 0%,100% { transform:rotate(-70deg) translateY(0); opacity:0.8; } 50% { transform:rotate(-65deg) translateY(-2px); opacity:1; } }
@keyframes ed-pool { 0% { transform:scaleX(1); opacity:0.5; } 50% { transform:scaleX(1.1); opacity:0.7; } 100% { transform:scaleX(1); opacity:0.5; } }
@keyframes ed-wind { 0% { transform:translateX(-100px); opacity:0; } 50% { opacity:0.6; } 100% { transform:translateX(100vw); opacity:0; } }

.scn-enobarbus-prays-for-death {
  background: linear-gradient(180deg, #0a0a20 0%, #16163a 35%, #1a1a40 60%, #0a0a1a 100%),
              radial-gradient(ellipse at 30% 10%, #2a2a5e 0%, transparent 60%);
}
.scn-enobarbus-prays-for-death .night-sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #0a0a1a 0%, #181840 40%, transparent 100%); animation: epd-sky 20s ease-in-out infinite alternate; }
.scn-enobarbus-prays-for-death .moon-crescent { position:absolute; top:6%; left:25%; width:40px; height:40px; background: radial-gradient(circle at 35% 50%, #e0e0f0 0%, #c8c8e0 40%, transparent 50%); border-radius:50%; box-shadow: 0 0 16px 4px rgba(200,200,224,0.3); animation: epd-moon 14s ease-in-out infinite; }
.scn-enobarbus-prays-for-death .moon-glow { position:absolute; top:3%; left:22%; width:70px; height:70px; background: radial-gradient(circle, rgba(200,200,224,0.1) 0%, transparent 70%); border-radius:50%; filter:blur(12px); animation: epd-glow 16s ease-in-out infinite alternate; }
.scn-enobarbus-prays-for-death .cliff { position:absolute; bottom:30%; right:10%; width:120px; height:100%; background: linear-gradient(180deg, #1a1a3a 0%, #12122a 50%, #0a0a1a 100%); clip-path:polygon(30% 0%, 100% 0%, 100% 100%, 0% 100%); box-shadow: inset -10px 0 20px rgba(0,0,0,0.5); animation: epd-cliff 22s ease-in-out infinite alternate; }
.scn-enobarbus-prays-for-death .rocky-ground { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #12122e 0%, #0a0a1a 100%); box-shadow: inset 0 10px 30px rgba(0,0,0,0.5); border-radius:20% 80% 0 0 / 30% 50% 0 0; }
.scn-enobarbus-prays-for-death .kneeling-figure { position:absolute; bottom:12%; left:30%; width:28px; height:45px; background: linear-gradient(180deg, #1a1a2e 0%, #0a0a18 100%); border-radius:50% 50% 40% 40% / 60% 60% 30% 30%; transform:rotate(3deg); box-shadow: 0 0 12px rgba(0,0,0,0.4); animation: epd-kneel 7s ease-in-out infinite; }
.scn-enobarbus-prays-for-death .outstretched-arm { position:absolute; bottom:14%; left:20%; width:32px; height:8px; background: linear-gradient(180deg, #1a1a2e 0%, #0a0a18 100%); border-radius:40% 60% 40% 60% / 50% 50% 50% 50%; transform:rotate(30deg); transform-origin:100% 50%; box-shadow: 0 0 6px rgba(0,0,0,0.3); animation: epd-arm 9s ease-in-out infinite; }
.scn-enobarbus-prays-for-death .shadow-pool { position:absolute; bottom:8%; left:25%; width:50px; height:16px; background: radial-gradient(ellipse at 50% 50%, rgba(5,5,20,0.6) 0%, transparent 70%); border-radius:50%; filter:blur(5px); animation: epd-shadow 12s ease-in-out infinite; }

@keyframes epd-sky { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.75; } }
@keyframes epd-moon { 0% { transform:translateY(0); opacity:0.8; } 50% { transform:translateY(-3px); opacity:0.95; } 100% { transform:translateY(0); opacity:0.8; } }
@keyframes epd-glow { 0% { transform:scale(0.95); opacity:0.5; } 50% { transform:scale(1.05); opacity:0.7; } 100% { transform:scale(0.95); opacity:0.5; } }
@keyframes epd-cliff { 0% { transform:translateX(0); } 50% { transform:translateX(2px); } 100% { transform:translateX(0); } }
@keyframes epd-kneel { 0%,100% { transform:rotate(3deg) translateY(0); } 50% { transform:rotate(5deg) translateY(-2px); } }
@keyframes epd-arm { 0%,100% { transform:rotate(30deg); } 50% { transform:rotate(25deg); } }
@keyframes epd-shadow { 0% { transform:scaleX(1); opacity:0.4; } 50% { transform:scaleX(1.1); opacity:0.6; } 100% { transform:scaleX(1); opacity:0.4; } }

.scn-caesar-comfort-octavia {
  background: linear-gradient(180deg, #d4b896 0%, #b89a7a 50%, #a08060 100%),
              radial-gradient(ellipse at 70% 30%, #ffe0b0 0%, transparent 60%);
}
.scn-caesar-comfort-octavia .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(135deg, #e8d4b0 0%, #d0b890 50%, #c0a880 100%);
  border-radius: 0 0 20% 20% / 0 0 10% 10%;
}
.scn-caesar-comfort-octavia .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(0deg, #8a6a4a 0%, #a08060 30%, #b89a7a 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.2);
}
.scn-caesar-comfort-octavia .window {
  position: absolute; top: 10%; left: 20%; width: 30%; height: 40%;
  background: linear-gradient(135deg, #ffe8c0 0%, #ffd8a0 50%, #ecc890 100%);
  border: 6px solid #6a4a2a;
  border-radius: 4px;
  box-shadow: inset 0 0 30px #ffcc88, 0 0 20px 5px rgba(255,200,100,0.4);
  animation: cco-window 6s ease-in-out infinite alternate;
}
.scn-caesar-comfort-octavia .couch {
  position: absolute; bottom: 25%; left: 40%; width: 30%; height: 15%;
  background: linear-gradient(180deg, #a06040 0%, #804020 100%);
  border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%;
  box-shadow: 0 8px 12px rgba(0,0,0,0.3);
  animation: cco-couch 8s ease-in-out infinite;
}
.scn-caesar-comfort-octavia .figure-left {
  position: absolute; bottom: 28%; left: 25%; width: 10%; height: 35%;
  background: linear-gradient(180deg, #705040 0%, #503020 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cco-figure 5s ease-in-out infinite;
}
.scn-caesar-comfort-octavia .figure-right {
  position: absolute; bottom: 28%; right: 25%; width: 10%; height: 38%;
  background: linear-gradient(180deg, #604030 0%, #402020 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cco-figure 5s ease-in-out infinite reverse;
}
.scn-caesar-comfort-octavia .sunbeam {
  position: absolute; top: 10%; left: 20%; width: 30%; height: 60%;
  background: linear-gradient(180deg, rgba(255,230,180,0.3) 0%, transparent 70%);
  clip-path: polygon(0 0, 100% 0, 70% 100%, 20% 100%);
  animation: cco-sunbeam 10s ease-in-out infinite alternate;
}
@keyframes cco-window { 0% { opacity:0.8; transform:scaleY(0.95); } 50% { opacity:1; transform:scaleY(1); } 100% { opacity:0.85; transform:scaleY(0.97); } }
@keyframes cco-couch { 0%,100% { transform:translateY(0); } 25% { transform:translateY(-2px); } 75% { transform:translateY(1px); } }
@keyframes cco-figure { 0%,100% { transform:rotate(-2deg) translateX(0); } 50% { transform:rotate(2deg) translateX(3px); } }
@keyframes cco-sunbeam { 0% { opacity:0.2; transform:skewX(-5deg) translateX(-5px); } 100% { opacity:0.4; transform:skewX(5deg) translateX(5px); } }

.scn-caesar-calls-antony-whore {
  background: linear-gradient(180deg, #b0a090 0%, #908070 40%, #706050 100%),
              radial-gradient(ellipse at 50% 60%, #c0b0a0 0%, transparent 70%);
}
.scn-caesar-calls-antony-whore .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #a09080 0%, #c0b0a0 50%, #908070 100%);
  box-shadow: inset 0 -20px 30px rgba(0,0,0,0.3);
}
.scn-caesar-calls-antony-whore .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #504030 0%, #706050 60%, #908070 100%);
}
.scn-caesar-calls-antony-whore .table {
  position: absolute; bottom: 25%; left: 35%; width: 30%; height: 8%;
  background: linear-gradient(0deg, #604030 0%, #806050 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: cca-table 4s ease-in-out infinite;
}
.scn-caesar-calls-antony-whore .figure-left {
  position: absolute; bottom: 25%; left: 20%; width: 12%; height: 40%;
  background: linear-gradient(180deg, #806050 0%, #503020 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cca-figure-l 3s ease-in-out infinite;
}
.scn-caesar-calls-antony-whore .figure-right {
  position: absolute; bottom: 25%; right: 20%; width: 12%; height: 42%;
  background: linear-gradient(180deg, #705040 0%, #402010 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cca-figure-r 3s ease-in-out infinite;
}
.scn-caesar-calls-antony-whore .shadow-left {
  position: absolute; bottom: 25%; left: 18%; width: 15%; height: 10%;
  background: rgba(0,0,0,0.2);
  border-radius: 50%;
  filter: blur(8px);
  animation: cca-shadow 3s ease-in-out infinite;
}
.scn-caesar-calls-antony-whore .shadow-right {
  position: absolute; bottom: 25%; right: 18%; width: 15%; height: 10%;
  background: rgba(0,0,0,0.2);
  border-radius: 50%;
  filter: blur(8px);
  animation: cca-shadow 3s ease-in-out infinite reverse;
}
.scn-caesar-calls-antony-whore .dust {
  position: absolute; top: 20%; left: 10%; width: 80%; height: 40%;
  background: radial-gradient(ellipse at 50% 50%, rgba(200,180,160,0.1) 0%, transparent 70%);
  filter: blur(5px);
  animation: cca-dust 20s linear infinite;
}
@keyframes cca-table { 0%,100% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-3px) rotate(1deg); } }
@keyframes cca-figure-l { 0%,100% { transform:rotate(0) translateX(0); } 25% { transform:rotate(-3deg) translateX(2px); } 75% { transform:rotate(3deg) translateX(-2px); } }
@keyframes cca-figure-r { 0%,100% { transform:rotate(0) translateX(0); } 25% { transform:rotate(3deg) translateX(-2px); } 75% { transform:rotate(-3deg) translateX(2px); } }
@keyframes cca-shadow { 0%,100% { opacity:0.3; transform:scaleX(1); } 50% { opacity:0.6; transform:scaleX(1.2); } }
@keyframes cca-dust { 0% { transform:translateX(-20px); opacity:0; } 10% { opacity:0.5; } 90% { opacity:0.5; } 100% { transform:translateX(20px); opacity:0; } }

.scn-cleopatra-war-arguments {
  background: linear-gradient(180deg, #a89888 0%, #887868 40%, #685848 100%),
              radial-gradient(ellipse at 50% 70%, #c0a890 0%, transparent 60%);
}
.scn-cleopatra-war-arguments .wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(135deg, #b0a090 0%, #908070 100%);
  border-radius: 0 0 30% 30% / 0 0 20% 20%;
}
.scn-cleopatra-war-arguments .table {
  position: absolute; bottom: 25%; left: 20%; width: 60%; height: 15%;
  background: linear-gradient(180deg, #706050 0%, #504030 100%);
  border-radius: 10% 10% 5% 5% / 20% 20% 10% 10%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.4);
  animation: cwa-table 6s ease-in-out infinite;
}
.scn-cleopatra-war-arguments .map {
  position: absolute; bottom: 28%; left: 25%; width: 50%; height: 10%;
  background: linear-gradient(135deg, #c0b090 0%, #a08870 50%, #b0a080 100%);
  border-radius: 4px;
  box-shadow: inset 2px 2px 4px rgba(0,0,0,0.2);
  animation: cwa-map 8s ease-in-out infinite alternate;
}
.scn-cleopatra-war-arguments .hand-left {
  position: absolute; bottom: 35%; left: 30%; width: 6%; height: 12%;
  background: linear-gradient(180deg, #d0b8a0 0%, #a08870 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom right;
  animation: cwa-hand-l 4s ease-in-out infinite;
}
.scn-cleopatra-war-arguments .hand-right {
  position: absolute; bottom: 35%; right: 30%; width: 6%; height: 12%;
  background: linear-gradient(180deg, #c0a890 0%, #907868 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom left;
  animation: cwa-hand-r 4s ease-in-out infinite;
}
.scn-cleopatra-war-arguments .figure {
  position: absolute; bottom: 25%; left: 10%; width: 10%; height: 35%;
  background: linear-gradient(180deg, #807060 0%, #504030 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  animation: cwa-figure 5s ease-in-out infinite;
}
.scn-cleopatra-war-arguments .lamp {
  position: absolute; top: 20%; left: 48%; width: 4%; height: 6%;
  background: radial-gradient(circle, #ffd080 0%, #b08040 70%);
  border-radius: 50%;
  box-shadow: 0 0 20px 6px rgba(255,208,128,0.6), 0 0 40px 12px rgba(255,208,128,0.3);
  animation: cwa-lamp 3s ease-in-out infinite alternate;
}
.scn-cleopatra-war-arguments .scroll {
  position: absolute; bottom: 30%; left: 55%; width: 8%; height: 6%;
  background: linear-gradient(90deg, #d0c0a0 0%, #b0a080 100%);
  border-radius: 4px 4px 40% 40% / 10% 10% 30% 30%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: cwa-scroll 10s ease-in-out infinite;
}
@keyframes cwa-table { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-2px) scale(1.01); } }
@keyframes cwa-map { 0% { opacity:0.8; transform:rotate(-1deg); } 100% { opacity:1; transform:rotate(1deg); } }
@keyframes cwa-hand-l { 0%,100% { transform:rotate(0); } 50% { transform:rotate(10deg) translateX(-2px); } }
@keyframes cwa-hand-r { 0%,100% { transform:rotate(0); } 50% { transform:rotate(-10deg) translateX(2px); } }
@keyframes cwa-figure { 0%,100% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-2px) rotate(2deg); } }
@keyframes cwa-lamp { 0% { box-shadow: 0 0 15px 4px rgba(255,208,128,0.4); } 100% { box-shadow: 0 0 30px 10px rgba(255,208,128,0.8); } }
@keyframes cwa-scroll { 0%,100% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-1px) rotate(3deg); } }

.scn-enobarbus-warns-cleopatra {
  background: linear-gradient(180deg, #b0a090 0%, #908070 40%, #706050 100%),
              radial-gradient(ellipse at 40% 50%, #c8b8a8 0%, transparent 70%);
}
.scn-enobarbus-warns-cleopatra .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(135deg, #a89888 0%, #887868 100%);
  border-radius: 0 0 15% 15% / 0 0 10% 10%;
}
.scn-enobarbus-warns-cleopatra .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(0deg, #605040 0%, #807060 60%, #a09080 100%);
}
.scn-enobarbus-warns-cleopatra .column {
  position: absolute; bottom: 20%; left: 15%; width: 5%; height: 60%;
  background: linear-gradient(90deg, #c0b0a0 0%, #a09080 30%, #c0b0a0 70%, #908070 100%);
  border-radius: 4px;
  box-shadow: 2px 0 6px rgba(0,0,0,0.2);
  animation: ewc-column 12s ease-in-out infinite alternate;
}
.scn-enobarbus-warns-cleopatra .figure-left {
  position: absolute; bottom: 25%; left: 35%; width: 12%; height: 40%;
  background: linear-gradient(180deg, #807060 0%, #504030 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ewc-figure-l 6s ease-in-out infinite;
}
.scn-enobarbus-warns-cleopatra .figure-right {
  position: absolute; bottom: 25%; right: 25%; width: 12%; height: 42%;
  background: linear-gradient(180deg, #705040 0%, #402010 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ewc-figure-r 6s ease-in-out infinite;
}
.scn-enobarbus-warns-cleopatra .hand-raising {
  position: absolute; bottom: 40%; right: 32%; width: 8%; height: 14%;
  background: linear-gradient(180deg, #d0b8a0 0%, #a08870 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: ewc-hand 4s ease-in-out infinite;
}
.scn-enobarbus-warns-cleopatra .shadow {
  position: absolute; bottom: 20%; left: 30%; width: 40%; height: 15%;
  background: rgba(0,0,0,0.15);
  border-radius: 50%;
  filter: blur(10px);
  animation: ewc-shadow 6s ease-in-out infinite;
}
.scn-enobarbus-warns-cleopatra .torch {
  position: absolute; top: 15%; right: 20%; width: 4%; height: 10%;
  background: linear-gradient(180deg, #ffd080 0%, #b08040 60%, #604020 100%);
  border-radius: 50% 50% 20% 20% / 30% 30% 10% 10%;
  box-shadow: 0 0 20px 6px rgba(255,200,100,0.6);
  animation: ewc-torch 3s ease-in-out infinite alternate;
}
@keyframes ewc-column { 0% { transform:scaleY(0.98); opacity:0.9; } 100% { transform:scaleY(1.02); opacity:1; } }
@keyframes ewc-figure-l { 0%,100% { transform:rotate(0) translateX(0); } 50% { transform:rotate(-3deg) translateX(5px); } }
@keyframes ewc-figure-r { 0%,100% { transform:rotate(0) translateX(0); } 50% { transform:rotate(2deg) translateX(-3px); } }
@keyframes ewc-hand { 0%,100% { transform:rotate(0) translateY(0); } 25% { transform:rotate(-5deg) translateY(-4px); } 75% { transform:rotate(5deg) translateY(-2px); } }
@keyframes ewc-shadow { 0%,100% { opacity:0.2; transform:scaleX(1); } 50% { opacity:0.4; transform:scaleX(1.1); } }
@keyframes ewc-torch { 0% { box-shadow: 0 0 15px 4px rgba(255,200,100,0.4); transform:scaleY(0.95); } 100% { box-shadow: 0 0 30px 10px rgba(255,200,100,0.8); transform:scaleY(1.05); } }

/* antony-prepares-death */
.scn-antony-prepares-death {
  background:
    linear-gradient(180deg, #1a0e1a 0%, #2a1320 30%, #0d0a12 70%, #08060a 100%),
    radial-gradient(ellipse at 50% 80%, #3a1a20 0%, transparent 60%);
}
.scn-antony-prepares-death .room-bg { position:absolute; inset:0; background: linear-gradient(180deg, #1a1220 0%, rgba(10,5,12,.8) 100%); }
.scn-antony-prepares-death .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(0deg, #2a1a0e 0%, #1a0e08 100%); }
.scn-antony-prepares-death .body { position:absolute; bottom:22%; left:35%; width:30%; height:20%; background: radial-gradient(ellipse at 50% 60%, #3a2a20 0%, #1a1210 70%); border-radius: 50% / 40% 40% 60% 60%; transform-origin: bottom center; animation: apd-body 4s ease-in-out infinite; }
.scn-antony-prepares-death .torch { position:absolute; bottom:35%; left:68%; width:8px; height:12px; background: #5a3a1a; border-radius: 20%; box-shadow: 0 -20px 30px 10px #b85a20; animation: apd-torch 1.5s ease-in-out infinite alternate; }
.scn-antony-prepares-death .ember { position:absolute; width:4px; height:4px; background: radial-gradient(circle, #e08030 0%, #b04010 60%); border-radius:50%; box-shadow: 0 0 6px 2px #c06020; }
.scn-antony-prepares-death .ember.a { bottom:38%; left:65%; animation: apd-ember 3s ease-in infinite; }
.scn-antony-prepares-death .ember.b { bottom:36%; left:70%; animation: apd-ember 3.7s ease-in infinite 0.6s; }
.scn-antony-prepares-death .shadow { position:absolute; bottom:21%; left:30%; width:40%; height:10%; background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,.6) 0%, transparent 70%); animation: apd-shadow 5s ease-in-out infinite; }
@keyframes apd-body {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-2px) scaleY(1.02); }
  100% { transform: translateY(0) scaleY(1); }
}
@keyframes apd-torch {
  0% { box-shadow: 0 -20px 25px 8px #b85a20, 0 -10px 15px 4px #a04010; opacity:.7; }
  50% { box-shadow: 0 -20px 40px 14px #e07030, 0 -10px 20px 6px #c05020; opacity:1; }
  100% { box-shadow: 0 -20px 30px 10px #b85a20, 0 -10px 18px 5px #a04010; opacity:.8; }
}
@keyframes apd-ember {
  0% { transform: translate(0,0) scale(1); opacity:1; }
  50% { transform: translate(-8px,-15px) scale(0.6); opacity:0.5; }
  100% { transform: translate(4px,-30px) scale(0); opacity:0; }
}
@keyframes apd-shadow {
  0% { opacity:0.4; transform: scaleX(1); }
  50% { opacity:0.7; transform: scaleX(1.1); }
  100% { opacity:0.4; transform: scaleX(1); }
}

/* antony-sees-dido */
.scn-antony-sees-dido {
  background:
    linear-gradient(180deg, #0a0a1a 0%, #1a1a30 40%, #0a0a20 100%),
    radial-gradient(ellipse at 60% 40%, #2a2040 0%, transparent 70%);
}
.scn-antony-sees-dido .deep-bg { position:absolute; inset:0; background: linear-gradient(0deg, rgba(0,0,10,.9) 0%, transparent 50%); }
.scn-antony-sees-dido .floor-grass { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(0deg, #0a1a0a 0%, #1a2a1a 50%, transparent 100%); }
.scn-antony-sees-dido .anton-fig { position:absolute; bottom:25%; left:30%; width:12%; height:30%; background: radial-gradient(ellipse at 50% 40%, #2a1a2a 0%, #0a0a12 80%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: asd-anton 5s ease-in-out infinite; }
.scn-antony-sees-dido .dido-ghost { position:absolute; bottom:35%; left:60%; width:10%; height:28%; background: radial-gradient(ellipse at 50% 30%, rgba(180,160,200,0.4) 0%, rgba(120,100,140,0.1) 80%); border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%; filter: blur(2px); animation: asd-dido 8s ease-in-out infinite; }
.scn-antony-sees-dido .flower { position:absolute; width:6px; height:6px; background: radial-gradient(circle, #805060 0%, #402030 80%); border-radius:50%; box-shadow: 0 0 4px 1px #402030; }
.scn-antony-sees-dido .flower.a { bottom:28%; left:58%; animation: asd-flower 4s ease-in-out infinite; }
.scn-antony-sees-dido .flower.b { bottom:30%; left:63%; animation: asd-flower 4.5s ease-in-out infinite 0.5s; }
.scn-antony-sees-dido .spirit-glow { position:absolute; bottom:34%; left:55%; width:20%; height:20%; background: radial-gradient(ellipse, rgba(200,180,240,0.15) 0%, transparent 70%); box-shadow: 0 0 40px 10px rgba(180,160,220,0.1); animation: asd-glow 6s ease-in-out infinite alternate; }
@keyframes asd-anton {
  0% { transform: translateY(0) rotate(0deg); }
  33% { transform: translateY(-3px) rotate(1deg); }
  66% { transform: translateY(0) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes asd-dido {
  0% { transform: translateY(0) scale(1); opacity:0.5; }
  50% { transform: translateY(-6px) scale(1.05); opacity:0.8; }
  100% { transform: translateY(0) scale(1); opacity:0.5; }
}
@keyframes asd-flower {
  0% { transform: scale(1) rotate(0deg); opacity:0.3; }
  50% { transform: scale(1.3) rotate(180deg); opacity:0.7; }
  100% { transform: scale(1) rotate(360deg); opacity:0.3; }
}
@keyframes asd-glow {
  0% { opacity:0.3; transform: scale(0.9); }
  100% { opacity:0.6; transform: scale(1.1); }
}

/* antony-asks-eros-to-kill-him */
.scn-antony-asks-eros-to-kill-him {
  background:
    linear-gradient(180deg, #1a1220 0%, #2a1a2a 40%, #0a0a10 100%),
    radial-gradient(ellipse at 40% 60%, #2a1a30 0%, transparent 60%);
}
.scn-antony-asks-eros-to-kill-him .dim-room { position:absolute; inset:0; background: linear-gradient(45deg, rgba(0,0,10,.7) 0%, transparent 50%, rgba(0,0,10,.5) 100%); }
.scn-antony-asks-eros-to-kill-him .wall { position:absolute; bottom:0; left:0; right:0; height:70%; background: linear-gradient(0deg, #1a101a 0%, #2a1a1a 100%); }
.scn-antony-asks-eros-to-kill-him .window-glow { position:absolute; bottom:55%; left:20%; width:15%; height:20%; background: radial-gradient(ellipse, rgba(200,180,160,0.2) 0%, transparent 60%); box-shadow: 0 0 30px 5px rgba(180,160,140,0.1); animation: aek-window 4s ease-in-out infinite alternate; }
.scn-antony-asks-eros-to-kill-him .anton-standing { position:absolute; bottom:20%; left:35%; width:12%; height:35%; background: radial-gradient(ellipse at 50% 30%, #3a2a2a 0%, #1a1012 80%); border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: aek-anton 3s ease-in-out infinite; }
.scn-antony-asks-eros-to-kill-him .eros-kneeling { position:absolute; bottom:10%; left:55%; width:10%; height:25%; background: radial-gradient(ellipse at 50% 40%, #2a1a1a 0%, #0a0a0a 80%); border-radius: 50% 50% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: aek-eros 5s ease-in-out infinite; }
.scn-antony-asks-eros-to-kill-him .sword { position:absolute; bottom:15%; left:60%; width:2%; height:20%; background: linear-gradient(180deg, #5a5a5a 0%, #3a3a3a 100%); border-radius: 20% 20% 0 0; box-shadow: 0 0 6px 1px rgba(200,200,200,0.2); transform: rotate(-15deg); transform-origin: bottom center; animation: aek-sword 2s ease-in-out infinite alternate; }
@keyframes aek-window {
  0% { opacity:0.2; transform: scale(1); }
  50% { opacity:0.5; transform: scale(1.05); }
  100% { opacity:0.3; transform: scale(1); }
}
@keyframes aek-anton {
  0%,100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-3px) rotate(2deg); }
  75% { transform: translateY(1px) rotate(-2deg); }
}
@keyframes aek-eros {
  0% { transform: translateY(0) rotate(0deg); }
  33% { transform: translateY(-2px) rotate(-1deg); }
  66% { transform: translateY(1px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes aek-sword {
  0% { transform: rotate(-15deg); opacity:0.6; }
  50% { transform: rotate(-10deg); opacity:0.9; }
  100% { transform: rotate(-18deg); opacity:0.5; }
}

/* eros-refuses */
.scn-eros-refuses {
  background:
    linear-gradient(180deg, #0a0a12 0%, #1a1420 40%, #0a0a0e 100%),
    radial-gradient(ellipse at 50% 40%, #1a1a2a 0%, transparent 70%);
}
.scn-eros-refuses .bg-dark { position:absolute; inset:0; background: linear-gradient(90deg, rgba(0,0,10,.8) 0%, transparent 50%, rgba(0,0,10,.6) 100%); }
.scn-eros-refuses .floor-tiles { position:absolute; bottom:0; left:0; right:0; height:20%; background: repeating-linear-gradient(90deg, #2a1a1a 0px 20px, #1a0e0e 20px 40px); animation: ref-floor 8s linear infinite; }
.scn-eros-refuses .eros-turning { position:absolute; bottom:20%; left:55%; width:10%; height:32%; background: radial-gradient(ellipse at 50% 40%, #3a1a1a 0%, #120808 80%); border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%; transform-origin: right center; animation: ref-eros 6s ease-in-out infinite; }
.scn-eros-refuses .anton-reaching { position:absolute; bottom:22%; left:35%; width:12%; height:30%; background: radial-gradient(ellipse at 50% 30%, #3a2a2a 0%, #1a1012 80%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: ref-anton 4s ease-in-out infinite; }
.scn-eros-refuses .arm-extend { position:absolute; bottom:32%; left:45%; width:8%; height:3%; background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%); border-radius: 40% 40% 10% 10%; transform: rotate(20deg); transform-origin: left center; animation: ref-arm 5s ease-in-out infinite; }
.scn-eros-refuses .cast-shadow { position:absolute; bottom:19%; left:30%; width:30%; height:8%; background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,.7) 0%, transparent 80%); transform: skewX(-10deg); animation: ref-shadow 7s ease-in-out infinite; }
@keyframes ref-floor {
  0% { background-position: 0 0; }
  100% { background-position: -40px 0; }
}
@keyframes ref-eros {
  0%,100% { transform: rotate(0deg) scaleX(1); }
  30% { transform: rotate(-8deg) scaleX(0.95); }
  60% { transform: rotate(5deg) scaleX(1.05); }
}
@keyframes ref-anton {
  0% { transform: translateY(0) translateX(0); }
  40% { transform: translateY(-4px) translateX(6px); }
  80% { transform: translateY(1px) translateX(2px); }
  100% { transform: translateY(0) translateX(0); }
}
@keyframes ref-arm {
  0% { transform: rotate(20deg) scaleX(1); opacity:0.7; }
  40% { transform: rotate(30deg) scaleX(1.2); opacity:1; }
  70% { transform: rotate(15deg) scaleX(0.9); opacity:0.8; }
  100% { transform: rotate(20deg) scaleX(1); opacity:0.7; }
}
@keyframes ref-shadow {
  0% { opacity:0.3; transform: skewX(-10deg) scaleX(1); }
  50% { opacity:0.6; transform: skewX(-5deg) scaleX(1.1); }
  100% { opacity:0.3; transform: skewX(-10deg) scaleX(1); }
}

.scn-cleopatra-whispers-charmian {
  background: 
    radial-gradient(ellipse at 50% 60%, #2f1e0e 0%, #0d0704 100%),
    linear-gradient(180deg, #1a1008 0%, #0d0704 100%);
}
.scn-cleopatra-whispers-charmian .wall-dark {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1a1008 0%, #0d0704 100%);
  opacity: 0.8;
}
.scn-cleopatra-whispers-charmian .lamp-glow {
  position: absolute; top: 20%; left: 60%; width: 60px; height: 80px;
  background: radial-gradient(circle, #d4a04a 0%, #8a6030 40%, transparent 70%);
  border-radius: 50%;
  filter: blur(8px);
  animation: clw-lamp 4s ease-in-out infinite alternate;
}
.scn-cleopatra-whispers-charmian .cleo-fig {
  position: absolute; bottom: 15%; left: 30%; width: 40px; height: 100px;
  background: linear-gradient(180deg, #2a1a10 0%, #100804 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: clw-fig-drift 6s ease-in-out infinite;
}
.scn-cleopatra-whispers-charmian .charmian-fig {
  position: absolute; bottom: 18%; left: 50%; width: 34px; height: 90px;
  background: linear-gradient(180deg, #2d1c12 0%, #140a06 100%);
  border-radius: 50% 50% 38% 38% / 58% 58% 42% 42%;
  transform-origin: bottom center;
  animation: clw-fig-drift 6s ease-in-out infinite reverse;
}
.scn-cleopatra-whispers-charmian .curtain-left {
  position: absolute; top: 0; left: 0; width: 20%; height: 100%;
  background: linear-gradient(90deg, #3a2210 0%, transparent 100%);
  border-radius: 0 60% 60% 0 / 0 80% 80% 0;
  animation: clw-curtain 12s ease-in-out infinite alternate;
}
.scn-cleopatra-whispers-charmian .curtain-right {
  position: absolute; top: 0; right: 0; width: 20%; height: 100%;
  background: linear-gradient(270deg, #3a2210 0%, transparent 100%);
  border-radius: 60% 0 0 60% / 80% 0 0 80%;
  animation: clw-curtain 12s ease-in-out infinite alternate-reverse;
}
@keyframes clw-lamp {
  0% { opacity: 0.7; transform: scale(0.95); }
  50% { opacity: 1; transform: scale(1.05); }
  100% { opacity: 0.8; transform: scale(0.98); }
}
@keyframes clw-fig-drift {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-3px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes clw-curtain {
  0% { opacity: 0.6; transform: scaleX(1); }
  50% { opacity: 0.8; transform: scaleX(1.02); }
  100% { opacity: 0.7; transform: scaleX(0.98); }
}

.scn-cleopatra-sends-charmian {
  background:
    radial-gradient(ellipse at 50% 100%, #6a4a2a 0%, #2a1a0a 50%, #0f0800 100%),
    linear-gradient(180deg, #2a2040 0%, #4a3050 30%, #7a5030 60%, #b08040 80%, #d09050 100%);
}
.scn-cleopatra-sends-charmian .dusk-sky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a2040 0%, #4a3050 30%, #7a5030 60%, #b08040 80%);
  animation: csd-sky 20s ease-in-out infinite alternate;
}
.scn-cleopatra-sends-charmian .sun-haze {
  position: absolute; bottom: 40%; left: 40%; width: 120px; height: 80px;
  background: radial-gradient(circle, #ffdd80 0%, #ffaa40 40%, transparent 70%);
  border-radius: 50%;
  filter: blur(20px);
  animation: csd-haze 15s ease-in-out infinite alternate;
}
.scn-cleopatra-sends-charmian .palace-silhouette {
  position: absolute; bottom: 30%; left: 10%; width: 80%; height: 20%;
  background: linear-gradient(180deg, #1a0e05 0%, #0d0602 100%);
  clip-path: polygon(0% 100%, 5% 40%, 10% 40%, 12% 30%, 18% 30%, 20% 20%, 25% 20%, 27% 30%, 32% 30%, 34% 40%, 40% 40%, 42% 50%, 48% 50%, 50% 60%, 55% 60%, 57% 50%, 62% 50%, 64% 40%, 70% 40%, 72% 30%, 78% 30%, 80% 20%, 85% 20%, 88% 30%, 95% 30%, 100% 100%);
  animation: csd-palace 30s ease-in-out infinite alternate;
}
.scn-cleopatra-sends-charmian .charmian-leaving {
  position: absolute; bottom: 30%; left: 20%; width: 30px; height: 80px;
  background: linear-gradient(180deg, #1a0e05 0%, #0a0402 100%);
  border-radius: 50% 40% 40% 50% / 60% 50% 50% 60%;
  transform-origin: bottom center;
  animation: csd-walk 8s ease-in-out infinite;
}
.scn-cleopatra-sends-charmian .cleo-watching {
  position: absolute; bottom: 30%; left: 60%; width: 36px; height: 90px;
  background: linear-gradient(180deg, #1a0e05 0%, #0a0402 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: csd-fig-breathe 6s ease-in-out infinite;
}
.scn-cleopatra-sends-charmian .ground-dark {
  position: absolute; bottom: 0; left: 0; width: 100%; height: 30%;
  background: linear-gradient(180deg, #0d0602 0%, #050200 100%);
  border-radius: 40% 40% 0 0 / 20% 20% 0 0;
}
@keyframes csd-sky {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes csd-haze {
  0% { transform: translateX(-10px) scale(0.9); opacity: 0.6; }
  50% { transform: translateX(10px) scale(1.1); opacity: 1; }
  100% { transform: translateX(0px) scale(1); opacity: 0.7; }
}
@keyframes csd-palace {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes csd-walk {
  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(0); }
}
@keyframes csd-fig-breathe {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.02); }
  100% { transform: scaleY(1); }
}

.scn-dolabella-reveals-caesar-plan {
  background:
    radial-gradient(ellipse at 50% 100%, #2a1a0a 0%, #0f0800 100%),
    linear-gradient(180deg, #1a1810 0%, #0a0804 100%);
}
.scn-dolabella-reveals-caesar-plan .room-back {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1a1810 0%, #0a0804 100%);
}
.scn-dolabella-reveals-caesar-plan .window-dusk {
  position: absolute; top: 10%; left: 60%; width: 100px; height: 130px;
  background: linear-gradient(180deg, #4a3050 0%, #7a5030 50%, #b08040 100%);
  border: 4px solid #22140a;
  border-radius: 4px;
  box-shadow: inset 0 0 30px #2a1a0a;
  animation: drp-window 12s ease-in-out infinite alternate;
}
.scn-dolabella-reveals-caesar-plan .dolabella-fig {
  position: absolute; bottom: 15%; left: 20%; width: 38px; height: 100px;
  background: linear-gradient(180deg, #1a0e05 0%, #0a0402 100%);
  border-radius: 50% 40% 40% 50% / 60% 50% 50% 60%;
  transform-origin: bottom center;
  animation: drp-fig-talk 10s ease-in-out infinite;
}
.scn-dolabella-reveals-caesar-plan .cleo-fig2 {
  position: absolute; bottom: 15%; left: 50%; width: 36px; height: 90px;
  background: linear-gradient(180deg, #1a0e05 0%, #0a0402 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: drp-fig-react 10s ease-in-out infinite;
}
.scn-dolabella-reveals-caesar-plan .table-shape {
  position: absolute; bottom: 28%; left: 35%; width: 80px; height: 20px;
  background: linear-gradient(180deg, #2a1a10 0%, #140a06 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.scn-dolabella-reveals-caesar-plan .shadow-pool {
  position: absolute; bottom: 0; left: 10%; width: 80%; height: 15%;
  background: radial-gradient(ellipse at 50% 100%, #0a0402 0%, transparent 100%);
  border-radius: 50%;
  animation: drp-shadow 8s ease-in-out infinite alternate;
}
@keyframes drp-window {
  0% { opacity: 0.7; transform: scaleX(1); }
  50% { opacity: 1; transform: scaleX(1.02); }
  100% { opacity: 0.8; transform: scaleX(0.98); }
}
@keyframes drp-fig-talk {
  0% { transform: translateY(0) rotate(0); }
  25% { transform: translateY(-3px) rotate(2deg); }
  50% { transform: translateY(0) rotate(-1deg); }
  75% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes drp-fig-react {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-1px) scaleY(1.03); }
  100% { transform: translateY(0) scaleY(1); }
}
@keyframes drp-shadow {
  0% { opacity: 0.5; transform: scaleY(1); }
  50% { opacity: 0.8; transform: scaleY(1.2); }
  100% { opacity: 0.6; transform: scaleY(0.9); }
}

.scn-cleopatra-fears-triumph {
  background:
    radial-gradient(ellipse at 50% 50%, #1a0a0a 0%, #050202 100%),
    linear-gradient(180deg, #0a0505 0%, #020000 100%);
}
.scn-cleopatra-fears-triumph .void-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #0a0505 0%, #020000 100%);
  animation: cft-void 30s ease-in-out infinite alternate;
}
.scn-cleopatra-fears-triumph .cleo-silhouette {
  position: absolute; bottom: 10%; left: 30%; width: 40px; height: 120px;
  background: linear-gradient(180deg, #0d0604 0%, #040100 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cft-figure 8s ease-in-out infinite;
}
.scn-cleopatra-fears-triumph .iras-silhouette {
  position: absolute; bottom: 12%; left: 42%; width: 32px; height: 100px;
  background: linear-gradient(180deg, #0d0604 0%, #040100 100%);
  border-radius: 50% 50% 38% 38% / 58% 58% 42% 42%;
  transform-origin: bottom center;
  animation: cft-figure 8s ease-in-out infinite reverse;
}
.scn-cleopatra-fears-triumph .crowd-ghosts {
  position: absolute; top: 20%; left: 10%; width: 80%; height: 30%;
  background: repeating-linear-gradient(90deg,
    transparent 0px, transparent 10px,
    rgba(80,40,20,0.15) 10px, rgba(80,40,20,0.15) 30px,
    transparent 30px, transparent 50px
  );
  filter: blur(6px);
  mask-image: linear-gradient(180deg, transparent 0%, black 40%, black 60%, transparent 100%);
  animation: cft-crowd 20s linear infinite;
}
.scn-cleopatra-fears-triumph .chain-links {
  position: absolute; bottom: 5%; left: 20%; width: 60%; height: 8px;
  background: repeating-linear-gradient(90deg,
    #4a2a1a 0px, #4a2a1a 8px,
    transparent 8px, transparent 16px
  );
  border-radius: 4px;
  opacity: 0.6;
  animation: cft-chain 12s ease-in-out infinite;
}
.scn-cleopatra-fears-triumph .vapour-haze {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 50% 80%, rgba(60,30,10,0.3) 0%, transparent 70%);
  filter: blur(10px);
  animation: cft-vapour 15s ease-in-out infinite alternate;
}
@keyframes cft-void {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.6; }
}
@keyframes cft-figure {
  0% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes cft-crowd {
  0% { transform: translateX(0); }
  100% { transform: translateX(-30%); }
}
@keyframes cft-chain {
  0% { transform: scaleX(1); }
  50% { transform: scaleX(1.05); }
  100% { transform: scaleX(0.95); }
}
@keyframes cft-vapour {
  0% { opacity: 0.4; transform: scale(0.9); }
  50% { opacity: 0.8; transform: scale(1.1); }
  100% { opacity: 0.5; transform: scale(1); }
}

.scn-crocodile-description {
  background: 
    linear-gradient(180deg, #2b1a0e 0%, #3b2515 40%, #5a3820 100%),
    radial-gradient(ellipse at 30% 70%, #c8553d 0%, transparent 60%);
}

.scn-crocodile-description .bg-fire {
  position: absolute;
  inset: 10% 20% 30% 20%;
  background: radial-gradient(ellipse, #ffa050 0%, #e07030 40%, transparent 70%);
  animation: croc-fire 3s ease-in-out infinite alternate;
  filter: blur(8px);
}

.scn-crocodile-description .tent-pole {
  position: absolute;
  bottom: 10%;
  left: 50%;
  width: 6px;
  height: 60%;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%);
  transform: translateX(-50%);
  border-radius: 4px;
}

.scn-crocodile-description .crocodile {
  position: absolute;
  bottom: 20%;
  left: 25%;
  width: 140px;
  height: 50px;
  background: linear-gradient(90deg, #3a5a3a 0%, #2a4a2a 40%, #1a3a1a 100%);
  border-radius: 80% 50% 30% 40% / 60% 50% 40% 50%;
  box-shadow: inset 0 -6px 10px rgba(0,0,0,0.5);
  transform: rotate(-5deg);
  animation: croc-sway 4s ease-in-out infinite;
}

.scn-crocodile-description .crocodile::before {
  content: '';
  position: absolute;
  left: -20px;
  top: 10px;
  width: 30px;
  height: 20px;
  background: #2a4a2a;
  border-radius: 50% 0 0 50% / 60% 0 0 60%;
  clip-path: polygon(0 0, 100% 30%, 100% 70%, 0 100%);
  transform: rotate(-10deg);
  box-shadow: inset 0 -4px 6px rgba(0,0,0,0.4);
}

.scn-crocodile-description .tear {
  position: absolute;
  bottom: 45%;
  left: 30%;
  width: 8px;
  height: 12px;
  background: radial-gradient(circle, #88ccff 0%, #4499dd 100%);
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  opacity: 0.8;
  filter: blur(1px);
  animation: croc-tear 2s ease-in-out infinite;
}

.scn-crocodile-description .tear-2 {
  left: 38%;
  animation-delay: 0.5s;
}

.scn-crocodile-description .figure-laugh {
  position: absolute;
  bottom: 18%;
  right: 20%;
  width: 30px;
  height: 50px;
  background: linear-gradient(180deg, #601818 0%, #3a0a0a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: croc-laugh 0.6s ease-in-out infinite alternate;
}

.scn-crocodile-description .sparkle {
  position: absolute;
  width: 4px;
  height: 4px;
  background: #ffc080;
  border-radius: 50%;
  filter: blur(1px);
  animation: croc-sparkle 1.5s ease-in-out infinite;
}

.scn-crocodile-description .sparkle-1 { top: 30%; left: 40%; }
.scn-crocodile-description .sparkle-2 { top: 35%; left: 55%; animation-delay: 0.8s; }

@keyframes croc-fire {
  0% { transform: scale(1); opacity: 0.6; }
  50% { transform: scale(1.1) rotate(2deg); opacity: 1; }
  100% { transform: scale(0.95) rotate(-1deg); opacity: 0.7; }
}

@keyframes croc-sway {
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-2px); }
  100% { transform: rotate(-5deg) translateY(0); }
}

@keyframes croc-tear {
  0% { transform: translateY(0) rotate(0deg); opacity: 0.8; }
  50% { transform: translateY(8px) rotate(5deg); opacity: 1; }
  100% { transform: translateY(16px) rotate(-5deg); opacity: 0.2; }
}

@keyframes croc-laugh {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-3px) rotate(5deg); }
  100% { transform: translateY(0) rotate(-5deg); }
}

@keyframes croc-sparkle {
  0% { transform: scale(1) rotate(0deg); opacity: 0; }
  30% { transform: scale(2) rotate(180deg); opacity: 1; }
  60% { transform: scale(1.5) rotate(270deg); opacity: 0.5; }
  100% { transform: scale(1) rotate(360deg); opacity: 0; }
}

/* --- */

.scn-menas-offers-world {
  background: 
    linear-gradient(180deg, #1a0e08 0%, #2b1a0e 50%, #3b2515 100%),
    radial-gradient(ellipse at 70% 50%, #c8553d 0%, transparent 50%);
}

.scn-menas-offers-world .deck-floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 30%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0e 100%);
  transform: perspective(400px) rotateX(15deg);
  transform-origin: bottom center;
}

.scn-menas-offers-world .table {
  position: absolute;
  bottom: 18%;
  left: 20%;
  width: 60%;
  height: 12%;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 -4px 8px rgba(0,0,0,0.6);
}

.scn-menas-offers-world .globe {
  position: absolute;
  bottom: 30%;
  left: 35%;
  width: 60px;
  height: 60px;
  background: radial-gradient(circle at 30% 30%, #88b080 0%, #446040 50%, #0a1a0a 100%);
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.7);
  animation: menasW-globe 8s ease-in-out infinite alternate;
}

.scn-menas-offers-world .goblet {
  position: absolute;
  bottom: 20%;
  left: 55%;
  width: 16px;
  height: 30px;
  background: linear-gradient(180deg, #b08040 0%, #604020 100%);
  border-radius: 0 0 30% 30%;
  clip-path: polygon(20% 0, 80% 0, 100% 60%, 80% 100%, 20% 100%, 0% 60%);
  box-shadow: inset 0 -4px 6px rgba(0,0,0,0.5);
}

.scn-menas-offers-world .menas-figure {
  position: absolute;
  bottom: 12%;
  left: 30%;
  width: 35px;
  height: 70px;
  background: linear-gradient(180deg, #2a1a0e 0%, #0a0604 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: menasW-bow 3s ease-in-out infinite alternate;
}

.scn-menas-offers-world .pompey-shadow {
  position: absolute;
  bottom: 12%;
  right: 25%;
  width: 40px;
  height: 75px;
  background: linear-gradient(180deg, #1a0e08 0%, #0a0604 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  opacity: 0.8;
  filter: blur(4px);
  animation: menasW-shade 5s ease-in-out infinite;
}

.scn-menas-offers-world .lantern {
  position: absolute;
  top: 12%;
  left: 60%;
  width: 10px;
  height: 16px;
  background: radial-gradient(ellipse, #ffd080 0%, #b06020 50%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px #ffa050;
  animation: menasW-flicker 2s ease-in-out infinite alternate;
}

@keyframes menasW-globe {
  0% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(15deg) scale(1.05); }
  100% { transform: rotate(-10deg) scale(1); }
}

@keyframes menasW-bow {
  0% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(5deg) translateY(-2px); }
  100% { transform: rotate(-5deg) translateY(0); }
}

@keyframes menasW-shade {
  0% { transform: translateX(0) scale(1); opacity: 0.5; }
  50% { transform: translateX(-5px) scale(1.05); opacity: 0.8; }
  100% { transform: translateX(0) scale(1); opacity: 0.5; }
}

@keyframes menasW-flicker {
  0% { box-shadow: 0 0 20px 5px #ffa050; opacity: 0.8; }
  50% { box-shadow: 0 0 40px 15px #ffd080; opacity: 1; }
  100% { box-shadow: 0 0 15px 3px #a05020; opacity: 0.7; }
}

/* --- */

.scn-pompey-rejects-murder {
  background: 
    linear-gradient(180deg, #1a0e08 0%, #2b1508 50%, #3a1a0a 100%),
    radial-gradient(ellipse at 40% 60%, #a0461a 0%, transparent 60%);
}

.scn-pompey-rejects-murder .ship-rail {
  position: absolute;
  bottom: 25%;
  left: 0;
  right: 0;
  height: 6px;
  background: linear-gradient(90deg, #4a2a1a, #6a3a2a, #4a2a1a);
  box-shadow: 0 4px 10px rgba(0,0,0,0.6);
}

.scn-pompey-rejects-murder .pompey {
  position: absolute;
  bottom: 10%;
  left: 22%;
  width: 40px;
  height: 80px;
  background: linear-gradient(180deg, #2a1a0e 0%, #0a0604 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: pompeyR-reject 2s ease-in-out infinite alternate;
}

.scn-pompey-rejects-murder .menas-holding-knife {
  position: absolute;
  bottom: 10%;
  right: 30%;
  width: 35px;
  height: 70px;
  background: linear-gradient(180deg, #2a1a0e 0%, #0a0604 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom left;
  animation: pompeyR-offer 3s ease-in-out infinite alternate;
}

.scn-pompey-rejects-murder .knife {
  position: absolute;
  bottom: 30%;
  right: 15%;
  width: 80px;
  height: 8px;
  background: linear-gradient(90deg, #8a6a4a 0%, #c0a080 50%, #8a6a4a 100%);
  border-radius: 4px 50% 50% 4px;
  transform: rotate(30deg);
  transform-origin: left center;
  box-shadow: 0 2px 8px rgba(200,100,40,0.6);
  animation: pompeyR-knife 1.5s ease-in-out infinite alternate;
}

.scn-pompey-rejects-murder .fire-bowl {
  position: absolute;
  bottom: 30%;
  left: 15%;
  width: 40px;
  height: 20px;
  background: linear-gradient(180deg, #6a3a20 0%, #3a1a0a 100%);
  border-radius: 50% 50% 40% 40%;
  box-shadow: inset 0 -4px 6px rgba(0,0,0,0.5);
}

.scn-pompey-rejects-murder .sparks {
  position: absolute;
  bottom: 42%;
  left: 18%;
  width: 6px;
  height: 6px;
  background: radial-gradient(circle, #ffc080 0%, #ff8050 100%);
  border-radius: 50%;
  box-shadow: 0 0 12px 4px #ffa050;
  animation: pompeyR-sparks 0.8s ease-in-out infinite alternate;
}

@keyframes pompeyR-reject {
  0% { transform: translateY(0) rotate(0deg) scale(1); }
  50% { transform: translateY(-5px) rotate(-8deg) scale(1.05); }
  100% { transform: translateY(0) rotate(0deg) scale(1); }
}

@keyframes pompeyR-offer {
  0% { transform: rotate(0deg) translateX(0); }
  50% { transform: rotate(10deg) translateX(10px); }
  100% { transform: rotate(0deg) translateX(0); }
}

@keyframes pompeyR-knife {
  0% { transform: rotate(30deg) scale(1); opacity: 0.8; }
  50% { transform: rotate(20deg) scale(1.05); opacity: 1; }
  100% { transform: rotate(30deg) scale(1); opacity: 0.6; }
}

@keyframes pompeyR-sparks {
  0% { transform: translateY(0) scale(1); opacity: 1; }
  50% { transform: translateY(-10px) scale(2); opacity: 0.5; }
  100% { transform: translateY(0) scale(1); opacity: 1; }
}

/* --- */

.scn-menas-leaves {
  background: 
    linear-gradient(180deg, #0a0604 0%, #1a0e08 40%, #2b1a0e 100%),
    radial-gradient(ellipse at 20% 80%, #702243 0%, transparent 50%);
}

.scn-menas-leaves .sky-night {
  position: absolute;
  inset: 0 0 40% 0;
  background: linear-gradient(180deg, #0a0a1a 0%, #1a1020 50%, transparent 100%);
  animation: menasL-sky 10s ease-in-out infinite alternate;
}

.scn-menas-leaves .ship-deck {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 35%;
  background: linear-gradient(180deg, #2a1a0e 0%, #1a0e08 100%);
  transform: perspective(300px) rotateX(5deg);
}

.scn-menas-leaves .menas-walking {
  position: absolute;
  bottom: 15%;
  left: 10%;
  width: 30px;
  height: 65px;
  background: linear-gradient(180deg, #1a0e08 0%, #0a0604 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: menasL-walk 4s linear infinite;
}

.scn-menas-leaves .lantern-swing {
  position: absolute;
  top: 18%;
  right: 30%;
  width: 12px;
  height: 18px;
  background: radial-gradient(ellipse, #ffc080 0%, #a05020 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 15px #ffa050;
  animation: menasL-swing 3s ease-in-out infinite alternate;
}

.scn-menas-leaves .pompey-seated {
  position: absolute;
  bottom: 12%;
  right: 15%;
  width: 40px;
  height: 55px;
  background: linear-gradient(180deg, #2a1a0e 0%, #0a0604 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: menasL-sit 5s ease-in-out infinite;
}

.scn-menas-leaves .mast {
  position: absolute;
  bottom: 35%;
  left: 50%;
  width: 8px;
  height: 55%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0e 100%);
  transform: translateX(-50%);
  border-radius: 4px;
}

.scn-menas-leaves .wave {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 12%;
  background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%);
  border-radius: 50% 50% 0 0;
  filter: blur(2px);
  animation: menasL-wave 8s ease-in-out infinite alternate;
}

@keyframes menasL-sky {
  0% { opacity: 0.3; }
  50% { opacity: 0.6; }
  100% { opacity: 0.2; }
}

@keyframes menasL-walk {
  0% { transform: translateX(-10px) rotate(0deg) scale(1); }
  25% { transform: translateX(20px) rotate(3deg) scale(1.02); }
  50% { transform: translateX(50px) rotate(-2deg) scale(1); }
  75% { transform: translateX(80px) rotate(4deg) scale(0.98); }
  100% { transform: translateX(110px) rotate(0deg) scale(1); }
}

@keyframes menasL-swing {
  0% { transform: rotate(-10deg) translateX(0); }
  50% { transform: rotate(10deg) translateX(5px); }
  100% { transform: rotate(-5deg) translateX(-3px); }
}

@keyframes menasL-sit {
  0% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-2px); }
  100% { transform: rotate(0deg) translateY(0); }
}

@keyframes menasL-wave {
  0% { transform: translateY(0) scaleX(1); opacity: 0.6; }
  50% { transform: translateY(-4px) scaleX(1.1); opacity: 0.8; }
  100% { transform: translateY(2px) scaleX(0.95); opacity: 0.5; }
}

/* Scene 1: enobarbus-jests-wives */
.scn-enobarbus-jests-wives {
  background: linear-gradient(180deg, #f5e6c8 0%, #e0c6a0 40%, #d4b08a 100%),
              radial-gradient(ellipse at 50% 20%, rgba(255,220,160,0.4) 0%, transparent 60%);
}
.scn-enobarbus-jests-wives .bg-wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #efe0c8 0%, #dcc8a8 100%);
  box-shadow: inset 0 20px 40px rgba(180,120,60,0.15);
  animation: eb-jw-wall 8s ease-in-out infinite alternate;
}
.scn-enobarbus-jests-wives .window-frame {
  position: absolute; top: 10%; left: 35%; width: 30%; height: 50%;
  border: 8px solid #8a7050; border-radius: 4px;
  background: rgba(200,180,150,0.3);
  box-shadow: inset 0 0 60px rgba(255,200,100,0.2);
  animation: eb-jw-window 12s ease-in-out infinite;
}
.scn-enobarbus-jests-wives .curtain-left {
  position: absolute; top: 10%; left: 35%; width: 15%; height: 50%;
  background: linear-gradient(90deg, #c8a080 0%, #b89070 100%);
  border-radius: 0 60% 60% 0 / 0 30% 30% 0;
  filter: drop-shadow(4px 0 6px rgba(0,0,0,0.2));
  transform-origin: left top;
  animation: eb-jw-curtain 5s ease-in-out infinite alternate;
}
.scn-enobarbus-jests-wives .curtain-right {
  position: absolute; top: 10%; right: 35%; width: 15%; height: 50%;
  background: linear-gradient(270deg, #c8a080 0%, #b89070 100%);
  border-radius: 60% 0 0 60% / 30% 0 0 30%;
  filter: drop-shadow(-4px 0 6px rgba(0,0,0,0.2));
  transform-origin: right top;
  animation: eb-jw-curtain 5s ease-in-out infinite alternate-reverse;
}
.scn-enobarbus-jests-wives .wife-figure {
  position: absolute; bottom: 25%; left: 45%; width: 16%; height: 40%;
  background: radial-gradient(ellipse at 50% 20%, #d0a080 0%, #a07050 70%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  box-shadow: 0 10px 20px rgba(0,0,0,0.2);
  animation: eb-jw-wife 2s ease-in-out infinite;
}
.scn-enobarbus-jests-wives .spear {
  position: absolute; bottom: 40%; left: 55%; width: 2%; height: 35%;
  background: linear-gradient(0deg, #6a4a2a 0%, #8a6a4a 50%, #c8a880 100%);
  border-radius: 2px;
  transform-origin: bottom center;
  animation: eb-jw-spear 3s ease-in-out infinite alternate;
}
.scn-enobarbus-jests-wives .pet-cat {
  position: absolute; bottom: 20%; left: 30%; width: 6%; height: 9%;
  background: radial-gradient(ellipse at 50% 40%, #b88060 0%, #906040 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  animation: eb-jw-cat 4s ease-in-out infinite;
}
@keyframes eb-jw-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes eb-jw-window { 0%,100% { transform: scaleX(1); } 50% { transform: scaleX(1.03); } }
@keyframes eb-jw-curtain { 0% { transform: scaleY(1); } 100% { transform: scaleY(1.1) rotate(2deg); } }
@keyframes eb-jw-wife { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-4px) rotate(5deg); } }
@keyframes eb-jw-spear { 0% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-2deg); } }
@keyframes eb-jw-cat { 0%,100% { transform: translateX(0) scale(1); } 50% { transform: translateX(10px) scale(1.1); } }

/* Scene 2: caesar-accuses-slight */
.scn-caesar-accuses-slight {
  background: linear-gradient(180deg, #e8dcc8 0%, #d0c0a8 40%, #b8a08a 100%),
              radial-gradient(ellipse at 60% 30%, rgba(220,180,120,0.3) 0%, transparent 60%);
}
.scn-caesar-accuses-slight .bg-pillar {
  position: absolute; inset: 0 0 10% 0;
  background: linear-gradient(90deg, #c0b098 0%, #d8c8b0 20%, #c0b098 50%, #d8c8b0 80%, #c0b098 100%);
  background-size: 20% 100%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.1);
  animation: ca-s-pillar 15s ease-in-out infinite alternate;
}
.scn-caesar-accuses-slight .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 12%;
  background: linear-gradient(0deg, #b09880 0%, #c8b8a0 100%);
  box-shadow: 0 -6px 20px rgba(0,0,0,0.15);
}
.scn-caesar-accuses-slight .caesar-throne {
  position: absolute; bottom: 12%; right: 45%; width: 30%; height: 55%;
  background: linear-gradient(180deg, #a08060 0%, #806040 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
  animation: ca-s-throne 6s ease-in-out infinite alternate;
}
.scn-caesar-accuses-slight .caesar-figure {
  position: absolute; bottom: 22%; right: 48%; width: 14%; height: 38%;
  background: radial-gradient(ellipse at 50% 20%, #d0b098 0%, #a08068 70%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: ca-s-caesar 3s ease-in-out infinite;
}
.scn-caesar-accuses-slight .accuser-figure {
  position: absolute; bottom: 12%; left: 25%; width: 12%; height: 34%;
  background: radial-gradient(ellipse at 50% 20%, #b8a090 0%, #907868 70%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: ca-s-accuser 4s ease-in-out infinite;
}
.scn-caesar-accuses-slight .accuser-shadow {
  position: absolute; bottom: 12%; left: 22%; width: 18%; height: 8%;
  background: rgba(0,0,0,0.15);
  border-radius: 50%;
  filter: blur(4px);
  animation: ca-s-shadow 4s ease-in-out infinite;
}
.scn-caesar-accuses-slight .palm-leaf {
  position: absolute; top: 5%; right: 15%; width: 20%; height: 30%;
  background: linear-gradient(120deg, #5a8a4a 0%, #3a6a2a 100%);
  clip-path: polygon(50% 0%, 100% 40%, 80% 100%, 20% 100%, 0% 40%);
  animation: ca-s-leaf 10s ease-in-out infinite alternate;
}
@keyframes ca-s-pillar { 0% { background-position: 0 0; } 100% { background-position: 20% 0; } }
@keyframes ca-s-throne { 0%,100% { transform: rotate(0deg); } 50% { transform: rotate(1deg); } }
@keyframes ca-s-caesar { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(-2deg); } }
@keyframes ca-s-accuser { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(4px) rotate(3deg); } }
@keyframes ca-s-shadow { 0%,100% { transform: scaleX(1); opacity: 0.8; } 50% { transform: scaleX(0.9); opacity: 1; } }
@keyframes ca-s-leaf { 0% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } 100% { transform: rotate(-3deg); } }

/* Scene 3: caesar-accuses-oath-breaking */
.scn-caesar-accuses-oath-breaking {
  background: linear-gradient(180deg, #d4c8b0 0%, #c0b098 40%, #a89078 100%),
              radial-gradient(ellipse at 40% 30%, rgba(200,160,100,0.25) 0%, transparent 60%);
}
.scn-caesar-accuses-oath-breaking .bg-arch {
  position: absolute; inset: 0 0 20% 0;
  background: radial-gradient(ellipse at 50% 20%, #d0c0a8 0%, #b8a890 100%);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.1);
}
.scn-caesar-accuses-oath-breaking .altar-table {
  position: absolute; bottom: 15%; left: 30%; width: 40%; height: 8%;
  background: linear-gradient(180deg, #a08060 0%, #806040 100%);
  border-radius: 4px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.3);
  animation: ca-ob-altar 10s ease-in-out infinite alternate;
}
.scn-caesar-accuses-oath-breaking .scroll-glow {
  position: absolute; bottom: 21%; left: 45%; width: 6%; height: 10%;
  background: radial-gradient(circle, #f0d080 0%, #c8a050 70%);
  border-radius: 2px;
  box-shadow: 0 0 30px 10px rgba(200,160,80,0.5), 0 0 60px 20px rgba(200,160,80,0.2);
  animation: ca-ob-scroll 3s ease-in-out infinite alternate;
}
.scn-caesar-accuses-oath-breaking .caesar-hand {
  position: absolute; bottom: 18%; left: 35%; width: 4%; height: 15%;
  background: linear-gradient(0deg, #c0a890 0%, #d8b8a0 100%);
  border-radius: 30% 30% 10% 10% / 40% 40% 20% 20%;
  transform-origin: bottom center;
  animation: ca-ob-hand 4s ease-in-out infinite;
}
.scn-caesar-accuses-oath-breaking .lepidus-figure {
  position: absolute; bottom: 12%; left: 55%; width: 12%; height: 32%;
  background: radial-gradient(ellipse at 50% 20%, #b8a090 0%, #907868 70%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  animation: ca-ob-lepidus 3s ease-in-out infinite;
}
.scn-caesar-accuses-oath-breaking .lepidus-tremble {
  position: absolute; bottom: 12%; left: 55%; width: 12%; height: 32%;
  background: rgba(0,0,0,0.08);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  animation: ca-ob-tremble 0.5s ease-in-out infinite;
}
@keyframes ca-ob-altar { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes ca-ob-scroll { 0% { opacity: 0.8; transform: scale(1); } 50% { opacity: 1; transform: scale(1.05); } 100% { opacity: 0.9; transform: scale(1); } }
@keyframes ca-ob-hand { 0%,100% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(-20deg) translateY(-5px); } }
@keyframes ca-ob-lepidus { 0%,100% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(8px) rotate(3deg); } }
@keyframes ca-ob-tremble { 0%,100% { transform: translateX(0); } 25% { transform: translateX(-1px); } 75% { transform: translateX(1px); } }

/* Scene 4: antony-penitent-honour */
.scn-antony-penitent-honour {
  background: linear-gradient(180deg, #d8c8b0 0%, #c0b098 40%, #a89078 100%),
              radial-gradient(ellipse at 50% 20%, rgba(220,180,120,0.3) 0%, transparent 70%);
}
.scn-antony-penitent-honour .bg-dais {
  position: absolute; inset: 0 0 15% 0;
  background: linear-gradient(180deg, #d0c0a8 0%, #b8a890 100%);
  clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%);
  animation: ap-h-dais 12s ease-in-out infinite alternate;
}
.scn-antony-penitent-honour .altar-stone {
  position: absolute; bottom: 15%; left: 40%; width: 20%; height: 10%;
  background: linear-gradient(180deg, #c0a880 0%, #a08868 100%);
  border-radius: 6px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.2);
  animation: ap-h-stone 8s ease-in-out infinite alternate;
}
.scn-antony-penitent-honour .antony-bow {
  position: absolute; bottom: 15%; left: 30%; width: 14%; height: 40%;
  background: radial-gradient(ellipse at 50% 20%, #b09880 0%, #887060 70%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: ap-h-antony 6s ease-in-out infinite;
}
.scn-antony-penitent-honour .cape-sweep {
  position: absolute; bottom: 18%; left: 32%; width: 20%; height: 30%;
  background: radial-gradient(ellipse at 50% 0%, #c8a890 0%, #a08068 100%);
  border-radius: 0 60% 40% 0 / 0 80% 40% 0;
  transform-origin: top right;
  animation: ap-h-cape 4s ease-in-out infinite alternate;
}
.scn-antony-penitent-honour .caesar-standing {
  position: absolute; bottom: 15%; right: 25%; width: 12%; height: 42%;
  background: radial-gradient(ellipse at 50% 20%, #d0b8a0 0%, #a08870 70%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  animation: ap-h-caesar 5s ease-in-out infinite;
}
.scn-antony-penitent-honour .torch-light {
  position: absolute; top: 5%; right: 45%; width: 8%; height: 15%;
  background: radial-gradient(circle, #ffd080 0%, #e8a050 60%, transparent 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  box-shadow: 0 0 60px 30px rgba(255,200,100,0.4), 0 0 100px 50px rgba(255,200,100,0.1);
  animation: ap-h-torch 3s ease-in-out infinite alternate;
}
@keyframes ap-h-dais { 0%,100% { transform: scale(1); } 50% { transform: scaleY(0.98); } }
@keyframes ap-h-stone { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes ap-h-antony { 0%,100% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(15deg) translateY(-5px); } }
@keyframes ap-h-cape { 0% { transform: rotate(-5deg) scaleX(1); } 100% { transform: rotate(10deg) scaleX(1.1); } }
@keyframes ap-h-caesar { 0%,100% { transform: translateX(0); } 50% { transform: translateX(-5px); } }
@keyframes ap-h-torch { 0% { opacity: 0.8; transform: scaleY(1); } 50% { opacity: 1; transform: scaleY(1.05); } 100% { opacity: 0.85; transform: scaleY(1); } }

.scn-cleopatra-wakes-to-mourn { background: linear-gradient(180deg, #0d0d2b 0%, #1a1a3e 40%, #0f0f28 100%), radial-gradient(ellipse at 30% 50%, #2a1a3e 0%, transparent 70%); }
.scn-cleopatra-wakes-to-mourn .room { position:absolute; inset:0; background: linear-gradient(180deg, #14142e 0%, #0a0a1a 100%); animation: cl1-dark 8s ease-in-out infinite alternate; }
.scn-cleopatra-wakes-to-mourn .window { position:absolute; top:8%; right:10%; width:80px; height:120px; background: linear-gradient(180deg, #3a4a6e 0%, #1a2a4e 100%); border-radius:8%; box-shadow: inset 0 0 20px #0a0a2a; animation: cl1-win 12s ease-in-out infinite alternate; }
.scn-cleopatra-wakes-to-mourn .candle { position:absolute; bottom:20%; left:30%; width:8px; height:18px; background: linear-gradient(180deg, #f0c080 0%, #604020 100%); border-radius:20%; animation: cl1-candle 4s ease-in-out infinite; }
.scn-cleopatra-wakes-to-mourn .glow { position:absolute; bottom:18%; left:27%; width:40px; height:40px; background: radial-gradient(circle, #f0c080 0%, transparent 70%); opacity:0.4; animation: cl1-glow 3s ease-in-out infinite alternate; }
.scn-cleopatra-wakes-to-mourn .figure { position:absolute; bottom:15%; left:60%; width:24px; height:50px; background: linear-gradient(180deg, #2a1a1a 0%, #0a0a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cl1-walk 6s ease-in-out infinite; }
.scn-cleopatra-wakes-to-mourn .bed { position:absolute; bottom:10%; left:45%; width:120px; height:30px; background: linear-gradient(180deg, #3a2a2a 0%, #1a0a0a 100%); border-radius:30% 30% 10% 10%; box-shadow: 0 -6px 12px rgba(0,0,0,0.5); }
.scn-cleopatra-wakes-to-mourn .shadow { position:absolute; bottom:0; left:20%; right:20%; height:20px; background: linear-gradient(180deg, rgba(0,0,0,0.6) 0%, transparent 100%); animation: cl1-shadow 10s ease-in-out infinite alternate; }
@keyframes cl1-dark { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes cl1-win { 0% { opacity:0.5; transform:scaleY(1) } 50% { opacity:0.3; transform:scaleY(0.95) } 100% { opacity:0.5; transform:scaleY(1) } }
@keyframes cl1-candle { 0%,100% { height:18px; background:linear-gradient(180deg, #f0c080 0%, #604020 100%) } 50% { height:16px; background:linear-gradient(180deg, #ffd090 0%, #705030 100%) } }
@keyframes cl1-glow { 0% { opacity:0.3; transform:scale(0.9) } 50% { opacity:0.5; transform:scale(1.1) } 100% { opacity:0.35; transform:scale(1) } }
@keyframes cl1-walk { 0% { transform:translateX(0) translateY(0) rotate(-2deg) } 30% { transform:translateX(8px) translateY(-2px) rotate(2deg) } 60% { transform:translateX(16px) translateY(0) rotate(-1deg) } 100% { transform:translateX(24px) translateY(0) rotate(0deg) } }
@keyframes cl1-shadow { 0% { height:18px; opacity:0.7 } 50% { height:22px; opacity:0.5 } 100% { height:18px; opacity:0.7 } }

.scn-cleopatra-resolves-to-die { background: linear-gradient(180deg, #0a0a1a 0%, #1a1a3e 30%, #0f0f2a 100%), radial-gradient(ellipse at 70% 50%, #1a2a3e 0%, transparent 70%); }
.scn-cleopatra-resolves-to-die .room { position:absolute; inset:0; background: linear-gradient(180deg, #10102a 0%, #050515 100%); animation: cl2-dark 10s ease-in-out infinite alternate; }
.scn-cleopatra-resolves-to-die .lamp { position:absolute; top:30%; left:70%; width:10px; height:20px; background: linear-gradient(180deg, #a08050 0%, #403020 100%); border-radius:30%; animation: cl2-lamp 5s ease-in-out infinite; }
.scn-cleopatra-resolves-to-die .lamp-glow { position:absolute; top:25%; left:65%; width:60px; height:60px; background: radial-gradient(circle, #d0b070 0%, transparent 70%); opacity:0.3; animation: cl2-glow 4s ease-in-out infinite alternate; }
.scn-cleopatra-resolves-to-die .figure { position:absolute; bottom:20%; left:40%; width:22px; height:48px; background: linear-gradient(180deg, #2a1a1a 0%, #0a0a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cl2-figure 7s ease-in-out infinite; }
.scn-cleopatra-resolves-to-die .table { position:absolute; bottom:10%; left:35%; width:80px; height:12px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius:10%; }
.scn-cleopatra-resolves-to-die .vase { position:absolute; bottom:14%; left:50%; width:14px; height:24px; background: linear-gradient(180deg, #4a3a2a 0%, #1a0a00 100%); border-radius:40% 40% 30% 30%; animation: cl2-vase 3s ease-in-out infinite; }
.scn-cleopatra-resolves-to-die .doorway { position:absolute; top:10%; left:5%; width:40px; height:120px; background: linear-gradient(180deg, #0a0a1a 0%, #10102a 100%); border:2px solid #2a2a4e; border-radius:0; animation: cl2-door 15s ease-in-out infinite alternate; }
@keyframes cl2-dark { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes cl2-lamp { 0%,100% { height:20px; background:linear-gradient(180deg, #a08050 0%, #403020 100%) } 50% { height:18px; background:linear-gradient(180deg, #b09060 0%, #504030 100%) } }
@keyframes cl2-glow { 0% { opacity:0.2; transform:scale(0.85) } 50% { opacity:0.4; transform:scale(1.15) } 100% { opacity:0.25; transform:scale(0.95) } }
@keyframes cl2-figure { 0% { transform:translateX(0) translateY(0) rotate(-1deg) } 25% { transform:translateX(10px) translateY(-3px) rotate(2deg) } 50% { transform:translateX(20px) translateY(0) rotate(-1deg) } 75% { transform:translateX(30px) translateY(-2px) rotate(1deg) } 100% { transform:translateX(40px) translateY(0) rotate(0deg) } }
@keyframes cl2-vase { 0%,100% { transform:scaleY(1) } 50% { transform:scaleY(0.9) rotate(3deg) } }
@keyframes cl2-door { 0% { opacity:0.3; transform:scaleX(1) } 50% { opacity:0.6; transform:scaleX(0.95) } 100% { opacity:0.3; transform:scaleX(1) } }

.scn-cleopatra-leaves-monument { background: linear-gradient(180deg, #0d0d2a 0%, #1a1a3e 40%, #0a0a1a 100%), radial-gradient(ellipse at 40% 30%, #2a203a 0%, transparent 70%); }
.scn-cleopatra-leaves-monument .corridor { position:absolute; inset:0; background: linear-gradient(90deg, #0a0a1a 0%, #15152e 30%, #0a0a1a 100%); animation: cl3-corridor 12s ease-in-out infinite alternate; }
.scn-cleopatra-leaves-monument .torch { position:absolute; bottom:40%; left:20%; width:8px; height:22px; background: linear-gradient(180deg, #c07030 0%, #402010 100%); border-radius:20%; animation: cl3-torch 5s ease-in-out infinite; }
.scn-cleopatra-leaves-monument .torch-glow { position:absolute; bottom:35%; left:14%; width:70px; height:70px; background: radial-gradient(circle, #d08040 0%, transparent 70%); opacity:0.35; animation: cl3-glow 4s ease-in-out infinite alternate; }
.scn-cleopatra-leaves-monument .bearer-left { position:absolute; bottom:10%; left:25%; width:20px; height:50px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cl3-bearerL 6s ease-in-out infinite; }
.scn-cleopatra-leaves-monument .bearer-right { position:absolute; bottom:10%; left:45%; width:20px; height:50px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cl3-bearerR 6s ease-in-out infinite 1s; }
.scn-cleopatra-leaves-monument .body { position:absolute; bottom:15%; left:30%; width:80px; height:24px; background: linear-gradient(180deg, #2a1a1a 0%, #0a0a0a 100%); border-radius:40% 40% 20% 20%; transform:rotate(10deg); animation: cl3-body 8s ease-in-out infinite; }
.scn-cleopatra-leaves-monument .shadow { position:absolute; bottom:0; left:0; right:0; height:30px; background: linear-gradient(180deg, rgba(0,0,0,0.7) 0%, transparent 100%); animation: cl3-shadow 10s ease-in-out infinite alternate; }
@keyframes cl3-corridor { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes cl3-torch { 0%,100% { height:22px; background:linear-gradient(180deg, #c07030 0%, #402010 100%) } 50% { height:20px; background:linear-gradient(180deg, #d08040 0%, #503020 100%) } }
@keyframes cl3-glow { 0% { opacity:0.25; transform:scale(0.9) } 50% { opacity:0.45; transform:scale(1.2) } 100% { opacity:0.3; transform:scale(1) } }
@keyframes cl3-bearerL { 0% { transform:translateX(0) translateY(0) rotate(-1deg) } 25% { transform:translateX(12px) translateY(-2px) rotate(2deg) } 50% { transform:translateX(24px) translateY(0) rotate(-1deg) } 75% { transform:translateX(36px) translateY(-2px) rotate(1deg) } 100% { transform:translateX(48px) translateY(0) rotate(0deg) } }
@keyframes cl3-bearerR { 0% { transform:translateX(0) translateY(0) rotate(1deg) } 25% { transform:translateX(10px) translateY(-2px) rotate(-2deg) } 50% { transform:translateX(20px) translateY(0) rotate(1deg) } 75% { transform:translateX(30px) translateY(-2px) rotate(-1deg) } 100% { transform:translateX(40px) translateY(0) rotate(0deg) } }
@keyframes cl3-body { 0% { transform:rotate(10deg) translateX(0) } 50% { transform:rotate(12deg) translateX(15px) } 100% { transform:rotate(10deg) translateX(30px) } }
@keyframes cl3-shadow { 0% { height:28px; opacity:0.6 } 50% { height:32px; opacity:0.8 } 100% { height:28px; opacity:0.6 } }

.scn-antony-enobarbus-discuss-battle { background: linear-gradient(180deg, #f5e6c0 0%, #e0c890 50%, #c8a870 100%), radial-gradient(ellipse at 50% 30%, #fff0d0 0%, transparent 70%); }
.scn-antony-enobarbus-discuss-battle .tent { position:absolute; inset:0; background: linear-gradient(180deg, #e8d8b0 0%, #c8b080 100%); clip-path: polygon(0 0, 100% 0, 100% 70%, 0 70%); animation: an1-tent 10s ease-in-out infinite alternate; }
.scn-antony-enobarbus-discuss-battle .table { position:absolute; bottom:25%; left:30%; right:30%; height:10px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%); border-radius:10%; box-shadow: 0 4px 8px rgba(0,0,0,0.3); }
.scn-antony-enobarbus-discuss-battle .map { position:absolute; bottom:30%; left:35%; width:100px; height:80px; background: linear-gradient(180deg, #b8a070 0%, #90705a 100%); border-radius:4%; transform:rotate(5deg); animation: an1-map 8s ease-in-out infinite; }
.scn-antony-enobarbus-discuss-battle .antony { position:absolute; bottom:15%; left:20%; width:24px; height:56px; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: an1-antony 5s ease-in-out infinite; }
.scn-antony-enobarbus-discuss-battle .enobarbus { position:absolute; bottom:15%; left:55%; width:22px; height:54px; background: linear-gradient(180deg, #5a4a3a 0%, #2a1a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: an1-enobarbus 5s ease-in-out infinite 0.5s; }
.scn-antony-enobarbus-discuss-battle .sword { position:absolute; bottom:20%; left:42%; width:4px; height:40px; background: linear-gradient(180deg, #d0c0a0 0%, #a09070 100%); border-radius:10%; transform:rotate(15deg); animation: an1-sword 4s ease-in-out infinite; }
.scn-antony-enobarbus-discuss-battle .sunlight { position:absolute; top:0; left:60%; width:80px; height:200px; background: linear-gradient(180deg, rgba(255,240,200,0.6) 0%, transparent 100%); transform:skewX(-10deg); animation: an1-sun 12s linear infinite alternate; }
@keyframes an1-tent { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes an1-map { 0% { transform:rotate(5deg) scale(1) } 50% { transform:rotate(7deg) scale(1.02) } 100% { transform:rotate(5deg) scale(1) } }
@keyframes an1-antony { 0% { transform:translateX(0) translateY(0) rotate(-2deg) } 25% { transform:translateX(10px) translateY(-2px) rotate(1deg) } 50% { transform:translateX(20px) translateY(0) rotate(-2deg) } 75% { transform:translateX(30px) translateY(-2px) rotate(1deg) } 100% { transform:translateX(40px) translateY(0) rotate(0deg) } }
@keyframes an1-enobarbus { 0% { transform:translateX(0) translateY(0) rotate(2deg) } 25% { transform:translateX(-8px) translateY(-2px) rotate(-1deg) } 50% { transform:translateX(-16px) translateY(0) rotate(2deg) } 75% { transform:translateX(-24px) translateY(-2px) rotate(-1deg) } 100% { transform:translateX(-32px) translateY(0) rotate(0deg) } }
@keyframes an1-sword { 0%,100% { transform:rotate(15deg) } 50% { transform:rotate(10deg) } }
@keyframes an1-sun { 0% { opacity:0.4; left:55% } 50% { opacity:0.6; left:70% } 100% { opacity:0.4; left:55% } }

/* Scene: caesar-mourns-antony — dark mood, bright interior, memorial chamber */
.scn-caesar-mourns-antony {
  background: 
    linear-gradient(180deg, #1c1210 0%, #2b1e1a 30%, #4a3028 60%, #6b3f2e 100%),
    radial-gradient(ellipse at 30% 50%, #7a4a38 0%, transparent 50%);
}
.scn-caesar-mourns-antony .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #3a2a22 0%, #1e1410 100%); border-radius: 20% 20% 0 0; box-shadow: inset 0 6px 12px rgba(0,0,0,.7); }
.scn-caesar-mourns-antony .wall-back { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #2e221b 0%, #4a3a2e 100%); }
.scn-caesar-mourns-antony .window-arch { position:absolute; top:10%; left:25%; width:50%; height:40%; background: radial-gradient(ellipse at center, #c8a070 0%, #7a5a3a 80%); border-radius: 50% 50% 0 0 / 80% 80% 0 0; box-shadow: inset 0 0 40px #5a3a1a; animation: cmo-window 6s ease-in-out infinite; }
.scn-caesar-mourns-antony .torch-glow { position:absolute; bottom:38%; right:15%; width:14px; height:60px; background: radial-gradient(ellipse at 50% 0%, #ffa040 0%, transparent 100%); border-radius: 50% 50% 30% 30%; animation: cmo-torch 3s ease-in-out infinite alternate; }
.scn-caesar-mourns-antony .bier-shadow { position:absolute; bottom:35%; left:15%; right:40%; height:20%; background: linear-gradient(180deg, rgba(0,0,0,.5) 0%, transparent 100%); border-radius: 30% 30% 0 0; }
.scn-caesar-mourns-antony .caesar-figure { position:absolute; bottom:25%; left:20%; width:22px; height:60px; background: linear-gradient(180deg, #2a1a12 0%, #1a0e08 100%); border-radius: 40% 40% 35% 35% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cmo-caesar 8s ease-in-out infinite; }
.scn-caesar-mourns-antony .antony-shroud { position:absolute; bottom:28%; right:15%; width:40px; height:50px; background: linear-gradient(180deg, #a08060 0%, #70503a 100%); border-radius: 40% 20% 20% 40% / 60% 40% 40% 60%; transform: rotate(15deg); opacity:.6; animation: cmo-shroud 10s ease-in-out infinite; }
.scn-caesar-mourns-antony .drape-left { position:absolute; top:0; left:0; width:12%; height:100%; background: linear-gradient(180deg, #6a4030 0%, #3a2018 100%); border-radius: 0 20% 20% 0; animation: cmo-drape 5s ease-in-out infinite; }
.scn-caesar-mourns-antony .drape-right { position:absolute; top:0; right:0; width:12%; height:100%; background: linear-gradient(180deg, #6a4030 0%, #3a2018 100%); border-radius: 20% 0 0 20%; animation: cmo-drape 5s ease-in-out infinite 0.5s; }

@keyframes cmo-window { 0% { opacity:.6; transform: scaleY(1); } 50% { opacity:.9; transform: scaleY(1.02); } 100% { opacity:.7; transform: scaleY(1); } }
@keyframes cmo-torch { 0% { transform: translateY(0) scaleX(1); filter: blur(4px); } 50% { transform: translateY(-4px) scaleX(1.3); filter: blur(6px); } 100% { transform: translateY(0) scaleX(1); filter: blur(4px); } }
@keyframes cmo-caesar { 0% { transform: translateY(0) rotate(2deg); } 30% { transform: translateY(-2px) rotate(-1deg); } 60% { transform: translateY(-1px) rotate(3deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes cmo-shroud { 0% { transform: rotate(15deg) translateX(0); } 50% { transform: rotate(18deg) translateX(3px); } 100% { transform: rotate(13deg) translateX(-1px); } }
@keyframes cmo-drape { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.03); } 100% { transform: scaleY(1); } }

/* Scene: caesar-praises-antony — dark mood, bright interior, hall with mirrors */
.scn-caesar-praises-antony {
  background: 
    linear-gradient(180deg, #1a1412 0%, #2e2420 40%, #4a3830 100%),
    radial-gradient(ellipse at 50% 30%, #7a5a4a 0%, transparent 60%);
}
.scn-caesar-praises-antony .wall-mid { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #3a2e28 0%, #2a1e1a 100%); }
.scn-caesar-praises-antony .floor-checker { position:absolute; bottom:0; left:0; right:0; height:30%; background: repeating-conic-gradient(#3a2e28 0% 25%, #2a1e1a 0% 50%) 0 0 / 20px 20px; opacity:.4; }
.scn-caesar-praises-antony .column-left { position:absolute; bottom:30%; left:10%; width:8%; height:70%; background: linear-gradient(90deg, #5a4a3a 0%, #8a7a6a 50%, #5a4a3a 100%); border-radius: 10% 10% 0 0; box-shadow: -6px 0 12px rgba(0,0,0,.5); }
.scn-caesar-praises-antony .column-right { position:absolute; bottom:30%; right:10%; width:8%; height:70%; background: linear-gradient(90deg, #5a4a3a 0%, #8a7a6a 50%, #5a4a3a 100%); border-radius: 10% 10% 0 0; box-shadow: 6px 0 12px rgba(0,0,0,.5); }
.scn-caesar-praises-antony .mirror-oval { position:absolute; top:20%; left:35%; width:30%; height:40%; background: radial-gradient(ellipse at center, #b8a090 0%, #705040 100%); border-radius: 50%; border: 4px solid #8a7058; box-shadow: 0 0 30px #a08060; animation: cpa-mirror 12s ease-in-out infinite; }
.scn-caesar-praises-antony .caesar-speaker { position:absolute; bottom:25%; left:25%; width:20px; height:55px; background: linear-gradient(180deg, #2a1a12 0%, #1a0e08 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cpa-speak 9s ease-in-out infinite; }
.scn-caesar-praises-antony .antony-guesture { position:absolute; bottom:25%; right:30%; width:18px; height:50px; background: linear-gradient(180deg, #3a2a20 0%, #1e1410 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cpa-guesture 7s ease-in-out infinite; }
.scn-caesar-praises-antony .candle-triple { position:absolute; bottom:32%; left:42%; width:12px; height:30px; background: linear-gradient(180deg, #ffd060 0%, #b08040 80%); border-radius: 30% 30% 20% 20%; box-shadow: 0 -8px 20px #ffd060; animation: cpa-candle 2s ease-in-out infinite alternate; }

@keyframes cpa-mirror { 0% { opacity:.7; transform: scaleX(1); } 50% { opacity:1; transform: scaleX(1.02); } 100% { opacity:.8; transform: scaleX(1); } }
@keyframes cpa-speak { 0% { transform: translateY(0) rotate(-2deg); } 25% { transform: translateY(-1px) rotate(1deg); } 50% { transform: translateY(-2px) rotate(-1deg); } 75% { transform: translateY(-1px) rotate(2deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes cpa-guesture { 0% { transform: translateY(0) rotate(3deg); } 30% { transform: translateY(-2px) rotate(-2deg); } 60% { transform: translateY(-1px) rotate(4deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes cpa-candle { 0% { transform: translateY(0) scaleY(1); filter: blur(2px); } 50% { transform: translateY(-3px) scaleY(1.1); filter: blur(4px); } 100% { transform: translateY(0) scaleY(1); filter: blur(2px); } }

/* Scene: egyptian-ambassador-arrives — tense, bright interior, Egyptian court */
.scn-egyptian-ambassador-arrives {
  background: 
    linear-gradient(180deg, #1a1a1e 0%, #2c282a 40%, #4a3e3a 100%),
    radial-gradient(ellipse at 50% 80%, #6a5048 0%, transparent 70%);
}
.scn-egyptian-ambassador-arrives .entry-arch { position:absolute; top:5%; left:10%; width:80%; height:60%; background: radial-gradient(ellipse at 50% 80%, #3a2a22 0%, #1a1010 100%); border-radius: 50% 50% 0 0 / 80% 80% 0 0; box-shadow: inset 0 0 30px #5a4a3a; }
.scn-egyptian-ambassador-arrives .hall-floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #3a2e28 0%, #1e1410 100%); }
.scn-egyptian-ambassador-arrives .wall-hieroglyph { position:absolute; inset:0 0 35% 0; background: repeating-linear-gradient(0deg, #4a3a32 0px, #4a3a32 4px, #3a2a22 4px, #3a2a22 8px); opacity:.3; }
.scn-egyptian-ambassador-arrives .ambassador-shadow { position:absolute; bottom:25%; left:40%; width:30px; height:70px; background: linear-gradient(180deg, rgba(0,0,0,.6) 0%, transparent 100%); transform: rotate(-5deg); animation: eam-shadow 4s ease-in-out infinite; }
.scn-egyptian-ambassador-arrives .ambassador-figure { position:absolute; bottom:23%; left:40%; width:22px; height:68px; background: linear-gradient(180deg, #2a1a12 0%, #1a0e08 100%); border-radius: 40% 40% 35% 35% / 60% 60% 40% 40%; transform-origin: bottom center; animation: eam-enter 6s ease-in-out infinite; }
.scn-egyptian-ambassador-arrives .guard-spear { position:absolute; bottom:28%; right:20%; width:4px; height:80px; background: linear-gradient(180deg, #8a6a4a 0%, #5a3a2a 100%); border-radius: 2px; transform: rotate(12deg); animation: eam-spear 5s ease-in-out infinite; }
.scn-egyptian-ambassador-arrives .brazier-glow { position:absolute; bottom:30%; left:10%; width:20px; height:20px; background: radial-gradient(circle, #ffa040 0%, #a06030 80%); border-radius: 50%; box-shadow: 0 0 30px #ffa040, 0 0 60px rgba(255,160,64,.4); animation: eam-brazier 2s ease-in-out infinite alternate; }

@keyframes eam-shadow { 0% { opacity:.5; transform: skewX(0); } 50% { opacity:.8; transform: skewX(-5deg); } 100% { opacity:.5; transform: skewX(0); } }
@keyframes eam-enter { 0% { transform: translateX(-20px) rotate(-3deg); } 20% { transform: translateX(-10px) rotate(1deg); } 40% { transform: translateX(0) rotate(-1deg); } 60% { transform: translateX(10px) rotate(2deg); } 80% { transform: translateX(20px) rotate(-2deg); } 100% { transform: translateX(30px) rotate(0); } }
@keyframes eam-spear { 0% { transform: rotate(12deg) translateY(0); } 50% { transform: rotate(10deg) translateY(-3px); } 100% { transform: rotate(14deg) translateY(0); } }
@keyframes eam-brazier { 0% { transform: scale(1); filter: blur(4px); } 50% { transform: scale(1.2); filter: blur(6px); } 100% { transform: scale(1); filter: blur(4px); } }

/* Scene: caesar-promises-mercy — calm, bright interior, chamber with seat */
.scn-caesar-promises-mercy {
  background: 
    linear-gradient(180deg, #1e1a18 0%, #3a2e2a 40%, #5a4a42 100%),
    radial-gradient(ellipse at 50% 40%, #8a7060 0%, transparent 60%);
}
.scn-caesar-promises-mercy .chamber-wall { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #2a2420 0%, #3a322e 100%); }
.scn-caesar-promises-mercy .dais-step { position:absolute; bottom:25%; left:20%; right:20%; height:10%; background: linear-gradient(180deg, #5a4a42 0%, #3a2e2a 100%); border-radius: 10% 10% 0 0; box-shadow: 0 -4px 10px rgba(0,0,0,.5); }
.scn-caesar-promises-mercy .caesar-seated { position:absolute; bottom:25%; left:35%; width:30px; height:50px; background: linear-gradient(180deg, #2a1a12 0%, #1a0e08 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cpm-seat 10s ease-in-out infinite; }
.scn-caesar-promises-mercy .caesar-hand { position:absolute; bottom:30%; left:48%; width:12px; height:20px; background: linear-gradient(180deg, #3a2a20 0%, #1e1410 100%); border-radius: 30% 30% 50% 50%; transform: rotate(-20deg); animation: cpm-hand 6s ease-in-out infinite; }
.scn-caesar-promises-mercy .oil-lamp { position:absolute; bottom:40%; left:10%; width:10px; height:18px; background: linear-gradient(180deg, #ffd060 0%, #a07030 100%); border-radius: 30% 30% 20% 20%; box-shadow: 0 0 20px #ffd060; animation: cpm-lamp 8s ease-in-out infinite; }
.scn-caesar-promises-mercy .window-grille { position:absolute; top:5%; right:8%; width:20%; height:35%; background: linear-gradient(180deg, #4a3a32 0%, #2a1e1a 100%); border-radius: 10% 10% 40% 40%; box-shadow: inset 0 0 20px #7a5a4a; animation: cpm-window 12s linear infinite; }
.scn-caesar-promises-mercy .dove-silhouette { position:absolute; top:12%; right:25%; width:16px; height:12px; background: #2a1e1a; border-radius: 50% 50% 40% 40%; transform: rotate(-10deg); animation: cpm-dove 20s ease-in-out infinite; }

@keyframes cpm-seat { 0% { transform: translateY(0) rotate(0); } 30% { transform: translateY(-2px) rotate(1deg); } 60% { transform: translateY(-1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes cpm-hand { 0% { transform: rotate(-20deg) translateY(0); } 50% { transform: rotate(-15deg) translateY(-2px); } 100% { transform: rotate(-22deg) translateY(0); } }
@keyframes cpm-lamp { 0% { opacity:.7; filter: blur(2px); } 50% { opacity:1; filter: blur(4px); } 100% { opacity:.8; filter: blur(3px); } }
@keyframes cpm-window { 0% { background-position: 0 0; } 100% { background-position: 0 20px; } }
@keyframes cpm-dove { 0% { transform: translateX(0) rotate(-10deg); } 50% { transform: translateX(10px) rotate(5deg); } 100% { transform: translateX(0) rotate(-10deg); } }

.scn-antony-swears-fidelity {
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 40%, #2a1a0a 100%), radial-gradient(ellipse at 50% 60%, #8a5a3a 0%, transparent 60%);
}
.scn-antony-swears-fidelity .bg-room { position:absolute; inset:0; background: linear-gradient(180deg, #8a6a4a 0%, #5a3a2a 100%); }
.scn-antony-swears-fidelity .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 10% 10% 0 0; box-shadow: inset 0 4px 8px rgba(0,0,0,.5); }
.scn-antony-swears-fidelity .fireplace { position:absolute; bottom:25%; left:20%; width:30%; height:40%; background: linear-gradient(135deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 10% 10% 5% 5%; box-shadow: inset 0 0 20px #000; }
.scn-antony-swears-fidelity .flame-1 { position:absolute; bottom:42%; left:28%; width:8%; height:15%; background: radial-gradient(ellipse at 50% 100%, #ffa040 0%, #ff6000 50%, transparent 100%); border-radius: 50%; animation: af-flame1 1.5s ease-in-out infinite alternate; }
.scn-antony-swears-fidelity .flame-2 { position:absolute; bottom:44%; left:35%; width:6%; height:12%; background: radial-gradient(ellipse at 50% 100%, #ffb860 0%, #ff7030 50%, transparent 100%); border-radius: 50%; animation: af-flame2 1.8s ease-in-out infinite alternate-reverse; }
.scn-antony-swears-fidelity .antony { position:absolute; bottom:25%; left:45%; width:12%; height:45%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: af-figure1 4s ease-in-out infinite; }
.scn-antony-swears-fidelity .cleopatra { position:absolute; bottom:25%; right:35%; width:11%; height:44%; background: linear-gradient(180deg, #4a2a2a 0%, #2a1a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: af-figure2 4.5s ease-in-out infinite; }
.scn-antony-swears-fidelity .lamp { position:absolute; top:20%; left:10%; width:12px; height:18px; background: radial-gradient(circle, #ffd080 0%, #b07030 100%); border-radius: 50% 50% 40% 40%; box-shadow: 0 0 20px 8px rgba(255,208,128,.6), 0 0 40px 15px rgba(255,208,128,.3); animation: af-lamp 8s ease-in-out infinite alternate; }
@keyframes af-flame1 { 0% { transform: scaleY(1) translateY(0); opacity:0.9 } 50% { transform: scaleY(1.3) translateY(-4px); opacity:1 } 100% { transform: scaleY(0.8) translateY(2px); opacity:0.8 } }
@keyframes af-flame2 { 0% { transform: scaleY(1) translateX(-2px); opacity:0.8 } 50% { transform: scaleY(1.5) translateX(1px); opacity:1 } 100% { transform: scaleY(0.9) translateX(2px); opacity:0.7 } }
@keyframes af-figure1 { 0%,100% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-2px); } }
@keyframes af-figure2 { 0%,100% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(-1deg) translateY(-1px); } }
@keyframes af-lamp { 0% { opacity:0.8; box-shadow: 0 0 15px 5px rgba(255,208,128,.4); } 50% { opacity:1; box-shadow: 0 0 25px 10px rgba(255,208,128,.7); } 100% { opacity:0.9; box-shadow: 0 0 18px 6px rgba(255,208,128,.5); } }

.scn-cleopatra-mocks-tears {
  background: linear-gradient(180deg, #f0e0c0 0%, #d0b090 50%, #b09070 100%), radial-gradient(ellipse at 50% 30%, #ffe0c0 0%, transparent 60%);
}
.scn-cleopatra-mocks-tears .bg-bright { position:absolute; inset:0; background: linear-gradient(180deg, #f5e8d8 0%, #dcc8b0 100%); }
.scn-cleopatra-mocks-tears .mirror-frame { position:absolute; top:20%; left:30%; width:40%; height:50%; background: linear-gradient(135deg, #c8a880 0%, #a08060 100%); border-radius: 10% / 8%; box-shadow: inset 0 0 20px #6a4a2a; }
.scn-cleopatra-mocks-tears .cleo-head { position:absolute; top:30%; left:42%; width:15%; height:20%; background: radial-gradient(ellipse at 50% 40%, #f0d0b0 0%, #d0a880 100%); border-radius: 50% 50% 40% 40%; transform: scaleX(-1); animation: ct-head 3s ease-in-out infinite; }
.scn-cleopatra-mocks-tears .cleo-hand { position:absolute; top:44%; left:50%; width:10%; height:8%; background: radial-gradient(ellipse, #f0d0b0 0%, #d0a880 100%); border-radius: 40% 40% 30% 30%; transform: rotate(20deg); animation: ct-hand 2.5s ease-in-out infinite alternate; }
.scn-cleopatra-mocks-tears .handkerchief { position:absolute; top:42%; left:55%; width:12%; height:10%; background: linear-gradient(135deg, #f8f0e0 0%, #e0d0b0 100%); border-radius: 20% 60% 20% 60%; transform: rotate(30deg); box-shadow: 0 2px 4px rgba(0,0,0,.2); animation: ct-handkerchief 4s ease-in-out infinite; }
.scn-cleopatra-mocks-tears .tear-1 { position:absolute; top:44%; left:44%; width:4px; height:6px; background: radial-gradient(circle, #ffffff 0%, #c0e0ff 100%); border-radius: 50%; animation: ct-tear 2s ease-in-out infinite; }
.scn-cleopatra-mocks-tears .tear-2 { position:absolute; top:46%; left:46%; width:3px; height:5px; background: radial-gradient(circle, #ffffff 0%, #c0e0ff 100%); border-radius: 50%; animation: ct-tear 2.3s ease-in-out infinite 0.5s; }
@keyframes ct-head { 0%,100% { transform: scaleX(-1) rotate(0deg) translateY(0); } 50% { transform: scaleX(-1) rotate(5deg) translateY(-2px); } }
@keyframes ct-hand { 0% { transform: rotate(15deg) translateY(0); } 100% { transform: rotate(25deg) translateY(-3px); } }
@keyframes ct-handkerchief { 0%,100% { transform: rotate(30deg) translateY(0); opacity:0.8; } 50% { transform: rotate(20deg) translateY(-2px); opacity:1; } }
@keyframes ct-tear { 0% { opacity:0; transform: translateY(0) scale(0.5); } 20% { opacity:1; transform: translateY(5px) scale(1); } 100% { opacity:0; transform: translateY(15px) scale(0.5); } }

.scn-cleopatra-taunts-herculean {
  background: linear-gradient(180deg, #c8b090 0%, #a08870 40%, #887060 100%), radial-gradient(ellipse at 50% 20%, #f0d0b0 0%, transparent 70%);
}
.scn-cleopatra-taunts-herculean .bg-interior { position:absolute; inset:0; background: linear-gradient(180deg, #d8c0a8 0%, #b8a088 100%); }
.scn-cleopatra-taunts-herculean .pillar-left { position:absolute; left:10%; top:0; bottom:0; width:8%; background: linear-gradient(90deg, #a09080 0%, #c0b0a0 30%, #a09080 100%); border-radius: 4% 4% 0 0; box-shadow: inset -4px 0 8px rgba(0,0,0,.3); }
.scn-cleopatra-taunts-herculean .pillar-right { position:absolute; right:10%; top:0; bottom:0; width:8%; background: linear-gradient(90deg, #a09080 0%, #c0b0a0 30%, #a09080 100%); border-radius: 4% 4% 0 0; box-shadow: inset 4px 0 8px rgba(0,0,0,.3); }
.scn-cleopatra-taunts-herculean .cleo-figure { position:absolute; bottom:20%; left:30%; width:14%; height:50%; background: linear-gradient(180deg, #d0a080 0%, #b08060 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ch-figure1 3s ease-in-out infinite; }
.scn-cleopatra-taunts-herculean .sword { position:absolute; bottom:45%; left:38%; width:20%; height:6%; background: linear-gradient(180deg, #e0d0c0 0%, #a09080 100%); border-radius: 2% 20% 20% 2%; transform: rotate(-30deg); transform-origin: right center; box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: ch-sword 2s ease-in-out infinite alternate; }
.scn-cleopatra-taunts-herculean .shield { position:absolute; bottom:30%; right:25%; width:18%; height:22%; background: radial-gradient(circle at 40% 40%, #c0a080 0%, #908070 100%); border-radius: 50%; box-shadow: inset 0 0 20px rgba(0,0,0,.5); animation: ch-shield 4s ease-in-out infinite; }
.scn-cleopatra-taunts-herculean .antony-figure { position:absolute; bottom:20%; right:30%; width:16%; height:48%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ch-figure2 3.5s ease-in-out infinite; }
@keyframes ch-figure1 { 0%,100% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(3deg) translateY(-2px); } }
@keyframes ch-sword { 0% { transform: rotate(-30deg) scaleX(1); } 100% { transform: rotate(-10deg) scaleX(1.1); } }
@keyframes ch-shield { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(5deg); } }
@keyframes ch-figure2 { 0%,100% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(-2deg) translateY(2px); } }

.scn-antony-forgives-cleopatra {
  background: linear-gradient(180deg, #e0c8a0 0%, #c0a880 40%, #a08868 100%), radial-gradient(ellipse at 50% 0%, #ffe0b0 0%, transparent 60%);
}
.scn-antony-forgives-cleopatra .bg-window { position:absolute; inset:0; background: linear-gradient(180deg, #d8b898 0%, #b89878 100%); }
.scn-antony-forgives-cleopatra .window-light { position:absolute; top:10%; left:15%; width:70%; height:40%; background: linear-gradient(135deg, rgba(255,220,160,0.6) 0%, transparent 100%); clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%); animation: ac-light 12s ease-in-out infinite alternate; }
.scn-antony-forgives-cleopatra .antony-body { position:absolute; bottom:20%; left:35%; width:15%; height:55%; background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ac-body1 4s ease-in-out infinite; }
.scn-antony-forgives-cleopatra .cleo-body { position:absolute; bottom:20%; right:35%; width:13%; height:52%; background: linear-gradient(180deg, #7a5a4a 0%, #4a2a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ac-body2 4s ease-in-out infinite 0.3s; }
.scn-antony-forgives-cleopatra .embrace-arm { position:absolute; bottom:40%; left:42%; width:20%; height:4%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 30% 30% 30% 30%; transform: rotate(20deg); transform-origin: left center; box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: ac-arm 3s ease-in-out infinite alternate; }
.scn-antony-forgives-cleopatra .sunbeam { position:absolute; top:0; left:40%; width:20%; height:100%; background: linear-gradient(180deg, rgba(255,240,200,0.3) 0%, transparent 100%); filter: blur(8px); animation: ac-sun 10s ease-in-out infinite alternate; }
@keyframes ac-light { 0% { opacity:0.5; transform: skewX(-2deg); } 50% { opacity:1; transform: skewX(0deg); } 100% { opacity:0.7; transform: skewX(2deg); } }
@keyframes ac-body1 { 0%,100% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-2px); } }
@keyframes ac-body2 { 0%,100% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(-2deg) translateY(-1px); } }
@keyframes ac-arm { 0% { transform: rotate(15deg) scaleY(1); } 100% { transform: rotate(25deg) scaleY(1.2); } }
@keyframes ac-sun { 0% { opacity:0.3; transform: translateX(-10px); } 50% { opacity:0.6; transform: translateX(5px); } 100% { opacity:0.4; transform: translateX(10px); } }

/* --- antony-threatens-cleopatra (at) --- */
.scn-antony-threatens-cleopatra {
  background: linear-gradient(180deg, #0a0a1a 0%, #1a0f0a 40%, #2a1510 100%),
              radial-gradient(ellipse at 50% 30%, #3a1a0a 0%, transparent 70%);
}
.scn-antony-threatens-cleopatra .bg-dark { position:absolute; inset:0; background:radial-gradient(ellipse at 60% 40%, #1a0f0a 20%, #0a0a1a 80%); animation: at-pulse 8s ease-in-out infinite alternate; }
.scn-antony-threatens-cleopatra .hand { position:absolute; bottom:20%; left:30%; width:110px; height:130px; background:linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; box-shadow: inset -10px -10px 20px rgba(0,0,0,0.8); animation: at-hand 6s ease-in-out infinite; }
.scn-antony-threatens-cleopatra .nails { position:absolute; bottom:38%; left:42%; width:25px; height:30px; background:linear-gradient(135deg, #6a1a1a 0%, #4a1010 100%); border-radius:0 50% 50% 50%; transform:rotate(-15deg); box-shadow: 0 0 8px 2px #8a2020; animation: at-nails 3s ease-in-out infinite alternate; }
.scn-antony-threatens-cleopatra .glow { position:absolute; bottom:28%; left:36%; width:60px; height:60px; background:radial-gradient(circle, rgba(180,60,20,0.3) 0%, transparent 70%); border-radius:50%; filter:blur(10px); animation: at-glow 4s ease-in-out infinite alternate; }
.scn-antony-threatens-cleopatra .shadow { position:absolute; bottom:0; left:20%; width:80%; height:30%; background:linear-gradient(180deg, transparent 0%, #0a0a0a 100%); filter:blur(4px); animation: at-shadow 6s ease-in-out infinite; }
.scn-antony-threatens-cleopatra .sparks { position:absolute; top:15%; left:10%; width:8px; height:8px; background:#ff8030; border-radius:50%; box-shadow: 0 0 12px 3px rgba(255,128,48,0.8); animation: at-sparks 5s ease-in-out infinite; }
@keyframes at-pulse { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes at-hand { 0% { transform:translate(0,0) rotate(-2deg) } 50% { transform:translate(3px,-2px) rotate(2deg) } 100% { transform:translate(0,0) rotate(0deg) } }
@keyframes at-nails { 0% { transform:rotate(-15deg) scale(1) } 50% { transform:rotate(-10deg) scale(1.1) } 100% { transform:rotate(-18deg) scale(0.95) } }
@keyframes at-glow { 0% { transform:scale(0.8); opacity:0.6 } 50% { transform:scale(1.2); opacity:1 } 100% { transform:scale(0.9); opacity:0.7 } }
@keyframes at-shadow { 0% { transform:scale(1) translateY(0) } 50% { transform:scale(1.05) translateY(2px) } 100% { transform:scale(0.98) translateY(0) } }
@keyframes at-sparks { 0% { transform:translate(0,0) scale(0.5); opacity:0 } 20% { transform:translate(20px,-30px) scale(1.5); opacity:1 } 80% { transform:translate(-15px,-60px) scale(0.8); opacity:0.5 } 100% { transform:translate(10px,-80px) scale(0); opacity:0 } }

/* --- antony-calls-eros (ae) --- */
.scn-antony-calls-eros {
  background: linear-gradient(180deg, #0a0a12 0%, #15101a 50%, #0a0a0f 100%),
              radial-gradient(ellipse at 80% 60%, #1a1520 0%, transparent 70%);
}
.scn-antony-calls-eros .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background:linear-gradient(180deg, #1a1510 0%, #0f0b08 100%); border-radius:20% 20% 0 0; animation: ae-floor 10s ease-in-out infinite; }
.scn-antony-calls-eros .wall { position:absolute; inset:0 0 20% 0; background:linear-gradient(90deg, #0a0a12 0%, #181220 50%, #0a0a12 100%); animation: ae-wall 8s ease-in-out infinite alternate; }
.scn-antony-calls-eros .antony { position:absolute; bottom:20%; left:20%; width:70px; height:120px; background:linear-gradient(180deg, #1a1420 0%, #0f0a10 100%); border-radius:40% 40% 30% 30% / 70% 70% 40% 40%; transform-origin:bottom center; animation: ae-antony 5s ease-in-out infinite; }
.scn-antony-calls-eros .eros { position:absolute; bottom:20%; left:55%; width:50px; height:85px; background:linear-gradient(180deg, #181520 0%, #0d0a10 100%); border-radius:45% 45% 30% 30% / 65% 65% 35% 35%; transform-origin:bottom center; animation: ae-eros 7s ease-in-out infinite; }
.scn-antony-calls-eros .door { position:absolute; bottom:20%; right:8%; width:80px; height:130px; background:linear-gradient(180deg, #1a151a 0%, #0f0a0f 100%); border-radius:5% 5% 0 0; border:2px solid #2a202a; box-shadow: inset 0 0 20px rgba(0,0,0,0.8); animation: ae-door 12s ease-in-out infinite; }
@keyframes ae-floor { 0% { transform:scaleY(1) } 50% { transform:scaleY(0.98) } 100% { transform:scaleY(1.02) } }
@keyframes ae-wall { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes ae-antony { 0% { transform:translate(0,0) rotate(-1deg) } 30% { transform:translate(5px,0) rotate(2deg) } 60% { transform:translate(-2px,-3px) rotate(-1deg) } 100% { transform:translate(0,0) rotate(0deg) } }
@keyframes ae-eros { 0% { transform:translate(0,0) scale(1) } 25% { transform:translate(-4px,2px) scale(0.98) } 50% { transform:translate(2px,-1px) scale(1.01) } 75% { transform:translate(-1px,1px) scale(0.99) } 100% { transform:translate(0,0) scale(1) } }
@keyframes ae-door { 0% { transform:scaleX(1) } 50% { transform:scaleX(0.95) } 100% { transform:scaleX(1.03) } }

/* --- cleopatra-fears-antonys-rage (cf) --- */
.scn-cleopatra-fears-antonys-rage {
  background: linear-gradient(180deg, #0e0e1a 0%, #1a1518 40%, #0f0a0c 100%),
              radial-gradient(ellipse at 50% 20%, #2a1a18 0%, transparent 80%);
}
.scn-cleopatra-fears-antonys-rage .bg-dim { position:absolute; inset:0; background:radial-gradient(ellipse at 40% 60%, #1a1215 30%, transparent 100%); animation: cf-bg 9s ease-in-out infinite alternate; }
.scn-cleopatra-fears-antonys-rage .steps { position:absolute; bottom:0; left:20%; right:20%; height:50%; background:linear-gradient(180deg, #2a2020 0%, #151010 100%); border-radius:30% 30% 0 0; clip-path:polygon(0% 100%, 20% 20%, 40% 100%, 60% 30%, 80% 100%, 100% 40%); animation: cf-steps 7s ease-in-out infinite; }
.scn-cleopatra-fears-antonys-rage .figure { position:absolute; bottom:38%; left:35%; width:30px; height:60px; background:linear-gradient(180deg, #1a1220 0%, #100a15 100%); border-radius:50% 50% 30% 30% / 80% 80% 40% 40%; transform-origin:bottom center; animation: cf-figure 5s ease-in-out infinite; }
.scn-cleopatra-fears-antonys-rage .monument { position:absolute; bottom:10%; left:10%; right:10%; height:70%; background:linear-gradient(180deg, #2a202a 0%, #1a121a 100%); border-radius:5% 5% 0 0; box-shadow: inset 0 -10px 30px rgba(0,0,0,0.7); clip-path:polygon(10% 100%, 20% 0%, 80% 0%, 90% 100%); animation: cf-monument 12s ease-in-out infinite; }
.scn-cleopatra-fears-antonys-rage .torch { position:absolute; bottom:55%; left:45%; width:6px; height:20px; background:linear-gradient(180deg, #b07030 0%, #604020 100%); border-radius:30%; animation: cf-torch 3s ease-in-out infinite; }
.scn-cleopatra-fears-antonys-rage .torch-glow { position:absolute; bottom:50%; left:43%; width:20px; height:20px; background:radial-gradient(circle, rgba(200,100,40,0.6) 0%, transparent 70%); filter:blur(6px); animation: cf-glow 3s ease-in-out infinite alternate; }
@keyframes cf-bg { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.75 } }
@keyframes cf-steps { 0% { transform:translateY(0) } 50% { transform:translateY(-2px) } 100% { transform:translateY(1px) } }
@keyframes cf-figure { 0%,100% { transform:translate(0,0) rotate(0deg) } 30% { transform:translate(2px,-1px) rotate(1deg) } 60% { transform:translate(-3px,2px) rotate(-2deg) } 80% { transform:translate(1px,0) rotate(0deg) } }
@keyframes cf-monument { 0% { transform:scaleY(1) } 50% { transform:scaleY(0.97) } 100% { transform:scaleY(1.02) } }
@keyframes cf-torch { 0% { transform:scaleY(1) translateY(0); opacity:0.9 } 50% { transform:scaleY(1.2) translateY(-2px); opacity:1 } 100% { transform:scaleY(0.9) translateY(1px); opacity:0.8 } }
@keyframes cf-glow { 0% { transform:scale(0.8); opacity:0.5 } 50% { transform:scale(1.3); opacity:0.9 } 100% { transform:scale(0.9); opacity:0.6 } }

/* --- antony-sorrow-clouds (ac) --- */
.scn-antony-sorrow-clouds {
  background: linear-gradient(180deg, #0a0a14 0%, #1a151a 50%, #0f0f12 100%),
              radial-gradient(ellipse at 50% 70%, #1a1a22 0%, transparent 70%);
}
.scn-antony-sorrow-clouds .room { position:absolute; inset:0; background:linear-gradient(180deg, #121018 0%, #1a1620 100%); animation: ac-room 10s ease-in-out infinite alternate; }
.scn-antony-sorrow-clouds .window-out { position:absolute; top:15%; left:12%; width:40%; height:55%; background:linear-gradient(180deg, #2a2a3a 0%, #1a1a28 100%); border-radius:10% 10% 0 0; border:3px solid #2a202a; box-shadow: inset 0 0 30px rgba(0,0,0,0.9); animation: ac-window 8s ease-in-out infinite; }
.scn-antony-sorrow-clouds .cloud1 { position:absolute; top:20%; left:15%; width:80px; height:30px; background:linear-gradient(180deg, rgba(180,180,200,0.4) 0%, rgba(180,180,200,0.1) 100%); border-radius:50%; filter:blur(8px); animation: ac-cloud1 15s linear infinite; }
.scn-antony-sorrow-clouds .cloud2 { position:absolute; top:25%; left:30%; width:60px; height:20px; background:linear-gradient(180deg, rgba(200,200,220,0.3) 0%, rgba(200,200,220,0.05) 100%); border-radius:50%; filter:blur(6px); animation: ac-cloud2 20s linear infinite reverse; }
.scn-antony-sorrow-clouds .antony-sil { position:absolute; bottom:20%; left:10%; width:60px; height:110px; background:linear-gradient(180deg, #1a1420 0%, #0f0a10 100%); border-radius:40% 40% 30% 30% / 70% 70% 40% 40%; transform-origin:bottom center; animation: ac-antony 6s ease-in-out infinite; }
.scn-antony-sorrow-clouds .eros-sil { position:absolute; bottom:20%; left:50%; width:45px; height:80px; background:linear-gradient(180deg, #16121a 0%, #0c0810 100%); border-radius:45% 45% 30% 30% / 65% 65% 35% 35%; transform-origin:bottom center; animation: ac-eros 8s ease-in-out infinite; }
.scn-antony-sorrow-clouds .floor-shade { position:absolute; bottom:0; left:0; right:0; height:20%; background:linear-gradient(180deg, transparent 0%, #0a0a0a 100%); animation: ac-floor 12s ease-in-out infinite; }
@keyframes ac-room { 0% { opacity:0.85 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes ac-window { 0% { transform:scale(1) } 50% { transform:scale(0.98) translateY(-1px) } 100% { transform:scale(1.01) translateY(0) } }
@keyframes ac-cloud1 { 0% { transform:translateX(0) } 25% { transform:translateX(20px) } 50% { transform:translateX(5px) } 75% { transform:translateX(-15px) } 100% { transform:translateX(-30px) } }
@keyframes ac-cloud2 { 0% { transform:translateX(0) scale(1) } 50% { transform:translateX(-20px) scale(1.1) } 100% { transform:translateX(20px) scale(0.9) } }
@keyframes ac-antony { 0% { transform:translate(0,0) rotate(0deg) } 25% { transform:translate(3px,-1px) rotate(1deg) } 50% { transform:translate(-2px,2px) rotate(-2deg) } 75% { transform:translate(1px,-1px) rotate(0deg) } 100% { transform:translate(0,0) rotate(0deg) } }
@keyframes ac-eros { 0% { transform:translate(0,0) scale(1) } 33% { transform:translate(-2px,1px) scale(0.98) } 66% { transform:translate(2px,-1px) scale(1.01) } 100% { transform:translate(0,0) scale(1) } }
@keyframes ac-floor { 0% { opacity:0.5 } 50% { opacity:0.8 } 100% { opacity:0.4 } }

.scn-cleopatra-concludes {
  background:
    linear-gradient(180deg, #f5e6d3 0%, #e8d5b8 50%, #d4b896 100%),
    radial-gradient(circle at 70% 30%, rgba(255,230,180,0.6) 0%, transparent 60%);
}
.scn-cleopatra-concludes .window {
  position: absolute; inset: 5% 15% 55% 45%;
  background: linear-gradient(180deg, #fff8e0 0%, #ffeab0 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(255,230,150,0.5), 0 0 30px rgba(255,220,140,0.3);
  animation: ccc-window 8s ease-in-out infinite alternate;
}
.scn-cleopatra-concludes .drape {
  position: absolute; top: 2%; left: 10%; width: 40%; height: 90%;
  background: linear-gradient(90deg, #c8a882 0%, #d4b896 50%, #b89570 100%);
  border-radius: 0 60% 60% 0 / 0 40% 40% 0;
  filter: blur(2px);
  animation: ccc-drape 12s ease-in-out infinite alternate;
}
.scn-cleopatra-concludes .desk {
  position: absolute; bottom: 10%; left: 20%; right: 20%; height: 8%;
  background: linear-gradient(180deg, #a08060 0%, #8b6b4a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
.scn-cleopatra-concludes .figure {
  position: absolute; bottom: 18%; left: 40%; width: 12%; height: 28%;
  background: linear-gradient(180deg, #d4b896 0%, #b89570 100%);
  border-radius: 50% 40% 40% 40% / 60% 50% 50% 40%;
  transform-origin: bottom center;
  animation: ccc-figure 5s ease-in-out infinite alternate;
}
.scn-cleopatra-concludes .scroll {
  position: absolute; bottom: 18%; left: 55%; width: 6%; height: 4%;
  background: #f0e0c0;
  border-radius: 2px;
  transform: rotate(-15deg);
  animation: ccc-scroll 7s ease-in-out infinite alternate;
}
.scn-cleopatra-concludes .lamp {
  position: absolute; bottom: 20%; left: 25%; width: 8%; height: 12%;
  background: radial-gradient(circle, #ffd080 0%, #e8a040 70%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 20px 8px rgba(255,200,100,0.5);
  animation: ccc-lamp 4s ease-in-out infinite alternate;
}
.scn-cleopatra-concludes .mote {
  position: absolute; width: 4px; height: 4px;
  background: rgba(255,240,200,0.6);
  border-radius: 50%;
  filter: blur(1px);
}
.scn-cleopatra-concludes .mote-1 {
  top: 20%; left: 60%;
  animation: ccc-mote1 18s linear infinite;
}
.scn-cleopatra-concludes .mote-2 {
  top: 40%; left: 30%;
  animation: ccc-mote2 22s linear infinite;
}
@keyframes ccc-window {
  0% { opacity: 0.8; transform: scaleX(1); }
  50% { opacity: 1; transform: scaleX(1.02); }
  100% { opacity: 0.9; transform: scaleX(0.98); }
}
@keyframes ccc-drape {
  0% { transform: translateX(0); }
  50% { transform: translateX(-5px); }
  100% { transform: translateX(3px); }
}
@keyframes ccc-figure {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(2deg) scaleY(1.02); }
  100% { transform: rotate(-1deg); }
}
@keyframes ccc-scroll {
  0% { transform: rotate(-15deg) translateY(0); }
  50% { transform: rotate(-10deg) translateY(-2px); }
  100% { transform: rotate(-18deg) translateY(1px); }
}
@keyframes ccc-lamp {
  0% { box-shadow: 0 0 15px 5px rgba(255,200,100,0.4); }
  50% { box-shadow: 0 0 30px 12px rgba(255,220,140,0.7); }
  100% { box-shadow: 0 0 20px 8px rgba(255,200,100,0.5); }
}
@keyframes ccc-mote1 {
  0% { transform: translate(0, 0); opacity: 0; }
  10% { opacity: 1; }
  90% { opacity: 1; }
  100% { transform: translate(100px, -80px); opacity: 0; }
}
@keyframes ccc-mote2 {
  0% { transform: translate(0, 0); opacity: 0; }
  20% { opacity: 0.8; }
  80% { opacity: 0.8; }
  100% { transform: translate(-60px, 40px); opacity: 0; }
}

.scn-athens-octavia-pleads {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2a2a4e 40%, #3a3a5e 100%),
    radial-gradient(ellipse at 50% 100%, #4a4a6e 0%, transparent 70%);
}
.scn-athens-octavia-pleads .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a2a44 0%, #1a1a2e 100%);
  border-bottom: 2px solid #3a3a5e;
}
.scn-athens-octavia-pleads .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2a 100%);
}
.scn-athens-octavia-pleads .figure-antony {
  position: absolute; bottom: 30%; left: 30%; width: 15%; height: 50%;
  background: linear-gradient(180deg, #4a4a6e 0%, #2a2a4e 100%);
  border-radius: 40% 50% 30% 30% / 60% 70% 40% 40%;
  transform-origin: bottom center;
  animation: aop-antony 6s ease-in-out infinite;
}
.scn-athens-octavia-pleads .figure-octavia {
  position: absolute; bottom: 30%; left: 55%; width: 12%; height: 40%;
  background: linear-gradient(180deg, #5a5a7e 0%, #3a3a5e 100%);
  border-radius: 50% 40% 30% 30% / 70% 60% 40% 40%;
  transform-origin: bottom center;
  animation: aop-octavia 4s ease-in-out infinite alternate;
}
.scn-athens-octavia-pleads .table {
  position: absolute; bottom: 30%; left: 40%; right: 40%; height: 5%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4px;
}
.scn-athens-octavia-pleads .candle {
  position: absolute; bottom: 38%; left: 45%; width: 4%; height: 12%;
  background: linear-gradient(180deg, #e0c090 0%, #c09050 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 20px 5px rgba(200,150,80,0.6);
  animation: aop-candle 3s ease-in-out infinite alternate;
}
.scn-athens-octavia-pleads .shadow {
  position: absolute; bottom: 30%; left: 25%; right: 25%; height: 2px;
  background: #0a0a1a;
  filter: blur(8px);
  animation: aop-shadow 5s ease-in-out infinite;
}
@keyframes aop-antony {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(3px) rotate(2deg) scaleY(1.02); }
  100% { transform: translateX(-2px) rotate(-1deg); }
}
@keyframes aop-octavia {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(0.95) translateY(2px); }
  100% { transform: scaleY(1.02) translateY(-1px); }
}
@keyframes aop-candle {
  0% { box-shadow: 0 0 15px 3px rgba(200,150,80,0.5); transform: rotate(-2deg); }
  50% { box-shadow: 0 0 30px 8px rgba(220,170,90,0.8); transform: rotate(3deg); }
  100% { box-shadow: 0 0 18px 4px rgba(200,150,80,0.6); transform: rotate(0deg); }
}
@keyframes aop-shadow {
  0% { opacity: 0.6; transform: scaleX(1); }
  50% { opacity: 1; transform: scaleX(1.1); }
  100% { opacity: 0.7; transform: scaleX(0.9); }
}

.scn-athens-antony-resolves-war {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2a2a4e 40%, #3a3a5e 100%),
    radial-gradient(ellipse at 50% 80%, #4a4a6e 0%, transparent 70%);
}
.scn-athens-antony-resolves-war .wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(90deg, #2a2a44 0%, #1a1a2e 100%);
}
.scn-athens-antony-resolves-war .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2a 100%);
}
.scn-athens-antony-resolves-war .figure-antony {
  position: absolute; bottom: 25%; left: 35%; width: 18%; height: 55%;
  background: linear-gradient(180deg, #4a4a6e 0%, #2a2a4e 100%);
  border-radius: 40% 50% 30% 30% / 60% 70% 40% 40%;
  transform-origin: bottom center;
  animation: aar-figure 7s ease-in-out infinite;
}
.scn-athens-antony-resolves-war .scroll-map {
  position: absolute; bottom: 25%; left: 20%; right: 20%; height: 6%;
  background: linear-gradient(90deg, #c5a06e 0%, #a08050 100%);
  border-radius: 2px;
  transform: rotate(5deg);
  animation: aar-map 10s ease-in-out infinite alternate;
}
.scn-athens-antony-resolves-war .torch {
  position: absolute; bottom: 35%; left: 55%; width: 5%; height: 15%;
  background: linear-gradient(180deg, #e0a050 0%, #c08040 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 25px 8px rgba(200,120,60,0.7);
  animation: aar-torch 2s ease-in-out infinite alternate;
}
.scn-athens-antony-resolves-war .chair {
  position: absolute; bottom: 25%; left: 50%; width: 10%; height: 20%;
  background: linear-gradient(180deg, #3a3a5e 0%, #2a2a4e 100%);
  border-radius: 10% 10% 20% 20%;
  transform-origin: bottom center;
  animation: aar-chair 8s ease-in-out infinite;
}
.scn-athens-antony-resolves-war .helmet {
  position: absolute; bottom: 28%; left: 15%; width: 8%; height: 6%;
  background: linear-gradient(180deg, #5a5a7e 0%, #3a3a5e 100%);
  border-radius: 50% 50% 30% 30%;
  animation: aar-helmet 12s ease-in-out infinite alternate;
}
@keyframes aar-figure {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(3deg) translateX(2px); }
  100% { transform: rotate(-2deg) translateX(-1px); }
}
@keyframes aar-map {
  0% { transform: rotate(5deg) translateY(0); }
  50% { transform: rotate(8deg) translateY(-2px); }
  100% { transform: rotate(3deg) translateY(1px); }
}
@keyframes aar-torch {
  0% { box-shadow: 0 0 20px 5px rgba(200,120,60,0.6); transform: rotate(-5deg); }
  50% { box-shadow: 0 0 35px 12px rgba(220,140,80,0.9); transform: rotate(8deg); }
  100% { box-shadow: 0 0 25px 8px rgba(200,120,60,0.7); transform: rotate(-3deg); }
}
@keyframes aar-chair {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(2deg); }
  75% { transform: rotate(-2deg); }
  100% { transform: rotate(0deg); }
}
@keyframes aar-helmet {
  0% { transform: translateX(0); }
  100% { transform: translateX(5px); }
}

.scn-enobarbus-news {
  background:
    linear-gradient(180deg, #f0e8d0 0%, #d8c8a8 50%, #b8a888 100%),
    radial-gradient(ellipse at 50% 80%, rgba(255,240,200,0.5) 0%, transparent 70%);
}
.scn-enobarbus-news .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #e8dcc8 0%, #d0c4a8 100%);
  animation: enn-sky 20s ease-in-out infinite alternate;
}
.scn-enobarbus-news .column {
  position: absolute; bottom: 0; width: 6%; height: 70%;
  background: linear-gradient(180deg, #c8b898 0%, #a89878 100%);
  border-radius: 4px;
}
.scn-enobarbus-news .col-left { left: 15%; }
.scn-enobarbus-news .col-right { right: 15%; }
.scn-enobarbus-news .figure-enobarbus {
  position: absolute; bottom: 20%; left: 30%; width: 14%; height: 45%;
  background: linear-gradient(180deg, #7a6a4a 0%, #5a4a2a 100%);
  border-radius: 40% 50% 30% 30% / 60% 70% 40% 40%;
  transform-origin: bottom center;
  animation: enn-figure1 4s ease-in-out infinite;
}
.scn-enobarbus-news .figure-eros {
  position: absolute; bottom: 20%; left: 50%; width: 12%; height: 40%;
  background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%);
  border-radius: 50% 40% 30% 30% / 70% 60% 40% 40%;
  transform-origin: bottom center;
  animation: enn-figure2 5s ease-in-out infinite alternate;
}
.scn-enobarbus-news .banner {
  position: absolute; top: 15%; left: 35%; right: 35%; height: 8%;
  background: linear-gradient(180deg, #c8553d 0%, #a0461a 100%);
  border-radius: 2px;
  transform-origin: top center;
  animation: enn-banner 3s ease-in-out infinite alternate;
}
.scn-enobarbus-news .sword {
  position: absolute; bottom: 20%; left: 60%; width: 3%; height: 20%;
  background: linear-gradient(180deg, #b8a888 0%, #988878 100%);
  border-radius: 2px;
  transform: rotate(20deg);
  animation: enn-sword 8s ease-in-out infinite;
}
@keyframes enn-sky {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes enn-figure1 {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(4px) rotate(3deg); }
  100% { transform: translateX(-2px) rotate(-1deg); }
}
@keyframes enn-figure2 {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(0.95) translateY(2px); }
  100% { transform: scaleY(1.03) translateY(-1px); }
}
@keyframes enn-banner {
  0% { transform: rotate(-10deg); }
  50% { transform: rotate(15deg) scaleY(1.05); }
  100% { transform: rotate(-8deg); }
}
@keyframes enn-sword {
  0% { transform: rotate(20deg) translateY(0); }
  50% { transform: rotate(25deg) translateY(-3px); }
  100% { transform: rotate(18deg) translateY(2px); }
}

.scn-antony-persuades-eros {
  background:
    linear-gradient(180deg, #0f0c1a 0%, #1a1628 40%, #2a2238 100%),
    radial-gradient(ellipse at 70% 60%, #3a2a4a 0%, transparent 60%);
}
.scn-antony-persuades-eros .bg   { position:absolute; inset:0; background:linear-gradient(180deg, #1a1628 0%, #0a0812 100%); opacity:.6; }
.scn-antony-persuades-eros .wall { position:absolute; inset:15% 10% 10% 10%; background:linear-gradient(180deg, #2a2238 0%, #1a1428 60%, #0f0c1a 100%); border-radius:4% 4% 0 0; box-shadow:inset 0 0 30px rgba(0,0,0,.6); }
.scn-antony-persuades-eros .window {
  position:absolute; top:20%; right:25%; width:12%; height:18%;
  background:linear-gradient(180deg, #4a5a7a 0%, #2a3a5a 100%);
  border-radius:10%; box-shadow:0 0 40px 10px rgba(100,130,200,.2);
}
.scn-antony-persuades-eros .light-shaft {
  position:absolute; top:20%; right:25%; width:8%; height:50%;
  background:linear-gradient(180deg, rgba(180,200,255,.08) 0%, transparent 80%);
  transform:skewX(-5deg); transform-origin:top; animation: ape-shaft 6s ease-in-out infinite alternate;
}
.scn-antony-persuades-eros .figure-antony {
  position:absolute; bottom:35%; left:30%; width:14%; height:40%;
  background:linear-gradient(180deg, #2a2030 0%, #100a14 100%);
  border-radius:40% 40% 30% 30% / 55% 55% 30% 30%;
  transform-origin:bottom center; animation: ape-antony 4s ease-in-out infinite;
}
.scn-antony-persuades-eros .figure-eros {
  position:absolute; bottom:35%; right:32%; width:12%; height:38%;
  background:linear-gradient(180deg, #2a2030 0%, #100a14 100%);
  border-radius:45% 45% 35% 35% / 50% 50% 30% 30%;
  transform-origin:bottom center; animation: ape-eros 5s ease-in-out infinite;
}
.scn-antony-persuades-eros .sword {
  position:absolute; bottom:48%; left:44%; width:2%; height:25%;
  background:linear-gradient(180deg, #c8b080 0%, #8a7a60 50%, #c8b080 100%);
  border-radius:2px; transform:rotate(20deg); transform-origin:bottom; animation: ape-sword 1.5s ease-in-out infinite alternate;
}
@keyframes ape-shaft { 0% { opacity:.3; transform:skewX(-7deg) } 50% { opacity:.6; transform:skewX(-3deg) } 100% { opacity:.2; transform:skewX(-8deg) } }
@keyframes ape-antony { 0% { transform:translateY(0) rotate(-1deg) } 50% { transform:translateY(-2px) rotate(1deg) } 100% { transform:translateY(0) rotate(-1deg) } }
@keyframes ape-eros   { 0% { transform:translateY(0) rotate(1deg) } 50% { transform:translateY(-1px) rotate(-1deg) } 100% { transform:translateY(0) rotate(1deg) } }
@keyframes ape-sword  { 0% { opacity:.7; transform:rotate(18deg) } 50% { opacity:1; transform:rotate(22deg) } 100% { opacity:.8; transform:rotate(18deg) } }

.scn-eros-kills-himself {
  background:
    linear-gradient(180deg, #0a0812 0%, #1a1628 50%, #2a2038 100%),
    radial-gradient(ellipse at 50% 70%, #3a2a4a 0%, transparent 50%);
}
.scn-eros-kills-himself .bg       { position:absolute; inset:0; background:linear-gradient(180deg, #120e1e 0%, #080612 100%); opacity:.5; }
.scn-eros-kills-himself .wall     { position:absolute; inset:12% 8% 8% 8%; background:linear-gradient(180deg, #1e1a2e 0%, #0e0a1a 60%, #06040c 100%); border-radius:6% 6% 0 0; box-shadow:inset 0 0 40px rgba(0,0,0,.8); }
.scn-eros-kills-himself .light    { position:absolute; top:15%; left:40%; width:20%; height:30%; background:radial-gradient(circle at 50% 50%, rgba(200,160,100,.15) 0%, transparent 70%); animation: ekh-light 4s ease-in-out infinite alternate; }
.scn-eros-kills-himself .figure-eros {
  position:absolute; bottom:30%; left:38%; width:13%; height:42%;
  background:linear-gradient(180deg, #2a2030 0%, #120c1a 100%);
  border-radius:50% 50% 40% 40% / 55% 55% 35% 35%;
  transform-origin:bottom center; animation: ekh-eros 6s ease-in-out infinite;
}
.scn-eros-kills-himself .figure-antony {
  position:absolute; bottom:34%; right:30%; width:15%; height:40%;
  background:linear-gradient(180deg, #1a1628 0%, #0a0812 100%);
  border-radius:45% 45% 35% 35% / 50% 50% 35% 35%;
  transform-origin:bottom center; animation: ekh-antony 5s ease-in-out infinite;
}
.scn-eros-kills-himself .sword {
  position:absolute; bottom:40%; left:45%; width:2%; height:30%;
  background:linear-gradient(180deg, #b8a080 0%, #786850 50%, #b8a080 100%);
  border-radius:2px; transform:rotate(-60deg); transform-origin:top; animation: ekh-sword 2s ease-in-out infinite alternate;
}
.scn-eros-kills-himself .blood {
  position:absolute; bottom:26%; left:44%; width:4%; height:4%;
  background:radial-gradient(circle, #a03a30 0%, #602220 60%, transparent 100%);
  border-radius:50%; box-shadow:0 0 12px 4px rgba(160,58,48,.4); animation: ekh-blood 3s ease-in-out infinite alternate;
}
@keyframes ekh-light  { 0% { opacity:.2; transform:scale(1) } 50% { opacity:.5; transform:scale(1.1) } 100% { opacity:.3; transform:scale(.95) } }
@keyframes ekh-eros   { 0% { transform:translateY(0) rotate(2deg) } 50% { transform:translateY(-3px) rotate(-1deg) } 100% { transform:translateY(0) rotate(2deg) } }
@keyframes ekh-antony  { 0% { transform:translateY(0) rotate(-1deg) } 50% { transform:translateY(-1px) rotate(1deg) } 100% { transform:translateY(0) rotate(-1deg) } }
@keyframes ekh-sword  { 0% { transform:rotate(-62deg); opacity:.8 } 50% { transform:rotate(-58deg); opacity:1 } 100% { transform:rotate(-60deg); opacity:.9 } }
@keyframes ekh-blood  { 0% { opacity:.4; transform:scale(1) } 50% { opacity:.8; transform:scale(1.2) } 100% { opacity:.5; transform:scale(.9) } }

.scn-antony-fails-suicide {
  background:
    linear-gradient(180deg, #0f0c1a 0%, #1a1628 40%, #2a2038 80%, #1a1428 100%),
    radial-gradient(ellipse at 50% 30%, #3a2a4a 0%, transparent 70%);
}
.scn-antony-fails-suicide .bg         { position:absolute; inset:0; background:linear-gradient(180deg, #120e1e 0%, #080612 100%); opacity:.6; }
.scn-antony-fails-suicide .floor      { position:absolute; bottom:0; left:0; right:0; height:40%; background:linear-gradient(180deg, #1a1428 0%, #0e0a1a 100%); border-radius:20% 20% 0 0; box-shadow:inset 0 10px 30px rgba(0,0,0,.7); }
.scn-antony-fails-suicide .body-antony {
  position:absolute; bottom:30%; left:40%; width:20%; height:20%;
  background:linear-gradient(180deg, #2a2030 0%, #1a1428 60%, #120c1a 100%);
  border-radius:50% 50% 30% 30% / 40% 40% 30% 30%;
  transform:rotate(-10deg); transform-origin:center; animation: afs-body 8s ease-in-out infinite alternate;
}
.scn-antony-fails-suicide .sword-fallen {
  position:absolute; bottom:25%; left:55%; width:2%; height:15%;
  background:linear-gradient(180deg, #c8b080 0%, #8a7a60 100%);
  border-radius:2px; transform:rotate(70deg); transform-origin:bottom; animation: afs-sword 4s ease-in-out infinite;
}
.scn-antony-fails-suicide .blood-pool {
  position:absolute; bottom:20%; left:44%; width:12%; height:6%;
  background:radial-gradient(ellipse at 50% 50%, #a8463a 0%, #602e28 40%, transparent 70%);
  border-radius:50%; box-shadow:0 0 20px 6px rgba(168,70,58,.3); animation: afs-blood 5s ease-in-out infinite alternate;
}
.scn-antony-fails-suicide .shadow {
  position:absolute; bottom:28%; left:38%; width:24%; height:8%;
  background:radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.4) 0%, transparent 70%);
  filter:blur(6px); animation: afs-shadow 10s ease-in-out infinite;
}
@keyframes afs-body   { 0% { transform:rotate(-12deg) translateY(0) } 50% { transform:rotate(-8deg) translateY(-2px) } 100% { transform:rotate(-12deg) translateY(0) } }
@keyframes afs-sword  { 0% { opacity:.6; transform:rotate(68deg) } 50% { opacity:.9; transform:rotate(72deg) } 100% { opacity:.7; transform:rotate(68deg) } }
@keyframes afs-blood  { 0% { opacity:.5; transform:scale(1) } 50% { opacity:.8; transform:scale(1.05) } 100% { opacity:.6; transform:scale(.95) } }
@keyframes afs-shadow { 0% { opacity:.3; transform:scale(1) } 50% { opacity:.5; transform:scale(1.1) } 100% { opacity:.4; transform:scale(.9) } }

.scn-antony-calls-guard {
  background:
    linear-gradient(180deg, #0f0c1a 0%, #1a1628 40%, #2a2038 80%, #1a1428 100%),
    radial-gradient(ellipse at 50% 50%, #2a2a4a 0%, transparent 60%);
}
.scn-antony-calls-guard .bg           { position:absolute; inset:0; background:linear-gradient(180deg, #120e1e 0%, #080612 100%); opacity:.5; }
.scn-antony-calls-guard .wall         { position:absolute; inset:10% 5% 8% 5%; background:linear-gradient(180deg, #1e1a2e 0%, #0e0a1a 60%, #06040c 100%); border-radius:4% 4% 0 0; box-shadow:inset 0 0 30px rgba(0,0,0,.7); }
.scn-antony-calls-guard .door {
  position:absolute; bottom:8%; right:18%; width:14%; height:55%;
  background:linear-gradient(180deg, #2a2030 0%, #1a1428 100%);
  border-radius:4% 4% 0 0; box-shadow:-4px 0 8px rgba(0,0,0,.4);
}
.scn-antony-calls-guard .figure-antony {
  position:absolute; bottom:30%; left:30%; width:16%; height:44%;
  background:linear-gradient(180deg, #2a2030 0%, #120c1a 100%);
  border-radius:45% 45% 35% 35% / 50% 50% 30% 30%;
  transform-origin:bottom center; animation: acg-antony 3s ease-in-out infinite;
}
.scn-antony-calls-guard .figure-guard1 {
  position:absolute; bottom:28%; right:32%; width:12%; height:42%;
  background:linear-gradient(180deg, #2a2030 0%, #100a14 100%);
  border-radius:40% 40% 30% 30% / 50% 50% 35% 35%;
  transform-origin:bottom center; animation: acg-guard1 4s ease-in-out infinite;
}
.scn-antony-calls-guard .figure-guard2 {
  position:absolute; bottom:28%; right:20%; width:12%; height:42%;
  background:linear-gradient(180deg, #2a2030 0%, #100a14 100%);
  border-radius:40% 40% 30% 30% / 50% 50% 35% 35%;
  transform-origin:bottom center; animation: acg-guard2 4s ease-in-out infinite 1s;
}
.scn-antony-calls-guard .sword {
  position:absolute; bottom:38%; left:46%; width:1.5%; height:20%;
  background:linear-gradient(180deg, #c8b080 0%, #8a7a60 100%);
  border-radius:2px; transform:rotate(-15deg); transform-origin:bottom; animation: acg-sword 2s ease-in-out infinite alternate;
}
@keyframes acg-antony { 0% { transform:translateY(0) rotate(-2deg) } 50% { transform:translateY(-4px) rotate(1deg) } 100% { transform:translateY(0) rotate(-2deg) } }
@keyframes acg-guard1 { 0% { transform:translateX(0) translateY(0) } 50% { transform:translateX(4px) translateY(-1px) } 100% { transform:translateX(0) translateY(0) } }
@keyframes acg-guard2 { 0% { transform:translateX(0) translateY(0) } 50% { transform:translateX(3px) translateY(-2px) } 100% { transform:translateX(0) translateY(0) } }
@keyframes acg-sword  { 0% { opacity:.7; transform:rotate(-17deg) } 50% { opacity:1; transform:rotate(-13deg) } 100% { opacity:.8; transform:rotate(-15deg) } }

/* Scene: soothsayer-charmian-iras */
.scn-soothsayer-charmian-iras {
  background: linear-gradient(180deg, #f5e6c8 0%, #e8d4a8 50%, #dcd0b0 100%), radial-gradient(ellipse at 50% 60%, rgba(255, 230, 180, 0.4) 0%, transparent 70%);
}
.scn-soothsayer-charmian-iras .bg {
  position: absolute; inset: 0; background: linear-gradient(135deg, #f0e2c0 0%, #e0c898 100%); opacity: 0.6; animation: sch-bg 20s ease-in-out infinite;
}
.scn-soothsayer-charmian-iras .table {
  position: absolute; bottom: 20%; left: 30%; width: 40%; height: 12%; background: linear-gradient(180deg, #b08050 0%, #8a6030 100%); border-radius: 8px 8px 0 0; box-shadow: 0 8px 16px rgba(0,0,0,0.3);
}
.scn-soothsayer-charmian-iras .goblet {
  position: absolute; bottom: 30%; width: 8%; height: 14%; background: linear-gradient(180deg, #c8a070 0%, #a08050 50%, #806040 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 4px 8px rgba(0,0,0,0.3); animation: sch-goblet 4s ease-in-out infinite;
}
.scn-soothsayer-charmian-iras .goblet.left { left: 35%; }
.scn-soothsayer-charmian-iras .goblet.right { left: 55%; animation-delay: 0.5s; }
.scn-soothsayer-charmian-iras .figure {
  position: absolute; bottom: 15%; width: 15%; height: 40%; background: linear-gradient(180deg, #d0b890 0%, #a08460 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center;
}
.scn-soothsayer-charmian-iras .figure.charmian { left: 28%; animation: sch-fig-ch 6s ease-in-out infinite; }
.scn-soothsayer-charmian-iras .figure.iras { left: 55%; animation: sch-fig-ir 5s ease-in-out infinite 0.8s; }
.scn-soothsayer-charmian-iras .figure.alexas { left: 10%; width: 18%; height: 45%; animation: sch-fig-al 7s ease-in-out infinite 0.3s; }
.scn-soothsayer-charmian-iras .scroll {
  position: absolute; bottom: 33%; left: 42%; width: 16%; height: 10%; background: linear-gradient(180deg, #f5e4b0 0%, #dcc48a 100%); border-radius: 4px; box-shadow: 0 2px 4px rgba(0,0,0,0.2); transform: rotate(-5deg); animation: sch-scroll 12s ease-in-out infinite;
}
@keyframes sch-bg { 0%,100% { opacity: 0.5; } 50% { opacity: 0.7; } }
@keyframes sch-goblet { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-4px) rotate(3deg); } }
@keyframes sch-fig-ch { 0%,100% { transform: translateX(0) rotate(0); } 25% { transform: translateX(3px) rotate(-2deg); } 50% { transform: translateX(0) rotate(1deg); } 75% { transform: translateX(-2px) rotate(-1deg); } }
@keyframes sch-fig-ir { 0%,100% { transform: translateX(0) scaleY(1); } 50% { transform: translateX(-5px) scaleY(1.02); } }
@keyframes sch-fig-al { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3px) rotate(2deg); } }
@keyframes sch-scroll { 0%,100% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-2px); } }

/* Scene: enobarbus-enter-banquet */
.scn-enobarbus-enter-banquet {
  background: linear-gradient(180deg, #d4b88a 0%, #c4a478 50%, #b89468 100%), radial-gradient(ellipse at 50% 70%, rgba(200, 160, 100, 0.3) 0%, transparent 80%);
}
.scn-enobarbus-enter-banquet .bg {
  position: absolute; inset: 0; background: linear-gradient(135deg, #e8d0a0 0%, #d4b880 100%); opacity: 0.5; animation: enb-bg 30s ease-in-out infinite;
}
.scn-enobarbus-enter-banquet .arch {
  position: absolute; top: 0; left: 15%; width: 70%; height: 50%; background: linear-gradient(180deg, #b89870 0%, #9a7a50 100%); border-radius: 50% 50% 0 0 / 100% 100% 0 0; box-shadow: inset 0 -8px 20px rgba(0,0,0,0.3); animation: enb-arch 15s ease-in-out infinite;
}
.scn-enobarbus-enter-banquet .table {
  position: absolute; bottom: 18%; left: 20%; width: 60%; height: 10%; background: linear-gradient(180deg, #a08050 0%, #806030 100%); border-radius: 10px; box-shadow: 0 6px 12px rgba(0,0,0,0.4); animation: enb-table 20s ease-in-out infinite;
}
.scn-enobarbus-enter-banquet .jug {
  position: absolute; bottom: 28%; left: 35%; width: 12%; height: 18%; background: linear-gradient(180deg, #c8a060 0%, #a88040 50%, #886028 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 4px 8px rgba(0,0,0,0.3); animation: enb-jug 3s ease-in-out infinite;
}
.scn-enobarbus-enter-banquet .goblet {
  position: absolute; bottom: 28%; left: 50%; width: 8%; height: 12%; background: linear-gradient(180deg, #d0a870 0%, #b08040 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 2px 6px rgba(0,0,0,0.3); animation: enb-goblet 4s ease-in-out infinite 0.5s;
}
.scn-enobarbus-enter-banquet .dish {
  position: absolute; bottom: 28%; left: 60%; width: 15%; height: 6%; background: radial-gradient(ellipse, #e8c880 0%, #c8a050 70%); border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,0.2); animation: enb-dish 6s ease-in-out infinite;
}
.scn-enobarbus-enter-banquet .figure.enobarbus {
  position: absolute; bottom: 12%; left: 5%; width: 18%; height: 45%; background: linear-gradient(180deg, #b09070 0%, #8a6a4a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: enb-fig 8s ease-in-out infinite;
}
@keyframes enb-bg { 0%,100% { opacity: 0.4; } 50% { opacity: 0.6; } }
@keyframes enb-arch { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(1.03); } }
@keyframes enb-table { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes enb-jug { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3px) rotate(3deg); } }
@keyframes enb-goblet { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(-2deg); } }
@keyframes enb-dish { 0%,100% { transform: scale(1) rotate(0); } 50% { transform: scale(1.02) rotate(2deg); } }
@keyframes enb-fig { 0%,100% { transform: translateX(0) rotate(0); } 25% { transform: translateX(8px) rotate(-1deg); } 50% { transform: translateX(15px) rotate(1deg); } 75% { transform: translateX(8px) rotate(-1deg); } }

/* Scene: soothsayer-fortunes-told */
.scn-soothsayer-fortunes-told {
  background: linear-gradient(180deg, #f0e4c8 0%, #e0d0b0 50%, #d0c0a0 100%), radial-gradient(ellipse at 50% 80%, rgba(255, 220, 160, 0.3) 0%, transparent 70%);
}
.scn-soothsayer-fortunes-told .bg {
  position: absolute; inset: 0; background: linear-gradient(135deg, #e8d8b8 0%, #d8c4a0 100%); opacity: 0.5; animation: sft-bg 25s ease-in-out infinite;
}
.scn-soothsayer-fortunes-told .arch {
  position: absolute; top: 0; width: 30%; height: 60%; background: linear-gradient(180deg, #c0a880 0%, #a08060 100%); border-radius: 20% 20% 0 0; box-shadow: inset -4px 0 10px rgba(0,0,0,0.3); animation: sft-arch 18s ease-in-out infinite;
}
.scn-soothsayer-fortunes-told .arch.left { left: 5%; }
.scn-soothsayer-fortunes-told .arch.right { right: 5%; }
.scn-soothsayer-fortunes-told .table {
  position: absolute; bottom: 18%; left: 30%; width: 40%; height: 8%; background: linear-gradient(180deg, #b09060 0%, #907040 100%); border-radius: 6px; box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
.scn-soothsayer-fortunes-told .hand {
  position: absolute; bottom: 26%; left: 48%; width: 10%; height: 14%; background: linear-gradient(180deg, #d0b890 0%, #b09870 100%); border-radius: 40% 40% 30% 30%; transform-origin: bottom; animation: sft-hand 4s ease-in-out infinite;
}
.scn-soothsayer-fortunes-told .figure {
  position: absolute; bottom: 10%; width: 18%; height: 45%; background: linear-gradient(180deg, #c0a880 0%, #9a7a5a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center;
}
.scn-soothsayer-fortunes-told .figure.soothsayer { left: 30%; animation: sft-fig-s 7s ease-in-out infinite; }
.scn-soothsayer-fortunes-told .figure.charmian { left: 52%; width: 16%; height: 40%; animation: sft-fig-c 5s ease-in-out infinite 0.4s; }
.scn-soothsayer-fortunes-told .figure.iras { left: 10%; width: 16%; height: 38%; animation: sft-fig-i 6s ease-in-out infinite 0.8s; }
@keyframes sft-bg { 0%,100% { opacity: 0.4; } 50% { opacity: 0.6; } }
@keyframes sft-arch { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } }
@keyframes sft-hand { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3px) rotate(8deg); } }
@keyframes sft-fig-s { 0%,100% { transform: translateX(0) rotate(0); } 25% { transform: translateX(2px) rotate(-1deg); } 50% { transform: translateX(-2px) rotate(1deg); } 75% { transform: translateX(2px) rotate(-1deg); } }
@keyframes sft-fig-c { 0%,100% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(1.02); } }
@keyframes sft-fig-i { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3px) rotate(2deg); } }

/* Scene: soothsayer-charmian-fortune */
.scn-soothsayer-charmian-fortune {
  background: linear-gradient(180deg, #e8dcc4 0%, #d8c8b0 50%, #c8b8a0 100%), radial-gradient(ellipse at 50% 50%, rgba(220, 200, 170, 0.3) 0%, transparent 70%);
}
.scn-soothsayer-charmian-fortune .bg {
  position: absolute; inset: 0; background: linear-gradient(135deg, #f0e4cc 0%, #e0d0b8 100%); opacity: 0.5; animation: scf-bg 30s ease-in-out infinite;
}
.scn-soothsayer-charmian-fortune .pillar {
  position: absolute; top: 10%; bottom: 20%; width: 8%; background: linear-gradient(90deg, #c8b090 0%, #b09878 30%, #a08868 70%, #b09878 100%); border-radius: 4px; box-shadow: 0 0 10px rgba(0,0,0,0.2); animation: scf-pillar 20s ease-in-out infinite;
}
.scn-soothsayer-charmian-fortune .pillar.left { left: 15%; }
.scn-soothsayer-charmian-fortune .pillar.right { right: 15%; animation-delay: 1s; }
.scn-soothsayer-charmian-fortune .figure {
  position: absolute; bottom: 10%; width: 18%; height: 45%; background: linear-gradient(180deg, #c8b090 0%, #a08060 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center;
}
.scn-soothsayer-charmian-fortune .figure.soothsayer { left: 30%; animation: scf-fig-s 8s ease-in-out infinite; }
.scn-soothsayer-charmian-fortune .figure.charmian { left: 52%; width: 16%; height: 40%; animation: scf-fig-ch 6s ease-in-out infinite 0.6s; }
.scn-soothsayer-charmian-fortune .hand {
  position: absolute; bottom: 30%; left: 46%; width: 10%; height: 12%; background: linear-gradient(180deg, #d8c0a0 0%, #b89878 100%); border-radius: 40% 40% 30% 30%; transform-origin: bottom; animation: scf-hand 5s ease-in-out infinite;
}
.scn-soothsayer-charmian-fortune .fig {
  position: absolute; bottom: 22%; left: 55%; width: 6%; height: 8%; background: radial-gradient(ellipse, #b08050 0%, #8a6030 70%); border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,0.2); animation: scf-fig 10s ease-in-out infinite;
}
@keyframes scf-bg { 0%,100% { opacity: 0.4; } 50% { opacity: 0.6; } }
@keyframes scf-pillar { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(1.015); } }
@keyframes scf-fig-s { 0%,100% { transform: translateX(0) rotate(0); } 25% { transform: translateX(2px) rotate(-1deg); } 50% { transform: translateX(-2px) rotate(1deg); } 75% { transform: translateX(2px) rotate(-1deg); } }
@keyframes scf-fig-ch { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(2deg); } }
@keyframes scf-hand { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(5deg); } }
@keyframes scf-fig { 0%,100% { transform: scale(1) translateY(0); } 50% { transform: scale(1.05) translateY(-2px); } }

.scn-cleopatra-threatens-messenger {
  background: linear-gradient(180deg, #d4b896 0%, #a07858 40%, #6b4a32 100%),
              radial-gradient(ellipse at 40% 60%, #f0d8a0 0%, transparent 60%),
              radial-gradient(ellipse at 70% 30%, #e8c080 0%, transparent 50%);
}
.scn-cleopatra-threatens-messenger .wall {
  position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #b89878 0%, #a07858 100%); box-shadow: inset 0 -20px 40px rgba(0,0,0,.3);
}
.scn-cleopatra-threatens-messenger .floor {
  position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #896a4a, #5a3e28); border-radius: 10% 10% 0 0;
}
.scn-cleopatra-threatens-messenger .window-light {
  position:absolute; top:10%; left:70%; width:60px; height:90px; background: radial-gradient(ellipse, #fff8e0 0%, #ffe0a0 60%, transparent 100%); filter: blur(8px); opacity:.4; animation: ctm-light 3s ease-in-out infinite alternate;
}
.scn-cleopatra-threatens-messenger .throne {
  position:absolute; bottom:32%; left:25%; width:100px; height:80px; background: linear-gradient(180deg, #c8a87a 0%, #8a6a42 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 8px 20px rgba(0,0,0,.5); transform: perspective(400px) rotateX(10deg);
}
.scn-cleopatra-threatens-messenger .cleopatra {
  position:absolute; bottom:33%; left:30%; width:30px; height:100px; background: linear-gradient(180deg, #d4a06a 0%, #a07848 40%, #604028 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ctm-cleo 4s ease-in-out infinite;
}
.scn-cleopatra-threatens-messenger .messenger {
  position:absolute; bottom:30%; left:55%; width:25px; height:60px; background: linear-gradient(180deg, #b89878 0%, #8a6a42 100%); border-radius: 40% 40% 30% 30%; transform-origin: bottom center; animation: ctm-messenger 3s ease-in-out infinite;
}
.scn-cleopatra-threatens-messenger .shadow-arm {
  position:absolute; bottom:40%; left:35%; width:20px; height:50px; background: rgba(0,0,0,.3); border-radius: 50% 50% 0 50%; transform: rotate(20deg); filter: blur(4px); animation: ctm-shadowarm 2.5s ease-in-out infinite alternate;
}
@keyframes ctm-light { 0% { opacity:.3; transform: scale(1); } 50% { opacity:.5; transform: scale(1.1); } 100% { opacity:.4; transform: scale(1.05); } }
@keyframes ctm-cleo { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(3deg); } 50% { transform: translateY(0) rotate(-2deg); } 75% { transform: translateY(-1px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ctm-messenger { 0% { transform: translateY(0) scaleY(1); } 25% { transform: translateY(3px) scaleY(0.95); } 50% { transform: translateY(0) scaleY(1); } 75% { transform: translateY(-2px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes ctm-shadowarm { 0% { transform: rotate(15deg) translateX(0); } 50% { transform: rotate(25deg) translateX(2px); } 100% { transform: rotate(15deg) translateX(0); } }

.scn-messenger-reports-marriage {
  background: linear-gradient(180deg, #c8b090 0%, #927a5a 50%, #5a4232 100%),
              radial-gradient(ellipse at 50% 70%, #f0d8b0 0%, transparent 70%);
}
.scn-messenger-reports-marriage .wall {
  position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #b09878 0%, #927a5a 100%); box-shadow: inset 0 -10px 30px rgba(0,0,0,.2);
}
.scn-messenger-reports-marriage .floor {
  position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #7a6242, #4a3220); border-radius: 15% 15% 0 0;
}
.scn-messenger-reports-marriage .pillar {
  position:absolute; bottom:30%; left:10%; width:20px; height:70%; background: linear-gradient(90deg, #b09878 0%, #d4c0a0 30%, #b09878 100%); border-radius: 4px; box-shadow: 0 0 12px rgba(0,0,0,.3);
}
.scn-messenger-reports-marriage .throne {
  position:absolute; bottom:32%; left:40%; width:90px; height:70px; background: linear-gradient(180deg, #c8a87a 0%, #8a6a42 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 8px 20px rgba(0,0,0,.5); transform: perspective(400px) rotateX(8deg);
}
.scn-messenger-reports-marriage .cleopatra {
  position:absolute; bottom:33%; left:45%; width:28px; height:95px; background: linear-gradient(180deg, #d4a06a 0%, #a07848 40%, #604028 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mrm-cleo 5s ease-in-out infinite;
}
.scn-messenger-reports-marriage .messenger-kneeling {
  position:absolute; bottom:28%; left:65%; width:30px; height:50px; background: linear-gradient(180deg, #b89878 0%, #8a6a42 100%); border-radius: 40% 40% 30% 30%; transform-origin: bottom center; animation: mrm-kneel 4s ease-in-out infinite;
}
.scn-messenger-reports-marriage .scroll {
  position:absolute; bottom:33%; left:72%; width:4px; height:20px; background: #d4c0a0; border-radius: 2px; transform: rotate(15deg); animation: mrm-scroll 6s ease-in-out infinite;
}
@keyframes mrm-cleo { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-1px) rotate(2deg); } 60% { transform: translateY(0) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes mrm-kneel { 0% { transform: translateY(0) scaleY(1); } 25% { transform: translateY(2px) scaleY(0.95); } 50% { transform: translateY(0) scaleY(1); } 75% { transform: translateY(-1px) scaleY(1.01); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes mrm-scroll { 0% { transform: rotate(15deg) translateX(0); } 50% { transform: rotate(20deg) translateX(3px); } 100% { transform: rotate(15deg) translateX(0); } }

.scn-cleopatra-hears-marriage {
  background: linear-gradient(180deg, #b0a090 0%, #8a7a6a 40%, #4a3a2a 100%),
              radial-gradient(ellipse at 60% 50%, #f0d8b0 0%, transparent 60%);
}
.scn-cleopatra-hears-marriage .wall {
  position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #9a8a7a 0%, #8a7a6a 100%); box-shadow: inset 0 -15px 30px rgba(0,0,0,.25);
}
.scn-cleopatra-hears-marriage .floor {
  position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #6a5a4a, #3a2a1a); border-radius: 20% 20% 0 0;
}
.scn-cleopatra-hears-marriage .window-light {
  position:absolute; top:12%; left:20%; width:70px; height:100px; background: radial-gradient(ellipse, #fff0c0 0%, #ffe0a0 50%, transparent 100%); filter: blur(6px); opacity:.5; animation: chm-light 4s ease-in-out infinite alternate;
}
.scn-cleopatra-hears-marriage .cleopatra-startled {
  position:absolute; bottom:25%; left:40%; width:32px; height:100px; background: linear-gradient(180deg, #d4a06a 0%, #a07848 40%, #604028 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: chm-startle 2s ease-in-out infinite;
}
.scn-cleopatra-hears-marriage .messenger-bowing {
  position:absolute; bottom:22%; left:60%; width:28px; height:50px; background: linear-gradient(180deg, #b89878 0%, #8a6a42 100%); border-radius: 40% 40% 30% 30%; transform-origin: bottom center; transform: rotate(10deg); animation: chm-bow 3.5s ease-in-out infinite;
}
.scn-cleopatra-hears-marriage .shattered-cup {
  position:absolute; bottom:20%; left:50%; width:12px; height:8px; background: #a07858; border-radius: 50% 50% 0 0; transform: rotate(30deg); box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: chm-shard 1.5s ease-in-out infinite alternate;
}
.scn-cleopatra-hears-marriage .shadow-pool {
  position:absolute; bottom:18%; left:30%; width:100px; height:20px; background: radial-gradient(ellipse, rgba(0,0,0,.3) 0%, transparent 70%); filter: blur(6px); animation: chm-shadow 5s ease-in-out infinite;
}
@keyframes chm-light { 0% { opacity:.4; transform: scale(1); } 50% { opacity:.6; transform: scale(1.15); } 100% { opacity:.5; transform: scale(1.05); } }
@keyframes chm-startle { 0% { transform: translateY(0) rotate(0deg); } 20% { transform: translateY(-5px) rotate(8deg); } 40% { transform: translateY(2px) rotate(-3deg); } 80% { transform: translateY(-1px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes chm-bow { 0% { transform: rotate(10deg) translateY(0); } 25% { transform: rotate(15deg) translateY(3px); } 50% { transform: rotate(10deg) translateY(0); } 75% { transform: rotate(5deg) translateY(-2px); } 100% { transform: rotate(10deg) translateY(0); } }
@keyframes chm-shard { 0% { transform: rotate(30deg) translate(0,0); } 50% { transform: rotate(45deg) translate(2px,-2px); } 100% { transform: rotate(30deg) translate(0,0); } }
@keyframes chm-shadow { 0% { opacity:.3; transform: scaleX(1); } 50% { opacity:.5; transform: scaleX(1.2); } 100% { opacity:.3; transform: scaleX(1); } }

.scn-cleopatra-messenger-rage {
  background: linear-gradient(180deg, #c8a878 0%, #a08868 40%, #6a5232 100%),
              radial-gradient(ellipse at 50% 30%, #ffe0a0 0%, #f0c080 40%, transparent 70%);
}
.scn-cleopatra-messenger-rage .wall {
  position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #b09878 0%, #a08868 100%); box-shadow: inset 0 -20px 40px rgba(0,0,0,.3);
}
.scn-cleopatra-messenger-rage .floor {
  position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #7a6242, #4a3220); border-radius: 10% 10% 0 0;
}
.scn-cleopatra-messenger-rage .torch-flame {
  position:absolute; top:15%; left:75%; width:20px; height:40px; background: radial-gradient(ellipse at 50% 30%, #ffd080 0%, #ffa040 60%, transparent 100%); filter: blur(4px); animation: cmr-flame 2s ease-in-out infinite alternate;
}
.scn-cleopatra-messenger-rage .cleopatra-advancing {
  position:absolute; bottom:28%; left:35%; width:30px; height:100px; background: linear-gradient(180deg, #d4a06a 0%, #a07848 40%, #604028 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cmr-advance 3s ease-in-out infinite;
}
.scn-cleopatra-messenger-rage .messenger-retreating {
  position:absolute; bottom:28%; left:60%; width:25px; height:55px; background: linear-gradient(180deg, #b89878 0%, #8a6a42 100%); border-radius: 40% 40% 30% 30%; transform-origin: bottom center; animation: cmr-retreat 2.5s ease-in-out infinite;
}
.scn-cleopatra-messenger-rage .shadow-arm-rage {
  position:absolute; bottom:40%; left:42%; width:25px; height:60px; background: rgba(0,0,0,.4); border-radius: 50% 50% 0 50%; transform: rotate(30deg); filter: blur(5px); animation: cmr-arm 1.8s ease-in-out infinite alternate;
}
.scn-cleopatra-messenger-rage .light-flare {
  position:absolute; top:5%; left:60%; width:80px; height:80px; background: radial-gradient(circle, rgba(255,200,100,.4) 0%, transparent 70%); filter: blur(10px); animation: cmr-flare 2s ease-in-out infinite alternate;
}
@keyframes cmr-flame { 0% { transform: scaleY(1) translateY(0); opacity:.8; } 50% { transform: scaleY(1.3) translateY(-3px); opacity:1; } 100% { transform: scaleY(1) translateY(0); opacity:.8; } }
@keyframes cmr-advance { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(8px) translateY(-2px) rotate(3deg); } 50% { transform: translateX(16px) translateY(0) rotate(0deg); } 75% { transform: translateX(8px) translateY(-1px) rotate(-1deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }
@keyframes cmr-retreat { 0% { transform: translateX(0) translateY(0) scaleX(1); } 30% { transform: translateX(-6px) translateY(2px) scaleX(0.95); } 60% { transform: translateX(-12px) translateY(0) scaleX(1); } 90% { transform: translateX(-6px) translateY(1px) scaleX(0.97); } 100% { transform: translateX(0) translateY(0) scaleX(1); } }
@keyframes cmr-arm { 0% { transform: rotate(25deg) translateX(0); } 50% { transform: rotate(40deg) translateX(3px); } 100% { transform: rotate(25deg) translateX(0); } }
@keyframes cmr-flare { 0% { opacity:.3; transform: scale(1); } 50% { opacity:.6; transform: scale(1.2); } 100% { opacity:.3; transform: scale(1); } }

/* caesar-weeps */
.scn-caesar-weeps {
  background: 
    linear-gradient(180deg, #f5e6c8 0%, #e0c090 40%, #c8a070 100%),
    radial-gradient(ellipse at 30% 20%, #fff5e0 0%, transparent 60%);
}
.scn-caesar-weeps .column { position:absolute; bottom:0; width:16px; height:80%; background: linear-gradient(180deg, #a08060 0%, #7a5a3a 100%); border-radius:4px; box-shadow: 4px 0 8px rgba(0,0,0,0.2); }
.scn-caesar-weeps .col-left { left:12%; }
.scn-caesar-weeps .col-right { right:12%; }
.scn-caesar-weeps .figure-caesar { position:absolute; bottom:20%; left:35%; width:30px; height:60px; background: linear-gradient(180deg, #c08050 0%, #a06030 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: cw1-weep 2s ease-in-out infinite alternate; }
.scn-caesar-weeps .horse { position:absolute; bottom:18%; left:55%; width:50px; height:35px; background: linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%); border-radius: 50% 30% 20% 40% / 60% 50% 40% 50%; transform-origin: bottom center; animation: cw1-horse 3s ease-in-out infinite; }
.scn-caesar-weeps .cloud { position:absolute; top:15%; left:10%; width:70px; height:20px; background: rgba(255,255,240,0.6); filter: blur(8px); border-radius: 50%; animation: cw1-drift 30s linear infinite; }
.scn-caesar-weeps .lamp { position:absolute; top:10%; left:50%; width:12px; height:18px; background: radial-gradient(circle, #ffe080 0%, #d4a040 70%); border-radius: 50% 50% 10% 10%; box-shadow: 0 0 20px 6px #ffd060, 0 0 40px 12px rgba(255,208,96,0.4); animation: cw1-flicker 2s ease-in-out infinite alternate; }
.scn-caesar-weeps .floor-line { position:absolute; bottom:15%; left:0; right:0; height:2px; background: #8a6a4a; box-shadow: 0 2px 4px rgba(0,0,0,0.3); }
@keyframes cw1-weep { 0% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(5deg) translateY(-2px); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes cw1-horse { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(3px) rotate(3deg); } 50% { transform: translateX(-2px) rotate(-2deg); } 75% { transform: translateX(4px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes cw1-drift { 0% { transform: translateX(-30px); opacity:0.6; } 50% { transform: translateX(40px); opacity:0.8; } 100% { transform: translateX(120vw); opacity:0.4; } }
@keyframes cw1-flicker { 0% { opacity:0.7; box-shadow: 0 0 10px 2px #ffd060; } 50% { opacity:1; box-shadow: 0 0 30px 10px #ffe080; } 100% { opacity:0.8; box-shadow: 0 0 15px 4px #d4a040; } }

/* cleopatra-queries-messenger */
.scn-cleopatra-queries-messenger {
  background: 
    linear-gradient(180deg, #e8dcc0 0%, #c8b898 40%, #a89878 100%),
    radial-gradient(ellipse at 80% 30%, #fff8ee 0%, transparent 50%);
}
.scn-cleopatra-queries-messenger .throne { position:absolute; bottom:25%; left:20%; width:40px; height:60px; background: linear-gradient(180deg, #b89a5a 0%, #8a6a2a 100%); border-radius: 10% 10% 0 0; box-shadow: 4px 0 12px rgba(0,0,0,0.3); }
.scn-cleopatra-queries-messenger .cleopatra-fig { position:absolute; bottom:30%; left:22%; width:28px; height:55px; background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: cqm2-queen 4s ease-in-out infinite; }
.scn-cleopatra-queries-messenger .messenger-fig { position:absolute; bottom:18%; right:25%; width:22px; height:40px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%; transform-origin: bottom center; animation: cqm2-messenger 1.5s ease-in-out infinite alternate; }
.scn-cleopatra-queries-messenger .pillar-left { position:absolute; bottom:0; left:5%; width:14px; height:95%; background: linear-gradient(180deg, #c8b898 0%, #a08868 100%); border-radius: 4px; box-shadow: 2px 0 6px rgba(0,0,0,0.2); }
.scn-cleopatra-queries-messenger .pillar-right { position:absolute; bottom:0; right:5%; width:14px; height:95%; background: linear-gradient(180deg, #c8b898 0%, #a08868 100%); border-radius: 4px; box-shadow: -2px 0 6px rgba(0,0,0,0.2); }
.scn-cleopatra-queries-messenger .floor-tile { position:absolute; bottom:12%; left:0; right:0; height:10%; background: repeating-linear-gradient(90deg, #c8b898 0px, #c8b898 20px, #b8a888 20px, #b8a888 40px); opacity:0.5; }
.scn-cleopatra-queries-messenger .window-bars { position:absolute; top:10%; right:15%; width:30px; height:40px; border: 3px solid #7a5a3a; background: rgba(255,240,220,0.3); box-shadow: inset 0 0 10px rgba(0,0,0,0.2); animation: cqm2-bars 3s ease-in-out infinite alternate; }
@keyframes cqm2-queen { 0% { transform: rotate(-1deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-2px); } 100% { transform: rotate(-1deg) translateY(0); } }
@keyframes cqm2-messenger { 0% { transform: translateX(0) rotate(0deg); opacity:0.9; } 50% { transform: translateX(2px) rotate(3deg); opacity:1; } 100% { transform: translateX(-2px) rotate(-2deg); opacity:0.8; } }
@keyframes cqm2-bars { 0% { box-shadow: inset 0 0 10px rgba(0,0,0,0.2); } 50% { box-shadow: inset 0 0 20px rgba(0,0,0,0.5); } 100% { box-shadow: inset 0 0 8px rgba(0,0,0,0.15); } }

/* cleopatra-examines-messenger */
.scn-cleopatra-examines-messenger {
  background: 
    linear-gradient(180deg, #d4c4a8 0%, #b8a888 40%, #9c8c6c 100%),
    radial-gradient(ellipse at 40% 50%, #fff5e0 0%, transparent 60%);
}
.scn-cleopatra-examines-messenger .messenger-profile { position:absolute; bottom:15%; left:30%; width:24px; height:50px; background: linear-gradient(90deg, #4a3a2a 0%, #3a2a1a 100%); border-radius: 50% 20% 20% 40% / 60% 30% 30% 60%; transform-origin: bottom center; animation: cem3-shift 2s ease-in-out infinite alternate; }
.scn-cleopatra-examines-messenger .cleopatra-hand { position:absolute; bottom:40%; left:45%; width:14px; height:30px; background: linear-gradient(180deg, #c8a868 0%, #a88848 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform: rotate(20deg); transform-origin: bottom left; animation: cem3-hand 3s ease-in-out infinite; }
.scn-cleopatra-examines-messenger .scroll { position:absolute; bottom:25%; left:55%; width:10px; height:30px; background: linear-gradient(180deg, #e0d0a8 0%, #c0b088 100%); border-radius: 4px; transform: rotate(-10deg); animation: cem3-scroll 4s ease-in-out infinite; }
.scn-cleopatra-examines-messenger .lantern { position:absolute; top:15%; left:60%; width:10px; height:14px; background: radial-gradient(circle, #ffd080 0%, #c8a050 70%); border-radius: 50% 50% 10% 10%; box-shadow: 0 0 20px 6px #ffd060; animation: cem3-lantern 1.8s ease-in-out infinite alternate; }
.scn-cleopatra-examines-messenger .wall-shadow { position:absolute; top:0; right:0; width:40%; height:100%; background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, transparent 100%); animation: cem3-shadow 5s ease-in-out infinite alternate; }
@keyframes cem3-shift { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(4px) rotate(2deg); } 100% { transform: translateX(-2px) rotate(-2deg); } }
@keyframes cem3-hand { 0% { transform: rotate(20deg) translateY(0); } 50% { transform: rotate(25deg) translateY(-3px); } 100% { transform: rotate(15deg) translateY(0); } }
@keyframes cem3-scroll { 0% { transform: rotate(-10deg) translateY(0); opacity:0.8; } 50% { transform: rotate(-5deg) translateY(-2px); opacity:1; } 100% { transform: rotate(-12deg) translateY(0); opacity:0.9; } }
@keyframes cem3-lantern { 0% { opacity:0.7; box-shadow: 0 0 10px 2px #ffd060; } 50% { opacity:1; box-shadow: 0 0 30px 10px #ffe080; } 100% { opacity:0.8; box-shadow: 0 0 15px 4px #c8a050; } }
@keyframes cem3-shadow { 0% { opacity:0.3; } 50% { opacity:0.5; } 100% { opacity:0.2; } }

/* cleopatra-satisfied-with-report */
.scn-cleopatra-satisfied-with-report {
  background: 
    linear-gradient(180deg, #f5e6d0 0%, #e0c8a8 40%, #c8a888 100%),
    radial-gradient(ellipse at 60% 20%, #fff8ee 0%, transparent 60%);
}
.scn-cleopatra-satisfied-with-report .couch { position:absolute; bottom:20%; left:10%; width:80px; height:30px; background: linear-gradient(180deg, #b89878 0%, #987858 100%); border-radius: 20% 20% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.2); }
.scn-cleopatra-satisfied-with-report .cleopatra-reclining { position:absolute; bottom:25%; left:18%; width:40px; height:40px; background: linear-gradient(180deg, #c8a060 0%, #a88040 100%); border-radius: 50% 50% 30% 30% / 60% 60% 20% 20%; transform: rotate(-10deg); transform-origin: bottom center; animation: csr4-reclining 6s ease-in-out infinite; }
.scn-cleopatra-satisfied-with-report .messenger-standing { position:absolute; bottom:18%; right:15%; width:20px; height:50px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%; animation: csr4-stand 4s ease-in-out infinite alternate; }
.scn-cleopatra-satisfied-with-report .wine-cup { position:absolute; bottom:35%; left:30%; width:12px; height:16px; background: radial-gradient(circle, #d0a070 0%, #b08050 70%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 6px 2px rgba(160,80,40,0.3); animation: csr4-cup 3s ease-in-out infinite; }
.scn-cleopatra-satisfied-with-report .curtain { position:absolute; top:0; left:0; width:20%; height:100%; background: linear-gradient(180deg, #c8a878 0%, #a88858 100%); opacity:0.7; border-radius: 0 50% 50% 0; animation: csr4-curtain 8s ease-in-out infinite alternate; }
.scn-cleopatra-satisfied-with-report .floor-pattern { position:absolute; bottom:12%; left:0; right:0; height:8%; background: repeating-linear-gradient(90deg, #d4c4a8 0px, #d4c4a8 15px, #c8b898 15px, #c8b898 30px); opacity:0.4; }
.scn-cleopatra-satisfied-with-report .lamp-warm { position:absolute; top:12%; left:50%; width:10px; height:14px; background: radial-gradient(circle, #ffe080 0%, #d4a040 70%); border-radius: 50% 50% 10% 10%; box-shadow: 0 0 30px 8px #ffd060, 0 0 60px 16px rgba(255,208,96,0.3); animation: csr4-lamp 2.5s ease-in-out infinite alternate; }
@keyframes csr4-reclining { 0% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(-8deg) translateY(-3px); } 100% { transform: rotate(-12deg) translateY(0); } }
@keyframes csr4-stand { 0% { transform: translateX(0); } 50% { transform: translateX(3px); } 100% { transform: translateX(-2px); } }
@keyframes csr4-cup { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(5deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes csr4-curtain { 0% { transform: translateX(0); } 50% { transform: translateX(-8px); } 100% { transform: translateX(4px); } }
@keyframes csr4-lamp { 0% { opacity:0.8; box-shadow: 0 0 20px 4px #ffd060; } 50% { opacity:1; box-shadow: 0 0 40px 12px #ffe080; } 100% { opacity:0.9; box-shadow: 0 0 25px 6px #d4a040; } }

/* messenger-fulvia-dead */
.scn-messenger-fulvia-dead {
  background:
    linear-gradient(180deg, #3a2a1a 0%, #5a3a2a 30%, #4a2a1a 70%, #1a0a00 100%),
    radial-gradient(ellipse at 50% 100%, #8a5a3a 0%, transparent 70%);
}
.scn-messenger-fulvia-dead .wall {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #6a4a3a 0%, #4a2a1a 100%);
  opacity: 0.6;
}
.scn-messenger-fulvia-dead .window {
  position: absolute; top: 15%; left: 60%; width: 80px; height: 100px;
  background: radial-gradient(circle at 50% 50%, #f0d8a0 0%, #c8a870 60%, transparent 100%);
  border: 4px solid #3a2a1a;
  border-radius: 4px;
  box-shadow: 0 0 30px 10px rgba(200,168,112,0.6);
  animation: mfd-window 5s ease-in-out infinite alternate;
}
.scn-messenger-fulvia-dead .messenger {
  position: absolute; bottom: 20%; left: 30%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0500 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mfd-messenger 4s ease-in-out infinite;
}
.scn-messenger-fulvia-dead .dead-body {
  position: absolute; bottom: 10%; left: 45%; width: 50px; height: 30px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: inset 0 -4px 8px rgba(0,0,0,0.5);
  transform: rotate(-5deg);
  animation: mfd-body 8s ease-in-out infinite alternate;
}
.scn-messenger-fulvia-dead .scroll {
  position: absolute; bottom: 25%; left: 35%; width: 24px; height: 10px;
  background: #c8a870;
  border-radius: 40%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  transform: rotate(30deg);
  animation: mfd-scroll 6s ease-in-out infinite;
}
.scn-messenger-fulvia-dead .lamp {
  position: absolute; bottom: 30%; left: 20%; width: 12px; height: 16px;
  background: radial-gradient(circle, #ffc880 0%, #b08040 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 60% 60%;
  box-shadow: 0 0 20px 6px #ffc880, 0 0 40px 12px rgba(255,200,128,0.4);
  animation: mfd-lamp 3s ease-in-out infinite alternate;
}
@keyframes mfd-window { 0% { opacity:0.8; box-shadow:0 0 20px 5px rgba(200,168,112,0.5); } 50% { opacity:1; box-shadow:0 0 40px 15px rgba(200,168,112,0.8); } 100% { opacity:0.7; box-shadow:0 0 25px 8px rgba(200,168,112,0.4); } }
@keyframes mfd-messenger { 0% { transform: translateY(0) rotate(-2deg); } 25% { transform: translateY(-3px) rotate(1deg); } 50% { transform: translateY(0) rotate(2deg); } 75% { transform: translateY(-2px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes mfd-body { 0% { transform: rotate(-5deg) scaleX(1); } 50% { transform: rotate(-4deg) scaleX(0.98); } 100% { transform: rotate(-6deg) scaleX(1.01); } }
@keyframes mfd-scroll { 0% { transform: rotate(30deg) translateX(0); } 50% { transform: rotate(28deg) translateX(2px); } 100% { transform: rotate(32deg) translateX(-1px); } }
@keyframes mfd-lamp { 0% { box-shadow:0 0 15px 4px #ffc880, 0 0 30px 8px rgba(255,200,128,0.3); } 50% { box-shadow:0 0 30px 10px #ffd090, 0 0 60px 20px rgba(255,208,144,0.5); } 100% { box-shadow:0 0 20px 6px #ffc880, 0 0 40px 12px rgba(255,200,128,0.4); } }

/* antony-hears-fulvia-dead */
.scn-antony-hears-fulvia-dead {
  background:
    linear-gradient(180deg, #4a2a1a 0%, #6a3a2a 30%, #5a2a1a 70%, #2a0a00 100%),
    radial-gradient(ellipse at 50% 20%, #8a5a3a 0%, transparent 60%);
}
.scn-antony-hears-fulvia-dead .bg-panel {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #3a2a1a 0%, #5a3a2a 50%, #3a2a1a 100%);
  opacity: 0.7;
}
.scn-antony-hears-fulvia-dead .throne {
  position: absolute; bottom: 10%; left: 50%; transform: translateX(-50%);
  width: 60px; height: 80px;
  background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: inset 0 -10px 20px rgba(0,0,0,0.6);
  animation: ahd-throne 12s ease-in-out infinite alternate;
}
.scn-antony-hears-fulvia-dead .curtain {
  position: absolute; top: 0; left: 0; width: 30%; height: 100%;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 0 20% 20% 0 / 0 30% 30% 0;
  filter: blur(3px);
  animation: ahd-curtain 15s ease-in-out infinite alternate;
}
.scn-antony-hears-fulvia-dead .antony-fig {
  position: absolute; bottom: 12%; left: 45%; width: 28px; height: 55px;
  background: linear-gradient(180deg, #0a0500 0%, #1a0a00 100%);
  border-radius: 50% 40% 40% 40% / 60% 50% 40% 40%;
  transform-origin: bottom center;
  animation: ahd-antony 4s ease-in-out infinite;
}
.scn-antony-hears-fulvia-dead .letter {
  position: absolute; bottom: 28%; left: 38%; width: 20px; height: 12px;
  background: #c8a870;
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  transform: rotate(-10deg);
  animation: ahd-letter 7s ease-in-out infinite;
}
.scn-antony-hears-fulvia-dead .goblet {
  position: absolute; bottom: 15%; right: 20%; width: 14px; height: 20px;
  background: linear-gradient(180deg, #c8a870 0%, #8a6a3a 100%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 0 10px 2px rgba(200,168,112,0.3);
  animation: ahd-goblet 5s ease-in-out infinite alternate;
}
.scn-antony-hears-fulvia-dead .shadow {
  position: absolute; bottom: 0; left: 10%; width: 80%; height: 20%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.6) 100%);
  animation: ahd-shadow 10s ease-in-out infinite alternate;
}
@keyframes ahd-throne { 0% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(0.98); } 100% { transform: translateX(-50%) scaleY(1.02); } }
@keyframes ahd-curtain { 0% { transform: translateX(0); } 50% { transform: translateX(4px); } 100% { transform: translateX(-2px); } }
@keyframes ahd-antony { 0% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-2px) rotate(3deg); } 50% { transform: translateY(0) rotate(-2deg); } 75% { transform: translateY(-1px) rotate(4deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes ahd-letter { 0% { transform: rotate(-10deg) translateX(0); } 33% { transform: rotate(-8deg) translateX(2px); } 66% { transform: rotate(-12deg) translateX(-1px); } 100% { transform: rotate(-10deg) translateX(0); } }
@keyframes ahd-goblet { 0% { box-shadow:0 0 8px 1px rgba(200,168,112,0.2); transform: rotate(0); } 50% { box-shadow:0 0 16px 4px rgba(200,168,112,0.5); transform: rotate(2deg); } 100% { box-shadow:0 0 10px 2px rgba(200,168,112,0.3); transform: rotate(-1deg); } }
@keyframes ahd-shadow { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.6; } }

/* antony-resolves-leave */
.scn-antony-resolves-leave {
  background:
    linear-gradient(180deg, #5a3a2a 0%, #7a4a3a 30%, #6a3a2a 70%, #3a1a0a 100%),
    radial-gradient(ellipse at 70% 30%, #b08040 0%, transparent 60%);
}
.scn-antony-resolves-leave .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0;
}
.scn-antony-resolves-leave .arch {
  position: absolute; top: 5%; left: 30%; width: 40%; height: 80%;
  background: radial-gradient(ellipse at 50% 100%, transparent 50%, #3a2a1a 60%);
  border: 4px solid #5a3a2a;
  border-radius: 50% 50% 0 0 / 30% 30% 0 0;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.5);
  animation: arl-arch 10s ease-in-out infinite alternate;
}
.scn-antony-resolves-leave .leaving-fig {
  position: absolute; bottom: 20%; left: 40%; width: 26px; height: 52px;
  background: linear-gradient(180deg, #1a0a00 0%, #0a0500 100%);
  border-radius: 40% 50% 40% 40% / 50% 60% 40% 40%;
  transform-origin: bottom center;
  animation: arl-leave 3s ease-in-out infinite;
}
.scn-antony-resolves-leave .watching-fig {
  position: absolute; bottom: 18%; right: 25%; width: 30px; height: 55px;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0500 100%);
  border-radius: 50% 40% 40% 50% / 60% 50% 40% 50%;
  transform-origin: bottom center;
  animation: arl-watch 4s ease-in-out infinite alternate;
}
.scn-antony-resolves-leave .table {
  position: absolute; bottom: 12%; left: 15%; width: 60px; height: 12px;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: arl-table 9s ease-in-out infinite alternate;
}
.scn-antony-resolves-leave .lamp-leave {
  position: absolute; bottom: 28%; left: 18%; width: 10px; height: 14px;
  background: radial-gradient(circle, #ffd090 0%, #b08040 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 60% 60%;
  box-shadow: 0 0 16px 4px #ffd090, 0 0 32px 8px rgba(255,208,144,0.4);
  animation: arl-lamp 3.5s ease-in-out infinite alternate;
}
@keyframes arl-arch { 0% { box-shadow: inset 0 0 20px rgba(0,0,0,0.4); } 50% { box-shadow: inset 0 0 40px rgba(0,0,0,0.7); } 100% { box-shadow: inset 0 0 25px rgba(0,0,0,0.5); } }
@keyframes arl-leave { 0% { transform: translateX(0) translateY(0) rotate(0); } 25% { transform: translateX(8px) translateY(-2px) rotate(5deg); } 50% { transform: translateX(16px) translateY(-1px) rotate(3deg); } 75% { transform: translateX(24px) translateY(-3px) rotate(6deg); } 100% { transform: translateX(32px) translateY(0) rotate(0); } }
@keyframes arl-watch { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3px) rotate(-4deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes arl-table { 0% { transform: scaleX(1); } 50% { transform: scaleX(0.98) translateY(1px); } 100% { transform: scaleX(1.02) translateY(-1px); } }
@keyframes arl-lamp { 0% { box-shadow:0 0 12px 3px #ffd090, 0 0 24px 6px rgba(255,208,144,0.3); opacity:0.8; } 50% { box-shadow:0 0 24px 8px #ffe0a0, 0 0 48px 16px rgba(255,224,160,0.5); opacity:1; } 100% { box-shadow:0 0 16px 4px #ffd090, 0 0 32px 8px rgba(255,208,144,0.4); opacity:0.85; } }

/* enobarbus-mocks-death */
.scn-enobarbus-mocks-death {
  background:
    linear-gradient(180deg, #8a6a4a 0%, #b08a6a 30%, #a07a5a 70%, #6a4a2a 100%),
    radial-gradient(ellipse at 50% 80%, #f0d0a0 0%, transparent 60%);
}
.scn-enobarbus-mocks-death .stage-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #c8a880 0%, #a08060 100%);
  opacity: 0.5;
}
.scn-enobarbus-mocks-death .bed {
  position: absolute; bottom: 10%; left: 25%; width: 100px; height: 30px;
  background: linear-gradient(180deg, #8a6a4a 0%, #5a3a2a 100%);
  border-radius: 10% 10% 30% 30% / 20% 20% 40% 40%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.4);
  animation: emd-bed 6s ease-in-out infinite alternate;
}
.scn-enobarbus-mocks-death .cleo-fig {
  position: absolute; bottom: 18%; left: 30%; width: 28px; height: 44px;
  background: linear-gradient(180deg, #d0a880 0%, #a08050 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: emd-cleo 2.5s ease-in-out infinite;
}
.scn-enobarbus-mocks-death .enobarbus-fig {
  position: absolute; bottom: 20%; right: 20%; width: 32px; height: 50px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 50% 40% 40% / 50% 60% 40% 40%;
  transform-origin: bottom center;
  animation: emd-eno 3s ease-in-out infinite alternate;
}
.scn-enobarbus-mocks-death .cushion {
  position: absolute; bottom: 12%; left: 35%; width: 20px; height: 10px;
  background: #c8a070;
  border-radius: 50%;
  transform: rotate(15deg);
  animation: emd-cushion 5s ease-in-out infinite;
}
.scn-enobarbus-mocks-death .fan {
  position: absolute; bottom: 25%; right: 30%; width: 30px; height: 8px;
  background: linear-gradient(90deg, #c8a070 0%, #e0c090 100%);
  border-radius: 50% 0 0 50% / 100% 0 0 100%;
  transform-origin: right center;
  animation: emd-fan 1.8s ease-in-out infinite alternate;
}
@keyframes emd-bed { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes emd-cleo { 0% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-4px) rotate(-8deg); } 50% { transform: translateY(0) rotate(5deg); } 75% { transform: translateY(-3px) rotate(-3deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes emd-eno { 0% { transform: translateY(0) rotate(0) scaleY(1); } 50% { transform: translateY(-5px) rotate(6deg) scaleY(0.95); } 100% { transform: translateY(0) rotate(-2deg) scaleY(1); } }
@keyframes emd-cushion { 0% { transform: rotate(15deg) translateX(0); } 50% { transform: rotate(10deg) translateX(3px); } 100% { transform: rotate(20deg) translateX(-2px); } }
@keyframes emd-fan { 0% { transform: rotate(0) scaleX(1); } 50% { transform: rotate(-10deg) scaleX(1.1); } 100% { transform: rotate(10deg) scaleX(0.9); } }

.scn-dercetas-takes-sword {
  background: linear-gradient(180deg, #1a1512 0%, #2b1e1a 40%, #1f1410 100%), 
              radial-gradient(ellipse at 40% 60%, #4a2a1a 0%, transparent 70%);
}
.scn-dercetas-takes-sword .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #3a2a24 0%, #1f1410 100%);
  border-radius: 0 0 60% 60% / 0 0 20% 20%;
  animation: ds-wall 12s ease-in-out infinite alternate;
}
.scn-dercetas-takes-sword .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #2a1c18 0%, #140c0a 100%);
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.6);
}
.scn-dercetas-takes-sword .window {
  position: absolute; top: 15%; left: 60%; width: 60px; height: 80px;
  background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%);
  border: 4px solid #3a2a1a;
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(80,120,160,0.3);
  animation: ds-window 8s ease-in-out infinite alternate;
}
.scn-dercetas-takes-sword .figure-antony {
  position: absolute; bottom: 28%; left: 30%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #1a1512 0%, #0a0705 100%);
  border-radius: 40% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ds-antony 5s ease-in-out infinite;
}
.scn-dercetas-takes-sword .figure-diomedes {
  position: absolute; bottom: 30%; left: 55%; width: 38px; height: 62px;
  background: linear-gradient(180deg, #2a1e1a 0%, #120a08 100%);
  border-radius: 50% 45% 35% 35% / 55% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ds-diomedes 7s ease-in-out infinite alternate;
}
.scn-dercetas-takes-sword .sword {
  position: absolute; bottom: 24%; left: 43%; width: 6px; height: 40px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  transform: rotate(-20deg);
  transform-origin: bottom center;
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: ds-sword 4s ease-in-out infinite alternate;
}
.scn-dercetas-takes-sword .torch-glow {
  position: absolute; top: 20%; left: 40%; width: 30px; height: 30px;
  background: radial-gradient(circle, #d08040 0%, #804020 40%, transparent 70%);
  border-radius: 50%;
  filter: blur(4px);
  animation: ds-torch 2s ease-in-out infinite alternate;
}
.scn-dercetas-takes-sword .shadow {
  position: absolute; bottom: 23%; left: 28%; width: 70px; height: 20px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 80%);
  border-radius: 50%;
  animation: ds-shadow 6s ease-in-out infinite;
}
@keyframes ds-wall {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes ds-window {
  0% { box-shadow: inset 0 0 15px rgba(80,120,160,0.2); }
  50% { box-shadow: inset 0 0 30px rgba(100,140,180,0.4); }
  100% { box-shadow: inset 0 0 20px rgba(80,120,160,0.25); }
}
@keyframes ds-antony {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-2px) rotate(2deg); }
  50% { transform: translateY(0) rotate(-1deg); }
  75% { transform: translateY(-1px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes ds-diomedes {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-5px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes ds-sword {
  0% { transform: rotate(-25deg) translateY(0); }
  50% { transform: rotate(-15deg) translateY(-3px); }
  100% { transform: rotate(-20deg) translateY(0); }
}
@keyframes ds-torch {
  0% { opacity: 0.6; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.2); }
  100% { opacity: 0.7; transform: scale(0.9); }
}
@keyframes ds-shadow {
  0% { transform: scaleX(1); opacity: 0.6; }
  50% { transform: scaleX(1.2); opacity: 0.8; }
  100% { transform: scaleX(0.9); opacity: 0.5; }
}

.scn-diomedes-reveals-cleopatra-lives {
  background: linear-gradient(180deg, #1a1512 0%, #2a1e1a 50%, #140c0a 100%),
              radial-gradient(ellipse at 50% 80%, #3a2a1a 0%, transparent 70%);
}
.scn-diomedes-reveals-cleopatra-lives .bg-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a1e1a 0%, #1a1410 100%);
  border-radius: 0 0 40% 40% / 0 0 15% 15%;
}
.scn-diomedes-reveals-cleopatra-lives .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #201613 0%, #0d0907 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.7);
}
.scn-diomedes-reveals-cleopatra-lives .pillar {
  position: absolute; bottom: 20%; left: 45%; width: 16px; height: 100px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 4px;
  box-shadow: inset -4px 0 8px rgba(0,0,0,0.4), 0 0 10px rgba(0,0,0,0.5);
}
.scn-diomedes-reveals-cleopatra-lives .figure-antony {
  position: absolute; bottom: 22%; left: 32%; width: 42px; height: 65px;
  background: linear-gradient(180deg, #1a1512 0%, #0a0705 100%);
  border-radius: 45% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: drl-antony 6s ease-in-out infinite;
}
.scn-diomedes-reveals-cleopatra-lives .figure-diomedes {
  position: absolute; bottom: 25%; left: 58%; width: 36px; height: 60px;
  background: linear-gradient(180deg, #2a1e1a 0%, #120a08 100%);
  border-radius: 50% 45% 35% 35% / 55% 60% 40% 40%;
  transform-origin: bottom center;
  animation: drl-diomedes 5s ease-in-out infinite alternate;
}
.scn-diomedes-reveals-cleopatra-lives .light-ray {
  position: absolute; top: 10%; left: 45%; width: 80px; height: 120px;
  background: linear-gradient(180deg, rgba(200,160,100,0.15) 0%, transparent 100%);
  clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%);
  animation: drl-ray 8s ease-in-out infinite alternate;
}
.scn-diomedes-reveals-cleopatra-lives .dust {
  position: absolute; top: 30%; left: 20%; width: 40px; height: 40px;
  background: radial-gradient(circle, rgba(180,140,80,0.15) 0%, transparent 70%);
  filter: blur(6px);
  animation: drl-dust 12s ease-in-out infinite;
}
@keyframes drl-antony {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-2px) rotate(1deg); }
  60% { transform: translateY(0) rotate(-1deg); }
  100% { transform: translateY(-1px) rotate(0deg); }
}
@keyframes drl-diomedes {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-3px) rotate(2deg); }
  100% { transform: translateX(0) rotate(-1deg); }
}
@keyframes drl-ray {
  0% { opacity: 0.3; transform: scaleY(1); }
  50% { opacity: 0.7; transform: scaleY(1.1); }
  100% { opacity: 0.4; transform: scaleY(0.9); }
}
@keyframes drl-dust {
  0% { opacity: 0.2; transform: translate(0,0) scale(1); }
  50% { opacity: 0.5; transform: translate(10px,-5px) scale(1.3); }
  100% { opacity: 0.3; transform: translate(-5px,2px) scale(0.8); }
}

.scn-antony-carried-to-monument {
  background: linear-gradient(180deg, #1a1410 0%, #2a1e1a 60%, #1a1410 100%),
              radial-gradient(ellipse at 50% 90%, #3a2a1a 0%, transparent 70%);
}
.scn-antony-carried-to-monument .bg-wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #2a1e1a 0%, #1a1410 100%);
  border-radius: 0 0 30% 30% / 0 0 10% 10%;
}
.scn-antony-carried-to-monument .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #1c1412 0%, #0d0907 100%);
  box-shadow: inset 0 6px 18px rgba(0,0,0,0.6);
}
.scn-antony-carried-to-monument .guard-1 {
  position: absolute; bottom: 10%; left: 25%; width: 32px; height: 70px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1410 100%);
  border-radius: 40% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: acm-guard1 4s ease-in-out infinite;
}
.scn-antony-carried-to-monument .guard-2 {
  position: absolute; bottom: 10%; left: 45%; width: 32px; height: 72px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1410 100%);
  border-radius: 45% 50% 30% 30% / 55% 60% 40% 40%;
  transform-origin: bottom center;
  animation: acm-guard2 4.5s ease-in-out infinite;
}
.scn-antony-carried-to-monument .guard-3 {
  position: absolute; bottom: 10%; left: 65%; width: 32px; height: 68px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1410 100%);
  border-radius: 40% 50% 30% 30% / 60% 55% 40% 40%;
  transform-origin: bottom center;
  animation: acm-guard3 5s ease-in-out infinite;
}
.scn-antony-carried-to-monument .body-antony {
  position: absolute; bottom: 12%; left: 38%; width: 50px; height: 60px;
  background: linear-gradient(180deg, #1a1512 0%, #0a0705 100%);
  border-radius: 30% 40% 20% 20% / 50% 50% 30% 30%;
  transform: rotate(-5deg);
  transform-origin: center bottom;
  animation: acm-body 6s ease-in-out infinite;
}
.scn-antony-carried-to-monument .spear {
  position: absolute; bottom: 10%; left: 20%; width: 4px; height: 80px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  transform: rotate(10deg);
  transform-origin: bottom center;
  animation: acm-spear 3s ease-in-out infinite alternate;
}
.scn-antony-carried-to-monument .lantern {
  position: absolute; top: 35%; left: 30%; width: 16px; height: 24px;
  background: radial-gradient(circle, #c08040 0%, #804020 60%, transparent 100%);
  border-radius: 4px;
  box-shadow: 0 0 20px 6px rgba(192,128,64,0.4);
  animation: acm-lantern 2s ease-in-out infinite alternate;
}
@keyframes acm-guard1 {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-3px) rotate(2deg); }
  50% { transform: translateY(0) rotate(0deg); }
  75% { transform: translateY(-2px) rotate(-2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes acm-guard2 {
  0% { transform: translateY(0) rotate(-1deg); }
  30% { transform: translateY(-2px) rotate(1deg); }
  60% { transform: translateY(0) rotate(2deg); }
  100% { transform: translateY(-1px) rotate(-1deg); }
}
@keyframes acm-guard3 {
  0% { transform: translateY(0) rotate(1deg); }
  35% { transform: translateY(-3px) rotate(-2deg); }
  70% { transform: translateY(0) rotate(2deg); }
  100% { transform: translateY(-1px) rotate(1deg); }
}
@keyframes acm-body {
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-4px); }
  100% { transform: rotate(-7deg) translateY(0); }
}
@keyframes acm-spear {
  0% { transform: rotate(8deg); }
  50% { transform: rotate(12deg); }
  100% { transform: rotate(8deg); }
}
@keyframes acm-lantern {
  0% { opacity: 0.7; box-shadow: 0 0 15px 4px rgba(192,128,64,0.3); }
  50% { opacity: 1; box-shadow: 0 0 30px 10px rgba(192,128,64,0.6); }
  100% { opacity: 0.8; box-shadow: 0 0 20px 6px rgba(192,128,64,0.4); }
}

.scn-antony-carried-away {
  background: linear-gradient(180deg, #1a1512 0%, #2a1e1a 40%, #140c0a 100%),
              radial-gradient(ellipse at 50% 30%, #3a2a1a 0%, transparent 70%);
}
.scn-antony-carried-away .monument-wall {
  position: absolute; inset: 30% 0 0 0;
  background: linear-gradient(180deg, #2a221e 0%, #1a1410 100%);
  border-radius: 40% 40% 0 0 / 20% 20% 0 0;
}
.scn-antony-carried-away .arch {
  position: absolute; top: 10%; left: 35%; width: 100px; height: 130px;
  background: radial-gradient(ellipse at 50% 0%, #3a2a1a 0%, #1a1410 100%);
  clip-path: polygon(0% 0%, 100% 0%, 100% 80%, 0% 80%);
  border-radius: 50% 50% 0 0 / 30% 30% 0 0;
  box-shadow: inset 0 -20px 40px rgba(0,0,0,0.5);
}
.scn-antony-carried-away .balcony {
  position: absolute; top: 8%; left: 30%; width: 120px; height: 20px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.6);
}
.scn-antony-carried-away .cleopatra {
  position: absolute; top: 1%; left: 40%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 45% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: aca-cleopatra 7s ease-in-out infinite;
}
.scn-antony-carried-away .maid-1 {
  position: absolute; top: 3%; left: 52%; width: 24px; height: 44px;
  background: linear-gradient(180deg, #2a221e 0%, #1a1410 100%);
  border-radius: 45% 50% 30% 30% / 55% 60% 40% 40%;
  transform-origin: bottom center;
  animation: aca-maid1 8s ease-in-out infinite alternate;
}
.scn-antony-carried-away .maid-2 {
  position: absolute; top: 2%; left: 30%; width: 24px; height: 46px;
  background: linear-gradient(180deg, #2a221e 0%, #1a1410 100%);
  border-radius: 50% 45% 30% 30% / 60% 55% 40% 40%;
  transform-origin: bottom center;
  animation: aca-maid2 8.5s ease-in-out infinite alternate;
}
.scn-antony-carried-away .distant-torch {
  position: absolute; bottom: 20%; left: 60%; width: 10px; height: 16px;
  background: radial-gradient(circle, #d08040 0%, #804020 50%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 30px 8px rgba(208,128,64,0.3);
  animation: aca-torch 3s ease-in-out infinite alternate;
}
@keyframes aca-cleopatra {
  0% { transform: translateY(0) rotate(-2deg); }
  33% { transform: translateY(-2px) rotate(1deg); }
  66% { transform: translateY(0) rotate(2deg); }
  100% { transform: translateY(-1px) rotate(-2deg); }
}
@keyframes aca-maid1 {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-1px) rotate(3deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes aca-maid2 {
  0% { transform: translateY(0) rotate(1deg); }
  50% { transform: translateY(-1px) rotate(-2deg); }
  100% { transform: translateY(0) rotate(2deg); }
}
@keyframes aca-torch {
  0% { opacity: 0.6; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.3); }
  100% { opacity: 0.7; transform: scale(0.9); }
}

/* Scene: antony-shame (dark, dim-interior) */
.scn-antony-shame {
  background:
    linear-gradient(135deg, #1a1423 0%, #2d1f2e 40%, #3a2a3a 70%, #1e1429 100%),
    radial-gradient(ellipse at 50% 60%, #3a2a3a 0%, transparent 60%);
}
.scn-antony-shame .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #0d0812 0%, #1a1423 60%, #2d1f2e 100%);
  border-radius: 30% 70% 0 0 / 20% 40% 0 0;
  animation: ash-floor 12s ease-in-out infinite alternate;
}
.scn-antony-shame .wall {
  position: absolute; top: 0; left: 0; right: 0; bottom: 30%;
  background: linear-gradient(180deg, #1e1429 0%, #2d1f2e 40%, #3a2a3a 70%, #4a3244 100%);
  box-shadow: inset 0 0 80px rgba(0,0,0,0.6);
}
.scn-antony-shame .table {
  position: absolute; bottom: 28%; left: 35%; width: 120px; height: 8px;
  background: linear-gradient(90deg, #4a3a44 0%, #6a5044 50%, #4a3a44 100%);
  border-radius: 4px;
  animation: ash-table 9s ease-in-out infinite;
}
.scn-antony-shame .lamp {
  position: absolute; bottom: 36%; left: 40%; width: 24px; height: 36px;
  background: linear-gradient(180deg, #8a6040 0%, #604020 100%);
  border-radius: 40% 40% 30% 30%;
  box-shadow: 0 0 30px 8px rgba(180,120,60,0.5), 0 0 60px 16px rgba(180,120,60,0.3);
  animation: ash-lamp 3s ease-in-out infinite alternate;
}
.scn-antony-shame .kneeling-figure {
  position: absolute; bottom: 22%; left: 50%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #1a1423 0%, #0d0812 60%, #000 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: ash-kneel 5s ease-in-out infinite;
}
.scn-antony-shame .shadow-sweep {
  position: absolute; bottom: 0; left: 0; right: 0; height: 60%;
  background: linear-gradient(0deg, rgba(0,0,0,0.6) 0%, transparent 80%);
  animation: ash-shadow 8s ease-in-out infinite alternate;
}
@keyframes ash-floor { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes ash-table { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes ash-lamp { 0% { opacity: 0.8; box-shadow: 0 0 20px 6px rgba(180,120,60,0.4); } 50% { opacity: 1; box-shadow: 0 0 40px 12px rgba(200,140,70,0.6); } 100% { opacity: 0.85; box-shadow: 0 0 25px 8px rgba(180,120,60,0.45); } }
@keyframes ash-kneel { 0%,100% { transform: translateX(0) rotate(0); } 25% { transform: translateX(-2px) rotate(-2deg); } 50% { transform: translateX(0) rotate(1deg); } 75% { transform: translateX(2px) rotate(-1deg); } }
@keyframes ash-shadow { 0% { opacity: 0.6; } 50% { opacity: 0.8; } 100% { opacity: 0.5; } }

/* Scene: antony-reproaches-cleopatra (dark, dim-interior) */
.scn-antony-reproaches-cleopatra {
  background:
    linear-gradient(180deg, #1a1220 0%, #2a1a30 40%, #3a203a 70%, #1e1429 100%),
    radial-gradient(ellipse at 30% 50%, #3a203a 0%, transparent 70%);
}
.scn-antony-reproaches-cleopatra .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(0deg, #0d0812 0%, #1a1423 60%, #2d1f2e 100%);
  border-radius: 40% 60% 0 0 / 50% 30% 0 0;
  animation: arc-floor 10s ease-in-out infinite alternate;
}
.scn-antony-reproaches-cleopatra .wall {
  position: absolute; top: 0; left: 0; right: 0; bottom: 25%;
  background: linear-gradient(180deg, #1e1429 0%, #2d1f2e 40%, #3a2a3a 70%, #4a3244 100%);
  box-shadow: inset 0 0 100px rgba(0,0,0,0.5);
}
.scn-antony-reproaches-cleopatra .window {
  position: absolute; top: 20%; left: 50%; width: 60px; height: 80px;
  background: radial-gradient(ellipse at center, #4a6080 0%, #2a3a50 60%, #1a2030 100%);
  transform: translateX(-50%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.4), 0 0 8px rgba(100,140,180,0.2);
  animation: arc-window 15s ease-in-out infinite alternate;
}
.scn-antony-reproaches-cleopatra .figure-left {
  position: absolute; bottom: 18%; left: 30%; width: 28px; height: 70px;
  background: linear-gradient(180deg, #1a1423 0%, #0d0812 70%, #000 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: arc-left 6s ease-in-out infinite;
}
.scn-antony-reproaches-cleopatra .figure-right {
  position: absolute; bottom: 18%; right: 30%; width: 26px; height: 66px;
  background: linear-gradient(180deg, #1a1423 0%, #0d0812 70%, #000 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: arc-right 6s ease-in-out infinite 0.5s;
}
.scn-antony-reproaches-cleopatra .lamp-arc {
  position: absolute; bottom: 35%; left: 45%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #8a6040 0%, #604020 100%);
  border-radius: 40% 40% 30% 30%;
  box-shadow: 0 0 25px 6px rgba(180,120,60,0.5), 0 0 50px 12px rgba(180,120,60,0.3);
  animation: arc-lamp 3s ease-in-out infinite alternate;
}
.scn-antony-reproaches-cleopatra .candle {
  position: absolute; bottom: 30%; left: 52%; width: 4px; height: 12px;
  background: linear-gradient(180deg, #ffd680 0%, #d08040 100%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 12px 3px rgba(255,214,128,0.6);
  animation: arc-candle 2s ease-in-out infinite alternate;
}
@keyframes arc-floor { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes arc-window { 0% { opacity: 0.6; } 50% { opacity: 0.8; } 100% { opacity: 0.5; } }
@keyframes arc-left { 0%,100% { transform: translateX(0) rotate(0); } 25% { transform: translateX(-2px) rotate(-3deg); } 50% { transform: translateX(0) rotate(2deg); } 75% { transform: translateX(1px) rotate(-1deg); } }
@keyframes arc-right { 0%,100% { transform: translateX(0) rotate(0); } 25% { transform: translateX(2px) rotate(3deg); } 50% { transform: translateX(0) rotate(-2deg); } 75% { transform: translateX(-1px) rotate(1deg); } }
@keyframes arc-lamp { 0% { opacity: 0.8; box-shadow: 0 0 15px 4px rgba(180,120,60,0.4); } 50% { opacity: 1; box-shadow: 0 0 35px 10px rgba(200,140,70,0.6); } 100% { opacity: 0.85; box-shadow: 0 0 20px 6px rgba(180,120,60,0.45); } }
@keyframes arc-candle { 0% { transform: scaleY(1); opacity: 0.9; } 50% { transform: scaleY(1.2); opacity: 1; } 100% { transform: scaleY(0.9); opacity: 0.8; } }

/* Scene: caesar-camp-ambassador (calm, sunlit) */
.scn-caesar-camp-ambassador {
  background:
    linear-gradient(180deg, #7ab6d4 0%, #a8d8ea 40%, #e0f0f8 70%, #f4e8c0 100%),
    radial-gradient(ellipse at 70% 20%, #fff5d0 0%, transparent 60%);
}
.scn-caesar-camp-ambassador .sky {
  position: absolute; top: 0; left: 0; right: 0; bottom: 40%;
  background: linear-gradient(180deg, #6aa8c8 0%, #a8d8ea 60%, #d0eaf0 100%);
  animation: cca-sky 20s ease-in-out infinite alternate;
}
.scn-caesar-camp-ambassador .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(0deg, #c8b080 0%, #dcc8a0 40%, #e8d8b8 100%);
  border-radius: 60% 40% 0 0 / 30% 20% 0 0;
  animation: cca-ground 15s ease-in-out infinite alternate;
}
.scn-caesar-camp-ambassador .tent-left {
  position: absolute; bottom: 32%; left: 15%; width: 80px; height: 60px;
  background: linear-gradient(180deg, #e8d0a0 0%, #c8b080 60%, #a89060 100%);
  clip-path: polygon(0% 100%, 30% 0%, 70% 0%, 100% 100%);
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  animation: cca-tent 8s ease-in-out infinite;
}
.scn-caesar-camp-ambassador .tent-right {
  position: absolute; bottom: 30%; right: 20%; width: 90px; height: 70px;
  background: linear-gradient(180deg, #e0c890 0%, #c0a870 60%, #a08850 100%);
  clip-path: polygon(0% 100%, 25% 0%, 75% 0%, 100% 100%);
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  animation: cca-tent 8s ease-in-out infinite 1s;
}
.scn-caesar-camp-ambassador .flag {
  position: absolute; bottom: 58%; left: 42%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #a0461a 0%, #c8553d 50%, #a0461a 100%); /* terracotta instead of red */
  clip-path: polygon(0% 0%, 100% 20%, 100% 80%, 0% 100%);
  transform-origin: bottom center;
  animation: cca-flag 6s ease-in-out infinite alternate;
}
.scn-caesar-camp-ambassador .figure-schoolmaster {
  position: absolute; bottom: 27%; left: 50%; width: 20px; height: 55px;
  background: linear-gradient(180deg, #4a4030 0%, #2a2018 70%, #1a1008 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: cca-figure 10s ease-in-out infinite;
}
.scn-caesar-camp-ambassador .sun-rays {
  position: absolute; top: 5%; left: 30%; width: 100px; height: 200px;
  background: linear-gradient(180deg, rgba(255,240,200,0.3) 0%, transparent 80%);
  filter: blur(8px);
  animation: cca-rays 12s ease-in-out infinite alternate;
}
@keyframes cca-sky { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes cca-ground { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes cca-tent { 0%,100% { transform: scale(1); } 50% { transform: scale(0.98) translateY(1px); } }
@keyframes cca-flag { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(2px) rotate(5deg); } 50% { transform: translateX(0) rotate(-3deg); } 75% { transform: translateX(-2px) rotate(4deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes cca-figure { 0%,100% { transform: translateX(0); } 50% { transform: translateX(2px); } }
@keyframes cca-rays { 0% { opacity: 0.3; } 50% { opacity: 0.5; } 100% { opacity: 0.2; } }

/* Scene: antony-requests (calm, sunlit) */
.scn-antony-requests {
  background:
    linear-gradient(180deg, #5ca0c0 0%, #80c0d8 40%, #b8dce8 70%, #f0e8c0 100%),
    radial-gradient(ellipse at 30% 80%, #f0d890 0%, transparent 60%);
}
.scn-antony-requests .sky {
  position: absolute; top: 0; left: 0; right: 0; bottom: 45%;
  background: linear-gradient(180deg, #6aa8c8 0%, #98c8e0 50%, #c0dce8 100%);
  animation: arq-sky 18s ease-in-out infinite alternate;
}
.scn-antony-requests .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(0deg, #c0a870 0%, #d4c090 40%, #e0d0a0 100%);
  border-radius: 50% 50% 0 0 / 20% 20% 0 0;
  animation: arq-ground 14s ease-in-out infinite alternate;
}
.scn-antony-requests .column-left {
  position: absolute; bottom: 35%; left: 15%; width: 14px; height: 110px;
  background: linear-gradient(180deg, #e0d0b0 0%, #a89070 60%, #806850 100%);
  border-radius: 8px 8px 0 0;
  box-shadow: -2px 0 6px rgba(0,0,0,0.3);
  animation: arq-column 12s ease-in-out infinite;
}
.scn-antony-requests .column-right {
  position: absolute; bottom: 35%; right: 15%; width: 14px; height: 110px;
  background: linear-gradient(180deg, #e0d0b0 0%, #a89070 60%, #806850 100%);
  border-radius: 8px 8px 0 0;
  box-shadow: 2px 0 6px rgba(0,0,0,0.3);
  animation: arq-column 12s ease-in-out infinite 0.5s;
}
.scn-antony-requests .figure-antony {
  position: absolute; bottom: 25%; left: 48%; width: 24px; height: 64px;
  background: linear-gradient(180deg, #4a3a30 0%, #2a1a18 70%, #1a0c08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: arq-figure 9s ease-in-out infinite;
}
.scn-antony-requests .scroll {
  position: absolute; bottom: 28%; left: 52%; width: 32px; height: 6px;
  background: linear-gradient(90deg, #d0c8a0 0%, #f0e0c0 50%, #d0c8a0 100%);
  border-radius: 4px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.3);
  animation: arq-scroll 7s ease-in-out infinite alternate;
}
.scn-antony-requests .bird {
  position: absolute; top: 15%; left: 60%; width: 20px; height: 10px;
  background: linear-gradient(180deg, #4a4030 0%, #2a2018 100%);
  clip-path: polygon(0% 50%, 30% 0%, 70% 0%, 100% 50%, 70% 100%, 30% 100%);
  animation: arq-bird 25s linear infinite;
}
@keyframes arq-sky { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes arq-ground { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes arq-column { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(0.98) translateY(1px); } }
@keyframes arq-figure { 0%,100% { transform: translateX(0) rotate(0); } 25% { transform: translateX(1px) rotate(-2deg); } 50% { transform: translateX(0) rotate(1deg); } 75% { transform: translateX(-1px) rotate(-1deg); } }
@keyframes arq-scroll { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(2px) rotate(3deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes arq-bird { 0% { transform: translateX(0) translateY(0) rotate(0); } 25% { transform: translateX(20px) translateY(-5px) rotate(5deg); } 50% { transform: translateX(40px) translateY(0) rotate(0); } 75% { transform: translateX(60px) translateY(-3px) rotate(-5deg); } 100% { transform: translateX(80px) translateY(0) rotate(0); } }

.scn-antony-curses-sight {
  background: linear-gradient(180deg, #d4b896 0%, #c4a47e 30%, #b38b63 60%, #a27650 100%),
              radial-gradient(ellipse at 60% 40%, #e8d4b0 0%, transparent 70%);
}
.scn-antony-curses-sight .wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #e0c9a8 0%, #c4a47e 100%);
  animation: acs-wall 20s ease-in-out infinite alternate;
}
.scn-antony-curses-sight .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #8b6f4c 0%, #6b4f2c 100%);
  border-radius: 0 0 20% 20% / 0 0 10% 10%;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.3);
  animation: acs-floor 15s ease-in-out infinite;
}
.scn-antony-curses-sight .window {
  position: absolute; top: 10%; left: 20%; width: 25%; height: 35%;
  background: radial-gradient(circle at 50% 50%, #fff8e0 0%, #f0d8a8 50%, #d4b080 100%);
  border: 4px solid #6b4f2c; border-radius: 4px;
  box-shadow: 0 0 40px 10px #f0d8a8, 0 0 80px 20px rgba(240,216,168,0.3);
  animation: acs-window 8s ease-in-out infinite alternate;
}
.scn-antony-curses-sight .figure {
  position: absolute; bottom: 30%; left: 50%; width: 22%; height: 50%;
  background: linear-gradient(90deg, #1a1a1a 0%, #2a2a2a 30%, #1a1a1a 100%);
  border-radius: 50% 30% 40% 40% / 60% 50% 40% 40%;
  transform-origin: bottom center;
  animation: acs-figure 4s ease-in-out infinite;
}
.scn-antony-curses-sight .table {
  position: absolute; bottom: 32%; left: 40%; width: 30%; height: 8%;
  background: linear-gradient(180deg, #8b6f4c 0%, #5a3f1c 100%);
  border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: acs-table 12s ease-in-out infinite;
}
.scn-antony-curses-sight .lantern {
  position: absolute; bottom: 35%; left: 45%; width: 4%; height: 6%;
  background: radial-gradient(circle, #ffe080 0%, #c89550 70%);
  border-radius: 50%; box-shadow: 0 0 20px 6px #c89550, 0 0 40px 12px rgba(200,149,80,0.4);
  animation: acs-lantern 3s ease-in-out infinite alternate;
}
.scn-antony-curses-sight .shadow {
  position: absolute; bottom: 28%; left: 48%; width: 30%; height: 20%;
  background: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.3) 50%, transparent 100%);
  filter: blur(8px); animation: acs-shadow 6s ease-in-out infinite;
}
@keyframes acs-wall { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes acs-floor { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes acs-window { 0% { box-shadow: 0 0 30px 5px #f0d8a8; } 50% { box-shadow: 0 0 60px 15px #fff0c0; } 100% { box-shadow: 0 0 35px 8px #f0d8a8; } }
@keyframes acs-figure { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(2%) rotate(-2deg); } 50% { transform: translateX(0) rotate(1deg); } 75% { transform: translateX(-2%) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes acs-table { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes acs-lantern { 0% { opacity:0.8; transform: scale(1); } 100% { opacity:1; transform: scale(1.15); } }
@keyframes acs-shadow { 0% { transform: translateX(0); } 50% { transform: translateX(5%); } 100% { transform: translateX(0); } }

.scn-enobarbus-console-death {
  background: linear-gradient(135deg, #e8d4a8 0%, #d4b883 50%, #c8a86a 100%),
              radial-gradient(circle at 20% 30%, #fff4d6 0%, transparent 60%);
}
.scn-enobarbus-console-death .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #f0e0c0 0%, #d4b880 100%);
  animation: ecd-bg 30s ease-in-out infinite alternate;
}
.scn-enobarbus-console-death .couch {
  position: absolute; bottom: 15%; left: 15%; width: 70%; height: 40%;
  background: linear-gradient(135deg, #a08060 0%, #7a5a3a 100%);
  border-radius: 30% 30% 10% 10% / 50% 50% 10% 10%;
  box-shadow: inset 0 -10px 20px rgba(0,0,0,0.3), 0 5px 15px rgba(0,0,0,0.4);
  animation: ecd-couch 12s ease-in-out infinite;
}
.scn-enobarbus-console-death .figure {
  position: absolute; bottom: 22%; left: 30%; width: 18%; height: 40%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: ecd-figure 4s ease-in-out infinite;
}
.scn-enobarbus-console-death .goblet {
  position: absolute; bottom: 30%; left: 48%; width: 6%; height: 10%;
  background: linear-gradient(180deg, #c0a060 0%, #a08040 100%);
  border-radius: 0 0 30% 30% / 0 0 40% 40%;
  box-shadow: 0 4px 6px rgba(0,0,0,0.3);
  animation: ecd-goblet 4s ease-in-out infinite alternate;
}
.scn-enobarbus-console-death .pillow {
  position: absolute; bottom: 28%; left: 22%; width: 12%; height: 8%;
  background: radial-gradient(circle at 40% 40%, #e0c080 0%, #c0a060 100%);
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
  animation: ecd-pillow 10s ease-in-out infinite;
}
.scn-enobarbus-console-death .lamp {
  position: absolute; bottom: 35%; left: 60%; width: 5%; height: 15%;
  background: linear-gradient(180deg, #d4a050 0%, #a07030 100%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 20px 5px #e8c080, 0 0 40px 10px rgba(232,192,128,0.3);
  animation: ecd-lamp 8s ease-in-out infinite alternate;
}
@keyframes ecd-bg { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes ecd-couch { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(0deg); } }
@keyframes ecd-figure { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(5%) rotate(-5deg); } 50% { transform: translateX(0) rotate(3deg); } 75% { transform: translateX(-5%) rotate(-2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes ecd-goblet { 0% { transform: translateY(0) rotate(0deg); } 100% { transform: translateY(-10%) rotate(10deg); } }
@keyframes ecd-pillow { 0% { transform: scale(1); } 50% { transform: scale(1.1); } 100% { transform: scale(1); } }
@keyframes ecd-lamp { 0% { opacity:0.7; box-shadow: 0 0 15px 3px #e8c080; } 100% { opacity:1; box-shadow: 0 0 30px 8px #e8c080; } }

.scn-antony-state-urgency {
  background: linear-gradient(180deg, #c8a87a 0%, #b89060 30%, #a07848 70%, #886038 100%),
              radial-gradient(ellipse at 30% 50%, #e0c090 0%, transparent 70%);
}
.scn-antony-state-urgency .bgroom {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #d4b894 0%, #b89870 100%);
  animation: asu-bgroom 25s ease-in-out infinite alternate;
}
.scn-antony-state-urgency .desk {
  position: absolute; bottom: 25%; left: 20%; width: 60%; height: 12%;
  background: linear-gradient(180deg, #8a6a48 0%, #5a4020 100%);
  border-radius: 4px; box-shadow: 0 6px 12px rgba(0,0,0,0.4);
  animation: asu-desk 14s ease-in-out infinite;
}
.scn-antony-state-urgency .scrolls {
  position: absolute; bottom: 32%; left: 35%; width: 30%; height: 20%;
  background: linear-gradient(135deg, #d4c090 0%, #c0a878 50%, #a88858 100%);
  border-radius: 10% 10% 20% 20% / 30% 30% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: asu-scrolls 6s ease-in-out infinite;
}
.scn-antony-state-urgency .figure {
  position: absolute; bottom: 28%; left: 45%; width: 20%; height: 45%;
  background: linear-gradient(90deg, #1a1a1a 0%, #2a2a2a 30%, #1a1a1a 100%);
  border-radius: 50% 40% 40% 40% / 70% 60% 35% 35%;
  transform-origin: bottom center;
  animation: asu-figure 3s ease-in-out infinite;
}
.scn-antony-state-urgency .lamp {
  position: absolute; bottom: 35%; left: 55%; width: 4%; height: 8%;
  background: radial-gradient(circle, #ffe080 0%, #c89550 70%);
  border-radius: 50%; box-shadow: 0 0 20px 6px #c89550, 0 0 40px 12px rgba(200,149,80,0.4);
  animation: asu-lamp 5s ease-in-out infinite alternate;
}
.scn-antony-state-urgency .shadow {
  position: absolute; bottom: 24%; left: 40%; width: 40%; height: 15%;
  background: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.25) 50%, transparent 100%);
  filter: blur(6px); animation: asu-shadow 8s ease-in-out infinite;
}
@keyframes asu-bgroom { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes asu-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes asu-scrolls { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(2%) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes asu-figure { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(3%) rotate(-3deg); } 50% { transform: translateX(0) rotate(2deg); } 75% { transform: translateX(-3%) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes asu-lamp { 0% { opacity:0.8; transform: scale(1); } 100% { opacity:1; transform: scale(1.2); } }
@keyframes asu-shadow { 0% { transform: translateX(0); } 50% { transform: translateX(5%); } 100% { transform: translateX(0); } }

.scn-antony-lists-pompey-threat {
  background: linear-gradient(180deg, #c8a87a 0%, #b89060 30%, #a07848 70%, #886038 100%),
              radial-gradient(ellipse at 70% 40%, #e0c090 0%, transparent 70%);
}
.scn-antony-lists-pompey-threat .wallmap {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #d4b894 0%, #b89870 100%);
  animation: alp-wallmap 22s ease-in-out infinite alternate;
}
.scn-antony-lists-pompey-threat .map {
  position: absolute; top: 15%; left: 15%; width: 70%; height: 40%;
  background: linear-gradient(135deg, #c8b088 0%, #b09870 50%, #988058 100%);
  border: 3px solid #6a5028; border-radius: 8px;
  box-shadow: 0 0 20px 5px rgba(0,0,0,0.3);
  animation: alp-map 12s ease-in-out infinite;
}
.scn-antony-lists-pompey-threat .figure {
  position: absolute; bottom: 28%; left: 40%; width: 22%; height: 48%;
  background: linear-gradient(90deg, #1a1a1a 0%, #2a2a2a 30%, #1a1a1a 100%);
  border-radius: 50% 40% 40% 40% / 70% 60% 35% 35%;
  transform-origin: bottom left;
  animation: alp-figure 4s ease-in-out infinite;
}
.scn-antony-lists-pompey-threat .table {
  position: absolute; bottom: 22%; left: 30%; width: 40%; height: 10%;
  background: linear-gradient(180deg, #8a6a48 0%, #5a4020 100%);
  border-radius: 4px; box-shadow: 0 6px 12px rgba(0,0,0,0.4);
  animation: alp-table 15s ease-in-out infinite;
}
.scn-antony-lists-pompey-threat .candle {
  position: absolute; bottom: 28%; left: 35%; width: 3%; height: 10%;
  background: linear-gradient(180deg, #f0e0c0 0%, #d4b880 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: 0 0 30px 10px #e8c080, 0 0 60px 20px rgba(232,192,128,0.3);
  animation: alp-candle 5s ease-in-out infinite alternate;
}
.scn-antony-lists-pompey-threat .chair {
  position: absolute; bottom: 20%; left: 60%; width: 15%; height: 25%;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a2a0a 100%);
  border-radius: 10% 10% 30% 30% / 20% 20% 30% 30%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: alp-chair 20s ease-in-out infinite;
}
.scn-antony-lists-pompey-threat .shadow {
  position: absolute; bottom: 18%; left: 35%; width: 50%; height: 18%;
  background: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.2) 50%, transparent 100%);
  filter: blur(8px); animation: alp-shadow 7s ease-in-out infinite;
}
@keyframes alp-wallmap { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes alp-map { 0% { transform: scale(1); } 50% { transform: scale(1.02); } 100% { transform: scale(1); } }
@keyframes alp-figure { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(2%) rotate(-2deg); } 50% { transform: translateX(0) rotate(1deg); } 75% { transform: translateX(-2%) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes alp-table { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes alp-candle { 0% { opacity:0.8; box-shadow: 0 0 20px 5px #e8c080; } 100% { opacity:1; box-shadow: 0 0 40px 12px #e8c080; } }
@keyframes alp-chair { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(0deg); } }
@keyframes alp-shadow { 0% { transform: translateX(0); } 50% { transform: translateX(5%); } 100% { transform: translateX(0); } }

.scn-antony-clouds-dissolve {
  background: linear-gradient(180deg, #2a1a1a 0%, #1a1010 50%, #0f0808 100%), radial-gradient(ellipse at 60% 30%, #4a2a2a 0%, transparent 70%);
}
.scn-antony-clouds-dissolve .wall {
  position: absolute;
  inset: 0 0 20% 0;
  background: linear-gradient(90deg, #1a1010, #2a1a1a, #1a1010);
  animation: acd-wall 20s ease-in-out infinite alternate;
}
.scn-antony-clouds-dissolve .window {
  position: absolute;
  top: 10%;
  left: 30%;
  width: 20%;
  height: 30%;
  background: radial-gradient(ellipse at 50% 40%, rgba(180,150,100,0.15), transparent 70%);
  border: 1px solid #3a2a2a;
  border-radius: 5%;
  box-shadow: 0 0 40px rgba(180,150,100,0.1);
  animation: acd-window 8s ease-in-out infinite alternate;
}
.scn-antony-clouds-dissolve .figure {
  position: absolute;
  bottom: 20%;
  left: 40%;
  width: 20%;
  height: 50%;
  background: linear-gradient(135deg, #0f0808 0%, #1a1010 50%, #0a0505 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: acd-figure 10s ease-in-out infinite alternate;
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
}
.scn-antony-clouds-dissolve .particle {
  position: absolute;
  width: 6px;
  height: 6px;
  background: rgba(180,150,100,0.3);
  border-radius: 50%;
  filter: blur(2px);
}
.scn-antony-clouds-dissolve .part-a {
  top: 25%;
  left: 45%;
  animation: acd-drift-a 15s linear infinite, acd-shimmer 4s ease-in-out infinite;
}
.scn-antony-clouds-dissolve .part-b {
  top: 35%;
  left: 50%;
  width: 8px;
  height: 8px;
  animation: acd-drift-b 18s linear infinite reverse, acd-shimmer 5s ease-in-out infinite 1s;
}
.scn-antony-clouds-dissolve .part-c {
  top: 20%;
  left: 55%;
  animation: acd-drift-c 20s linear infinite, acd-shimmer 6s ease-in-out infinite 2s;
}
.scn-antony-clouds-dissolve .shadow {
  position: absolute;
  bottom: 10%;
  left: 30%;
  width: 40%;
  height: 15%;
  background: radial-gradient(ellipse at 50% 0%, #050303 0%, transparent 70%);
  animation: acd-shadow 10s ease-in-out infinite alternate;
}
@keyframes acd-wall {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes acd-window {
  0% { opacity: 0.4; transform: scaleY(1); }
  50% { opacity: 0.6; transform: scaleY(1.02); }
  100% { opacity: 0.3; transform: scaleY(0.98); }
}
@keyframes acd-figure {
  0% { opacity: 0.9; transform: scaleY(1); }
  50% { opacity: 0.6; transform: scaleY(0.95) translateY(5px); }
  100% { opacity: 0.3; transform: scaleY(0.9) translateY(15px) rotate(2deg); }
}
@keyframes acd-drift-a {
  0% { transform: translate(0, 0); opacity: 0; }
  10% { opacity: 0.6; }
  90% { opacity: 0.6; }
  100% { transform: translate(-120px, -80px); opacity: 0; }
}
@keyframes acd-drift-b {
  0% { transform: translate(0, 0); opacity: 0; }
  10% { opacity: 0.5; }
  90% { opacity: 0.5; }
  100% { transform: translate(140px, 60px); opacity: 0; }
}
@keyframes acd-drift-c {
  0% { transform: translate(0, 0); opacity: 0; }
  10% { opacity: 0.4; }
  90% { opacity: 0.4; }
  100% { transform: translate(80px, -100px); opacity: 0; }
}
@keyframes acd-shimmer {
  0%, 100% { filter: blur(2px) brightness(1); }
  50% { filter: blur(4px) brightness(1.5); }
}
@keyframes acd-shadow {
  0% { opacity: 0.5; transform: scaleX(1); }
  50% { opacity: 0.7; transform: scaleX(1.1); }
  100% { opacity: 0.4; transform: scaleX(0.9); }
}

.scn-antony-laments-cleopatras-betrayal {
  background: linear-gradient(180deg, #2a1a0a 0%, #1a1008 40%, #0f0804 100%), radial-gradient(ellipse at 50% 40%, #3a2a1a 0%, transparent 80%);
}
.scn-antony-laments-cleopatras-betrayal .table {
  position: absolute;
  bottom: 20%;
  left: 10%;
  width: 80%;
  height: 10%;
  background: linear-gradient(180deg, #2a1a0a, #0f0804);
  border-radius: 10% 10% 0 0 / 50% 50% 0 0;
  box-shadow: 0 8px 20px rgba(0,0,0,0.6);
  animation: alb-table 15s ease-in-out infinite alternate;
}
.scn-antony-laments-cleopatras-betrayal .figure {
  position: absolute;
  bottom: 28%;
  left: 35%;
  width: 30%;
  height: 50%;
  background: linear-gradient(135deg, #1a1008 0%, #0f0804 50%, #050200 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 35% 35%;
  transform-origin: bottom center;
  animation: alb-figure 6s ease-in-out infinite alternate;
  box-shadow: 0 0 15px rgba(0,0,0,0.4);
}
.scn-antony-laments-cleopatras-betrayal .card {
  position: absolute;
  bottom: 25%;
  width: 6%;
  height: 8%;
  background: linear-gradient(135deg, #5a4a3a, #3a2a1a);
  border-radius: 10%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: alb-card 4s ease-in-out infinite;
}
.scn-antony-laments-cleopatras-betrayal .card-1 {
  left: 25%;
  animation-delay: 0s;
  transform: rotate(-15deg);
}
.scn-antony-laments-cleopatras-betrayal .card-2 {
  left: 45%;
  animation-delay: 0.5s;
  transform: rotate(10deg);
}
.scn-antony-laments-cleopatras-betrayal .card-3 {
  left: 65%;
  animation-delay: 1s;
  transform: rotate(-5deg);
}
.scn-antony-laments-cleopatras-betrayal .candle {
  position: absolute;
  bottom: 36%;
  left: 50%;
  width: 3%;
  height: 12%;
  background: linear-gradient(180deg, #8a7a5a, #4a3a2a);
  border-radius: 20%;
  transform: translateX(-50%);
  box-shadow: 0 0 30px rgba(200,150,80,0.3);
  animation: alb-candle 3s ease-in-out infinite alternate;
}
.scn-antony-laments-cleopatras-betrayal .glow {
  position: absolute;
  bottom: 40%;
  left: 40%;
  width: 20%;
  height: 20%;
  background: radial-gradient(ellipse, rgba(200,150,80,0.2) 0%, transparent 70%);
  border-radius: 50%;
  animation: alb-glow 4s ease-in-out infinite alternate;
}
@keyframes alb-table {
  0% { transform: translateY(0); }
  50% { transform: translateY(2px); }
  100% { transform: translateY(0); }
}
@keyframes alb-figure {
  0% { transform: scaleY(1) rotate(0deg); opacity: 0.9; }
  50% { transform: scaleY(0.98) rotate(-2deg); opacity: 0.7; }
  100% { transform: scaleY(1.02) rotate(2deg); opacity: 0.8; }
}
@keyframes alb-card {
  0%, 100% { transform: translateY(0) rotate(var(--rot, 0deg)); }
  50% { transform: translateY(-5px) rotate(calc(var(--rot, 0deg) + 5deg)); }
}
.scn-antony-laments-cleopatras-betrayal .card-1 { --rot: -15deg; }
.scn-antony-laments-cleopatras-betrayal .card-2 { --rot: 10deg; }
.scn-antony-laments-cleopatras-betrayal .card-3 { --rot: -5deg; }
@keyframes alb-candle {
  0% { height: 12%; opacity: 0.9; }
  50% { height: 13%; opacity: 1; }
  100% { height: 11%; opacity: 0.8; }
}
@keyframes alb-glow {
  0% { opacity: 0.3; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(1.2); }
  100% { opacity: 0.2; transform: scale(0.9); }
}

.scn-mardian-cleopatras-false-death {
  background: linear-gradient(180deg, #1a1a2a 0%, #0f0f1a 40%, #050510 100%), radial-gradient(ellipse at 30% 60%, #2a2a4a 0%, transparent 70%);
}
.scn-mardian-cleopatras-false-death .floor {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 30%;
  background: linear-gradient(0deg, #050510, #0f0f1a);
  animation: mcf-floor 12s ease-in-out infinite alternate;
}
.scn-mardian-cleopatras-false-death .bed {
  position: absolute;
  bottom: 15%;
  left: 15%;
  width: 70%;
  height: 25%;
  background: linear-gradient(135deg, #3a2a2a, #1a1010);
  border-radius: 10%;
  box-shadow: 0 10px 30px rgba(0,0,0,0.6);
  animation: mcf-bed 20s ease-in-out infinite alternate;
}
.scn-mardian-cleopatras-false-death .figure-lying {
  position: absolute;
  bottom: 20%;
  left: 25%;
  width: 50%;
  height: 15%;
  background: linear-gradient(90deg, #2a1a1a, #1a1010, #2a1a1a);
  border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%;
  animation: mcf-body 8s ease-in-out infinite alternate;
  box-shadow: 0 0 10px rgba(0,0,0,0.3);
}
.scn-mardian-cleopatras-false-death .figure-standing {
  position: absolute;
  bottom: 25%;
  left: 55%;
  width: 18%;
  height: 45%;
  background: linear-gradient(135deg, #2a1a2a, #0f0f1a);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
  transform-origin: bottom center;
  animation: mcf-standing 5s ease-in-out infinite alternate;
}
.scn-mardian-cleopatras-false-death .drape {
  position: absolute;
  top: 0;
  left: 10%;
  width: 80%;
  height: 40%;
  background: linear-gradient(180deg, #2a1a1a, #1a1010);
  clip-path: polygon(0% 0%, 100% 0%, 90% 100%, 10% 100%);
  animation: mcf-drape 10s ease-in-out infinite alternate;
  opacity: 0.6;
}
.scn-mardian-cleopatras-false-death .light {
  position: absolute;
  top: 20%;
  left: 45%;
  width: 10%;
  height: 15%;
  background: radial-gradient(circle, rgba(180,160,120,0.2) 0%, transparent 70%);
  animation: mcf-light 3s ease-in-out infinite alternate;
}
.scn-mardian-cleopatras-false-death .shadow {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 20%;
  background: linear-gradient(0deg, #050510 0%, transparent 100%);
  animation: mcf-shadow 10s ease-in-out infinite alternate;
}
@keyframes mcf-floor {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes mcf-bed {
  0% { transform: scale(1); }
  50% { transform: scale(1.02); }
  100% { transform: scale(0.98); }
}
@keyframes mcf-body {
  0% { transform: scaleX(1); opacity: 0.9; }
  50% { transform: scaleX(0.95); opacity: 0.7; }
  100% { transform: scaleX(1.05); opacity: 0.8; }
}
@keyframes mcf-standing {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-3px) rotate(2deg); }
  60% { transform: translateY(2px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes mcf-drape {
  0% { transform: skewX(0deg); opacity: 0.6; }
  50% { transform: skewX(3deg); opacity: 0.7; }
  100% { transform: skewX(-2deg); opacity: 0.5; }
}
@keyframes mcf-light {
  0% { opacity: 0.2; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(1.3); }
  100% { opacity: 0.15; transform: scale(0.8); }
}
@keyframes mcf-shadow {
  0% { opacity: 0.5; }
  50% { opacity: 0.7; }
  100% { opacity: 0.4; }
}

.scn-antony-orders-unarm {
  background: linear-gradient(180deg, #1a1a1a 0%, #0f0f0f 50%, #050505 100%), radial-gradient(ellipse at 50% 40%, #2a2a2a 0%, transparent 70%);
}
.scn-antony-orders-unarm .ground {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 25%;
  background: linear-gradient(0deg, #050505, #1a1a1a);
  animation: aou-ground 20s ease-in-out infinite alternate;
}
.scn-antony-orders-unarm .figure-main {
  position: absolute;
  bottom: 20%;
  left: 30%;
  width: 30%;
  height: 55%;
  background: linear-gradient(135deg, #1a1a1a, #0f0f0f);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  animation: aou-main 8s ease-in-out infinite alternate;
  transform-origin: bottom center;
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
}
.scn-antony-orders-unarm .figure-servant {
  position: absolute;
  bottom: 20%;
  left: 55%;
  width: 20%;
  height: 45%;
  background: linear-gradient(135deg, #1a1a1a, #0a0a0a);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  animation: aou-servant 6s ease-in-out infinite alternate;
  transform-origin: bottom center;
  box-shadow: 0 0 10px rgba(0,0,0,0.4);
}
.scn-antony-orders-unarm .armor-helm {
  position: absolute;
  bottom: 55%;
  left: 25%;
  width: 8%;
  height: 10%;
  background: linear-gradient(135deg, #3a3a3a, #1a1a1a);
  border-radius: 50% 50% 20% 20%;
  animation: aou-fall 4s ease-in-out infinite;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.scn-antony-orders-unarm .armor-breast {
  position: absolute;
  bottom: 40%;
  left: 22%;
  width: 12%;
  height: 14%;
  background: linear-gradient(135deg, #3a3a3a, #1a1a1a);
  border-radius: 10%;
  animation: aou-fall 5s ease-in-out infinite 0.5s;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.scn-antony-orders-unarm .armor-greave {
  position: absolute;
  bottom: 30%;
  left: 20%;
  width: 6%;
  height: 18%;
  background: linear-gradient(135deg, #3a3a3a, #1a1a1a);
  border-radius: 20%;
  animation: aou-fall 6s ease-in-out infinite 1s;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.scn-antony-orders-unarm .shadow {
  position: absolute;
  bottom: 10%;
  left: 20%;
  width: 60%;
  height: 20%;
  background: radial-gradient(ellipse at 50% 0%, #000000 0%, transparent 70%);
  opacity: 0.5;
  animation: aou-shadow 8s ease-in-out infinite alternate;
}
.scn-antony-orders-unarm .drip {
  position: absolute;
  bottom: 60%;
  left: 35%;
  width: 2px;
  height: 8px;
  background: #2a2a2a;
  border-radius: 50%;
  animation: aou-drip 3s ease-in-out infinite;
}
@keyframes aou-ground {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes aou-main {
  0% { transform: scaleY(1) rotate(0deg); }
  50% { transform: scaleY(0.97) rotate(1deg); }
  100% { transform: scaleY(1.03) rotate(-1deg); }
}
@keyframes aou-servant {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-3px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes aou-fall {
  0% { transform: translateY(0) rotate(0deg); opacity: 1; }
  20% { opacity: 1; }
  80% { opacity: 0.7; }
  100% { transform: translateY(120px) rotate(45deg); opacity: 0; }
}
@keyframes aou-shadow {
  0% { opacity: 0.4; transform: scaleX(1); }
  50% { opacity: 0.6; transform: scaleX(1.1); }
  100% { opacity: 0.5; transform: scaleX(0.9); }
}
@keyframes aou-drip {
  0% { transform: translateY(0); opacity: 0.8; }
  50% { transform: translateY(20px); opacity: 0.2; }
  100% { transform: translateY(40px); opacity: 0; }
}

.scn-pompey-justifies-war {
  background:
    linear-gradient(180deg, #f5e8d0 0%, #d4c4a0 40%, #b8a080 100%),
    radial-gradient(ellipse at 70% 20%, #fff8e0 0%, transparent 60%);
}

.scn-pompey-justifies-war .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #e8dcc8 0%, #c8b898 50%, #a89878 100%);
  animation: pjw-bg 12s ease-in-out infinite alternate;
}

.scn-pompey-justifies-war .window {
  position: absolute; left: 10%; top: 15%; width: 22%; height: 35%;
  background: linear-gradient(180deg, #d4e8f0 0%, #a0c0d0 100%);
  border-radius: 4% / 6%;
  box-shadow: inset 0 0 20px rgba(180,200,220,0.5);
  opacity: 0.8;
  animation: pjw-window 6s ease-in-out infinite alternate;
}

.scn-pompey-justifies-war .light-beam {
  position: absolute; left: 10%; top: 20%; width: 40%; height: 60%;
  background: linear-gradient(135deg, rgba(255,245,200,0.4) 0%, transparent 70%);
  clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%);
  animation: pjw-beam 8s ease-in-out infinite alternate;
}

.scn-pompey-justifies-war .table {
  position: absolute; bottom: 20%; left: 35%; width: 30%; height: 18%;
  background: linear-gradient(180deg, #8a7050 0%, #604830 100%);
  border-radius: 4% / 8%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.3);
  animation: pjw-table 14s ease-in-out infinite alternate;
}

.scn-pompey-justifies-war .scroll {
  position: absolute; bottom: 28%; left: 38%; width: 12%; height: 6%;
  background: linear-gradient(180deg, #f0e0c0 0%, #d0b890 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: pjw-scroll 4s ease-in-out infinite;
}

.scn-pompey-justifies-war .figure-pompey {
  position: absolute; bottom: 18%; left: 50%; width: 12%; height: 28%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pjw-figure 5s ease-in-out infinite;
}

.scn-pompey-justifies-war .shadow {
  position: absolute; bottom: 16%; left: 48%; width: 18%; height: 10%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.3) 0%, transparent 70%);
  animation: pjw-shadow 5s ease-in-out infinite;
}

@keyframes pjw-bg { 0% { opacity:0.95; } 50% { opacity:1; } 100% { opacity:0.9; } }
@keyframes pjw-window { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(0.98); } }
@keyframes pjw-beam { 0% { transform: rotate(-2deg); opacity:0.8; } 50% { transform: rotate(1deg); opacity:1; } 100% { transform: rotate(-1deg); opacity:0.9; } }
@keyframes pjw-table { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(1px); } }
@keyframes pjw-scroll { 0% { transform: rotate(-3deg) scaleX(1); } 50% { transform: rotate(2deg) scaleX(1.05); } 100% { transform: rotate(-1deg) scaleX(1); } }
@keyframes pjw-figure { 0% { transform: rotate(-2deg) translateY(0); } 50% { transform: rotate(1deg) translateY(-3px); } 100% { transform: rotate(-1deg) translateY(1px); } }
@keyframes pjw-shadow { 0% { opacity:0.5; transform: scaleX(1); } 50% { opacity:0.7; transform: scaleX(1.1); } 100% { opacity:0.6; transform: scaleX(0.9); } }

.scn-pompey-scorns-antonius {
  background:
    linear-gradient(180deg, #f0e0c8 0%, #d4c0a8 40%, #b8a088 100%),
    radial-gradient(ellipse at 60% 30%, #fff8e0 0%, transparent 50%);
}

.scn-pompey-scorns-antonius .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #e8d8c0 0%, #c8b498 50%, #a89478 100%);
  animation: psa-bg 15s ease-in-out infinite alternate;
}

.scn-pompey-scorns-antonius .window {
  position: absolute; right: 10%; top: 12%; width: 20%; height: 30%;
  background: linear-gradient(180deg, #c8d8e0 0%, #98b0c0 100%);
  border-radius: 4% / 6%;
  box-shadow: inset 0 0 15px rgba(160,180,200,0.4);
  animation: psa-window 7s ease-in-out infinite alternate;
}

.scn-pompey-scorns-antonius .map {
  position: absolute; bottom: 22%; left: 25%; width: 25%; height: 15%;
  background: linear-gradient(180deg, #c8b898 0%, #a08868 100%);
  border-radius: 2%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.3);
  transform: rotate(-5deg);
  animation: psa-map 9s ease-in-out infinite;
}

.scn-pompey-scorns-antonius .figure-pompey {
  position: absolute; bottom: 18%; left: 42%; width: 11%; height: 28%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: psa-figure-p 6s ease-in-out infinite;
}

.scn-pompey-scorns-antonius .arm {
  position: absolute; bottom: 32%; left: 46%; width: 8%; height: 2%;
  background: linear-gradient(90deg, #2a1a0a 0%, #4a3a2a 100%);
  border-radius: 20%;
  transform-origin: left center;
  animation: psa-arm 4s ease-in-out infinite alternate;
}

.scn-pompey-scorns-antonius .table {
  position: absolute; bottom: 20%; left: 30%; width: 35%; height: 20%;
  background: linear-gradient(180deg, #7a6040 0%, #504020 100%);
  border-radius: 4% / 8%;
  box-shadow: 0 6px 16px rgba(0,0,0,0.3);
  animation: psa-table 12s ease-in-out infinite alternate;
}

.scn-pompey-scorns-antonius .shadow {
  position: absolute; bottom: 16%; left: 40%; width: 20%; height: 12%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.25) 0%, transparent 70%);
  animation: psa-shadow 6s ease-in-out infinite;
}

@keyframes psa-bg { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes psa-window { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.03); } 100% { transform: scaleY(0.97); } }
@keyframes psa-map { 0% { transform: rotate(-5deg) translateX(0); } 50% { transform: rotate(-2deg) translateX(3px); } 100% { transform: rotate(-6deg) translateX(-2px); } }
@keyframes psa-figure-p { 0% { transform: rotate(-1deg); } 50% { transform: rotate(2deg) translateY(-2px); } 100% { transform: rotate(0deg); } }
@keyframes psa-arm { 0% { transform: rotate(-20deg); } 50% { transform: rotate(10deg); } 100% { transform: rotate(-15deg); } }
@keyframes psa-table { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(1px); } }
@keyframes psa-shadow { 0% { opacity:0.4; transform: scaleX(1); } 50% { opacity:0.6; transform: scaleX(1.15); } 100% { opacity:0.5; transform: scaleX(0.9); } }

.scn-pompey-curses-cleopatra {
  background:
    linear-gradient(180deg, #e8d8c0 0%, #c8b498 30%, #a08870 60%, #806850 100%),
    radial-gradient(ellipse at 50% 30%, #f0e0c8 0%, transparent 50%);
}

.scn-pompey-curses-cleopatra .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #d8c8b0 0%, #b8a088 50%, #987868 100%);
  animation: pcc-bg 10s ease-in-out infinite alternate;
}

.scn-pompey-curses-cleopatra .feast-table {
  position: absolute; bottom: 15%; left: 20%; width: 60%; height: 25%;
  background: linear-gradient(180deg, #7a6040 0%, #503820 100%);
  border-radius: 4% / 8%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.4);
  animation: pcc-table 16s ease-in-out infinite alternate;
}

.scn-pompey-curses-cleopatra .dish {
  position: absolute; bottom: 25%; left: 35%; width: 10%; height: 6%;
  background: radial-gradient(circle, #c8b090 0%, #a08868 70%);
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: pcc-dish 5s ease-in-out infinite;
}

.scn-pompey-curses-cleopatra .figure-pompey {
  position: absolute; bottom: 18%; left: 30%; width: 12%; height: 28%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pcc-figure-p 7s ease-in-out infinite;
}

.scn-pompey-curses-cleopatra .figure-cleopatra {
  position: absolute; bottom: 18%; right: 30%; width: 10%; height: 26%;
  background: linear-gradient(180deg, #1a1220 0%, #0a0810 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  opacity: 0.9;
  animation: pcc-figure-c 8s ease-in-out infinite;
}

.scn-pompey-curses-cleopatra .candle {
  position: absolute; bottom: 30%; left: 45%; width: 3%; height: 12%;
  background: linear-gradient(180deg, #e8d8c0 0%, #c8b090 100%);
  border-radius: 2px 2px 4px 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: pcc-candle 4s ease-in-out infinite;
}

.scn-pompey-curses-cleopatra .flame-glow {
  position: absolute; bottom: 38%; left: 44.5%; width: 5%; height: 8%;
  background: radial-gradient(circle, #ffd080 0%, #f0a050 40%, transparent 70%);
  border-radius: 50%;
  animation: pcc-flame 2s ease-in-out infinite alternate;
}

@keyframes pcc-bg { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes pcc-table { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(1px); } }
@keyframes pcc-dish { 0% { transform: rotate(-5deg) translateX(0); } 50% { transform: rotate(3deg) translateX(4px); } 100% { transform: rotate(-2deg) translateX(-2px); } }
@keyframes pcc-figure-p { 0% { transform: rotate(-2deg) translateY(0); } 50% { transform: rotate(1deg) translateY(-3px); } 100% { transform: rotate(-1deg) translateY(1px); } }
@keyframes pcc-figure-c { 0% { transform: rotate(1deg) translateY(0); opacity:0.8; } 50% { transform: rotate(-2deg) translateY(-2px); opacity:1; } 100% { transform: rotate(0deg) translateY(1px); opacity:0.9; } }
@keyframes pcc-candle { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.05); } 100% { transform: scaleY(0.95); } }
@keyframes pcc-flame { 0% { transform: scale(0.9) rotate(-3deg); opacity:0.8; } 50% { transform: scale(1.1) rotate(2deg); opacity:1; } 100% { transform: scale(1) rotate(-1deg); opacity:0.9; } }

.scn-varrius-antonius-expected {
  background:
    linear-gradient(180deg, #f2e6d0 0%, #d4c4a8 40%, #b8a088 100%),
    radial-gradient(ellipse at 40% 20%, #fff8e8 0%, transparent 60%);
}

.scn-varrius-antonius-expected .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #ece0c8 0%, #ccb898 50%, #a89478 100%);
  animation: vae-bg 14s ease-in-out infinite alternate;
}

.scn-varrius-antonius-expected .column {
  position: absolute; left: 15%; bottom: 0%; width: 8%; height: 80%;
  background: linear-gradient(180deg, #c8b8a0 0%, #a89078 100%);
  box-shadow: 4px 0 8px rgba(0,0,0,0.2);
  animation: vae-column 20s ease-in-out infinite alternate;
}

.scn-varrius-antonius-expected .map {
  position: absolute; bottom: 25%; left: 30%; width: 20%; height: 14%;
  background: linear-gradient(180deg, #d0c0a8 0%, #b8a088 100%);
  border-radius: 2%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.25);
  animation: vae-map 8s ease-in-out infinite;
}

.scn-varrius-antonius-expected .figure-varrius {
  position: absolute; bottom: 18%; left: 35%; width: 11%; height: 26%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: vae-figure-v 6s ease-in-out infinite;
}

.scn-varrius-antonius-expected .figure-antonius {
  position: absolute; bottom: 18%; left: 50%; width: 12%; height: 28%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: vae-figure-a 6s ease-in-out infinite reverse;
}

.scn-varrius-antonius-expected .shadow-vae {
  position: absolute; bottom: 16%; left: 34%; width: 30%; height: 12%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.2) 0%, transparent 70%);
  animation: vae-shadow 6s ease-in-out infinite;
}

@keyframes vae-bg { 0% { opacity:0.95; } 50% { opacity:1; } 100% { opacity:0.9; } }
@keyframes vae-column { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.01); } 100% { transform: scaleY(0.99); } }
@keyframes vae-map { 0% { transform: rotate(-3deg) translateX(0); } 50% { transform: rotate(1deg) translateX(2px); } 100% { transform: rotate(-2deg) translateX(-1px); } }
@keyframes vae-figure-v { 0% { transform: rotate(-2deg); } 50% { transform: rotate(1deg) translateY(-2px); } 100% { transform: rotate(-1deg); } }
@keyframes vae-figure-a { 0% { transform: rotate(1deg); } 50% { transform: rotate(-2deg) translateY(-3px); } 100% { transform: rotate(0deg); } }
@keyframes vae-shadow { 0% { opacity:0.4; transform: scaleX(1); } 50% { opacity:0.6; transform: scaleX(1.1); } 100% { opacity:0.5; transform: scaleX(0.95); } }

/* antony-orders-departure */
.scn-antony-orders-departure {
  background: linear-gradient(180deg, #c8a070 0%, #a07850 30%, #604030 100%), radial-gradient(ellipse at 70% 40%, #e0c090 0%, transparent 60%);
}
.scn-antony-orders-departure .int-wall { position:absolute; inset:0 0 30% 0; background:linear-gradient(180deg, #d0b080 0%, #b08860 100%); }
.scn-antony-orders-departure .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background:linear-gradient(180deg, #706050 0%, #504030 100%); border-radius:10% 10% 0 0 / 5% 5% 0 0; }
.scn-antony-orders-departure .table { position:absolute; bottom:15%; left:35%; width:35%; height:12%; background:linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%); border-radius:6px; box-shadow:0 8px 16px rgba(0,0,0,.5); animation: and-table 8s ease-in-out infinite alternate; }
.scn-antony-orders-departure .document-1 { position:absolute; bottom:22%; left:38%; width:12%; height:6%; background:linear-gradient(135deg, #f0e0c0 0%, #d0b080 100%); border-radius:4px 2px 4px 2px; box-shadow:0 2px 4px rgba(0,0,0,.3); animation: and-doc1 5s ease-in-out infinite; }
.scn-antony-orders-departure .document-2 { position:absolute; bottom:21%; left:43%; width:10%; height:5%; background:linear-gradient(135deg, #f0e0c0 0%, #d0b080 100%); border-radius:2px 4px 2px 4px; transform:rotate(15deg); box-shadow:0 2px 4px rgba(0,0,0,.3); animation: and-doc2 6s ease-in-out infinite alternate; }
.scn-antony-orders-departure .figure-antony { position:absolute; bottom:25%; left:62%; width:8%; height:30%; background:linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: and-walk 4s ease-in-out infinite; }
.scn-antony-orders-departure .shadow-sharp { position:absolute; bottom:15%; left:60%; width:12%; height:4%; background:rgba(0,0,0,.5); border-radius:50%; filter:blur(2px); animation: and-shad 4s ease-in-out infinite; }
.scn-antony-orders-departure .lamp-glow { position:absolute; top:10%; left:70%; width:6px; height:6px; background:radial-gradient(circle, #ffe0a0 0%, #d0a050 70%); border-radius:50%; box-shadow:0 0 30px 10px rgba(255,224,160,.6), 0 0 60px 20px rgba(255,224,160,.3); animation: and-lamp 3s ease-in-out infinite alternate; }
@keyframes and-table { 0% { transform:translateY(0); } 50% { transform:translateY(-3px); } 100% { transform:translateY(0); } }
@keyframes and-doc1 { 0%,100% { transform:translateX(0) rotate(0deg); } 25% { transform:translateX(2px) rotate(1deg); } 75% { transform:translateX(-2px) rotate(-1deg); } }
@keyframes and-doc2 { 0% { transform:translateX(0) rotate(15deg); } 50% { transform:translateX(3px) rotate(12deg); } 100% { transform:translateX(-3px) rotate(18deg); } }
@keyframes and-walk { 0% { transform:translateX(0) rotate(-2deg); } 25% { transform:translateX(4px) rotate(2deg); } 50% { transform:translateX(8px) rotate(-2deg); } 75% { transform:translateX(12px) rotate(2deg); } 100% { transform:translateX(16px) rotate(0); } }
@keyframes and-shad { 0%,100% { transform:translateX(0) scale(1); } 50% { transform:translateX(4px) scale(1.2); } }
@keyframes and-lamp { 0% { box-shadow:0 0 30px 10px rgba(255,224,160,.6), 0 0 60px 20px rgba(255,224,160,.3); opacity:.8; } 50% { box-shadow:0 0 40px 15px rgba(255,224,160,.9), 0 0 80px 30px rgba(255,224,160,.5); opacity:1; } 100% { box-shadow:0 0 25px 8px rgba(255,224,160,.5), 0 0 50px 15px rgba(255,224,160,.25); opacity:.7; } }

/* cleopatra-asks-where */
.scn-cleopatra-asks-where {
  background: linear-gradient(180deg, #d8c0a0 0%, #b89870 40%, #907860 100%), radial-gradient(ellipse at 40% 50%, #e0d0b0 0%, transparent 70%);
}
.scn-cleopatra-asks-where .room-bg { position:absolute; inset:0 0 25% 0; background:linear-gradient(180deg, #d0b898 0%, #b89870 100%); }
.scn-cleopatra-asks-where .pillar-left { position:absolute; top:0; left:15%; width:5%; height:75%; background:linear-gradient(180deg, #a89878 0%, #7a6a4a 100%); border-radius:8px; box-shadow:inset -4px 0 8px rgba(0,0,0,.2); animation: caw-pillar 15s ease-in-out infinite alternate; }
.scn-cleopatra-asks-where .pillar-right { position:absolute; top:0; right:15%; width:5%; height:75%; background:linear-gradient(180deg, #a89878 0%, #7a6a4a 100%); border-radius:8px; box-shadow:inset 4px 0 8px rgba(0,0,0,.2); animation: caw-pillar 15s ease-in-out infinite alternate-reverse; }
.scn-cleopatra-asks-where .figure-cleopatra { position:absolute; bottom:22%; left:50%; width:10%; height:40%; background:linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: caw-turn 5s ease-in-out infinite; }
.scn-cleopatra-asks-where .figure-shadow { position:absolute; bottom:18%; left:48%; width:14%; height:5%; background:rgba(0,0,0,.4); border-radius:50%; filter:blur(3px); animation: caw-shad 5s ease-in-out infinite; }
.scn-cleopatra-asks-where .door-arch { position:absolute; bottom:25%; right:25%; width:20%; height:45%; background:radial-gradient(ellipse at 50% 100%, #504030 0%, #302010 100%); border-radius:40% 40% 0 0 / 60% 60% 0 0; box-shadow:inset 0 -10px 20px rgba(0,0,0,.5); animation: caw-door 10s ease-in-out infinite alternate; }
.scn-cleopatra-asks-where .anxious-motes { position:absolute; top:20%; left:30%; width:4px; height:4px; background:rgba(255,240,200,.6); border-radius:50%; box-shadow:0 0 6px 2px rgba(255,240,200,.3); animation: caw-motes 3s ease-in-out infinite; }
.scn-cleopatra-asks-where .light-shaft { position:absolute; top:5%; left:35%; width:30%; height:40%; background:linear-gradient(180deg, rgba(255,240,200,.1) 0%, rgba(255,240,200,.05) 100%); transform:rotate(15deg); filter:blur(8px); animation: caw-shaft 6s ease-in-out infinite alternate; }
@keyframes caw-pillar { 0% { opacity:.9; } 50% { opacity:1; } 100% { opacity:.85; } }
@keyframes caw-turn { 0% { transform:translateX(-5%) rotate(-5deg); } 25% { transform:translateX(0%) rotate(2deg); } 50% { transform:translateX(5%) rotate(5deg); } 75% { transform:translateX(0%) rotate(-2deg); } 100% { transform:translateX(-5%) rotate(-5deg); } }
@keyframes caw-shad { 0%,100% { transform:translateX(-3%) scale(0.95); } 50% { transform:translateX(3%) scale(1.1); } }
@keyframes caw-door { 0% { transform:scaleX(1); } 50% { transform:scaleX(1.05); } 100% { transform:scaleX(0.95); } }
@keyframes caw-motes { 0% { transform:translateY(0) scale(1); opacity:1; } 50% { transform:translateY(-10px) scale(1.5); opacity:.5; } 100% { transform:translateY(0) scale(1); opacity:1; } }
@keyframes caw-shaft { 0% { opacity:.2; transform:rotate(15deg) scaleY(1); } 50% { opacity:.4; transform:rotate(10deg) scaleY(1.2); } 100% { opacity:.1; transform:rotate(20deg) scaleY(0.8); } }

/* charmian-advises-yield */
.scn-charmian-advises-yield {
  background: linear-gradient(180deg, #e0d0c0 0%, #c8b8a8 40%, #b0a090 100%), radial-gradient(ellipse at 60% 40%, #f0e0d0 0%, transparent 70%);
}
.scn-charmian-advises-yield .chamber-bg { position:absolute; inset:0 0 20% 0; background:linear-gradient(180deg, #e8d8c8 0%, #d0c0b0 100%); }
.scn-charmian-advises-yield .cushion-left { position:absolute; bottom:15%; left:20%; width:15%; height:10%; background:linear-gradient(135deg, #c8553d 0%, #a04020 100%); border-radius:60% 40% 50% 50% / 40% 60% 50% 50%; box-shadow:0 4px 8px rgba(0,0,0,.2); animation: cay-cushion 10s ease-in-out infinite alternate; }
.scn-charmian-advises-yield .cushion-right { position:absolute; bottom:18%; right:25%; width:12%; height:8%; background:linear-gradient(135deg, #b87878 0%, #986060 100%); border-radius:50% 60% 40% 60% / 50% 50% 50% 50%; box-shadow:0 4px 8px rgba(0,0,0,.2); animation: cay-cushion 12s ease-in-out infinite alternate-reverse; }
.scn-charmian-advises-yield .figure-charmian { position:absolute; bottom:20%; left:40%; width:10%; height:35%; background:linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: cay-still 6s ease-in-out infinite; }
.scn-charmian-advises-yield .hand-advice { position:absolute; bottom:38%; left:45%; width:6%; height:10%; background:linear-gradient(180deg, #d0b090 0%, #b09070 100%); border-radius:30% 30% 20% 20% / 50% 50% 30% 30%; transform-origin: top; animation: cay-hand 4s ease-in-out infinite; }
.scn-charmian-advises-yield .figure-cleopatra-sitting { position:absolute; bottom:18%; left:55%; width:12%; height:30%; background:linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:40% 40% 30% 30% / 60% 60% 30% 30%; box-shadow:0 4px 8px rgba(0,0,0,.3); animation: cay-sit 8s ease-in-out infinite alternate; }
.scn-charmian-advises-yield .soft-glow { position:absolute; top:15%; left:50%; width:20%; height:30%; background:radial-gradient(ellipse, rgba(255,240,220,.4) 0%, transparent 70%); border-radius:50%; filter:blur(12px); animation: cay-glow 5s ease-in-out infinite alternate; }
@keyframes cay-cushion { 0% { transform:translateY(0) rotate(-2deg); } 50% { transform:translateY(-3px) rotate(2deg); } 100% { transform:translateY(0) rotate(-2deg); } }
@keyframes cay-still { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-2px); } }
@keyframes cay-hand { 0% { transform:rotate(10deg); } 50% { transform:rotate(20deg); } 100% { transform:rotate(5deg); } }
@keyframes cay-sit { 0% { transform:translateY(0) scale(1); } 50% { transform:translateY(-2px) scale(1.02); } 100% { transform:translateY(0) scale(1); } }
@keyframes cay-glow { 0% { opacity:.5; transform:translateX(-5%); } 50% { opacity:.8; transform:translateX(5%); } 100% { opacity:.4; transform:translateX(-3%); } }

/* cleopatra-feigns-sickness */
.scn-cleopatra-feigns-sickness {
  background: linear-gradient(180deg, #f0e0d0 0%, #d8c8b8 40%, #c0b0a0 100%), radial-gradient(ellipse at 30% 60%, #fff0e0 0%, transparent 70%);
}
.scn-cleopatra-feigns-sickness .bright-room { position:absolute; inset:0 0 15% 0; background:linear-gradient(180deg, #f8e8d8 0%, #e0d0c0 100%); }
.scn-cleopatra-feigns-sickness .chaise-longue { position:absolute; bottom:10%; left:30%; width:40%; height:25%; background:linear-gradient(180deg, #d0b8a0 0%, #a08870 100%); border-radius:30% 30% 10% 10% / 80% 80% 20% 20%; box-shadow:0 10px 20px rgba(0,0,0,.3); animation: cfs-chaise 6s ease-in-out infinite alternate; }
.scn-cleopatra-feigns-sickness .figure-swoon { position:absolute; bottom:15%; left:45%; width:12%; height:35%; background:linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius:40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: cfs-swoon 4s ease-in-out infinite; }
.scn-cleopatra-feigns-sickness .arm-flail { position:absolute; bottom:25%; left:52%; width:5%; height:20%; background:linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); border-radius:20% 20% 30% 30% / 40% 40% 60% 60%; transform-origin: top; animation: cfs-arm 3s ease-in-out infinite; }
.scn-cleopatra-feigns-sickness .skirt-fan { position:absolute; bottom:8%; left:42%; width:18%; height:10%; background:linear-gradient(180deg, #b87878 0%, #986060 100%); border-radius:0 0 60% 60% / 0 0 80% 80%; transform:rotate(-10deg); box-shadow:0 4px 8px rgba(0,0,0,.2); animation: cfs-skirt 5s ease-in-out infinite alternate; }
.scn-cleopatra-feigns-sickness .shadow-dramatic { position:absolute; bottom:8%; left:42%; width:20%; height:8%; background:rgba(0,0,0,.5); border-radius:50%; filter:blur(6px); animation: cfs-shad 4s ease-in-out infinite; }
.scn-cleopatra-feigns-sickness .pillow-fly { position:absolute; bottom:35%; right:35%; width:8%; height:8%; background:linear-gradient(135deg, #f0d8c0 0%, #d0b8a0 100%); border-radius:50%; box-shadow:0 2px 6px rgba(0,0,0,.2); animation: cfs-pillow 2s ease-in-out infinite; }
@keyframes cfs-chaise { 0% { transform:translateY(0) rotate(-1deg); } 50% { transform:translateY(-5px) rotate(1deg); } 100% { transform:translateY(0) rotate(-1deg); } }
@keyframes cfs-swoon { 0% { transform:rotate(5deg); } 25% { transform:rotate(-10deg); } 50% { transform:rotate(5deg); } 75% { transform:rotate(-5deg); } 100% { transform:rotate(5deg); } }
@keyframes cfs-arm { 0% { transform:rotate(-30deg); } 50% { transform:rotate(40deg); } 100% { transform:rotate(-30deg); } }
@keyframes cfs-skirt { 0% { transform:rotate(-10deg) scaleX(1); } 50% { transform:rotate(0deg) scaleX(1.2); } 100% { transform:rotate(-15deg) scaleX(0.9); } }
@keyframes cfs-shad { 0%,100% { transform:translateX(0) scale(1); opacity:.5; } 50% { transform:translateX(5%) scale(1.3); opacity:.7; } }
@keyframes cfs-pillow { 0% { transform:translateY(0) rotate(0deg); } 50% { transform:translateY(-15px) rotate(40deg); } 100% { transform:translateY(0) rotate(0deg); } }

.scn-enobarbus-summoned {
  background: linear-gradient(180deg, #e8dcc8 0%, #c8b090 50%, #a08060 100%),
              radial-gradient(ellipse at 50% 0%, #f0e8d0 0%, transparent 60%);
}
.scn-enobarbus-summoned .wall-bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #b09878 0%, #d0b898 30%, #c8a878 70%, #a88868 100%);
  animation: eno-wall 8s ease-in-out infinite alternate;
}
.scn-enobarbus-summoned .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%);
  border-radius: 20% 20% 0 0 / 10% 10% 0 0;
}
.scn-enobarbus-summoned .doorway {
  position: absolute; bottom: 28%; left: 50%; width: 80px; height: 120px;
  transform: translateX(-50%);
  background: #2a1a0a;
  border-radius: 4% 4% 0 0;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.6);
  animation: eno-door 6s ease-in-out infinite;
}
.scn-enobarbus-summoned .light-spill {
  position: absolute; bottom: 28%; left: 50%; width: 60px; height: 80px;
  transform: translate(-50%, -20px);
  background: radial-gradient(ellipse, #ffe0a0 0%, transparent 70%);
  opacity: 0.55;
  animation: eno-light 3s ease-in-out infinite alternate;
}
.scn-enobarbus-summoned .figure-eno {
  position: absolute; bottom: 26%; left: 30%; width: 18px; height: 40px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: eno-walk 4s ease-in-out infinite;
}
.scn-enobarbus-summoned .torch-a {
  position: absolute; bottom: 28%; left: 36%; width: 6px; height: 12px;
  background: #ffa060;
  border-radius: 50%;
  box-shadow: 0 0 16px 6px #ffa060, 0 0 32px 12px rgba(255,160,96,0.5);
  animation: eno-torch 2s ease-in-out infinite alternate;
}
.scn-enobarbus-summoned .torch-b {
  position: absolute; bottom: 28%; right: 36%; width: 5px; height: 10px;
  background: #ff9040;
  border-radius: 50%;
  box-shadow: 0 0 12px 4px #ff9040, 0 0 24px 8px rgba(255,144,64,0.4);
  animation: eno-torch 2.5s ease-in-out infinite alternate-reverse;
}
.scn-enobarbus-summoned .shadow-pulse {
  position: absolute; bottom: 28%; left: 50%; width: 30px; height: 100px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse, rgba(0,0,0,0.3) 0%, transparent 70%);
  animation: eno-shadow 4s ease-in-out infinite;
}
@keyframes eno-wall {
  0% { opacity: 0.85; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes eno-door {
  0%, 100% { transform: translateX(-50%) scaleX(1); }
  50% { transform: translateX(-50%) scaleX(1.02) scaleY(1.01); }
}
@keyframes eno-light {
  0% { opacity: 0.4; transform: translate(-50%, -20px) scale(1); }
  100% { opacity: 0.7; transform: translate(-50%, -20px) scale(1.1); }
}
@keyframes eno-walk {
  0% { transform: translateX(0) translateY(0) rotate(-1deg); }
  25% { transform: translateX(8px) translateY(-2px) rotate(1deg); }
  50% { transform: translateX(16px) translateY(0) rotate(-1deg); }
  75% { transform: translateX(24px) translateY(-2px) rotate(1deg); }
  100% { transform: translateX(32px) translateY(0) rotate(0); }
}
@keyframes eno-torch {
  0% { opacity: 0.7; transform: scale(1); }
  100% { opacity: 1; transform: scale(1.3); }
}
@keyframes eno-shadow {
  0%, 100% { opacity: 0.5; transform: translateX(-50%) scaleX(1); }
  50% { opacity: 0.8; transform: translateX(-50%) scaleX(1.2); }
}

.scn-caesar-accuses-antony {
  background: linear-gradient(180deg, #f0e8d8 0%, #d0c0a0 40%, #b09878 100%),
              radial-gradient(ellipse at 50% 0%, #fff8e8 0%, transparent 60%);
}
.scn-caesar-accuses-antony .tribunal-bg {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #c8b090 0%, #a88868 100%);
  animation: ca1-bg 12s ease-in-out infinite alternate;
}
.scn-caesar-accuses-antony .tribunal-steps {
  position: absolute; bottom: 20%; left: 20%; right: 20%; height: 10%;
  background: linear-gradient(180deg, #d0b898 0%, #b09878 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.3);
}
.scn-caesar-accuses-antony .chair-left {
  position: absolute; bottom: 22%; left: 32%; width: 28px; height: 40px;
  background: linear-gradient(180deg, #c8a040 0%, #a08030 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: ca1-chair 8s ease-in-out infinite;
}
.scn-caesar-accuses-antony .chair-right {
  position: absolute; bottom: 22%; right: 32%; width: 28px; height: 40px;
  background: linear-gradient(180deg, #c8a040 0%, #a08030 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: ca1-chair 8s ease-in-out infinite reverse;
}
.scn-caesar-accuses-antony .figure-caesar {
  position: absolute; bottom: 24%; left: 34%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #3e2a1a 0%, #1e1008 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: ca1-point 4s ease-in-out infinite;
}
.scn-caesar-accuses-antony .figure-cleopatra {
  position: absolute; bottom: 24%; right: 34%; width: 18px; height: 48px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: ca1-sit 6s ease-in-out infinite;
}
.scn-caesar-accuses-antony .column-left {
  position: absolute; bottom: 20%; left: 8%; width: 12px; height: 70%;
  background: linear-gradient(90deg, #e0d0b8 0%, #c0b098 50%, #a09078 100%);
  border-radius: 10%;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.2);
}
.scn-caesar-accuses-antony .column-right {
  position: absolute; bottom: 20%; right: 8%; width: 12px; height: 70%;
  background: linear-gradient(90deg, #e0d0b8 0%, #c0b098 50%, #a09078 100%);
  border-radius: 10%;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.2);
}
.scn-caesar-accuses-antony .curtain {
  position: absolute; top: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #d8b898 0%, #b89070 100%);
  border-radius: 0 0 40% 40% / 0 0 20% 20%;
  filter: blur(4px);
  animation: ca1-drape 10s ease-in-out infinite alternate;
}
@keyframes ca1-bg {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes ca1-chair {
  0%, 100% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-2px) rotate(1deg); }
}
@keyframes ca1-point {
  0% { transform: translateX(0) rotate(0); }
  30% { transform: translateX(3px) rotate(-5deg); }
  60% { transform: translateX(-2px) rotate(5deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes ca1-sit {
  0%, 100% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-3px) scaleY(1.02); }
}
@keyframes ca1-drape {
  0% { transform: scaleX(1); }
  100% { transform: scaleX(1.05); }
}

.scn-caesar-lepidus-accusations {
  background: linear-gradient(180deg, #e0d0b8 0%, #c0a888 40%, #a08068 100%),
              radial-gradient(ellipse at 50% 0%, #f0e0c8 0%, transparent 50%);
}
.scn-caesar-lepidus-accusations .room-bg {
  position: absolute; inset: 0 0 10% 0;
  background: linear-gradient(180deg, #d8c0a8 0%, #b09878 100%);
  animation: cl1-bg 14s ease-in-out infinite alternate;
}
.scn-caesar-lepidus-accusations .floor-tiles {
  position: absolute; bottom: 0; left: 0; right: 0; height: 10%;
  background: repeating-linear-gradient(90deg, #a08868 0px, #c0a888 20px, #a08868 40px);
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.3);
}
.scn-caesar-lepidus-accusations .table-centre {
  position: absolute; bottom: 10%; left: 50%; width: 40px; height: 20px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #9a7a5a 0%, #7a5a3a 100%);
  border-radius: 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.scn-caesar-lepidus-accusations .figure-caesar2 {
  position: absolute; bottom: 12%; left: 30%; width: 22px; height: 55px;
  background: linear-gradient(180deg, #2e1e0e 0%, #1a0e06 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: cl1-gesture 5s ease-in-out infinite;
}
.scn-caesar-lepidus-accusations .figure-lepidus {
  position: absolute; bottom: 12%; left: 48%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: cl1-bob 6s ease-in-out infinite;
}
.scn-caesar-lepidus-accusations .figure-agrippa {
  position: absolute; bottom: 12%; right: 30%; width: 20px; height: 52px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: cl1-listen 7s ease-in-out infinite;
}
.scn-caesar-lepidus-accusations .scroll-a {
  position: absolute; bottom: 16%; left: 38%; width: 6px; height: 14px;
  background: #e8d8b8;
  border-radius: 20%;
  transform: rotate(-15deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: cl1-scroll 4s ease-in-out infinite alternate;
}
.scn-caesar-lepidus-accusations .scroll-b {
  position: absolute; bottom: 16%; right: 38%; width: 6px; height: 12px;
  background: #e0d0b0;
  border-radius: 20%;
  transform: rotate(10deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: cl1-scroll 4.5s ease-in-out infinite alternate-reverse;
}
@keyframes cl1-bg {
  0%, 100% { opacity: 0.8; }
  50% { opacity: 1; }
}
@keyframes cl1-gesture {
  0% { transform: translateX(0) rotate(0); }
  25% { transform: translateX(4px) rotate(-8deg); }
  50% { transform: translateX(-2px) rotate(4deg); }
  75% { transform: translateX(6px) rotate(-6deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes cl1-bob {
  0%, 100% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-3px) rotate(1deg); }
}
@keyframes cl1-listen {
  0%, 100% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-2px) scaleY(1.02); }
}
@keyframes cl1-scroll {
  0% { opacity: 0.6; transform: rotate(-15deg) scale(1); }
  100% { opacity: 1; transform: rotate(-10deg) scale(1.1); }
}

.scn-caesar-defense-lepidus {
  background: linear-gradient(180deg, #e8d8c0 0%, #c8b098 50%, #a88868 100%),
              radial-gradient(ellipse at 50% 0%, #f0e0c8 0%, transparent 60%);
}
.scn-caesar-defense-lepidus .chamber-bg {
  position: absolute; inset: 0 0 15% 0;
  background: linear-gradient(135deg, #d8c0a8 0%, #b89878 100%);
  animation: cd1-bg 16s ease-in-out infinite alternate;
}
.scn-caesar-defense-lepidus .desk {
  position: absolute; bottom: 15%; left: 35%; width: 60px; height: 18px;
  background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%);
  border-radius: 10%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.4);
}
.scn-caesar-defense-lepidus .figure-speaking {
  position: absolute; bottom: 18%; left: 20%; width: 22px; height: 58px;
  background: linear-gradient(180deg, #2e1e0e 0%, #1a0e06 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: cd1-speak 5s ease-in-out infinite;
}
.scn-caesar-defense-lepidus .figure-listening {
  position: absolute; bottom: 18%; right: 25%; width: 20px; height: 54px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: cd1-listen 7s ease-in-out infinite;
}
.scn-caesar-defense-lepidus .gesture-hand {
  position: absolute; bottom: 30%; left: 25%; width: 10px; height: 6px;
  background: #2e1e0e;
  border-radius: 40%;
  transform-origin: bottom right;
  animation: cd1-hand 4s ease-in-out infinite;
}
.scn-caesar-defense-lepidus .lamp {
  position: absolute; bottom: 18%; left: 50%; width: 8px; height: 16px;
  background: #ffc080;
  border-radius: 50%;
  box-shadow: 0 0 24px 8px #ffc080, 0 0 48px 16px rgba(255,192,128,0.5);
  animation: cd1-lamp 3s ease-in-out infinite alternate;
}
.scn-caesar-defense-lepidus .shadow-arch {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.3) 0%, transparent 70%);
  animation: cd1-arch 8s ease-in-out infinite alternate;
}
@keyframes cd1-bg {
  0% { opacity: 0.85; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes cd1-speak {
  0% { transform: translateX(0) rotate(0); }
  20% { transform: translateX(2px) rotate(-3deg); }
  40% { transform: translateX(-1px) rotate(2deg); }
  60% { transform: translateX(3px) rotate(-4deg); }
  80% { transform: translateX(-2px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes cd1-listen {
  0%, 100% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-2px) scaleY(1.02); }
}
@keyframes cd1-hand {
  0% { transform: translate(0, 0) rotate(0) scale(1); }
  30% { transform: translate(4px, -2px) rotate(-20deg) scale(1.1); }
  60% { transform: translate(-2px, 1px) rotate(10deg) scale(0.9); }
  100% { transform: translate(0, 0) rotate(0) scale(1); }
}
@keyframes cd1-lamp {
  0% { opacity: 0.6; transform: scale(1); box-shadow: 0 0 16px 4px #ffc080; }
  100% { opacity: 1; transform: scale(1.2); box-shadow: 0 0 32px 12px #ffc080; }
}
@keyframes cd1-arch {
  0% { opacity: 0.4; transform: scaleY(1); }
  100% { opacity: 0.7; transform: scaleY(1.1); }
}

/* one block per scene id. Append to style.css. */
.scn-dolabella-arrives { background: linear-gradient(180deg, #1a1620 0%, #2a1a1a 40%, #3a2220 100%), radial-gradient(ellipse at 30% 60%, #4a2820 0%, transparent 70%); }
.scn-dolabella-arrives .wall-bg { position:absolute; inset:0; background: linear-gradient(135deg, #2a1e20 0%, #1a1214 100%); animation: da-wall-pulse 10s ease-in-out infinite alternate; }
.scn-dolabella-arrives .doorway { position:absolute; bottom:20%; left:50%; width:120px; height:180px; transform:translateX(-50%); background: #2a1e1a; border-radius:50% 50% 0 0 / 60% 60% 0 0; border:4px solid #3a2a20; box-shadow: inset 0 0 30px rgba(0,0,0,0.7); }
.scn-dolabella-arrives .door-shadow { position:absolute; bottom:20%; left:50%; width:140px; height:200px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 100%, #0a0608 0%, transparent 80%); opacity:0.6; animation: da-shadow-drift 6s ease-in-out infinite alternate; }
.scn-dolabella-arrives .figure-entering { position:absolute; bottom:22%; left:45%; width:40px; height:100px; background: linear-gradient(180deg, #1a1012 0%, #0e080a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: da-enter-walk 5s ease-in-out infinite; }
.scn-dolabella-arrives .candle-glow { position:absolute; bottom:38%; left:35%; width:12px; height:18px; background: radial-gradient(circle, #ffb060 0%, #d08030 50%, transparent 70%); border-radius:50% 50% 20% 20%; box-shadow: 0 0 40px 20px rgba(255,176,96,0.5), 0 0 80px 40px rgba(200,100,40,0.3); animation: da-candle-flicker 1.5s ease-in-out infinite alternate; }
.scn-dolabella-arrives .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #1a1412 0%, #0e0a08 100%); box-shadow: inset 0 10px 20px rgba(0,0,0,0.5); }
@keyframes da-wall-pulse { 0% { opacity:0.9; transform: scale(1); } 50% { opacity:0.7; transform: scale(1.01); } 100% { opacity:0.85; transform: scale(1); } }
@keyframes da-shadow-drift { 0% { transform: translateX(-50%) skewX(2deg); opacity:0.5; } 50% { transform: translateX(-48%) skewX(-1deg); opacity:0.7; } 100% { transform: translateX(-52%) skewX(1deg); opacity:0.6; } }
@keyframes da-enter-walk { 0% { transform: translateX(-20px) translateY(0) rotate(-2deg); } 25% { transform: translateX(-10px) translateY(-2px) rotate(1deg); } 50% { transform: translateX(0) translateY(0) rotate(0); } 75% { transform: translateX(10px) translateY(-2px) rotate(-1deg); } 100% { transform: translateX(20px) translateY(0) rotate(2deg); } }
@keyframes da-candle-flicker { 0% { transform: scaleY(1) rotate(-2deg); opacity:0.8; box-shadow: 0 0 30px 15px rgba(255,176,96,0.4), 0 0 60px 30px rgba(200,100,40,0.2); } 30% { transform: scaleY(1.15) rotate(1deg); opacity:1; box-shadow: 0 0 50px 25px rgba(255,200,100,0.6), 0 0 100px 50px rgba(220,120,50,0.4); } 70% { transform: scaleY(0.9) rotate(-1deg); opacity:0.7; box-shadow: 0 0 25px 10px rgba(255,160,80,0.3), 0 0 50px 20px rgba(200,80,30,0.1); } 100% { transform: scaleY(1.05) rotate(2deg); opacity:0.9; box-shadow: 0 0 35px 18px rgba(255,176,96,0.5), 0 0 70px 35px rgba(200,100,40,0.3); } }

.scn-cleopatra-dreams-antony { background: linear-gradient(180deg, #3a1a2a 0%, #5a2a3a 30%, #7a3a4a 60%, #4a202a 100%), radial-gradient(ellipse at 50% 40%, #8a3a4a 0%, transparent 70%); }
.scn-cleopatra-dreams-antony .tent-wall { position:absolute; inset:0; background: linear-gradient(135deg, #4a2030 0%, #301820 100%); animation: cda-wall-shimmer 15s ease-in-out infinite alternate; }
.scn-cleopatra-dreams-antony .couch { position:absolute; bottom:15%; left:30%; width:140px; height:60px; background: linear-gradient(180deg, #6a3040 0%, #4a1a2a 100%); border-radius:40% 40% 20% 20% / 60% 60% 30% 30%; box-shadow: 0 8px 20px rgba(0,0,0,0.5); transform: rotate(-5deg); }
.scn-cleopatra-dreams-antony .cleopatra-figure { position:absolute; bottom:18%; left:38%; width:50px; height:80px; background: linear-gradient(180deg, #8a4a5a 0%, #5a2a3a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cda-breathing 6s ease-in-out infinite; }
.scn-cleopatra-dreams-antony .antony-apparition { position:absolute; top:25%; left:55%; width:35px; height:90px; background: linear-gradient(180deg, rgba(200,160,180,0.5) 0%, rgba(150,100,120,0.2) 100%); border-radius:40% 40% 30% 30% / 50% 50% 35% 35%; filter: blur(3px); opacity:0.4; animation: cda-apparition-shimmer 8s ease-in-out infinite alternate; }
.scn-cleopatra-dreams-antony .dream-glow { position:absolute; top:30%; left:50%; width:100px; height:100px; background: radial-gradient(circle, rgba(255,180,200,0.4) 0%, rgba(200,100,130,0.1) 60%, transparent 100%); border-radius:50%; animation: cda-glow-pulse 4s ease-in-out infinite alternate; }
.scn-cleopatra-dreams-antony .pillow { position:absolute; bottom:20%; left:33%; width:40px; height:20px; background: linear-gradient(180deg, #7a4050 0%, #5a2a3a 100%); border-radius:50%; box-shadow: inset 0 -4px 8px rgba(0,0,0,0.3); }
@keyframes cda-wall-shimmer { 0% { opacity:0.8; transform: scale(1); } 50% { opacity:0.6; transform: scale(0.98); } 100% { opacity:0.9; transform: scale(1.02); } }
@keyframes cda-breathing { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-3px) scaleY(1.03); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes cda-apparition-shimmer { 0% { opacity:0.2; transform: translateX(0) scale(1); } 50% { opacity:0.5; transform: translateX(5px) scale(1.05); } 100% { opacity:0.3; transform: translateX(-3px) scale(0.95); } }
@keyframes cda-glow-pulse { 0% { transform: scale(0.8); opacity:0.3; } 50% { transform: scale(1.2); opacity:0.6; } 100% { transform: scale(1); opacity:0.4; } }

.scn-dolabella-consoles-cleopatra { background: linear-gradient(180deg, #1a181a 0%, #2a1e1a 40%, #3a2220 100%), radial-gradient(ellipse at 70% 50%, #4a2820 0%, transparent 70%); }
.scn-dolabella-consoles-cleopatra .room-dark { position:absolute; inset:0; background: linear-gradient(135deg, #1a1416 0%, #0e0a0c 100%); animation: dcc-room-pulse 12s ease-in-out infinite alternate; }
.scn-dolabella-consoles-cleopatra .table { position:absolute; bottom:15%; left:40%; width:100px; height:50px; background: linear-gradient(180deg, #4a302a 0%, #2a1a18 100%); border-radius:10% 10% 5% 5%; box-shadow: 0 6px 12px rgba(0,0,0,0.6); }
.scn-dolabella-consoles-cleopatra .lamp { position:absolute; bottom:25%; left:42%; width:10px; height:20px; background: radial-gradient(circle, #ffc080 0%, #a06030 60%, transparent 100%); border-radius:30% 30% 10% 10%; box-shadow: 0 0 30px 10px rgba(255,192,128,0.5), 0 0 60px 20px rgba(200,120,60,0.3); animation: dcc-lamp-flicker 2s ease-in-out infinite alternate; }
.scn-dolabella-consoles-cleopatra .dolabella-standing { position:absolute; bottom:22%; left:55%; width:30px; height:90px; background: linear-gradient(180deg, #1a1012 0%, #0a0608 100%); border-radius:45% 45% 35% 35% / 55% 55% 35% 35%; transform-origin: bottom center; animation: dcc-stand-turn 7s ease-in-out infinite; }
.scn-dolabella-consoles-cleopatra .cleopatra-seated { position:absolute; bottom:20%; left:35%; width:40px; height:70px; background: linear-gradient(180deg, #4a2a32 0%, #2a181e 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dcc-seat-sway 5s ease-in-out infinite; }
.scn-dolabella-consoles-cleopatra .scroll { position:absolute; bottom:25%; left:44%; width:30px; height:6px; background: linear-gradient(90deg, #c8a070 0%, #a08050 50%, #c8a070 100%); border-radius:20%; transform: rotate(-20deg); animation: dcc-scroll-tremble 3s ease-in-out infinite; }
@keyframes dcc-room-pulse { 0% { opacity:0.9; transform: scale(1); } 50% { opacity:0.7; transform: scale(0.99); } 100% { opacity:0.85; transform: scale(1.01); } }
@keyframes dcc-lamp-flicker { 0% { transform: scaleY(1) rotate(-1deg); opacity:0.8; box-shadow: 0 0 20px 8px rgba(255,192,128,0.4); } 30% { transform: scaleY(1.2) rotate(2deg); opacity:1; box-shadow: 0 0 40px 15px rgba(255,200,140,0.6); } 70% { transform: scaleY(0.9) rotate(-2deg); opacity:0.7; box-shadow: 0 0 15px 5px rgba(200,140,80,0.3); } 100% { transform: scaleY(1.1) rotate(1deg); opacity:0.9; box-shadow: 0 0 25px 10px rgba(255,192,128,0.5); } }
@keyframes dcc-stand-turn { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(3px) rotate(2deg); } 50% { transform: translateX(5px) rotate(-1deg); } 75% { transform: translateX(2px) rotate(3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes dcc-seat-sway { 0% { transform: rotate(0deg); } 25% { transform: rotate(-3deg); } 50% { transform: rotate(2deg); } 75% { transform: rotate(-1deg); } 100% { transform: rotate(0deg); } }
@keyframes dcc-scroll-tremble { 0% { transform: rotate(-20deg) translateX(0); } 25% { transform: rotate(-18deg) translateX(1px); } 50% { transform: rotate(-22deg) translateX(-1px); } 75% { transform: rotate(-19deg) translateX(1px); } 100% { transform: rotate(-20deg) translateX(0); } }

.scn-caesar-arrival-preparation { background: linear-gradient(180deg, #1a1618 0%, #2a1a1a 50%, #1a0e10 100%), radial-gradient(ellipse at 50% 30%, #3a2020 0%, transparent 70%); }
.scn-caesar-arrival-preparation .chamber-wall { position:absolute; inset:0; background: linear-gradient(135deg, #1a1416 0%, #0e0a0c 100%); animation: cap-wall-throb 8s ease-in-out infinite alternate; }
.scn-caesar-arrival-preparation .curtain { position:absolute; top:0; right:10%; width:80px; height:100%; background: linear-gradient(180deg, #5a2a2a 0%, #3a1a1a 100%); border-radius:0 0 20% 20% / 0 0 30% 30%; transform-origin: top right; animation: cap-curtain-sway 6s ease-in-out infinite; }
.scn-caesar-arrival-preparation .soldier-profile { position:absolute; bottom:20%; left:30%; width:30px; height:100px; background: linear-gradient(180deg, #1a1214 0%, #0a0608 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cap-soldier-stand 4s ease-in-out infinite; }
.scn-caesar-arrival-preparation .torch-flame { position:absolute; bottom:35%; left:20%; width:10px; height:25px; background: radial-gradient(circle, #ffc070 0%, #d08030 50%, transparent 70%); border-radius:40% 40% 20% 20%; box-shadow: 0 0 30px 10px rgba(255,192,112,0.5), 0 0 60px 20px rgba(200,100,40,0.3); animation: cap-torch-flicker 1.2s ease-in-out infinite alternate; }
.scn-caesar-arrival-preparation .armor-stand { position:absolute; bottom:20%; left:60%; width:40px; height:90px; background: linear-gradient(180deg, #3a2a2a 0%, #1a1214 100%); border-radius:30% 30% 20% 20% / 40% 40% 30% 30%; box-shadow: inset 0 0 10px rgba(0,0,0,0.5); transform: rotate(5deg); animation: cap-stand-shift 10s ease-in-out infinite alternate; }
.scn-caesar-arrival-preparation .floor-tile { position:absolute; bottom:0; left:0; right:0; height:20%; background: repeating-conic-gradient(#1a1416 0% 25%, #0e0a0c 0% 50%) 0 0 / 40px 40px; opacity:0.3; animation: cap-tile-scroll 20s linear infinite; }
@keyframes cap-wall-throb { 0% { opacity:0.9; } 50% { opacity:0.6; } 100% { opacity:0.8; } }
@keyframes cap-curtain-sway { 0% { transform: rotate(0deg); } 25% { transform: rotate(-3deg); } 50% { transform: rotate(2deg); } 75% { transform: rotate(-1deg); } 100% { transform: rotate(0deg); } }
@keyframes cap-soldier-stand { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(1deg); } 50% { transform: translateY(0) rotate(-1deg); } 75% { transform: translateY(-1px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes cap-torch-flicker { 0% { transform: scaleY(1) rotate(-3deg); opacity:0.8; box-shadow: 0 0 20px 8px rgba(255,192,112,0.4); } 20% { transform: scaleY(1.3) rotate(2deg); opacity:1; box-shadow: 0 0 40px 15px rgba(255,200,120,0.6); } 50% { transform: scaleY(0.9) rotate(-1deg); opacity:0.7; box-shadow: 0 0 15px 5px rgba(200,140,80,0.3); } 80% { transform: scaleY(1.1) rotate(1deg); opacity:0.9; box-shadow: 0 0 25px 10px rgba(255,192,112,0.5); } 100% { transform: scaleY(1) rotate(-2deg); opacity:0.8; box-shadow: 0 0 20px 8px rgba(255,192,112,0.4); } }
@keyframes cap-stand-shift { 0% { transform: rotate(5deg) translateX(0); } 50% { transform: rotate(3deg) translateX(-2px); } 100% { transform: rotate(6deg) translateX(1px); } }
@keyframes cap-tile-scroll { 0% { background-position: 0 0; } 100% { background-position: 40px 40px; } }

.scn-caesar-chides-egypt {
  background: 
    linear-gradient(180deg, #d4b48a 0%, #c4a078 40%, #a08060 100%),
    radial-gradient(ellipse at 50% 0%, #ffe0b0 0%, transparent 60%);
  box-shadow: inset 0 0 80px rgba(0,0,0,0.3);
  position: relative;
  overflow: hidden;
  height: 100%;
}
.scn-caesar-chides-egypt .room-bg {
  position: absolute;
  inset: 0 0 20% 0;
  background: linear-gradient(180deg, #e8d4b8 0%, #c4a078 80%);
  border-bottom: 4px solid #8a6a4a;
}
.scn-caesar-chides-egypt .floor {
  position: absolute;
  bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #8a6a4a 0%, #6a5030 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.5);
}
.scn-caesar-chides-egypt .col-left {
  position: absolute;
  top: 5%; left: 8%;
  width: 6%; height: 65%;
  background: linear-gradient(90deg, #b89a7a 0%, #d4b48a 50%, #b89a7a 100%);
  border-radius: 4px;
  box-shadow: 4px 0 12px rgba(0,0,0,0.2);
}
.scn-caesar-chides-egypt .col-right {
  position: absolute;
  top: 5%; right: 8%;
  width: 6%; height: 65%;
  background: linear-gradient(90deg, #b89a7a 0%, #d4b48a 50%, #b89a7a 100%);
  border-radius: 4px;
  box-shadow: -4px 0 12px rgba(0,0,0,0.2);
}
.scn-caesar-chides-egypt .window {
  position: absolute;
  top: 10%; left: 35%;
  width: 30%; height: 40%;
  background: radial-gradient(ellipse at 50% 30%, #ffe8c0 0%, #c4a078 100%);
  border: 6px solid #8a6a4a;
  border-radius: 4px;
  box-shadow: inset 0 0 30px #ffe8c0, 0 0 60px rgba(255,232,192,0.5);
  animation: ce1-window 6s ease-in-out infinite alternate;
}
@keyframes ce1-window {
  0% { opacity: 0.9; box-shadow: inset 0 0 30px #ffe8c0, 0 0 60px rgba(255,232,192,0.5); }
  50% { opacity: 1; box-shadow: inset 0 0 40px #fff0d0, 0 0 80px rgba(255,240,208,0.7); }
  100% { opacity: 0.85; box-shadow: inset 0 0 25px #d4b48a, 0 0 50px rgba(212,180,138,0.4); }
}
.scn-caesar-chides-egypt .seat {
  position: absolute;
  bottom: 18%; left: 30%;
  width: 12%; height: 16%;
  background: linear-gradient(180deg, #6a5030 0%, #4a3820 100%);
  border-radius: 6px 6px 2px 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: ce1-seat 8s ease-in-out infinite;
}
@keyframes ce1-seat {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
.scn-caesar-chides-egypt .figure-sit {
  position: absolute;
  bottom: 18%; left: 32%;
  width: 8%; height: 24%;
  background: linear-gradient(180deg, #3a2a18 0%, #1a1008 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: ce1-sit 4s ease-in-out infinite;
}
@keyframes ce1-sit {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(-1deg); }
  50% { transform: rotate(0deg); }
  75% { transform: rotate(1deg); }
  100% { transform: rotate(0deg); }
}
.scn-caesar-chides-egypt .figure-stand {
  position: absolute;
  bottom: 18%; right: 32%;
  width: 7%; height: 35%;
  background: linear-gradient(180deg, #2a1a0e 0%, #0a0804 100%);
  border-radius: 30% 30% 20% 20% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: ce1-stand 3.5s ease-in-out infinite alternate;
}
@keyframes ce1-stand {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-2px) rotate(1deg); }
  100% { transform: translateX(2px) rotate(-1deg); }
}
.scn-caesar-chides-egypt .table {
  position: absolute;
  bottom: 15%; left: 45%;
  width: 10%; height: 6%;
  background: linear-gradient(180deg, #8a6a4a 0%, #5a4028 100%);
  border-radius: 4px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.3);
}

/* scene 2: antony-defends-egypt */
.scn-antony-defends-egypt {
  background: 
    linear-gradient(180deg, #c8a878 0%, #a8885a 50%, #806840 100%),
    radial-gradient(ellipse at 40% 20%, #ffe0b0 0%, transparent 70%);
  position: relative;
  overflow: hidden;
  height: 100%;
}
.scn-antony-defends-egypt .room-bg {
  position: absolute;
  inset: 0 0 15% 0;
  background: linear-gradient(180deg, #d8c0a0 0%, #b89868 80%);
  border-bottom: 4px solid #705840;
}
.scn-antony-defends-egypt .floor {
  position: absolute;
  bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #705840 0%, #504028 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.4);
}
.scn-antony-defends-egypt .arch {
  position: absolute;
  top: 0; left: 20%; right: 20%; height: 60%;
  background: radial-gradient(ellipse at 50% 0%, transparent 50%, #a8885a 52%, #a8885a 55%, transparent 57%);
  border: none;
  box-shadow: inset 0 20px 30px rgba(0,0,0,0.2);
}
.scn-antony-defends-egypt .plinth {
  position: absolute;
  bottom: 10%; left: 25%;
  width: 50%; height: 10%;
  background: linear-gradient(180deg, #8a6a4a 0%, #604830 100%);
  border-radius: 4px;
}
.scn-antony-defends-egypt .light-shaft {
  position: absolute;
  top: 5%; left: 35%;
  width: 30%; height: 85%;
  background: linear-gradient(180deg, rgba(255,224,176,0.3) 0%, transparent 80%);
  filter: blur(20px);
  animation: a2-light 8s ease-in-out infinite;
}
@keyframes a2-light {
  0% { opacity: 0.6; transform: scaleX(1); }
  50% { opacity: 0.9; transform: scaleX(1.05); }
  100% { opacity: 0.7; transform: scaleX(0.95); }
}
.scn-antony-defends-egypt .figure-lean {
  position: absolute;
  bottom: 8%; left: 28%;
  width: 8%; height: 40%;
  background: linear-gradient(180deg, #2a1a0e 0%, #0a0804 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: a2-lean 5s ease-in-out infinite alternate;
}
@keyframes a2-lean {
  0% { transform: rotate(-2deg) translateX(0); }
  50% { transform: rotate(2deg) translateX(3px); }
  100% { transform: rotate(-1deg) translateX(-2px); }
}
.scn-antony-defends-egypt .figure-stand {
  position: absolute;
  bottom: 8%; right: 28%;
  width: 8%; height: 50%;
  background: linear-gradient(180deg, #3a2a18 0%, #1a1008 100%);
  border-radius: 35% 35% 25% 25% / 55% 55% 30% 30%;
  transform-origin: bottom center;
  animation: a2-stand 4s ease-in-out infinite;
}
@keyframes a2-stand {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(-2px) rotate(-1deg); }
  50% { transform: translateX(0) rotate(0deg); }
  75% { transform: translateX(2px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
.scn-antony-defends-egypt .table {
  position: absolute;
  bottom: 5%; left: 42%;
  width: 16%; height: 4%;
  background: linear-gradient(180deg, #8a6a4a 0%, #604830 100%);
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
}
.scn-antony-defends-egypt .scroll {
  position: absolute;
  bottom: 7%; left: 46%;
  width: 6%; height: 12%;
  background: linear-gradient(180deg, #e0c8a0 0%, #c0a880 100%);
  border-radius: 40% 40% 10% 10% / 30% 30% 20% 20%;
  transform: rotate(-10deg);
  animation: a2-scroll 7s ease-in-out infinite;
}
@keyframes a2-scroll {
  0%,100% { transform: rotate(-10deg) translateY(0); }
  50% { transform: rotate(-8deg) translateY(-2px); }
}

/* scene 3: antony-denies-brother */
.scn-antony-denies-brother {
  background:
    linear-gradient(180deg, #b89868 0%, #987850 40%, #786040 100%),
    radial-gradient(ellipse at 50% 20%, #ffe0b0 0%, transparent 60%);
  position: relative;
  overflow: hidden;
  height: 100%;
}
.scn-antony-denies-brother .room-bg {
  position: absolute;
  inset: 0 0 18% 0;
  background: linear-gradient(180deg, #c8a878 0%, #987850 80%);
  border-bottom: 3px solid #685030;
}
.scn-antony-denies-brother .floor {
  position: absolute;
  bottom: 0; left: 0; right: 0; height: 18%;
  background: linear-gradient(180deg, #685030 0%, #483018 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.5);
}
.scn-antony-denies-brother .column-left {
  position: absolute;
  top: 0; left: 5%;
  width: 5%; height: 70%;
  background: linear-gradient(90deg, #8a6a4a 0%, #b89868 50%, #8a6a4a 100%);
  border-radius: 4px;
  box-shadow: 4px 0 10px rgba(0,0,0,0.3);
}
.scn-antony-denies-brother .column-right {
  position: absolute;
  top: 0; right: 5%;
  width: 5%; height: 70%;
  background: linear-gradient(90deg, #8a6a4a 0%, #b89868 50%, #8a6a4a 100%);
  border-radius: 4px;
  box-shadow: -4px 0 10px rgba(0,0,0,0.3);
}
.scn-antony-denies-brother .window-bright {
  position: absolute;
  top: 8%; left: 30%;
  width: 40%; height: 35%;
  background: radial-gradient(ellipse at 50% 30%, #fff0d0 0%, #d4b48a 100%);
  border: 4px solid #685030;
  border-radius: 4px;
  box-shadow: inset 0 0 30px #ffe0b0, 0 0 50px rgba(255,224,176,0.4);
  animation: ad3-window 6s ease-in-out infinite alternate;
}
@keyframes ad3-window {
  0% { opacity: 0.85; box-shadow: inset 0 0 20px #ffe0b0, 0 0 40px rgba(255,224,176,0.3); }
  50% { opacity: 1; box-shadow: inset 0 0 40px #fff0d0, 0 0 70px rgba(255,240,208,0.6); }
  100% { opacity: 0.9; box-shadow: inset 0 0 25px #ffe0b0, 0 0 50px rgba(255,224,176,0.4); }
}
.scn-antony-denies-brother .figure-sit {
  position: absolute;
  bottom: 16%; left: 30%;
  width: 9%; height: 28%;
  background: linear-gradient(180deg, #2a1a0e 0%, #0a0804 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: ad3-sit 4s ease-in-out infinite;
}
@keyframes ad3-sit {
  0% { transform: rotate(0deg); }
  30% { transform: rotate(2deg); }
  60% { transform: rotate(-1deg); }
  100% { transform: rotate(0deg); }
}
.scn-antony-denies-brother .figure-rise {
  position: absolute;
  bottom: 16%; left: 48%;
  width: 8%; height: 42%;
  background: linear-gradient(180deg, #3a2a18 0%, #1a1008 100%);
  border-radius: 30% 30% 20% 20% / 55% 55% 30% 30%;
  transform-origin: bottom center;
  animation: ad3-rise 5s ease-in-out infinite alternate;
}
@keyframes ad3-rise {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-4px) rotate(-2deg); }
  100% { transform: translateY(2px) rotate(2deg); }
}
.scn-antony-denies-brother .table {
  position: absolute;
  bottom: 13%; left: 40%;
  width: 12%; height: 5%;
  background: linear-gradient(180deg, #8a6a4a 0%, #604830 100%);
  border-radius: 4px;
  box-shadow: 0 3px 6px rgba(0,0,0,0.3);
}
.scn-antony-denies-brother .hand-gesture {
  position: absolute;
  bottom: 38%; left: 46%;
  width: 4%; height: 8%;
  background: #2a1a0e;
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  transform-origin: bottom center;
  animation: ad3-hand 2.5s ease-in-out infinite;
}
@keyframes ad3-hand {
  0% { transform: rotate(-20deg) translateY(0); }
  25% { transform: rotate(-10deg) translateY(-3px); }
  50% { transform: rotate(0deg) translateY(0); }
  75% { transform: rotate(-15deg) translateY(-2px); }
  100% { transform: rotate(-20deg) translateY(0); }
}

/* scene 4: caesar-mocks-excuses */
.scn-caesar-mocks-excuses {
  background:
    linear-gradient(180deg, #c8a878 0%, #a8885a 50%, #806840 100%),
    radial-gradient(ellipse at 60% 30%, #ffe0b0 0%, transparent 60%);
  position: relative;
  overflow: hidden;
  height: 100%;
}
.scn-caesar-mocks-excuses .room-bg {
  position: absolute;
  inset: 0 0 12% 0;
  background: linear-gradient(180deg, #d8c0a0 0%, #b89868 80%);
  border-bottom: 5px solid #705840;
}
.scn-caesar-mocks-excuses .floor {
  position: absolute;
  bottom: 0; left: 0; right: 0; height: 12%;
  background: linear-gradient(180deg, #705840 0%, #503828 100%);
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.4);
}
.scn-caesar-mocks-excuses .arch-left {
  position: absolute;
  top: 0; left: 0; width: 30%; height: 75%;
  background: radial-gradient(ellipse at 100% 0%, transparent 50%, #987850 52%, #987850 55%, transparent 57%, transparent 100%);
  background-size: 100% 100%;
  background-position: 0 0;
  background-repeat: no-repeat;
}
.scn-caesar-mocks-excuses .arch-right {
  position: absolute;
  top: 0; right: 0; width: 30%; height: 75%;
  background: radial-gradient(ellipse at 0% 0%, transparent 50%, #987850 52%, #987850 55%, transparent 57%, transparent 100%);
  background-size: 100% 100%;
  background-position: 0 0;
  background-repeat: no-repeat;
}
.scn-caesar-mocks-excuses .light {
  position: absolute;
  top: 5%; left: 38%;
  width: 24%; height: 80%;
  background: linear-gradient(180deg, rgba(255,224,176,0.4) 0%, transparent 80%);
  filter: blur(15px);
  animation: cm4-light 10s ease-in-out infinite;
}
@keyframes cm4-light {
  0% { opacity: 0.5; transform: scaleY(1); }
  50% { opacity: 0.8; transform: scaleY(1.1); }
  100% { opacity: 0.6; transform: scaleY(0.9); }
}
.scn-caesar-mocks-excuses .figure-sit-throne {
  position: absolute;
  bottom: 10%; left: 25%;
  width: 10%; height: 30%;
  background: linear-gradient(180deg, #3a2a18 0%, #1a1008 100%);
  border-radius: 35% 35% 25% 25% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: cm4-throne 6s ease-in-out infinite;
}
@keyframes cm4-throne {
  0% { transform: rotate(0deg); }
  20% { transform: rotate(-1deg); }
  40% { transform: rotate(1deg); }
  60% { transform: rotate(0deg); }
  80% { transform: rotate(-2deg); }
  100% { transform: rotate(0deg); }
}
.scn-caesar-mocks-excuses .figure-bow {
  position: absolute;
  bottom: 10%; right: 25%;
  width: 8%; height: 36%;
  background: linear-gradient(180deg, #2a1a0e 0%, #0a0804 100%);
  border-radius: 30% 30% 20% 20% / 55% 55% 30% 30%;
  transform-origin: bottom center;
  animation: cm4-bow 4s ease-in-out infinite alternate;
}
@keyframes cm4-bow {
  0% { transform: rotate(15deg) translateY(0); }
  50% { transform: rotate(5deg) translateY(-5px); }
  100% { transform: rotate(10deg) translateY(-2px); }
}
.scn-caesar-mocks-excuses .table {
  position: absolute;
  bottom: 7%; left: 42%;
  width: 16%; height: 5%;
  background: linear-gradient(180deg, #8a6a4a 0%, #604830 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
.scn-caesar-mocks-excuses .cup {
  position: absolute;
  bottom: 10%; left: 48%;
  width: 4%; height: 7%;
  background: linear-gradient(180deg, #c8a878 0%, #a8885a 100%);
  border-radius: 30% 30% 10% 10% / 40% 40% 10% 10%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: cm4-cup 3s ease-in-out infinite;
}
@keyframes cm4-cup {
  0% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(3deg) translateY(-2px); }
  100% { transform: rotate(0deg) translateY(0); }
}

/* caesar-enters: grand entrance hall, dim torchlight, figures entering */
.scn-caesar-enters { background: linear-gradient(180deg, #2a1a1a 0%, #1a0f0f 30%, #0d0808 100%), radial-gradient(ellipse at 50% 30%, #3a2a1a 0%, transparent 70%); }
.scn-caesar-enters .wall-back { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #3a2a22 0%, #1a1210 100%); box-shadow: inset 0 0 60px rgba(0,0,0,.6); animation: ce-wall 12s ease-in-out infinite alternate; }
.scn-caesar-enters .pillar-l { position:absolute; bottom:10%; left:12%; width:18px; height:60%; background: linear-gradient(90deg, #4a3a32 0%, #6a5a4a 30%, #3a2a22 100%); border-radius:4px; box-shadow: 0 0 20px rgba(0,0,0,.5); transform-origin: bottom center; animation: ce-pillar 9s ease-in-out infinite; }
.scn-caesar-enters .pillar-r { position:absolute; bottom:10%; right:12%; width:18px; height:60%; background: linear-gradient(90deg, #4a3a32 0%, #6a5a4a 30%, #3a2a22 100%); border-radius:4px; box-shadow: 0 0 20px rgba(0,0,0,.5); transform-origin: bottom center; animation: ce-pillar 9s ease-in-out infinite -2s; }
.scn-caesar-enters .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #3a2a22 0%, #1a1210 50%, #0d0808 100%); box-shadow: inset 0 20px 40px rgba(0,0,0,.7); animation: ce-floor 15s ease-in-out infinite alternate; }
.scn-caesar-enters .figure-entourage { position:absolute; bottom:15%; left:28%; width:14px; height:32px; background: linear-gradient(180deg, #2a1a1a 0%, #0d0808 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: ce-walk-a 4s ease-in-out infinite; }
.scn-caesar-enters .figure-caesar { position:absolute; bottom:15%; left:40%; width:16px; height:36px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a12 100%); border-radius:45% 45% 35% 35% / 55% 55% 35% 35%; box-shadow: 0 0 12px rgba(180,140,80,.2); transform-origin: bottom center; animation: ce-enter 6s ease-in-out infinite; }
.scn-caesar-enters .torch-l { position:absolute; bottom:40%; left:22%; width:4px; height:10px; background: linear-gradient(180deg, #c08040 0%, #3a2a1a 100%); border-radius:2px; transform-origin: bottom center; animation: ce-torch 3s ease-in-out infinite; }
.scn-caesar-enters .torch-r { position:absolute; bottom:40%; right:22%; width:4px; height:10px; background: linear-gradient(180deg, #c08040 0%, #3a2a1a 100%); border-radius:2px; transform-origin: bottom center; animation: ce-torch 3s ease-in-out infinite -1s; }
.scn-caesar-enters .shadow-drift { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 40%, transparent 30%, rgba(0,0,0,.5) 100%); animation: ce-shadow 20s ease-in-out infinite alternate; }
@keyframes ce-wall   { 0%,100% { opacity:.95 } 50% { opacity:.85 } }
@keyframes ce-pillar { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.005) } }
@keyframes ce-floor  { 0%,100% { opacity:.9 } 50% { opacity:.8 } }
@keyframes ce-walk-a { 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(0) } }
@keyframes ce-enter  { 0%,100% { transform: translateX(0) scale(1) } 50% { transform: translateX(2px) scale(1.01) } }
@keyframes ce-torch  { 0%,100% { transform: rotate(-2deg) scaleY(1) } 25% { transform: rotate(2deg) scaleY(1.05) } 50% { transform: rotate(-1deg) scaleY(.98) } 75% { transform: rotate(3deg) scaleY(1.03) } }
@keyframes ce-shadow { 0%,100% { opacity:.6 } 50% { opacity:.8 } }

/* caesar-confrontation: two figures facing, candlelit niche, curtain frame */
.scn-caesar-confrontation { background: linear-gradient(180deg, #1a1210 0%, #2a1a1a 40%, #0d0808 100%), radial-gradient(ellipse at 50% 50%, #3a2218 0%, transparent 80%); }
.scn-caesar-confrontation .wall-niche { position:absolute; bottom:15%; left:20%; right:20%; top:20%; background: linear-gradient(180deg, #2a1a12 0%, #1a0f0a 100%); border-radius:12% 12% 8% 8%; box-shadow: inset 0 0 80px rgba(0,0,0,.8), 0 0 40px rgba(0,0,0,.5); }
.scn-caesar-confrontation .floor-tile { position:absolute; bottom:0; left:15%; right:15%; height:15%; background: linear-gradient(180deg, #3a2a22 0%, #1a1210 100%); border-radius:20% 20% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.6); }
.scn-caesar-confrontation .figure-cleopatra { position:absolute; bottom:12%; left:35%; width:14px; height:30px; background: linear-gradient(180deg, #4a3a3a 0%, #1a1010 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cf-cleopatra 7s ease-in-out infinite; }
.scn-caesar-confrontation .figure-caesar-facing { position:absolute; bottom:12%; right:35%; width:15px; height:34px; background: linear-gradient(180deg, #3a2a22 0%, #1a0f0a 100%); border-radius:45% 45% 35% 35% / 55% 55% 35% 35%; transform-origin: bottom center; animation: cf-caesar 8s ease-in-out infinite; }
.scn-caesar-confrontation .candle-stand { position:absolute; bottom:18%; left:50%; width:2px; height:16px; transform:translateX(-50%); background: linear-gradient(180deg, #8a7a6a 0%, #4a3a2a 100%); border-radius:1px; }
.scn-caesar-confrontation .candle-flame { position:absolute; bottom:34%; left:50%; width:5px; height:8px; transform:translateX(-50%); background: radial-gradient(circle, #ffd080 0%, #e0a040 50%, #c08020 100%); border-radius:50% 50% 50% 50% / 60% 60% 40% 40%; box-shadow: 0 0 20px 6px rgba(224,160,64,.6), 0 0 40px 12px rgba(224,160,64,.3); animation: cf-flame 2s ease-in-out infinite alternate; }
.scn-caesar-confrontation .curtain-l { position:absolute; top:5%; left:8%; width:12%; height:90%; background: linear-gradient(180deg, #5a1a1a 0%, #3a0a0a 100%); border-radius:6% 40% 40% 6%; box-shadow: inset -4px 0 12px rgba(0,0,0,.6); transform-origin: left center; animation: cf-curtain-l 14s ease-in-out infinite alternate; }
.scn-caesar-confrontation .curtain-r { position:absolute; top:5%; right:8%; width:12%; height:90%; background: linear-gradient(180deg, #5a1a1a 0%, #3a0a0a 100%); border-radius:40% 6% 6% 40%; box-shadow: inset 4px 0 12px rgba(0,0,0,.6); transform-origin: right center; animation: cf-curtain-r 14s ease-in-out infinite alternate -4s; }
@keyframes cf-cleopatra  { 0%,100% { transform: translateX(0) rotate(0) } 25% { transform: translateX(1px) rotate(-1deg) } 50% { transform: translateX(0) rotate(0) } 75% { transform: translateX(-1px) rotate(1deg) } }
@keyframes cf-caesar     { 0%,100% { transform: translateX(0) rotate(0) } 25% { transform: translateX(-1px) rotate(1deg) } 50% { transform: translateX(0) rotate(0) } 75% { transform: translateX(1px) rotate(-1deg) } }
@keyframes cf-flame      { 0% { transform: translateX(-50%) scale(1) rotate(-2deg); box-shadow: 0 0 16px 4px rgba(224,160,64,.5) } 50% { transform: translateX(-50%) scale(1.12) rotate(3deg); box-shadow: 0 0 28px 8px rgba(255,192,80,.7) } 100% { transform: translateX(-50%) scale(.95) rotate(-1deg); box-shadow: 0 0 12px 3px rgba(224,160,64,.4) } }
@keyframes cf-curtain-l  { 0%,100% { transform: scaleX(1) } 50% { transform: scaleX(1.04) } }
@keyframes cf-curtain-r  { 0%,100% { transform: scaleX(1) } 50% { transform: scaleX(1.04) } }

/* caesar-offers-truce: hand extended, scroll on table, lamplight */
.scn-caesar-offers-truce { background: linear-gradient(180deg, #1a1815 0%, #2a2218 30%, #0d0a08 100%), radial-gradient(ellipse at 50% 60%, #3a2a18 0%, transparent 80%); }
.scn-caesar-offers-truce .wall-panel { position:absolute; bottom:8%; left:10%; right:10%; top:12%; background: linear-gradient(180deg, #2a221a 0%, #1a1410 100%); border-radius:10px; box-shadow: inset 0 0 60px rgba(0,0,0,.7), 0 0 30px rgba(0,0,0,.4); }
.scn-caesar-offers-truce .floor-inlay { position:absolute; bottom:0; left:5%; right:5%; height:8%; background: linear-gradient(180deg, #3a2a22 0%, #1a1210 100%); border-radius:30% 30% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.5); }
.scn-caesar-offers-truce .figure-caesar-hand { position:absolute; bottom:18%; left:20%; width:18px; height:38px; background: linear-gradient(180deg, #3a2a22 0%, #1a0f0a 100%); border-radius:45% 45% 35% 35% / 55% 55% 35% 35%; transform-origin: bottom center; animation: ct-caesar 6s ease-in-out infinite; }
.scn-caesar-offers-truce .figure-caesar-hand::after { content:''; position:absolute; top:12%; left:65%; width:12px; height:8px; background: linear-gradient(180deg, #3a2a22 0%, #2a1a12 100%); border-radius:40% 50% 30% 30% / 50% 60% 30% 30%; transform: rotate(-20deg); transform-origin: left center; animation: ct-hand 4s ease-in-out infinite; }
.scn-caesar-offers-truce .figure-cleopatra-stand { position:absolute; bottom:18%; right:25%; width:14px; height:32px; background: linear-gradient(180deg, #4a3a3a 0%, #1a1010 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ct-cleopatra 7s ease-in-out infinite; }
.scn-caesar-offers-truce .scroll-table { position:absolute; bottom:14%; left:42%; width:30px; height:4px; background: linear-gradient(180deg, #6a5a4a 0%, #3a2a22 100%); border-radius:2px; box-shadow: 0 2px 6px rgba(0,0,0,.4); }
.scn-caesar-offers-truce .scroll-paper { position:absolute; bottom:14.5%; left:43%; width:18px; height:3px; background: linear-gradient(90deg, #d0c0a0 0%, #b0a080 50%, #d0c0a0 100%); border-radius:1px; transform-origin: center; animation: ct-scroll 10s ease-in-out infinite; }
.scn-caesar-offers-truce .lamp-glow { position:absolute; top:25%; right:28%; width:20px; height:20px; background: radial-gradient(circle, #ffd080 0%, #d0a050 30%, transparent 70%); border-radius:50%; box-shadow: 0 0 40px 12px rgba(208,160,80,.5), 0 0 80px 24px rgba(208,160,80,.2); animation: ct-lamp-glow 5s ease-in-out infinite alternate; }
.scn-caesar-offers-truce .lamp-base { position:absolute; top:29%; right:31%; width:6px; height:12px; background: linear-gradient(180deg, #8a7a6a 0%, #4a3a2a 100%); border-radius:30% 30% 10% 10%; box-shadow: 0 0 10px rgba(0,0,0,.5); }
@keyframes ct-caesar    { 0%,100% { transform: translateX(0) } 50% { transform: translateX(1px) } }
@keyframes ct-hand      { 0%,100% { transform: rotate(-20deg) } 25% { transform: rotate(-16deg) } 50% { transform: rotate(-22deg) } 75% { transform: rotate(-18deg) } }
@keyframes ct-cleopatra { 0%,100% { transform: translateX(0) rotate(0) } 50% { transform: translateX(-1px) rotate(-1deg) } }
@keyframes ct-scroll    { 0%,100% { transform: scaleX(1) } 50% { transform: scaleX(1.02) } }
@keyframes ct-lamp-glow { 0% { transform: scale(.95); opacity:.8 } 50% { transform: scale(1.1); opacity:1 } 100% { transform: scale(1); opacity:.9 } }

/* cleopatra-submission: kneeling figure before standing figure, brazier, archway */
.scn-cleopatra-submission { background: linear-gradient(180deg, #1a1210 0%, #2a1a18 30%, #0d0808 100%), radial-gradient(ellipse at 50% 50%, #3a1a18 0%, transparent 70%); }
.scn-cleopatra-submission .wall-arch { position:absolute; bottom:5%; left:5%; right:5%; top:5%; background: linear-gradient(180deg, #2a1a12 0%, #1a0f0a 100%); border-radius:50% 50% 8% 8% / 30% 30% 8% 8%; box-shadow: inset 0 0 80px rgba(0,0,0,.8); }
.scn-cleopatra-submission .step-1 { position:absolute; bottom:0; left:20%; right:20%; height:6%; background: linear-gradient(180deg, #3a2a22 0%, #2a1a12 100%); border-radius:20% 20% 0 0; box-shadow: inset 0 4px 10px rgba(0,0,0,.5); }
.scn-cleopatra-submission .step-2 { position:absolute; bottom:6%; left:25%; right:25%; height:5%; background: linear-gradient(180deg, #4a3a32 0%, #3a2a22 100%); border-radius:20% 20% 0 0; box-shadow: inset 0 4px 10px rgba(0,0,0,.4); }
.scn-cleopatra-submission .step-3 { position:absolute; bottom:11%; left:30%; right:30%; height:4%; background: linear-gradient(180deg, #5a4a3a 0%, #4a3a2a 100%); border-radius:20% 20% 0 0; box-shadow: inset 0 4px 10px rgba(0,0,0,.3); }
.scn-cleopatra-submission .figure-kneeling { position:absolute; bottom:16%; left:38%; width:14px; height:22px; background: linear-gradient(180deg, #4a3a3a 0%, #1a1010 100%); border-radius:45% 45% 35% 35% / 55% 55% 35% 35%; transform-origin: bottom center; animation: cs-kneel 6s ease-in-out infinite; }
.scn-cleopatra-submission .figure-kneeling::before { content:''; position:absolute; bottom:-4px; left:2px; width:10px; height:4px; background: linear-gradient(180deg, #4a3a3a 0%, #1a1010 100%); border-radius:0 0 30% 30%; }
.scn-cleopatra-submission .figure-standing { position:absolute; bottom:18%; right:30%; width:16px; height:36px; background: linear-gradient(180deg, #3a2a22 0%, #1a0f0a 100%); border-radius:45% 45% 35% 35% / 55% 55% 35% 35%; transform-origin: bottom center; animation: cs-stand 10s ease-in-out infinite; }
.scn-cleopatra-submission .brazier { position:absolute; bottom:20%; left:48%; width:12px; height:16px; background: linear-gradient(180deg, #6a4a3a 0%, #3a2218 100%); border-radius:30% 30% 10% 10%; box-shadow: 0 0 10px rgba(0,0,0,.4); }
.scn-cleopatra-submission .brazier-fire { position:absolute; bottom:36%; left:48%; width:10px; height:12px; transform:translateX(-50%); background: radial-gradient(circle, #ff8040 0%, #e04020 40%, #c02010 70%, transparent 100%); border-radius:50% 50% 50% 50% / 60% 60% 40% 40%; box-shadow: 0 0 30px 8px rgba(224,64,32,.5), 0 0 60px 16px rgba(224,64,32,.2); animation: cs-fire 3s ease-in-out infinite alternate; }
.scn-cleopatra-submission .smoke-wisp { position:absolute; bottom:48%; left:48%; width:8px; height:20px; transform:translateX(-50%); background: radial-gradient(circle, rgba(160,140,120,.3) 0%, transparent 100%); border-radius:50%; filter: blur(4px); animation: cs-smoke 8s ease-in-out infinite; }
@keyframes cs-kneel  { 0%,100% { transform: translateY(0) rotate(0) } 25% { transform: translateY(-1px) rotate(-1deg) } 50% { transform: translateY(0) rotate(0) } 75% { transform: translateY(-1px) rotate(1deg) } }
@keyframes cs-stand  { 0%,100% { transform: translateY(0) scale(1) } 50% { transform: translateY(-1px) scale(1.005) } }
@keyframes cs-fire   { 0% { transform: translateX(-50%) scale(1) rotate(-2deg); opacity:.9 } 30% { transform: translateX(-50%) scale(1.15) rotate(4deg); opacity:1 } 60% { transform: translateX(-50%) scale(.9) rotate(-3deg); opacity:.85 } 100% { transform: translateX(-50%) scale(1.05) rotate(1deg); opacity:.95 } }
@keyframes cs-smoke  { 0% { transform: translateX(-50%) translateY(0) scale(1); opacity:.3 } 50% { transform: translateX(-50%) translateY(-10px) scale(1.5); opacity:.1 } 100% { transform: translateX(-50%) translateY(-20px) scale(2); opacity:0 } }

.scn-cleopatra-rage-continued {
  background: 
    linear-gradient(180deg, #f5e6d0 0%, #d4bfa8 40%, #b39a80 100%),
    radial-gradient(ellipse at 70% 40%, #fff8e7 0%, transparent 60%);
}
.scn-cleopatra-rage-continued .bg-wall {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #d4c4a8 0%, #b8a68c 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.2);
}
.scn-cleopatra-rage-continued .window {
  position: absolute; top: 10%; right: 15%;
  width: 60px; height: 90px;
  background: linear-gradient(180deg, #fffbe6 0%, #ffeaa0 100%);
  border: 4px solid #8a7a60;
  border-radius: 4px;
  box-shadow: 0 0 30px #ffe080;
  animation: crc-window 6s ease-in-out infinite alternate;
}
.scn-cleopatra-rage-continued .light-ray {
  position: absolute; top: 12%; right: 17%;
  width: 200px; height: 300px;
  background: linear-gradient(135deg, rgba(255,235,170,0.4) 0%, transparent 100%);
  transform-origin: top left;
  clip-path: polygon(0 0, 100% 0, 60% 100%, 0% 100%);
  animation: crc-light 4s ease-in-out infinite alternate;
}
.scn-cleopatra-rage-continued .queen {
  position: absolute; bottom: 20%; left: 25%;
  width: 50px; height: 140px;
  background: linear-gradient(180deg, #5e4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: -10px 0 20px rgba(0,0,0,0.4);
  animation: crc-queen 2s ease-in-out infinite;
}
.scn-cleopatra-rage-continued .arm-strike {
  position: absolute; bottom: 38%; left: 32%;
  width: 30px; height: 60px;
  background: linear-gradient(180deg, #a08060 0%, #806040 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  transform-origin: 80% 20%;
  animation: crc-strike 0.8s ease-in-out infinite alternate;
}
.scn-cleopatra-rage-continued .slave-cower {
  position: absolute; bottom: 10%; right: 30%;
  width: 40px; height: 80px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: crc-cower 2s ease-in-out infinite;
}
@keyframes crc-window {
  0% { opacity: 0.8; box-shadow: 0 0 20px #ffe080; }
  50% { opacity: 1; box-shadow: 0 0 40px #ffe080, 0 0 80px #ffd060; }
  100% { opacity: 0.9; box-shadow: 0 0 30px #ffe080; }
}
@keyframes crc-light {
  0%, 100% { transform: rotate(-5deg) scaleX(1); }
  50% { transform: rotate(5deg) scaleX(1.1); }
}
@keyframes crc-queen {
  0% { transform: translateX(0) rotate(1deg); }
  25% { transform: translateX(-3px) rotate(-2deg); }
  50% { transform: translateX(0) rotate(2deg); }
  75% { transform: translateX(3px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes crc-strike {
  0% { transform: rotate(30deg) translateY(0); }
  100% { transform: rotate(-10deg) translateY(-5px); }
}
@keyframes crc-cower {
  0% { transform: scaleY(1) translateX(0); }
  50% { transform: scaleY(0.9) translateX(-5px); }
  100% { transform: scaleY(1) translateX(0); }
}

.scn-cleopatra-messenger-defiance {
  background: 
    linear-gradient(180deg, #f0e4d0 0%, #d4bfa0 50%, #b8a080 100%),
    radial-gradient(ellipse at 30% 70%, #fff2d0 0%, transparent 50%);
}
.scn-cleopatra-messenger-defiance .bg-wall {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #c8b898 0%, #ae9e7e 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.15);
}
.scn-cleopatra-messenger-defiance .window {
  position: absolute; top: 8%; left: 5%;
  width: 55px; height: 80px;
  background: linear-gradient(180deg, #fffbe6 0%, #ffeaa0 100%);
  border: 4px solid #7a6a50;
  border-radius: 3px;
  box-shadow: 0 0 25px #ffe080;
}
.scn-cleopatra-messenger-defiance .pillar.left {
  position: absolute; top: 0; left: 20%;
  width: 20px; height: 100%;
  background: linear-gradient(90deg, #a08870 0%, #c0a888 50%, #a08870 100%);
  box-shadow: inset -2px 0 10px rgba(0,0,0,0.1);
}
.scn-cleopatra-messenger-defiance .pillar.right {
  position: absolute; top: 0; right: 20%;
  width: 20px; height: 100%;
  background: linear-gradient(90deg, #a08870 0%, #c0a888 50%, #a08870 100%);
  box-shadow: inset 2px 0 10px rgba(0,0,0,0.1);
}
.scn-cleopatra-messenger-defiance .queen-throne {
  position: absolute; bottom: 25%; left: 35%;
  width: 70px; height: 120px;
  background: linear-gradient(180deg, #6a5038 0%, #4a3020 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 10% 10%;
  box-shadow: 10px 0 20px rgba(0,0,0,0.3);
  animation: cmd-queen 5s ease-in-out infinite;
}
.scn-cleopatra-messenger-defiance .messenger {
  position: absolute; bottom: 20%; right: 30%;
  width: 35px; height: 90px;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cmd-messenger 3s ease-in-out infinite;
}
.scn-cleopatra-messenger-defiance .light-shaft {
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
  background: linear-gradient(135deg, rgba(255,235,170,0.15) 0%, transparent 50%);
  pointer-events: none;
  animation: cmd-shaft 12s ease-in-out infinite alternate;
}
@keyframes cmd-queen {
  0% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-3px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes cmd-messenger {
  0% { transform: scaleY(1) translateX(0); }
  25% { transform: scaleY(0.95) translateX(-4px); }
  50% { transform: scaleY(1.05) translateX(4px); }
  75% { transform: scaleY(0.98) translateX(-2px); }
  100% { transform: scaleY(1) translateX(0); }
}
@keyframes cmd-shaft {
  0% { opacity: 0.6; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}

.scn-cleopatra-messenger-enraged {
  background: 
    linear-gradient(180deg, #f2e4c8 0%, #d2b898 40%, #b09878 100%),
    radial-gradient(ellipse at 60% 50%, #fff2d0 0%, transparent 60%);
}
.scn-cleopatra-messenger-enraged .bg-wall {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #c8b490 0%, #ad9979 100%);
  box-shadow: inset 0 0 50px rgba(0,0,0,0.2);
}
.scn-cleopatra-messenger-enraged .window {
  position: absolute; top: 12%; right: 10%;
  width: 50px; height: 70px;
  background: linear-gradient(180deg, #fffbe6 0%, #ffeaa0 100%);
  border: 3px solid #7a6a50;
  border-radius: 3px;
  box-shadow: 0 0 25px #ffe080;
  animation: cme-window 4s ease-in-out infinite alternate;
}
.scn-cleopatra-messenger-enraged .queen-stand {
  position: absolute; bottom: 25%; left: 30%;
  width: 55px; height: 150px;
  background: linear-gradient(180deg, #5e4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: -15px 0 25px rgba(0,0,0,0.4);
  animation: cme-queen 2s ease-in-out infinite;
}
.scn-cleopatra-messenger-enraged .messenger-kneel {
  position: absolute; bottom: 10%; right: 25%;
  width: 40px; height: 60px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 20% 20%;
  transform-origin: bottom center;
  animation: cme-kneel 1.5s ease-in-out infinite alternate;
}
.scn-cleopatra-messenger-enraged .arm-point {
  position: absolute; bottom: 45%; left: 38%;
  width: 50px; height: 15px;
  background: linear-gradient(180deg, #a08060 0%, #806040 100%);
  border-radius: 50% 50% 10% 10% / 60% 60% 10% 10%;
  transform-origin: 0% 50%;
  animation: cme-point 1.2s ease-in-out infinite alternate;
}
.scn-cleopatra-messenger-enraged .shadow-bolt {
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
  background: radial-gradient(ellipse at 40% 60%, rgba(0,0,0,0.3) 0%, transparent 50%);
  pointer-events: none;
  animation: cme-shadow 3s ease-in-out infinite alternate;
}
@keyframes cme-window {
  0% { opacity: 0.9; box-shadow: 0 0 20px #ffe080; }
  50% { opacity: 1; box-shadow: 0 0 35px #ffe080, 0 0 70px #ffd060; }
  100% { opacity: 0.8; box-shadow: 0 0 25px #ffe080; }
}
@keyframes cme-queen {
  0% { transform: translateX(0) rotate(0); }
  25% { transform: translateX(-5px) rotate(-2deg); }
  50% { transform: translateX(5px) rotate(2deg); }
  75% { transform: translateX(-2px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes cme-kneel {
  0% { transform: scaleY(1) translateX(0); }
  100% { transform: scaleY(0.85) translateX(-8px); }
}
@keyframes cme-point {
  0% { transform: rotate(-20deg); }
  100% { transform: rotate(30deg); }
}
@keyframes cme-shadow {
  0% { opacity: 0.6; }
  50% { opacity: 1; }
  100% { opacity: 0.5; }
}

.scn-cleopatra-curiosity-about-octavia {
  background: 
    linear-gradient(180deg, #f8ead8 0%, #e8d4b8 40%, #d4bfa0 100%),
    radial-gradient(ellipse at 50% 30%, #fff8e0 0%, transparent 50%);
}
.scn-cleopatra-curiosity-about-octavia .bg-wall {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #d8c0a8 0%, #c0a88c 100%);
  box-shadow: inset 0 0 30px rgba(0,0,0,0.1);
}
.scn-cleopatra-curiosity-about-octavia .window.soft {
  position: absolute; top: 8%; left: 50%;
  transform: translateX(-50%);
  width: 70px; height: 100px;
  background: linear-gradient(180deg, #fffbe6 0%, #ffeaa0 100%);
  border: 4px solid #8a7a60;
  border-radius: 5px;
  box-shadow: 0 0 40px #ffe080, 0 0 80px #ffd060;
  animation: cco-window 7s ease-in-out infinite alternate;
}
.scn-cleopatra-curiosity-about-octavia .couch {
  position: absolute; bottom: 20%; left: 30%;
  width: 140px; height: 40px;
  background: linear-gradient(180deg, #9a8068 0%, #7a6048 100%);
  border-radius: 30% 30% 10% 10% / 50% 50% 10% 10%;
  box-shadow: 0 8px 15px rgba(0,0,0,0.3);
  animation: cco-couch 8s ease-in-out infinite alternate;
}
.scn-cleopatra-curiosity-about-octavia .queen-recline {
  position: absolute; bottom: 25%; left: 35%;
  width: 60px; height: 100px;
  background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform: rotate(-5deg);
  transform-origin: bottom center;
  box-shadow: -5px 0 15px rgba(0,0,0,0.3);
  animation: cco-queen 6s ease-in-out infinite alternate;
}
.scn-cleopatra-curiosity-about-octavia .charmian {
  position: absolute; bottom: 20%; left: 20%;
  width: 30px; height: 80px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: scaleX(0.8);
  animation: cco-charmian 9s ease-in-out infinite;
}
.scn-cleopatra-curiosity-about-octavia .iras {
  position: absolute; bottom: 20%; right: 25%;
  width: 28px; height: 75px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: scaleX(0.7);
  animation: cco-iras 7s ease-in-out infinite reverse;
}
.scn-cleopatra-curiosity-about-octavia .pillar-light {
  position: absolute; top: 0; left: 50%;
  width: 16px; height: 100%;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #a08870 0%, #c0a888 50%, #a08870 100%);
  box-shadow: inset 0 0 20px rgba(0,0,0,0.1);
  animation: cco-pillar 10s ease-in-out infinite alternate;
}
@keyframes cco-window {
  0% { opacity: 0.8; box-shadow: 0 0 30px #ffe080, 0 0 60px #ffd060; }
  50% { opacity: 1; box-shadow: 0 0 50px #ffe080, 0 0 100px #ffd060; }
  100% { opacity: 0.9; box-shadow: 0 0 40px #ffe080, 0 0 80px #ffd060; }
}
@keyframes cco-couch {
  0% { transform: translateY(0); }
  100% { transform: translateY(-3px); }
}
@keyframes cco-queen {
  0% { transform: rotate(-7deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-2px); }
  100% { transform: rotate(-7deg) translateY(0); }
}
@keyframes cco-charmian {
  0% { transform: scaleX(0.8) translateX(0); }
  50% { transform: scaleX(0.8) translateX(3px); }
  100% { transform: scaleX(0.8) translateX(0); }
}
@keyframes cco-iras {
  0% { transform: scaleX(0.7) translateX(0); }
  50% { transform: scaleX(0.7) translateX(-3px); }
  100% { transform: scaleX(0.7) translateX(0); }
}
@keyframes cco-pillar {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}

.scn-cleopatra-mourns {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2030 40%, #3a2835 70%, #2e1e2a 100%);
}
.scn-cleopatra-mourns .bg-wall {
  position: absolute; inset: 0; background: radial-gradient(ellipse at 30% 20%, #4a3a4a 0%, transparent 60%) no-repeat;
  animation: cm-wall 14s ease-in-out infinite alternate;
}
.scn-cleopatra-mourns .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #2e222a 0%, #1a121a 100%);
  border-radius: 30% 30% 0 0 / 10% 10% 0 0;
}
.scn-cleopatra-mourns .window-arch {
  position: absolute; top: 8%; left: 25%; width: 30%; height: 50%;
  background: radial-gradient(ellipse at 50% 60%, #2a3040 0%, #1a1a2e 100%);
  border-radius: 50% 50% 0 0 / 60% 60% 0 0;
  box-shadow: inset 0 0 30px rgba(0,0,0,.8);
  animation: cm-window 8s ease-in-out infinite;
}
.scn-cleopatra-mourns .curtain-left {
  position: absolute; top: 5%; left: 10%; width: 12%; height: 70%;
  background: linear-gradient(90deg, #4a2a2e 0%, #3a1a1e 60%, transparent 100%);
  border-radius: 0 30% 30% 0 / 0 50% 50% 0;
  animation: cm-curtain-l 6s ease-in-out infinite alternate;
}
.scn-cleopatra-mourns .curtain-right {
  position: absolute; top: 5%; right: 10%; width: 12%; height: 70%;
  background: linear-gradient(270deg, #4a2a2e 0%, #3a1a1e 60%, transparent 100%);
  border-radius: 30% 0 0 30% / 50% 0 0 50%;
  animation: cm-curtain-r 6s ease-in-out infinite alternate 0.5s;
}
.scn-cleopatra-mourns .figure-queen {
  position: absolute; bottom: 20%; left: 40%; width: 12%; height: 40%;
  background: linear-gradient(180deg, #2a1a2a 0%, #0e0a1a 100%);
  border-radius: 50% 50% 45% 45% / 70% 70% 40% 40%;
  transform-origin: bottom center;
  animation: cm-queen 5s ease-in-out infinite;
}
.scn-cleopatra-mourns .figure-maid {
  position: absolute; bottom: 22%; left: 55%; width: 8%; height: 30%;
  background: linear-gradient(180deg, #3a2a3a 0%, #1a121a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: cm-maid 7s ease-in-out infinite alternate;
}
.scn-cleopatra-mourns .lamp-glow {
  position: absolute; bottom: 35%; left: 60%; width: 10px; height: 10px;
  background: radial-gradient(circle, #d4a060 0%, #b08040 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px #b08040, 0 0 60px 20px rgba(176,128,64,.3);
  animation: cm-lamp 4s ease-in-out infinite alternate;
}
@keyframes cm-wall { 0% { opacity: .6 } 50% { opacity: .9 } 100% { opacity: .7 } }
@keyframes cm-window { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.03) } }
@keyframes cm-curtain-l { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(4px) rotate(2deg) } 100% { transform: translateX(0) rotate(-1deg) } }
@keyframes cm-curtain-r { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(-4px) rotate(-2deg) } 100% { transform: translateX(0) rotate(1deg) } }
@keyframes cm-queen { 0%,100% { transform: translateX(0) translateY(0) rotate(-2deg) } 25% { transform: translateX(2px) translateY(-2px) rotate(0deg) } 50% { transform: translateX(0) translateY(-3px) rotate(1deg) } 75% { transform: translateX(-2px) translateY(-1px) rotate(-1deg) } }
@keyframes cm-maid { 0% { transform: translateX(0) translateY(0) rotate(1deg) } 50% { transform: translateX(-3px) translateY(-2px) rotate(-2deg) } 100% { transform: translateX(2px) translateY(1px) rotate(1deg) } }
@keyframes cm-lamp { 0% { box-shadow: 0 0 20px 6px #b08040, 0 0 40px 12px rgba(176,128,64,.2); opacity: .7 } 50% { box-shadow: 0 0 40px 12px #d4a060, 0 0 80px 24px rgba(212,160,96,.5); opacity: 1 } 100% { box-shadow: 0 0 25px 8px #b08040, 0 0 50px 15px rgba(176,128,64,.3); opacity: .8 } }

.scn-antony-brought-to-cleopatra {
  background: linear-gradient(180deg, #0e0e1e 0%, #1e1828 30%, #2a2030 60%, #1a1020 100%);
}
.scn-antony-brought-to-cleopatra .bg-chamber {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 70%, #2a2a40 0%, transparent 70%);
  animation: ab-chamber 12s ease-in-out infinite alternate;
}
.scn-antony-brought-to-cleopatra .doorway {
  position: absolute; bottom: 20%; left: 20%; width: 40%; height: 60%;
  background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 100%);
  border-radius: 10% 10% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 0 40px rgba(0,0,0,.9);
}
.scn-antony-brought-to-cleopatra .litter {
  position: absolute; bottom: 18%; left: 25%; width: 30%; height: 8%;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 10%;
  animation: ab-litter 6s ease-in-out infinite;
}
.scn-antony-brought-to-cleopatra .guard-left {
  position: absolute; bottom: 15%; left: 20%; width: 8%; height: 35%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 45% 45% / 70% 70% 40% 40%;
  animation: ab-guard-l 5s ease-in-out infinite alternate;
}
.scn-antony-brought-to-cleopatra .guard-right {
  position: absolute; bottom: 15%; right: 20%; width: 8%; height: 35%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 45% 45% / 70% 70% 40% 40%;
  animation: ab-guard-r 5s ease-in-out infinite alternate 0.3s;
}
.scn-antony-brought-to-cleopatra .figure-cleopatra {
  position: absolute; bottom: 30%; left: 55%; width: 10%; height: 38%;
  background: linear-gradient(180deg, #3a2a3a 0%, #1a121a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform-origin: bottom center;
  animation: ab-cleopatra 8s ease-in-out infinite;
}
.scn-antony-brought-to-cleopatra .torch-flame {
  position: absolute; bottom: 45%; left: 65%; width: 8px; height: 12px;
  background: radial-gradient(circle, #ffd680 0%, #d4a060 50%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 20px 8px #d4a060, 0 0 40px 16px rgba(212,160,96,.3);
  animation: ab-torch 2s ease-in-out infinite alternate;
}
.scn-antony-brought-to-cleopatra .shadow-pool {
  position: absolute; bottom: 0; left: 10%; width: 80%; height: 20%;
  background: radial-gradient(ellipse at 50% 100%, #0a0a1a 0%, transparent 70%);
  animation: ab-shadow 10s ease-in-out infinite alternate;
}
@keyframes ab-chamber { 0% { opacity: .5 } 50% { opacity: .8 } 100% { opacity: .6 } }
@keyframes ab-litter { 0%,100% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-2px) rotate(1deg) } 50% { transform: translateY(-3px) rotate(0deg) } 75% { transform: translateY(-1px) rotate(-1deg) } }
@keyframes ab-guard-l { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 50% { transform: translateX(3px) translateY(-2px) rotate(2deg) } 100% { transform: translateX(0) translateY(0) rotate(-1deg) } }
@keyframes ab-guard-r { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 50% { transform: translateX(-3px) translateY(-2px) rotate(-2deg) } 100% { transform: translateX(0) translateY(0) rotate(1deg) } }
@keyframes ab-cleopatra { 0%,100% { transform: translateX(0) translateY(0) rotate(-3deg) scaleY(1) } 33% { transform: translateX(4px) translateY(-2px) rotate(2deg) scaleY(1.02) } 66% { transform: translateX(-2px) translateY(-1px) rotate(-1deg) scaleY(0.98) } }
@keyframes ab-torch { 0% { transform: scale(1) rotate(-5deg) } 50% { transform: scale(1.15) rotate(5deg) } 100% { transform: scale(0.95) rotate(-3deg) } }
@keyframes ab-shadow { 0% { opacity: .3 } 50% { opacity: .6 } 100% { opacity: .4 } }

.scn-antony-dying-words {
  background: linear-gradient(180deg, #1a1220 0%, #2a1a2e 40%, #3a2030 70%, #2a1520 100%);
}
.scn-antony-dying-words .bg-bedroom {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 60%, #3a2a3a 0%, transparent 70%);
  animation: adw-bg 15s ease-in-out infinite alternate;
}
.scn-antony-dying-words .bed-frame {
  position: absolute; bottom: 10%; left: 15%; width: 70%; height: 20%;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 20% 20% 5% 5% / 40% 40% 5% 5%;
  box-shadow: 0 -4px 20px rgba(0,0,0,.6);
}
.scn-antony-dying-words .figure-antony {
  position: absolute; bottom: 18%; left: 30%; width: 12%; height: 25%;
  background: linear-gradient(180deg, #2a1a2a 0%, #0e0a1a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform-origin: bottom center;
  animation: adw-antony 7s ease-in-out infinite;
}
.scn-antony-dying-words .figure-cleopatra {
  position: absolute; bottom: 18%; left: 50%; width: 10%; height: 30%;
  background: linear-gradient(180deg, #3a2a3a 0%, #1a121a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform-origin: bottom center;
  animation: adw-cleopatra 6s ease-in-out infinite alternate;
}
.scn-antony-dying-words .lamp-close {
  position: absolute; bottom: 35%; left: 60%; width: 12px; height: 12px;
  background: radial-gradient(circle, #f0c060 0%, #b08040 50%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px #b08040, 0 0 60px 20px rgba(176,128,64,.3);
  animation: adw-lamp 3s ease-in-out infinite alternate;
}
.scn-antony-dying-words .pillow {
  position: absolute; bottom: 20%; left: 25%; width: 15%; height: 10%;
  background: linear-gradient(180deg, #5a4a4a 0%, #3a2a2a 100%);
  border-radius: 30%;
  animation: adw-pillow 9s ease-in-out infinite;
}
.scn-antony-dying-words .sheet {
  position: absolute; bottom: 14%; left: 20%; width: 60%; height: 6%;
  background: linear-gradient(90deg, transparent 0%, #4a3a3a 20%, #3a2a2a 80%, transparent 100%);
  border-radius: 20%;
  animation: adw-sheet 5s ease-in-out infinite alternate;
}
@keyframes adw-bg { 0% { opacity: .5 } 50% { opacity: .8 } 100% { opacity: .6 } }
@keyframes adw-antony { 0%,100% { transform: translateX(0) translateY(0) rotate(-2deg) scaleY(1) } 50% { transform: translateX(2px) translateY(-2px) rotate(1deg) scaleY(1.02) } }
@keyframes adw-cleopatra { 0% { transform: translateX(0) translateY(0) rotate(3deg) } 50% { transform: translateX(-3px) translateY(-3px) rotate(-1deg) } 100% { transform: translateX(2px) translateY(-1px) rotate(2deg) } }
@keyframes adw-lamp { 0% { box-shadow: 0 0 20px 6px #b08040, 0 0 40px 12px rgba(176,128,64,.2); opacity: .8 } 50% { box-shadow: 0 0 40px 12px #f0c060, 0 0 80px 24px rgba(240,192,96,.5); opacity: 1 } 100% { box-shadow: 0 0 25px 8px #b08040, 0 0 50px 15px rgba(176,128,64,.3); opacity: .9 } }
@keyframes adw-pillow { 0%,100% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-2px) scaleY(1.05) } }
@keyframes adw-sheet { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(2px) rotate(1deg) } 100% { transform: translateX(-2px) rotate(-1deg) } }

.scn-cleopatra-refuses-to-descend {
  background: linear-gradient(180deg, #0e0e1e 0%, #1a1a2e 40%, #2a2030 70%, #1e1220 100%);
}
.scn-cleopatra-refuses-to-descend .bg-monument {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 30% 50%, #2a2a40 0%, transparent 70%);
  animation: crd-bg 12s ease-in-out infinite alternate;
}
.scn-cleopatra-refuses-to-descend .wall-line {
  position: absolute; top: 0; bottom: 0; left: 30%; width: 4px;
  background: linear-gradient(180deg, transparent 0%, #3a3a5a 30%, #1a1a3a 70%, transparent 100%);
  animation: crd-wall 8s ease-in-out infinite;
}
.scn-cleopatra-refuses-to-descend .window-above {
  position: absolute; top: 10%; left: 25%; width: 20%; height: 25%;
  background: radial-gradient(ellipse at 50% 60%, #3a3a5a 0%, #1a1a2e 100%);
  border-radius: 50% 50% 0 0 / 60% 60% 0 0;
  box-shadow: inset 0 0 30px rgba(0,0,0,.8);
  animation: crd-window 6s ease-in-out infinite alternate;
}
.scn-cleopatra-refuses-to-descend .rope {
  position: absolute; top: 20%; left: 35%; width: 4px; height: 60%;
  background: linear-gradient(180deg, #5a4a4a 0%, #3a2a2a 100%);
  border-radius: 2px;
  transform-origin: top center;
  animation: crd-rope 4s ease-in-out infinite;
}
.scn-cleopatra-refuses-to-descend .figure-cleopatra-above {
  position: absolute; top: 12%; left: 28%; width: 14%; height: 25%;
  background: linear-gradient(180deg, #3a2a3a 0%, #1a121a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform-origin: bottom center;
  animation: crd-cleopatra-above 7s ease-in-out infinite;
}
.scn-cleopatra-refuses-to-descend .figure-antony-below {
  position: absolute; bottom: 25%; left: 32%; width: 12%; height: 28%;
  background: linear-gradient(180deg, #2a1a2a 0%, #0e0a1a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform-origin: top center;
  animation: crd-antony-below 6s ease-in-out infinite alternate;
}
.scn-cleopatra-refuses-to-descend .guard-below {
  position: absolute; bottom: 20%; left: 45%; width: 8%; height: 30%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 45% 45% / 70% 70% 40% 40%;
  animation: crd-guard 5s ease-in-out infinite alternate 0.5s;
}
.scn-cleopatra-refuses-to-descend .lamp-hanging {
  position: absolute; top: 35%; left: 30%; width: 8px; height: 8px;
  background: radial-gradient(circle, #d4a060 0%, #b08040 50%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 20px 8px #b08040, 0 0 40px 16px rgba(176,128,64,.3);
  animation: crd-lamp 3s ease-in-out infinite alternate;
}
@keyframes crd-bg { 0% { opacity: .4 } 50% { opacity: .7 } 100% { opacity: .5 } }
@keyframes crd-wall { 0%,100% { opacity: .5 } 50% { opacity: .8 } }
@keyframes crd-window { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.04) } 100% { transform: scaleY(0.98) } }
@keyframes crd-rope { 0%,100% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(2px) rotate(2deg) } 50% { transform: translateX(0) rotate(0deg) } 75% { transform: translateX(-2px) rotate(-2deg) } }
@keyframes crd-cleopatra-above { 0%,100% { transform: translateX(0) translateY(0) rotate(-3deg) } 33% { transform: translateX(4px) translateY(-2px) rotate(2deg) } 66% { transform: translateX(-2px) translateY(-1px) rotate(-1deg) } }
@keyframes crd-antony-below { 0% { transform: translateX(0) translateY(0) rotate(2deg) scaleY(1) } 50% { transform: translateX(-3px) translateY(3px) rotate(-2deg) scaleY(1.03) } 100% { transform: translateX(2px) translateY(1px) rotate(1deg) scaleY(0.97) } }
@keyframes crd-guard { 0% { transform: translateX(0) translateY(0) rotate(1deg) } 50% { transform: translateX(2px) translateY(-2px) rotate(-1deg) } 100% { transform: translateX(-2px) translateY(1px) rotate(2deg) } }
@keyframes crd-lamp { 0% { box-shadow: 0 0 15px 4px #b08040, 0 0 30px 8px rgba(176,128,64,.2); opacity: .7 } 50% { box-shadow: 0 0 30px 10px #d4a060, 0 0 60px 20px rgba(212,160,96,.4); opacity: 1 } 100% { box-shadow: 0 0 20px 6px #b08040, 0 0 40px 12px rgba(176,128,64,.3); opacity: .8 } }

.scn-soothsayer-warns-antony {
  background:
    linear-gradient(180deg, #2a1e14 0%, #1f1410 40%, #0f0a08 100%),
    radial-gradient(ellipse at 50% 0%, #3a2a1a 0%, transparent 60%);
}
.scn-soothsayer-warns-antony .wall-back {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #382818 0%, #1e140e 100%);
  animation: swa-wall 20s ease-in-out infinite alternate;
}
.scn-soothsayer-warns-antony .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1b1410 0%, #0f0a08 100%);
  box-shadow: inset 0 4px 8px rgba(0,0,0,.6);
}
.scn-soothsayer-warns-antony .pillar-left {
  position: absolute; bottom: 30%; left: 10%; width: 6%; height: 70%;
  background: linear-gradient(180deg, #4a3828 0%, #2a1e14 50%, #1a1410 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 4px 0 8px rgba(0,0,0,.5);
  transform: scaleX(0.9);
}
.scn-soothsayer-warns-antony .pillar-right {
  position: absolute; bottom: 30%; right: 10%; width: 6%; height: 70%;
  background: linear-gradient(180deg, #4a3828 0%, #2a1e14 50%, #1a1410 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: -4px 0 8px rgba(0,0,0,.5);
  transform: scaleX(0.9);
}
.scn-soothsayer-warns-antony .table {
  position: absolute; bottom: 22%; left: 50%; transform: translateX(-50%);
  width: 34%; height: 6%;
  background: linear-gradient(180deg, #5a3a28 0%, #3a281c 100%);
  border-radius: 6% 6% 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,.7);
}
.scn-soothsayer-warns-antony .lamp {
  position: absolute; bottom: 30%; left: 48%; width: 4%; height: 8%;
  background: radial-gradient(circle, #e8b060 0%, #c08030 60%, transparent 80%);
  border-radius: 50%;
  filter: blur(1px);
  box-shadow: 0 0 30px 10px rgba(200,120,40,.4), 0 0 60px 20px rgba(200,120,40,.2);
  animation: swa-lamp 6s ease-in-out infinite;
}
.scn-soothsayer-warns-antony .figure-antony {
  position: absolute; bottom: 24%; left: 38%; width: 8%; height: 32%;
  background: linear-gradient(180deg, #2a1a10 0%, #120c08 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform: rotate(3deg);
  animation: swa-seated 8s ease-in-out infinite alternate;
}
.scn-soothsayer-warns-antony .figure-soothsayer {
  position: absolute; bottom: 24%; right: 36%; width: 7%; height: 36%;
  background: linear-gradient(180deg, #1a1010 0%, #0a0606 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 40% 40%;
  transform: rotate(-2deg);
  animation: swa-standing 10s ease-in-out infinite alternate;
}
.scn-soothsayer-warns-antony .shadow-pool {
  position: absolute; bottom: 18%; left: 30%; right: 30%; height: 8%;
  background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,.6) 0%, transparent 70%);
  animation: swa-shadow 10s ease-in-out infinite;
}
@keyframes swa-wall { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes swa-lamp { 0%,100% { transform: scale(1); box-shadow: 0 0 30px 10px rgba(200,120,40,.4); } 50% { transform: scale(1.1); box-shadow: 0 0 40px 15px rgba(200,120,40,.6); } }
@keyframes swa-seated { 0% { transform: rotate(3deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-2px); } 100% { transform: rotate(4deg) translateY(0); } }
@keyframes swa-standing { 0% { transform: rotate(-2deg) translateY(0); } 50% { transform: rotate(0deg) translateY(-3px); } 100% { transform: rotate(-3deg) translateY(0); } }
@keyframes swa-shadow { 0%,100% { opacity: .5; transform: scaleY(1); } 50% { opacity: .7; transform: scaleY(1.2); } }

.scn-soothsayer-fortune-caesar {
  background:
    linear-gradient(180deg, #1e1612 0%, #140e0a 60%, #0a0604 100%),
    radial-gradient(ellipse at 50% 30%, #2a1e14 0%, transparent 80%);
}
.scn-soothsayer-fortune-caesar .chamber-bg {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #2a1c14 0%, #1a100a 100%);
  animation: sfc-bg 12s ease-in-out infinite alternate;
}
.scn-soothsayer-fortune-caesar .curtain-left {
  position: absolute; top: 0; left: 0; width: 14%; height: 70%;
  background: linear-gradient(90deg, #3a281c 0%, #1a100a 70%, transparent 100%);
  border-radius: 0 0 40% 0;
  filter: drop-shadow(4px 0 6px rgba(0,0,0,.6));
  animation: sfc-curtain 15s ease-in-out infinite alternate;
}
.scn-soothsayer-fortune-caesar .curtain-right {
  position: absolute; top: 0; right: 0; width: 14%; height: 70%;
  background: linear-gradient(270deg, #3a281c 0%, #1a100a 70%, transparent 100%);
  border-radius: 0 0 0 40%;
  filter: drop-shadow(-4px 0 6px rgba(0,0,0,.6));
  animation: sfc-curtain 15s ease-in-out infinite alternate-reverse;
}
.scn-soothsayer-fortune-caesar .divination-table {
  position: absolute; bottom: 20%; left: 50%; transform: translateX(-50%);
  width: 40%; height: 5%;
  background: linear-gradient(180deg, #4a3020 0%, #2a1c12 100%);
  border-radius: 6% 6% 0 0;
  box-shadow: 0 8px 16px rgba(0,0,0,.8);
}
.scn-soothsayer-fortune-caesar .crystal-ball {
  position: absolute; bottom: 28%; left: 50%; transform: translateX(-50%);
  width: 8%; height: 12%;
  background: radial-gradient(circle at 40% 35%, #e0d0c0 0%, #806050 60%, #3a2a1a 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 10px rgba(200,180,160,.3), 0 0 80px 20px rgba(200,180,160,.15);
  animation: sfc-orb 8s ease-in-out infinite alternate;
}
.scn-soothsayer-fortune-caesar .figure-soothsayer2 {
  position: absolute; bottom: 18%; left: 30%; width: 10%; height: 40%;
  background: linear-gradient(180deg, #1a1410 0%, #0a0806 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform: rotate(-5deg);
  animation: sfc-figure-left 12s ease-in-out infinite alternate;
}
.scn-soothsayer-fortune-caesar .figure-antony2 {
  position: absolute; bottom: 18%; right: 28%; width: 9%; height: 36%;
  background: linear-gradient(180deg, #221810 0%, #100c08 100%);
  border-radius: 35% 35% 25% 25% / 55% 55% 35% 35%;
  transform: rotate(4deg);
  animation: sfc-figure-right 10s ease-in-out infinite alternate;
}
.scn-soothsayer-fortune-caesar .dice-falling {
  position: absolute; bottom: 32%; left: 46%; width: 3%; height: 3%;
  background: #d0b090;
  border-radius: 10%;
  box-shadow: 0 0 6px rgba(0,0,0,.6);
  animation: sfc-dice 6s ease-in-out infinite;
}
@keyframes sfc-bg { 0% { opacity: .7 } 50% { opacity: 1 } 100% { opacity: .8 } }
@keyframes sfc-curtain { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.05) } 100% { transform: scaleX(0.95) } }
@keyframes sfc-orb { 0% { transform: translateX(-50%) scale(1); opacity: .7 } 50% { transform: translateX(-50%) scale(1.1); opacity: 1 } 100% { transform: translateX(-50%) scale(1); opacity: .8 } }
@keyframes sfc-figure-left { 0% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(-3deg) translateY(-3px) } 100% { transform: rotate(-6deg) translateY(0) } }
@keyframes sfc-figure-right { 0% { transform: rotate(4deg) translateY(0) } 50% { transform: rotate(2deg) translateY(-2px) } 100% { transform: rotate(5deg) translateY(0) } }
@keyframes sfc-dice { 0% { transform: translateY(0) rotate(0deg); opacity: 1 } 50% { transform: translateY(-20px) rotate(180deg); opacity: 0.8 } 100% { transform: translateY(0) rotate(360deg); opacity: 1 } }

.scn-antony-muses-caesar-luck {
  background:
    linear-gradient(180deg, #2a1e14 0%, #1a100a 50%, #0a0604 100%),
    radial-gradient(ellipse at 50% 0%, #3a2818 0%, transparent 70%);
}
.scn-antony-muses-caesar-luck .room-bg {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #302218 0%, #1a100a 100%);
  animation: amc-bg 14s ease-in-out infinite alternate;
}
.scn-antony-muses-caesar-luck .gaming-table {
  position: absolute; bottom: 20%; left: 50%; transform: translateX(-50%);
  width: 44%; height: 7%;
  background: linear-gradient(180deg, #4a3220 0%, #2a1c10 100%);
  border-radius: 8% 8% 0 0;
  box-shadow: 0 8px 16px rgba(0,0,0,.7);
}
.scn-antony-muses-caesar-luck .dice-cup {
  position: absolute; bottom: 28%; left: 38%; width: 5%; height: 8%;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%;
  transform: rotate(-10deg);
  animation: amc-cup 8s ease-in-out infinite alternate;
}
.scn-antony-muses-caesar-luck .dice-1 {
  position: absolute; bottom: 24%; left: 45%; width: 4%; height: 4%;
  background: #c8a880;
  border-radius: 12%;
  box-shadow: 0 2px 4px rgba(0,0,0,.5);
  animation: amc-dice1 5s ease-in-out infinite;
}
.scn-antony-muses-caesar-luck .dice-2 {
  position: absolute; bottom: 23%; left: 52%; width: 4%; height: 4%;
  background: #b89870;
  border-radius: 12%;
  box-shadow: 0 2px 4px rgba(0,0,0,.5);
  animation: amc-dice2 7s ease-in-out infinite;
}
.scn-antony-muses-caesar-luck .quail-token {
  position: absolute; bottom: 26%; right: 34%; width: 6%; height: 5%;
  background: radial-gradient(circle at 50% 50%, #a08050 0%, #604020 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(15deg);
  animation: amc-quail 12s ease-in-out infinite alternate;
}
.scn-antony-muses-caesar-luck .candle {
  position: absolute; bottom: 26%; left: 35%; width: 2%; height: 8%;
  background: linear-gradient(180deg, #e8c080 0%, #b08040 50%, #4a2a1a 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 20px 6px rgba(200,130,50,.4);
  animation: amc-candle 4s ease-in-out infinite alternate;
}
.scn-antony-muses-caesar-luck .figure-antony3 {
  position: absolute; bottom: 20%; left: 26%; width: 10%; height: 38%;
  background: linear-gradient(180deg, #2a1a10 0%, #120c08 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform: rotate(2deg);
  animation: amc-figure 9s ease-in-out infinite alternate;
}
@keyframes amc-bg { 0% { opacity: .7 } 50% { opacity: 1 } 100% { opacity: .8 } }
@keyframes amc-cup { 0% { transform: rotate(-10deg) translateY(0) } 50% { transform: rotate(-5deg) translateY(-3px) } 100% { transform: rotate(-12deg) translateY(0) } }
@keyframes amc-dice1 { 0% { transform: translate(0,0) rotate(0deg) } 25% { transform: translate(4px,-6px) rotate(90deg) } 50% { transform: translate(-2px,0) rotate(180deg) } 75% { transform: translate(3px,-4px) rotate(270deg) } 100% { transform: translate(0,0) rotate(360deg) } }
@keyframes amc-dice2 { 0% { transform: translate(0,0) rotate(0deg) } 33% { transform: translate(-5px,4px) rotate(120deg) } 66% { transform: translate(3px,-2px) rotate(240deg) } 100% { transform: translate(0,0) rotate(360deg) } }
@keyframes amc-quail { 0% { transform: rotate(15deg) scale(1) } 50% { transform: rotate(20deg) scale(1.1) } 100% { transform: rotate(10deg) scale(1) } }
@keyframes amc-candle { 0%,100% { transform: scaleY(1); opacity: .8 } 50% { transform: scaleY(1.15); opacity: 1 } }
@keyframes amc-figure { 0% { transform: rotate(2deg) translateY(0) } 50% { transform: rotate(0deg) translateY(-2px) } 100% { transform: rotate(3deg) translateY(0) } }

.scn-antony-sends-ventidius {
  background:
    linear-gradient(180deg, #e8d8b0 0%, #d4c098 40%, #b8a080 100%),
    radial-gradient(ellipse at 50% 0%, #f0e0c0 0%, transparent 80%);
}
.scn-antony-sends-ventidius .sunlit-wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #f0e0c0 0%, #d8c8a0 100%);
  animation: asv-wall 16s ease-in-out infinite alternate;
}
.scn-antony-sends-ventidius .window-frame {
  position: absolute; top: 5%; left: 30%; right: 30%; height: 45%;
  background: linear-gradient(180deg, #c0a880 0%, #a08868 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: inset 0 0 20px rgba(255,230,180,.3), 0 8px 16px rgba(0,0,0,.3);
}
.scn-antony-sends-ventidius .window-pane {
  position: absolute; top: 8%; left: 33%; right: 33%; height: 38%;
  background: linear-gradient(180deg, #f5f0e8 0%, #e0d8c8 50%, #c8b8a0 100%);
  filter: blur(1px);
  box-shadow: inset 0 0 40px rgba(255,240,200,.5);
  animation: asv-pane 10s ease-in-out infinite alternate;
}
.scn-antony-sends-ventidius .sunbeam {
  position: absolute; top: 10%; left: 35%; width: 30%; height: 60%;
  background: linear-gradient(180deg, rgba(255,250,230,.3) 0%, rgba(255,240,200,.1) 100%);
  clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%);
  filter: blur(4px);
  animation: asv-beam 12s ease-in-out infinite alternate;
}
.scn-antony-sends-ventidius .desk {
  position: absolute; bottom: 18%; left: 20%; right: 20%; height: 6%;
  background: linear-gradient(180deg, #c0a880 0%, #a08868 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,.3);
}
.scn-antony-sends-ventidius .scroll {
  position: absolute; bottom: 22%; left: 42%; width: 12%; height: 3%;
  background: linear-gradient(180deg, #f0dcc0 0%, #d8c090 100%);
  border-radius: 6% 6% 0 0;
  transform: rotate(-5deg);
  box-shadow: 0 2px 4px rgba(0,0,0,.2);
  animation: asv-scroll 8s ease-in-out infinite alternate;
}
.scn-antony-sends-ventidius .figure-antony4 {
  position: absolute; bottom: 18%; left: 30%; width: 9%; height: 36%;
  background: linear-gradient(180deg, #6a5040 0%, #4a3428 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform: rotate(2deg);
  animation: asv-antony 10s ease-in-out infinite alternate;
}
.scn-antony-sends-ventidius .figure-ventidius {
  position: absolute; bottom: 18%; right: 28%; width: 8%; height: 34%;
  background: linear-gradient(180deg, #5a4230 0%, #3a2a1c 100%);
  border-radius: 35% 35% 25% 25% / 55% 55% 35% 35%;
  transform: rotate(-3deg);
  animation: asv-ventidius 12s ease-in-out infinite alternate;
}
@keyframes asv-wall { 0% { opacity: .85 } 50% { opacity: 1 } 100% { opacity: .9 } }
@keyframes asv-pane { 0% { transform: scaleY(1); opacity: .8 } 50% { transform: scaleY(1.02); opacity: 1 } 100% { transform: scaleY(0.98); opacity: .85 } }
@keyframes asv-beam { 0% { opacity: .5; transform: translateX(0) } 50% { opacity: .8; transform: translateX(5px) } 100% { opacity: .6; transform: translateX(-3px) } }
@keyframes asv-scroll { 0% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(-3deg) translateY(-2px) } 100% { transform: rotate(-6deg) translateY(0) } }
@keyframes asv-antony { 0% { transform: rotate(2deg) translateY(0) } 50% { transform: rotate(0deg) translateY(-3px) } 100% { transform: rotate(3deg) translateY(0) } }
@keyframes asv-ventidius { 0% { transform: rotate(-3deg) translateY(0) } 50% { transform: rotate(-1deg) translateY(-2px) } 100% { transform: rotate(-4deg) translateY(0) } }

/* Scenes for Shakespeare's Antony and Cleopatra – bright interior settings */

/* ---- scene: antony-departs-egypt ---- */
.scn-antony-departs-egypt {
  background:
    linear-gradient(180deg, #f7e8c8 0%, #e6d4b0 40%, #d4bc94 100%),
    radial-gradient(ellipse at 30% 80%, #fae5b0 0%, transparent 70%);
}
.scn-antony-departs-egypt .wall-bg {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(135deg, #efe3c9 0%, #daccb0 100%);
  animation: ad-wallglow 8s ease-in-out infinite alternate;
}
.scn-antony-departs-egypt .window-frame {
  position: absolute; top: 12%; left: 20%; width: 120px; height: 180px;
  background: linear-gradient(180deg, #b8936a 0%, #8a6e4a 100%);
  border-radius: 8% 8% 4% 4%; box-shadow: inset 0 0 20px rgba(0,0,0,0.3);
  animation: ad-window 12s ease-in-out infinite;
}
.scn-antony-departs-egypt .light-beam {
  position: absolute; top: 10%; left: 25%; width: 160px; height: 240px;
  background: linear-gradient(135deg, rgba(255,240,200,0.6) 0%, rgba(255,230,180,0.1) 100%);
  clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%);
  animation: ad-beam 10s ease-in-out infinite alternate;
}
.scn-antony-departs-egypt .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #c4b096 0%, #a48e74 100%);
  box-shadow: inset 0 8px 12px rgba(0,0,0,0.2);
}
.scn-antony-departs-egypt .figure-silhouette {
  position: absolute; bottom: 12%; left: 48%; width: 22px; height: 48px;
  background: linear-gradient(180deg, #2c241a 0%, #1a140e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ad-figurewalk 5s ease-in-out infinite;
}
.scn-antony-departs-egypt .door-arch {
  position: absolute; bottom: 20%; left: 70%; width: 70px; height: 120px;
  background: linear-gradient(180deg, #9a8268 0%, #7a6250 100%);
  border-radius: 50% 50% 10% 10% / 60% 60% 10% 10%;
  box-shadow: -4px 0 8px rgba(0,0,0,0.3);
}
.scn-antony-departs-egypt .shadow-strip {
  position: absolute; bottom: 22%; left: 30%; width: 40px; height: 60px;
  background: rgba(0,0,0,0.15);
  border-radius: 20%;
  animation: ad-shadow 7s ease-in-out infinite alternate;
}
@keyframes ad-wallglow { 0% { opacity:0.85; } 50% { opacity:1; } 100% { opacity:0.9; } }
@keyframes ad-window { 0%,100% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-3px) scaleX(1.02); } }
@keyframes ad-beam { 0% { opacity:0.8; transform: translateX(0) scaleY(1); } 50% { opacity:1; transform: translateX(4px) scaleY(1.05); } 100% { opacity:0.75; transform: translateX(-2px) scaleY(0.98); } }
@keyframes ad-figurewalk { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 25% { transform: translateX(8px) translateY(-2px) rotate(1deg); } 50% { transform: translateX(16px) translateY(0) rotate(-1deg); } 75% { transform: translateX(24px) translateY(-2px) rotate(2deg); } 100% { transform: translateX(32px) translateY(0) rotate(0); } }
@keyframes ad-shadow { 0% { opacity:0.1; transform: scaleX(1); } 50% { opacity:0.25; transform: scaleX(1.3); } 100% { opacity:0.15; transform: scaleX(0.9); } }

/* ---- scene: caesar-berates-antony ---- */
.scn-caesar-berates-antony {
  background:
    linear-gradient(180deg, #f2e6d0 0%, #dfcbb0 50%, #c7b094 100%),
    radial-gradient(ellipse at 20% 60%, #fff5e0 0%, transparent 70%);
}
.scn-caesar-berates-antony .table-top {
  position: absolute; bottom: 20%; left: 10%; right: 10%; height: 18%;
  background: linear-gradient(180deg, #b0967c 0%, #8a715a 100%);
  border-radius: 10% 10% 0 0; box-shadow: 0 -6px 12px rgba(0,0,0,0.3);
  animation: cb-table 6s ease-in-out infinite alternate;
}
.scn-caesar-berates-antony .caesar-figure {
  position: absolute; bottom: 30%; left: 25%; width: 30px; height: 56px;
  background: linear-gradient(180deg, #3a2e24 0%, #1e1610 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cb-caesar 4s ease-in-out infinite;
}
.scn-caesar-berates-antony .antony-figure {
  position: absolute; bottom: 30%; left: 55%; width: 28px; height: 52px;
  background: linear-gradient(180deg, #2c221a 0%, #140e0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cb-antony 5s ease-in-out infinite;
}
.scn-caesar-berates-antony .shadow-bar-left {
  position: absolute; top: 0; bottom: 0; left: 15%; width: 8px;
  background: linear-gradient(180deg, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.4) 100%);
  animation: cb-shleft 8s ease-in-out infinite alternate;
}
.scn-caesar-berates-antony .shadow-bar-right {
  position: absolute; top: 0; bottom: 0; right: 20%; width: 10px;
  background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.3) 100%);
  animation: cb-shright 9s ease-in-out infinite alternate;
}
.scn-caesar-berates-antony .column-arch {
  position: absolute; top: 8%; left: 40%; width: 60px; height: 120px;
  background: linear-gradient(180deg, #d4c0a8 0%, #b09880 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%;
  box-shadow: -2px 0 6px rgba(0,0,0,0.2);
}
.scn-caesar-berates-antony .curtain-drapes {
  position: absolute; top: 0; right: 0; width: 30%; height: 100%;
  background: linear-gradient(180deg, #b87a5a 0%, #8a5a3a 100%);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 20% 70%, 0 30%);
  animation: cb-curtain 15s ease-in-out infinite alternate;
}
@keyframes cb-table { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }
@keyframes cb-caesar { 0%,100% { transform: rotate(0deg) scaleY(1); } 25% { transform: rotate(-5deg) scaleY(1.05); } 50% { transform: rotate(3deg) scaleY(0.95); } 75% { transform: rotate(-2deg) scaleY(1.02); } }
@keyframes cb-antony { 0%,100% { transform: translateX(0) rotate(0); } 30% { transform: translateX(6px) rotate(4deg); } 60% { transform: translateX(-4px) rotate(-3deg); } }
@keyframes cb-shleft { 0% { opacity:0.3; transform: scaleY(1); } 50% { opacity:0.6; transform: scaleY(1.2); } 100% { opacity:0.4; transform: scaleY(0.9); } }
@keyframes cb-shright { 0% { opacity:0.2; transform: scaleY(0.8); } 50% { opacity:0.5; transform: scaleY(1.1); } 100% { opacity:0.3; transform: scaleY(0.7); } }
@keyframes cb-curtain { 0% { transform: translateX(0) skewX(0); } 50% { transform: translateX(-8px) skewX(2deg); } 100% { transform: translateX(4px) skewX(-1deg); } }

/* ---- scene: lepidus-defends-antonius ---- */
.scn-lepidus-defends-antonius {
  background:
    linear-gradient(180deg, #f6efdc 0%, #e8dcc4 50%, #d4c6aa 100%),
    radial-gradient(ellipse at 50% 30%, #fff8e8 0%, transparent 60%);
}
.scn-lepidus-defends-antonius .desk-surface {
  position: absolute; bottom: 15%; left: 8%; right: 8%; height: 22%;
  background: linear-gradient(180deg, #c4aa8c 0%, #a0886a 100%);
  border-radius: 6% 6% 0 0; box-shadow: inset 0 6px 10px rgba(0,0,0,0.15);
  animation: ld-desk 10s ease-in-out infinite alternate;
}
.scn-lepidus-defends-antonius .scroll-paper {
  position: absolute; bottom: 30%; left: 35%; width: 80px; height: 12px;
  background: linear-gradient(180deg, #fae8c8 0%, #e8d4b0 100%);
  border-radius: 20%; box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: ld-scroll 6s ease-in-out infinite;
}
.scn-lepidus-defends-antonius .lamp-glow {
  position: absolute; bottom: 38%; left: 28%; width: 20px; height: 24px;
  background: radial-gradient(circle, #ffeeaa 0%, #f0d080 70%);
  border-radius: 30%; box-shadow: 0 0 30px 8px rgba(240,208,128,0.5);
  animation: ld-lamp 4s ease-in-out infinite alternate;
}
.scn-lepidus-defends-antonius .figure-seated {
  position: absolute; bottom: 18%; left: 20%; width: 32px; height: 50px;
  background: linear-gradient(180deg, #3a2e24 0%, #1e1610 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ld-figure 7s ease-in-out infinite;
}
.scn-lepidus-defends-antonius .bookshelf-bg {
  position: absolute; top: 10%; right: 12%; width: 80px; height: 70%;
  background: linear-gradient(180deg, #b09880 0%, #8a7560 100%);
  border-radius: 4%; box-shadow: inset 0 0 12px rgba(0,0,0,0.3);
}
.scn-lepidus-defends-antonius .book-spine {
  position: absolute; top: 18%; right: 18%; width: 12px; height: 40px;
  background: linear-gradient(180deg, #7a5a3a 0%, #5a3a22 100%);
  border-radius: 2px; box-shadow: 2px 0 4px rgba(0,0,0,0.2);
  animation: ld-book 12s ease-in-out infinite alternate;
}
.scn-lepidus-defends-antonius .inkwell {
  position: absolute; bottom: 28%; left: 50%; width: 16px; height: 18px;
  background: linear-gradient(180deg, #2c241c 0%, #14100a 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
}
@keyframes ld-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes ld-scroll { 0%,100% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(4px) rotate(2deg); } }
@keyframes ld-lamp { 0% { opacity:0.8; box-shadow:0 0 20px 4px rgba(240,208,128,0.3); } 50% { opacity:1; box-shadow:0 0 40px 12px rgba(240,208,128,0.6); } 100% { opacity:0.85; box-shadow:0 0 25px 6px rgba(240,208,128,0.4); } }
@keyframes ld-figure { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(-1deg); } 50% { transform: translateY(0) rotate(1deg); } 75% { transform: translateY(-1px) rotate(0deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes ld-book { 0% { transform: translateY(0); } 50% { transform: translateY(-6px); } 100% { transform: translateY(0); } }

/* ---- scene: caesar-chides-voluptuousness ---- */
.scn-caesar-chides-voluptuousness {
  background:
    linear-gradient(180deg, #f5e8d2 0%, #e0ceb4 50%, #c9b498 100%),
    radial-gradient(ellipse at 70% 50%, #fff2dc 0%, transparent 70%);
}
.scn-caesar-chides-voluptuousness .table-edge {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #bea68c 0%, #9a8268 100%);
  border-radius: 20% 20% 0 0; box-shadow: inset 0 8px 16px rgba(0,0,0,0.2);
}
.scn-caesar-chides-voluptuousness .goblet-base {
  position: absolute; bottom: 28%; left: 40%; width: 24px; height: 32px;
  background: linear-gradient(180deg, #d4a870 0%, #a07a4a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: cc-goblet 5s ease-in-out infinite;
}
.scn-caesar-chides-voluptuousness .hand-reach {
  position: absolute; bottom: 30%; left: 55%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #c8b098 0%, #a08870 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cc-hand 4s ease-in-out infinite;
}
.scn-caesar-chides-voluptuousness .wine-spill {
  position: absolute; bottom: 22%; left: 35%; width: 40px; height: 18px;
  background: linear-gradient(180deg, #b87878 0%, #8a5050 100%);
  border-radius: 50%; box-shadow: 0 0 12px 2px rgba(184,120,120,0.3);
  animation: cc-spill 8s ease-in-out infinite alternate;
}
.scn-caesar-chides-voluptuousness .cloth-fold {
  position: absolute; bottom: 20%; left: 50%; width: 80px; height: 30px;
  background: linear-gradient(180deg, #e8dcc4 0%, #d4c6aa 100%);
  clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%);
  animation: cc-cloth 6s ease-in-out infinite alternate;
}
.scn-caesar-chides-voluptuousness .shadow-overlay {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.1) 100%);
  animation: cc-shadow 9s ease-in-out infinite alternate;
}
@keyframes cc-goblet { 0%,100% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(8deg) translateY(-4px); } 50% { transform: rotate(-5deg) translateY(2px); } 75% { transform: rotate(3deg) translateY(-1px); } }
@keyframes cc-hand { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(8px) rotate(10deg); } 60% { transform: translateX(-4px) rotate(-5deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes cc-spill { 0% { opacity:0.7; transform: scaleY(1); } 50% { opacity:0.9; transform: scaleY(1.3); } 100% { opacity:0.6; transform: scaleY(0.8); } }
@keyframes cc-cloth { 0% { transform: translateX(0) skewX(0); } 50% { transform: translateX(-6px) skewX(3deg); } 100% { transform: translateX(4px) skewX(-2deg); } }
@keyframes cc-shadow { 0% { opacity:0.1; } 50% { opacity:0.3; } 100% { opacity:0.15; } }

/* cleopatra-flees-battle */
.scn-cleopatra-flees-battle {
  background:
    linear-gradient(180deg, #3a3a4a 0%, #505060 30%, #40404a 60%, #2a2a3a 100%) no-repeat,
    radial-gradient(ellipse at 40% 40%, #404050 0%, #1a1a2a 70%);
}
.scn-cleopatra-flees-battle .sky-overcast {
  position:absolute; inset:0 0 35% 0;
  background: linear-gradient(180deg, #40405a 0%, #50506a 40%, #60607a 100%);
  animation: cfb-sky 12s ease-in-out infinite alternate;
}
.scn-cleopatra-flees-battle .clouds {
  position:absolute; top:5%; left:0; right:0; height:30%;
  background: linear-gradient(180deg, rgba(80,80,100,0.8) 0%, rgba(60,60,80,0.4) 100%);
  filter: blur(8px);
  animation: cfb-clouds 25s linear infinite;
}
.scn-cleopatra-flees-battle .smoke-bg {
  position:absolute; bottom:25%; left:15%; width:120%; height:20%;
  background: radial-gradient(ellipse at 30% 50%, rgba(70,70,70,0.6) 0%, transparent 70%);
  filter: blur(10px);
  animation: cfb-smoke 8s ease-in-out infinite alternate;
}
.scn-cleopatra-flees-battle .ground-battle {
  position:absolute; bottom:0; left:0; right:0; height:45%;
  background: linear-gradient(180deg, #3a3a2a 0%, #2a2a1a 50%, #1a1a0a 100%);
  border-radius: 30% 70% 0 0 / 60% 80% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.5);
  animation: cfb-ground 20s ease-in-out infinite alternate;
}
.scn-cleopatra-flees-battle .horse-galop {
  position:absolute; bottom:30%; left:20%; width:70px; height:50px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 40% 40%;
  box-shadow: 0 6px 8px rgba(0,0,0,0.6);
  animation: cfb-horse 1.5s steps(2) infinite;
}
.scn-cleopatra-flees-battle .rider-flee {
  position:absolute; bottom:52%; left:24%; width:20px; height:35px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 40%, #0a0a1a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform: rotate(-15deg);
  animation: cfb-rider 0.9s ease-in-out infinite;
}
.scn-cleopatra-flees-battle .dust-trail {
  position:absolute; bottom:28%; left:50%; width:80px; height:12px;
  background: linear-gradient(90deg, rgba(80,70,50,0.6) 0%, rgba(80,70,50,0) 100%);
  filter: blur(4px);
  animation: cfb-dust 1.2s ease-in-out infinite;
}
.scn-cleopatra-flees-battle .debris {
  position:absolute; bottom:20%; left:5%; width:15px; height:15px;
  background: #3a3a2a;
  border-radius: 20% 80% 50% 50% / 30% 60% 40% 70%;
  box-shadow: 2px 4px 3px rgba(0,0,0,0.5);
  animation: cfb-debris 3s ease-in-out infinite;
}
@keyframes cfb-sky {
  0% { opacity:0.9; }
  50% { opacity:1; }
  100% { opacity:0.8; }
}
@keyframes cfb-clouds {
  0% { transform: translateX(-10%); }
  50% { transform: translateX(0%); }
  100% { transform: translateX(10%); }
}
@keyframes cfb-smoke {
  0% { transform: translateY(0) scale(1); opacity:0.6; }
  50% { transform: translateY(-8px) scale(1.05); opacity:0.8; }
  100% { transform: translateY(0) scale(1); opacity:0.6; }
}
@keyframes cfb-ground {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(0.98); }
  100% { transform: scaleY(1); }
}
@keyframes cfb-horse {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(4px) rotate(-3deg); }
  50% { transform: translateX(8px) rotate(0deg); }
  75% { transform: translateX(12px) rotate(3deg); }
  100% { transform: translateX(16px) rotate(0deg); }
}
@keyframes cfb-rider {
  0% { transform: translateX(0) rotate(-15deg); }
  50% { transform: translateX(-2px) rotate(-10deg); }
  100% { transform: translateX(0) rotate(-15deg); }
}
@keyframes cfb-dust {
  0% { opacity:0.3; transform: translateX(0); }
  50% { opacity:0.7; transform: translateX(5px); }
  100% { opacity:0.3; transform: translateX(10px); }
}
@keyframes cfb-debris {
  0% { transform: translate(0,0) rotate(0deg); }
  50% { transform: translate(3px, -4px) rotate(20deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}

/* alack-alack */
.scn-alack-alack {
  background:
    linear-gradient(180deg, #2a3a4a 0%, #4a5a6a 30%, #3a4a5a 60%, #2a3a4a 100%) no-repeat,
    radial-gradient(ellipse at 50% 100%, #4a5a6a 0%, transparent 60%);
}
.scn-alack-alack .sea-sky {
  position:absolute; inset:0 0 40% 0;
  background: linear-gradient(180deg, #3a4a5a 0%, #5a6a7a 40%, #4a5a6a 100%);
  animation: ack-sky 15s ease-in-out infinite alternate;
}
.scn-alack-alack .storm-clouds {
  position:absolute; top:0; left:0; right:0; height:35%;
  background: linear-gradient(180deg, #2a2a3a 0%, #3a3a4a 40%, transparent 100%);
  filter: blur(6px);
  animation: ack-clouds 20s linear infinite;
}
.scn-alack-alack .sea-waves {
  position:absolute; bottom:20%; left:0; right:0; height:40%;
  background: radial-gradient(circle at 20% 50%, #4a5a6a 0%, #2a3a4a 80%);
  clip-path: polygon(0% 80%, 10% 70%, 20% 80%, 30% 70%, 40% 80%, 50% 70%, 60% 80%, 70% 70%, 80% 80%, 90% 70%, 100% 80%, 100% 100%, 0% 100%);
  animation: ack-waves 5s ease-in-out infinite;
}
.scn-alack-alack .sinking-ship {
  position:absolute; bottom:30%; left:30%; width:100px; height:60px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 20% 20% 40% 40% / 30% 30% 70% 70%;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.5);
  transform: rotate(-15deg);
  animation: ack-ship 8s ease-in-out infinite;
}
.scn-alack-alack .broken-mast {
  position:absolute; bottom:60%; left:50%; width:8px; height:45px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  transform: rotate(10deg);
  animation: ack-mast 4s ease-in-out infinite;
}
.scn-alack-alack .furled-sail {
  position:absolute; bottom:65%; left:45%; width:30px; height:20px;
  background: linear-gradient(180deg, #4a4a5a 0%, #3a3a4a 100%);
  border-radius: 50%;
  transform: rotate(15deg);
  animation: ack-sail 6s ease-in-out infinite;
}
.scn-alack-alack .foam-spray {
  position:absolute; bottom:25%; left:35%; width:40px; height:15px;
  background: radial-gradient(ellipse, rgba(200,200,220,0.4) 0%, transparent 70%);
  filter: blur(5px);
  animation: ack-foam 2s ease-in-out infinite;
}
.scn-alack-alack .wreckage {
  position:absolute; bottom:15%; left:10%; width:20px; height:8px;
  background: #1a1a2a;
  border-radius: 20% 50% 30% 50% / 40% 60%;
  box-shadow: 2px 2px 4px rgba(0,0,0,0.5);
  animation: ack-wreck 7s ease-in-out infinite;
}
@keyframes ack-sky {
  0% { opacity:0.8; }
  50% { opacity:1; }
  100% { opacity:0.7; }
}
@keyframes ack-clouds {
  0% { transform: translateX(-20%); }
  50% { transform: translateX(10%); }
  100% { transform: translateX(20%); }
}
@keyframes ack-waves {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-3px) scaleY(1.02); }
  100% { transform: translateY(2px) scaleY(0.98); }
}
@keyframes ack-ship {
  0% { transform: rotate(-15deg) translateY(0); }
  25% { transform: rotate(-10deg) translateY(-2px); }
  50% { transform: rotate(-15deg) translateY(0); }
  75% { transform: rotate(-20deg) translateY(-1px); }
  100% { transform: rotate(-15deg) translateY(0); }
}
@keyframes ack-mast {
  0% { transform: rotate(10deg) translateX(0); }
  50% { transform: rotate(5deg) translateX(-2px); }
  100% { transform: rotate(10deg) translateX(0); }
}
@keyframes ack-sail {
  0% { transform: rotate(15deg) scaleX(1); }
  50% { transform: rotate(20deg) scaleX(0.9); }
  100% { transform: rotate(15deg) scaleX(1); }
}
@keyframes ack-foam {
  0% { opacity:0; }
  50% { opacity:0.6; }
  100% { opacity:0; }
}
@keyframes ack-wreck {
  0% { transform: translate(0,0) rotate(0deg); }
  50% { transform: translate(4px,-6px) rotate(30deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}

/* antony-despair */
.scn-antony-despair {
  background:
    linear-gradient(180deg, #1a0a0a 0%, #2a1a1a 40%, #3a2a2a 70%, #2a1a1a 100%) no-repeat,
    radial-gradient(ellipse at 40% 50%, #3a2a2a 0%, #1a0a0a 70%);
}
.scn-antony-despair .palace-floor {
  position:absolute; bottom:0; left:0; right:0; height:30%;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.5);
}
.scn-antony-despair .palace-wall {
  position:absolute; inset:0 0 30% 0;
  background: linear-gradient(180deg, #1a0a0a 0%, #2a1a1a 40%, #1a0a0a 100%);
}
.scn-antony-despair .pillar-shadow {
  position:absolute; bottom:30%; left:10%; width:20px; height:50%;
  background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 5px 0 10px rgba(0,0,0,0.6);
  animation: andd-pillar 20s ease-in-out infinite;
}
.scn-antony-despair .window-dim {
  position:absolute; top:15%; right:15%; width:40px; height:50px;
  background: radial-gradient(ellipse, #5a4a3a 0%, #2a1a1a 70%);
  border: 4px solid #3a2a2a;
  border-radius: 20% 20% 10% 10% / 30% 30% 20% 20%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.8);
  animation: andd-window 6s ease-in-out infinite alternate;
}
.scn-antony-despair .antonys-figure {
  position:absolute; bottom:12%; left:45%; width:30px; height:60px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: andd-figure 4s ease-in-out infinite;
}
.scn-antony-despair .treasure-chest {
  position:absolute; bottom:5%; left:70%; width:50px; height:30px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 5% 5% / 20% 20% 10% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: andd-chest 12s ease-in-out infinite;
}
.scn-antony-despair .candle-flicker {
  position:absolute; bottom:25%; left:80%; width:8px; height:18px;
  background: linear-gradient(180deg, #ffd080 0%, #ffa040 40%, #3a2a1a 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  box-shadow: 0 0 20px 8px #ffa040, 0 0 40px 15px rgba(255,160,64,0.3);
  animation: andd-candle 1.5s ease-in-out infinite alternate;
}
.scn-antony-despair .dust-motes {
  position:absolute; top:20%; left:30%; width:4px; height:4px;
  background: rgba(200,180,160,0.5);
  border-radius: 50%;
  box-shadow: 20px 30px 0 rgba(200,180,160,0.3), 40px 10px 0 rgba(200,180,160,0.2), -10px 50px 0 rgba(200,180,160,0.4);
  animation: andd-dust 7s ease-in-out infinite;
}
@keyframes andd-pillar {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(0.97); }
  100% { transform: scaleY(1); }
}
@keyframes andd-window {
  0% { opacity:0.3; }
  50% { opacity:0.6; }
  100% { opacity:0.3; }
}
@keyframes andd-figure {
  0% { transform: rotate(0deg) translateY(0); }
  25% { transform: rotate(-3deg) translateY(-2px); }
  50% { transform: rotate(0deg) translateY(0); }
  75% { transform: rotate(3deg) translateY(-1px); }
  100% { transform: rotate(0deg) translateY(0); }
}
@keyframes andd-chest {
  0% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
  100% { transform: translateY(0); }
}
@keyframes andd-candle {
  0% { transform: scaleY(1) rotate(0deg); opacity:0.8; }
  25% { transform: scaleY(1.05) rotate(-2deg); opacity:1; }
  50% { transform: scaleY(0.95) rotate(2deg); opacity:0.9; }
  75% { transform: scaleY(1.02) rotate(-1deg); opacity:1; }
  100% { transform: scaleY(1) rotate(0deg); opacity:0.8; }
}
@keyframes andd-dust {
  0% { transform: translate(0,0); opacity:0.3; }
  50% { transform: translate(5px,-8px); opacity:0.6; }
  100% { transform: translate(10px,-16px); opacity:0.2; }
}

/* cleopatra-approaches */
.scn-cleopatra-approaches {
  background:
    linear-gradient(180deg, #1a1018 0%, #2a1820 40%, #3a2028 70%, #2a1820 100%) no-repeat,
    radial-gradient(ellipse at 60% 40%, #3a2028 0%, #1a1018 70%);
}
.scn-cleopatra-approaches .tiled-floor {
  position:absolute; bottom:0; left:0; right:0; height:30%;
  background: linear-gradient(180deg, #2a1820 0%, #1a1018 100%);
  box-shadow: inset 0 4px 10px rgba(0,0,0,0.5);
}
.scn-cleopatra-approaches .curtained-wall {
  position:absolute; inset:0 0 30% 0;
  background: linear-gradient(180deg, #2a1820 0%, #3a2028 30%, #2a1820 100%);
}
.scn-cleopatra-approaches .doorway-arch {
  position:absolute; top:0; left:40%; width:20%; height:70%;
  background: linear-gradient(180deg, #3a2028 0%, #2a1820 60%, transparent 100%);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.7);
}
.scn-cleopatra-approaches .cleopatra-queen {
  position:absolute; bottom:18%; left:45%; width:28px; height:55px;
  background: linear-gradient(180deg, #2a1a22 0%, #1a1018 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: capp-queen 6s ease-in-out infinite;
}
.scn-cleopatra-approaches .charmian-attend {
  position:absolute; bottom:18%; left:35%; width:22px; height:45px;
  background: linear-gradient(180deg, #1a1820 0%, #0a0810 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: capp-attend1 6s ease-in-out infinite 0.5s;
}
.scn-cleopatra-approaches .iras-attend {
  position:absolute; bottom:18%; left:55%; width:22px; height:45px;
  background: linear-gradient(180deg, #1a1820 0%, #0a0810 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: capp-attend2 6s ease-in-out infinite 1s;
}
.scn-cleopatra-approaches .torch-glow {
  position:absolute; top:20%; left:30%; width:12px; height:20px;
  background: radial-gradient(ellipse, #ffb060 0%, #ff8030 40%, #3a2028 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 15px #ff8030, 0 0 60px 25px rgba(255,128,48,0.4);
  animation: capp-torch 2s ease-in-out infinite alternate;
}
.scn-cleopatra-approaches .drapery {
  position:absolute; top:5%; left:20%; width:15%; height:60%;
  background: linear-gradient(180deg, #3a2830 0%, #2a1820 100%);
  border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%;
  filter: blur(2px);
  box-shadow: 2px 0 8px rgba(0,0,0,0.5);
  animation: capp-drape 12s ease-in-out infinite;
}
@keyframes capp-queen {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes capp-attend1 {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-1px) rotate(3deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes capp-attend2 {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-1px) rotate(-3deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes capp-torch {
  0% { transform: scale(1); opacity:0.8; box-shadow: 0 0 25px 10px #ff8030; }
  50% { transform: scale(1.05); opacity:1; box-shadow: 0 0 40px 20px #ff8030; }
  100% { transform: scale(0.95); opacity:0.9; box-shadow: 0 0 30px 15px #ff8030; }
}
@keyframes capp-drape {
  0% { transform: translateY(0) scaleX(1); }
  50% { transform: translateY(-3px) scaleX(1.02); }
  100% { transform: translateY(0) scaleX(1); }
}

.scn-lepidus-asks-intelligence {
  background:
    linear-gradient(180deg, #f7f0e1 0%, #e3d5b8 60%, #c9b896 100%),
    radial-gradient(ellipse at 50% 0%, #ffffff 0%, transparent 60%);
}
.scn-lepidus-asks-intelligence .wall-bg { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #f5ecd8 0%, #e0d0b0 100%); box-shadow: inset 0 0 60px rgba(0,0,0,0.03); }
.scn-lepidus-asks-intelligence .floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #b8a68a 0%, #8c7a5e 100%); border-top: 2px solid #a08c6a; }
.scn-lepidus-asks-intelligence .window { position:absolute; top:12%; left:50%; width:40%; height:48%; transform:translateX(-50%); background: linear-gradient(180deg, #c1d5e0 0%, #a0b8c8 100%); border:6px solid #7a6a4a; border-radius:4px; box-shadow: 0 8px 20px rgba(0,0,0,0.1), inset 0 0 40px rgba(255,255,255,0.3); }
.scn-lepidus-asks-intelligence .desk { position:absolute; bottom:32%; left:30%; width:40%; height:8%; background: linear-gradient(180deg, #8a6e4a 0%, #6a5440 100%); border-radius:2px; box-shadow: 0 4px 8px rgba(0,0,0,0.2); }
.scn-lepidus-asks-intelligence .figure-lepidus { position:absolute; bottom:25%; left:35%; width:8%; height:30%; background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: lpi-figure 6s ease-in-out infinite; }
.scn-lepidus-asks-intelligence .chair { position:absolute; bottom:30%; right:28%; width:10%; height:20%; background: linear-gradient(180deg, #7a6a4a 0%, #5a4a2a 100%); border-radius: 10% 10% 30% 30% / 20% 20% 60% 60%; box-shadow: 0 4px 6px rgba(0,0,0,0.15); }
.scn-lepidus-asks-intelligence .curtain-left { position:absolute; top:12%; left:8%; width:18%; height:48%; background: linear-gradient(180deg, #d4c4a8 0%, #b8a88c 100%); border-radius:0 2px 2px 0; transform-origin: left top; animation: lpi-curtain-l 12s ease-in-out infinite alternate; }
.scn-lepidus-asks-intelligence .curtain-right { position:absolute; top:12%; right:8%; width:18%; height:48%; background: linear-gradient(180deg, #d4c4a8 0%, #b8a88c 100%); border-radius:2px 0 0 2px; transform-origin: right top; animation: lpi-curtain-r 12s ease-in-out infinite alternate; }
.scn-lepidus-asks-intelligence .candle { position:absolute; bottom:34%; left:48%; width:2%; height:6%; background: linear-gradient(180deg, #f0d0a0 0%, #b09060 100%); border-radius:2px 2px 0 0; box-shadow: 0 0 20px 6px #f0d0a0aa; animation: lpi-candle 4s ease-in-out infinite alternate; }
@keyframes lpi-figure { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes lpi-curtain-l { 0% { transform: scaleX(1); } 50% { transform: scaleX(0.97); } 100% { transform: scaleX(1.02); } }
@keyframes lpi-curtain-r { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.02); } 100% { transform: scaleX(0.97); } }
@keyframes lpi-candle { 0% { opacity:0.8; transform: scaleY(1); } 50% { opacity:1; transform: scaleY(1.05); } 100% { opacity:0.85; transform: scaleY(0.98); } }

.scn-cleopatra-pines-for-antony {
  background:
    linear-gradient(180deg, #1a1a3e 0%, #2c2244 40%, #4a3a6e 100%),
    radial-gradient(ellipse at 50% 0%, #5a4a7e 0%, transparent 70%);
}
.scn-cleopatra-pines-for-antony .bg-deep { position:absolute; inset:0 0 0 0; background: linear-gradient(180deg, #0e0e1a 0%, #1a1a3e 50%, #2a224a 100%); opacity:0.5; }
.scn-cleopatra-pines-for-antony .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #3a2a4a 0%, #1a0a2a 100%); }
.scn-cleopatra-pines-for-antony .couch { position:absolute; bottom:20%; left:25%; width:50%; height:12%; background: linear-gradient(180deg, #6a4a6a 0%, #4a2a4a 100%); border-radius:40% 40% 20% 20% / 60% 60% 30% 30%; box-shadow: 0 6px 12px rgba(0,0,0,0.6); }
.scn-cleopatra-pines-for-antony .figure-cleopatra-reclining { position:absolute; bottom:22%; left:35%; width:12%; height:16%; background: linear-gradient(180deg, #8a6a7a 0%, #4a2a3a 100%); border-radius: 50% 50% 45% 45% / 40% 40% 50% 50%; transform-origin: bottom center; animation: cpa-figure 8s ease-in-out infinite; }
.scn-cleopatra-pines-for-antony .cup { position:absolute; bottom:28%; left:42%; width:4%; height:6%; background: linear-gradient(180deg, #e0c090 0%, #c0a070 100%); border-radius:30% 30% 10% 10%; box-shadow: 0 2px 6px rgba(0,0,0,0.4); animation: cpa-cup 5s ease-in-out infinite; }
.scn-cleopatra-pines-for-antony .candle-glow { position:absolute; bottom:30%; left:55%; width:8%; height:12%; background: radial-gradient(circle, #ffd080 0%, #d09040 40%, transparent 70%); border-radius:50%; filter: blur(6px); animation: cpa-glow 3s ease-in-out infinite alternate; }
.scn-cleopatra-pines-for-antony .pillow { position:absolute; bottom:26%; right:30%; width:8%; height:6%; background: linear-gradient(180deg, #9a7a8a 0%, #7a5a6a 100%); border-radius:40%; box-shadow: inset 0 4px 6px rgba(0,0,0,0.3); }
.scn-cleopatra-pines-for-antony .window-night { position:absolute; top:8%; left:10%; width:35%; height:50%; background: linear-gradient(180deg, #0a0a1a 0%, #1a1a3e 100%); border:4px solid #3a2a4a; border-radius:4px; box-shadow: inset 0 0 40px rgba(0,0,0,0.8); }
@keyframes cpa-figure { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes cpa-cup { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(3deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes cpa-glow { 0% { opacity:0.6; transform: scale(0.9); } 50% { opacity:1; transform: scale(1.1); } 100% { opacity:0.7; transform: scale(0.95); } }

.scn-cleopatra-asks-mardian-affection {
  background:
    linear-gradient(180deg, #fdf6e3 0%, #f5e6c8 50%, #e8d4a8 100%),
    radial-gradient(ellipse at 50% 0%, #ffffff 0%, transparent 70%);
}
.scn-cleopatra-asks-mardian-affection .bg-light { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #faf0dc 0%, #ecd8b0 100%); }
.scn-cleopatra-asks-mardian-affection .colonnade-left { position:absolute; top:0; left:5%; width:6%; height:100%; background: linear-gradient(180deg, #d4c0a0 0%, #b8a080 100%); border-radius:8px; box-shadow: 2px 0 6px rgba(0,0,0,0.1); }
.scn-cleopatra-asks-mardian-affection .colonnade-right { position:absolute; top:0; right:5%; width:6%; height:100%; background: linear-gradient(180deg, #d4c0a0 0%, #b8a080 100%); border-radius:8px; box-shadow: -2px 0 6px rgba(0,0,0,0.1); }
.scn-cleopatra-asks-mardian-affection .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #b8a080 0%, #907860 100%); }
.scn-cleopatra-asks-mardian-affection .figure-cleopatra-standing { position:absolute; bottom:25%; left:45%; width:10%; height:40%; background: linear-gradient(180deg, #c8a082 0%, #a07a5e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cma-figure-c 4s ease-in-out infinite; }
.scn-cleopatra-asks-mardian-affection .figure-mardian { position:absolute; bottom:20%; left:35%; width:8%; height:35%; background: linear-gradient(180deg, #9a8a6a 0%, #6a5a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cma-figure-m 4s ease-in-out infinite; }
.scn-cleopatra-asks-mardian-affection .fan { position:absolute; bottom:32%; left:52%; width:6%; height:10%; background: linear-gradient(180deg, #e8c8a6 0%, #c8a080 100%); border-radius:50% 50% 40% 40% / 80% 80% 20% 20%; transform-origin: bottom center; animation: cma-fan 2s ease-in-out infinite alternate; }
.scn-cleopatra-asks-mardian-affection .cushion { position:absolute; bottom:22%; left:30%; width:10%; height:5%; background: linear-gradient(180deg, #c8a882 0%, #a88862 100%); border-radius:40%; box-shadow: 0 2px 4px rgba(0,0,0,0.15); }
@keyframes cma-figure-c { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-1px) rotate(2deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes cma-figure-m { 0% { transform: translateY(0) rotate(1deg); } 50% { transform: translateY(-2px) rotate(-1deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes cma-fan { 0% { transform: rotate(-15deg); } 50% { transform: rotate(5deg); } 100% { transform: rotate(-10deg); } }

.scn-cleopatra-recalls-past-lovers {
  background:
    linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 50%, #2a224a 100%),
    radial-gradient(ellipse at 50% 50%, #2a2a4a 0%, transparent 70%);
}
.scn-cleopatra-recalls-past-lovers .bg-night { position:absolute; inset:0 0 0 0; background: linear-gradient(180deg, #050508 0%, #0a0a1a 100%); opacity:0.6; }
.scn-cleopatra-recalls-past-lovers .moonlight-beam { position:absolute; top:0; left:35%; width:30%; height:100%; background: linear-gradient(180deg, rgba(200,220,255,0.15) 0%, rgba(200,220,255,0.05) 100%); clip-path: polygon(30% 0%, 70% 0%, 100% 100%, 0% 100%); animation: cml-beam 12s ease-in-out infinite alternate; }
.scn-cleopatra-recalls-past-lovers .figure-cleopatra-seated { position:absolute; bottom:22%; left:40%; width:12%; height:30%; background: linear-gradient(180deg, #6a4a5a 0%, #3a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cml-figure 8s ease-in-out infinite; }
.scn-cleopatra-recalls-past-lovers .mirror { position:absolute; top:15%; right:15%; width:20%; height:35%; background: linear-gradient(180deg, #a0c0d0 0%, #8090a0 100%); border:4px solid #5a4a3a; border-radius:4px; box-shadow: inset 0 0 30px rgba(255,255,255,0.2); }
.scn-cleopatra-recalls-past-lovers .snake-decor { position:absolute; bottom:30%; left:25%; width:6%; height:12%; background: linear-gradient(180deg, #3a5a3a 0%, #1a2a1a 100%); border-radius: 50% 50% 40% 40% / 40% 40% 60% 60%; transform: rotate(-20deg); animation: cml-snake 15s ease-in-out infinite; }
.scn-cleopatra-recalls-past-lovers .shadow-lover { position:absolute; bottom:22%; right:20%; width:10%; height:35%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; opacity:0.4; animation: cml-shadow 10s ease-in-out infinite; }
.scn-cleopatra-recalls-past-lovers .candle { position:absolute; bottom:28%; left:50%; width:2%; height:8%; background: linear-gradient(180deg, #f0c060 0%, #c08030 100%); border-radius:2px; box-shadow: 0 0 30px 8px #f0c06080; animation: cml-candle 3s ease-in-out infinite alternate; }
.scn-cleopatra-recalls-past-lovers .window-arch { position:absolute; top:5%; left:10%; width:35%; height:60%; border:4px solid #3a2a3a; border-radius:50% 50% 20% 20% / 60% 60% 20% 20%; background: transparent; box-shadow: inset 0 0 60px rgba(0,0,0,0.5); }
@keyframes cml-beam { 0% { opacity:0.7; } 50% { opacity:0.9; } 100% { opacity:0.6; } }
@keyframes cml-figure { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-3px) rotate(1deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes cml-snake { 0% { transform: rotate(-20deg) translateY(0); } 50% { transform: rotate(-15deg) translateY(-2px); } 100% { transform: rotate(-20deg) translateY(0); } }
@keyframes cml-shadow { 0% { opacity:0.3; transform: scaleY(1); } 50% { opacity:0.5; transform: scaleY(1.05); } 100% { opacity:0.3; transform: scaleY(1); } }
@keyframes cml-candle { 0% { opacity:0.7; transform: scaleY(1); } 50% { opacity:1; transform: scaleY(1.08); } 100% { opacity:0.8; transform: scaleY(0.98); } }

/* Scene: cleopatra-draws-antony-up */
.scn-cleopatra-draws-antony-up {
  background: linear-gradient(180deg, #1a1020 0%, #2e1a30 40%, #4a2840 100%), radial-gradient(ellipse at 50% 0%, #4a2840 0%, transparent 60%);
}
.scn-cleopatra-draws-antony-up .bg-cda {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a1020 0%, #2e1a30 100%); animation: cda-bg 6s ease-in-out infinite alternate;
}
.scn-cleopatra-draws-antony-up .wall-cda {
  position: absolute; bottom: 40%; left: 0; right: 0; height: 60%; background: linear-gradient(180deg, #5a3a22 0%, #3a2212 100%); border-radius: 0 0 20% 20%; box-shadow: inset 0 10px 30px rgba(0,0,0,.6); animation: cda-wall 12s ease-in-out infinite;
}
.scn-cleopatra-draws-antony-up .floor-cda {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0e06 100%); border-radius: 30% 30% 0 0 / 20% 20% 0 0; box-shadow: inset 0 -4px 10px rgba(0,0,0,.7);
}
.scn-cleopatra-draws-antony-up .lamp-cda {
  position: absolute; bottom: 55%; left: 72%; width: 14px; height: 18px; background: linear-gradient(180deg, #d88a3a 0%, #b06020 100%); border-radius: 50% 50% 30% 30%; box-shadow: 0 0 20px 8px #b06020, 0 0 40px 16px rgba(176,96,32,.4); animation: cda-lamp 3s ease-in-out infinite alternate;
}
.scn-cleopatra-draws-antony-up .shadow-cda {
  position: absolute; bottom: 35%; left: 20%; width: 60%; height: 20%; background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,.4) 0%, transparent 70%); filter: blur(8px); animation: cda-shadow 8s ease-in-out infinite alternate;
}
.scn-cleopatra-draws-antony-up .cleopatra-cda {
  position: absolute; bottom: 30%; left: 25%; width: 26px; height: 50px; background: linear-gradient(180deg, #4a2a3a 0%, #2a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cda-cleopatra 4s ease-in-out infinite;
}
.scn-cleopatra-draws-antony-up .antony-cda {
  position: absolute; bottom: 42%; left: 45%; width: 28px; height: 56px; background: linear-gradient(180deg, #3a2a2a 0%, #1a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cda-antony 4s ease-in-out infinite;
}
.scn-cleopatra-draws-antony-up .rope-cda {
  position: absolute; bottom: 60%; left: 35%; width: 3px; height: 50px; background: linear-gradient(180deg, #8a6a4a 0%, #5a3a2a 100%); border-radius: 50%; transform: rotate(-15deg); transform-origin: top center; animation: cda-rope 4s ease-in-out infinite;
}
.scn-cleopatra-draws-antony-up .glow-cda {
  position: absolute; bottom: 45%; left: 50%; width: 60px; height: 60px; background: radial-gradient(circle, #d09040 0%, transparent 70%); border-radius: 50%; filter: blur(12px); animation: cda-glow 3s ease-in-out infinite alternate;
}
@keyframes cda-bg { 0% { opacity: 0.7 } 50% { opacity: 0.9 } 100% { opacity: 0.6 } }
@keyframes cda-wall { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes cda-lamp { 0% { opacity: 0.7; box-shadow: 0 0 12px 4px #b06020, 0 0 24px 8px rgba(176,96,32,.3) } 50% { opacity: 1; box-shadow: 0 0 28px 10px #e09040, 0 0 56px 20px rgba(224,144,64,.5) } 100% { opacity: 0.8; box-shadow: 0 0 16px 6px #b06020, 0 0 32px 12px rgba(176,96,32,.4) } }
@keyframes cda-shadow { 0% { transform: translateX(-5px) scaleY(1) } 50% { transform: translateX(5px) scaleY(1.1) } 100% { transform: translateX(-5px) scaleY(1) } }
@keyframes cda-cleopatra { 0%,100% { transform: translateX(0) translateY(0) rotate(-2deg) } 25% { transform: translateX(-4px) translateY(-1px) rotate(1deg) } 50% { transform: translateX(-8px) translateY(0) rotate(-1deg) } 75% { transform: translateX(-12px) translateY(-1px) rotate(2deg) } }
@keyframes cda-antony { 0%,100% { transform: translateX(0) translateY(0) rotate(2deg) } 25% { transform: translateX(3px) translateY(-3px) rotate(0deg) } 50% { transform: translateX(6px) translateY(-6px) rotate(-1deg) } 75% { transform: translateX(9px) translateY(-9px) rotate(1deg) } }
@keyframes cda-rope { 0%,100% { transform: rotate(-15deg) } 50% { transform: rotate(-10deg) } }
@keyframes cda-glow { 0% { opacity: 0.5; transform: scale(0.9) } 50% { opacity: 0.8; transform: scale(1.1) } 100% { opacity: 0.6; transform: scale(1) } }

/* Scene: antony-counsels-cleopatra */
.scn-antony-counsels-cleopatra {
  background: linear-gradient(180deg, #1a1220 0%, #2e1a30 50%, #4a2838 100%), radial-gradient(ellipse at 50% 0%, #4a2838 0%, transparent 70%);
}
.scn-antony-counsels-cleopatra .bg-acc {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a1220 0%, #2e1a30 100%); animation: acc-bg 8s ease-in-out infinite alternate;
}
.scn-antony-counsels-cleopatra .table-acc {
  position: absolute; bottom: 30%; left: 20%; width: 60%; height: 10%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 10% 10% 0 0; box-shadow: 0 4px 12px rgba(0,0,0,.5); animation: acc-table 10s ease-in-out infinite;
}
.scn-antony-counsels-cleopatra .lamp-acc {
  position: absolute; bottom: 48%; left: 58%; width: 12px; height: 16px; background: linear-gradient(180deg, #e09040 0%, #b06020 100%); border-radius: 50% 50% 30% 30%; box-shadow: 0 0 20px 10px #b06020, 0 0 40px 20px rgba(176,96,32,.3); animation: acc-lamp 3s ease-in-out infinite alternate;
}
.scn-antony-counsels-cleopatra .antony-acc {
  position: absolute; bottom: 32%; left: 28%; width: 24px; height: 48px; background: linear-gradient(180deg, #3a2a2a 0%, #1a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: acc-antony 5s ease-in-out infinite;
}
.scn-antony-counsels-cleopatra .cleopatra-acc {
  position: absolute; bottom: 32%; left: 55%; width: 22px; height: 46px; background: linear-gradient(180deg, #4a2a3a 0%, #2a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: acc-cleopatra 5s ease-in-out infinite;
}
.scn-antony-counsels-cleopatra .shadow-acc {
  position: absolute; bottom: 25%; left: 18%; width: 64%; height: 15%; background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,.6) 0%, transparent 80%); filter: blur(10px); animation: acc-shadow 6s ease-in-out infinite alternate;
}
.scn-antony-counsels-cleopatra .glow-acc {
  position: absolute; bottom: 40%; left: 50%; width: 80px; height: 80px; background: radial-gradient(circle, #d09040 0%, transparent 70%); border-radius: 50%; filter: blur(15px); animation: acc-glow 3s ease-in-out infinite alternate;
}
.scn-antony-counsels-cleopatra .curtain-acc {
  position: absolute; top: 0; left: 0; width: 30%; height: 100%; background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%); border-radius: 0 20% 20% 0; box-shadow: inset -10px 0 20px rgba(0,0,0,.5); animation: acc-curtain 12s ease-in-out infinite alternate;
}
@keyframes acc-bg { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.7 } }
@keyframes acc-table { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes acc-lamp { 0% { opacity: 0.7; box-shadow: 0 0 14px 6px #b06020, 0 0 28px 12px rgba(176,96,32,.3) } 50% { opacity: 1; box-shadow: 0 0 30px 12px #e09040, 0 0 60px 24px rgba(224,144,64,.5) } 100% { opacity: 0.8; box-shadow: 0 0 18px 8px #b06020, 0 0 36px 16px rgba(176,96,32,.4) } }
@keyframes acc-antony { 0%,100% { transform: translateX(0) translateY(0) rotate(0deg) } 25% { transform: translateX(-2px) translateY(-1px) rotate(-1deg) } 50% { transform: translateX(0) translateY(0) rotate(1deg) } 75% { transform: translateX(2px) translateY(-1px) rotate(0deg) } }
@keyframes acc-cleopatra { 0%,100% { transform: translateX(0) translateY(0) rotate(0deg) } 25% { transform: translateX(2px) translateY(-1px) rotate(1deg) } 50% { transform: translateX(0) translateY(0) rotate(-1deg) } 75% { transform: translateX(-2px) translateY(-1px) rotate(0deg) } }
@keyframes acc-shadow { 0% { transform: scaleX(0.9) } 50% { transform: scaleX(1.1) } 100% { transform: scaleX(1) } }
@keyframes acc-glow { 0% { opacity: 0.4; transform: scale(0.9) } 50% { opacity: 0.7; transform: scale(1.2) } 100% { opacity: 0.5; transform: scale(1) } }
@keyframes acc-curtain { 0% { transform: translateX(0) } 50% { transform: translateX(-3px) } 100% { transform: translateX(0) } }

/* Scene: antony-dies */
.scn-antony-dies {
  background: linear-gradient(180deg, #1a0a12 0%, #2e1420 40%, #4a2028 100%), radial-gradient(ellipse at 50% 0%, #4a2028 0%, transparent 60%);
}
.scn-antony-dies .bg-ad {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a0a12 0%, #2e1420 100%); animation: ad-bg 7s ease-in-out infinite alternate;
}
.scn-antony-dies .pillar-ad {
  position: absolute; bottom: 20%; left: 10%; width: 8%; height: 80%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 10% 10% 0 0; box-shadow: inset 0 0 15px rgba(0,0,0,.5); animation: ad-pillar 9s ease-in-out infinite;
}
.scn-antony-dies .floor-ad {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0e06 100%); border-radius: 20% 20% 0 0 / 40% 40% 0 0; box-shadow: inset 0 -4px 10px rgba(0,0,0,.7);
}
.scn-antony-dies .body-ad {
  position: absolute; bottom: 12%; left: 30%; width: 30px; height: 50px; background: linear-gradient(180deg, #3a2a2a 0%, #1a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-10deg); transform-origin: bottom center; animation: ad-body 6s ease-in-out infinite;
}
.scn-antony-dies .pool-ad {
  position: absolute; bottom: 5%; left: 28%; width: 34px; height: 8px; background: radial-gradient(ellipse at 50% 50%, #5e1a1d 0%, transparent 70%); border-radius: 50%; filter: blur(3px); animation: ad-pool 9s ease-in-out infinite alternate;
}
.scn-antony-dies .glow-ad {
  position: absolute; bottom: 30%; left: 45%; width: 50px; height: 50px; background: radial-gradient(circle, #b08040 0%, transparent 70%); border-radius: 50%; filter: blur(10px); animation: ad-glow 4s ease-in-out infinite alternate;
}
.scn-antony-dies .shadow-ad {
  position: absolute; bottom: 8%; left: 25%; width: 50%; height: 12%; background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,.5) 0%, transparent 80%); filter: blur(8px); animation: ad-shadow 12s ease-in-out infinite alternate;
}
.scn-antony-dies .sword-ad {
  position: absolute; bottom: 30%; left: 40%; width: 4px; height: 30px; background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%); border-radius: 50%; transform: rotate(25deg); transform-origin: bottom center; animation: ad-sword 5s ease-in-out infinite;
}
@keyframes ad-bg { 0% { opacity: 0.7 } 50% { opacity: 0.9 } 100% { opacity: 0.6 } }
@keyframes ad-pillar { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-3px) } }
@keyframes ad-body { 0%,100% { transform: rotate(-10deg) translateX(0) } 25% { transform: rotate(-8deg) translateX(-2px) } 50% { transform: rotate(-12deg) translateX(0) } 75% { transform: rotate(-6deg) translateX(2px) } }
@keyframes ad-pool { 0% { transform: scaleX(1) opacity 0.6 } 50% { transform: scaleX(1.1) opacity 0.8 } 100% { transform: scaleX(0.95) opacity 0.5 } }
@keyframes ad-glow { 0% { opacity: 0.5; transform: scale(0.9) } 50% { opacity: 0.8; transform: scale(1.1) } 100% { opacity: 0.6; transform: scale(1) } }
@keyframes ad-shadow { 0% { transform: scaleX(0.8) } 50% { transform: scaleX(1.2) } 100% { transform: scaleX(1) } }
@keyframes ad-sword { 0%,100% { transform: rotate(25deg) } 50% { transform: rotate(22deg) } }

/* Scene: cleopatra-faints */
.scn-cleopatra-faints {
  background: linear-gradient(180deg, #1a0a16 0%, #2e1424 40%, #4a2030 100%), radial-gradient(ellipse at 50% 0%, #4a2030 0%, transparent 60%);
}
.scn-cleopatra-faints .bg-cf {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a0a16 0%, #2e1424 100%); animation: cf-bg 9s ease-in-out infinite alternate;
}
.scn-cleopatra-faints .floor-cf {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0e06 100%); border-radius: 30% 30% 0 0 / 20% 20% 0 0; box-shadow: inset 0 -4px 10px rgba(0,0,0,.7);
}
.scn-cleopatra-faints .wall-cf {
  position: absolute; bottom: 25%; left: 0; right: 0; height: 75%; background: linear-gradient(180deg, #5a3a22 0%, #3a2212 100%); border-radius: 0 0 30% 30%; box-shadow: inset 0 10px 20px rgba(0,0,0,.5); animation: cf-wall 11s ease-in-out infinite;
}
.scn-cleopatra-faints .maid-cf {
  position: absolute; bottom: 20%; left: 52%; width: 20px; height: 44px; background: linear-gradient(180deg, #4a2a3a 0%, #2a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cf-maid 4s ease-in-out infinite;
}
.scn-cleopatra-faints .cleopatra-cf {
  position: absolute; bottom: 15%; left: 30%; width: 24px; height: 50px; background: linear-gradient(180deg, #3a2a3a 0%, #1a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-20deg); transform-origin: bottom center; animation: cf-cleopatra 4s ease-in-out infinite;
}
.scn-cleopatra-faints .garland-cf {
  position: absolute; bottom: 40%; left: 28%; width: 14px; height: 14px; background: radial-gradient(circle, #7a5a3a 0%, #5a3a1a 100%); border-radius: 50%; box-shadow: 0 0 10px 4px #5a3a1a; animation: cf-garland 5s ease-in-out infinite;
}
.scn-cleopatra-faints .lamp-cf {
  position: absolute; bottom: 50%; left: 70%; width: 12px; height: 16px; background: linear-gradient(180deg, #d08040 0%, #a06020 100%); border-radius: 50% 50% 30% 30%; box-shadow: 0 0 20px 8px #a06020, 0 0 40px 16px rgba(160,96,32,.4); animation: cf-lamp 3s ease-in-out infinite alternate;
}
.scn-cleopatra-faints .glow-cf {
  position: absolute; bottom: 35%; left: 55%; width: 70px; height: 70px; background: radial-gradient(circle, #c09050 0%, transparent 70%); border-radius: 50%; filter: blur(14px); animation: cf-glow 4s ease-in-out infinite alternate;
}
@keyframes cf-bg { 0% { opacity: 0.7 } 50% { opacity: 0.95 } 100% { opacity: 0.6 } }
@keyframes cf-wall { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes cf-maid { 0%,100% { transform: translateX(0) translateY(0) rotate(0deg) } 25% { transform: translateX(2px) translateY(-1px) rotate(1deg) } 50% { transform: translateX(4px) translateY(0) rotate(0deg) } 75% { transform: translateX(2px) translateY(-1px) rotate(-1deg) } }
@keyframes cf-cleopatra { 0%,100% { transform: rotate(-20deg) translateX(0) translateY(0) } 20% { transform: rotate(-18deg) translateX(-2px) translateY(-2px) } 40% { transform: rotate(-22deg) translateX(0) translateY(-4px) } 60% { transform: rotate(-16deg) translateX(2px) translateY(-6px) } 80% { transform: rotate(-24deg) translateX(0) translateY(-2px) } }
@keyframes cf-garland { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-4px) rotate(15deg) } 50% { transform: translateY(0) rotate(30deg) } 75% { transform: translateY(-4px) rotate(45deg) } 100% { transform: translateY(0) rotate(60deg) } }
@keyframes cf-lamp { 0% { opacity: 0.6; box-shadow: 0 0 10px 4px #a06020, 0 0 20px 8px rgba(160,96,32,.3) } 50% { opacity: 1; box-shadow: 0 0 24px 10px #d08040, 0 0 48px 20px rgba(208,128,64,.5) } 100% { opacity: 0.8; box-shadow: 0 0 14px 6px #a06020, 0 0 28px 12px rgba(160,96,32,.4) } }
@keyframes cf-glow { 0% { opacity: 0.3; transform: scale(0.9) } 50% { opacity: 0.6; transform: scale(1.15) } 100% { opacity: 0.4; transform: scale(1) } }

.scn-charmian-iras-banter {
  background: linear-gradient(180deg, #f9e9d0 0%, #e3cba8 50%, #d4b68a 100%),
              radial-gradient(ellipse at 50% 30%, #ffecd6 0%, transparent 60%);
  box-shadow: inset 0 0 80px rgba(180, 140, 100, 0.3);
}
.scn-charmian-iras-banter .wall-bg { position:absolute; inset:0; background: linear-gradient(135deg, #f5e1c0 0%, #d6c09a 100%); }
.scn-charmian-iras-banter .window-frame { position:absolute; top:8%; left:50%; width:160px; height:200px; transform:translateX(-50%); border:8px solid #8b7355; border-radius:4px; background: linear-gradient(180deg, #b8d4e8 0%, #e6f0fa 100%); box-shadow: inset 0 0 30px rgba(255,255,200,0.4); animation: cib-window 6s ease-in-out infinite alternate; }
.scn-charmian-iras-banter .curtain-left { position:absolute; top:6%; left:30%; width:70px; height:220px; background: linear-gradient(180deg, #a0755a 0%, #7a543d 100%); border-radius: 0 40% 40% 0; transform-origin: top left; animation: cib-curtain 8s ease-in-out infinite alternate; }
.scn-charmian-iras-banter .curtain-right { position:absolute; top:6%; right:30%; width:70px; height:220px; background: linear-gradient(180deg, #a0755a 0%, #7a543d 100%); border-radius: 40% 0 0 40%; transform-origin: top right; animation: cib-curtain 8s ease-in-out infinite alternate-reverse; }
.scn-charmian-iras-banter .figure-charmian { position:absolute; bottom:18%; left:28%; width:40px; height:70px; background: linear-gradient(180deg, #7a5a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cib-fig1 4s ease-in-out infinite; }
.scn-charmian-iras-banter .figure-iras { position:absolute; bottom:18%; right:28%; width:38px; height:68px; background: linear-gradient(180deg, #6a4a3a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cib-fig2 4.5s ease-in-out infinite; }
.scn-charmian-iras-banter .couch { position:absolute; bottom:10%; left:20%; right:20%; height:60px; background: linear-gradient(180deg, #b08060 0%, #704830 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 -4px 10px rgba(0,0,0,0.2); animation: cib-couch 12s ease-in-out infinite; }
.scn-charmian-iras-banter .cushion { position:absolute; bottom:14%; left:25%; right:25%; height:20px; background: radial-gradient(ellipse, #c8946a 0%, #a06848 100%); border-radius: 50%; filter: blur(3px); animation: cib-cushion 5s ease-in-out infinite alternate; }
.scn-charmian-iras-banter .sunbeam { position:absolute; top:12%; left:48%; width:80px; height:250px; background: linear-gradient(180deg, rgba(255,240,180,0.3) 0%, rgba(255,230,150,0.1) 100%); transform: skewX(-10deg); filter: blur(4px); animation: cib-beam 7s ease-in-out infinite alternate; }
@keyframes cib-window { 0% { opacity:0.9; } 50% { opacity:1; box-shadow: inset 0 0 40px rgba(255,255,200,0.6); } 100% { opacity:0.85; } }
@keyframes cib-curtain { 0% { transform: rotate(0deg) scaleX(1); } 50% { transform: rotate(2deg) scaleX(1.05); } 100% { transform: rotate(-1deg) scaleX(0.98); } }
@keyframes cib-fig1 { 0% { transform: translateX(0) rotate(-2deg); } 33% { transform: translateX(5px) rotate(0deg); } 66% { transform: translateX(-3px) rotate(2deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes cib-fig2 { 0% { transform: translateX(0) rotate(1deg); } 50% { transform: translateX(-4px) rotate(-1deg); } 100% { transform: translateX(2px) rotate(2deg); } }
@keyframes cib-couch { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes cib-cushion { 0% { opacity:0.6; transform: scale(0.95); } 100% { opacity:1; transform: scale(1.05); } }
@keyframes cib-beam { 0% { opacity:0.4; transform: skewX(-10deg) translateX(0); } 50% { opacity:0.7; transform: skewX(-12deg) translateX(5px); } 100% { opacity:0.3; transform: skewX(-8deg) translateX(-5px); } }

.scn-soothsayer-alexas-fortune {
  background: linear-gradient(180deg, #f4dbb8 0%, #dbbc8a 40%, #c4a070 100%),
              radial-gradient(ellipse at 40% 50%, #ffedcc 0%, transparent 50%);
  box-shadow: inset 0 0 100px rgba(140,100,60,0.2);
}
.scn-soothsayer-alexas-fortune .room-wall { position:absolute; inset:0; background: linear-gradient(135deg, #e8d2b0 0%, #cfb690 100%); }
.scn-soothsayer-alexas-fortune .table { position:absolute; bottom:15%; left:35%; right:35%; height:50px; background: linear-gradient(180deg, #9a7a5a 0%, #5a3a2a 100%); border-radius: 8% 8% 0 0; box-shadow: 0 -4px 10px rgba(0,0,0,0.3); animation: saf-table 10s ease-in-out infinite; }
.scn-soothsayer-alexas-fortune .scroll { position:absolute; bottom:22%; left:42%; width:60px; height:20px; background: linear-gradient(180deg, #d4c090 0%, #b8a070 100%); border-radius: 4px; transform: rotate(-10deg); animation: saf-scroll 6s ease-in-out infinite alternate; }
.scn-soothsayer-alexas-fortune .candle { position:absolute; bottom:25%; left:48%; width:6px; height:20px; background: linear-gradient(180deg, #e8c870 0%, #b08040 100%); border-radius: 50% 50% 4px 4px; box-shadow: 0 0 8px #ffd060; animation: saf-candle 3s ease-in-out infinite alternate; }
.scn-soothsayer-alexas-fortune .candle-glow { position:absolute; bottom:28%; left:46%; width:30px; height:30px; background: radial-gradient(circle, rgba(255,200,100,0.6) 0%, transparent 100%); border-radius:50%; filter: blur(6px); animation: saf-glow 3.5s ease-in-out infinite alternate; }
.scn-soothsayer-alexas-fortune .soothsayer-hand { position:absolute; bottom:20%; left:42%; width:20px; height:30px; background: linear-gradient(180deg, #c8a884 0%, #8a6a4a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform: rotate(15deg); transform-origin: bottom center; animation: saf-hand 5s ease-in-out infinite; }
.scn-soothsayer-alexas-fortune .figure-alexas { position:absolute; bottom:10%; right:28%; width:40px; height:70px; background: linear-gradient(180deg, #6a4a3a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: saf-fig-a 4s ease-in-out infinite; }
.scn-soothsayer-alexas-fortune .figure-soothsayer { position:absolute; bottom:10%; left:28%; width:42px; height:72px; background: linear-gradient(180deg, #5a3a2a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: saf-fig-s 4.5s ease-in-out infinite; }
.scn-soothsayer-alexas-fortune .shadow { position:absolute; bottom:8%; left:20%; right:20%; height:20px; background: rgba(0,0,0,0.15); border-radius:50%; filter: blur(6px); animation: saf-shadow 7s ease-in-out infinite alternate; }
@keyframes saf-table { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes saf-scroll { 0% { transform: rotate(-10deg) translateX(0); } 50% { transform: rotate(-8deg) translateX(2px); } 100% { transform: rotate(-12deg) translateX(-2px); } }
@keyframes saf-candle { 0% { opacity:0.8; transform: scaleY(0.95); } 50% { opacity:1; transform: scaleY(1.05); } 100% { opacity:0.9; transform: scaleY(1); } }
@keyframes saf-glow { 0% { opacity:0.6; transform: scale(0.9); } 100% { opacity:1; transform: scale(1.2); } }
@keyframes saf-hand { 0% { transform: rotate(15deg) translateX(0); } 33% { transform: rotate(18deg) translateX(3px); } 66% { transform: rotate(12deg) translateX(-2px); } 100% { transform: rotate(15deg) translateX(0); } }
@keyframes saf-fig-a { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(4px) rotate(1deg); } 100% { transform: translateX(-2px) rotate(-2deg); } }
@keyframes saf-fig-s { 0% { transform: translateX(0) rotate(1deg); } 33% { transform: translateX(-3px) rotate(0deg); } 66% { transform: translateX(2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(1deg); } }
@keyframes saf-shadow { 0% { opacity:0.3; transform: scaleX(1); } 100% { opacity:0.5; transform: scaleX(1.15); } }

.scn-charmian-prays-alexas {
  background: linear-gradient(180deg, #d4c0a8 0%, #b8a088 40%, #8a7258 100%),
              radial-gradient(ellipse at 50% 20%, #f0e0c8 0%, transparent 60%);
  box-shadow: inset 0 0 120px rgba(100,70,40,0.3);
}
.scn-charmian-prays-alexas .chapel-wall { position:absolute; inset:0; background: linear-gradient(135deg, #c8b498 0%, #a88c70 100%); }
.scn-charmian-prays-alexas .altar { position:absolute; bottom:12%; left:40%; right:40%; height:40px; background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); border-radius: 8px 8px 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.3); animation: cpa-altar 15s ease-in-out infinite; }
.scn-charmian-prays-alexas .altar-statue { position:absolute; bottom:16%; left:47%; width:20px; height:40px; background: linear-gradient(180deg, #a08060 0%, #604030 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: cpa-statue 7s ease-in-out infinite alternate; }
.scn-charmian-prays-alexas .incense-smoke { position:absolute; bottom:22%; left:50%; width:40px; height:60px; background: radial-gradient(ellipse, rgba(220,200,180,0.4) 0%, transparent 100%); border-radius: 50%; filter: blur(8px); transform: translateX(-50%); animation: cpa-smoke 10s ease-in-out infinite alternate; }
.scn-charmian-prays-alexas .figure-charmian-praying { position:absolute; bottom:8%; left:35%; width:40px; height:70px; background: linear-gradient(180deg, #7a5a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cpa-fig-c 4s ease-in-out infinite; }
.scn-charmian-prays-alexas .figure-alexas-watching { position:absolute; bottom:8%; right:35%; width:38px; height:68px; background: linear-gradient(180deg, #6a4a3a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cpa-fig-a 5s ease-in-out infinite; }
.scn-charmian-prays-alexas .candle-pair { position:absolute; bottom:18%; left:44%; width:12px; height:28px; background: linear-gradient(180deg, #e8c870 0%, #b08040 100%); border-radius: 4px; box-shadow: 0 0 20px #ffd060; animation: cpa-candles 3s ease-in-out infinite alternate; }
.scn-charmian-prays-alexas .light-shaft { position:absolute; top:0; left:40%; right:40%; height:80%; background: linear-gradient(180deg, rgba(255,240,200,0.2) 0%, transparent 100%); filter: blur(5px); animation: cpa-shaft 8s ease-in-out infinite alternate; }
@keyframes cpa-altar { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes cpa-statue { 0% { transform: rotate(-1deg) scale(1); } 50% { transform: rotate(1deg) scale(1.02); } 100% { transform: rotate(0deg) scale(0.98); } }
@keyframes cpa-smoke { 0% { transform: translateX(-50%) translateY(0) scale(0.8); opacity:0.3; } 50% { transform: translateX(-50%) translateY(-15px) scale(1.2); opacity:0.6; } 100% { transform: translateX(-50%) translateY(-30px) scale(1.5); opacity:0; } }
@keyframes cpa-fig-c { 0% { transform: translateX(0) rotate(-2deg); } 33% { transform: translateX(3px) rotate(0deg); } 66% { transform: translateX(-2px) rotate(1deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes cpa-fig-a { 0% { transform: translateX(0) rotate(1deg); } 50% { transform: translateX(-4px) rotate(-1deg); } 100% { transform: translateX(2px) rotate(2deg); } }
@keyframes cpa-candles { 0% { opacity:0.8; transform: scaleY(0.95); } 50% { opacity:1; transform: scaleY(1.1); } 100% { opacity:0.9; transform: scaleY(1); } }
@keyframes cpa-shaft { 0% { opacity:0.3; transform: scaleX(1); } 50% { opacity:0.6; transform: scaleX(1.05); } 100% { opacity:0.2; transform: scaleX(0.95); } }

.scn-iras-echoes-prayer {
  background: linear-gradient(180deg, #c8b098 0%, #a88c70 40%, #8a7258 100%),
              radial-gradient(ellipse at 60% 30%, #f0dcc8 0%, transparent 60%);
  box-shadow: inset 0 0 100px rgba(80,50,30,0.25);
}
.scn-iras-echoes-prayer .pillar-left { position:absolute; top:0; left:10%; width:20px; height:100%; background: linear-gradient(180deg, #8a7058 0%, #5a4230 100%); border-radius: 4px; box-shadow: 2px 0 10px rgba(0,0,0,0.2); animation: iep-pillar-l 20s ease-in-out infinite alternate; }
.scn-iras-echoes-prayer .pillar-right { position:absolute; top:0; right:10%; width:20px; height:100%; background: linear-gradient(180deg, #8a7058 0%, #5a4230 100%); border-radius: 4px; box-shadow: -2px 0 10px rgba(0,0,0,0.2); animation: iep-pillar-r 20s ease-in-out infinite alternate-reverse; }
.scn-iras-echoes-prayer .floor-tiles { position:absolute; bottom:0; left:0; right:0; height:15%; background: repeating-linear-gradient(90deg, #6a5a4a 0px, #6a5a4a 1px, #7a6a5a 1px, #7a6a5a 2px); border-top: 2px solid #4a3a2a; animation: iep-floor 30s linear infinite; }
.scn-iras-echoes-prayer .figure-iras-kneeling { position:absolute; bottom:10%; left:35%; width:38px; height:60px; background: linear-gradient(180deg, #7a5a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: iep-iras 4s ease-in-out infinite; }
.scn-iras-echoes-prayer .figure-charmian-beside { position:absolute; bottom:10%; right:35%; width:40px; height:65px; background: linear-gradient(180deg, #6a4a3a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: iep-charmian 4.5s ease-in-out infinite; }
.scn-iras-echoes-prayer .altar-small { position:absolute; bottom:12%; left:46%; right:46%; height:30px; background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%); border-radius: 4px 4px 0 0; box-shadow: 0 2px 8px rgba(0,0,0,0.3); animation: iep-altar 12s ease-in-out infinite; }
.scn-iras-echoes-prayer .glow-ring { position:absolute; bottom:18%; left:45%; width:30px; height:30px; border-radius:50%; background: radial-gradient(circle, rgba(255,220,150,0.5) 0%, transparent 100%); filter: blur(3px); animation: iep-glow 3s ease-in-out infinite alternate; }
.scn-iras-echoes-prayer .petals-falling { position:absolute; top:0; left:20%; right:20%; height:100%; background: radial-gradient(ellipse at 30% 10%, #e8c0a0 0%, transparent 5%), radial-gradient(ellipse at 70% 20%, #d4a880 0%, transparent 5%), radial-gradient(ellipse at 50% 40%, #c8946a 0%, transparent 5%); background-size: 10px 10px; background-repeat: no-repeat; animation: iep-petals 15s linear infinite; }
@keyframes iep-pillar-l { 0% { transform: scaleY(1) translateX(0); } 50% { transform: scaleY(1.005) translateX(1px); } 100% { transform: scaleY(0.995) translateX(-1px); } }
@keyframes iep-pillar-r { 0% { transform: scaleY(1) translateX(0); } 50% { transform: scaleY(1.005) translateX(-1px); } 100% { transform: scaleY(0.995) translateX(1px); } }
@keyframes iep-floor { 0% { background-position: 0 0; } 100% { background-position: 40px 0; } }
@keyframes iep-iras { 0% { transform: translateX(0) rotate(-2deg) scale(1); } 33% { transform: translateX(3px) rotate(0deg) scale(1.02); } 66% { transform: translateX(-2px) rotate(1deg) scale(0.98); } 100% { transform: translateX(0) rotate(-1deg) scale(1); } }
@keyframes iep-charmian { 0% { transform: translateX(0) rotate(1deg); } 50% { transform: translateX(-4px) rotate(-1deg); } 100% { transform: translateX(2px) rotate(2deg); } }
@keyframes iep-altar { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes iep-glow { 0% { opacity:0.6; transform: scale(0.9); } 100% { opacity:1; transform: scale(1.2); } }
@keyframes iep-petals { 0% { background-position: 30% 10%, 70% 20%, 50% 40%; opacity:0.4; } 50% { background-position: 30% 50%, 70% 60%, 50% 80%; opacity:0.7; } 100% { background-position: 30% 90%, 70% 100%, 50% 120%; opacity:0; } }

.scn-galley-feast { background: linear-gradient(180deg, #3a1a0a 0%, #6a2a0a 50%, #4a1a0a 100%), radial-gradient(ellipse at 50% 40%, #c8553d 0%, transparent 60%); }
.scn-galley-feast .deck { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%); border-radius: 10% 10% 0 0; box-shadow: inset 0 6px 12px rgba(0,0,0,.5); }
.scn-galley-feast .table { position:absolute; bottom:18%; left:30%; width:40%; height:8%; background: linear-gradient(180deg, #7a5030 0%, #4a3018 100%); border-radius: 4% 4% 2% 2%; box-shadow: 0 6px 12px rgba(0,0,0,.6); }
.scn-galley-feast .fire { position:absolute; bottom:22%; left:46%; width:24px; height:40px; background: radial-gradient(ellipse, #ffa040 0%, #c8553d 60%, transparent 80%); border-radius: 50%; box-shadow: 0 0 40px 12px #c8553d; animation: gf-fire .8s ease-in-out infinite alternate; }
.scn-galley-feast .figure-a { position:absolute; bottom:20%; left:36%; 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: gf-sway-a 3s ease-in-out infinite; }
.scn-galley-feast .figure-b { position:absolute; bottom:20%; right:36%; width:22px; height:38px; background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: gf-sway-b 3.5s ease-in-out infinite reverse; }
.scn-galley-feast .winecup { position:absolute; bottom:24%; left:38%; width:8px; height:12px; background: linear-gradient(180deg, #8a5a3a 0%, #4a3018 100%); border-radius: 0 0 20% 20%; box-shadow: 0 2px 4px rgba(0,0,0,.4); transform-origin: bottom; animation: gf-cup 4s ease-in-out infinite; }
.scn-galley-feast .lantern { position:absolute; top:14%; left:60%; width:12px; height:16px; background: radial-gradient(circle, #ffd060 0%, #c88040 70%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 20px 6px #c88040; animation: gf-lantern 5s ease-in-out infinite; }
@keyframes gf-fire { 0% { transform: scaleY(1) translateY(0); opacity: .85; } 50% { transform: scaleY(1.15) translateY(-4px); opacity: 1; } 100% { transform: scaleY(.9) translateY(2px); opacity: .7; } }
@keyframes gf-sway-a { 0% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(4px) rotate(1deg); } 50% { transform: translateX(0) rotate(3deg); } 75% { transform: translateX(-3px) rotate(-1deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes gf-sway-b { 0% { transform: translateX(0) rotate(2deg); } 25% { transform: translateX(-3px) rotate(-1deg); } 50% { transform: translateX(0) rotate(-3deg); } 75% { transform: translateX(4px) rotate(1deg); } 100% { transform: translateX(0) rotate(2deg); } }
@keyframes gf-cup { 0%,100% { transform: rotate(-5deg); } 50% { transform: rotate(5deg) translateY(1px); } }
@keyframes gf-lantern { 0% { transform: rotate(-3deg); box-shadow: 0 0 15px 4px #c88040; } 50% { transform: rotate(3deg); box-shadow: 0 0 30px 10px #ffd060; } 100% { transform: rotate(-2deg); box-shadow: 0 0 20px 6px #c88040; } }

.scn-lepidus-disparaged { background: linear-gradient(180deg, #5a1a0a 0%, #8a3a0a 50%, #5a1a0a 100%), radial-gradient(ellipse at 50% 30%, #c8553d 0%, transparent 50%); }
.scn-lepidus-disparaged .head { position:absolute; bottom:30%; left:50%; width:50px; height:60px; transform:translateX(-50%); background: linear-gradient(135deg, #8a4a2a 0%, #5a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: ld-wobble 2s ease-in-out infinite; }
.scn-lepidus-disparaged .hole-l { position:absolute; bottom:47%; left:42%; width:8px; height:8px; background: #1a0a0a; border-radius:50%; box-shadow: inset 0 0 4px #000; animation: ld-eye-flicker 1.2s ease-in-out infinite; }
.scn-lepidus-disparaged .hole-r { position:absolute; bottom:47%; right:42%; width:8px; height:8px; background: #1a0a0a; border-radius:50%; box-shadow: inset 0 0 4px #000; animation: ld-eye-flicker 1.5s ease-in-out infinite 0.3s; }
.scn-lepidus-disparaged .cheek { position:absolute; bottom:32%; left:40%; width:12px; height:18px; background: linear-gradient(180deg, #9a5a3a 0%, #7a3a1a 100%); border-radius: 40% 60% 30% 50%; transform-origin: top; animation: ld-cheek-drop 3s ease-in-out infinite; }
.scn-lepidus-disparaged .reed { position:absolute; bottom:32%; left:36%; width:4px; height:60px; background: linear-gradient(180deg, #6a5a2a 0%, #4a3a1a 100%); border-radius: 0 0 20% 20%; transform-origin: bottom; animation: ld-reed-sway 4s ease-in-out infinite; }
.scn-lepidus-disparaged .partisan { position:absolute; bottom:32%; right:30%; width:3px; height:70px; background: #5a3a1a; border-radius: 0 0 10% 10%; transform: rotate(-15deg); transform-origin: bottom; animation: ld-reed-sway 4.5s ease-in-out infinite -1s; }
.scn-lepidus-disparaged .wine-stain { position:absolute; bottom:42%; left:48%; width:6px; height:4px; background: #7a1a0a; border-radius: 50%; opacity: .6; animation: ld-stain-grow 6s ease-in-out infinite; }
@keyframes ld-wobble { 0%,100% { transform: translateX(-50%) rotate(-3deg); } 20% { transform: translateX(-50%) rotate(5deg) translateY(-2px); } 40% { transform: translateX(-50%) rotate(-2deg) translateY(3px); } 60% { transform: translateX(-50%) rotate(4deg); } 80% { transform: translateX(-50%) rotate(-1deg) translateY(-1px); } }
@keyframes ld-eye-flicker { 0%,100% { transform: scale(1); opacity: .8; } 30% { transform: scale(0.5); opacity: .3; } 60% { transform: scale(1.2); opacity: 1; } }
@keyframes ld-cheek-drop { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(4px) rotate(10deg); } }
@keyframes ld-reed-sway { 0%,100% { transform: rotate(0); } 25% { transform: rotate(8deg); } 50% { transform: rotate(-5deg); } 75% { transform: rotate(6deg); } }
@keyframes ld-stain-grow { 0%,100% { transform: scale(1); } 50% { transform: scale(1.5); opacity: .9; } }

.scn-egyptian-superstition { background: linear-gradient(180deg, #4a2a0a 0%, #7a4a1a 40%, #4a2a0a 100%), radial-gradient(ellipse at 50% 20%, #c88040 0%, transparent 60%); }
.scn-egyptian-superstition .sun { position:absolute; top:6%; left:50%; width:40px; height:40px; transform:translateX(-50%); background: radial-gradient(circle, #ffd060 0%, #c88040 60%, transparent 80%); border-radius:50%; box-shadow: 0 0 40px 16px #c88040; animation: es-sun-glow 6s ease-in-out infinite alternate; }
.scn-egyptian-superstition .mud { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 30% 40% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.5); }
.scn-egyptian-superstition .serpent { position:absolute; bottom:35%; left:40%; width:8px; height:50px; background: linear-gradient(180deg, #5a4a2a 0%, #3a2a1a 100%); border-radius: 40% 40% 20% 20%; transform-origin: bottom; animation: es-serpent-slither 4s ease-in-out infinite; }
.scn-egyptian-superstition .crocodile { position:absolute; bottom:10%; left:30%; width:80px; height:16px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 40% 20% 30% 20%; box-shadow: 0 4px 8px rgba(0,0,0,.4); animation: es-croc-jaw 3s ease-in-out infinite; }
.scn-egyptian-superstition .sand { position:absolute; bottom:20%; left:0; right:0; height:20%; background: linear-gradient(180deg, #8a6a3a 0%, #5a4a2a 100%); border-radius: 20% 30% 0 0; box-shadow: inset 0 4px 12px rgba(0,0,0,.3); animation: es-sand-dune 10s ease-in-out infinite alternate; }
.scn-egyptian-superstition .hills { position:absolute; bottom:40%; left:0; right:0; height:30%; background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%); border-radius: 60% 40% 0 0; box-shadow: inset 0 6px 18px rgba(0,0,0,.4); animation: es-hills-shift 20s ease-in-out infinite alternate; }
@keyframes es-sun-glow { 0% { transform: translateX(-50%) scale(1); opacity: .7; } 50% { transform: translateX(-50%) scale(1.1); opacity: 1; } 100% { transform: translateX(-50%) scale(.95); opacity: .8; } }
@keyframes es-serpent-slither { 0%,100% { transform: rotate(-10deg) translateX(0); } 25% { transform: rotate(15deg) translateX(6px); } 50% { transform: rotate(-5deg) translateX(-4px); } 75% { transform: rotate(10deg) translateX(8px); } }
@keyframes es-croc-jaw { 0%,100% { transform: scaleX(1) translateX(0); } 30% { transform: scaleX(1.1) translateX(4px); opacity: .9; } 60% { transform: scaleX(0.95) translateX(-2px); } }
@keyframes es-sand-dune { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-5px) scaleY(1.05); } 100% { transform: translateY(3px) scaleY(.98); } }
@keyframes es-hills-shift { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-4px) scaleY(1.03); } 100% { transform: translateY(2px) scaleY(.97); } }

.scn-menas-tempts-pompey { background: linear-gradient(180deg, #2a0a0a 0%, #5a1a0a 40%, #3a0a0a 100%), radial-gradient(ellipse at 50% 50%, #a04020 0%, transparent 70%); }
.scn-menas-tempts-pompey .figure-pompey { position:absolute; bottom:20%; left:38%; width:28px; height:50px; background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mtp-figure-tremble 1.2s ease-in-out infinite; }
.scn-menas-tempts-pompey .figure-menas { position:absolute; bottom:20%; right:38%; width:28px; height:50px; background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mtp-figure-tremble 1.4s ease-in-out infinite 0.2s; }
.scn-menas-tempts-pompey .whisper { position:absolute; bottom:42%; left:45%; width:20px; height:6px; background: radial-gradient(ellipse, #c8a060 0%, transparent 70%); border-radius:50%; filter: blur(2px); animation: mtp-whisper 2s ease-in-out infinite; }
.scn-menas-tempts-pompey .dagger { position:absolute; bottom:30%; left:50%; width:4px; height:30px; background: linear-gradient(180deg, #8a4a2a 0%, #4a2a1a 100%); border-radius: 0 0 20% 20%; transform: translateX(-50%) rotate(-10deg); box-shadow: 0 0 12px 4px #a04020; transform-origin: bottom; animation: mtp-dagger-glow 1s ease-in-out infinite alternate; }
.scn-menas-tempts-pompey .fire { position:absolute; bottom:18%; left:52%; width:20px; height:30px; background: radial-gradient(ellipse, #ffa040 0%, #c8553d 60%, transparent 80%); border-radius: 50%; box-shadow: 0 0 30px 8px #c8553d; animation: mtp-fire-flicker .6s ease-in-out infinite alternate; }
.scn-menas-tempts-pompey .shadow { position:absolute; bottom:0; left:20%; right:20%; height:20%; background: linear-gradient(180deg, rgba(0,0,0,.0) 0%, rgba(0,0,0,.7) 100%); animation: mtp-shadow-sway 3s ease-in-out infinite; }
@keyframes mtp-figure-tremble { 0%,100% { transform: translateX(0) rotate(0); } 15% { transform: translateX(2px) rotate(-2deg); } 30% { transform: translateX(-1px) rotate(1deg); } 45% { transform: translateX(3px) rotate(-3deg); } 60% { transform: translateX(-2px) rotate(2deg); } 75% { transform: translateX(1px) rotate(-1deg); } }
@keyframes mtp-whisper { 0%,100% { transform: scaleX(1) translateX(0); opacity: .3; } 50% { transform: scaleX(1.3) translateX(4px); opacity: .8; } }
@keyframes mtp-dagger-glow { 0% { box-shadow: 0 0 8px 2px #a04020; opacity: .6; } 100% { box-shadow: 0 0 20px 8px #c86030; opacity: 1; } }
@keyframes mtp-fire-flicker { 0% { transform: scaleY(1) translateY(0); opacity: .8; } 50% { transform: scaleY(1.2) translateY(-6px); opacity: 1; } 100% { transform: scaleY(.9) translateY(3px); opacity: .65; } }
@keyframes mtp-shadow-sway { 0%,100% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-3px) scaleY(1.05); } }

/* alexandria-palace-dotage */
.scn-alexandria-palace-dotage {
  background: linear-gradient(180deg, #f5e6c8 0%, #d4b896 30%, #9a7a5a 70%), radial-gradient(ellipse at 60% 30%, #fff8e0 0%, transparent 60%);
}
.scn-alexandria-palace-dotage .bg-deep {
  position: absolute; inset: 0; background: linear-gradient(180deg, #b89a7a 0%, #8a6e4e 100%); opacity: 0.5;
  animation: ad-bgdeep 12s ease-in-out infinite alternate;
}
.scn-alexandria-palace-dotage .bg-mid {
  position: absolute; bottom: 0; left: 0; right: 0; height: 55%; background: linear-gradient(180deg, #6a4e2e 0%, #3a2a1a 100%); border-radius: 30% 70% 0 0 / 20% 50% 0 0;
  animation: ad-bgmid 18s ease-in-out infinite alternate;
}
.scn-alexandria-palace-dotage .column {
  position: absolute; top: 0; bottom: 40%; width: 12px; background: linear-gradient(90deg, #c4a882 0%, #e0d0b8 50%, #c4a882 100%); border-radius: 6px;
}
.scn-alexandria-palace-dotage .column-left { left: 20%; }
.scn-alexandria-palace-dotage .column-right { right: 20%; }
.scn-alexandria-palace-dotage .window {
  position: absolute; top: 12%; left: 40%; width: 20%; height: 30%; background: linear-gradient(135deg, #fff4e0 0%, #ffe0b0 40%, #d0a070 100%); border: 8px solid #6a4e2e; border-radius: 4px;
  box-shadow: inset 0 0 40px rgba(255,200,100,0.3);
  animation: ad-window 8s ease-in-out infinite alternate;
}
.scn-alexandria-palace-dotage .brazier {
  position: absolute; bottom: 38%; left: 50%; width: 40px; height: 50px; transform: translateX(-50%); background: radial-gradient(ellipse at 50% 20%, #ffaa40 0%, #c06020 40%, #6a2e0a 100%); border-radius: 50% 50% 30% 30%; box-shadow: 0 0 30px 10px #c06020, 0 0 60px 20px rgba(192,96,32,0.4);
  animation: ad-brazier 3s ease-in-out infinite alternate;
}
.scn-alexandria-palace-dotage .figure-antony {
  position: absolute; bottom: 36%; left: 35%; width: 30px; height: 70px; background: linear-gradient(180deg, #2a1a0a 0%, #0a0500 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center;
  animation: ad-antony 5s ease-in-out infinite;
}
.scn-alexandria-palace-dotage .figure-cleopatra {
  position: absolute; bottom: 38%; left: 55%; width: 28px; height: 60px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 50% 40% 30% 30% / 60% 50% 40% 40%; transform-origin: bottom center;
  animation: ad-cleopatra 6s ease-in-out infinite;
}
.scn-alexandria-palace-dotage .shadow-sharp {
  position: absolute; bottom: 0; left: 20%; width: 60%; height: 20%; background: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.3) 50%, transparent 100%); filter: blur(8px);
  animation: ad-shadow 7s ease-in-out infinite alternate;
}
@keyframes ad-bgdeep {
  0% { opacity: 0.4; } 50% { opacity: 0.6; } 100% { opacity: 0.45; }
}
@keyframes ad-bgmid {
  0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(2px); }
}
@keyframes ad-window {
  0% { opacity: 0.8; box-shadow: inset 0 0 30px rgba(255,200,100,0.2); } 50% { opacity: 1; box-shadow: inset 0 0 50px rgba(255,230,180,0.5); } 100% { opacity: 0.85; box-shadow: inset 0 0 35px rgba(255,200,100,0.3); }
}
@keyframes ad-brazier {
  0% { transform: translateX(-50%) scaleY(0.9); box-shadow: 0 0 20px 8px #c06020; } 50% { transform: translateX(-50%) scaleY(1.1); box-shadow: 0 0 40px 15px #ff8030; } 100% { transform: translateX(-50%) scaleY(0.95); box-shadow: 0 0 25px 10px #c06020; }
}
@keyframes ad-antony {
  0% { transform: translateX(0) rotate(2deg); } 25% { transform: translateX(2px) translateY(-2px) rotate(1deg); } 50% { transform: translateX(-1px) translateY(-1px) rotate(-1deg); } 75% { transform: translateX(1px) rotate(2deg); } 100% { transform: translateX(0) rotate(0); }
}
@keyframes ad-cleopatra {
  0% { transform: translateX(0) rotate(-3deg); } 25% { transform: translateX(-2px) rotate(-1deg); } 50% { transform: translateX(0) translateY(-3px) rotate(0); } 75% { transform: translateX(2px) rotate(1deg); } 100% { transform: translateX(0) rotate(-2deg); }
}
@keyframes ad-shadow {
  0% { transform: rotate(2deg); opacity: 0.2; } 50% { transform: rotate(-3deg); opacity: 0.5; } 100% { transform: rotate(1deg); opacity: 0.3; }
}

/* alexandria-palace-entry */
.scn-alexandria-palace-entry {
  background: linear-gradient(180deg, #f5e6c8 0%, #d4b896 30%, #9a7a5a 70%), radial-gradient(ellipse at 30% 20%, #fff8e0 0%, transparent 60%);
}
.scn-alexandria-palace-entry .bg-deep {
  position: absolute; inset: 0; background: linear-gradient(180deg, #b89a7a 0%, #8a6e4e 100%); opacity: 0.6;
  animation: ae-bgdeep 14s ease-in-out infinite alternate;
}
.scn-alexandria-palace-entry .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%; background: linear-gradient(180deg, #6a4e2e 0%, #3a2a1a 100%); border-radius: 50% 50% 0 0 / 10% 10% 0 0;
  animation: ae-floor 20s ease-in-out infinite alternate;
}
.scn-alexandria-palace-entry .arch-doorway {
  position: absolute; bottom: 35%; left: 50%; width: 50%; height: 55%; transform: translateX(-50%); background: radial-gradient(ellipse at 50% 0%, #2a1a0a 0%, #0a0500 100%); border-radius: 50% 50% 0 0 / 40% 40% 0 0; overflow: hidden;
}
.scn-alexandria-palace-entry .figure-antony {
  position: absolute; bottom: 36%; left: 42%; width: 32px; height: 72px; background: linear-gradient(180deg, #2a1a0a 0%, #0a0500 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center;
  animation: ae-antony 4s ease-in-out infinite;
}
.scn-alexandria-palace-entry .figure-cleopatra {
  position: absolute; bottom: 38%; left: 55%; width: 26px; height: 62px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 50% 40% 30% 30% / 60% 50% 40% 40%; transform-origin: bottom center;
  animation: ae-cleopatra 5s ease-in-out infinite;
}
.scn-alexandria-palace-entry .light-ray {
  position: absolute; top: 0; width: 30%; height: 100%; background: linear-gradient(180deg, rgba(255,248,224,0.3) 0%, transparent 80%); filter: blur(12px); pointer-events: none;
}
.scn-alexandria-palace-entry .ray-left { left: 10%; animation: ae-ray-l 10s ease-in-out infinite alternate; }
.scn-alexandria-palace-entry .ray-right { right: 10%; animation: ae-ray-r 10s ease-in-out infinite alternate; }
.scn-alexandria-palace-entry .pillar {
  position: absolute; top: 0; bottom: 35%; width: 14px; background: linear-gradient(90deg, #c4a882 0%, #e0d0b8 50%, #c4a882 100%); border-radius: 7px;
}
.scn-alexandria-palace-entry .pillar-left { left: 15%; }
.scn-alexandria-palace-entry .pillar-right { right: 15%; }
@keyframes ae-bgdeep {
  0% { opacity: 0.5; } 50% { opacity: 0.7; } 100% { opacity: 0.55; }
}
@keyframes ae-floor {
  0% { transform: scaleY(1); } 50% { transform: scaleY(0.97) translateY(2px); } 100% { transform: scaleY(1); }
}
@keyframes ae-antony {
  0% { transform: translateX(-2px) rotate(1deg); } 30% { transform: translateX(0) translateY(-2px) rotate(0); } 60% { transform: translateX(2px) translateY(-1px) rotate(-1deg); } 100% { transform: translateX(-1px) rotate(0); }
}
@keyframes ae-cleopatra {
  0% { transform: translateX(2px) rotate(-1deg); } 30% { transform: translateX(0) translateY(-3px) rotate(2deg); } 60% { transform: translateX(-2px) translateY(-1px) rotate(0); } 100% { transform: translateX(1px) rotate(-1deg); }
}
@keyframes ae-ray-l {
  0% { transform: translateX(0) rotate(2deg); opacity: 0.3; } 50% { transform: translateX(4px) rotate(-1deg); opacity: 0.5; } 100% { transform: translateX(0) rotate(0); opacity: 0.35; }
}
@keyframes ae-ray-r {
  0% { transform: translateX(0) rotate(-2deg); opacity: 0.3; } 50% { transform: translateX(-4px) rotate(1deg); opacity: 0.5; } 100% { transform: translateX(0) rotate(0); opacity: 0.35; }
}

/* alexandria-roman-news */
.scn-alexandria-roman-news {
  background: linear-gradient(180deg, #e8d8c0 0%, #c8b098 30%, #907a5a 70%), radial-gradient(ellipse at 40% 60%, #ffe0c0 0%, transparent 70%);
}
.scn-alexandria-roman-news .bg-deep {
  position: absolute; inset: 0; background: linear-gradient(180deg, #b09880 0%, #7a6050 100%); opacity: 0.5;
  animation: ar-bgdeep 16s ease-in-out infinite alternate;
}
.scn-alexandria-roman-news .throne-step {
  position: absolute; bottom: 30%; left: 50%; transform: translateX(-50%); width: 80px; height: 20px; background: linear-gradient(180deg, #8a7050 0%, #5a4030 100%); border-radius: 4px;
}
.scn-alexandria-roman-news .throne {
  position: absolute; bottom: 38%; left: 50%; transform: translateX(-50%); width: 60px; height: 50px; background: linear-gradient(180deg, #6a5030 0%, #3a2010 100%); border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.4);
}
.scn-alexandria-roman-news .figure-antony {
  position: absolute; bottom: 40%; left: 42%; width: 30px; height: 65px; background: linear-gradient(180deg, #2a1a0a 0%, #0a0500 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center;
  animation: ar-antony 6s ease-in-out infinite;
}
.scn-alexandria-roman-news .figure-messenger {
  position: absolute; bottom: 33%; left: 58%; width: 24px; height: 55px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 50% 40% 30% 30% / 60% 50% 40% 40%; transform-origin: bottom center;
  animation: ar-messenger 5s ease-in-out infinite;
}
.scn-alexandria-roman-news .scroll {
  position: absolute; bottom: 38%; left: 60%; width: 16px; height: 8px; background: linear-gradient(180deg, #d4c0a0 0%, #b09870 100%); border-radius: 50%; transform: rotate(-20deg);
  animation: ar-scroll 4s ease-in-out infinite alternate;
}
.scn-alexandria-roman-news .torch {
  position: absolute; bottom: 36%; width: 8px; height: 40px; background: linear-gradient(180deg, #8a6e4e 0%, #3a2a1a 100%); border-radius: 4px;
}
.scn-alexandria-roman-news .torch-left { left: 25%; animation: ar-torch-l 3s ease-in-out infinite alternate; }
.scn-alexandria-roman-news .torch-right { right: 25%; animation: ar-torch-r 3.5s ease-in-out infinite alternate; }
.scn-alexandria-roman-news .torch::after {
  content: ''; display: block; position: absolute; top: -12px; left: 50%; transform: translateX(-50%); width: 10px; height: 14px; background: radial-gradient(ellipse, #ffaa40 0%, #c06020 60%, transparent 100%); border-radius: 50%;
  animation: ar-torchflame 1.5s ease-in-out infinite alternate;
}
@keyframes ar-bgdeep {
  0% { opacity: 0.4; } 50% { opacity: 0.6; } 100% { opacity: 0.45; }
}
@keyframes ar-antony {
  0% { transform: translateX(0) rotate(-1deg); } 30% { transform: translateX(-2px) translateY(-1px) rotate(1deg); } 60% { transform: translateX(1px) translateY(0) rotate(0); } 100% { transform: translateX(0) rotate(-1deg); }
}
@keyframes ar-messenger {
  0% { transform: translateX(0) translateY(0) rotate(2deg); } 25% { transform: translateX(-3px) translateY(-2px) rotate(-1deg); } 50% { transform: translateX(2px) translateY(1px) rotate(0); } 75% { transform: translateX(-1px) translateY(-1px) rotate(1deg); } 100% { transform: translateX(0) rotate(0); }
}
@keyframes ar-scroll {
  0% { width: 16px; height: 8px; } 50% { width: 20px; height: 10px; transform: rotate(-15deg); } 100% { width: 14px; height: 7px; transform: rotate(-25deg); }
}
@keyframes ar-torch-l {
  0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; }
}
@keyframes ar-torch-r {
  0% { opacity: 0.8; } 50% { opacity: 0.7; } 100% { opacity: 0.9; }
}
@keyframes ar-torchflame {
  0% { transform: translateX(-50%) scaleY(0.8); opacity: 0.8; } 50% { transform: translateX(-50%) scaleY(1.2); opacity: 1; } 100% { transform: translateX(-50%) scaleY(0.9); opacity: 0.9; }
}

/* cleopatra-taunts-caesar */
.scn-cleopatra-taunts-caesar {
  background: linear-gradient(180deg, #e8d8c0 0%, #c8b098 30%, #907a5a 70%), radial-gradient(ellipse at 60% 40%, #ffe0c0 0%, transparent 70%);
}
.scn-cleopatra-taunts-caesar .bg-deep {
  position: absolute; inset: 0; background: linear-gradient(180deg, #b09880 0%, #7a6050 100%); opacity: 0.45;
  animation: ct-bgdeep 15s ease-in-out infinite alternate;
}
.scn-cleopatra-taunts-caesar .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #5a4030 0%, #2a1a0a 100%); border-radius: 30% 70% 0 0 / 20% 40% 0 0;
  animation: ct-floor 22s ease-in-out infinite alternate;
}
.scn-cleopatra-taunts-caesar .column {
  position: absolute; top: 0; bottom: 30%; width: 12px; background: linear-gradient(90deg, #c4a882 0%, #e0d0b8 50%, #c4a882 100%); border-radius: 6px;
}
.scn-cleopatra-taunts-caesar .column-left { left: 20%; }
.scn-cleopatra-taunts-caesar .column-right { right: 20%; }
.scn-cleopatra-taunts-caesar .figure-cleopatra {
  position: absolute; bottom: 35%; left: 48%; width: 28px; height: 65px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 50% 40% 30% 30% / 60% 50% 40% 40%; transform-origin: bottom center;
  animation: ct-cleopatra 5s ease-in-out infinite;
}
.scn-cleopatra-taunts-caesar .figure-antony {
  position: absolute; bottom: 32%; left: 57%; width: 30px; height: 60px; background: linear-gradient(180deg, #2a1a0a 0%, #0a0500 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center;
  animation: ct-antony 6s ease-in-out infinite;
}
.scn-cleopatra-taunts-caesar .brazier-back {
  position: absolute; bottom: 35%; left: 35%; width: 30px; height: 40px; background: radial-gradient(ellipse at 50% 20%, #ffaa40 0%, #c06020 40%, #6a2e0a 100%); border-radius: 50% 50% 30% 30%; box-shadow: 0 0 20px 6px #c06020;
  animation: ct-brazier-b 3.5s ease-in-out infinite alternate;
}
.scn-cleopatra-taunts-caesar .brazier-front {
  position: absolute; bottom: 33%; left: 65%; width: 25px; height: 35px; background: radial-gradient(ellipse at 50% 20%, #ffaa40 0%, #c06020 40%, #6a2e0a 100%); border-radius: 50% 50% 30% 30%; box-shadow: 0 0 15px 4px #c06020;
  animation: ct-brazier-f 4s ease-in-out infinite alternate;
}
.scn-cleopatra-taunts-caesar .shadow-spread {
  position: absolute; bottom: 0; left: 10%; width: 80%; height: 25%; background: linear-gradient(180deg, rgba(0,0,0,0.2) 0%, transparent 100%); filter: blur(10px);
  animation: ct-shadow 8s ease-in-out infinite alternate;
}
@keyframes ct-bgdeep {
  0% { opacity: 0.4; } 50% { opacity: 0.55; } 100% { opacity: 0.5; }
}
@keyframes ct-floor {
  0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(2px); }
}
@keyframes ct-cleopatra {
  0% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(3px) translateY(-2px) rotate(1deg); } 50% { transform: translateX(-1px) translateY(0) rotate(-1deg); } 75% { transform: translateX(2px) translateY(-1px) rotate(2deg); } 100% { transform: translateX(0) rotate(0); }
}
@keyframes ct-antony {
  0% { transform: translateX(0) rotate(2deg); } 30% { transform: translateX(-2px) translateY(-1px) rotate(-1deg); } 60% { transform: translateX(1px) translateY(1px) rotate(0); } 100% { transform: translateX(0) rotate(1deg); }
}
@keyframes ct-brazier-b {
  0% { transform: scaleY(0.9); box-shadow: 0 0 15px 4px #c06020; } 50% { transform: scaleY(1.1); box-shadow: 0 0 25px 8px #ff8030; } 100% { transform: scaleY(0.95); box-shadow: 0 0 18px 5px #c06020; }
}
@keyframes ct-brazier-f {
  0% { transform: scaleY(0.85); box-shadow: 0 0 10px 3px #c06020; } 50% { transform: scaleY(1.1); box-shadow: 0 0 20px 6px #ff8030; } 100% { transform: scaleY(0.9); box-shadow: 0 0 12px 4px #c06020; }
}
@keyframes ct-shadow {
  0% { opacity: 0.15; } 50% { opacity: 0.4; } 100% { opacity: 0.2; }
}

/* Scene: offer-acceptance */
.scn-offer-acceptance {
  background: linear-gradient(180deg, #fde9c8 0%, #fce2b0 40%, #f5d39a 100%), radial-gradient(ellipse at 50% 30%, #ffe6c0 0%, transparent 60%);
}
.scn-offer-acceptance .sky { position:absolute; inset:0 0 60% 0; background: linear-gradient(180deg, #fff8e0 0%, #fceab8 100%); animation: oa-sky 14s ease-in-out infinite alternate; }
.scn-offer-acceptance .floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #c9a96e 0%, #b0885a 100%); border-radius: 20% 20% 0 0 / 30% 30% 0 0; box-shadow: inset 0 6px 20px rgba(80,60,30,.3); }
.scn-offer-acceptance .wall-shadow { position:absolute; bottom:40%; left:0; right:0; height:60%; background: linear-gradient(135deg, rgba(180,140,80,.15) 0%, transparent 50%, rgba(180,140,80,.1) 100%); }
.scn-offer-acceptance .table { position:absolute; bottom:20%; left:50%; width:100px; height:30px; transform:translateX(-50%); background: linear-gradient(90deg, #8a6a3a 0%, #a08050 40%, #8a6a3a 100%); border-radius: 6px; box-shadow: 0 4px 10px rgba(0,0,0,.3); }
.scn-offer-acceptance .figure-speaker { position:absolute; bottom:20%; left:40%; width:24px; height:60px; background: linear-gradient(180deg, #2a1a0e 0%, #1a0e06 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: oa-speaker 6s ease-in-out infinite; }
.scn-offer-acceptance .scroll { position:absolute; bottom:25%; left:46%; width:20px; height:8px; background: linear-gradient(180deg, #e6d0a0 0%, #c8b080 100%); border-radius: 2px; transform: rotate(-15deg); box-shadow: 0 1px 4px rgba(0,0,0,.2); animation: oa-scroll 4s ease-in-out infinite alternate; }
.scn-offer-acceptance .window-light { position:absolute; bottom:45%; left:70%; width:40px; height:60px; background: radial-gradient(ellipse, #fff8d0 0%, #fce8a0 30%, transparent 70%); border-radius: 10px / 20px; box-shadow: 0 0 40px 15px #ffe080; animation: oa-window 8s ease-in-out infinite alternate; }
.scn-offer-acceptance .sun-ray { position:absolute; top:0; left:20%; width:6px; height:100%; background: linear-gradient(180deg, rgba(255,240,180,.4) 0%, rgba(255,240,180,.1) 100%); transform: skewX(-30deg); animation: oa-ray 12s linear infinite; }
@keyframes oa-sky { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes oa-speaker { 0% { transform: translateX(0) rotate(-2deg) } 25% { transform: translateX(4px) rotate(0deg) } 50% { transform: translateX(0) rotate(2deg) } 75% { transform: translateX(-2px) rotate(0deg) } 100% { transform: translateX(0) rotate(-1deg) } }
@keyframes oa-scroll { 0% { transform: rotate(-15deg) translateY(0) } 100% { transform: rotate(-10deg) translateY(-2px) } }
@keyframes oa-window { 0% { opacity:.5; box-shadow: 0 0 20px 5px #ffe080 } 50% { opacity:1; box-shadow: 0 0 60px 20px #ffe680 } 100% { opacity:.7; box-shadow: 0 0 30px 10px #ffd060 } }
@keyframes oa-ray { 0% { transform: skewX(-30deg) translateX(-10px) } 100% { transform: skewX(-30deg) translateX(20px) } }

/* Scene: antony-and-pompey-bond */
.scn-antony-and-pompey-bond {
  background: linear-gradient(180deg, #f2d09a 0%, #e8b880 40%, #d4a36a 100%), radial-gradient(ellipse at 50% 40%, #ffe0a0 0%, transparent 60%);
}
.scn-antony-and-pompey-bond .sky { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #ffeec0 0%, #fadca8 100%); animation: ap-sky 10s ease-in-out infinite alternate; }
.scn-antony-and-pompey-bond .ground { position:absolute; bottom:0; left:0; right:0; height:45%; background: linear-gradient(180deg, #b8905c 0%, #9c784a 100%); border-radius: 30% 70% 0 0 / 20% 40% 0 0; }
.scn-antony-and-pompey-bond .horizon-mist { position:absolute; bottom:40%; left:0; right:0; height:10%; background: linear-gradient(180deg, transparent 0%, rgba(255,220,160,.3) 50%, transparent 100%); filter: blur(4px); animation: ap-mist 8s ease-in-out infinite alternate; }
.scn-antony-and-pompey-bond .figure-left { position:absolute; bottom:12%; left:35%; width:28px; height:60px; background: linear-gradient(180deg, #3a2212 0%, #1a0e06 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ap-figureL 4s ease-in-out infinite; }
.scn-antony-and-pompey-bond .figure-right { position:absolute; bottom:12%; right:35%; width:28px; height:60px; background: linear-gradient(180deg, #3a2212 0%, #1a0e06 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ap-figureR 4s ease-in-out infinite alternate; }
.scn-antony-and-pompey-bond .handshake { position:absolute; bottom:22%; left:50%; width:16px; height:12px; transform:translateX(-50%); background: linear-gradient(180deg, #4a2a14 0%, #2a1408 100%); border-radius: 50% 50% 0 0; box-shadow: 0 2px 6px rgba(0,0,0,.2); animation: ap-hand 3s ease-in-out infinite; }
.scn-antony-and-pompey-bond .sun-glow { position:absolute; top:5%; left:50%; width:80px; height:80px; transform:translateX(-50%); background: radial-gradient(circle, #ffe680 0%, #fec850 40%, transparent 70%); border-radius: 50%; box-shadow: 0 0 60px 20px #fec850; animation: ap-sun 6s ease-in-out infinite alternate; }
.scn-antony-and-pompey-bond .cloud-puff { position:absolute; top:20%; left:20%; width:70px; height:20px; background: linear-gradient(180deg, rgba(255,255,255,.6) 0%, rgba(255,220,160,.2) 100%); border-radius: 50%; filter: blur(5px); animation: ap-cloud 25s linear infinite; }
@keyframes ap-sky { 0% { opacity:.8 } 100% { opacity:1 } }
@keyframes ap-mist { 0% { opacity:.3; transform: translateY(0) } 100% { opacity:.6; transform: translateY(-2px) } }
@keyframes ap-figureL { 0% { transform: translateX(0) rotate(-2deg) } 25% { transform: translateX(6px) rotate(0deg) } 50% { transform: translateX(0) rotate(2deg) } 75% { transform: translateX(-4px) rotate(0deg) } 100% { transform: translateX(0) rotate(-1deg) } }
@keyframes ap-figureR { 0% { transform: translateX(0) rotate(2deg) } 25% { transform: translateX(-6px) rotate(0deg) } 50% { transform: translateX(0) rotate(-2deg) } 75% { transform: translateX(4px) rotate(0deg) } 100% { transform: translateX(0) rotate(1deg) } }
@keyframes ap-hand { 0% { transform: translateX(-50%) scale(1) } 50% { transform: translateX(-50%) scale(1.05) } 100% { transform: translateX(-50%) scale(0.98) } }
@keyframes ap-sun { 0% { transform: translateX(-50%) scale(1); opacity:.7 } 50% { transform: translateX(-50%) scale(1.08); opacity:1 } 100% { transform: translateX(-50%) scale(1); opacity:.8 } }
@keyframes ap-cloud { 0% { transform: translateX(-30px) } 100% { transform: translateX(100vw) } }

/* Scene: agreement-and-feast */
.scn-agreement-and-feast {
  background: linear-gradient(180deg, #e9c89a 0%, #dbb280 40%, #c8a06e 100%), radial-gradient(ellipse at 50% 30%, #f5d4a0 0%, transparent 60%);
}
.scn-agreement-and-feast .tent-sky { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #ffe8c0 0%, #f5d8a0 100%); border-radius: 0 0 40% 40% / 0 0 20% 20%; animation: af-sky 9s ease-in-out infinite alternate; }
.scn-agreement-and-feast .tent-wall { position:absolute; bottom:30%; left:5%; right:5%; height:30%; background: linear-gradient(135deg, #b0804a 0%, #8a6a3a 100%); border-radius: 5% / 10%; box-shadow: inset 0 4px 12px rgba(0,0,0,.2); }
.scn-agreement-and-feast .feast-table { position:absolute; bottom:10%; left:50%; width:140px; height:20px; transform:translateX(-50%); background: linear-gradient(90deg, #6a5030 0%, #8a6a40 30%, #6a5030 100%); border-radius: 4px; box-shadow: 0 3px 8px rgba(0,0,0,.3); animation: af-table 5s ease-in-out infinite; }
.scn-agreement-and-feast .goblet-1 { position:absolute; bottom:20%; left:38%; width:12px; height:18px; background: linear-gradient(180deg, #b09050 0%, #8a7038 100%); border-radius: 0 0 6px 6px; box-shadow: 0 2px 4px rgba(0,0,0,.2); animation: af-goblet1 4s ease-in-out infinite alternate; }
.scn-agreement-and-feast .goblet-2 { position:absolute; bottom:20%; right:38%; width:12px; height:18px; background: linear-gradient(180deg, #b09050 0%, #8a7038 100%); border-radius: 0 0 6px 6px; box-shadow: 0 2px 4px rgba(0,0,0,.2); animation: af-goblet2 4s ease-in-out infinite alternate 1s; }
.scn-agreement-and-feast .platter { position:absolute; bottom:16%; left:50%; width:30px; height:8px; transform:translateX(-50%); background: radial-gradient(ellipse, #d0a060 0%, #b08040 100%); border-radius: 50%; box-shadow: 0 1px 3px rgba(0,0,0,.2); animation: af-platter 6s ease-in-out infinite; }
.scn-agreement-and-feast .figure-head-1 { position:absolute; bottom:22%; left:30%; width:20px; height:28px; background: linear-gradient(180deg, #4a2a14 0%, #2a1408 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; animation: af-head1 7s ease-in-out infinite alternate; }
.scn-agreement-and-feast .figure-head-2 { position:absolute; bottom:22%; right:30%; width:20px; height:28px; background: linear-gradient(180deg, #3a2212 0%, #1a0e06 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; animation: af-head2 7s ease-in-out infinite alternate 0.5s; }
.scn-agreement-and-feast .lamp { position:absolute; top:10%; left:50%; width:10px; height:16px; transform:translateX(-50%); background: radial-gradient(ellipse, #ffe080 0%, #f0a030 60%, transparent 80%); border-radius: 50%; box-shadow: 0 0 30px 8px #f0a030; animation: af-lamp 3s ease-in-out infinite alternate; }
@keyframes af-sky { 0% { opacity:.8 } 100% { opacity:1 } }
@keyframes af-table { 0% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(1.02) } 100% { transform: translateX(-50%) scaleY(0.98) } }
@keyframes af-goblet1 { 0% { transform: rotate(-3deg) } 100% { transform: rotate(3deg) } }
@keyframes af-goblet2 { 0% { transform: rotate(3deg) } 100% { transform: rotate(-3deg) } }
@keyframes af-platter { 0% { transform: translateX(-50%) translateY(0) } 50% { transform: translateX(-50%) translateY(-1px) } 100% { transform: translateX(-50%) translateY(0) } }
@keyframes af-head1 { 0% { transform: rotate(-4deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-1deg) } }
@keyframes af-head2 { 0% { transform: rotate(4deg) } 50% { transform: rotate(-2deg) } 100% { transform: rotate(1deg) } }
@keyframes af-lamp { 0% { opacity:.6; box-shadow: 0 0 20px 4px #f0a030 } 50% { opacity:1; box-shadow: 0 0 50px 15px #f0a030 } 100% { opacity:.8; box-shadow: 0 0 30px 8px #f0a030 } }

/* Scene: enobarbus-menas-banter */
.scn-enobarbus-menas-banter {
  background: linear-gradient(180deg, #b8d8ff 0%, #90c0f0 40%, #6aa0d0 100%), radial-gradient(ellipse at 50% 30%, #d0e8ff 0%, transparent 60%);
}
.scn-enobarbus-menas-banter .bright-sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #d8f0ff 0%, #b0d0f0 100%); animation: em-sky 12s ease-in-out infinite alternate; }
.scn-enobarbus-menas-banter .distant-hills { position:absolute; bottom:30%; left:0; right:0; height:15%; background: linear-gradient(180deg, #709060 0%, #508040 100%); border-radius: 40% 50% 0 0 / 60% 70% 0 0; filter: blur(2px); }
.scn-enobarbus-menas-banter .soldier-left { position:absolute; bottom:10%; left:30%; width:30px; height:70px; background: linear-gradient(180deg, #c8553d 0%, #8a2a1a 100%); border-radius: 50% 50% 20% 20% / 70% 70% 30% 30%; transform-origin: bottom center; animation: em-soldierL 2.5s ease-in-out infinite; }
.scn-enobarbus-menas-banter .soldier-right { position:absolute; bottom:10%; right:30%; width:30px; height:70px; background: linear-gradient(180deg, #c8553d 0%, #8a2a1a 100%); border-radius: 50% 50% 20% 20% / 70% 70% 30% 30%; transform-origin: bottom center; animation: em-soldierR 2.5s ease-in-out infinite 0.2s; }
.scn-enobarbus-menas-banter .mattress { position:absolute; bottom:18%; left:50%; width:60px; height:16px; transform:translateX(-50%) rotate(-8deg); background: linear-gradient(180deg, #d0b080 0%, #a08860 100%); border-radius: 20% 20% 40% 40% / 50% 50% 30% 30%; box-shadow: 0 2px 6px rgba(0,0,0,.3); animation: em-mattress 4s ease-in-out infinite; }
.scn-enobarbus-menas-banter .jester-hat { position:absolute; bottom:28%; left:35%; width:20px; height:24px; background: radial-gradient(ellipse at 50% 0%, #ffd700 0%, #cc8800 100%); border-radius: 50% 50% 0 0; transform: rotate(15deg); box-shadow: 0 4px 8px rgba(0,0,0,.2); animation: em-hat 2s ease-in-out infinite alternate; }
.scn-enobarbus-menas-banter .sunburst { position:absolute; top:5%; left:50%; width:100px; height:100px; transform:translateX(-50%); background: radial-gradient(circle, #ffe680 0%, #fec850 30%, transparent 70%); border-radius: 50%; box-shadow: 0 0 80px 30px #fec850; animation: em-sun 8s ease-in-out infinite alternate; }
.scn-enobarbus-menas-banter .sparkle-1 { position:absolute; top:12%; left:20%; width:6px; height:6px; background: #fff; border-radius: 50%; box-shadow: 0 0 10px 2px #fff; animation: em-sparkle 1.5s ease-in-out infinite alternate; }
.scn-enobarbus-menas-banter .sparkle-2 { position:absolute; top:18%; right:15%; width:4px; height:4px; background: #fff; border-radius: 50%; box-shadow: 0 0 8px 2px #fff; animation: em-sparkle 1.8s ease-in-out infinite alternate 0.5s; }
@keyframes em-sky { 0% { opacity:.8 } 100% { opacity:1 } }
@keyframes em-soldierL { 0% { transform: translateX(0) rotate(-3deg) } 25% { transform: translateX(6px) rotate(2deg) } 50% { transform: translateX(0) rotate(4deg) } 75% { transform: translateX(-4px) rotate(-1deg) } 100% { transform: translateX(0) rotate(-2deg) } }
@keyframes em-soldierR { 0% { transform: translateX(0) rotate(3deg) } 25% { transform: translateX(-6px) rotate(-2deg) } 50% { transform: translateX(0) rotate(-4deg) } 75% { transform: translateX(4px) rotate(1deg) } 100% { transform: translateX(0) rotate(2deg) } }
@keyframes em-mattress { 0% { transform: translateX(-50%) rotate(-8deg) translateY(0) } 50% { transform: translateX(-50%) rotate(-4deg) translateY(-3px) } 100% { transform: translateX(-50%) rotate(-8deg) translateY(0) } }
@keyframes em-hat { 0% { transform: rotate(15deg) scale(1) } 100% { transform: rotate(20deg) scale(1.05) } }
@keyframes em-sun { 0% { transform: translateX(-50%) scale(1); opacity:.7 } 50% { transform: translateX(-50%) scale(1.15); opacity:1 } 100% { transform: translateX(-50%) scale(1); opacity:.8 } }
@keyframes em-sparkle { 0% { opacity:0; transform: scale(0.5) } 100% { opacity:1; transform: scale(1.2) } }

.scn-invitation-to-galley {
  background: linear-gradient(180deg, #ffd6a0 0%, #e0a060 40%, #402010 100%), radial-gradient(ellipse at 70% 20%, #ffe8c0 0%, transparent 50%);
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.scn-invitation-to-galley .itg-sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #87ceeb 0%, #b0d4f1 40%, #ffe8c0 100%);
  animation: itg-sky 12s ease-in-out infinite alternate;
}
.scn-invitation-to-galley .itg-sea {
  position: absolute; bottom: 0; left: 0; right: 0; height: 55%;
  background: linear-gradient(180deg, #1e6b8a 0%, #0a3a5a 100%);
  border-radius: 40% 50% 0 0 / 20% 30% 0 0;
  animation: itg-sea 8s ease-in-out infinite alternate;
}
.scn-invitation-to-galley .itg-deck {
  position: absolute; bottom: 25%; left: 20%; right: 20%; height: 12%;
  background: linear-gradient(180deg, #8b5e3c 0%, #5a3e1e 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.4);
  animation: itg-deck 6s ease-in-out infinite alternate;
}
.scn-invitation-to-galley .itg-mast {
  position: absolute; bottom: 37%; left: 50%; width: 6px; height: 35%;
  background: linear-gradient(180deg, #5c3a1a 0%, #3a2210 100%);
  transform: translateX(-50%);
  border-radius: 2px;
  box-shadow: 2px 0 4px rgba(0,0,0,0.3);
  animation: itg-mast 10s ease-in-out infinite;
}
.scn-invitation-to-galley .itg-sail {
  position: absolute; bottom: 42%; left: 48%; width: 60px; height: 40px;
  background: linear-gradient(135deg, #f5deb3 0%, #d2b48c 50%, #a08060 100%);
  border-radius: 0 50% 50% 0;
  transform-origin: left center;
  box-shadow: 4px 4px 8px rgba(0,0,0,0.3);
  animation: itg-sail 4s ease-in-out infinite alternate;
}
.scn-invitation-to-galley .itg-rigging {
  position: absolute; bottom: 55%; left: 42%; width: 16%; height: 2px;
  background: #4a3020;
  border-radius: 1px;
  animation: itg-rigging 3s ease-in-out infinite alternate;
}
.scn-invitation-to-galley .itg-figure1 {
  position: absolute; bottom: 26%; left: 35%; width: 16px; height: 30px;
  background: linear-gradient(180deg, #2a1a10 0%, #1a0e08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: itg-figure1 2s ease-in-out infinite;
}
.scn-invitation-to-galley .itg-figure2 {
  position: absolute; bottom: 26%; left: 42%; width: 16px; height: 30px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: itg-figure2 2.4s ease-in-out infinite 0.2s;
}
.scn-invitation-to-galley .itg-sun {
  position: absolute; top: 8%; right: 15%; width: 60px; height: 60px;
  background: radial-gradient(circle, #fff4c0 0%, #ffe080 40%, transparent 70%);
  border-radius: 50%;
  filter: blur(4px);
  animation: itg-sun 5s ease-in-out infinite alternate;
}
@keyframes itg-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes itg-sea { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(2px); } }
@keyframes itg-deck { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-2px) rotate(0deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes itg-mast { 0% { transform: translateX(-50%) rotate(-2deg); } 50% { transform: translateX(-50%) rotate(0deg); } 100% { transform: translateX(-50%) rotate(2deg); } }
@keyframes itg-sail { 0% { transform: scaleX(1) scaleY(1); } 50% { transform: scaleX(1.05) scaleY(1.05); } 100% { transform: scaleX(0.95) scaleY(0.95); } }
@keyframes itg-rigging { 0% { opacity: 0.6; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-3px); } 100% { opacity: 0.6; transform: translateY(0); } }
@keyframes itg-figure1 { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 25% { transform: translateX(4px) translateY(-1px) rotate(2deg); } 50% { transform: translateX(8px) translateY(0) rotate(-1deg); } 75% { transform: translateX(12px) translateY(-1px) rotate(1deg); } 100% { transform: translateX(16px) translateY(0) rotate(0deg); } }
@keyframes itg-figure2 { 0% { transform: translateX(0) translateY(0) rotate(1deg); } 25% { transform: translateX(4px) translateY(-1px) rotate(-1deg); } 50% { transform: translateX(8px) translateY(0) rotate(2deg); } 75% { transform: translateX(12px) translateY(-1px) rotate(0deg); } 100% { transform: translateX(16px) translateY(0) rotate(-1deg); } }
@keyframes itg-sun { 0% { transform: scale(0.95); opacity: 0.8; } 50% { transform: scale(1.05); opacity: 1; } 100% { transform: scale(0.98); opacity: 0.9; } }

.scn-thieves-kissing {
  background: linear-gradient(180deg, #f5e6c8 0%, #d4b896 40%, #a08060 100%), radial-gradient(ellipse at 50% 0%, #fff8e0 0%, transparent 60%);
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.scn-thieves-kissing .thk-background {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #e8d8b8 0%, #c0a880 100%);
  animation: thk-bg 15s ease-in-out infinite alternate;
}
.scn-thieves-kissing .thk-ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #a08860 0%, #806848 100%);
  border-radius: 30% 20% 0 0;
  box-shadow: inset 0 8px 12px rgba(0,0,0,0.2);
  animation: thk-ground 10s ease-in-out infinite alternate;
}
.scn-thieves-kissing .thk-column {
  position: absolute; bottom: 30%; left: 65%; width: 20px; height: 60%;
  background: linear-gradient(90deg, #c8b898 0%, #b0a080 50%, #8a7a6a 100%);
  border-radius: 4px;
  box-shadow: 4px 0 8px rgba(0,0,0,0.2);
  animation: thk-column 8s ease-in-out infinite alternate;
}
.scn-thieves-kissing .thk-figure1 {
  position: absolute; bottom: 15%; left: 30%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: thk-figure1 2s ease-in-out infinite alternate;
}
.scn-thieves-kissing .thk-figure2 {
  position: absolute; bottom: 15%; right: 30%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: thk-figure2 2.2s ease-in-out infinite alternate 0.2s;
}
.scn-thieves-kissing .thk-hands {
  position: absolute; bottom: 30%; left: 50%; width: 20px; height: 10px;
  background: #5a4a3a;
  border-radius: 50% 50% 0 0;
  transform: translateX(-50%);
  animation: thk-hands 1.5s ease-in-out infinite alternate;
}
.scn-thieves-kissing .thk-shadow {
  position: absolute; bottom: 0; left: 20%; right: 20%; height: 8%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.3) 0%, transparent 80%);
  animation: thk-shadow 3s ease-in-out infinite alternate;
}
@keyframes thk-bg { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes thk-ground { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes thk-column { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-2px) rotate(0deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes thk-figure1 { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(5px) rotate(5deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes thk-figure2 { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-5px) rotate(-5deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes thk-hands { 0% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(1.2); } 100% { transform: translateX(-50%) scaleY(1); } }
@keyframes thk-shadow { 0% { opacity: 0.4; } 50% { opacity: 0.6; } 100% { opacity: 0.4; } }

.scn-gossip-about-antonys-marriage {
  background: linear-gradient(180deg, #b8c4d0 0%, #8a9aac 50%, #5a6a7a 100%), radial-gradient(ellipse at 50% 30%, #e0e8f0 0%, transparent 60%);
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.scn-gossip-about-antonys-marriage .gam-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #c8d4e0 0%, #a0b0c0 100%);
  animation: gam-bg 20s ease-in-out infinite alternate;
}
.scn-gossip-about-antonys-marriage .gam-column1 {
  position: absolute; bottom: 0; left: 15%; width: 24px; height: 80%;
  background: linear-gradient(90deg, #b8a890 0%, #a09080 50%, #8a7a6a 100%);
  border-radius: 4px;
  box-shadow: 4px 0 10px rgba(0,0,0,0.3);
  animation: gam-col 12s ease-in-out infinite alternate;
}
.scn-gossip-about-antonys-marriage .gam-column2 {
  position: absolute; bottom: 0; right: 15%; width: 24px; height: 80%;
  background: linear-gradient(90deg, #b8a890 0%, #a09080 50%, #8a7a6a 100%);
  border-radius: 4px;
  box-shadow: -4px 0 10px rgba(0,0,0,0.3);
  animation: gam-col 14s ease-in-out infinite alternate-reverse;
}
.scn-gossip-about-antonys-marriage .gam-figure1 {
  position: absolute; bottom: 10%; left: 35%; width: 28px; height: 50px;
  background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: gam-fig1 3s ease-in-out infinite alternate;
}
.scn-gossip-about-antonys-marriage .gam-figure2 {
  position: absolute; bottom: 10%; right: 35%; width: 28px; height: 50px;
  background: linear-gradient(180deg, #3a4a5a 0%, #2a3a4a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: gam-fig2 3.5s ease-in-out infinite alternate 0.5s;
}
.scn-gossip-about-antonys-marriage .gam-shadow {
  position: absolute; bottom: 0; left: 20%; right: 20%; height: 15%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.5) 0%, transparent 80%);
  animation: gam-shadow 6s ease-in-out infinite alternate;
}
.scn-gossip-about-antonys-marriage .gam-lightbeam {
  position: absolute; top: 0; left: 40%; width: 30%; height: 100%;
  background: linear-gradient(135deg, rgba(255,255,200,0.15) 0%, rgba(255,255,200,0.05) 100%);
  clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%);
  animation: gam-beam 8s ease-in-out infinite alternate;
}
.scn-gossip-about-antonys-marriage .gam-statue-base {
  position: absolute; bottom: 8%; left: 50%; width: 30px; height: 12px;
  background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%);
  border-radius: 4px;
  transform: translateX(-50%);
  animation: gam-base 15s ease-in-out infinite;
}
@keyframes gam-bg { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes gam-col { 0% { transform: translateY(0); } 50% { transform: translateY(-5px); } 100% { transform: translateY(0); } }
@keyframes gam-fig1 { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(3px) rotate(2deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes gam-fig2 { 0% { transform: translateX(0) rotate(2deg); } 50% { transform: translateX(-3px) rotate(-2deg); } 100% { transform: translateX(0) rotate(2deg); } }
@keyframes gam-shadow { 0% { opacity: 0.3; } 50% { opacity: 0.5; } 100% { opacity: 0.3; } }
@keyframes gam-beam { 0% { opacity: 0.1; } 50% { opacity: 0.3; } 100% { opacity: 0.1; } }
@keyframes gam-base { 0% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(1.1); } 100% { transform: translateX(-50%) scaleY(1); } }

.scn-enobarbus-predicts-break {
  background: linear-gradient(180deg, #c8b898 0%, #a08868 50%, #705040 100%), radial-gradient(ellipse at 50% 20%, #e0c8a8 0%, transparent 50%);
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.scn-enobarbus-predicts-break .epb-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #d4c4a8 0%, #b09880 100%);
  animation: epb-bg 18s ease-in-out infinite alternate;
}
.scn-enobarbus-predicts-break .epb-table {
  position: absolute; bottom: 15%; left: 25%; right: 25%; height: 12%;
  background: linear-gradient(180deg, #8a7050 0%, #6a5030 100%);
  border-radius: 8% 8% 0 0;
  box-shadow: 0 -8px 12px rgba(0,0,0,0.3);
  animation: epb-table 7s ease-in-out infinite alternate;
}
.scn-enobarbus-predicts-break .epb-figure {
  position: absolute; bottom: 25%; left: 45%; width: 22px; height: 45px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: epb-fig 4s ease-in-out infinite alternate;
}
.scn-enobarbus-predicts-break .epb-hand {
  position: absolute; bottom: 45%; left: 55%; width: 18px; height: 8px;
  background: #4a3a2a;
  border-radius: 50% 50% 0 0;
  transform: rotate(-30deg);
  transform-origin: bottom center;
  animation: epb-hand 2s ease-in-out infinite alternate;
}
.scn-enobarbus-predicts-break .epb-candle {
  position: absolute; bottom: 28%; left: 30%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #e8c080 0%, #c0a060 100%);
  border-radius: 2px 2px 4px 4px;
  animation: epb-candle 3s ease-in-out infinite alternate;
}
.scn-enobarbus-predicts-break .epb-shadow {
  position: absolute; bottom: 0; left: 30%; right: 30%; height: 20%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.4) 0%, transparent 80%);
  animation: epb-shadow 9s ease-in-out infinite alternate;
}
.scn-enobarbus-predicts-break .epb-window {
  position: absolute; top: 10%; right: 10%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #e0d0b0 0%, #c0b090 100%);
  border: 4px solid #6a5a4a;
  border-radius: 4px;
  box-shadow: inset 0 0 12px rgba(255,255,200,0.3);
  animation: epb-window 5s ease-in-out infinite alternate;
}
@keyframes epb-bg { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes epb-table { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes epb-fig { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(2px) rotate(1deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes epb-hand { 0% { transform: rotate(-30deg) scaleY(1); } 50% { transform: rotate(-25deg) scaleY(1.1); } 100% { transform: rotate(-30deg) scaleY(1); } }
@keyframes epb-candle { 0% { transform: scaleY(1); opacity: 0.9; } 50% { transform: scaleY(1.1); opacity: 1; } 100% { transform: scaleY(1); opacity: 0.9; } }
@keyframes epb-shadow { 0% { opacity: 0.4; } 50% { opacity: 0.6; } 100% { opacity: 0.4; } }
@keyframes epb-window { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }

/* Scene: messenger-pompey-strong */
.scn-messenger-pompey-strong {
  background: 
    linear-gradient(135deg, #f5e6d0 0%, #c4a882 50%, #8a6e4e 100%),
    radial-gradient(ellipse at 70% 60%, #fff2d6 0%, transparent 60%);
}
.scn-messenger-pompey-strong .wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #d4c4a8 0%, #b09878 100%);
  animation: mps-wall 20s ease-in-out infinite alternate;
}
.scn-messenger-pompey-strong .window {
  position: absolute; top: 10%; left: 15%; width: 40%; height: 50%;
  background: linear-gradient(180deg, #9ac0d4 0%, #6d8b9e 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 40px rgba(255,240,200,0.3);
  animation: mps-sky 8s ease-in-out infinite alternate;
}
.scn-messenger-pompey-strong .light-beam {
  position: absolute; top: 15%; left: 20%; width: 30%; height: 60%;
  background: linear-gradient(135deg, rgba(255,235,180,0.2) 0%, transparent 80%);
  filter: blur(8px);
  animation: mps-beam 6s ease-in-out infinite alternate;
}
.scn-messenger-pompey-strong .messenger {
  position: absolute; bottom: 10%; left: 25%; width: 14%; height: 40%;
  background: radial-gradient(ellipse at 50% 30%, #3a2a1a 0%, #1a1008 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mps-stance 4s ease-in-out infinite;
}
.scn-messenger-pompey-strong .cloak {
  position: absolute; bottom: 10%; left: 23%; width: 18%; height: 20%;
  background: linear-gradient(180deg, #5e3a2a 0%, #2a1a10 100%);
  border-radius: 40% 40% 20% 20%;
  transform-origin: top center;
  animation: mps-cloak 3s ease-in-out infinite alternate;
}
.scn-messenger-pompey-strong .scroll {
  position: absolute; bottom: 28%; left: 33%; width: 6%; height: 14%;
  background: linear-gradient(180deg, #f0d8a0 0%, #c8a86a 100%);
  border-radius: 2px 2px 20% 20%;
  transform-origin: bottom center;
  animation: mps-scroll 2s ease-in-out infinite alternate;
}
.scn-messenger-pompey-strong .shadow {
  position: absolute; bottom: 5%; left: 20%; width: 30%; height: 8%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.3) 0%, transparent 70%);
  animation: mps-shadow 4s ease-in-out infinite;
}
@keyframes mps-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes mps-sky { 0% { opacity: 0.8; transform: scaleY(1); } 50% { opacity: 1; transform: scaleY(1.02); } 100% { opacity: 0.7; transform: scaleY(0.98); } }
@keyframes mps-beam { 0% { opacity: 0.3; transform: translateX(0) rotate(-2deg); } 50% { opacity: 0.6; transform: translateX(5px) rotate(2deg); } 100% { opacity: 0.4; transform: translateX(-3px) rotate(0deg); } }
@keyframes mps-stance { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-3px) rotate(1deg); } 100% { transform: translateY(0) rotate(-0.5deg); } }
@keyframes mps-cloak { 0% { transform: rotate(-2deg) scaleX(1); } 50% { transform: rotate(2deg) scaleX(1.02); } 100% { transform: rotate(-3deg) scaleX(0.98); } }
@keyframes mps-scroll { 0% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(5deg) translateY(-2px); } 100% { transform: rotate(-8deg) translateY(1px); } }
@keyframes mps-shadow { 0% { opacity: 0.3; transform: scaleX(1); } 50% { opacity: 0.5; transform: scaleX(1.1); } 100% { opacity: 0.2; transform: scaleX(0.9); } }

/* Scene: caesar-muses-fickle-crowd */
.scn-caesar-muses-fickle-crowd {
  background:
    linear-gradient(135deg, #f0e8d8 0%, #d0c0a0 50%, #b09878 100%),
    radial-gradient(ellipse at 60% 30%, #fff5e0 0%, transparent 50%);
}
.scn-caesar-muses-fickle-crowd .room {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #dbd0ba 0%, #bfa88a 100%);
  animation: cmfc-room 15s ease-in-out infinite alternate;
}
.scn-caesar-muses-fickle-crowd .window-cmfc {
  position: absolute; top: 8%; right: 12%; width: 35%; height: 45%;
  background: linear-gradient(135deg, #b8d4e8 0%, #7a9bb0 100%);
  border-radius: 6px;
  box-shadow: inset 0 0 30px rgba(240,220,180,0.2);
  animation: cmfc-view 12s ease-in-out infinite alternate;
}
.scn-caesar-muses-fickle-crowd .table-cmfc {
  position: absolute; bottom: 12%; left: 20%; width: 60%; height: 20%;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a3018 100%);
  border-radius: 8px 8px 0 0;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.3);
  animation: cmfc-table 10s ease-in-out infinite;
}
.scn-caesar-muses-fickle-crowd .map {
  position: absolute; bottom: 18%; left: 30%; width: 40%; height: 14%;
  background: linear-gradient(135deg, #d8b880 0%, #b89858 100%);
  border-radius: 4px;
  transform: rotate(2deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: cmfc-map 6s ease-in-out infinite alternate;
}
.scn-caesar-muses-fickle-crowd .figure-caesar {
  position: absolute; bottom: 22%; left: 42%; width: 12%; height: 30%;
  background: radial-gradient(ellipse at 50% 35%, #2a1a10 0%, #0e0804 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cmfc-caesar 5s ease-in-out infinite;
}
.scn-caesar-muses-fickle-crowd .goblet {
  position: absolute; bottom: 16%; left: 55%; width: 6%; height: 10%;
  background: linear-gradient(180deg, #c8a060 0%, #906a30 100%);
  border-radius: 0 0 30% 30%;
  transform-origin: bottom center;
  animation: cmfc-goblet 4s ease-in-out infinite alternate;
}
@keyframes cmfc-room { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.95; } }
@keyframes cmfc-view { 0% { opacity: 0.7; transform: scaleY(1); } 50% { opacity: 1; transform: scaleY(1.01); } 100% { opacity: 0.8; transform: scaleY(0.98); } }
@keyframes cmfc-table { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-2px) scaleX(1.02); } 100% { transform: translateY(1px) scaleX(0.98); } }
@keyframes cmfc-map { 0% { transform: rotate(1deg) translateY(0); } 50% { transform: rotate(-2deg) translateY(-1px); } 100% { transform: rotate(3deg) translateY(0); } }
@keyframes cmfc-caesar { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(-0.5deg); } }
@keyframes cmfc-goblet { 0% { transform: rotate(0) translateX(0); } 50% { transform: rotate(5deg) translateX(2px); } 100% { transform: rotate(-3deg) translateX(-1px); } }

/* Scene: caesar-recalls-past-hardship */
.scn-caesar-recalls-past-hardship {
  background:
    linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 40%, #1a0e04 100%),
    radial-gradient(ellipse at 50% 80%, #5a3a1a 0%, transparent 70%);
}
.scn-caesar-recalls-past-hardship .chamber {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #2a1a0a 0%, #1a0e04 100%);
  animation: crp-chamber 10s ease-in-out infinite alternate;
}
.scn-caesar-recalls-past-hardship .col-left {
  position: absolute; top: 0; left: 20%; width: 8%; height: 100%;
  background: linear-gradient(180deg, #4a3018 0%, #2a1a0a 100%);
  border-radius: 4px;
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
  animation: crp-column 8s ease-in-out infinite alternate;
}
.scn-caesar-recalls-past-hardship .col-right {
  position: absolute; top: 0; right: 20%; width: 8%; height: 100%;
  background: linear-gradient(180deg, #4a3018 0%, #2a1a0a 100%);
  border-radius: 4px;
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
  animation: crp-column 8s ease-in-out infinite alternate-reverse;
}
.scn-caesar-recalls-past-hardship .caesar-figure {
  position: absolute; bottom: 15%; left: 30%; width: 14%; height: 45%;
  background: radial-gradient(ellipse at 50% 35%, #1a0e04 0%, #080402 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: crp-caesar 3s ease-in-out infinite;
}
.scn-caesar-recalls-past-hardship .antony-figure {
  position: absolute; bottom: 15%; right: 30%; width: 12%; height: 38%;
  background: radial-gradient(ellipse at 50% 35%, #2a1a0a 0%, #0e0804 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: crp-antony 3s ease-in-out infinite alternate;
}
.scn-caesar-recalls-past-hardship .goblet-crp {
  position: absolute; bottom: 12%; left: 48%; width: 4%; height: 10%;
  background: linear-gradient(180deg, #a07030 0%, #603810 100%);
  border-radius: 0 0 30% 30%;
  transform-origin: bottom center;
  animation: crp-goblet 2s ease-in-out infinite;
}
.scn-caesar-recalls-past-hardship .puddle {
  position: absolute; bottom: 8%; left: 40%; width: 20%; height: 6%;
  background: radial-gradient(ellipse, rgba(180,120,60,0.16) 0%, transparent 70%);
  filter: blur(4px);
  animation: crp-puddle 4s ease-in-out infinite alternate;
}
@keyframes crp-chamber { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes crp-column { 0% { transform: scaleY(1) translateX(0); } 50% { transform: scaleY(1.005) translateX(2px); } 100% { transform: scaleY(0.995) translateX(-1px); } }
@keyframes crp-caesar { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-4px) rotate(2deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes crp-antony { 0% { transform: translateY(0) rotate(2deg) scaleX(1); } 50% { transform: translateY(-3px) rotate(-1deg) scaleX(1.02); } 100% { transform: translateY(1px) rotate(3deg) scaleX(0.98); } }
@keyframes crp-goblet { 0% { transform: rotate(0) translateY(0); } 50% { transform: rotate(15deg) translateY(-5px); } 100% { transform: rotate(-10deg) translateY(2px); } }
@keyframes crp-puddle { 0% { opacity: 0.2; transform: scaleX(1); } 50% { opacity: 0.4; transform: scaleX(1.1); } 100% { opacity: 0.1; transform: scaleX(0.9); } }

/* Scene: caesar-urges-council */
.scn-caesar-urges-council {
  background:
    linear-gradient(135deg, #c8b898 0%, #a08868 50%, #7a6040 100%),
    radial-gradient(ellipse at 50% 35%, #e0d0b0 0%, transparent 60%);
}
.scn-caesar-urges-council .floor {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #7a6040 0%, #5a4020 100%);
  border-radius: 0;
  animation: cuc-floor 15s ease-in-out infinite alternate;
}
.scn-caesar-urges-council .table-cuc {
  position: absolute; bottom: 15%; left: 10%; width: 80%; height: 30%;
  background: radial-gradient(ellipse, #8a6a4a 0%, #4a3018 100%);
  border-radius: 50%;
  transform: translateY(10%);
  box-shadow: 0 8px 20px rgba(0,0,0,0.4);
  animation: cuc-table 10s ease-in-out infinite;
}
.scn-caesar-urges-council .council-1 {
  position: absolute; bottom: 30%; left: 18%; width: 10%; height: 20%;
  background: radial-gradient(ellipse at 50% 40%, #2a1a10 0%, #0e0804 100%);
  border-radius: 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: cuc-figure-1 4s ease-in-out infinite;
}
.scn-caesar-urges-council .council-2 {
  position: absolute; bottom: 30%; left: 35%; width: 10%; height: 20%;
  background: radial-gradient(ellipse at 50% 40%, #3a2a1a 0%, #1a0e04 100%);
  border-radius: 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: cuc-figure-2 5s ease-in-out infinite alternate;
}
.scn-caesar-urges-council .council-3 {
  position: absolute; bottom: 30%; right: 35%; width: 10%; height: 20%;
  background: radial-gradient(ellipse at 50% 40%, #2a1a10 0%, #0e0804 100%);
  border-radius: 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: cuc-figure-3 4s ease-in-out infinite reverse;
}
.scn-caesar-urges-council .council-4 {
  position: absolute; bottom: 30%; right: 18%; width: 10%; height: 20%;
  background: radial-gradient(ellipse at 50% 40%, #3a2a1a 0%, #1a0e04 100%);
  border-radius: 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: cuc-figure-4 6s ease-in-out infinite alternate;
}
.scn-caesar-urges-council .map-cuc {
  position: absolute; bottom: 18%; left: 40%; width: 20%; height: 14%;
  background: linear-gradient(135deg, #c8a86a 0%, #a08040 100%);
  border-radius: 4px;
  transform: rotate(5deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: cuc-map 3s ease-in-out infinite alternate;
}
.scn-caesar-urges-council .candle {
  position: absolute; bottom: 24%; left: 50%; width: 4%; height: 10%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #f0d4a0 0%, #c09050 100%);
  border-radius: 2px 2px 10% 10%;
  animation: cuc-candle 2s ease-in-out infinite alternate;
}
@keyframes cuc-floor { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes cuc-table { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-2px) scale(1.005); } 100% { transform: translateY(1px) scale(0.995); } }
@keyframes cuc-figure-1 { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-3px) rotate(1deg); } 100% { transform: translateY(1px) rotate(-1deg); } }
@keyframes cuc-figure-2 { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(3deg); } 100% { transform: translateY(2px) rotate(-2deg); } }
@keyframes cuc-figure-3 { 0% { transform: translateY(0) rotate(1deg); } 50% { transform: translateY(-3px) rotate(-2deg); } 100% { transform: translateY(1px) rotate(2deg); } }
@keyframes cuc-figure-4 { 0% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(2px) rotate(-1deg); } }
@keyframes cuc-map { 0% { transform: rotate(4deg) scale(1); } 50% { transform: rotate(-2deg) scale(1.02); } 100% { transform: rotate(6deg) scale(0.98); } }
@keyframes cuc-candle { 0% { opacity: 0.7; transform: scaleY(1); } 50% { opacity: 1; transform: scaleY(1.1); } 100% { opacity: 0.8; transform: scaleY(0.9); } }

/* ---- scene: antony-orders-sea-fight ---- */
.scn-antony-orders-sea-fight {
  background: 
    radial-gradient(ellipse at 60% 20%, #f9e8c0 0%, transparent 50%),
    linear-gradient(180deg, #f5e6c8 0%, #e3cfa0 100%);
}
.scn-antony-orders-sea-fight .bg-room {
  position: absolute; inset: 0 0 0 0;
  background: linear-gradient(180deg, rgba(245,230,200,0.8) 0%, rgba(200,170,130,0.4) 100%);
  animation: asf-pulse 6s ease-in-out infinite alternate;
}
.scn-antony-orders-sea-fight .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #8b7355 0%, #5c4a32 100%);
  border-radius: 20% 20% 0 0 / 10% 10% 0 0;
  animation: asf-shade 4s ease-in-out infinite;
}
.scn-antony-orders-sea-fight .window-light {
  position: absolute; top: 10%; left: 70%; width: 20%; height: 40%;
  background: radial-gradient(ellipse at 50% 50%, #fff4dc 0%, #e3cfa0 80%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 0 40px 20px rgba(255,244,220,0.5);
  animation: asf-windowglow 3s ease-in-out infinite alternate;
}
.scn-antony-orders-sea-fight .table {
  position: absolute; bottom: 25%; left: 30%; width: 40%; height: 12%;
  background: linear-gradient(180deg, #6b4f3a 0%, #4a321e 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.5);
}
.scn-antony-orders-sea-fight .map {
  position: absolute; bottom: 32%; left: 35%; width: 30%; height: 8%;
  background: linear-gradient(135deg, #c8aa70 0%, #e8d098 50%, #b89250 100%);
  border-radius: 2% 2% 6% 6%;
  animation: asf-mapwave 8s ease-in-out infinite;
}
.scn-antony-orders-sea-fight .figure-antony {
  position: absolute; bottom: 28%; left: 38%; width: 16%; height: 40%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: asf-antony-move 5s ease-in-out infinite;
}
.scn-antony-orders-sea-fight .sword {
  position: absolute; bottom: 38%; left: 50%; width: 2%; height: 30%;
  background: linear-gradient(180deg, #a0a0b0 0%, #606070 100%);
  border-radius: 20% 20% 50% 50%;
  transform: rotate(-20deg);
  transform-origin: bottom center;
  animation: asf-swordglint 3s ease-in-out infinite alternate;
}
.scn-antony-orders-sea-fight .lantern {
  position: absolute; top: 15%; left: 25%; width: 6%; height: 8%;
  background: radial-gradient(circle, #ffd080 0%, #c89040 60%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 30px 15px #c89040;
  animation: asf-lanternsway 4s ease-in-out infinite;
}
@keyframes asf-pulse { 0% { opacity:0.85 } 50% { opacity:0.95 } 100% { opacity:0.85 } }
@keyframes asf-shade { 0%,100% { opacity:0.7 } 50% { opacity:0.9 } }
@keyframes asf-windowglow { 0% { opacity:0.7; transform: scale(0.95) } 50% { opacity:1; transform: scale(1.02) } 100% { opacity:0.75; transform: scale(0.98) } }
@keyframes asf-mapwave { 0%,100% { transform: translateY(0) rotate(-1deg) } 25% { transform: translateY(-3px) rotate(0deg) } 75% { transform: translateY(3px) rotate(1deg) } }
@keyframes asf-antony-move { 0%,100% { transform: translateX(0) rotate(-2deg) } 50% { transform: translateX(4px) rotate(2deg) } }
@keyframes asf-swordglint { 0% { opacity:0.6; box-shadow: none } 50% { opacity:1; box-shadow: 0 0 6px 2px #e0e0f0 } 100% { opacity:0.7 } }
@keyframes asf-lanternsway { 0%,100% { transform: rotate(-3deg) translate(0,0) } 25% { transform: rotate(3deg) translate(2px,-1px) } 50% { transform: rotate(0deg) translate(-1px,-2px) } 75% { transform: rotate(-2deg) translate(1px,0) } }

/* ---- scene: canidius-advises-land-fight ---- */
.scn-canidius-advises-land-fight {
  background: 
    radial-gradient(ellipse at 40% 30%, #f0d6a8 0%, transparent 60%),
    linear-gradient(180deg, #e8d4b0 0%, #c8b090 100%);
}
.scn-canidius-advises-land-fight .bg-chamber {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(232,212,176,0.7) 0%, rgba(200,176,144,0.3) 100%);
  animation: cal-sky 10s linear infinite alternate;
}
.scn-canidius-advises-land-fight .wall-panel {
  position: absolute; top: 0; left: 10%; width: 40%; height: 60%;
  background: linear-gradient(90deg, #a88a6a 0%, #7a6040 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: inset 0 -8px 20px rgba(0,0,0,0.3);
  animation: cal-panel-shift 8s ease-in-out infinite;
}
.scn-canidius-advises-land-fight .window-arch {
  position: absolute; top: 8%; left: 60%; width: 25%; height: 50%;
  background: radial-gradient(ellipse at 50% 50%, #fff8e8 0%, #e8d4b0 60%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  box-shadow: 0 0 50px 20px rgba(255,248,232,0.4);
  animation: cal-windowpulse 4s ease-in-out infinite alternate;
}
.scn-canidius-advises-land-fight .figure-canidius {
  position: absolute; bottom: 20%; left: 25%; width: 15%; height: 45%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: cal-canidius-move 6s ease-in-out infinite;
}
.scn-canidius-advises-land-fight .figure-antony-two {
  position: absolute; bottom: 22%; left: 55%; width: 14%; height: 42%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cal-antony-turn 7s ease-in-out infinite;
}
.scn-canidius-advises-land-fight .chair {
  position: absolute; bottom: 20%; left: 50%; width: 12%; height: 18%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 30% 30% 10% 10%;
  transform: scale(0.9);
}
.scn-canidius-advises-land-fight .scroll {
  position: absolute; bottom: 28%; left: 30%; width: 10%; height: 6%;
  background: linear-gradient(135deg, #d0b080 0%, #e8d098 50%, #b89050 100%);
  border-radius: 0 0 20% 20% / 0 0 40% 40%;
  animation: cal-scroll-unfurl 5s ease-in-out infinite alternate;
}
@keyframes cal-sky { 0% { opacity:0.8 } 100% { opacity:1 } }
@keyframes cal-panel-shift { 0%,100% { transform: scale(1) } 50% { transform: scale(1.02) translateX(-2px) } }
@keyframes cal-windowpulse { 0% { box-shadow: 0 0 30px 10px rgba(255,248,232,0.3); transform: scale(0.98) } 50% { box-shadow: 0 0 60px 25px rgba(255,248,232,0.5); transform: scale(1.02) } 100% { box-shadow: 0 0 35px 15px rgba(255,248,232,0.35); } }
@keyframes cal-canidius-move { 0%,100% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(3px) rotate(1deg) } 75% { transform: translateX(-2px) rotate(0deg) } }
@keyframes cal-antony-turn { 0%,100% { transform: rotate(0deg) } 50% { transform: rotate(5deg) translateX(2px) } }
@keyframes cal-scroll-unfurl { 0% { transform: scaleY(1) } 100% { transform: scaleY(1.5) translateY(-2px) } }

/* ---- scene: canidius-warns-against-sea ---- */
.scn-canidius-warns-against-sea {
  background: 
    radial-gradient(ellipse at 30% 40%, #e0c090 0%, transparent 70%),
    linear-gradient(180deg, #d4b898 0%, #a88868 100%);
}
.scn-canidius-warns-against-sea .bg-tall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(212,184,152,0.6) 0%, rgba(168,136,104,0.4) 100%);
  animation: cws-depth 12s ease-in-out infinite alternate;
}
.scn-canidius-warns-against-sea .window-tall {
  position: absolute; top: 5%; left: 25%; width: 50%; height: 70%;
  background: radial-gradient(ellipse at 50% 60%, #ffe8c0 0%, #d4b898 60%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 60px 30px rgba(255,232,192,0.3);
  animation: cws-windowfocus 5s ease-in-out infinite alternate;
}
.scn-canidius-warns-against-sea .curtain {
  position: absolute; top: 0; left: 20%; width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent 0%, rgba(140,100,70,0.6) 20%, transparent 80%, rgba(140,100,70,0.6) 100%);
  border-radius: 0 0 40% 40%;
  animation: cws-curtainsway 7s ease-in-out infinite;
}
.scn-canidius-warns-against-sea .figure-canidius-prof {
  position: absolute; bottom: 15%; left: 35%; width: 14%; height: 50%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform: scaleX(-1); /* profile facing right */
  animation: cws-figurebreathe 6s ease-in-out infinite;
}
.scn-canidius-warns-against-sea .hand-gesture {
  position: absolute; bottom: 35%; left: 45%; width: 6%; height: 8%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  transform: rotate(20deg);
  animation: cws-handpoint 4s ease-in-out infinite alternate;
}
.scn-canidius-warns-against-sea .model-ship {
  position: absolute; bottom: 22%; left: 15%; width: 20%; height: 18%;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%);
  border-radius: 60% 60% 30% 30% / 40% 40% 30% 30%;
  clip-path: polygon(0% 20%, 100% 20%, 90% 100%, 10% 100%);
  animation: cws-shiprock 8s ease-in-out infinite;
}
.scn-canidius-warns-against-sea .shadow-lines {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: repeating-linear-gradient(90deg, rgba(0,0,0,0.1) 0px, rgba(0,0,0,0.1) 3px, transparent 3px, transparent 8px);
  animation: cws-lineslide 10s linear infinite;
}
@keyframes cws-depth { 0% { filter: brightness(0.9) } 50% { filter: brightness(1) } 100% { filter: brightness(0.85) } }
@keyframes cws-windowfocus { 0% { transform: scale(0.98); box-shadow: 0 0 30px 10px rgba(255,232,192,0.2) } 50% { transform: scale(1.02); box-shadow: 0 0 80px 30px rgba(255,232,192,0.5) } 100% { transform: scale(1); box-shadow: 0 0 50px 20px rgba(255,232,192,0.3) } }
@keyframes cws-curtainsway { 0%,100% { transform: translateX(0) } 25% { transform: translateX(3px) } 75% { transform: translateX(-3px) } }
@keyframes cws-figurebreathe { 0%,100% { transform: scaleX(-1) scaleY(1) } 50% { transform: scaleX(-1) scaleY(1.02) } }
@keyframes cws-handpoint { 0% { transform: rotate(20deg) translate(0,0) } 100% { transform: rotate(30deg) translate(2px,-1px) } }
@keyframes cws-shiprock { 0%,100% { transform: rotate(-3deg) } 25% { transform: rotate(2deg) } 75% { transform: rotate(-1deg) } }
@keyframes cws-lineslide { 0% { background-position: 0 0 } 100% { background-position: 20px 0 } }

/* ---- scene: antony-insists-sea-fight ---- */
.scn-antony-insists-sea-fight {
  background: 
    radial-gradient(ellipse at 70% 30%, #f2dbb0 0%, transparent 60%),
    linear-gradient(180deg, #e0c8a0 0%, #b8a080 100%);
}
.scn-antony-insists-sea-fight .bg-dim {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(224,200,160,0.9) 0%, rgba(184,160,128,0.5) 100%);
  animation: ais-dimshift 8s ease-in-out infinite alternate;
}
.scn-antony-insists-sea-fight .window-bright {
  position: absolute; top: 8%; left: 15%; width: 70%; height: 55%;
  background: radial-gradient(ellipse at 50% 50%, #fffaea 0%, #f2dbb0 60%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 80px 40px rgba(255,250,234,0.6);
  animation: ais-windowglow 3s ease-in-out infinite alternate;
}
.scn-antony-insists-sea-fight .figure-silhouette {
  position: absolute; bottom: 15%; left: 40%; width: 20%; height: 55%;
  background: #0a0a1a;
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  filter: drop-shadow(0 0 10px rgba(0,0,0,0.5));
  animation: ais-figureemote 6s ease-in-out infinite;
}
.scn-antony-insists-sea-fight .window-frame {
  position: absolute; top: 8%; left: 15%; width: 70%; height: 55%;
  border: 8px solid #4a3a2a;
  border-radius: 20% 20% 10% 10%;
  box-sizing: border-box;
  pointer-events: none;
  animation: ais-framebreathe 5s ease-in-out infinite alternate;
}
.scn-antony-insists-sea-fight .chair-shadow {
  position: absolute; bottom: 12%; left: 55%; width: 18%; height: 22%;
  background: linear-gradient(180deg, #2a1a1a 0%, #0a0a0a 100%);
  border-radius: 30% 30% 10% 10%;
  transform: skewY(5deg);
  animation: ais-chairslide 7s ease-in-out infinite;
}
.scn-antony-insists-sea-fight .anchor-mark {
  position: absolute; bottom: 5%; right: 8%; width: 12%; height: 15%;
  background: radial-gradient(ellipse at 50% 30%, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%;
  clip-path: polygon(20% 0%, 80% 0%, 70% 30%, 80% 100%, 50% 80%, 20% 100%, 30% 30%);
  opacity: 0.6;
  animation: ais-anchorpulse 9s ease-in-out infinite;
}
@keyframes ais-dimshift { 0% { filter: brightness(0.8) } 100% { filter: brightness(1.1) } }
@keyframes ais-windowglow { 0% { box-shadow: 0 0 40px 15px rgba(255,250,234,0.4); transform: scale(1) } 50% { box-shadow: 0 0 100px 50px rgba(255,250,234,0.6); transform: scale(1.01) } 100% { box-shadow: 0 0 50px 20px rgba(255,250,234,0.45); } }
@keyframes ais-figureemote { 0%,100% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(3px) rotate(2deg) } 50% { transform: translateX(-2px) rotate(-1deg) } 75% { transform: translateX(1px) rotate(1deg) } }
@keyframes ais-framebreathe { 0% { opacity:0.8; border-width:6px } 50% { opacity:1; border-width:10px } 100% { opacity:0.85; border-width:7px } }
@keyframes ais-chairslide { 0%,100% { transform: translateX(0) skewY(5deg) } 25% { transform: translateX(4px) skewY(4deg) } 75% { transform: translateX(-3px) skewY(6deg) } }
@keyframes ais-anchorpulse { 0%,100% { opacity:0.5 } 50% { opacity:0.8 } }

.scn-caesar-sends-proculeius {
  background: linear-gradient(180deg, #f5e6c8 0%, #dac29a 30%, #b8986a 70%, #8a6e42 100%),
              radial-gradient(ellipse at 50% 0%, #fff2d6 0%, transparent 60%);
}
.scn-caesar-sends-proculeius .tent-back { position:absolute; inset:0 0 30% 0; background: linear-gradient(90deg, #e3d1b0 0%, #f0e0c0 50%, #dac29a 100%); border-radius: 0 0 40% 40% / 0 0 20% 20%; animation: csp-tent 20s ease-in-out infinite alternate; }
.scn-caesar-sends-proculeius .tent-flap-left { position:absolute; top:0; left:0; width:25%; height:80%; background: linear-gradient(135deg, #c4a67a 0%, #9e7e52 100%); clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%); animation: csp-flap 8s ease-in-out infinite; }
.scn-caesar-sends-proculeius .tent-flap-right { position:absolute; top:0; right:0; width:25%; height:80%; background: linear-gradient(225deg, #c4a67a 0%, #9e7e52 100%); clip-path: polygon(0 0, 100% 0, 100% 100%, 20% 100%); animation: csp-flap 8s ease-in-out infinite reverse; }
.scn-caesar-sends-proculeius .table { position:absolute; bottom:25%; left:35%; width:30%; height:12%; background: linear-gradient(180deg, #8b6f45 0%, #6a4f2e 100%); border-radius: 4px 4px 8px 8px; box-shadow: 0 6px 15px rgba(0,0,0,.3); animation: csp-table 12s ease-in-out infinite alternate; }
.scn-caesar-sends-proculeius .caesar { position:absolute; bottom:22%; left:45%; width:22px; height:50px; background: linear-gradient(180deg, #7a5a3a 0%, #4a3520 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: csp-caesar 6s ease-in-out infinite; }
.scn-caesar-sends-proculeius .proculeius { position:absolute; bottom:22%; right:20%; width:20px; height:48px; background: linear-gradient(180deg, #624b33 0%, #3e2b1b 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: csp-procu 8s ease-in-out infinite; }
.scn-caesar-sends-proculeius .lamp { position:absolute; bottom:35%; left:50%; width:12px; height:16px; background: radial-gradient(circle, #ffd080 0%, #c09040 70%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 25px 8px #ffd080, 0 0 50px 15px rgba(255,208,128,.4); animation: csp-lamp 3s ease-in-out infinite alternate; }
.scn-caesar-sends-proculeius .shadow-stripe { position:absolute; inset:0; background: linear-gradient(90deg, transparent 30%, rgba(0,0,0,.08) 50%, transparent 70%); animation: csp-shadow 15s ease-in-out infinite alternate; }
@keyframes csp-tent { 0% { opacity:.9; transform: scaleY(1); } 50% { opacity:1; transform: scaleY(1.01); } 100% { opacity:.95; transform: scaleY(1); } }
@keyframes csp-flap { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(5px) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes csp-table { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes csp-caesar { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(3px) rotate(-2deg); } 60% { transform: translateX(-2px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes csp-procu { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 25% { transform: translateX(-5px) translateY(-2px) rotate(1deg); } 50% { transform: translateX(-10px) translateY(-1px) rotate(0deg); } 75% { transform: translateX(-15px) translateY(-2px) rotate(-1deg); } 100% { transform: translateX(-20px) translateY(0) rotate(0deg); } }
@keyframes csp-lamp { 0% { opacity:.8; box-shadow: 0 0 20px 5px #ffd080; } 50% { opacity:1; box-shadow: 0 0 30px 10px #ffd080; } 100% { opacity:.9; box-shadow: 0 0 25px 7px #d0a050; } }
@keyframes csp-shadow { 0% { opacity:.2; } 50% { opacity:.5; } 100% { opacity:.2; } }

.scn-cleopatra-in-monument {
  background: linear-gradient(180deg, #1a1a3e 0%, #2a1e3a 40%, #1e1228 70%, #0a0614 100%),
              radial-gradient(ellipse at 50% 30%, #3a2a4a 0%, transparent 60%);
}
.scn-cleopatra-in-monument .monument-wall { position:absolute; inset:0 0 20% 0; background: linear-gradient(90deg, #2a1e3e 0%, #3a2a4a 30%, #2a1e3e 70%, #1a1228 100%); border-radius: 0 0 30% 30% / 0 0 10% 10%; animation: cim-wall 25s ease-in-out infinite alternate; }
.scn-cleopatra-in-monument .pillar-left { position:absolute; top:0; left:10%; width:8%; height:90%; background: linear-gradient(90deg, #4a3a5a 0%, #3a2a4a 50%, #2a1a3a 100%); border-radius: 8% 8% 4% 4%; box-shadow: 0 0 20px rgba(0,0,0,.5); animation: cim-pillar 15s ease-in-out infinite; }
.scn-cleopatra-in-monument .pillar-right { position:absolute; top:0; right:10%; width:8%; height:90%; background: linear-gradient(270deg, #4a3a5a 0%, #3a2a4a 50%, #2a1a3a 100%); border-radius: 8% 8% 4% 4%; box-shadow: 0 0 20px rgba(0,0,0,.5); animation: cim-pillar 15s ease-in-out infinite reverse; }
.scn-cleopatra-in-monument .sarcophagus { position:absolute; bottom:20%; left:35%; width:30%; height:20%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 10% 10% 5% 5%; box-shadow: inset 0 5px 15px rgba(0,0,0,.6); animation: cim-sarc 30s ease-in-out infinite alternate; }
.scn-cleopatra-in-monument .cleopatra { position:absolute; bottom:25%; left:42%; width:24px; height:56px; background: linear-gradient(180deg, #6a3a3a 0%, #3a1a1a 100%); border-radius: 50% 50% 35% 35% / 60% 60% 35% 35%; transform-origin: bottom center; box-shadow: 0 4px 10px rgba(0,0,0,.5); animation: cim-cleopatra 7s ease-in-out infinite; }
.scn-cleopatra-in-monument .brazier { position:absolute; bottom:30%; left:30%; width:20px; height:24px; background: radial-gradient(circle, #d07030 0%, #a05020 70%); border-radius: 50% 50% 10% 10%; box-shadow: 0 0 35px 12px #d07030, 0 0 70px 25px rgba(208,112,48,.3); animation: cim-brazier 4s ease-in-out infinite alternate; }
.scn-cleopatra-in-monument .candle { position:absolute; bottom:35%; right:20%; width:6px; height:18px; background: linear-gradient(180deg, #e0b060 0%, #a08040 100%); border-radius: 2px; box-shadow: 0 0 15px 4px rgba(224,176,96,.6); animation: cim-candle 3s ease-in-out infinite alternate; }
.scn-cleopatra-in-monument .dust-motes { position:absolute; inset:0; background: radial-gradient(circle at 30% 40%, rgba(255,255,200,0.08) 0%, transparent 50%), radial-gradient(circle at 70% 60%, rgba(255,255,200,0.05) 0%, transparent 40%); animation: cim-dust 20s linear infinite; }
@keyframes cim-wall { 0% { opacity:.8; } 50% { opacity:1; } 100% { opacity:.85; } }
@keyframes cim-pillar { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-5px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes cim-sarc { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes cim-cleopatra { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(3px) rotate(-2deg) scale(1); } 50% { transform: translateX(-2px) rotate(1deg) scale(1.01); } 75% { transform: translateX(1px) rotate(-1deg) scale(1); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes cim-brazier { 0% { opacity:.7; box-shadow: 0 0 25px 8px #d07030; } 50% { opacity:1; box-shadow: 0 0 40px 15px #d07030, 0 0 80px 30px rgba(208,112,48,.4); } 100% { opacity:.8; box-shadow: 0 0 30px 10px #b06020; } }
@keyframes cim-candle { 0% { opacity:.8; transform: scaleY(1); } 50% { opacity:1; transform: scaleY(1.05); } 100% { opacity:.85; transform: scaleY(1); } }
@keyframes cim-dust { 0% { background-position: 0 0; } 100% { background-position: 100px 100px; } }

.scn-proculeius-approaches {
  background: linear-gradient(180deg, #1a2a3a 0%, #2a3a4a 30%, #1a2a3a 60%, #0a1a2a 100%),
              radial-gradient(ellipse at 50% 0%, #3a4a5a 0%, transparent 70%);
}
.scn-proculeius-approaches .gate-arch { position:absolute; top:10%; left:20%; width:60%; height:70%; background: linear-gradient(180deg, #4a5a6a 0%, #3a4a5a 50%, #2a3a4a 100%); clip-path: polygon(0 0, 100% 0, 100% 100%, 80% 100%, 80% 60%, 20% 60%, 20% 100%, 0 100%); border-radius: 20% 20% 0 0; animation: pro-arch 30s ease-in-out infinite alternate; }
.scn-proculeius-approaches .gate-bars { position:absolute; top:10%; left:20%; width:60%; height:70%; background: repeating-linear-gradient(90deg, transparent, transparent 8%, rgba(0,0,0,.4) 8%, rgba(0,0,0,.4) 10%, transparent 10%, transparent 18%); clip-path: polygon(0 0, 100% 0, 100% 100%, 80% 100%, 80% 60%, 20% 60%, 20% 100%, 0 100%); animation: pro-bars 5s ease-in-out infinite; }
.scn-proculeius-approaches .proculeius-figure { position:absolute; bottom:15%; left:35%; width:22px; height:50px; background: linear-gradient(180deg, #4a5a6a 0%, #2a3a4a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: pro-proc 8s ease-in-out infinite; }
.scn-proculeius-approaches .gallus { position:absolute; bottom:15%; left:50%; width:20px; height:48px; background: linear-gradient(180deg, #3a4a5a 0%, #1a2a3a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: pro-gallus 8s ease-in-out infinite reverse; }
.scn-proculeius-approaches .torch { position:absolute; bottom:20%; left:40%; width:8px; height:14px; background: radial-gradient(circle, #d0a050 0%, #a07030 70%); border-radius: 50% 50% 10% 10%; box-shadow: 0 0 30px 10px #d0a050, 0 0 60px 20px rgba(208,160,80,.3); animation: pro-torch 3s ease-in-out infinite alternate; }
.scn-proculeius-approaches .ground-mist { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.02) 100%); filter: blur(8px); animation: pro-mist 10s ease-in-out infinite; }
.scn-proculeius-approaches .moonbeam { position:absolute; top:0; left:30%; width:40%; height:100%; background: linear-gradient(180deg, rgba(200,220,255,0.1) 0%, transparent 60%); clip-path: polygon(0 0, 100% 0, 70% 100%, 30% 100%); animation: pro-moon 12s ease-in-out infinite alternate; }
.scn-proculeius-approaches .shadow-guard { position:absolute; bottom:15%; right:15%; width:18px; height:45px; background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; opacity:.6; animation: pro-guard 6s ease-in-out infinite; }
@keyframes pro-arch { 0% { opacity:.9; } 50% { opacity:1; } 100% { opacity:.95; } }
@keyframes pro-bars { 0% { opacity:.5; } 50% { opacity:.7; } 100% { opacity:.5; } }
@keyframes pro-proc { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(3px) rotate(-2deg); } 60% { transform: translateX(-2px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes pro-gallus { 0% { transform: translateX(0) translateY(0); } 50% { transform: translateX(2px) translateY(-1px); } 100% { transform: translateX(0) translateY(0); } }
@keyframes pro-torch { 0% { opacity:.7; box-shadow: 0 0 20px 6px #d0a050; } 50% { opacity:1; box-shadow: 0 0 35px 12px #d0a050, 0 0 70px 25px rgba(208,160,80,.4); } 100% { opacity:.8; box-shadow: 0 0 25px 8px #b08030; } }
@keyframes pro-mist { 0% { transform: translateY(0) scaleY(1); opacity:.6; } 50% { transform: translateY(-5px) scaleY(1.1); opacity:.8; } 100% { transform: translateY(0) scaleY(1); opacity:.6; } }
@keyframes pro-moon { 0% { opacity:.2; } 50% { opacity:.4; } 100% { opacity:.2; } }
@keyframes pro-guard { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-2px) scale(1.02); } 100% { transform: translateY(0) scale(1); } }

.scn-cleopatra-bargains-with-caesar {
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 30%, #1a0a00 60%, #0a0500 100%),
              radial-gradient(ellipse at 50% 100%, #4a3a2a 0%, transparent 70%);
}
.scn-cleopatra-bargains-with-caesar .floor-tiles { position:absolute; bottom:0; left:0; right:0; height:25%; background: repeating-conic-gradient(#3a2a1a 0% 25%, #2a1a0a 0% 50%) 0 0 / 40px 40px; animation: cbc-floor 30s linear infinite; }
.scn-cleopatra-bargains-with-caesar .throne-base { position:absolute; bottom:20%; left:50%; width:40%; height:15%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 20% 20% 5% 5%; box-shadow: 0 -5px 15px rgba(0,0,0,.5); animation: cbc-thronebase 12s ease-in-out infinite alternate; }
.scn-cleopatra-bargains-with-caesar .caesar-throne { position:absolute; bottom:30%; left:55%; width:30px; height:45px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 40% 40% 20% 20% / 50% 50% 20% 20%; transform-origin: bottom center; box-shadow: 0 4px 10px rgba(0,0,0,.4); animation: cbc-throne 6s ease-in-out infinite; }
.scn-cleopatra-bargains-with-caesar .cleopatra-kneeling { position:absolute; bottom:18%; left:40%; width:22px; height:40px; background: linear-gradient(180deg, #7a5a4a 0%, #4a2a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: cbc-kneel 9s ease-in-out infinite; }
.scn-cleopatra-bargains-with-caesar .charmian { position:absolute; bottom:18%; left:32%; width:18px; height:38px; background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: cbc-charm 7s ease-in-out infinite; }
.scn-cleopatra-bargains-with-caesar .iras { position:absolute; bottom:18%; right:35%; width:18px; height:38px; background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: cbc-iras 7s ease-in-out infinite reverse; }
.scn-cleopatra-bargains-with-caesar .candelabra { position:absolute; bottom:28%; left:25%; width:12px; height:30px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%); border-radius: 3px; box-shadow: 0 0 20px 5px rgba(255,200,100,0.4); animation: cbc-candel 5s ease-in-out infinite alternate; }
@keyframes cbc-floor { 0% { background-position: 0 0; } 100% { background-position: 40px 0; } }
@keyframes cbc-thronebase { 0% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(1.02); } 100% { transform: translateX(-50%) scaleY(1); } }
@keyframes cbc-throne { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(2px) rotate(-1deg); } 60% { transform: translateX(-2px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes cbc-kneel { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 25% { transform: translateX(2px) translateY(-2px) rotate(1deg); } 50% { transform: translateX(-2px) translateY(-1px) rotate(-1deg); } 75% { transform: translateX(1px) translateY(-2px) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }
@keyframes cbc-charm { 0% { transform: translateX(0) scale(1); } 50% { transform: translateX(2px) scale(1.02); } 100% { transform: translateX(0) scale(1); } }
@keyframes cbc-iras { 0% { transform: translateX(0) scale(1); } 50% { transform: translateX(-2px) scale(1.02); } 100% { transform: translateX(0) scale(1); } }
@keyframes cbc-candel { 0% { opacity:.7; box-shadow: 0 0 15px 3px rgba(255,200,100,0.3); } 50% { opacity:1; box-shadow: 0 0 25px 8px rgba(255,200,100,0.6); } 100% { opacity:.8; box-shadow: 0 0 18px 5px rgba(255,200,100,0.4); } }

.scn-cleopatra-obsession-with-octavia {
  background:
    linear-gradient(135deg, #2a1a0a 0%, #4a2a18 35%, #7a4a28 65%, #5a3a1a 100%),
    radial-gradient(ellipse at 30% 50%, #3a2010 0%, transparent 70%);
}
.scn-cleopatra-obsession-with-octavia .wall-left {
  position: absolute;
  left: 0; top: 0; width: 40%; height: 100%;
  background: linear-gradient(90deg, #4a2a18 0%, #6a3a22 100%);
  box-shadow: inset -6px 0 20px rgba(0,0,0,.5);
}
.scn-cleopatra-obsession-with-octavia .wall-right {
  position: absolute;
  right: 0; top: 0; width: 40%; height: 100%;
  background: linear-gradient(90deg, #6a3a22 0%, #4a2a18 100%);
  box-shadow: inset 6px 0 20px rgba(0,0,0,.5);
}
.scn-cleopatra-obsession-with-octavia .floor {
  position: absolute;
  bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a2210 50%, #1a0e04 100%);
  border-radius: 40% 60% 0 0 / 20% 30% 0 0;
}
.scn-cleopatra-obsession-with-octavia .couch {
  position: absolute;
  bottom: 20%; left: 20%; width: 45%; height: 18%;
  background: linear-gradient(150deg, #8a6030 0%, #6a4420 60%, #4a2a10 100%);
  border-radius: 20% 20% 8% 8% / 40% 40% 10% 10%;
  box-shadow: 0 -4px 20px rgba(0,0,0,.6), inset 0 4px 12px rgba(200,160,80,.3);
  transform: rotate(-2deg);
  animation: cl-couch 8s ease-in-out infinite alternate;
}
.scn-cleopatra-obsession-with-octavia .figure-queen {
  position: absolute;
  bottom: 24%; left: 30%; width: 22%; height: 38%;
  background: radial-gradient(ellipse 60% 70% at 50% 30%, #d4a070 0%, #b07848 50%, #6a3a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  box-shadow: 0 8px 20px rgba(0,0,0,.5);
  animation: cl-queen 5s ease-in-out infinite alternate;
}
.scn-cleopatra-obsession-with-octavia .arm-queen {
  position: absolute;
  bottom: 38%; left: 48%; width: 8%; height: 32%;
  background: linear-gradient(180deg, #c89050 0%, #a06830 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%;
  transform-origin: top center;
  animation: cl-arm 6s ease-in-out infinite;
}
.scn-cleopatra-obsession-with-octavia .figure-maid {
  position: absolute;
  bottom: 22%; right: 22%; width: 14%; height: 32%;
  background: linear-gradient(180deg, #a08060 0%, #705040 80%);
  border-radius: 45% 45% 30% 30% / 50% 50% 30% 30%;
  transform: scaleX(-1);
  animation: cl-maid 7s ease-in-out infinite alternate;
}
.scn-cleopatra-obsession-with-octavia .window-arch {
  position: absolute;
  top: 12%; left: 50%; width: 20%; height: 26%;
  background: radial-gradient(ellipse 80% 100% at 50% 100%, rgba(200,180,120,.25) 0%, rgba(180,140,80,.1) 60%, transparent 100%);
  border: 2px solid rgba(200,160,80,.3);
  border-radius: 50% 50% 10% 10% / 80% 80% 10% 10%;
  box-shadow: inset 0 0 40px rgba(255,200,100,.15);
  animation: cl-window 10s ease-in-out infinite alternate;
}
.scn-cleopatra-obsession-with-octavia .lamp-glow {
  position: absolute;
  bottom: 35%; right: 35%; width: 6%; height: 10%;
  background: radial-gradient(circle, #ffd080 0%, #c08040 40%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px rgba(255,180,80,.4), 0 0 120px 40px rgba(255,180,80,.2);
  animation: cl-lamp 4s ease-in-out infinite alternate;
}
@keyframes cl-couch { 0% { transform: rotate(-2deg) } 50% { transform: rotate(0deg) translateY(-2px) } 100% { transform: rotate(-2deg) } }
@keyframes cl-queen { 0% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-4px) rotate(1deg) } 100% { transform: translateY(0) rotate(-1deg) } }
@keyframes cl-arm { 0% { transform: rotate(0deg) } 25% { transform: rotate(8deg) } 50% { transform: rotate(0deg) } 75% { transform: rotate(-5deg) } 100% { transform: rotate(0deg) } }
@keyframes cl-maid { 0% { transform: scaleX(-1) translateX(0) } 50% { transform: scaleX(-1) translateX(-8px) } 100% { transform: scaleX(-1) translateX(0) } }
@keyframes cl-window { 0% { opacity: .6 } 50% { opacity: 1 } 100% { opacity: .7 } }
@keyframes cl-lamp { 0% { transform: scale(1); box-shadow: 0 0 50px 15px rgba(255,180,80,.3) } 50% { transform: scale(1.15); box-shadow: 0 0 70px 30px rgba(255,200,100,.5) } 100% { transform: scale(1); box-shadow: 0 0 50px 15px rgba(255,180,80,.3) } }

.scn-near-misenum-parley {
  background:
    linear-gradient(180deg, #87a8c4 0%, #b0c8da 30%, #d4e0ec 60%, #e8dccc 100%),
    radial-gradient(ellipse at 70% 0%, #ffeedd 0%, transparent 60%);
}
.scn-near-misenum-parley .sea-bg {
  position: absolute;
  bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #5a7a90 0%, #4a6a80 40%, #3a5a70 100%);
  border-radius: 30% 70% 0 0 / 20% 50% 0 0;
  box-shadow: inset 0 20px 40px rgba(0,30,60,.3);
  animation: nm-sea 12s ease-in-out infinite alternate;
}
.scn-near-misenum-parley .sky-bg {
  position: absolute;
  top: 0; left: 0; right: 0; height: 55%;
  background: linear-gradient(180deg, #6a8aaa 0%, #8ab0d0 40%, #b0d0e8 100%);
  animation: nm-sky 15s ease-in-out infinite alternate;
}
.scn-near-misenum-parley .shore {
  position: absolute;
  bottom: 38%; left: 10%; right: 10%; height: 8%;
  background: linear-gradient(180deg, #d0bea0 0%, #b8a888 50%, #9a8a70 100%);
  border-radius: 40% 60% 0 0 / 70% 80% 0 0;
  box-shadow: inset 0 4px 12px rgba(0,0,0,.2);
  animation: nm-shore 10s ease-in-out infinite alternate;
}
.scn-near-misenum-parley .tent-pole {
  position: absolute;
  bottom: 42%; left: 42%; width: 1.5%; height: 25%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 20%;
  transform-origin: bottom center;
  animation: nm-pole 8s ease-in-out infinite alternate;
}
.scn-near-misenum-parley .figure-pompey {
  position: absolute;
  bottom: 36%; left: 28%; width: 10%; height: 22%;
  background: linear-gradient(180deg, #c0a880 0%, #8a7050 80%);
  border-radius: 45% 45% 30% 30% / 55% 55% 30% 30%;
  box-shadow: 0 4px 12px rgba(0,0,0,.3);
  animation: nm-figure 6s ease-in-out infinite alternate;
}
.scn-near-misenum-parley .figure-caesar {
  position: absolute;
  bottom: 36%; left: 42%; width: 10%; height: 22%;
  background: linear-gradient(180deg, #b0a090 0%, #7a6a5a 80%);
  border-radius: 45% 45% 30% 30% / 55% 55% 30% 30%;
  box-shadow: 0 4px 12px rgba(0,0,0,.3);
  animation: nm-figure 6s ease-in-out infinite alternate 0.3s;
}
.scn-near-misenum-parley .figure-anton {
  position: absolute;
  bottom: 36%; left: 55%; width: 11%; height: 23%;
  background: linear-gradient(180deg, #b09070 0%, #786048 80%);
  border-radius: 45% 45% 30% 30% / 55% 55% 30% 30%;
  box-shadow: 0 4px 12px rgba(0,0,0,.3);
  animation: nm-figure 6s ease-in-out infinite alternate 0.6s;
}
.scn-near-misenum-parley .banner {
  position: absolute;
  bottom: 48%; left: 38%; width: 6%; height: 14%;
  background: linear-gradient(180deg, #9a3a2a 0%, #6a2010 100%);
  border-radius: 0 0 20% 20% / 0 0 30% 30%;
  transform-origin: top center;
  animation: nm-banner 5s ease-in-out infinite alternate;
}
.scn-near-misenum-parley .sun-glow {
  position: absolute;
  top: 8%; right: 18%; width: 12%; height: 16%;
  background: radial-gradient(circle, rgba(255,240,200,.9) 0%, rgba(255,220,150,.3) 40%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 80px 30px rgba(255,230,180,.3);
  animation: nm-sun 20s ease-in-out infinite alternate;
}
@keyframes nm-sea { 0% { transform: translateY(0) } 50% { transform: translateY(4px) } 100% { transform: translateY(-2px) } }
@keyframes nm-sky { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .9 } }
@keyframes nm-shore { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes nm-pole { 0% { transform: rotate(-1deg) } 50% { transform: rotate(1deg) } 100% { transform: rotate(-1deg) } }
@keyframes nm-figure { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-4px) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes nm-banner { 0% { transform: rotate(-3deg) } 50% { transform: rotate(5deg) } 100% { transform: rotate(-2deg) } }
@keyframes nm-sun { 0% { transform: scale(1); opacity: .7 } 50% { transform: scale(1.1); opacity: 1 } 100% { transform: scale(.95); opacity: .8 } }

.scn-pompey-defiance {
  background:
    linear-gradient(180deg, #8a9aaa 0%, #b0c0d0 30%, #d0d8e0 60%, #c8b8a0 100%),
    radial-gradient(ellipse at 50% 100%, #c8b8a0 0%, transparent 70%);
}
.scn-pompey-defiance .ground {
  position: absolute;
  bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #b8a888 0%, #9a8a72 40%, #7a6a56 100%);
  border-radius: 20% 80% 0 0 / 30% 60% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,.3);
  animation: pd-ground 14s ease-in-out infinite alternate;
}
.scn-pompey-defiance .sky-fierce {
  position: absolute;
  top: 0; left: 0; right: 0; height: 65%;
  background: linear-gradient(180deg, #6a8aaa 0%, #8aaace 40%, #aac8e0 100%);
  box-shadow: inset 0 0 60px rgba(255,200,100,.2);
  animation: pd-sky 10s ease-in-out infinite alternate;
}
.scn-pompey-defiance .figure-pompey-def {
  position: absolute;
  bottom: 30%; left: 30%; width: 14%; height: 32%;
  background: linear-gradient(180deg, #c0a880 0%, #8a7050 70%, #5a4030 100%);
  border-radius: 50% 50% 35% 35% / 55% 55% 30% 30%;
  box-shadow: -4px 0 20px rgba(0,0,0,.4);
  transform-origin: bottom center;
  animation: pd-pompey 5s ease-in-out infinite alternate;
}
.scn-pompey-defiance .arm-out {
  position: absolute;
  bottom: 44%; left: 38%; width: 12%; height: 6%;
  background: linear-gradient(90deg, #b09070 0%, #6a5040 100%);
  border-radius: 20% 40% 30% 20% / 40% 50% 30% 20%;
  transform-origin: left center;
  box-shadow: 0 2px 8px rgba(0,0,0,.3);
  animation: pd-arm 4s ease-in-out infinite alternate;
}
.scn-pompey-defiance .figure-trio {
  position: absolute;
  bottom: 28%; right: 16%; width: 30%; height: 28%;
  background: 
    radial-gradient(ellipse 30% 100% at 15% 100%, #a09080 0%, transparent 100%),
    radial-gradient(ellipse 30% 100% at 50% 100%, #b0a090 0%, transparent 100%),
    radial-gradient(ellipse 30% 100% at 85% 100%, #a08870 0%, transparent 100%);
  border-radius: 10% 10% 0 0 / 20% 20% 0 0;
  box-shadow: 0 4px 16px rgba(0,0,0,.4);
  animation: pd-trio 7s ease-in-out infinite alternate;
}
.scn-pompey-defiance .spear-shadow {
  position: absolute;
  bottom: 30%; left: 42%; width: 1.5%; height: 35%;
  background: linear-gradient(180deg, #4a4030 0%, #2a2018 100%);
  border-radius: 20%;
  transform-origin: bottom center;
  box-shadow: 0 0 12px rgba(0,0,0,.3);
  animation: pd-spear 6s ease-in-out infinite alternate;
}
.scn-pompey-defiance .dust-cloud {
  position: absolute;
  bottom: 12%; left: 22%; width: 20%; height: 8%;
  background: rgba(180,160,130,.25);
  border-radius: 50%;
  filter: blur(8px);
  animation: pd-dust 8s ease-in-out infinite alternate;
}
.scn-pompey-defiance .sun-harsh {
  position: absolute;
  top: 12%; right: 24%; width: 14%; height: 18%;
  background: radial-gradient(circle, rgba(255,240,200,.8) 0%, rgba(255,200,120,.2) 40%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 100px 40px rgba(255,220,150,.3);
  animation: pd-sun 12s ease-in-out infinite alternate;
}
@keyframes pd-ground { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes pd-sky { 0% { opacity: .85 } 50% { opacity: 1 } 100% { opacity: .9 } }
@keyframes pd-pompey { 0% { transform: translateY(0) rotate(-1deg) } 40% { transform: translateY(-6px) rotate(2deg) } 100% { transform: translateY(0) rotate(-1deg) } }
@keyframes pd-arm { 0% { transform: rotate(0deg) } 30% { transform: rotate(40deg) scaleX(1.1) } 70% { transform: rotate(35deg) } 100% { transform: rotate(0deg) } }
@keyframes pd-trio { 0% { transform: translateX(0) translateY(0) } 50% { transform: translateX(4px) translateY(-3px) } 100% { transform: translateX(0) translateY(0) } }
@keyframes pd-spear { 0% { transform: rotate(-2deg) } 50% { transform: rotate(3deg) } 100% { transform: rotate(-1deg) } }
@keyframes pd-dust { 0% { transform: translateX(0) scale(1); opacity: .3 } 50% { transform: translateX(20px) scale(1.3); opacity: .5 } 100% { transform: translateX(0) scale(1); opacity: .3 } }
@keyframes pd-sun { 0% { transform: scale(1); opacity: .7 } 50% { transform: scale(1.12); opacity: 1 } 100% { transform: scale(.95); opacity: .8 } }

.scn-caesar-threat-at-sea {
  background:
    linear-gradient(175deg, #4a6a7a 0%, #6a8a9a 30%, #8a9aaa 55%, #7a8a90 100%),
    radial-gradient(ellipse at 60% 20%, #8a9aaa 0%, transparent 60%);
}
.scn-caesar-threat-at-sea .sea-deep {
  position: absolute;
  bottom: 0; left: 0; right: 0; height: 55%;
  background: linear-gradient(180deg, #3a5a6a 0%, #2a4a5a 40%, #1a3a4a 80%, #0a2a3a 100%);
  border-radius: 60% 40% 0 0 / 30% 20% 0 0;
  box-shadow: inset 0 20px 50px rgba(0,20,40,.5);
  animation: cs-sea 8s ease-in-out infinite alternate;
}
.scn-caesar-threat-at-sea .sky-storm {
  position: absolute;
  top: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #5a7a8a 0%, #7a9aaa 40%, #9abaca 100%);
  box-shadow: inset 0 0 80px rgba(200,220,240,.15);
  animation: cs-sky 12s ease-in-out infinite alternate;
}
.scn-caesar-threat-at-sea .ship-hull {
  position: absolute;
  bottom: 40%; left: 25%; width: 35%; height: 16%;
  background: linear-gradient(150deg, #5a3a2a 0%, #3a2218 60%, #1a0e08 100%);
  border-radius: 0 0 40% 40% / 0 0 60% 60%;
  box-shadow: 0 -4px 20px rgba(0,0,0,.5), inset 0 4px 12px rgba(100,60,30,.2);
  animation: cs-hull 6s ease-in-out infinite alternate;
}
.scn-caesar-threat-at-sea .ship-flag {
  position: absolute;
  bottom: 56%; left: 45%; width: 1.5%; height: 18%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0e 100%);
  border-radius: 20%;
  transform-origin: bottom center;
  animation: cs-flagpole 7s ease-in-out infinite alternate;
}
.scn-caesar-threat-at-sea .figure-caesar-sea {
  position: absolute;
  bottom: 46%; left: 32%; width: 10%; height: 18%;
  background: linear-gradient(180deg, #b0a090 0%, #7a6a5a 80%);
  border-radius: 45% 45% 30% 30% / 55% 55% 30% 30%;
  box-shadow: 0 4px 12px rgba(0,0,0,.4);
  animation: cs-figure 5s ease-in-out infinite alternate;
}
.scn-caesar-threat-at-sea .figure-pompey-sea {
  position: absolute;
  bottom: 44%; right: 30%; width: 9%; height: 17%;
  background: linear-gradient(180deg, #c0a880 0%, #8a7050 80%);
  border-radius: 45% 45% 30% 30% / 55% 55% 30% 30%;
  box-shadow: 0 4px 12px rgba(0,0,0,.4);
  animation: cs-figure 5s ease-in-out infinite alternate 0.3s;
}
.scn-caesar-threat-at-sea .wave-crest {
  position: absolute;
  bottom: 32%; left: 10%; width: 18%; height: 6%;
  background: rgba(180,210,230,.2);
  border-radius: 50%;
  filter: blur(3px);
  animation: cs-wave 4s ease-in-out infinite alternate;
}
.scn-caesar-threat-at-sea .spray {
  position: absolute;
  bottom: 38%; right: 20%; width: 10%; height: 8%;
  background: rgba(200,220,240,.15);
  border-radius: 50%;
  filter: blur(5px);
  animation: cs-spray 5s ease-in-out infinite alternate 0.5s;
}
@keyframes cs-sea { 0% { transform: translateY(0) } 50% { transform: translateY(8px) } 100% { transform: translateY(-4px) } }
@keyframes cs-sky { 0% { opacity: .7 } 50% { opacity: .95 } 100% { opacity: .8 } }
@keyframes cs-hull { 0% { transform: rotate(-2deg) translateY(0) } 50% { transform: rotate(3deg) translateY(6px) } 100% { transform: rotate(-2deg) translateY(0) } }
@keyframes cs-flagpole { 0% { transform: rotate(-2deg) } 50% { transform: rotate(4deg) } 100% { transform: rotate(-2deg) } }
@keyframes cs-figure { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-6px) rotate(2deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes cs-wave { 0% { transform: translateX(0) scale(1); opacity: .3 } 50% { transform: translateX(30px) scale(1.4); opacity: .6 } 100% { transform: translateX(0) scale(1); opacity: .3 } }
@keyframes cs-spray { 0% { transform: translateY(0) scale(1); opacity: .2 } 50% { transform: translateY(-10px) scale(1.3); opacity: .4 } 100% { transform: translateY(0) scale(1); opacity: .2 } }

/* caesar-dismisses-ambassador – calm, sunlit */
.scn-caesar-dismisses-ambassador {
  background: linear-gradient(180deg, #87CEEB 0%, #f5deb3 60%, #d2b48c 100%), radial-gradient(ellipse at 50% 0%, rgba(255,215,0,.15) 0%, transparent 60%);
}
.scn-caesar-dismisses-ambassador .sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #b0d4f1 0%, #87CEEB 100%); animation: cda-sky 14s ease-in-out infinite; }
.scn-caesar-dismisses-ambassador .ground { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #d2b48c 0%, #c4a882 40%, #b89a70 100%); border-radius: 20% 20% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,.1); animation: cda-ground 10s ease-in-out infinite alternate; }
.scn-caesar-dismisses-ambassador .pillar-l { position:absolute; left:10%; bottom:30%; width:5%; height:55%; background: linear-gradient(180deg, #e0d5c0 0%, #c4b89a 50%, #a89878 100%); border-radius: 8px 8px 0 0; box-shadow: 4px 0 6px rgba(0,0,0,.15); animation: cda-pillar 22s ease-in-out infinite; }
.scn-caesar-dismisses-ambassador .pillar-r { position:absolute; right:10%; bottom:30%; width:5%; height:55%; background: linear-gradient(180deg, #e0d5c0 0%, #c4b89a 50%, #a89878 100%); border-radius: 8px 8px 0 0; box-shadow: -4px 0 6px rgba(0,0,0,.15); animation: cda-pillar 22s ease-in-out infinite reverse; }
.scn-caesar-dismisses-ambassador .caesar { position:absolute; bottom:28%; left:38%; width:10%; height:28%; background: linear-gradient(180deg, #f5f0e0 0%, #e0d0b0 50%, #d4c4a0 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 2px 4px 8px rgba(0,0,0,.2); transform-origin: bottom center; animation: cda-breath 4s ease-in-out infinite; }
.scn-caesar-dismisses-ambassador .ambassador { position:absolute; bottom:25%; left:52%; width:8%; height:22%; background: linear-gradient(180deg, #d4c4a0 0%, #c0a88a 50%, #a88870 100%); border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%; box-shadow: 2px 4px 6px rgba(0,0,0,.2); animation: cda-bow 6s ease-in-out infinite; transform-origin: bottom center; }
.scn-caesar-dismisses-ambassador .sunbeam { position:absolute; top:10%; left:30%; width:30%; height:60%; background: linear-gradient(135deg, rgba(255,215,0,.25) 0%, transparent 60%); clip-path: polygon(20% 0%, 80% 0%, 90% 100%, 10% 100%); animation: cda-beam 8s ease-in-out infinite alternate; }
@keyframes cda-sky { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes cda-ground { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.005) translateY(-1px) } 100% { transform: scaleY(1) } }
@keyframes cda-pillar { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.01) } 100% { transform: scaleY(1) } }
@keyframes cda-breath { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-1px) rotate(0.5deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes cda-bow { 0% { transform: rotate(0deg) translateY(0) } 50% { transform: rotate(-3deg) translateY(-2px) } 100% { transform: rotate(0deg) translateY(0) } }
@keyframes cda-beam { 0% { opacity:.4; transform: skewX(-2deg) } 50% { opacity:.7; transform: skewX(0deg) } 100% { opacity:.3; transform: skewX(2deg) } }

/* enobarbus-advises-death – dark, dim-interior */
.scn-enobarbus-advises-death {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a1a3e 50%, #1a0a1a 100%), radial-gradient(ellipse at 50% 40%, #2a2a4e 0%, transparent 70%);
}
.scn-enobarbus-advises-death .wall-bg { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a1a2e 0%, #3a2a4e 60%, #1a0a1a 100%); animation: ead-wall 20s ease-in-out infinite; }
.scn-enobarbus-advises-death .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #1a1a2e 0%, #2a1a3e 100%); border-radius: 5% 5% 0 0; box-shadow: inset 0 5px 15px rgba(0,0,0,.6); }
.scn-enobarbus-advises-death .window { position:absolute; right:15%; top:20%; width:14%; height:40%; background: linear-gradient(180deg, #4a6a8a 0%, #3a5a7a 50%, #2a4a6a 100%); border-radius: 6px; box-shadow: 0 0 20px rgba(74,106,138,.3); animation: ead-window 12s ease-in-out infinite alternate; }
.scn-enobarbus-advises-death .cleopatra { position:absolute; bottom:22%; left:30%; width:12%; height:30%; background: linear-gradient(180deg, #4a3a5e 0%, #3a2a4e 50%, #2a1a3e 100%); border-radius: 50% 50% 35% 35% / 55% 55% 35% 35%; transform-origin: bottom center; animation: ead-figure 5s ease-in-out infinite; }
.scn-enobarbus-advises-death .enobarbus { position:absolute; bottom:20%; left:50%; width:10%; height:35%; background: linear-gradient(180deg, #4a3a4e 0%, #3a2a3e 50%, #2a1a2e 100%); border-radius: 45% 45% 40% 40% / 60% 60% 40% 40%; box-shadow: -4px 0 6px rgba(0,0,0,.5); animation: ead-figure 5s ease-in-out infinite 0.5s; }
.scn-enobarbus-advises-death .candle { position:absolute; bottom:35%; left:40%; width:3%; height:8%; background: linear-gradient(180deg, #e0c080 0%, #c0a060 50%, #a07040 100%); border-radius: 40% 40% 10% 10%; box-shadow: 0 0 6px rgba(192,160,96,.4); animation: ead-candle 3s ease-in-out infinite; }
.scn-enobarbus-advises-death .flicker-glow { position:absolute; bottom:30%; left:38%; width:12%; height:18%; background: radial-gradient(circle, rgba(192,160,96,.3) 0%, rgba(192,160,96,.1) 60%, transparent 100%); border-radius: 50%; animation: ead-glow 3s ease-in-out infinite alternate; }
@keyframes ead-wall { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes ead-window { 0% { opacity:.4; transform: scaleX(1) } 50% { opacity:.7; transform: scaleX(1.02) } 100% { opacity:.5; transform: scaleX(1) } }
@keyframes ead-figure { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-1px) rotate(0.5deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes ead-candle { 0% { transform: scaleY(1) } 25% { transform: scaleY(1.05) } 50% { transform: scaleY(.95) } 75% { transform: scaleY(1.02) } 100% { transform: scaleY(1) } }
@keyframes ead-glow { 0% { opacity:.5; transform: scale(1) } 50% { opacity:.8; transform: scale(1.1) } 100% { opacity:.4; transform: scale(.9) } }

/* antony-hears-caesars-answer – tense, dim-interior */
.scn-antony-hears-caesars-answer {
  background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 50%, #0a0a2a 100%), radial-gradient(ellipse at 50% 50%, #2a2a4a 0%, transparent 80%);
}
.scn-antony-hears-caesars-answer .bg-deep { position:absolute; inset:0; background: linear-gradient(90deg, #0a0a1a 0%, #1a1a30 50%, #0a0a1a 100%); animation: aha-bg 30s ease-in-out infinite; }
.scn-antony-hears-caesars-answer .table { position:absolute; bottom:12%; left:20%; right:20%; height:8%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 20px; box-shadow: 0 4px 8px rgba(0,0,0,.7); }
.scn-antony-hears-caesars-answer .antony { position:absolute; bottom:25%; left:30%; width:12%; height:35%; background: linear-gradient(180deg, #5a4a4a 0%, #3a2a2a 50%, #2a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: aha-figure 4s ease-in-out infinite; }
.scn-antony-hears-caesars-answer .ambassador { position:absolute; bottom:28%; right:30%; width:10%; height:28%; background: linear-gradient(180deg, #4a4a5a 0%, #3a3a4a 50%, #2a2a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: aha-figure 4s ease-in-out infinite 1s; }
.scn-antony-hears-caesars-answer .lamp { position:absolute; top:15%; left:45%; width:4%; height:8%; background: radial-gradient(circle, #8a6a2a 0%, #4a2a0a 70%); border-radius: 50%; box-shadow: 0 0 30px 10px rgba(138,106,42,.4); animation: aha-lamp 4s ease-in-out infinite alternate; }
.scn-antony-hears-caesars-answer .shadow { position:absolute; bottom:30%; left:25%; width:20%; height:10%; background: rgba(0,0,0,.4); border-radius: 50%; filter: blur(8px); animation: aha-shadow 10s ease-in-out infinite; }
@keyframes aha-bg { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.75 } }
@keyframes aha-figure { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-1px) rotate(0.5deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes aha-lamp { 0% { opacity:.7; transform: scale(1) } 50% { opacity:1; transform: scale(1.08) } 100% { opacity:.6; transform: scale(.95) } }
@keyframes aha-shadow { 0% { opacity:.3; transform: translateX(0) } 50% { opacity:.6; transform: translateX(3px) } 100% { opacity:.4; transform: translateX(0) } }

/* enobarbus-mocks-antonys-challenge – tense, dim-interior */
.scn-enobarbus-mocks-antonys-challenge {
  background: linear-gradient(180deg, #0a0a0f 0%, #1a1a2a 50%, #0a0a1a 100%), radial-gradient(ellipse at 50% 50%, #2a2a3a 0%, transparent 80%);
}
.scn-enobarbus-mocks-antonys-challenge .bg { position:absolute; inset:0; background: linear-gradient(90deg, #0a0a1a 0%, #1a1a2e 50%, #0a0a1a 100%); }
.scn-enobarbus-mocks-antonys-challenge .wall { position:absolute; left:60%; top:0; bottom:0; width:40%; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%); border-left: 2px solid #3a3a4e; box-shadow: -6px 0 12px rgba(0,0,0,.5); animation: ema-wall 15s ease-in-out infinite; }
.scn-enobarbus-mocks-antonys-challenge .light-slit { position:absolute; left:58%; top:20%; width:4%; height:60%; background: linear-gradient(180deg, rgba(255,215,0,.2) 0%, rgba(255,215,0,.1) 50%, transparent 100%); filter: blur(2px); animation: ema-light 6s ease-in-out infinite alternate; }
.scn-enobarbus-mocks-antonys-challenge .enobarbus { position:absolute; bottom:20%; left:20%; width:16%; height:40%; background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 50%, #1a1a2a 100%); border-radius: 48% 48% 40% 40% / 60% 60% 40% 40%; clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 60% 100%, 50% 80%, 40% 100%, 0% 100%); transform-origin: bottom center; animation: ema-breath 5s ease-in-out infinite; }
.scn-enobarbus-mocks-antonys-challenge .hand { position:absolute; bottom:30%; left:35%; width:6%; height:12%; background: #3a3a4a; border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%; transform: rotate(15deg); transform-origin: bottom; animation: ema-hand 3s ease-in-out infinite; }
@keyframes ema-wall { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes ema-light { 0% { opacity:.3; width:3% } 50% { opacity:.6; width:5% } 100% { opacity:.2; width:3% } }
@keyframes ema-breath { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-1px) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes ema-hand { 0% { transform: rotate(10deg) translateY(0) } 50% { transform: rotate(20deg) translateY(-2px) } 100% { transform: rotate(10deg) translateY(0) } }

/* thyreus-comes – tense interior, figure entering */
.scn-thyreus-comes {
  background:
    radial-gradient(ellipse at 30% 60%, #3a2a1a 0%, transparent 60%),
    linear-gradient(180deg, #1e1812 0%, #2b2018 40%, #1a130e 100%);
  position: relative;
  overflow: hidden;
}
.scn-thyreus-comes .bg-wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #2e241c 0%, #1f1711 100%);
  animation: th1-wall 10s ease-in-out infinite alternate;
}
.scn-thyreus-comes .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(0deg, #1a130e 0%, #2a1f17 100%);
  border-radius: 50% 50% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.6);
}
.scn-thyreus-comes .arch {
  position: absolute; bottom: 28%; left: 25%; right: 25%; height: 45%;
  background: linear-gradient(180deg, #3a2c20 0%, #2a1e16 100%);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  clip-path: inset(0 0 0 0 round 40% 40% 0 0);
  box-shadow: 0 -4px 20px rgba(0,0,0,0.5);
}
.scn-thyreus-comes .door {
  position: absolute; bottom: 10%; left: 38%; right: 38%; height: 55%;
  background: linear-gradient(180deg, #211711 0%, #140e0a 100%);
  border-radius: 4% 4% 2% 2%;
  border: 2px solid #2b1f16;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.8);
  animation: th1-door 6s ease-in-out infinite alternate;
}
.scn-thyreus-comes .figure {
  position: absolute; bottom: 18%; left: 30%; width: 16px; height: 42px;
  background: linear-gradient(180deg, #1f1a14 0%, #12100c 100%);
  border-radius: 45% 45% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: th1-enter 5s ease-in-out infinite;
  box-shadow: -2px 0 6px rgba(0,0,0,0.5);
}
.scn-thyreus-comes .lamp {
  position: absolute; bottom: 14%; left: 60%; width: 10px; height: 16px;
  background: radial-gradient(circle at 50% 30%, #d49c5c 0%, #8a5e2c 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%;
  box-shadow: 0 0 20px 6px #d49c5c;
  animation: th1-lamp 2s ease-in-out infinite alternate;
}
.scn-thyreus-comes .shadow {
  position: absolute; bottom: 8%; left: 40%; width: 50px; height: 10px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(6px);
  animation: th1-shad 5s linear infinite;
}
.scn-thyreus-comes .ambient-glow {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 60% 50%, rgba(200,140,80,0.08) 0%, transparent 60%);
  animation: th1-glow 8s ease-in-out infinite alternate;
}
@keyframes th1-wall {
  0% { opacity: 0.85; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes th1-door {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.02); }
  100% { transform: scaleY(0.98); }
}
@keyframes th1-enter {
  0% { transform: translateX(-10px) rotate(2deg); }
  25% { transform: translateX(0px) rotate(-1deg); }
  50% { transform: translateX(6px) rotate(1deg); }
  75% { transform: translateX(12px) rotate(-2deg); }
  100% { transform: translateX(18px) rotate(0deg); }
}
@keyframes th1-lamp {
  0% { opacity: 0.7; box-shadow: 0 0 12px 4px #d49c5c; }
  50% { opacity: 1; box-shadow: 0 0 30px 10px #e8b86a; }
  100% { opacity: 0.8; box-shadow: 0 0 16px 6px #d49c5c; }
}
@keyframes th1-shad {
  0% { transform: translateX(-5px) scaleX(0.8); }
  50% { transform: translateX(5px) scaleX(1.2); }
  100% { transform: translateX(-5px) scaleX(0.8); }
}
@keyframes th1-glow {
  0% { opacity: 0.5; }
  50% { opacity: 1; }
  100% { opacity: 0.6; }
}

/* thyreus-flatters-cleopatra – warm interior, throne room */
.scn-thyreus-flatters-cleopatra {
  background:
    radial-gradient(ellipse at 50% 60%, #4a3520 0%, transparent 70%),
    linear-gradient(180deg, #3a2518 0%, #2c1c12 50%, #1f140e 100%);
  position: relative;
  overflow: hidden;
}
.scn-thyreus-flatters-cleopatra .bg-panel {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #4a3522 0%, #2f2014 100%);
  animation: th2-bg 12s ease-in-out infinite alternate;
}
.scn-thyreus-flatters-cleopatra .floor-tile {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(0deg, #1a110c 0%, #2d1e14 100%);
  border-radius: 30% 30% 0 0 / 10% 10% 0 0;
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.5);
}
.scn-thyreus-flatters-cleopatra .throne {
  position: absolute; bottom: 12%; left: 50%; width: 80px; height: 90px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5a3e28 0%, #3a2819 100%);
  border-radius: 10% 10% 20% 20% / 15% 15% 25% 25%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.6);
  animation: th2-throne 8s ease-in-out infinite;
}
.scn-thyreus-flatters-cleopatra .cleopatra {
  position: absolute; bottom: 22%; left: 46%; width: 20px; height: 44px;
  background: linear-gradient(180deg, #3a2a1c 0%, #1f1710 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: th2-queen 6s ease-in-out infinite alternate;
  box-shadow: -4px 0 6px rgba(0,0,0,0.4);
}
.scn-thyreus-flatters-cleopatra .thyreus {
  position: absolute; bottom: 18%; left: 60%; width: 16px; height: 40px;
  background: linear-gradient(180deg, #2a2018 0%, #180e0a 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: th2-courtier 7s ease-in-out infinite;
  box-shadow: 2px 0 6px rgba(0,0,0,0.3);
}
.scn-thyreus-flatters-cleopatra .tapestry {
  position: absolute; bottom: 20%; left: 10%; width: 60px; height: 50px;
  background: linear-gradient(135deg, #4a3520 0%, #2c1f12 50%, #3a2a18 100%);
  border-radius: 4% 4% 20% 20%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.5);
  animation: th2-tape 20s linear infinite;
  filter: blur(2px);
}
.scn-thyreus-flatters-cleopatra .candle {
  position: absolute; bottom: 8%; left: 35%; width: 6px; height: 24px;
  background: linear-gradient(180deg, #f5d0a0 0%, #d49c5c 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 20px 6px #d49c5c, 0 0 40px 12px rgba(200,130,60,0.3);
  animation: th2-candle 2s ease-in-out infinite alternate;
}
@keyframes th2-bg {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.95; }
}
@keyframes th2-throne {
  0% { transform: translateX(-50%) scale(1); }
  50% { transform: translateX(-50%) scale(1.02) rotate(1deg); }
  100% { transform: translateX(-50%) scale(0.98) rotate(-1deg); }
}
@keyframes th2-queen {
  0% { transform: translateY(0) rotate(2deg); }
  50% { transform: translateY(-2px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(-2deg); }
}
@keyframes th2-courtier {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(4px) rotate(-1deg); }
  50% { transform: translateX(8px) rotate(2deg); }
  75% { transform: translateX(4px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes th2-tape {
  0% { transform: translateX(0); }
  50% { transform: translateX(8px); }
  100% { transform: translateX(-8px); }
}
@keyframes th2-candle {
  0% { opacity: 0.75; box-shadow: 0 0 12px 4px #d49c5c; }
  50% { opacity: 1; box-shadow: 0 0 28px 10px #f2c880; }
  100% { opacity: 0.8; box-shadow: 0 0 16px 6px #d49c5c; }
}

/* thyreus-tempts-cleopatra – warm interior, close-up on table */
.scn-thyreus-tempts-cleopatra {
  background:
    radial-gradient(ellipse at 40% 50%, #3a2a1a 0%, transparent 70%),
    linear-gradient(180deg, #2c1a0e 0%, #1f120a 60%, #140c06 100%);
  position: relative;
  overflow: hidden;
}
.scn-thyreus-tempts-cleopatra .bg-shadow {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #3a2518 0%, #1f140e 100%);
  animation: th3-bg 14s ease-in-out infinite alternate;
}
.scn-thyreus-tempts-cleopatra .low-table {
  position: absolute; bottom: 10%; left: 30%; right: 30%; height: 18%;
  background: linear-gradient(180deg, #4a3520 0%, #2c2014 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 6px 18px rgba(0,0,0,0.7);
  transform: perspective(300px) rotateX(5deg);
  animation: th3-table 9s ease-in-out infinite;
}
.scn-thyreus-tempts-cleopatra .cleopatra-seated {
  position: absolute; bottom: 20%; left: 35%; width: 22px; height: 48px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: th3-queen 5s ease-in-out infinite alternate;
  box-shadow: -3px 0 8px rgba(0,0,0,0.5);
}
.scn-thyreus-tempts-cleopatra .thyreus-lean {
  position: absolute; bottom: 16%; left: 54%; width: 18px; height: 44px;
  background: linear-gradient(180deg, #2a1f16 0%, #0e0a06 100%);
  border-radius: 50% 50% 35% 35% / 55% 55% 30% 30%;
  transform-origin: bottom center;
  animation: th3-wooer 6s ease-in-out infinite;
  box-shadow: 4px 0 10px rgba(0,0,0,0.4);
}
.scn-thyreus-tempts-cleopatra .wine-cup {
  position: absolute; bottom: 22%; left: 46%; width: 12px; height: 16px;
  background: linear-gradient(180deg, #8a4a2a 0%, #5a2a14 100%);
  border-radius: 40% 40% 20% 20% / 30% 30% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
  animation: th3-cup 4s ease-in-out infinite alternate;
}
.scn-thyreus-tempts-cleopatra .oil-lamp {
  position: absolute; bottom: 6%; left: 20%; width: 8px; height: 14px;
  background: radial-gradient(circle at 50% 40%, #f5d0a0 0%, #b88540 100%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: 0 0 16px 4px #d49c5c, 0 0 30px 8px rgba(200,140,80,0.3);
  animation: th3-lamp 2.5s ease-in-out infinite alternate;
}
.scn-thyreus-tempts-cleopatra .lamp-glow {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 20% 30%, rgba(200,140,80,0.12) 0%, transparent 60%);
  animation: th3-glow 7s ease-in-out infinite alternate;
}
@keyframes th3-bg {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.92; }
}
@keyframes th3-table {
  0% { transform: perspective(300px) rotateX(5deg) translateY(0); }
  50% { transform: perspective(300px) rotateX(4deg) translateY(-2px); }
  100% { transform: perspective(300px) rotateX(5deg) translateY(0); }
}
@keyframes th3-queen {
  0% { transform: rotate(2deg) translateX(0); }
  50% { transform: rotate(-1deg) translateX(4px); }
  100% { transform: rotate(1deg) translateX(-2px); }
}
@keyframes th3-wooer {
  0% { transform: rotate(-2deg) translateX(0); }
  25% { transform: rotate(1deg) translateX(-6px); }
  50% { transform: rotate(-1deg) translateX(-12px); }
  75% { transform: rotate(2deg) translateX(-6px); }
  100% { transform: rotate(-2deg) translateX(0); }
}
@keyframes th3-cup {
  0% { transform: scaleY(1) rotate(0deg); }
  50% { transform: scaleY(1.1) rotate(-3deg); }
  100% { transform: scaleY(0.95) rotate(2deg); }
}
@keyframes th3-lamp {
  0% { opacity: 0.7; box-shadow: 0 0 8px 2px #d49c5c; }
  50% { opacity: 1; box-shadow: 0 0 24px 8px #f2c880; }
  100% { opacity: 0.85; box-shadow: 0 0 14px 5px #d49c5c; }
}
@keyframes th3-glow {
  0% { opacity: 0.6; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}

/* cleopatra-feigns-submission – warm interior, kneeling figure */
.scn-cleopatra-feigns-submission {
  background:
    radial-gradient(ellipse at 40% 50%, #4a301c 0%, transparent 70%),
    linear-gradient(180deg, #2e1d12 0%, #1f130e 60%, #140c06 100%);
  position: relative;
  overflow: hidden;
}
.scn-cleopatra-feigns-submission .bg-dark {
  position: absolute; inset: 0 0 15% 0;
  background: linear-gradient(180deg, #3a2518 0%, #1f140e 100%);
  animation: th4-bg 10s ease-in-out infinite alternate;
}
.scn-cleopatra-feigns-submission .stone-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(0deg, #1c110a 0%, #2a1c12 100%);
  border-radius: 20% 20% 0 0 / 8% 8% 0 0;
  box-shadow: inset 0 6px 12px rgba(0,0,0,0.5);
}
.scn-cleopatra-feigns-submission .cleopatra-kneel {
  position: absolute; bottom: 5%; left: 35%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: th4-kneel 5s ease-in-out infinite alternate;
  box-shadow: -2px 0 6px rgba(0,0,0,0.5);
}
.scn-cleopatra-feigns-submission .thyreus-stand {
  position: absolute; bottom: 8%; left: 55%; width: 16px; height: 42px;
  background: linear-gradient(180deg, #2a1f16 0%, #0e0a06 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: th4-stand 7s ease-in-out infinite;
  box-shadow: 3px 0 8px rgba(0,0,0,0.4);
}
.scn-cleopatra-feigns-submission .marble-pillar {
  position: absolute; bottom: 0%; left: 70%; width: 12px; height: 100%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2e22 50%, #1f1812 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 4px 0 12px rgba(0,0,0,0.6);
  animation: th4-pillar 20s linear infinite;
  filter: blur(1px);
}
.scn-cleopatra-feigns-submission .velvet-curtain {
  position: absolute; bottom: 10%; left: 5%; width: 40px; height: 70%;
  background: linear-gradient(180deg, #5e2a2a 0%, #3a1818 100%);
  border-radius: 0 20% 60% 0 / 0 30% 80% 0;
  box-shadow: inset -6px 0 12px rgba(0,0,0,0.7);
  animation: th4-curtain 9s ease-in-out infinite alternate;
}
.scn-cleopatra-feigns-submission .ray-light {
  position: absolute; top: 5%; left: 30%; width: 80px; height: 120px;
  background: linear-gradient(135deg, rgba(220,180,120,0.15) 0%, transparent 60%);
  clip-path: polygon(0 0, 100% 0, 60% 100%, 0 100%);
  animation: th4-ray 6s ease-in-out infinite alternate;
  filter: blur(4px);
}
@keyframes th4-bg {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.92; }
}
@keyframes th4-kneel {
  0% { transform: translateX(-2px) rotate(3deg); }
  50% { transform: translateX(3px) rotate(-2deg); }
  100% { transform: translateX(-1px) rotate(0deg); }
}
@keyframes th4-stand {
  0% { transform: translateX(0) rotate(-1deg); }
  25% { transform: translateX(-3px) rotate(1deg); }
  50% { transform: translateX(-6px) rotate(0deg); }
  75% { transform: translateX(-3px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes th4-pillar {
  0% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
  100% { transform: translateY(0); }
}
@keyframes th4-curtain {
  0% { transform: translateX(0) scaleX(1); }
  50% { transform: translateX(4px) scaleX(1.05); }
  100% { transform: translateX(-2px) scaleX(0.95); }
}
@keyframes th4-ray {
  0% { opacity: 0.3; transform: translateX(-5px); }
  50% { opacity: 0.8; transform: translateX(5px); }
  100% { opacity: 0.4; transform: translateX(-3px); }
}

/* rome-antechamber-banter */
.scn-rome-antechamber-banter {
  background:
    linear-gradient(180deg, #fae6c8 0%, #f0d4a4 30%, #e8c88a 60%, #d4a460 100%),
    radial-gradient(ellipse at 50% 0%, #fff8e0 0%, transparent 60%);
}
.scn-rome-antechamber-banter .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #c4a46c 0%, #b08850 40%, #8a6a3a 100%);
  border-radius: 10% 10% 0 0 / 8% 8% 0 0;
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.3);
}
.scn-rome-antechamber-banter .wall {
  position: absolute; top: 0; left: 0; right: 0; bottom: 30%;
  background: linear-gradient(180deg, #ffe8c8 0%, #f0d8b0 60%, #d8b880 100%);
}
.scn-rome-antechamber-banter .window {
  position: absolute; top: 8%; left: 35%; width: 30%; height: 35%;
  background: radial-gradient(ellipse at 50% 30%, #fff8e0 0%, #ffe0a0 40%, #d8b070 70%, transparent 100%);
  border-radius: 10% 10% 8% 8% / 15% 15% 12% 12%;
  box-shadow: inset 0 0 20px rgba(255,220,160,0.5);
  animation: rb-window-glow 6s ease-in-out infinite alternate;
}
.scn-rome-antechamber-banter .column-left {
  position: absolute; top: 5%; left: 12%; width: 6%; height: 65%;
  background: linear-gradient(90deg, #c8b088 0%, #e0c8a0 30%, #d8b890 60%, #b89870 100%);
  border-radius: 50% / 8% 8% 4% 4%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: rb-column 12s ease-in-out infinite alternate;
}
.scn-rome-antechamber-banter .column-right {
  position: absolute; top: 5%; right: 12%; width: 6%; height: 65%;
  background: linear-gradient(90deg, #b89870 0%, #d8b890 30%, #e0c8a0 60%, #c8b088 100%);
  border-radius: 50% / 8% 8% 4% 4%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: rb-column 12s ease-in-out infinite alternate-reverse;
}
.scn-rome-antechamber-banter .figure-center {
  position: absolute; bottom: 30%; left: 50%; width: 10%; height: 45%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6a5040 0%, #4a3830 60%, #302820 100%);
  border-radius: 40% 40% 35% 35% / 60% 60% 40% 40%;
  animation: rb-figure-bob 3s ease-in-out infinite;
}
.scn-rome-antechamber-banter .gesture-hand {
  position: absolute; bottom: 45%; left: 55%; width: 8%; height: 12%;
  background: linear-gradient(180deg, #6a5040 0%, #5a4438 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: rb-gesture 2s ease-in-out infinite;
}
.scn-rome-antechamber-banter .light-beam {
  position: absolute; top: 0; left: 38%; width: 24%; height: 30%;
  background: linear-gradient(180deg, rgba(255,250,200,0.4) 0%, transparent 100%);
  clip-path: polygon(30% 0, 70% 0, 90% 100%, 10% 100%);
  animation: rb-beam-pulse 5s ease-in-out infinite alternate;
}
@keyframes rb-window-glow {
  0% { opacity: 0.7; box-shadow: inset 0 0 15px rgba(255,220,160,0.4); }
  50% { opacity: 1; box-shadow: inset 0 0 30px rgba(255,240,180,0.8); }
  100% { opacity: 0.8; box-shadow: inset 0 0 20px rgba(255,220,160,0.5); }
}
@keyframes rb-column {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(0.98); }
  100% { transform: scaleY(1); }
}
@keyframes rb-figure-bob {
  0% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-3px) rotate(1deg); }
  100% { transform: translateX(-50%) translateY(0); }
}
@keyframes rb-gesture {
  0%, 100% { transform: rotate(0deg) scaleX(1); }
  25% { transform: rotate(-10deg) scaleX(0.95); }
  50% { transform: rotate(15deg) scaleX(1.05); }
  75% { transform: rotate(-5deg) scaleX(1); }
}
@keyframes rb-beam-pulse {
  0% { opacity: 0.3; transform: translateY(0); }
  50% { opacity: 0.6; transform: translateY(2px); }
  100% { opacity: 0.4; transform: translateY(-1px); }
}

/* praise-contest */
.scn-praise-contest {
  background:
    linear-gradient(180deg, #f2e8d0 0%, #e6d6b8 40%, #d4be9a 100%),
    radial-gradient(ellipse at 50% 0%, #fff8e8 0%, transparent 60%);
}
.scn-praise-contest .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #c8a878 0%, #a88858 50%, #886840 100%);
  border-radius: 20% 20% 0 0 / 10% 10% 0 0;
}
.scn-praise-contest .wall {
  position: absolute; top: 0; left: 0; right: 0; bottom: 25%;
  background: linear-gradient(180deg, #f4e2c4 0%, #e4ceac 60%, #d4b892 100%);
}
.scn-praise-contest .sunburst {
  position: absolute; top: 2%; left: 40%; width: 20%; height: 20%;
  background: radial-gradient(circle, #fff0c0 0%, #f0d890 30%, transparent 70%);
  border-radius: 50%;
  animation: pc-sunburst 8s ease-in-out infinite alternate;
}
.scn-praise-contest .figure-left {
  position: absolute; bottom: 25%; left: 25%; width: 12%; height: 50%;
  background: linear-gradient(180deg, #5a4234 0%, #3a2a20 60%, #2a1a14 100%);
  border-radius: 45% 40% 35% 40% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: pc-figure-left 4s ease-in-out infinite;
}
.scn-praise-contest .figure-right {
  position: absolute; bottom: 25%; right: 25%; width: 12%; height: 50%;
  background: linear-gradient(180deg, #5a4234 0%, #3a2a20 60%, #2a1a14 100%);
  border-radius: 40% 45% 40% 35% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: pc-figure-right 4s ease-in-out infinite;
}
.scn-praise-contest .heart {
  position: absolute;
  width: 6%;
  height: 8%;
  background: radial-gradient(ellipse at 50% 40%, #d87878 0%, #b84040 70%, transparent 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 60% 60%;
}
.scn-praise-contest .heart-1 {
  bottom: 55%; left: 35%;
  animation: pc-heart-rise 5s ease-in-out infinite;
}
.scn-praise-contest .heart-2 {
  bottom: 50%; left: 50%;
  animation: pc-heart-rise 6s ease-in-out infinite 1s;
}
.scn-praise-contest .heart-3 {
  bottom: 60%; left: 45%;
  animation: pc-heart-rise 4s ease-in-out infinite 0.5s;
}
@keyframes pc-sunburst {
  0% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(1.1); opacity: 1; }
  100% { transform: scale(0.95); opacity: 0.7; }
}
@keyframes pc-figure-left {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-5px) rotate(3deg); }
  50% { transform: translateY(-2px) rotate(-1deg); }
  75% { transform: translateY(-4px) rotate(-2deg); }
}
@keyframes pc-figure-right {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-5px) rotate(-3deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  75% { transform: translateY(-4px) rotate(2deg); }
}
@keyframes pc-heart-rise {
  0% { transform: translateY(0) scale(1); opacity: 0.6; }
  50% { transform: translateY(-20px) scale(1.2); opacity: 1; }
  100% { transform: translateY(-40px) scale(0.8); opacity: 0; }
}

/* caesar-commends-octavia */
.scn-caesar-commends-octavia {
  background:
    linear-gradient(180deg, #f5e0c0 0%, #e8cca0 40%, #d4b07c 100%),
    radial-gradient(ellipse at 50% 80%, #ffe4b0 0%, transparent 70%);
}
.scn-caesar-commends-octavia .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 28%;
  background: linear-gradient(180deg, #c49e6a 0%, #a88050 50%, #8a6a3a 100%);
  border-radius: 15% 15% 0 0 / 6% 6% 0 0;
}
.scn-caesar-commends-octavia .wall {
  position: absolute; top: 0; left: 0; right: 0; bottom: 28%;
  background: linear-gradient(180deg, #f2daba 0%, #e2c89c 60%, #d0b080 100%);
}
.scn-caesar-commends-octavia .arch {
  position: absolute; top: 5%; left: 25%; width: 50%; height: 40%;
  background: radial-gradient(ellipse at 50% 0%, transparent 50%, #d4b890 50%, #c4a47c 80%, transparent 100%);
  border-radius: 50% / 30% 30% 10% 10%;
  opacity: 0.6;
}
.scn-caesar-commends-octavia .caesar-figure {
  position: absolute; bottom: 28%; left: 28%; width: 14%; height: 48%;
  background: linear-gradient(180deg, #5a4234 0%, #3a2a20 60%, #2a1a14 100%);
  border-radius: 45% 40% 35% 45% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: cc-caesar 5s ease-in-out infinite;
}
.scn-caesar-commends-octavia .octavia-figure {
  position: absolute; bottom: 28%; right: 30%; width: 12%; height: 44%;
  background: linear-gradient(180deg, #6a5042 0%, #4a382e 60%, #2a2018 100%);
  border-radius: 40% 45% 40% 35% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: cc-octavia 5s ease-in-out infinite 1s;
}
.scn-caesar-commends-octavia .bond {
  position: absolute; bottom: 40%; left: 38%; width: 24%; height: 4%;
  background: linear-gradient(90deg, transparent, #d8a060 20%, #c08040 50%, #d8a060 80%, transparent);
  border-radius: 50%;
  animation: cc-bond-pulse 4s ease-in-out infinite;
}
.scn-caesar-commends-octavia .sparkle-1 {
  position: absolute; top: 20%; left: 30%; width: 4%; height: 4%;
  background: radial-gradient(circle, #ffd070 0%, #f0b050 40%, transparent 70%);
  border-radius: 50%;
  animation: cc-sparkle 3s ease-in-out infinite;
}
.scn-caesar-commends-octavia .sparkle-2 {
  position: absolute; top: 40%; right: 25%; width: 3%; height: 3%;
  background: radial-gradient(circle, #ffd070 0%, #f0b050 40%, transparent 70%);
  border-radius: 50%;
  animation: cc-sparkle 4s ease-in-out infinite 1.5s;
}
@keyframes cc-caesar {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px) rotate(2deg); }
}
@keyframes cc-octavia {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px) rotate(-2deg); }
}
@keyframes cc-bond-pulse {
  0% { transform: scaleX(1); opacity: 0.7; }
  50% { transform: scaleX(1.15); opacity: 1; }
  100% { transform: scaleX(1); opacity: 0.8; }
}
@keyframes cc-sparkle {
  0% { transform: scale(0.5); opacity: 0; }
  50% { transform: scale(1.5); opacity: 1; }
  100% { transform: scale(0.5); opacity: 0; }
}

/* antony-bids-farewell-octavia */
.scn-antony-bids-farewell-octavia {
  background:
    linear-gradient(180deg, #f2ddc4 0%, #e4c8a4 40%, #d0ae88 100%),
    radial-gradient(ellipse at 50% 20%, #ffe8c0 0%, transparent 70%);
}
.scn-antony-bids-farewell-octavia .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #c4a074 0%, #a8845a 50%, #886640 100%);
  border-radius: 10% 10% 0 0 / 5% 5% 0 0;
}
.scn-antony-bids-farewell-octavia .wall {
  position: absolute; top: 0; left: 0; right: 0; bottom: 25%;
  background: linear-gradient(180deg, #f0d8b8 0%, #e0c49c 60%, #d0b080 100%);
}
.scn-antony-bids-farewell-octavia .door {
  position: absolute; bottom: 25%; left: 15%; width: 14%; height: 60%;
  background: linear-gradient(90deg, #8a6a4a 0%, #a08060 30%, #b89a78 50%, #a08060 70%, #8a6a4a 100%);
  border-radius: 8% 8% 2% 2% / 10% 10% 4% 4%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.2);
}
.scn-antony-bids-farewell-octavia .antony-figure {
  position: absolute; bottom: 25%; left: 35%; width: 12%; height: 55%;
  background: linear-gradient(180deg, #5a4234 0%, #3a2a20 60%, #2a1a14 100%);
  border-radius: 40% 45% 35% 40% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: ab-antony 6s ease-in-out infinite;
}
.scn-antony-bids-farewell-octavia .octavia-figure {
  position: absolute; bottom: 25%; right: 38%; width: 11%; height: 52%;
  background: linear-gradient(180deg, #6a5042 0%, #4a382e 60%, #2a2018 100%);
  border-radius: 45% 40% 40% 35% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: ab-octavia 6s ease-in-out infinite 1s;
}
.scn-antony-bids-farewell-octavia .tear {
  position: absolute;
  width: 3%;
  height: 6%;
  background: radial-gradient(ellipse at 50% 30%, #b8d0e0 0%, #80a0c0 40%, transparent 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%;
}
.scn-antony-bids-farewell-octavia .tear-1 {
  top: 35%; right: 48%;
  animation: ab-tear-fall 3s ease-in infinite;
}
.scn-antony-bids-farewell-octavia .tear-2 {
  top: 40%; right: 55%;
  animation: ab-tear-fall 4s ease-in infinite 1s;
}
.scn-antony-bids-farewell-octavia .tear-3 {
  top: 30%; right: 51%;
  animation: ab-tear-fall 3.5s ease-in infinite 2s;
}
@keyframes ab-antony {
  0%, 100% { transform: translateY(0) rotate(2deg); }
  50% { transform: translateY(-6px) rotate(-2deg); }
}
@keyframes ab-octavia {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-6px) rotate(2deg); }
}
@keyframes ab-tear-fall {
  0% { transform: translateY(0) scale(1); opacity: 0.8; }
  80% { transform: translateY(60px) scale(0.9); opacity: 0.6; }
  100% { transform: translateY(80px) scale(0.5); opacity: 0; }
}

.scn-antony-and-scarus-victorious {
  background: 
    linear-gradient(180deg, #3a3a4e 0%, #2a2a3a 50%, #1a1a2a 100%),
    radial-gradient(ellipse at 30% 70%, #4a4a5e 0%, transparent 60%);
}
.scn-antony-and-scarus-victorious .sky-overcast {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #4a4a5e 0%, #3a3a4e 100%);
  animation: av-sky 8s ease-in-out infinite alternate;
}
.scn-antony-and-scarus-victorious .ground-mud {
  position: absolute; bottom: 0; left: 0; right: 0; height: 55%;
  background: linear-gradient(180deg, #2a2a2e 0%, #1a1a1e 100%);
  border-radius: 60% 40% 0 0 / 20% 15% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
  animation: av-ground 10s ease-in-out infinite alternate;
}
.scn-antony-and-scarus-victorious .figure-antony {
  position: absolute; bottom: 30%; left: 30%; width: 20px; height: 48px;
  background: linear-gradient(180deg, #2a2a2e 0%, #1a1a1e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: av-figure-antony 1.5s ease-in-out infinite;
}
.scn-antony-and-scarus-victorious .figure-scarus {
  position: absolute; bottom: 28%; left: 48%; width: 18px; height: 44px;
  background: linear-gradient(180deg, #3a3a3e 0%, #2a2a2e 100%);
  border-radius: 50% 50% 35% 35% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: av-figure-scarus 1.5s ease-in-out infinite 0.2s;
}
.scn-antony-and-scarus-victorious .figure-enemy {
  position: absolute; bottom: 25%; left: 62%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%);
  border-radius: 40% 40% 35% 35% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: av-figure-enemy 1.2s ease-in-out infinite 0.5s;
}
.scn-antony-and-scarus-victorious .sword-flash {
  position: absolute; bottom: 45%; left: 40%; width: 4px; height: 30px;
  background: linear-gradient(180deg, #e0e0e0 0%, #808080 100%);
  box-shadow: 0 0 12px 6px rgba(224,224,224,0.6);
  border-radius: 2px;
  transform-origin: bottom center;
  animation: av-sword 0.8s ease-in-out infinite;
}
.scn-antony-and-scarus-victorious .dust-cloud {
  position: absolute; bottom: 20%; left: 20%; right: 20%; height: 20%;
  background: radial-gradient(ellipse at 50% 100%, rgba(80,80,80,0.5) 0%, transparent 100%);
  filter: blur(8px);
  animation: av-dust 4s linear infinite;
}
@keyframes av-sky {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes av-ground {
  0% { transform: translateY(0) scaleX(1); }
  50% { transform: translateY(-2px) scaleX(1.01); }
  100% { transform: translateY(0) scaleX(1); }
}
@keyframes av-figure-antony {
  0% { transform: translateX(0) rotate(-2deg); }
  25% { transform: translateX(4px) rotate(2deg); }
  50% { transform: translateX(8px) rotate(-1deg); }
  75% { transform: translateX(12px) rotate(3deg); }
  100% { transform: translateX(16px) rotate(0deg); }
}
@keyframes av-figure-scarus {
  0% { transform: translateX(0) rotate(1deg); }
  25% { transform: translateX(-3px) rotate(-2deg); }
  50% { transform: translateX(-6px) rotate(1deg); }
  75% { transform: translateX(-9px) rotate(-1deg); }
  100% { transform: translateX(-12px) rotate(0deg); }
}
@keyframes av-figure-enemy {
  0% { transform: translateX(0) rotate(0deg) scaleY(1); }
  25% { transform: translateX(-5px) rotate(-3deg) scaleY(0.95); }
  50% { transform: translateX(-10px) rotate(0deg) scaleY(1); }
  75% { transform: translateX(-15px) rotate(3deg) scaleY(0.95); }
  100% { transform: translateX(-20px) rotate(0deg) scaleY(1); }
}
@keyframes av-sword {
  0% { transform: rotate(-20deg) scaleY(0.8); opacity: 0.6; }
  50% { transform: rotate(20deg) scaleY(1); opacity: 1; }
  100% { transform: rotate(-20deg) scaleY(0.8); opacity: 0.6; }
}
@keyframes av-dust {
  0% { transform: translateY(0) scale(1); opacity: 0.5; }
  50% { transform: translateY(-5px) scale(1.2); opacity: 0.3; }
  100% { transform: translateY(0) scale(1); opacity: 0.5; }
}

.scn-antony-triumphant-return {
  background:
    linear-gradient(180deg, #f0d080 0%, #c09850 30%, #806030 60%, #403020 100%),
    radial-gradient(ellipse at 50% 30%, #ffe080 0%, transparent 50%);
}
.scn-antony-triumphant-return .sky-sunlit {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #d0e0ff 0%, #b0c8f0 100%);
  animation: tr-sky 12s ease-in-out infinite alternate;
}
.scn-antony-triumphant-return .sun-blaze {
  position: absolute; top: 10%; left: 70%; width: 60px; height: 60px;
  background: radial-gradient(circle, #fff8e0 0%, #ffd060 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(255,208,96,0.6);
  animation: tr-sun 20s ease-in-out infinite;
}
.scn-antony-triumphant-return .city-walls {
  position: absolute; bottom: 30%; left: 5%; right: 5%; height: 30%;
  background: linear-gradient(180deg, #c0a070 0%, #a08050 100%);
  border-radius: 10% 10% 0 0/5% 5% 0 0;
  box-shadow: inset 0 -10px 20px rgba(0,0,0,0.5);
  animation: tr-walls 8s ease-in-out infinite alternate;
}
.scn-antony-triumphant-return .ground-path {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #806040 0%, #604028 100%);
  border-radius: 30% 70% 0 0 / 10% 20% 0 0;
  animation: tr-ground 15s linear infinite;
}
.scn-antony-triumphant-return .march-soldiers {
  position: absolute; bottom: 15%; left: 10%; right: 10%; height: 12%;
  background: repeating-linear-gradient(90deg, 
    #504030 0px, #504030 8px, 
    transparent 8px, transparent 16px,
    #605040 16px, #605040 24px,
    transparent 24px, transparent 32px,
    #403020 32px, #403020 40px,
    transparent 40px, transparent 48px
  );
  filter: blur(1px);
  animation: tr-march 4s linear infinite;
}
.scn-antony-triumphant-return .standard-flag {
  position: absolute; bottom: 25%; left: 20%; width: 4px; height: 40px;
  background: #302010;
  border-radius: 2px;
}
.scn-antony-triumphant-return .standard-flag::after {
  content: '';
  position: absolute; top: -5px; left: 2px; width: 30px; height: 20px;
  background: linear-gradient(180deg, #c8553d 0%, #a0461a 100%);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  animation: tr-flag 3s ease-in-out infinite;
}
@keyframes tr-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes tr-sun { 0%,100% { transform: scale(0.95); } 50% { transform: scale(1.05); } }
@keyframes tr-walls { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes tr-ground { 0% { background-position: 0 0; } 100% { background-position: 400px 0; } }
@keyframes tr-march { 0% { background-position: 0 0; } 100% { background-position: -48px 0; } }
@keyframes tr-flag { 0%,100% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } }

.scn-antony-praises-scarus {
  background:
    linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 50%, #2a1a0a 100%),
    radial-gradient(ellipse at 50% 30%, #8a6a4a 0%, transparent 60%);
}
.scn-antony-praises-scarus .tent-backdrop {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  clip-path: polygon(0 0, 100% 0, 85% 100%, 15% 100%);
}
.scn-antony-praises-scarus .tent-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 20% 20% 0 0/10% 10% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.7);
}
.scn-antony-praises-scarus .tent-opening {
  position: absolute; top: 10%; left: 35%; width: 30%; height: 60%;
  background: #0a0a0a;
  clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%);
  opacity: 0.6;
  animation: pr-opening 12s ease-in-out infinite alternate;
}
.scn-antony-praises-scarus .figure-antony {
  position: absolute; bottom: 20%; left: 28%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #3a3a3e 0%, #2a2a2e 100%);
  border-radius: 50% 50% 40% 40%/60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pr-figure-antony 3s ease-in-out infinite;
}
.scn-antony-praises-scarus .figure-scarus {
  position: absolute; bottom: 18%; left: 50%; width: 20px; height: 48px;
  background: linear-gradient(180deg, #4a4a4e 0%, #3a3a3e 100%);
  border-radius: 50% 50% 35% 35%/55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: pr-figure-scarus 3s ease-in-out infinite 0.5s;
}
.scn-antony-praises-scarus .figure-cleopatra {
  position: absolute; bottom: 22%; left: 62%; width: 18px; height: 46px;
  background: linear-gradient(180deg, #5a3a3a 0%, #3a2a2a 100%);
  border-radius: 50% 50% 40% 40%/60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pr-figure-cleopatra 4s ease-in-out infinite 1s;
}
.scn-antony-praises-scarus .sunlight-beam {
  position: absolute; top: 0; left: 30%; width: 40%; height: 100%;
  background: linear-gradient(180deg, rgba(255,230,180,0.3) 0%, transparent 100%);
  clip-path: polygon(20% 0, 80% 0, 60% 100%, 40% 100%);
  animation: pr-beam 8s ease-in-out infinite alternate;
}
@keyframes pr-opening { 0% { opacity: 0.5; } 50% { opacity: 0.7; } 100% { opacity: 0.5; } }
@keyframes pr-figure-antony { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(5px) rotate(1deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes pr-figure-scarus { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-3px) rotate(-2deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(3px) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes pr-figure-cleopatra { 0% { transform: translateX(0) rotate(0deg) scale(0.98); } 50% { transform: translateX(-4px) rotate(2deg) scale(1); } 100% { transform: translateX(0) rotate(0deg) scale(0.98); } }
@keyframes pr-beam { 0% { opacity: 0.5; transform: scaleY(0.9); } 50% { opacity: 0.9; transform: scaleY(1.1); } 100% { opacity: 0.5; transform: scaleY(0.9); } }

.scn-cleopatra-greets-antonys-triumph {
  background:
    linear-gradient(180deg, #f0d080 0%, #c09850 30%, #806030 60%, #403020 100%),
    radial-gradient(ellipse at 50% 20%, #ffd040 0%, transparent 60%);
}
.scn-cleopatra-greets-antonys-triumph .sky-warm {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #d0e0ff 0%, #f0e0b0 100%);
  animation: cg-sky 15s ease-in-out infinite alternate;
}
.scn-cleopatra-greets-antonys-triumph .sun-disk {
  position: absolute; top: 5%; left: 50%; width: 70px; height: 70px;
  background: radial-gradient(circle, #fff8e0 0%, #ffd060 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 60px 30px rgba(255,208,96,0.5);
  animation: cg-sun 25s ease-in-out infinite;
}
.scn-cleopatra-greets-antonys-triumph .city-skyline {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #806040 0%, #604028 100%);
  clip-path: polygon(0% 100%, 2% 20%, 5% 100%, 10% 30%, 13% 100%, 18% 10%, 22% 100%, 28% 40%, 32% 100%, 38% 20%, 42% 100%, 48% 35%, 52% 100%, 58% 15%, 62% 100%, 68% 45%, 72% 100%, 78% 25%, 82% 100%, 88% 10%, 92% 100%, 96% 30%, 100% 100%);
  background-size: 100% 100%;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.5);
  animation: cg-city 20s ease-in-out infinite alternate;
}
.scn-cleopatra-greets-antonys-triumph .figure-antony-tall {
  position: absolute; bottom: 25%; left: 35%; width: 24px; height: 55px;
  background: linear-gradient(180deg, #3a3a3e 0%, #2a2a2e 100%);
  border-radius: 50% 50% 40% 40%/60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cg-antony 4s ease-in-out infinite;
}
.scn-cleopatra-greets-antonys-triumph .figure-cleopatra-short {
  position: absolute; bottom: 28%; left: 50%; width: 18px; height: 44px;
  background: linear-gradient(180deg, #5a3a3a 0%, #3a2a2a 100%);
  border-radius: 50% 50% 40% 40%/60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cg-cleopatra 4s ease-in-out infinite 0.5s;
}
.scn-cleopatra-greets-antonys-triumph .birds-small {
  position: absolute; top: 20%; left: 20%; right: 20%; height: 10%;
  background: repeating-linear-gradient(90deg,
    transparent 0px, transparent 30px,
    #2a2a2e 30px, #2a2a2e 32px,
    transparent 32px, transparent 60px,
    #2a2a2e 60px, #2a2a2e 62px,
    transparent 62px, transparent 100px
  );
  filter: blur(2px);
  animation: cg-birds 8s linear infinite;
}
.scn-cleopatra-greets-antonys-triumph .dust-haze {
  position: absolute; bottom: 10%; left: 0; right: 0; height: 20%;
  background: radial-gradient(ellipse at 50% 100%, rgba(100,80,60,0.4) 0%, transparent 70%);
  filter: blur(10px);
  animation: cg-dust 12s linear infinite alternate;
}
@keyframes cg-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes cg-sun { 0%,100% { transform: scale(0.95) translateX(0); } 25% { transform: scale(1.02) translateX(-5px); } 50% { transform: scale(1.05) translateX(0); } 75% { transform: scale(1.02) translateX(5px); } }
@keyframes cg-city { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes cg-antony { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(5px) rotate(2deg) scale(1.02); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes cg-cleopatra { 0% { transform: translateX(0) rotate(1deg); } 50% { transform: translateX(-3px) rotate(-2deg) scale(0.98); } 100% { transform: translateX(0) rotate(1deg); } }
@keyframes cg-birds { 0% { background-position: 0 0; } 100% { background-position: -100px 0; } }
@keyframes cg-dust { 0% { opacity: 0.3; transform: scaleY(0.8); } 50% { opacity: 0.6; transform: scaleY(1.2); } 100% { opacity: 0.3; transform: scaleY(0.8); } }

.scn-antony-sends-message-to-caesar {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2c2244 40%, #3a2a4a 100%),
    radial-gradient(ellipse at 50% 100%, #4a3a5e 0%, transparent 70%);
}
.scn-antony-sends-message-to-caesar .bg-deep {
  position: absolute; inset: 0 0 60% 0;
  background: linear-gradient(180deg, #0f0f1a 0%, transparent 100%);
  animation: snd-deep 20s ease-in-out infinite alternate;
}
.scn-antony-sends-message-to-caesar .bg-mid {
  position: absolute; inset: 20% 0 30% 0;
  background: linear-gradient(180deg, #2a1a2e 0%, #1a0a1a 100%);
  opacity: 0.6;
  animation: snd-mid 15s ease-in-out infinite alternate;
}
.scn-antony-sends-message-to-caesar .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a141a 0%, #0a080a 100%);
  border-radius: 80% 80% 0 0 / 60% 60% 0 0;
}
.scn-antony-sends-message-to-caesar .lamp {
  position: absolute; bottom: 55%; left: 20%; width: 20px; height: 30px;
  background: radial-gradient(circle at 50% 30%, #ffd060 0%, #b07030 70%);
  border-radius: 40% 40% 10% 10%;
  box-shadow: 0 0 40px 12px #b07030, 0 0 80px 24px rgba(176,112,48,0.3);
  animation: snd-lamp 4s ease-in-out infinite alternate;
}
.scn-antony-sends-message-to-caesar .table {
  position: absolute; bottom: 20%; left: 22%; width: 100px; height: 8px;
  background: linear-gradient(90deg, #3a2a1a 0%, #4a3a2a 100%);
  border-radius: 20% 20% 0 0;
  transform: perspective(200px) rotateX(30deg);
  box-shadow: 0 4px 10px rgba(0,0,0,0.6);
}
.scn-antony-sends-message-to-caesar .figure-lord {
  position: absolute; bottom: 12%; left: 50%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: snd-lord 6s ease-in-out infinite;
  transform-origin: bottom center;
}
.scn-antony-sends-message-to-caesar .figure-kneel {
  position: absolute; bottom: 0%; left: 64%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #2a2a3a 0%, #0a0a1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  animation: snd-kneel 3s ease-in-out infinite alternate;
  transform-origin: bottom center;
}
.scn-antony-sends-message-to-caesar .shadow-cast {
  position: absolute; bottom: 0%; left: 45%; width: 120px; height: 30px;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.5) 0%, transparent 70%);
  animation: snd-shadow 8s ease-in-out infinite alternate;
}
.scn-antony-sends-message-to-caesar .whip-coil {
  position: absolute; bottom: 10%; left: 63%; width: 20px; height: 20px;
  background: radial-gradient(circle, #4a3a2a 0%, #1a1a1a 100%);
  border-radius: 50%;
  box-shadow: 0 0 0 2px #2a1a1a;
  animation: snd-whip 2s ease-in-out infinite;
  transform-origin: center bottom;
}
@keyframes snd-deep { 0% { opacity: 0.7; } 50% { opacity: 0.9; } 100% { opacity: 0.6; } }
@keyframes snd-mid { 0% { opacity: 0.5; } 50% { opacity: 0.7; } 100% { opacity: 0.4; } }
@keyframes snd-lamp { 0% { box-shadow: 0 0 30px 8px #b07030; opacity: 0.8; } 50% { box-shadow: 0 0 50px 16px #ffd060; opacity: 1; } 100% { box-shadow: 0 0 35px 10px #b07030; opacity: 0.7; } }
@keyframes snd-lord { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-2px) rotate(-2deg); } 50% { transform: translateX(1px) rotate(1deg); } 75% { transform: translateX(-1px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes snd-kneel { 0% { transform: translateY(0) rotate(-5deg); } 50% { transform: translateY(-2px) rotate(0deg); } 100% { transform: translateY(0) rotate(5deg); } }
@keyframes snd-shadow { 0% { opacity: 0.3; transform: scaleX(1); } 50% { opacity: 0.5; transform: scaleX(1.1); } 100% { opacity: 0.2; transform: scaleX(0.9); } }
@keyframes snd-whip { 0% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(10deg) translateY(-3px); } 100% { transform: rotate(-5deg) translateY(0); } }

.scn-cleopatra-vows-fidelity {
  background:
    linear-gradient(180deg, #2a1a0a 0%, #4a2a1a 40%, #3a1a0a 100%),
    radial-gradient(ellipse at 50% 80%, #5a3a2a 0%, transparent 70%);
}
.scn-cleopatra-vows-fidelity .bg-deep {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #1a0a00 0%, transparent 100%);
  animation: cvf-deep 18s ease-in-out infinite alternate;
}
.scn-cleopatra-vows-fidelity .bg-mid {
  position: absolute; inset: 15% 0 25% 0;
  background: linear-gradient(180deg, #3a1a0a 0%, #2a0a00 100%);
  opacity: 0.5;
  animation: cvf-mid 12s ease-in-out infinite alternate;
}
.scn-cleopatra-vows-fidelity .altar {
  position: absolute; bottom: 25%; left: 35%; width: 60px; height: 40px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
}
.scn-cleopatra-vows-fidelity .flame {
  position: absolute; bottom: 55%; left: 40%; width: 14px; height: 20px;
  background: radial-gradient(circle at 50% 60%, #ffa040 0%, #d06020 60%, transparent 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  box-shadow: 0 0 24px 8px #d06020, 0 0 48px 16px rgba(208,96,32,0.4);
  animation: cvf-flame 1.5s ease-in-out infinite alternate;
}
.scn-cleopatra-vows-fidelity .queen-silhouette {
  position: absolute; bottom: 0%; left: 42%; width: 45px; height: 80px;
  background: linear-gradient(180deg, #1a0a00 0%, #0a0000 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: cvf-queen 8s ease-in-out infinite;
  transform-origin: bottom center;
}
.scn-cleopatra-vows-fidelity .child-silhouette {
  position: absolute; bottom: 0%; left: 32%; width: 25px; height: 45px;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0000 100%);
  border-radius: 50% 50% 40% 40% / 50% 50% 40% 40%;
  animation: cvf-child 5s ease-in-out infinite;
  transform-origin: bottom center;
}
.scn-cleopatra-vows-fidelity .drape {
  position: absolute; top: 5%; left: 20%; width: 60%; height: 50%;
  background: radial-gradient(ellipse at 50% 100%, rgba(100,60,40,0.3) 0%, transparent 70%);
  border-radius: 60% 40% 0 0 / 80% 60% 0 0;
  animation: cvf-drape 14s ease-in-out infinite alternate;
}
.scn-cleopatra-vows-fidelity .offering {
  position: absolute; bottom: 32%; left: 39%; width: 10px; height: 12px;
  background: radial-gradient(circle, #c0a080 0%, #806040 100%);
  border-radius: 30%;
  animation: cvf-offering 4s ease-in-out infinite;
  box-shadow: 0 0 6px 2px rgba(192,160,128,0.3);
}
@keyframes cvf-deep { 0% { opacity: 0.6; } 50% { opacity: 0.8; } 100% { opacity: 0.5; } }
@keyframes cvf-mid { 0% { opacity: 0.4; } 50% { opacity: 0.6; } 100% { opacity: 0.3; } }
@keyframes cvf-flame { 0% { transform: scaleY(1) rotate(-4deg); opacity: 0.8; } 50% { transform: scaleY(1.2) rotate(0deg); opacity: 1; } 100% { transform: scaleY(0.9) rotate(4deg); opacity: 0.7; } }
@keyframes cvf-queen { 0% { transform: translateY(0) rotate(-1deg); } 25% { transform: translateY(-3px) rotate(2deg); } 50% { transform: translateY(-5px) rotate(0deg); } 75% { transform: translateY(-2px) rotate(-2deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes cvf-child { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(3deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes cvf-drape { 0% { transform: scaleX(0.95) translateY(0); } 50% { transform: scaleX(1) translateY(-10px); } 100% { transform: scaleX(0.98) translateY(-5px); } }
@keyframes cvf-offering { 0% { transform: translate(0,0) scale(1); } 50% { transform: translate(2px,-4px) scale(1.2); } 100% { transform: translate(0,0) scale(1); } }

.scn-antony-optimism {
  background:
    linear-gradient(135deg, #2a1a0a 0%, #4a2a1a 40%, #3a1a0a 100%),
    radial-gradient(ellipse at 50% 20%, #5a3a2a 0%, transparent 70%);
}
.scn-antony-optimism .bg-deep {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #1a0a00 0%, #2a1a0a 100%);
  animation: ao-deep 22s ease-in-out infinite alternate;
}
.scn-antony-optimism .pillar-left {
  position: absolute; bottom: 0; left: 10%; width: 20px; height: 80%;
  background: linear-gradient(90deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 2px 0 8px rgba(0,0,0,0.4);
  animation: ao-pillar 15s ease-in-out infinite alternate;
}
.scn-antony-optimism .pillar-right {
  position: absolute; bottom: 0; right: 10%; width: 20px; height: 80%;
  background: linear-gradient(270deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: -2px 0 8px rgba(0,0,0,0.4);
  animation: ao-pillar 15s ease-in-out infinite alternate-reverse;
}
.scn-antony-optimism .floor-tiles {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background:
    linear-gradient(45deg, #3a2a1a 25%, transparent 25%),
    linear-gradient(-45deg, #3a2a1a 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, #3a2a1a 75%),
    linear-gradient(-45deg, transparent 75%, #3a2a1a 75%);
  background-size: 20px 20px;
  background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
  opacity: 0.3;
}
.scn-antony-optimism .antony-figure {
  position: absolute; bottom: 5%; left: 50%; width: 50px; height: 85px;
  background: linear-gradient(180deg, #1a0a00 0%, #0a0000 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ao-antony 6s ease-in-out infinite;
  transform-origin: bottom center;
}
.scn-antony-optimism .goblet-raised {
  position: absolute; bottom: 55%; left: 55%; width: 12px; height: 24px;
  background: linear-gradient(180deg, #c0a060 0%, #806040 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 10% 10%;
  box-shadow: 0 0 8px 2px rgba(192,160,96,0.4);
  animation: ao-goblet 3s ease-in-out infinite alternate;
  transform-origin: bottom center;
}
.scn-antony-optimism .wreath {
  position: absolute; bottom: 78%; left: 44%; width: 30px; height: 12px;
  background: radial-gradient(ellipse at 50% 50%, #6a8a3a 0%, #3a5a1a 100%);
  border-radius: 50%;
  filter: blur(1px);
  animation: ao-wreath 10s ease-in-out infinite;
}
.scn-antony-optimism .gauze {
  position: absolute; top: 2%; left: 25%; width: 50%; height: 30%;
  background: radial-gradient(ellipse at 50% 100%, rgba(200,150,100,0.15) 0%, transparent 70%);
  border-radius: 60% 40% 0 0 / 80% 60% 0 0;
  animation: ao-gauze 20s ease-in-out infinite alternate;
}
@keyframes ao-deep { 0% { opacity: 0.5; } 50% { opacity: 0.7; } 100% { opacity: 0.4; } }
@keyframes ao-pillar { 0% { transform: scaleY(0.95); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(0.98); } }
@keyframes ao-antony { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-5px) rotate(-4deg); } 50% { transform: translateX(0) rotate(2deg); } 75% { transform: translateX(5px) rotate(4deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes ao-goblet { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(10deg) translateY(-5px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes ao-wreath { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(0.9) rotate(5deg); } 100% { transform: scale(1) rotate(0deg); } }
@keyframes ao-gauze { 0% { transform: translateY(0) scaleX(0.9); } 50% { transform: translateY(-8px) scaleX(1.1); } 100% { transform: translateY(0) scaleX(0.95); } }

.scn-gaudy-night-resolve {
  background:
    linear-gradient(180deg, #1a0a00 0%, #3a1a0a 40%, #2a0a00 100%),
    radial-gradient(ellipse at 50% 80%, #5a2a0a 0%, transparent 70%);
}
.scn-gaudy-night-resolve .bg-shadow {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #0a0000 0%, #1a0a00 100%);
  animation: gnr-shadow 20s ease-in-out infinite alternate;
}
.scn-gaudy-night-resolve .hearth {
  position: absolute; bottom: 17%; left: 50%; width: 120px; height: 90px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 20% 20% 30% 30% / 40% 40% 30% 30%;
  transform: translateX(-50%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
}
.scn-gaudy-night-resolve .fire {
  position: absolute; bottom: 25%; left: 50%; width: 50px; height: 70px;
  background: radial-gradient(ellipse at 50% 80%, #ff8020 0%, #d04000 50%, transparent 100%);
  border-radius: 60% 60% 30% 30% / 80% 80% 30% 30%;
  box-shadow: 0 0 40px 16px #d04000, 0 0 80px 32px rgba(208,64,0,0.3);
  animation: gnr-fire 2s ease-in-out infinite alternate;
}
.scn-gaudy-night-resolve .table {
  position: absolute; bottom: 12%; left: 30%; width: 90px; height: 10px;
  background: linear-gradient(90deg, #3a2a1a 0%, #4a3a2a 100%);
  border-radius: 10% 10% 0 0;
  transform: perspective(200px) rotateX(25deg);
  box-shadow: 0 4px 10px rgba(0,0,0,0.5);
}
.scn-gaudy-night-resolve .bottle {
  position: absolute; bottom: 20%; left: 35%; width: 12px; height: 35px;
  background: linear-gradient(180deg, #6a4a1a 0%, #3a2a0a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%;
  animation: gnr-bottle 6s ease-in-out infinite;
  transform-origin: bottom center;
}
.scn-gaudy-night-resolve .goblet {
  position: absolute; bottom: 17%; left: 42%; width: 14px; height: 22px;
  background: linear-gradient(180deg, #c0a060 0%, #806040 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 10% 10%;
  box-shadow: 0 0 6px 2px rgba(192,160,96,0.4);
  animation: gnr-goblet 4s ease-in-out infinite alternate;
  transform-origin: bottom center;
}
.scn-gaudy-night-resolve .enobarbus-figure {
  position: absolute; bottom: 5%; left: 65%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #1a0a00 0%, #0a0000 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: gnr-enobarbus 5s ease-in-out infinite;
  transform-origin: bottom center;
}
.scn-gaudy-night-resolve .wine-splash {
  position: absolute; bottom: 23%; left: 42%; width: 18px; height: 6px;
  background: radial-gradient(ellipse at 50% 50%, #7a2a1a 0%, transparent 100%);
  border-radius: 50%;
  animation: gnr-splash 3s ease-in-out infinite;
}
.scn-gaudy-night-resolve .embers {
  position: absolute; bottom: 28%; left: 47%; width: 8px; height: 8px;
  background: radial-gradient(circle, #ffa040 0%, #d06020 100%);
  border-radius: 50%;
  box-shadow: 0 0 12px 4px #d06020;
  animation: gnr-ember 1.5s ease-in-out infinite alternate;
}
@keyframes gnr-shadow { 0% { opacity: 0.4; } 50% { opacity: 0.6; } 100% { opacity: 0.3; } }
@keyframes gnr-fire { 0% { transform: scaleY(1) rotate(-3deg); opacity: 0.8; } 50% { transform: scaleY(1.15) rotate(0deg); opacity: 1; } 100% { transform: scaleY(0.9) rotate(3deg); opacity: 0.7; } }
@keyframes gnr-bottle { 0% { transform: rotate(-5deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-2deg); } }
@keyframes gnr-goblet { 0% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(5deg) translateY(-3px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes gnr-enobarbus { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-2px) rotate(-2deg); } 50% { transform: translateX(0) rotate(1deg); } 75% { transform: translateX(2px) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes gnr-splash { 0% { transform: scaleX(0.8) scaleY(1); opacity: 0.6; } 50% { transform: scaleX(1.3) scaleY(2); opacity: 0.9; } 100% { transform: scaleX(0.9) scaleY(1); opacity: 0.5; } }
@keyframes gnr-ember { 0% { transform: translateY(0) scale(1); opacity: 0.8; } 50% { transform: translateY(-6px) scale(1.5); opacity: 1; } 100% { transform: translateY(0) scale(0.8); opacity: 0.6; } }

.scn-soldiers-find-enobarbus-body {
  background: 
    linear-gradient(180deg, #0a0a1a 0%, #14142a 30%, #1a1a3a 60%, #0f0f2a 100%),
    radial-gradient(ellipse at 50% 0%, #2a2a5a 0%, transparent 70%);
}
.scn-soldiers-find-enobarbus-body .moon {
  position: absolute;
  top: 6%;
  right: 18%;
  width: 40px;
  height: 40px;
  background: radial-gradient(circle at 55% 45%, #e0e0ff 0%, #a0a0cc 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px rgba(160,160,204,0.3);
  animation: sfe-moon-glow 8s ease-in-out infinite alternate;
}
.scn-soldiers-find-enobarbus-body .sky {
  position: absolute;
  inset: 0 0 55% 0;
  background: linear-gradient(180deg, #0a0a1a 0%, #14142a 40%, transparent 100%);
  animation: sfe-sky 12s ease-in-out infinite alternate;
}
.scn-soldiers-find-enobarbus-body .ground {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 55%;
  background: linear-gradient(180deg, #1a1a2e 0%, #0d0d1a 100%);
  border-radius: 30% 70% 0 0 / 40% 60% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.6);
}
.scn-soldiers-find-enobarbus-body .rocks-left {
  position: absolute;
  bottom: 40%;
  left: 8%;
  width: 50px;
  height: 30px;
  background: linear-gradient(135deg, #222240, #11112a);
  border-radius: 40% 60% 30% 70% / 50% 50% 50% 50%;
  transform: rotate(-10deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: sfe-rocks 20s ease-in-out infinite;
}
.scn-soldiers-find-enobarbus-body .rocks-right {
  position: absolute;
  bottom: 38%;
  right: 10%;
  width: 60px;
  height: 25px;
  background: linear-gradient(220deg, #1c1c38, #0e0e22);
  border-radius: 50% 40% 60% 30% / 40% 60% 40% 60%;
  transform: rotate(5deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: sfe-rocks 18s ease-in-out infinite reverse;
}
.scn-soldiers-find-enobarbus-body .body {
  position: absolute;
  bottom: 16%;
  left: 50%;
  width: 30px;
  height: 50px;
  transform: translateX(-50%) rotate(-15deg);
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: sfe-body 3s ease-in-out infinite alternate;
}
.scn-soldiers-find-enobarbus-body .soldier-1 {
  position: absolute;
  bottom: 18%;
  left: 30%;
  width: 24px;
  height: 60px;
  background: linear-gradient(180deg, #0f0f2a 0%, #060618 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sfe-soldier 4s ease-in-out infinite;
}
.scn-soldiers-find-enobarbus-body .soldier-2 {
  position: absolute;
  bottom: 17%;
  right: 28%;
  width: 22px;
  height: 58px;
  background: linear-gradient(180deg, #12122e 0%, #080820 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sfe-soldier 4.5s ease-in-out infinite 0.3s;
}
.scn-soldiers-find-enobarbus-body .cloud {
  position: absolute;
  top: 14%;
  left: 10%;
  width: 100px;
  height: 20px;
  background: linear-gradient(180deg, rgba(160,160,204,0.15) 0%, rgba(160,160,204,0.05) 100%);
  border-radius: 50%;
  filter: blur(8px);
  animation: sfe-cloud 40s linear infinite;
}
@keyframes sfe-moon-glow {
  0% { opacity: 0.7; transform: scale(0.95); box-shadow: 0 0 40px 15px rgba(160,160,204,0.2); }
  50% { opacity: 1; transform: scale(1.05); box-shadow: 0 0 80px 30px rgba(160,160,204,0.5); }
  100% { opacity: 0.8; transform: scale(1); box-shadow: 0 0 50px 20px rgba(160,160,204,0.3); }
}
@keyframes sfe-sky {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes sfe-rocks {
  0% { transform: rotate(-10deg) translateY(0); }
  50% { transform: rotate(-8deg) translateY(-2px); }
  100% { transform: rotate(-10deg) translateY(0); }
}
@keyframes sfe-body {
  0% { transform: translateX(-50%) rotate(-15deg) scaleY(1); }
  50% { transform: translateX(-50%) rotate(-14deg) scaleY(1.02); }
  100% { transform: translateX(-50%) rotate(-15deg) scaleY(1); }
}
@keyframes sfe-soldier {
  0% { transform: translateX(0) translateY(0) rotate(-2deg); }
  25% { transform: translateX(2px) translateY(-1px) rotate(0deg); }
  50% { transform: translateX(0) translateY(0) rotate(2deg); }
  75% { transform: translateX(-2px) translateY(-1px) rotate(0deg); }
  100% { transform: translateX(0) translateY(0) rotate(-2deg); }
}
@keyframes sfe-cloud {
  0% { transform: translateX(-20px); }
  100% { transform: translateX(120vw); }
}

.scn-dercetas-brings-antony-sword {
  background: 
    linear-gradient(180deg, #c8a070 0%, #e8c898 40%, #f0d8b0 100%),
    radial-gradient(ellipse at 50% 100%, #b8885a 0%, transparent 70%);
}
.scn-dercetas-brings-antony-sword .wall {
  position: absolute;
  inset: 0 0 25% 0;
  background: linear-gradient(180deg, #d8b888 0%, #b89870 100%);
  box-shadow: inset 0 10px 40px rgba(0,0,0,0.2);
  animation: dba-wall 6s ease-in-out infinite alternate;
}
.scn-dercetas-brings-antony-sword .floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 25%;
  background: linear-gradient(180deg, #a08060 0%, #806040 100%);
  border-radius: 20% 20% 0 0 / 30% 30% 0 0;
  box-shadow: inset 0 12px 24px rgba(0,0,0,0.4);
}
.scn-dercetas-brings-antony-sword .pillar {
  position: absolute;
  bottom: 25%;
  left: 15%;
  width: 18px;
  height: 100px;
  background: linear-gradient(180deg, #d0b090 0%, #b09070 100%);
  border-radius: 6% 6% 4% 4%;
  box-shadow: 2px 0 8px rgba(0,0,0,0.3);
  animation: dba-pillar 8s ease-in-out infinite;
}
.scn-dercetas-brings-antony-sword .door {
  position: absolute;
  bottom: 25%;
  right: 20%;
  width: 40px;
  height: 70px;
  background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%);
  border-radius: 4% 4% 10% 10%;
  box-shadow: inset 0 4px 12px rgba(0,0,0,0.5);
  transform: perspective(80px) rotateY(10deg);
  animation: dba-door 10s ease-in-out infinite alternate;
}
.scn-dercetas-brings-antony-sword .figure {
  position: absolute;
  bottom: 18%;
  left: 45%;
  width: 26px;
  height: 70px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dba-figure 3s ease-in-out infinite;
}
.scn-dercetas-brings-antony-sword .sword {
  position: absolute;
  bottom: 40%;
  left: 48%;
  width: 4px;
  height: 50px;
  background: linear-gradient(180deg, #c0c0c0 0%, #808080 100%);
  border-radius: 10% 10% 30% 30%;
  transform: rotate(30deg) translateX(-10px);
  box-shadow: 0 0 6px rgba(200,200,200,0.5);
  animation: dba-sword 2s ease-in-out infinite;
}
.scn-dercetas-brings-antony-sword .sword-glow {
  position: absolute;
  bottom: 40%;
  left: 48%;
  width: 10px;
  height: 55px;
  background: radial-gradient(ellipse at 50% 50%, rgba(255,220,160,0.4) 0%, transparent 60%);
  border-radius: 50%;
  transform: rotate(30deg) translateX(-10px);
  filter: blur(2px);
  animation: dba-glow 1.5s ease-in-out infinite alternate;
}
.scn-dercetas-brings-antony-sword .shadow {
  position: absolute;
  bottom: 17%;
  left: 44%;
  width: 40px;
  height: 10px;
  background: rgba(0,0,0,0.3);
  border-radius: 50%;
  filter: blur(4px);
  animation: dba-shadow 3s ease-in-out infinite;
}
@keyframes dba-wall {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.95; }
}
@keyframes dba-pillar {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes dba-door {
  0% { transform: perspective(80px) rotateY(10deg); }
  50% { transform: perspective(80px) rotateY(5deg); }
  100% { transform: perspective(80px) rotateY(10deg); }
}
@keyframes dba-figure {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(2px) rotate(1deg); }
  50% { transform: translateX(0) rotate(0deg); }
  75% { transform: translateX(-2px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes dba-sword {
  0% { transform: rotate(30deg) translateX(-10px) scaleY(1); }
  50% { transform: rotate(32deg) translateX(-8px) scaleY(1.02); }
  100% { transform: rotate(30deg) translateX(-10px) scaleY(1); }
}
@keyframes dba-glow {
  0% { opacity: 0.3; transform: rotate(30deg) translateX(-10px) scale(0.9); }
  100% { opacity: 0.7; transform: rotate(30deg) translateX(-10px) scale(1.1); }
}
@keyframes dba-shadow {
  0% { transform: scaleX(1); }
  50% { transform: scaleX(1.1); }
  100% { transform: scaleX(1); }
}

.scn-dercetas-announces-antony-death {
  background: 
    linear-gradient(180deg, #c88858 0%, #e0a878 30%, #f0c898 60%, #d8a070 100%),
    radial-gradient(ellipse at 50% 80%, #c08050 0%, transparent 70%);
}
.scn-dercetas-announces-antony-death .bg-wall {
  position: absolute;
  inset: 0 0 20% 0;
  background: linear-gradient(180deg, #d0a070 0%, #b88860 100%);
  box-shadow: inset 0 8px 30px rgba(0,0,0,0.3);
  animation: daa-wall 10s ease-in-out infinite alternate;
}
.scn-dercetas-announces-antony-death .bg-floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 20%;
  background: linear-gradient(180deg, #906848 0%, #705030 100%);
  border-radius: 40% 40% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 6px 18px rgba(0,0,0,0.5);
}
.scn-dercetas-announces-antony-death .throne {
  position: absolute;
  bottom: 20%;
  left: 25%;
  width: 50px;
  height: 60px;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a2a1a 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.6);
  transform: perspective(100px) rotateX(5deg);
  animation: daa-throne 8s ease-in-out infinite;
}
.scn-dercetas-announces-antony-death .caesar {
  position: absolute;
  bottom: 22%;
  left: 28%;
  width: 22px;
  height: 55px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: daa-caesar 5s ease-in-out infinite;
}
.scn-dercetas-announces-antony-death .dercetas {
  position: absolute;
  bottom: 18%;
  left: 55%;
  width: 24px;
  height: 65px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: daa-dercetas 4s ease-in-out infinite;
}
.scn-dercetas-announces-antony-death .attendant {
  position: absolute;
  bottom: 20%;
  right: 18%;
  width: 20px;
  height: 50px;
  background: linear-gradient(180deg, #2a1a10 0%, #0a0804 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: daa-attendant 4.5s ease-in-out infinite 0.2s;
}
.scn-dercetas-announces-antony-death .torch-left {
  position: absolute;
  bottom: 35%;
  left: 10%;
  width: 8px;
  height: 12px;
  background: radial-gradient(circle at 50% 100%, #ffb060 0%, #d07030 70%, transparent 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 30px 10px rgba(255,176,96,0.3);
  animation: daa-torch 2s ease-in-out infinite alternate;
}
.scn-dercetas-announces-antony-death .torch-right {
  position: absolute;
  bottom: 35%;
  right: 12%;
  width: 8px;
  height: 12px;
  background: radial-gradient(circle at 50% 100%, #ffb060 0%, #d07030 70%, transparent 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 30px 10px rgba(255,176,96,0.3);
  animation: daa-torch 2.5s ease-in-out infinite alternate 0.3s;
}
.scn-dercetas-announces-antony-death .banner {
  position: absolute;
  top: 10%;
  right: 5%;
  width: 30px;
  height: 50px;
  background: linear-gradient(180deg, #b06040 0%, #7a3a20 100%);
  border-radius: 20% 20% 40% 40% / 10% 10% 30% 30%;
  transform: rotate(10deg);
  animation: daa-banner 12s ease-in-out infinite;
}
@keyframes daa-wall {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes daa-throne {
  0% { transform: perspective(100px) rotateX(5deg) translateY(0); }
  50% { transform: perspective(100px) rotateX(5deg) translateY(-3px); }
  100% { transform: perspective(100px) rotateX(5deg) translateY(0); }
}
@keyframes daa-caesar {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(2px) rotate(1deg); }
  50% { transform: translateX(0) rotate(0deg); }
  75% { transform: translateX(-2px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes daa-dercetas {
  0% { transform: translateX(0) rotate(-2deg); }
  25% { transform: translateX(3px) rotate(0deg); }
  50% { transform: translateX(0) rotate(2deg); }
  75% { transform: translateX(-3px) rotate(0deg); }
  100% { transform: translateX(0) rotate(-2deg); }
}
@keyframes daa-attendant {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(2px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes daa-torch {
  0% { opacity: 0.7; transform: scaleY(0.9); box-shadow: 0 0 20px 8px rgba(255,176,96,0.3); }
  100% { opacity: 1; transform: scaleY(1.1); box-shadow: 0 0 40px 15px rgba(255,176,96,0.5); }
}
@keyframes daa-banner {
  0% { transform: rotate(10deg) scaleX(0.95); }
  50% { transform: rotate(12deg) scaleX(1.05); }
  100% { transform: rotate(10deg) scaleX(0.95); }
}

.scn-dercetas-shows-sword {
  background: 
    linear-gradient(180deg, #a87858 0%, #c89870 30%, #d8a880 100%),
    radial-gradient(ellipse at 50% 100%, #906040 0%, transparent 80%);
}
.scn-dercetas-shows-sword .backdrop {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #b88060 0%, #a06848 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.4);
  animation: dss-backdrop 8s ease-in-out infinite alternate;
}
.scn-dercetas-shows-sword .table {
  position: absolute;
  bottom: 0;
  left: 10%;
  right: 10%;
  height: 30%;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a2a1a 100%);
  border-radius: 20% 20% 0 0 / 10% 10% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
}
.scn-dercetas-shows-sword .hand {
  position: absolute;
  bottom: 25%;
  left: 48%;
  width: 20px;
  height: 30px;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%;
  transform: rotate(-20deg);
  animation: dss-hand 4s ease-in-out infinite;
}
.scn-dercetas-shows-sword .sword-blade {
  position: absolute;
  bottom: 35%;
  left: 46%;
  width: 6px;
  height: 70px;
  background: linear-gradient(180deg, #c0c0c0 0%, #808080 100%);
  border-radius: 10% 10% 20% 20%;
  transform: rotate(25deg);
  box-shadow: 0 0 8px rgba(200,200,200,0.4);
  animation: dss-blade 3s ease-in-out infinite;
}
.scn-dercetas-shows-sword .sword-hilt {
  position: absolute;
  bottom: 32%;
  left: 46%;
  width: 8px;
  height: 16px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 30% 30% 10% 10%;
  transform: rotate(25deg);
  box-shadow: 0 0 4px rgba(0,0,0,0.5);
  animation: dss-hilt 3s ease-in-out infinite;
}
.scn-dercetas-shows-sword .blood-drip {
  position: absolute;
  bottom: 28%;
  left: 48%;
  width: 4px;
  height: 20px;
  background: linear-gradient(180deg, #5e1a1d 0%, #3a0a0c 100%);
  border-radius: 30% 30% 50% 50%;
  transform: rotate(15deg);
  animation: dss-drip 2s ease-in-out infinite;
}
.scn-dercetas-shows-sword .shadow-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 60%, transparent 0%, rgba(0,0,0,0.3) 100%);
  pointer-events: none;
  animation: dss-shadow-overlay 6s ease-in-out infinite alternate;
}
@keyframes dss-backdrop {
  0% { opacity: 0.85; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes dss-hand {
  0% { transform: rotate(-20deg) translateX(0); }
  50% { transform: rotate(-18deg) translateX(2px); }
  100% { transform: rotate(-20deg) translateX(0); }
}
@keyframes dss-blade {
  0% { transform: rotate(25deg) scaleY(1); }
  50% { transform: rotate(26deg) scaleY(1.02); }
  100% { transform: rotate(25deg) scaleY(1); }
}
@keyframes dss-hilt {
  0% { transform: rotate(25deg) translateY(0); }
  50% { transform: rotate(25deg) translateY(-1px); }
  100% { transform: rotate(25deg) translateY(0); }
}
@keyframes dss-drip {
  0% { transform: rotate(15deg) translateY(0) scaleY(1); opacity: 0.6; }
  50% { transform: rotate(15deg) translateY(4px) scaleY(1.1); opacity: 0.8; }
  100% { transform: rotate(15deg) translateY(0) scaleY(1); opacity: 0.6; }
}
@keyframes dss-shadow-overlay {
  0% { opacity: 0.5; }
  100% { opacity: 0.7; }
}

.scn-cleopatra-attires {
  background:
    radial-gradient(ellipse 60% 50% at 50% 40%, #d97a38 0%, transparent 50%),
    linear-gradient(180deg, #1a1528 0%, #3a2a4e 30%, #7a5a3a 70%, #a07a4a 100%);
}
.scn-cleopatra-attires .sky-ca {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a1a3a 0%, #5a3a2a 60%, #b08050 100%);
  animation: ca-sky 12s ease-in-out infinite alternate;
}
.scn-cleopatra-attires .window-ca {
  position: absolute; top: 8%; left: 30%; width: 40%; height: 60%;
  background: radial-gradient(ellipse at 50% 100%, #ffc080 0%, transparent 70%);
  border: 4px solid #6a4a3a;
  border-radius: 30% 30% 10% 10% / 50% 50% 10% 10%;
  box-shadow: inset 0 0 40px rgba(255, 192, 128, 0.3);
}
.scn-cleopatra-attires .curtain-left-ca,
.scn-cleopatra-attires .curtain-right-ca {
  position: absolute; top: 0; width: 14%; height: 100%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%);
  border-radius: 0% 30% 30% 0% / 0% 50% 50% 0%;
  animation: ca-curtain 6s ease-in-out infinite alternate;
}
.scn-cleopatra-attires .curtain-right-ca {
  left: auto; right: 0;
  border-radius: 30% 0% 0% 30% / 50% 0% 0% 50%;
  animation-delay: -3s;
}
.scn-cleopatra-attires .queen-ca {
  position: absolute; bottom: 5%; left: 45%; width: 12%; height: 40%;
  background: linear-gradient(180deg, #3a2030 0%, #1a0a10 100%);
  border-radius: 30% 30% 20% 20% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: ca-queen 4s ease-in-out infinite alternate;
}
.scn-cleopatra-attires .attendant1-ca,
.scn-cleopatra-attires .attendant2-ca {
  position: absolute; bottom: 5%; width: 10%; height: 32%;
  background: linear-gradient(180deg, #2a1a20 0%, #0a0a10 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: ca-attendant 5s ease-in-out infinite alternate;
}
.scn-cleopatra-attires .attendant1-ca { left: 30%; animation-delay: -2s; }
.scn-cleopatra-attires .attendant2-ca { left: 55%; animation-delay: -4s; }
.scn-cleopatra-attires .crown-ca {
  position: absolute; bottom: 42%; left: 48%; width: 5%; height: 6%;
  background: linear-gradient(180deg, #d4a040 0%, #a08030 100%);
  border-radius: 20% 20% 0% 0% / 50% 50% 0% 0%;
  box-shadow: 0 0 12px 4px rgba(212, 160, 64, 0.6);
  animation: ca-crown 2s ease-in-out infinite alternate;
}
.scn-cleopatra-attires .mirror-ca {
  position: absolute; bottom: 10%; right: 10%; width: 8%; height: 25%;
  background: radial-gradient(circle at 50% 30%, #c0a080 0%, #8a6a4a 80%);
  border-radius: 10% 10% 20% 20% / 30% 30% 20% 20%;
  box-shadow: 0 0 30px 8px rgba(192, 160, 128, 0.4);
  animation: ca-mirror 8s ease-in-out infinite alternate;
}
@keyframes ca-sky { 0% { opacity: 0.7 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes ca-curtain { 0% { transform: scaleX(1) } 50% { transform: scaleX(0.85) } 100% { transform: scaleX(1.05) } }
@keyframes ca-queen { 0% { transform: rotate(-2deg) } 50% { transform: rotate(2deg) translateY(-5px) } 100% { transform: rotate(-1deg) } }
@keyframes ca-attendant { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-8px) rotate(3deg) } 75% { transform: translateY(-4px) rotate(-2deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes ca-crown { 0% { transform: rotate(-5deg) scale(1) } 50% { transform: rotate(5deg) scale(1.1) } 100% { transform: rotate(-3deg) scale(0.95) } }
@keyframes ca-mirror { 0% { opacity: 0.6 } 50% { opacity: 1 } 100% { opacity: 0.7 } }

.scn-item-aspic-basket {
  background:
    radial-gradient(ellipse 80% 60% at 50% 80%, #4a3a1a 0%, transparent 70%),
    linear-gradient(180deg, #1a1410 0%, #2a2015 50%, #3a2a1a 100%);
}
.scn-item-aspic-basket .bg-iab {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1a1410 0%, #0a0805 100%);
}
.scn-item-aspic-basket .door-iab {
  position: absolute; top: 10%; left: 15%; width: 20%; height: 80%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 5% 5% 0% 0% / 20% 20% 0% 0%;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.6);
}
.scn-item-aspic-basket .basket-iab {
  position: absolute; bottom: 20%; left: 35%; width: 30%; height: 20%;
  background: linear-gradient(180deg, #b08050 0%, #8a6030 100%);
  border-radius: 20% 20% 40% 40% / 40% 40% 30% 30%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.5);
  animation: iab-basket 4s ease-in-out infinite;
}
.scn-item-aspic-basket .figs-iab {
  position: absolute; bottom: 27%; left: 38%; width: 24%; height: 10%;
  background:
    radial-gradient(circle at 20% 50%, #c0a030 4px, transparent 4px),
    radial-gradient(circle at 50% 30%, #b89028 5px, transparent 5px),
    radial-gradient(circle at 80% 60%, #c8a838 4px, transparent 4px);
  animation: iab-figs 6s ease-in-out infinite alternate;
}
.scn-item-aspic-basket .snake-iab {
  position: absolute; bottom: 32%; left: 50%; width: 18%; height: 4%;
  background: linear-gradient(90deg, #2a5a2a 0%, #3a7a3a 50%, #2a5a2a 100%);
  border-radius: 50%;
  transform-origin: left center;
  animation: iab-snake 3s ease-in-out infinite;
}
.scn-item-aspic-basket .guard-iab {
  position: absolute; bottom: 2%; left: 12%; width: 20%; height: 50%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: iab-guard 2s ease-in-out infinite alternate;
}
.scn-item-aspic-basket .lantern-iab {
  position: absolute; top: 15%; left: 60%; width: 8%; height: 12%;
  background: radial-gradient(circle, #ffd080 0%, #b08030 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 10% 10%;
  box-shadow: 0 0 30px 10px rgba(255, 208, 128, 0.5);
  animation: iab-lantern 5s ease-in-out infinite alternate;
}
@keyframes iab-basket { 0% { transform: rotate(-2deg) } 50% { transform: rotate(2deg) translateY(-2px) } 100% { transform: rotate(-1deg) } }
@keyframes iab-figs { 0% { transform: scaleY(1) } 50% { transform: scaleY(0.9) } 100% { transform: scaleY(1.05) } }
@keyframes iab-snake { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(5px) rotate(15deg) } 75% { transform: translateX(-3px) rotate(-10deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes iab-guard { 0% { transform: rotate(-5deg) scaleY(1) } 50% { transform: rotate(5deg) scaleY(0.95) translateY(-3px) } 100% { transform: rotate(-3deg) scaleY(1) } }
@keyframes iab-lantern { 0% { transform: rotate(-8deg) } 50% { transform: rotate(8deg) } 100% { transform: rotate(-4deg) } }

.scn-cleopatra-death {
  background:
    radial-gradient(ellipse 40% 30% at 50% 70%, #4a1a1a 0%, transparent 60%),
    linear-gradient(180deg, #0a0a1a 0%, #1a0a0a 40%, #2a0a0a 100%);
}
.scn-cleopatra-death .sky-cd {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 80%);
  animation: cd-sky 15s ease-in-out infinite alternate;
}
.scn-cleopatra-death .candle-cd {
  position: absolute; bottom: 30%; left: 25%; width: 4%; height: 14%;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 5% 5% 0% 0% / 10% 10% 0% 0%;
}
.scn-cleopatra-death .flame-cd {
  position: absolute; bottom: 42%; left: 26%; width: 2%; height: 4%;
  background: radial-gradient(circle, #ffd080 0%, #ff8030 50%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 6px rgba(255, 128, 48, 0.8);
  animation: cd-flame 2s ease-in-out infinite alternate;
}
.scn-cleopatra-death .bed-cd {
  position: absolute; bottom: 5%; left: 10%; width: 80%; height: 12%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 10% 10% 5% 5% / 30% 30% 10% 10%;
  box-shadow: 0 -4px 20px rgba(0,0,0,0.7);
}
.scn-cleopatra-death .cleo-cd {
  position: absolute; bottom: 12%; left: 30%; width: 14%; height: 25%;
  background: linear-gradient(180deg, #2a1010 0%, #0a0505 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform: rotate(-10deg);
  transform-origin: bottom center;
  animation: cd-cleo 6s ease-in-out infinite;
}
.scn-cleopatra-death .asp-cd {
  position: absolute; bottom: 18%; left: 44%; width: 8%; height: 3%;
  background: linear-gradient(90deg, #2a5a2a 0%, #1a3a1a 100%);
  border-radius: 50%;
  animation: cd-asp 4s ease-in-out infinite;
}
.scn-cleopatra-death .crown-cd {
  position: absolute; bottom: 8%; left: 46%; width: 6%; height: 4%;
  background: linear-gradient(180deg, #d4a040 0%, #a08030 100%);
  border-radius: 10% 10% 0% 0% / 30% 30% 0% 0%;
  box-shadow: 0 0 8px 2px rgba(212, 160, 64, 0.4);
  animation: cd-crown 8s ease-in-out infinite alternate;
}
.scn-cleopatra-death .hand-cd {
  position: absolute; bottom: 28%; left: 38%; width: 5%; height: 6%;
  background: linear-gradient(180deg, #2a1010 0%, #0a0505 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 20% 20%;
  transform-origin: bottom center;
  animation: cd-hand 3s ease-in-out infinite alternate;
}
@keyframes cd-sky { 0% { opacity: 0.9 } 50% { opacity: 0.6 } 100% { opacity: 0.8 } }
@keyframes cd-flame { 0% { transform: scaleY(1) scaleX(1) } 50% { transform: scaleY(1.2) scaleX(0.9) } 100% { transform: scaleY(0.9) scaleX(1.1) } }
@keyframes cd-cleo { 0% { transform: rotate(-10deg) } 50% { transform: rotate(-8deg) translateY(-2px) } 100% { transform: rotate(-10deg) } }
@keyframes cd-asp { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(4px) rotate(20deg) } 75% { transform: translateX(-2px) rotate(-10deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes cd-crown { 0% { transform: rotate(0deg) scale(1) } 50% { transform: rotate(-5deg) scale(0.9) } 100% { transform: rotate(3deg) scale(1) } }
@keyframes cd-hand { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-8px) rotate(10deg) } 100% { transform: translateY(0) rotate(5deg) } }

.scn-caesar-discovers-death {
  background:
    radial-gradient(ellipse 50% 40% at 30% 20%, #c0a080 0%, transparent 60%),
    linear-gradient(180deg, #2a2a3a 0%, #4a3a4a 30%, #7a5a5a 60%, #9a7a6a 100%);
}
.scn-caesar-discovers-death .sky-cdd {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #1a1a2a 0%, #3a2a3a 40%, #6a4a4a 80%, #b08060 100%);
  animation: cdd-sky 20s ease-in-out infinite alternate;
}
.scn-caesar-discovers-death .sunrays-cdd {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  background: linear-gradient(135deg, rgba(255, 200, 150, 0.3) 0%, transparent 50%);
  animation: cdd-rays 12s ease-in-out infinite alternate;
}
.scn-caesar-discovers-death .pillar-left-cdd,
.scn-caesar-discovers-death .pillar-right-cdd {
  position: absolute; bottom: 0; width: 8%; height: 90%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 5% 5% 0% 0% / 10% 10% 0% 0%;
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
}
.scn-caesar-discovers-death .pillar-left-cdd { left: 10%; }
.scn-caesar-discovers-death .pillar-right-cdd { right: 10%; }
.scn-caesar-discovers-death .caesar-cdd {
  position: absolute; bottom: 2%; left: 55%; width: 16%; height: 55%;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a0a0a 100%);
  border-radius: 30% 30% 20% 20% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: cdd-caesar 5s ease-in-out infinite alternate;
}
.scn-caesar-discovers-death .cleo-cdd {
  position: absolute; bottom: 5%; left: 25%; width: 14%; height: 28%;
  background: linear-gradient(180deg, #2a1010 0%, #0a0505 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  transform: rotate(-15deg);
  transform-origin: bottom center;
  animation: cdd-cleo 7s ease-in-out infinite;
}
.scn-caesar-discovers-death .charmian-cdd {
  position: absolute; bottom: 2%; left: 18%; width: 10%; height: 20%;
  background: linear-gradient(180deg, #2a2020 0%, #0a0a0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 20% 20%;
  transform: rotate(-25deg);
  transform-origin: bottom left;
  animation: cdd-charmian 8s ease-in-out infinite alternate;
}
.scn-caesar-discovers-death .asp-cdd {
  position: absolute; bottom: 15%; left: 40%; width: 6%; height: 2.5%;
  background: linear-gradient(90deg, #2a5a2a 0%, #1a3a1a 100%);
  border-radius: 50%;
  animation: cdd-asp 4s ease-in-out infinite;
}
.scn-caesar-discovers-death .shadow-cdd {
  position: absolute; bottom: 0; left: 0; width: 100%; height: 20%;
  background: linear-gradient(0deg, rgba(10,5,5,0.6) 0%, transparent 100%);
}
@keyframes cdd-sky { 0% { opacity: 0.8 } 50% { opacity: 0.6 } 100% { opacity: 0.9 } }
@keyframes cdd-rays { 0% { opacity: 0.3; transform: rotate(0deg) } 50% { opacity: 0.6; transform: rotate(5deg) } 100% { opacity: 0.4; transform: rotate(-3deg) } }
@keyframes cdd-caesar { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(-10px) rotate(-5deg) scale(0.98) } 75% { transform: translateX(5px) rotate(2deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes cdd-cleo { 0% { transform: rotate(-15deg) } 50% { transform: rotate(-10deg) translateY(-3px) } 100% { transform: rotate(-15deg) } }
@keyframes cdd-charmian { 0% { transform: rotate(-25deg) scale(1) } 50% { transform: rotate(-20deg) scale(0.95) } 100% { transform: rotate(-25deg) scale(1) } }
@keyframes cdd-asp { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(8px) rotate(30deg) } 75% { transform: translateX(-4px) rotate(-15deg) } 100% { transform: translateX(0) rotate(0deg) } }

.scn-cleopatra-watches-antonys-departure {
  background: linear-gradient(180deg, #2a4a6a 0%, #7a7a4a 40%, #d8a050 70%, #e8c080 100%), radial-gradient(ellipse at 30% 100%, #f0d090 0%, transparent 60%);
}
.scn-cleopatra-watches-antonys-departure .sky {
  position: absolute; inset: 0 0 45% 0; background: linear-gradient(180deg, #3a6a8a 0%, #b08040 100%); animation: cl-sky 14s ease-in-out infinite alternate;
}
.scn-cleopatra-watches-antonys-departure .sea {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%; background: linear-gradient(180deg, #c08040 0%, #8a6030 50%, #5a4020 100%); border-radius: 60% 40% 0 0 / 30% 20% 0 0; animation: cl-sea 8s ease-in-out infinite alternate;
}
.scn-cleopatra-watches-antonys-departure .window-frame {
  position: absolute; top: 10%; left: 50%; width: 80px; height: 120px; transform: translateX(-50%); background: linear-gradient(180deg, #8a7a6a 0%, #4a3a2a 100%); border-radius: 8% 8% 4% 4%; box-shadow: inset 0 0 10px rgba(0,0,0,.6); border: 6px solid #5a4a3a;
}
.scn-cleopatra-watches-antonys-departure .figure-cleopatra {
  position: absolute; bottom: 38%; left: 50%; width: 20px; height: 44px; transform: translateX(-50%); background: linear-gradient(180deg, #7a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: cl-figure 5s ease-in-out infinite;
}
.scn-cleopatra-watches-antonys-departure .ship {
  position: absolute; bottom: 42%; left: 70%; width: 30px; height: 18px; background: linear-gradient(180deg, #5a3a1a 0%, #2a1a0a 100%); border-radius: 30% 30% 10% 10%; transform: rotate(-2deg); animation: cl-ship 20s ease-in-out infinite;
}
.scn-cleopatra-watches-antonys-departure .sun-glow {
  position: absolute; top: 20%; left: 28%; width: 40px; height: 40px; background: radial-gradient(circle, #f0c060 0%, #d09030 50%, transparent 70%); border-radius: 50%; animation: cl-sun 6s ease-in-out infinite alternate;
}
.scn-cleopatra-watches-antonys-departure .cloud-a {
  position: absolute; top: 12%; left: 10%; width: 70px; height: 16px; background: linear-gradient(180deg, rgba(255,220,180,.6) 0%, rgba(255,200,160,.2) 100%); border-radius: 50%; filter: blur(5px); animation: cl-drift-a 30s linear infinite;
}
.scn-cleopatra-watches-antonys-departure .cloud-b {
  position: absolute; top: 20%; right: 15%; width: 50px; height: 12px; background: linear-gradient(180deg, rgba(255,220,180,.4) 0%, rgba(255,200,160,.1) 100%); border-radius: 50%; filter: blur(4px); animation: cl-drift-b 40s linear infinite reverse;
}
@keyframes cl-sky { 0% { opacity: .7; background-position: 0% 0%; } 50% { opacity: 1; background-position: 10% 5%; } 100% { opacity: .8; background-position: 0% 0%; } }
@keyframes cl-sea { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-3px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes cl-figure { 0% { transform: translateX(-50%) rotate(-2deg); } 30% { transform: translateX(-50%) translateY(-1px) rotate(1deg); } 60% { transform: translateX(-50%) rotate(-1deg); } 100% { transform: translateX(-50%) rotate(0); } }
@keyframes cl-ship { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(-8px) rotate(0deg); } 100% { transform: translateX(-16px) rotate(2deg); } }
@keyframes cl-sun { 0% { box-shadow: 0 0 20px 6px #f0c060, 0 0 40px 12px rgba(240,192,96,.3); opacity: .8; } 50% { box-shadow: 0 0 30px 10px #ffd080, 0 0 60px 20px rgba(255,208,128,.5); opacity: 1; } 100% { box-shadow: 0 0 22px 8px #e8b850, 0 0 44px 14px rgba(232,184,80,.35); opacity: .85; } }
@keyframes cl-drift-a { 0% { transform: translateX(0); } 50% { transform: translateX(20vw); } 100% { transform: translateX(40vw); } }
@keyframes cl-drift-b { 0% { transform: translateX(0); } 50% { transform: translateX(-15vw); } 100% { transform: translateX(-30vw); } }

.scn-enobarbus-deserts {
  background: linear-gradient(180deg, #c8b080 0%, #8a7a50 30%, #5a4a30 60%, #3a2a1a 100%), radial-gradient(ellipse at 50% 0%, #e8d8b0 0%, transparent 50%);
}
.scn-enobarbus-deserts .sky-harsh {
  position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #f0e0c0 0%, #d0c0a0 50%, #a09070 100%); animation: en-sky 10s ease-in-out infinite alternate;
}
.scn-enobarbus-deserts .desert-ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%; background: linear-gradient(180deg, #8a7a50 0%, #5a4a30 50%, #3a2a1a 100%); border-radius: 70% 30% 0 0 / 50% 20% 0 0; box-shadow: inset 0 10px 30px rgba(0,0,0,.5);
}
.scn-enobarbus-deserts .camp-antony {
  position: absolute; bottom: 30%; left: 12%; width: 60px; height: 40px; background: linear-gradient(180deg, #6a5a3a 0%, #3a2a1a 100%); border-radius: 10% 10% 0 0; clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%); box-shadow: 0 4px 8px rgba(0,0,0,.4);
}
.scn-enobarbus-deserts .camp-caesar {
  position: absolute; bottom: 30%; right: 12%; width: 60px; height: 40px; background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%); border-radius: 10% 10% 0 0; clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%); box-shadow: 0 4px 8px rgba(0,0,0,.4);
}
.scn-enobarbus-deserts .figure-enobarbus {
  position: absolute; bottom: 30%; left: 48%; width: 18px; height: 36px; transform: translateX(-50%); background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: en-figure 6s ease-in-out infinite;
}
.scn-enobarbus-deserts .shadow-long {
  position: absolute; bottom: 28%; left: 48%; width: 40px; height: 6px; transform: translateX(-50%) skewX(-20deg); background: rgba(0,0,0,.3); border-radius: 50%; filter: blur(2px); animation: en-shadow 6s ease-in-out infinite;
}
.scn-enobarbus-deserts .heat-shimmer {
  position: absolute; inset: 30% 10% 20% 10%; background: radial-gradient(ellipse at 50% 50%, rgba(255,220,180,.15) 0%, transparent 100%); filter: blur(8px); animation: en-heat 4s ease-in-out infinite alternate;
}
@keyframes en-sky { 0% { opacity: .85; background-position: 0% 0%; } 50% { opacity: 1; background-position: 5% 3%; } 100% { opacity: .9; background-position: 0% 0%; } }
@keyframes en-figure { 0% { transform: translateX(-50%) translateY(0) rotate(-1deg); } 25% { transform: translateX(-46%) translateY(-2px) rotate(1deg); } 50% { transform: translateX(-42%) translateY(0) rotate(-1deg); } 75% { transform: translateX(-38%) translateY(-2px) rotate(1deg); } 100% { transform: translateX(-34%) translateY(0) rotate(0); } }
@keyframes en-shadow { 0% { transform: translateX(-50%) skewX(-20deg) scaleX(1); opacity: .3; } 50% { transform: translateX(-46%) skewX(-18deg) scaleX(1.1); opacity: .2; } 100% { transform: translateX(-42%) skewX(-20deg) scaleX(1); opacity: .3; } }
@keyframes en-heat { 0% { opacity: .1; transform: scaleY(1); } 50% { opacity: .3; transform: scaleY(1.2); } 100% { opacity: .1; transform: scaleY(1); } }

.scn-antony-sends-treasure-to-enobarbus {
  background: linear-gradient(180deg, #d0a050 0%, #a08030 30%, #705020 60%, #4a3010 100%), radial-gradient(ellipse at 50% 100%, #f0c080 0%, transparent 50%);
}
.scn-antony-sends-treasure-to-enobarbus .sky-warm {
  position: absolute; inset: 0 0 35% 0; background: linear-gradient(180deg, #e8b060 0%, #c89040 50%, #a07020 100%); animation: an-sky 12s ease-in-out infinite alternate;
}
.scn-antony-sends-treasure-to-enobarbus .ground-ochre {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%; background: linear-gradient(180deg, #8a6830 0%, #5a4010 100%); border-radius: 40% 60% 0 0 / 30% 40% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.5);
}
.scn-antony-sends-treasure-to-enobarbus .tent-antony {
  position: absolute; bottom: 28%; left: 22%; width: 90px; height: 60px; background: linear-gradient(180deg, #7a5a2a 0%, #4a3010 100%); border-radius: 20% 20% 0 0; clip-path: polygon(15% 0%, 85% 0%, 100% 100%, 0% 100%); box-shadow: 0 6px 12px rgba(0,0,0,.4); animation: an-tent 9s ease-in-out infinite;
}
.scn-antony-sends-treasure-to-enobarbus .chest-treasure {
  position: absolute; bottom: 24%; left: 38%; width: 28px; height: 18px; background: linear-gradient(180deg, #c07020 0%, #885010 100%); border-radius: 10%; box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: an-chest 5s ease-in-out infinite;
}
.scn-antony-sends-treasure-to-enobarbus .soldier-left {
  position: absolute; bottom: 26%; left: 46%; width: 16px; height: 32px; background: linear-gradient(180deg, #5a3a1a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: an-soldier 7s ease-in-out infinite;
}
.scn-antony-sends-treasure-to-enobarbus .soldier-right {
  position: absolute; bottom: 26%; left: 54%; width: 16px; height: 32px; background: linear-gradient(180deg, #5a3a1a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: an-soldier 7s ease-in-out infinite reverse;
}
.scn-antony-sends-treasure-to-enobarbus .banner-antony {
  position: absolute; bottom: 32%; left: 78%; width: 8px; height: 40px; background: #4a3010; transform-origin: bottom center; animation: an-banner 4s ease-in-out infinite alternate;
}
.scn-antony-sends-treasure-to-enobarbus .banner-antony::after {
  content: ""; position: absolute; top: 0; left: -12px; width: 24px; height: 16px; background: linear-gradient(180deg, #b08040 0%, #886020 100%); border-radius: 0 50% 50% 0; transform-origin: left center; animation: an-banner-flag 4s ease-in-out infinite alternate;
}
@keyframes an-sky { 0% { opacity: .8; } 50% { opacity: 1; } 100% { opacity: .85; } }
@keyframes an-tent { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes an-chest { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-4px) rotate(0deg); } 100% { transform: translateY(0) rotate(2deg); } }
@keyframes an-soldier { 0% { transform: translateY(0) rotate(-1deg); } 30% { transform: translateY(-2px) rotate(1deg); } 60% { transform: translateY(-1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes an-banner { 0% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-3deg); } }
@keyframes an-banner-flag { 0% { transform: rotate(-10deg); } 50% { transform: rotate(10deg); } 100% { transform: rotate(-10deg); } }

.scn-caesar-orders-antony-taken {
  background: linear-gradient(180deg, #5a7a8a 0%, #8ab0a0 30%, #b0c8a0 60%, #d0e0c0 100%), radial-gradient(ellipse at 50% 100%, #e0f0d0 0%, transparent 50%);
}
.scn-caesar-orders-antony-taken .sky-clear {
  position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #7a9aaa 0%, #b0d0c0 50%, #d0e8d0 100%); animation: ca-sky 16s ease-in-out infinite alternate;
}
.scn-caesar-orders-antony-taken .ground-olive {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #8a9a70 0%, #5a6a40 100%); border-radius: 50% 50% 0 0 / 20% 20% 0 0; box-shadow: inset 0 6px 18px rgba(0,0,0,.3);
}
.scn-caesar-orders-antony-taken .caesar-central {
  position: absolute; bottom: 22%; left: 50%; width: 22px; height: 42px; transform: translateX(-50%); background: linear-gradient(180deg, #d0c8b0 0%, #a09880 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: ca-caesar 8s ease-in-out infinite;
}
.scn-caesar-orders-antony-taken .banner-roman {
  position: absolute; bottom: 26%; left: 36%; width: 6px; height: 50px; background: #6a5a3a; transform-origin: bottom center; animation: ca-banner 5s ease-in-out infinite alternate;
}
.scn-caesar-orders-antony-taken .banner-roman::after {
  content: ""; position: absolute; top: 0; left: -10px; width: 20px; height: 14px; background: linear-gradient(180deg, #a04020 0%, #702010 100%); border-radius: 0 50% 50% 0; transform-origin: left center; animation: ca-banner-flag 5s ease-in-out infinite alternate;
}
.scn-caesar-orders-antony-taken .army-mass {
  position: absolute; bottom: 22%; left: 30%; right: 30%; height: 20px; background: repeating-linear-gradient(90deg, #5a4a3a 0px, #5a4a3a 4px, #4a3a2a 4px, #4a3a2a 8px); border-radius: 30% 30% 0 0; animation: ca-army 12s ease-in-out infinite;
}
.scn-caesar-orders-antony-taken .messenger-kneeling {
  position: absolute; bottom: 18%; left: 58%; width: 16px; height: 24px; background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%); border-radius: 50% 50% 40% 40% / 50% 50% 30% 30%; animation: ca-messenger 4s ease-in-out infinite alternate;
}
.scn-caesar-orders-antony-taken .olive-branch {
  position: absolute; bottom: 30%; left: 50%; width: 14px; height: 8px; transform: translateX(-50%) rotate(-30deg); background: linear-gradient(180deg, #6a8a4a 0%, #4a6a2a 100%); border-radius: 50%; filter: blur(1px); animation: ca-olive 9s ease-in-out infinite alternate;
}
@keyframes ca-sky { 0% { opacity: .8; background-position: 0% 0%; } 50% { opacity: 1; background-position: 5% 2%; } 100% { opacity: .85; background-position: 0% 0%; } }
@keyframes ca-caesar { 0% { transform: translateX(-50%) rotate(-2deg); } 30% { transform: translateX(-50%) translateY(-1px) rotate(1deg); } 60% { transform: translateX(-50%) rotate(-1deg); } 100% { transform: translateX(-50%) rotate(0); } }
@keyframes ca-banner { 0% { transform: rotate(-4deg); } 50% { transform: rotate(4deg); } 100% { transform: rotate(-4deg); } }
@keyframes ca-banner-flag { 0% { transform: rotate(-15deg); } 50% { transform: rotate(15deg); } 100% { transform: rotate(-10deg); } }
@keyframes ca-army { 0% { transform: translateY(0); opacity: .8; } 50% { transform: translateY(-2px); opacity: 1; } 100% { transform: translateY(0); opacity: .8; } }
@keyframes ca-messenger { 0% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(-3deg); } }
@keyframes ca-olive { 0% { transform: translateX(-50%) rotate(-30deg) scale(1); opacity: .6; } 50% { transform: translateX(-50%) rotate(-25deg) scale(1.1); opacity: .8; } 100% { transform: translateX(-50%) rotate(-30deg) scale(1); opacity: .6; } }

.scn-enobarbus-greets-friends {
  background: 
    linear-gradient(180deg, #f5e6ca 0%, #e6d0a8 40%, #c9a87c 100%),
    radial-gradient(ellipse at 70% 20%, #f7d794 0%, transparent 60%);
}
.scn-enobarbus-greets-friends .room-bg {
  position:absolute; inset:0 0 35% 0;
  background: linear-gradient(135deg, #d4b68a 0%, #b8976c 100%);
  border-radius: 0 0 40% 40% / 0 0 20% 20%;
  box-shadow: inset 0 -20px 40px rgba(0,0,0,0.15);
  animation: eg-room 14s ease-in-out infinite alternate;
}
.scn-enobarbus-greets-friends .floor {
  position:absolute; bottom:0; left:0; right:0; height:35%;
  background: linear-gradient(180deg, #8b6914 0%, #5a4510 100%);
  border-top: 4px solid #b88a3a;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.3);
}
.scn-enobarbus-greets-friends .table {
  position:absolute; bottom:22%; left:50%; width:120px; height:14px;
  transform:translateX(-50%);
  background: linear-gradient(180deg, #734e20 0%, #4d3212 100%);
  border-radius: 12% 12% 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,0.4);
  animation: eg-table 6s ease-in-out infinite alternate;
}
.scn-enobarbus-greets-friends .goblet-l {
  position:absolute; bottom:24%; left:35%; width:16px; height:20px;
  background: radial-gradient(ellipse at 50% 30%, #c8a050 0%, #8a6a30 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 10px 2px rgba(200,160,80,0.3);
  animation: eg-goblet 4s ease-in-out infinite;
}
.scn-enobarbus-greets-friends .goblet-r {
  position:absolute; bottom:24%; right:35%; width:16px; height:20px;
  background: radial-gradient(ellipse at 50% 30%, #c8a050 0%, #8a6a30 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 10px 2px rgba(200,160,80,0.3);
  animation: eg-goblet 4s ease-in-out infinite 2s;
}
.scn-enobarbus-greets-friends .figure-left {
  position:absolute; bottom:15%; left:10%; width:28px; height:60px;
  background: linear-gradient(180deg, #2a1f0f 0%, #140c05 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: eg-bow 8s ease-in-out infinite alternate;
}
.scn-enobarbus-greets-friends .figure-center {
  position:absolute; bottom:15%; left:45%; width:32px; height:64px;
  background: linear-gradient(180deg, #3a2a15 0%, #1d1108 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: eg-gesture 10s ease-in-out infinite alternate;
}
.scn-enobarbus-greets-friends .figure-right {
  position:absolute; bottom:15%; right:10%; width:28px; height:60px;
  background: linear-gradient(180deg, #2a1f0f 0%, #140c05 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: eg-bow 8s ease-in-out infinite alternate-reverse;
}
.scn-enobarbus-greets-friends .window-shine {
  position:absolute; top:8%; right:12%; width:60px; height:80px;
  background: radial-gradient(ellipse at 50% 50%, rgba(255,230,180,0.5) 0%, transparent 70%);
  border-radius: 5% / 10%;
  filter: blur(4px);
  animation: eg-shine 6s ease-in-out infinite alternate;
}
@keyframes eg-room {
  0% { opacity:0.85; transform: scale(1); }
  50% { opacity:1; transform: scale(1.01); }
  100% { opacity:0.9; transform: scale(0.99); }
}
@keyframes eg-table {
  0% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-2px); }
  100% { transform: translateX(-50%) translateY(1px); }
}
@keyframes eg-goblet {
  0% { transform: translateY(0) rotate(-2deg); }
  25% { transform: translateY(-3px) rotate(3deg); }
  50% { transform: translateY(0) rotate(0); }
  75% { transform: translateY(-1px) rotate(-3deg); }
  100% { transform: translateY(0) rotate(2deg); }
}
@keyframes eg-bow {
  0% { transform: rotate(0deg) translateY(0); }
  33% { transform: rotate(8deg) translateY(-2px); }
  66% { transform: rotate(0deg) translateY(0); }
  100% { transform: rotate(-8deg) translateY(-2px); }
}
@keyframes eg-gesture {
  0% { transform: rotate(0deg) translateX(0); }
  30% { transform: rotate(-5deg) translateX(3px); }
  60% { transform: rotate(5deg) translateX(-3px); }
  100% { transform: rotate(0deg) translateX(0); }
}
@keyframes eg-shine {
  0% { opacity: 0.2; transform: scaleX(0.9); }
  50% { opacity: 0.6; transform: scaleX(1.1); }
  100% { opacity: 0.3; transform: scaleX(0.95); }
}

.scn-enobarbus-tells-of-cleopatra {
  background:
    linear-gradient(180deg, #f0e6d3 0%, #d9cba8 50%, #7a6b4e 100%),
    radial-gradient(ellipse at 50% 80%, #b89a6b 0%, transparent 70%);
}
.scn-enobarbus-tells-of-cleopatra .water {
  position:absolute; bottom:0; left:0; right:0; height:45%;
  background: linear-gradient(0deg, #2a5f6b 0%, #4a8a9a 40%, #6aa3b3 100%);
  border-top: 3px solid #8ac4d0;
  animation: et-water 8s ease-in-out infinite alternate;
}
.scn-enobarbus-tells-of-cleopatra .sky {
  position:absolute; inset:0 0 45% 0;
  background: linear-gradient(180deg, #e6dcca 0%, #c9b89a 60%, #ac9a7a 100%);
  border-bottom: 3px solid #d9cba8;
  animation: et-sky 12s ease-in-out infinite alternate;
}
.scn-enobarbus-tells-of-cleopatra .barge-hull {
  position:absolute; bottom:38%; left:50%; width:160px; height:40px;
  transform:translateX(-50%);
  background: linear-gradient(180deg, #5a3020 0%, #3a1e12 100%);
  border-radius: 20% 20% 40% 40% / 60% 60% 20% 20%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.5);
  animation: et-hull 10s ease-in-out infinite;
}
.scn-enobarbus-tells-of-cleopatra .poop-gold {
  position:absolute; bottom:48%; left:50%; width:50px; height:30px;
  transform:translateX(-50%) translateY(-10px);
  background: radial-gradient(ellipse at 50% 30%, #e8c84a 0%, #b89630 100%);
  border-radius: 30% 30% 10% 10% / 40% 40% 20% 20%;
  box-shadow: 0 0 20px 6px rgba(232,200,74,0.4);
  animation: et-gold 5s ease-in-out infinite alternate;
}
.scn-enobarbus-tells-of-cleopatra .sail-purple {
  position:absolute; bottom:55%; left:60%; width:30px; height:55px;
  background: linear-gradient(180deg, #6a3070 0%, #4a1a50 100%);
  border-radius: 30% 30% 10% 10% / 40% 40% 20% 20%;
  transform: skewX(-5deg);
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
  animation: et-sail 12s ease-in-out infinite alternate;
}
.scn-enobarbus-tells-of-cleopatra .oar-1 {
  position:absolute; bottom:36%; left:30%; width:8px; height:60px;
  background: linear-gradient(180deg, #c0c0c0 0%, #808080 100%);
  border-radius: 20% 20% 0 0;
  transform-origin: bottom center;
  animation: et-oar 3s ease-in-out infinite;
}
.scn-enobarbus-tells-of-cleopatra .oar-2 {
  position:absolute; bottom:36%; right:30%; width:8px; height:60px;
  background: linear-gradient(180deg, #c0c0c0 0%, #808080 100%);
  border-radius: 20% 20% 0 0;
  transform-origin: bottom center;
  animation: et-oar 3s ease-in-out infinite 1.5s;
}
.scn-enobarbus-tells-of-cleopatra .flute {
  position:absolute; bottom:42%; left:42%; width:30px; height:6px;
  background: linear-gradient(90deg, #8a6a30 0%, #b88a3a 100%);
  border-radius: 30% 30% 10% 10%;
  transform: rotate(-20deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: et-flute 8s ease-in-out infinite alternate;
}
@keyframes et-water {
  0% { background-position: 0 0; }
  50% { background-position: 0 -5px; }
  100% { background-position: 0 3px; }
}
@keyframes et-sky {
  0% { opacity:0.9; }
  50% { opacity:1; }
  100% { opacity:0.85; }
}
@keyframes et-hull {
  0% { transform: translateX(-50%) translateY(0) rotate(0deg); }
  25% { transform: translateX(-50%) translateY(-2px) rotate(1deg); }
  50% { transform: translateX(-50%) translateY(0) rotate(0deg); }
  75% { transform: translateX(-50%) translateY(-1px) rotate(-1deg); }
  100% { transform: translateX(-50%) translateY(-2px) rotate(0deg); }
}
@keyframes et-gold {
  0% { opacity:0.7; box-shadow: 0 0 15px 4px rgba(232,200,74,0.3); }
  50% { opacity:1; box-shadow: 0 0 30px 10px rgba(232,200,74,0.6); }
  100% { opacity:0.8; box-shadow: 0 0 20px 6px rgba(232,200,74,0.4); }
}
@keyframes et-sail {
  0% { transform: skewX(-5deg) scaleX(1); }
  50% { transform: skewX(0deg) scaleX(1.1); }
  100% { transform: skewX(-10deg) scaleX(0.9); }
}
@keyframes et-oar {
  0% { transform: rotate(15deg); }
  50% { transform: rotate(0deg); }
  100% { transform: rotate(-15deg); }
}
@keyframes et-flute {
  0% { transform: rotate(-20deg) translateX(0); }
  50% { transform: rotate(-25deg) translateX(3px); }
  100% { transform: rotate(-15deg) translateX(-3px); }
}

.scn-item-cleopatras-barge {
  background:
    linear-gradient(180deg, #f5e6d0 0%, #dcc8a8 50%, #b89a6b 100%),
    radial-gradient(ellipse at 50% 30%, #e8d4a0 0%, transparent 60%);
}
.scn-item-cleopatras-barge .deck-bg {
  position:absolute; bottom:0; left:0; right:0; height:40%;
  background: linear-gradient(180deg, #a07840 0%, #705022 100%);
  border-top: 4px solid #c8a050;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.3);
  animation: ic-deck 10s ease-in-out infinite alternate;
}
.scn-item-cleopatras-barge .pavilion {
  position:absolute; bottom:35%; left:50%; width:130px; height:90px;
  transform:translateX(-50%);
  background: radial-gradient(ellipse at 50% 40%, #e8d49a 0%, #c8a850 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  box-shadow: 0 0 30px 10px rgba(200,168,80,0.5);
  animation: ic-pavilion 8s ease-in-out infinite alternate;
}
.scn-item-cleopatras-barge .cleopatra-fig {
  position:absolute; bottom:30%; left:50%; width:50px; height:70px;
  transform:translateX(-50%);
  background: linear-gradient(180deg, #c8a060 0%, #a07840 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: ic-cleopatra 12s ease-in-out infinite;
}
.scn-item-cleopatras-barge .cupid-l {
  position:absolute; bottom:28%; left:30%; width:16px; height:24px;
  background: radial-gradient(ellipse at 50% 40%, #e8b8a0 0%, #c88870 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  transform-origin: bottom center;
  animation: ic-cupid 6s ease-in-out infinite alternate;
}
.scn-item-cleopatras-barge .cupid-r {
  position:absolute; bottom:28%; right:30%; width:16px; height:24px;
  background: radial-gradient(ellipse at 50% 40%, #e8b8a0 0%, #c88870 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  transform-origin: bottom center;
  animation: ic-cupid 6s ease-in-out infinite alternate-reverse;
}
.scn-item-cleopatras-barge .fan-l {
  position:absolute; bottom:35%; left:28%; width:40px; height:20px;
  background: radial-gradient(ellipse at 80% 50%, #d4a880 0%, transparent 70%);
  border-radius: 50% / 100% 100% 0 0;
  transform: rotate(-30deg);
  transform-origin: left center;
  animation: ic-fan 4s ease-in-out infinite alternate;
}
.scn-item-cleopatras-barge .fan-r {
  position:absolute; bottom:35%; right:28%; width:40px; height:20px;
  background: radial-gradient(ellipse at 20% 50%, #d4a880 0%, transparent 70%);
  border-radius: 50% / 100% 100% 0 0;
  transform: rotate(30deg);
  transform-origin: right center;
  animation: ic-fan 4s ease-in-out infinite alternate 2s;
}
.scn-item-cleopatras-barge .cloth-gold {
  position:absolute; bottom:42%; left:40%; width:60px; height:40px;
  background: linear-gradient(180deg, #e8d49a 0%, #c8a850 100%);
  border-radius: 0 0 30% 30% / 0 0 50% 50%;
  filter: blur(3px);
  opacity:0.7;
  animation: ic-cloth 7s ease-in-out infinite alternate;
}
@keyframes ic-deck {
  0%,100% { transform: scaleY(1); }
  50% { transform: scaleY(1.01); }
}
@keyframes ic-pavilion {
  0% { transform: translateX(-50%) scaleX(1) scaleY(1); }
  50% { transform: translateX(-50%) scaleX(1.03) scaleY(1.02); }
  100% { transform: translateX(-50%) scaleX(0.98) scaleY(0.99); }
}
@keyframes ic-cleopatra {
  0% { transform: translateX(-50%) translateY(0) rotate(0deg); }
  25% { transform: translateX(-50%) translateY(-2px) rotate(2deg); }
  50% { transform: translateX(-50%) translateY(0) rotate(0deg); }
  75% { transform: translateX(-50%) translateY(-1px) rotate(-2deg); }
  100% { transform: translateX(-50%) translateY(0) rotate(0deg); }
}
@keyframes ic-cupid {
  0% { transform: rotate(-5deg) translateX(0); }
  33% { transform: rotate(5deg) translateX(2px); }
  66% { transform: rotate(-2deg) translateX(-2px); }
  100% { transform: rotate(0deg) translateX(0); }
}
@keyframes ic-fan {
  0% { transform: rotate(-30deg) scaleX(1); }
  50% { transform: rotate(-20deg) scaleX(1.1); }
  100% { transform: rotate(-35deg) scaleX(0.9); }
}
@keyframes ic-cloth {
  0% { transform: translateX(0) skewX(0deg); }
  50% { transform: translateX(3px) skewX(5deg); }
  100% { transform: translateX(-3px) skewX(-5deg); }
}

.scn-enobarbus-barge-detail {
  background:
    linear-gradient(180deg, #1a2a3a 0%, #2a4a5a 40%, #3a6a7a 100%),
    radial-gradient(ellipse at 50% 100%, #4a8a9a 0%, transparent 60%);
}
.scn-enobarbus-barge-detail .deep-water {
  position:absolute; inset:0;
  background: linear-gradient(0deg, #0a1a2a 0%, #1a2a3a 50%, #2a4a5a 100%);
  border-bottom: 2px solid #5a8a9a;
  animation: ed-water 10s ease-in-out infinite alternate;
}
.scn-enobarbus-barge-detail .helm-post {
  position:absolute; bottom:20%; left:50%; width:12px; height:80px;
  transform:translateX(-50%);
  background: linear-gradient(180deg, #8a6a30 0%, #5a4020 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: ed-helm 8s ease-in-out infinite;
}
.scn-enobarbus-barge-detail .mermaid-tail {
  position:absolute; bottom:18%; left:40%; width:30px; height:40px;
  background: linear-gradient(180deg, #4a8a5a 0%, #2a5a3a 100%);
  border-radius: 0 100% 50% 50% / 0 80% 50% 50%;
  transform: rotate(15deg);
  transform-origin: bottom left;
  animation: ed-tail 6s ease-in-out infinite alternate;
}
.scn-enobarbus-barge-detail .mermaid-torso {
  position:absolute; bottom:28%; left:44%; width:20px; height:30px;
  background: linear-gradient(180deg, #d4b8a0 0%, #a88870 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  transform-origin: bottom center;
  animation: ed-torso 6s ease-in-out infinite alternate;
}
.scn-enobarbus-barge-detail .steering-oar {
  position:absolute; bottom:25%; left:55%; width:6px; height:70px;
  background: linear-gradient(180deg, #c0c0c0 0%, #606060 100%);
  border-radius: 20% 20% 0 0;
  transform: rotate(-10deg);
  transform-origin: bottom center;
  animation: ed-oar 4s ease-in-out infinite;
}
.scn-enobarbus-barge-detail .silken-tackle {
  position:absolute; bottom:40%; left:30%; width:4px; height:60px;
  background: linear-gradient(180deg, #e8d4a0 0%, #c8a850 100%);
  border-radius: 50%;
  transform: rotate(20deg);
  transform-origin: top center;
  animation: ed-tackle 9s ease-in-out infinite alternate;
}
.scn-enobarbus-barge-detail .flower-hands {
  position:absolute; bottom:30%; left:38%; width:20px; height:10px;
  background: radial-gradient(ellipse at 50% 50%, #e8b8a0 0%, #c88870 100%);
  border-radius: 50%;
  filter: blur(2px);
  animation: ed-hands 5s ease-in-out infinite alternate;
}
@keyframes ed-water {
  0% { background-position: 0 0; }
  50% { background-position: 0 5px; }
  100% { background-position: 0 -5px; }
}
@keyframes ed-helm {
  0% { transform: translateX(-50%) rotate(0deg); }
  25% { transform: translateX(-50%) rotate(2deg); }
  50% { transform: translateX(-50%) rotate(-2deg); }
  75% { transform: translateX(-50%) rotate(1deg); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes ed-tail {
  0% { transform: rotate(10deg) scaleX(1); }
  50% { transform: rotate(20deg) scaleX(1.1); }
  100% { transform: rotate(10deg) scaleX(0.9); }
}
@keyframes ed-torso {
  0% { transform: rotate(0deg) translateX(0); }
  50% { transform: rotate(-3deg) translateX(-2px); }
  100% { transform: rotate(3deg) translateX(2px); }
}
@keyframes ed-oar {
  0% { transform: rotate(-10deg) translateY(0); }
  50% { transform: rotate(-15deg) translateY(3px); }
  100% { transform: rotate(-5deg) translateY(-3px); }
}
@keyframes ed-tackle {
  0% { transform: rotate(20deg) scaleY(1); }
  50% { transform: rotate(25deg) scaleY(1.2); }
  100% { transform: rotate(15deg) scaleY(0.8); }
}
@keyframes ed-hands {
  0% { transform: translateX(0) scale(1); }
  50% { transform: translateX(3px) scale(1.1); }
  100% { transform: translateX(-3px) scale(0.9); }
}

.scn-cleopatra-feigns-obedience {
  background: linear-gradient(180deg, #1a1616 0%, #2a1e1e 40%, #1a1212 100%),
              radial-gradient(ellipse at 50% 100%, #3a2a1a 0%, transparent 60%);
}
.scn-cleopatra-feigns-obedience .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a1e1e 0%, #1e1616 100%);
  animation: cfo-wall 8s ease-in-out infinite alternate;
}
.scn-cleopatra-feigns-obedience .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1212 100%);
  border-radius: 60% 40% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,.4);
}
.scn-cleopatra-feigns-obedience .throne {
  position: absolute; bottom: 25%; left: 50%; width: 100px; height: 80px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 6% 6% 4% 4%;
  box-shadow: 0 6px 12px rgba(0,0,0,.5);
  animation: cfo-throne 10s ease-in-out infinite;
}
.scn-cleopatra-feigns-obedience .statue {
  position: absolute; bottom: 35%; left: 50%; width: 30px; height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #8b7a5a 0%, #4a3a2a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  box-shadow: inset 0 4px 8px #1a1212;
  animation: cfo-statue 6s ease-in-out infinite alternate;
}
.scn-cleopatra-feigns-obedience .figure {
  position: absolute; bottom: 20%; left: 38%; width: 24px; height: 40px;
  background: linear-gradient(180deg, #2a1e1e 0%, #1a1212 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cfo-kneel 8s ease-in-out infinite;
}
.scn-cleopatra-feigns-obedience .light {
  position: absolute; top: 10%; left: 20%; width: 60px; height: 80px;
  background: radial-gradient(ellipse at 50% 0%, rgba(255,200,140,.15) 0%, transparent 70%);
  filter: blur(10px);
  animation: cfo-light 12s ease-in-out infinite alternate;
}
.scn-cleopatra-feigns-obedience .curtain {
  position: absolute; top: 0; right: 0; width: 60px; height: 100%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1e1616 100%);
  border-radius: 0 0 0 20%;
  opacity: .6;
  animation: cfo-curtain 15s ease-in-out infinite alternate;
}
@keyframes cfo-wall {
  0% { opacity: .9; } 50% { opacity: 1; } 100% { opacity: .85; }
}
@keyframes cfo-throne {
  0%, 100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-2px); }
}
@keyframes cfo-statue {
  0% { transform: translateX(-50%) rotate(-1deg); } 50% { transform: translateX(-50%) rotate(1deg); } 100% { transform: translateX(-50%) rotate(0); }
}
@keyframes cfo-kneel {
  0% { transform: translateX(0) rotate(-5deg) scaleY(1); } 25% { transform: translateX(2px) rotate(-2deg) scaleY(.98); } 50% { transform: translateX(0) rotate(0) scaleY(1); } 75% { transform: translateX(-1px) rotate(-4deg) scaleY(.99); } 100% { transform: translateX(0) rotate(-5deg) scaleY(1); }
}
@keyframes cfo-light {
  0% { opacity: .4; transform: scaleX(1); } 50% { opacity: .7; transform: scaleX(1.1); } 100% { opacity: .3; transform: scaleX(.9); }
}
@keyframes cfo-curtain {
  0% { transform: translateX(0); } 50% { transform: translateX(-4px); } 100% { transform: translateX(2px); }
}

.scn-proculeius-seizes-cleopatra {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 50%, #1a1a2e 100%),
              radial-gradient(ellipse at 50% 100%, #2a2a3e 0%, transparent 70%);
}
.scn-proculeius-seizes-cleopatra .bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%);
  animation: psc-bg 6s ease-in-out infinite alternate;
}
.scn-proculeius-seizes-cleopatra .window {
  position: absolute; top: 10%; left: 20%; width: 80px; height: 100px;
  background: linear-gradient(180deg, #4a4a6e 0%, #2a2a4e 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 20px #6a6a8e, 0 0 30px rgba(100,100,140,.4);
  animation: psc-window 8s ease-in-out infinite alternate;
}
.scn-proculeius-seizes-cleopatra .ladder {
  position: absolute; top: 10%; left: 20%; width: 30px; height: 100px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%);
  border-radius: 2px;
  box-shadow: 2px 0 6px rgba(0,0,0,.5);
  transform: rotate(-5deg);
  animation: psc-ladder 2s ease-in-out infinite alternate;
}
.scn-proculeius-seizes-cleopatra .guard-a {
  position: absolute; bottom: 28%; left: 16%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: psc-guard-a 3s ease-in-out infinite;
}
.scn-proculeius-seizes-cleopatra .guard-b {
  position: absolute; bottom: 28%; left: 30%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #3a2a3e 0%, #1a1a2e 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: psc-guard-b 3.5s ease-in-out infinite;
  animation-delay: .5s;
}
.scn-proculeius-seizes-cleopatra .cleopatra {
  position: absolute; bottom: 24%; left: 45%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(10deg);
  animation: psc-cleopatra 1.5s ease-in-out infinite alternate;
}
.scn-proculeius-seizes-cleopatra .shadow {
  position: absolute; bottom: 28%; left: 38%; width: 40px; height: 60px;
  background: rgba(0,0,0,.3);
  filter: blur(8px);
  animation: psc-shadow 2s ease-in-out infinite alternate;
}
.scn-proculeius-seizes-cleopatra .sword {
  position: absolute; bottom: 30%; left: 20%; width: 6px; height: 30px;
  background: linear-gradient(180deg, #c0c0c0 0%, #808080 100%);
  border-radius: 2px;
  transform: rotate(30deg);
  animation: psc-sword .8s ease-in-out infinite alternate;
}
@keyframes psc-bg {
  0% { opacity: .8; } 50% { opacity: 1; } 100% { opacity: .7; }
}
@keyframes psc-window {
  0% { box-shadow: inset 0 0 20px #6a6a8e, 0 0 30px rgba(100,100,140,.4); } 50% { box-shadow: inset 0 0 30px #8a8aae, 0 0 40px rgba(120,120,160,.6); } 100% { box-shadow: inset 0 0 20px #6a6a8e, 0 0 30px rgba(100,100,140,.4); }
}
@keyframes psc-ladder {
  0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-3deg) translateY(-3px); } 100% { transform: rotate(-5deg) translateY(0); }
}
@keyframes psc-guard-a {
  0% { transform: translateY(0) rotate(-2deg); } 25% { transform: translateY(-4px) rotate(0); } 50% { transform: translateY(-2px) rotate(2deg); } 75% { transform: translateY(-1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(-2deg); }
}
@keyframes psc-guard-b {
  0% { transform: translateY(0) rotate(2deg); } 25% { transform: translateY(-3px) rotate(0); } 50% { transform: translateY(-1px) rotate(-2deg); } 75% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(2deg); }
}
@keyframes psc-cleopatra {
  0% { transform: rotate(10deg) scaleY(1); } 50% { transform: rotate(8deg) scaleY(1.02); } 100% { transform: rotate(10deg) scaleY(1); }
}
@keyframes psc-shadow {
  0% { transform: translateX(0) scaleX(1); opacity: .3; } 50% { transform: translateX(2px) scaleX(1.1); opacity: .5; } 100% { transform: translateX(0) scaleX(1); opacity: .3; }
}
@keyframes psc-sword {
  0% { transform: rotate(30deg) translateX(0); } 50% { transform: rotate(35deg) translateX(2px); } 100% { transform: rotate(30deg) translateX(0); }
}

.scn-cleopatra-threatens-suicide {
  background: linear-gradient(180deg, #0e0e18 0%, #1a1a2e 50%, #0e0e18 100%),
              radial-gradient(ellipse at 50% 100%, #2a1a2e 0%, transparent 60%);
}
.scn-cleopatra-threatens-suicide .bg {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #1a1a2e 0%, #0e0e18 100%);
  animation: cts-bg 10s ease-in-out infinite alternate;
}
.scn-cleopatra-threatens-suicide .cleopatra {
  position: absolute; bottom: 20%; left: 40%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #2a1a2e 0%, #1a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(-5deg);
  animation: cts-cleopatra 4s ease-in-out infinite alternate;
}
.scn-cleopatra-threatens-suicide .proculeius {
  position: absolute; bottom: 22%; left: 55%; width: 28px; height: 55px;
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform: rotate(5deg);
  animation: cts-proculeius 4.5s ease-in-out infinite alternate;
}
.scn-cleopatra-threatens-suicide .dagger {
  position: absolute; bottom: 40%; left: 36%; width: 8px; height: 25px;
  background: linear-gradient(180deg, #b0b0c0 0%, #808090 100%);
  border-radius: 2px 2px 4px 4px;
  transform: rotate(-40deg);
  box-shadow: 0 0 6px rgba(200,200,220,.3);
  animation: cts-dagger 2s ease-in-out infinite alternate;
}
.scn-cleopatra-threatens-suicide .hand {
  position: absolute; bottom: 38%; left: 54%; width: 12px; height: 20px;
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform: rotate(20deg);
  animation: cts-hand 2.5s ease-in-out infinite alternate;
}
.scn-cleopatra-threatens-suicide .shadow {
  position: absolute; bottom: 20%; left: 30%; width: 60px; height: 70px;
  background: rgba(0,0,0,.4);
  filter: blur(12px);
  animation: cts-shadow 6s ease-in-out infinite alternate;
}
.scn-cleopatra-threatens-suicide .chain {
  position: absolute; bottom: 28%; left: 45%; width: 40px; height: 4px;
  background: linear-gradient(90deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,.5);
  animation: cts-chain 3s ease-in-out infinite alternate;
}
@keyframes cts-bg {
  0% { opacity: .7; } 50% { opacity: .9; } 100% { opacity: .6; }
}
@keyframes cts-cleopatra {
  0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-6deg) translateY(-3px); } 100% { transform: rotate(-5deg) translateY(0); }
}
@keyframes cts-proculeius {
  0% { transform: rotate(5deg) translateY(0); } 50% { transform: rotate(4deg) translateY(-2px); } 100% { transform: rotate(5deg) translateY(0); }
}
@keyframes cts-dagger {
  0% { transform: rotate(-40deg) translateX(0); opacity: .8; } 50% { transform: rotate(-42deg) translateX(1px); opacity: 1; } 100% { transform: rotate(-40deg) translateX(0); opacity: .8; }
}
@keyframes cts-hand {
  0% { transform: rotate(20deg) translateX(0); } 50% { transform: rotate(22deg) translateX(2px); } 100% { transform: rotate(20deg) translateX(0); }
}
@keyframes cts-shadow {
  0% { transform: scaleX(1) translateX(0); opacity: .3; } 50% { transform: scaleX(1.1) translateX(3px); opacity: .5; } 100% { transform: scaleX(1) translateX(0); opacity: .3; }
}
@keyframes cts-chain {
  0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(1px) scaleX(1.03); } 100% { transform: translateY(0) scaleX(1); }
}

.scn-cleopatra-defiant-speech {
  background: linear-gradient(180deg, #1a1616 0%, #2a1e1e 40%, #1a1212 100%),
              radial-gradient(ellipse at 50% 100%, #2a1e1e 0%, transparent 60%);
}
.scn-cleopatra-defiant-speech .bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a1e1e 0%, #1e1616 100%);
  animation: cds-bg 8s ease-in-out infinite alternate;
}
.scn-cleopatra-defiant-speech .cleopatra {
  position: absolute; bottom: 20%; left: 45%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #1e1e2a 0%, #0e0e1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(5deg);
  animation: cds-cleopatra 3s ease-in-out infinite alternate;
}
.scn-cleopatra-defiant-speech .guard-left {
  position: absolute; bottom: 22%; left: 30%; width: 22px; height: 55px;
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: cds-guard-l 4s ease-in-out infinite;
}
.scn-cleopatra-defiant-speech .guard-right {
  position: absolute; bottom: 22%; left: 58%; width: 22px; height: 55px;
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: cds-guard-r 4.2s ease-in-out infinite;
  animation-delay: .3s;
}
.scn-cleopatra-defiant-speech .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #2a1e1e 0%, #1a1212 100%);
  border-radius: 50% 50% 0 0 / 10% 10% 0 0;
  box-shadow: inset 0 4px 12px rgba(0,0,0,.4);
}
.scn-cleopatra-defiant-speech .column {
  position: absolute; bottom: 20%; left: 10%; width: 20px; height: 80px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a1a 100%);
  border-radius: 4px;
  box-shadow: 0 0 6px rgba(0,0,0,.3);
  animation: cds-column 10s ease-in-out infinite alternate;
}
.scn-cleopatra-defiant-speech .light {
  position: absolute; top: 5%; left: 40%; width: 80px; height: 60px;
  background: radial-gradient(ellipse at 50% 0%, rgba(255,200,140,.1) 0%, transparent 60%);
  filter: blur(8px);
  animation: cds-light 6s ease-in-out infinite alternate;
}
@keyframes cds-bg {
  0% { opacity: .85; } 50% { opacity: 1; } 100% { opacity: .75; }
}
@keyframes cds-cleopatra {
  0% { transform: rotate(5deg) translateY(0); } 50% { transform: rotate(4deg) translateY(-3px); } 100% { transform: rotate(5deg) translateY(0); }
}
@keyframes cds-guard-l {
  0% { transform: translateY(0) rotate(-2deg); } 25% { transform: translateY(-2px) rotate(0); } 50% { transform: translateY(-1px) rotate(2deg); } 75% { transform: translateY(-3px) rotate(0); } 100% { transform: translateY(0) rotate(-2deg); }
}
@keyframes cds-guard-r {
  0% { transform: translateY(0) rotate(2deg); } 25% { transform: translateY(-3px) rotate(0); } 50% { transform: translateY(-1px) rotate(-2deg); } 75% { transform: translateY(-2px) rotate(0); } 100% { transform: translateY(0) rotate(2deg); }
}
@keyframes cds-column {
  0% { transform: scaleY(1); opacity: .9; } 50% { transform: scaleY(1.02); opacity: 1; } 100% { transform: scaleY(1); opacity: .9; }
}
@keyframes cds-light {
  0% { opacity: .2; transform: scaleX(1); } 50% { opacity: .5; transform: scaleX(1.2); } 100% { opacity: .2; transform: scaleX(1); }
}

.scn-octavia-arrival-rome { background: linear-gradient(180deg, #fae6c8 0%, #e6c8a0 30%, #c8a080 70%, #8a6040 100%), radial-gradient(ellipse at 50% 0%, #fff4e0 0%, transparent 60%); }
.scn-octavia-arrival-rome .wall-back { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #d4b896 0%, #b8986e 100%); animation: oar-wall 15s ease-in-out infinite alternate; }
.scn-octavia-arrival-rome .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(90deg, #7a5a3a 0%, #9a7a5a 50%, #7a5a3a 100%); box-shadow: inset 0 10px 20px rgba(0,0,0,.3); animation: oar-floor 20s linear infinite; }
.scn-octavia-arrival-rome .column-left { position:absolute; top:30%; left:20%; width:14px; height:55%; background: linear-gradient(180deg, #b8986e 0%, #8a6840 100%); border-radius:4px; transform-origin:top center; animation: oar-column 8s ease-in-out infinite alternate; }
.scn-octavia-arrival-rome .column-right { position:absolute; top:30%; right:20%; width:14px; height:55%; background: linear-gradient(180deg, #b8986e 0%, #8a6840 100%); border-radius:4px; transform-origin:top center; animation: oar-column 8s ease-in-out infinite alternate-reverse; }
.scn-octavia-arrival-rome .arch { position:absolute; top:18%; left:18%; right:18%; height:28%; background:transparent; border:10px solid #a07040; border-bottom:none; border-radius: 50% 50% 0 0 / 100% 100% 0 0; animation: oar-arch 12s ease-in-out infinite; }
.scn-octavia-arrival-rome .figure-octavia { position:absolute; bottom:35%; left:50%; width:22px; height:54px; transform:translateX(-50%); background:#2a1a0a; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: oar-figure 5s ease-in-out infinite; }
.scn-octavia-arrival-rome .light-beam { position:absolute; top:0; left:0; width:60%; height:100%; background: linear-gradient(135deg, rgba(255,255,220,0.25) 0%, transparent 60%); animation: oar-beam 7s ease-in-out infinite alternate; }
.scn-octavia-arrival-rome .shadow-cast { position:absolute; bottom:30%; left:42%; width:50px; height:14px; background:rgba(0,0,0,0.4); border-radius:50%; transform:skewX(-20deg); animation: oar-shadow 5s ease-in-out infinite; }

@keyframes oar-wall { 0%,100% { opacity:0.95; } 50% { opacity:1; } }
@keyframes oar-floor { 0% { background-position: 0 0; } 50% { background-position: -10px 0; } 100% { background-position: -20px 0; } }
@keyframes oar-column { 0% { transform: rotate(0deg); } 50% { transform: rotate(0.6deg); } 100% { transform: rotate(-0.6deg); } }
@keyframes oar-arch { 0%,100% { transform: scaleY(1); opacity:0.9; } 50% { transform: scaleY(1.02); opacity:1; } }
@keyframes oar-figure { 0%,100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-3px); } }
@keyframes oar-beam { 0% { opacity:0.3; transform: rotate(0deg); } 50% { opacity:0.5; transform: rotate(2deg); } 100% { opacity:0.3; transform: rotate(-2deg); } }
@keyframes oar-shadow { 0%,100% { transform: skewX(-20deg) scaleX(1); } 50% { transform: skewX(-20deg) scaleX(1.12); } }

.scn-mark-antony-accused { background: linear-gradient(180deg, #f0ebe6 0%, #d4ccc6 40%, #a49a94 100%), radial-gradient(ellipse at 50% 0%, #fff8f0 0%, transparent 70%); }
.scn-mark-antony-accused .back-wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #d8d0c8 0%, #c0b8b0 100%); animation: maa-wall 10s ease-in-out infinite alternate; }
.scn-mark-antony-accused .floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(90deg, #8c7c70 0%, #a09488 50%, #8c7c70 100%); box-shadow: inset 0 8px 16px rgba(0,0,0,.2); }
.scn-mark-antony-accused .table { position:absolute; bottom:35%; left:40%; width:20%; height:6%; background: linear-gradient(180deg, #6a5c52 0%, #4a3e36 100%); border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,.3); animation: maa-table 7s ease-in-out infinite; }
.scn-mark-antony-accused .figure-accuser { position:absolute; bottom:40%; left:25%; width:20px; height:50px; background:#2a1a10; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation: maa-figure-acc 4s ease-in-out infinite; }
.scn-mark-antony-accused .figure-antony { position:absolute; bottom:40%; right:25%; width:24px; height:58px; background:#1a0a00; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation: maa-figure-ant 4s ease-in-out infinite reverse; }
.scn-mark-antony-accused .document { position:absolute; bottom:36%; left:45%; width:40px; height:6px; background:#d4c4a0; border-radius:2px; transform:rotate(-10deg); animation: maa-doc 6s ease-in-out infinite; }
.scn-mark-antony-accused .shadow-accuser { position:absolute; bottom:40%; left:22%; width:30px; height:8px; background:rgba(0,0,0,0.3); border-radius:50%; transform:skewX(-15deg); animation: maa-shadAcc 4s ease-in-out infinite; }
.scn-mark-antony-accused .shadow-antony { position:absolute; bottom:40%; right:22%; width:36px; height:10px; background:rgba(0,0,0,0.3); border-radius:50%; transform:skewX(15deg); animation: maa-shadAnt 4s ease-in-out infinite reverse; }
.scn-mark-antony-accused .light-beam { position:absolute; top:0; left:35%; width:30%; height:100%; background: linear-gradient(180deg, rgba(255,255,240,0.4) 0%, transparent 60%); animation: maa-beam 8s ease-in-out infinite alternate; }

@keyframes maa-wall { 0%,100% { opacity:0.9; } 50% { opacity:1; } }
@keyframes maa-table { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes maa-figure-acc { 0%,100% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(4px) rotate(1deg); } }
@keyframes maa-figure-ant { 0%,100% { transform: translateX(0) rotate(1deg); } 50% { transform: translateX(-4px) rotate(-1deg); } }
@keyframes maa-doc { 0%,100% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(-5deg) translateY(-2px); } }
@keyframes maa-shadAcc { 0%,100% { transform: skewX(-15deg) scaleX(1); } 50% { transform: skewX(-15deg) scaleX(1.1); } }
@keyframes maa-shadAnt { 0%,100% { transform: skewX(15deg) scaleX(1); } 50% { transform: skewX(15deg) scaleX(1.1); } }
@keyframes maa-beam { 0% { opacity:0.4; } 50% { opacity:0.6; } 100% { opacity:0.4; } }

.scn-antony-cleopatra-alliance { background: linear-gradient(180deg, #e8d4b8 0%, #c8a880 40%, #a06840 100%), radial-gradient(ellipse at 50% 20%, #f0d8b0 0%, transparent 60%); }
.scn-antony-cleopatra-alliance .backdrop { position:absolute; inset:0; background: linear-gradient(135deg, #d4a878 0%, #b88858 50%, #906848 100%); animation: aca-backdrop 20s ease-in-out infinite alternate; }
.scn-antony-cleopatra-alliance .throne { position:absolute; bottom:25%; left:50%; transform:translateX(-50%); width:80px; height:90px; background: linear-gradient(180deg, #b08050 0%, #805030 100%); border-radius:20% 20% 10% 10% / 40% 40% 10% 10%; box-shadow:0 8px 20px rgba(0,0,0,.5); animation: aca-throne 9s ease-in-out infinite; }
.scn-antony-cleopatra-alliance .figure-cleopatra { position:absolute; bottom:28%; left:45%; width:22px; height:56px; background:#2a1a0a; border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom; animation: aca-cleopatra 6s ease-in-out infinite; }
.scn-antony-cleopatra-alliance .figure-antony { position:absolute; bottom:28%; left:53%; width:26px; height:60px; background:#3a2a1a; border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom; animation: aca-antony 6s ease-in-out infinite reverse; }
.scn-antony-cleopatra-alliance .king { position:absolute; bottom:30%; width:16px; height:36px; border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; background:#1a0a00; }
.scn-antony-cleopatra-alliance .king-1 { left:15%; animation: aca-king 5s ease-in-out infinite; animation-delay:0s; }
.scn-antony-cleopatra-alliance .king-2 { left:25%; animation: aca-king 5s ease-in-out infinite; animation-delay:-1.5s; }
.scn-antony-cleopatra-alliance .king-3 { left:35%; animation: aca-king 5s ease-in-out infinite; animation-delay:-3s; }
.scn-antony-cleopatra-alliance .map-table { position:absolute; bottom:20%; left:35%; width:30%; height:10%; background: linear-gradient(180deg, #705040 0%, #503020 100%); border-radius:6px; box-shadow: inset 0 4px 8px rgba(0,0,0,.4); animation: aca-table 8s ease-in-out infinite; }
.scn-antony-cleopatra-alliance .candle { position:absolute; bottom:30%; left:38%; width:6px; height:16px; background: linear-gradient(180deg, #f0c080 0%, #d09050 100%); border-radius:2px; box-shadow: 0 0 12px 4px rgba(240,192,128,.6); animation: aca-candle 3s ease-in-out infinite alternate; }

@keyframes aca-backdrop { 0%,100% { opacity:0.85; } 50% { opacity:1; } }
@keyframes aca-throne { 0%,100% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(1.02) translateY(-2px); } }
@keyframes aca-cleopatra { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-2px) rotate(1deg); } }
@keyframes aca-antony { 0%,100% { transform: translateY(0) rotate(1deg); } 50% { transform: translateY(-2px) rotate(-1deg); } }
@keyframes aca-king { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes aca-table { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes aca-candle { 0% { opacity:0.7; transform: scaleY(0.95); } 50% { opacity:1; transform: scaleY(1.05); } 100% { opacity:0.8; transform: scaleY(1); } }

.scn-octavia-grief { background: linear-gradient(180deg, #e8e0d8 0%, #c8c0b8 30%, #908880 70%, #585050 100%), radial-gradient(ellipse at 50% 30%, #fff8f0 0%, transparent 50%); }
.scn-octavia-grief .back-wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #c0b8b0 0%, #a09890 100%); animation: ogr-wall 18s ease-in-out infinite alternate; }
.scn-octavia-grief .window { position:absolute; top:10%; left:35%; width:30%; height:40%; background: linear-gradient(180deg, #f8f4f0 0%, #e8e0d8 100%); border-radius:6px 6px 0 0; box-shadow: inset 0 0 40px rgba(255,255,255,0.3); animation: ogr-win 12s ease-in-out infinite alternate; }
.scn-octavia-grief .curtain-left { position:absolute; top:8%; left:25%; width:12%; height:60%; background: linear-gradient(180deg, #706060 0%, #504040 100%); border-radius:0 20px 20px 0; transform-origin:top left; animation: ogr-curtain 8s ease-in-out infinite; }
.scn-octavia-grief .curtain-right { position:absolute; top:8%; right:25%; width:12%; height:60%; background: linear-gradient(180deg, #706060 0%, #504040 100%); border-radius:20px 0 0 20px; transform-origin:top right; animation: ogr-curtain 8s ease-in-out infinite reverse; }
.scn-octavia-grief .table { position:absolute; bottom:25%; left:40%; width:20%; height:8%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius:4px; box-shadow: 0 6px 12px rgba(0,0,0,.4); animation: ogr-table 6s ease-in-out infinite; }
.scn-octavia-grief .letter { position:absolute; bottom:26%; left:45%; width:40px; height:8px; background: #f0e4d0; border-radius:2px; transform:rotate(-5deg); animation: ogr-letter 7s ease-in-out infinite; }
.scn-octavia-grief .figure-octavia { position:absolute; bottom:30%; left:48%; width:24px; height:50px; background:#1a0a00; border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom; animation: ogr-figure 5s ease-in-out infinite; }
.scn-octavia-grief .shadow-figure { position:absolute; bottom:25%; left:45%; width:40px; height:12px; background:rgba(0,0,0,0.3); border-radius:50%; transform:skewX(-10deg); animation: ogr-shadow 5s ease-in-out infinite; }
.scn-octavia-grief .tear { position:absolute; bottom:32%; left:48%; width:4px; height:4px; background:rgba(200,200,255,0.5); border-radius:50%; box-shadow: 0 0 6px 2px rgba(200,200,255,0.4); animation: ogr-tear 4s ease-in-out infinite; }

@keyframes ogr-wall { 0%,100% { opacity:0.8; } 50% { opacity:1; } }
@keyframes ogr-win { 0% { opacity:0.6; } 50% { opacity:0.8; } 100% { opacity:0.6; } }
@keyframes ogr-curtain { 0%,100% { transform: scaleX(1); } 50% { transform: scaleX(1.05); } }
@keyframes ogr-table { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes ogr-letter { 0%,100% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-3deg) translateY(-2px); } }
@keyframes ogr-figure { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(3px) rotate(1deg); } }
@keyframes ogr-shadow { 0%,100% { transform: skewX(-10deg) scaleX(1); } 50% { transform: skewX(-10deg) scaleX(1.1); } }
@keyframes ogr-tear { 0%,100% { transform: translateY(0); opacity:0.3; } 50% { transform: translateY(8px); opacity:0.8; } }

/* cleopatra-helps-armour-antonys - tense, bright interior */
.scn-cleopatra-helps-armour-antonys {
  background: linear-gradient(180deg, #6a4a2a 0%, #4a3020 40%, #2a1a0a 100%), 
              radial-gradient(ellipse at 40% 20%, #b08040 0%, transparent 60%);
  position: relative;
  overflow: hidden;
}
.scn-cleopatra-helps-armour-antonys .bg-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #7a5a3a 0%, #5a3a1a 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.5);
}
.scn-cleopatra-helps-armour-antonys .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  box-shadow: inset 0 20px 30px rgba(0,0,0,0.8);
}
.scn-cleopatra-helps-armour-antonys .figure-antony {
  position: absolute; bottom: 20%; left: 40%; width: 60px; height: 120px;
  background: linear-gradient(180deg, #4a5a6a 0%, #2a3a4a 50%, #1a2a3a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  transform-origin: bottom center;
  animation: ch-antony 6s ease-in-out infinite alternate;
}
.scn-cleopatra-helps-armour-antonys .figure-cleopatra {
  position: absolute; bottom: 22%; left: 52%; width: 50px; height: 100px;
  background: linear-gradient(180deg, #5e1a1d 0%, #3a0a0c 50%, #1a0000 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: ch-cleopatra 8s ease-in-out infinite;
}
.scn-cleopatra-helps-armour-antonys .armor-brestplate {
  position: absolute; bottom: 38%; left: 41%; width: 40px; height: 45px;
  background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%);
  border-radius: 10% 10% 20% 20% / 20% 20% 30% 30%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px 4px rgba(255,255,240,0.4);
  animation: ch-armor-shimmer 4s ease-in-out infinite;
}
.scn-cleopatra-helps-armour-antonys .armor-helmet {
  position: absolute; bottom: 54%; left: 44%; width: 30px; height: 35px;
  background: linear-gradient(180deg, #9a8a7a 0%, #6a5a4a 100%);
  border-radius: 50% 50% 10% 10% / 70% 70% 10% 10%;
  box-shadow: 0 3px 8px rgba(0,0,0,0.6);
  animation: ch-armor-shimmer 5s ease-in-out infinite reverse;
}
.scn-cleopatra-helps-armour-antonys .torch {
  position: absolute; bottom: 30%; left: 18%; width: 8px; height: 50px;
  background: linear-gradient(180deg, #5a3a1a 0%, #2a1a0a 100%);
  border-radius: 4px;
}
.scn-cleopatra-helps-armour-antonys .torch-glow {
  position: absolute; bottom: 36%; left: 16%; width: 40px; height: 40px;
  background: radial-gradient(circle, #ffd080 0%, #b06020 40%, transparent 70%);
  border-radius: 50%;
  animation: ch-torch 2s ease-in-out infinite;
}
@keyframes ch-antony {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes ch-cleopatra {
  0% { transform: translateX(0) rotate(-2deg); }
  25% { transform: translateX(-3px) rotate(0deg); }
  50% { transform: translateX(0) rotate(2deg); }
  75% { transform: translateX(3px) rotate(0deg); }
  100% { transform: translateX(0) rotate(-2deg); }
}
@keyframes ch-armor-shimmer {
  0% { box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px 4px rgba(255,255,240,0.4); }
  50% { box-shadow: 0 4px 12px rgba(0,0,0,0.7), inset 0 2px 8px rgba(255,255,240,0.8); }
  100% { box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px 4px rgba(255,255,240,0.4); }
}
@keyframes ch-torch {
  0% { transform: scale(1) rotate(0deg); opacity: 0.8; }
  50% { transform: scale(1.2) rotate(5deg); opacity: 1; }
  100% { transform: scale(0.9) rotate(-5deg); opacity: 0.7; }
}

/* antony-arms-for-battle - tense, bright interior */
.scn-antony-arms-for-battle {
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 50%, #1a0a00 100%),
              radial-gradient(ellipse at 35% 30%, #c08040 0%, transparent 70%);
  position: relative;
  overflow: hidden;
}
.scn-antony-arms-for-battle .bg-wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(135deg, #6a5a4a 0%, #4a3a2a 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.4);
}
.scn-antony-arms-for-battle .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0000 100%);
  box-shadow: inset 0 15px 25px rgba(0,0,0,0.9);
}
.scn-antony-arms-for-battle .figure-antony {
  position: absolute; bottom: 22%; left: 35%; width: 65px; height: 130px;
  background: linear-gradient(180deg, #4a5a6a 0%, #2a3a4a 50%, #1a2a3a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  transform-origin: bottom center;
  animation: ab-antony 5s ease-in-out infinite alternate;
}
.scn-antony-arms-for-battle .figure-eros {
  position: absolute; bottom: 20%; right: 40%; width: 45px; height: 90px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 50%, #1a1000 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: ab-eros 8s ease-in-out infinite;
}
.scn-antony-arms-for-battle .soldier-silhouette {
  position: absolute; bottom: 15%; right: 10%; width: 40px; height: 100px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 20% 20%;
  animation: ab-soldier 6s ease-in-out infinite alternate;
}
.scn-antony-arms-for-battle .armor-plate {
  position: absolute; bottom: 35%; left: 42%; width: 30px; height: 20px;
  background: linear-gradient(135deg, #9a8a7a 0%, #6a5a4a 100%);
  border-radius: 20%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: ab-plate 4s ease-in-out infinite;
}
.scn-antony-arms-for-battle .torch {
  position: absolute; bottom: 30%; left: 15%; width: 6px; height: 40px;
  background: linear-gradient(180deg, #5a3a1a 0%, #2a1a0a 100%);
  border-radius: 3px;
}
.scn-antony-arms-for-battle .torch-flicker {
  position: absolute; bottom: 37%; left: 13%; width: 30px; height: 30px;
  background: radial-gradient(circle, #ffb060 0%, #a05020 40%, transparent 70%);
  border-radius: 50%;
  animation: ab-torch 1.5s ease-in-out infinite;
}
@keyframes ab-antony {
  0% { transform: translateY(0) rotate(1deg); }
  50% { transform: translateY(-3px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(1deg); }
}
@keyframes ab-eros {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(-5px) rotate(-3deg); }
  50% { transform: translateX(0) rotate(0deg); }
  75% { transform: translateX(5px) rotate(3deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes ab-soldier {
  0% { transform: translateX(20px) scale(0.8); opacity: 0.3; }
  50% { transform: translateX(-5px) scale(1); opacity: 1; }
  100% { transform: translateX(20px) scale(0.8); opacity: 0.3; }
}
@keyframes ab-plate {
  0% { transform: translate(0,0) rotate(0deg); box-shadow: 0 2px 4px rgba(0,0,0,0.5); }
  50% { transform: translate(3px,-2px) rotate(10deg); box-shadow: 0 4px 8px rgba(0,0,0,0.7); }
  100% { transform: translate(0,0) rotate(0deg); box-shadow: 0 2px 4px rgba(0,0,0,0.5); }
}
@keyframes ab-torch {
  0% { transform: scale(1) rotate(0deg); opacity: 0.8; }
  30% { transform: scale(1.3) rotate(8deg); opacity: 1; }
  60% { transform: scale(0.8) rotate(-5deg); opacity: 0.6; }
  100% { transform: scale(1) rotate(0deg); opacity: 0.8; }
}

/* trumpets-summon - tense, sunlit exterior */
.scn-trumpets-summon {
  background: linear-gradient(180deg, #6a8aaa 0%, #4a6a8a 30%, #2a4a6a 60%, #1a2a3a 100%),
              radial-gradient(ellipse at 50% 80%, #ffc040 0%, transparent 60%);
  position: relative;
  overflow: hidden;
}
.scn-trumpets-summon .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #7aa0c0 0%, #4a7a9a 50%, transparent 100%);
  animation: ts-sky 12s ease-in-out infinite alternate;
}
.scn-trumpets-summon .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #3a5a3a 0%, #1a3a1a 100%);
  border-radius: 30% 70% 0 0 / 50% 80% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.4);
}
.scn-trumpets-summon .sun {
  position: absolute; bottom: 55%; left: 50%; width: 70px; height: 70px;
  background: radial-gradient(circle, #ffe080 0%, #ffa020 50%, transparent 70%);
  border-radius: 50%;
  transform: translateX(-50%);
  animation: ts-sun 20s ease-in-out infinite;
}
.scn-trumpets-summon .trumpet-left {
  position: absolute; bottom: 30%; left: 20%; width: 20px; height: 60px;
  background: linear-gradient(135deg, #c0a030 0%, #806020 100%);
  border-radius: 20% 60% 10% 10% / 30% 70% 10% 10%;
  transform: rotate(-15deg);
  animation: ts-trumpet 3s ease-in-out infinite;
}
.scn-trumpets-summon .trumpet-right {
  position: absolute; bottom: 30%; right: 20%; width: 20px; height: 60px;
  background: linear-gradient(225deg, #c0a030 0%, #806020 100%);
  border-radius: 60% 20% 10% 10% / 70% 30% 10% 10%;
  transform: rotate(15deg);
  animation: ts-trumpet 3s ease-in-out infinite reverse;
}
.scn-trumpets-summon .soldier-one {
  position: absolute; bottom: 10%; left: 35%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%);
  border-radius: 30% 30% 10% 10% / 40% 40% 20% 20%;
  animation: ts-soldier 8s linear infinite;
}
.scn-trumpets-summon .soldier-two {
  position: absolute; bottom: 12%; left: 55%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%);
  border-radius: 30% 30% 10% 10% / 40% 40% 20% 20%;
  animation: ts-soldier 8s linear infinite 4s;
}
.scn-trumpets-summon .flag {
  position: absolute; bottom: 88%; left: 45%; width: 12px; height: 20px;
  background: linear-gradient(180deg, #a0461a 0%, #603010 100%);
  border-radius: 2px;
  transform-origin: bottom left;
  animation: ts-flag 4s ease-in-out infinite;
}
@keyframes ts-sky {
  0% { opacity: 0.6; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes ts-sun {
  0% { transform: translateX(-50%) scale(0.9) rotate(0deg); box-shadow: 0 0 40px #ffc040; }
  50% { transform: translateX(-50%) scale(1.1) rotate(180deg); box-shadow: 0 0 80px #ffe080; }
  100% { transform: translateX(-50%) scale(0.9) rotate(360deg); box-shadow: 0 0 40px #ffc040; }
}
@keyframes ts-trumpet {
  0% { transform: rotate(-15deg) scaleY(1); }
  50% { transform: rotate(-10deg) scaleY(1.05); }
  100% { transform: rotate(-15deg) scaleY(1); }
}
@keyframes ts-soldier {
  0% { transform: translateX(-20px) scale(0.9); opacity: 0.5; }
  30% { transform: translateX(0) scale(1); opacity: 1; }
  70% { transform: translateX(0) scale(1); opacity: 1; }
  100% { transform: translateX(20px) scale(0.9); opacity: 0.5; }
}
@keyframes ts-flag {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(15deg); }
  100% { transform: rotate(0deg); }
}

/* antony-kisses-cleopatra - warm, sunlit */
.scn-antony-kisses-cleopatra {
  background: linear-gradient(180deg, #ffcc80 0%, #ffaa50 30%, #cc8040 60%, #805020 100%),
              radial-gradient(ellipse at 50% 20%, #ffe8b0 0%, transparent 60%);
  position: relative;
  overflow: hidden;
}
.scn-antony-kisses-cleopatra .bg {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 70%, #ffdaaa 0%, transparent 80%);
  animation: ak-bg 10s ease-in-out infinite alternate;
}
.scn-antony-kisses-cleopatra .sun-halo {
  position: absolute; top: 5%; left: 50%; width: 120px; height: 120px;
  background: radial-gradient(circle, rgba(255,220,150,0.8) 0%, rgba(255,200,100,0.3) 40%, transparent 70%);
  border-radius: 50%;
  transform: translateX(-50%);
  animation: ak-halo 12s ease-in-out infinite;
}
.scn-antony-kisses-cleopatra .figure-antony {
  position: absolute; bottom: 25%; left: 30%; width: 80px; height: 150px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: ak-antony 14s ease-in-out infinite;
}
.scn-antony-kisses-cleopatra .figure-cleopatra {
  position: absolute; bottom: 30%; left: 42%; width: 60px; height: 120px;
  background: linear-gradient(180deg, #5e1a1d 0%, #2a0000 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: ak-cleopatra 14s ease-in-out infinite reverse;
}
.scn-antony-kisses-cleopatra .arms-embrace {
  position: absolute; bottom: 45%; left: 34%; width: 80px; height: 30px;
  background: linear-gradient(135deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 40% 60% 20% 20% / 50% 50% 20% 20%;
  transform-origin: center;
  animation: ak-arms 6s ease-in-out infinite;
}
.scn-antony-kisses-cleopatra .sparkle-one {
  position: absolute; top: 20%; left: 30%; width: 4px; height: 4px;
  background: #ffe080;
  border-radius: 50%;
  box-shadow: 0 0 8px #ffe080;
  animation: ak-sparkle 3s ease-in-out infinite;
}
.scn-antony-kisses-cleopatra .sparkle-two {
  position: absolute; top: 15%; right: 25%; width: 3px; height: 3px;
  background: #ffd060;
  border-radius: 50%;
  box-shadow: 0 0 6px #ffd060;
  animation: ak-sparkle 3s ease-in-out infinite 1.5s;
}
@keyframes ak-bg {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes ak-halo {
  0% { transform: translateX(-50%) scale(1); opacity: 0.3; }
  50% { transform: translateX(-50%) scale(1.3); opacity: 0.6; }
  100% { transform: translateX(-50%) scale(1); opacity: 0.3; }
}
@keyframes ak-antony {
  0% { transform: translateY(0) rotate(-1deg) scale(1); }
  50% { transform: translateY(-3px) rotate(2deg) scale(1.01); }
  100% { transform: translateY(0) rotate(-1deg) scale(1); }
}
@keyframes ak-cleopatra {
  0% { transform: translateY(0) rotate(1deg) scale(1); }
  50% { transform: translateY(-2px) rotate(-1deg) scale(1.01); }
  100% { transform: translateY(0) rotate(1deg) scale(1); }
}
@keyframes ak-arms {
  0% { transform: rotate(0deg) scaleX(1); }
  50% { transform: rotate(-5deg) scaleX(1.05); }
  100% { transform: rotate(0deg) scaleX(1); }
}
@keyframes ak-sparkle {
  0% { transform: scale(0) rotate(0deg); opacity: 0; }
  50% { transform: scale(1) rotate(180deg); opacity: 1; }
  100% { transform: scale(0) rotate(360deg); opacity: 0; }
}

.scn-enobarbus-supper-account {
  position: relative;
  background: linear-gradient(180deg, #c8a26a 0%, #b08050 40%, #907040 100%),
              radial-gradient(ellipse at 50% 100%, #c8a26a 0%, transparent 60%);
}
.scn-enobarbus-supper-account .table {
  position: absolute; bottom: 10%; left: 20%; right: 20%; height: 10%;
  background: #6a4a2a; border-radius: 4px;
}
.scn-enobarbus-supper-account .goblet {
  position: absolute; bottom: 15%; left: 50%; width: 12px; height: 20px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #d4af37 0%, #b8860b 100%);
  border-radius: 4px 4px 8px 8px;
  animation: en1-goblet 4s ease-in-out infinite;
}
.scn-enobarbus-supper-account .window {
  position: absolute; top: 10%; left: 60%; width: 80px; height: 100px;
  background: #f0e6c0; border: 4px solid #8b7a50;
  box-shadow: inset 0 0 20px #fff8dc;
  animation: en1-window 8s ease-in-out infinite alternate;
}
.scn-enobarbus-supper-account .light-ray {
  position: absolute; left: 65%; width: 40px; bottom: 20%; top: 30%;
  background: linear-gradient(180deg, rgba(255,255,240,0.4) 0%, transparent 100%);
  clip-path: polygon(0 0, 100% 0, 70% 100%, 30% 100%);
  animation: en1-light 8s ease-in-out infinite alternate;
}
.scn-enobarbus-supper-account .figure-chair {
  position: absolute; bottom: 10%; left: 40%; width: 20px; height: 40px;
  background: #3a2a1a;
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  animation: en1-figure 6s ease-in-out infinite alternate;
}
.scn-enobarbus-supper-account .plate {
  position: absolute; bottom: 10%; left: 46%; width: 30px; height: 6px;
  background: #e0d0b0; border-radius: 50%;
}
@keyframes en1-goblet {
  0% { transform: translateX(-50%) scale(1); opacity: 0.9; }
  50% { transform: translateX(-50%) scale(1.05); opacity: 1; }
  100% { transform: translateX(-50%) scale(1); opacity: 0.9; }
}
@keyframes en1-window {
  0% { background: #f0e6c0; box-shadow: inset 0 0 10px #fff8dc; }
  50% { background: #fff8dc; box-shadow: inset 0 0 30px #fff8dc; }
  100% { background: #f0e6c0; box-shadow: inset 0 0 10px #fff8dc; }
}
@keyframes en1-light {
  0% { opacity: 0.6; transform: scaleX(1); }
  50% { opacity: 1; transform: scaleX(1.05); }
  100% { opacity: 0.7; transform: scaleX(0.95); }
}
@keyframes en1-figure {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-0.5deg); }
}

.scn-enobarbus-praises-variety {
  position: relative;
  background: linear-gradient(180deg, #d0b080 0%, #c09860 30%, #a07840 100%),
              radial-gradient(ellipse at 50% 100%, #d0b080 0%, transparent 70%);
}
.scn-enobarbus-praises-variety .street {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: #8a7a5a; border-radius: 10% 10% 0 0;
}
.scn-enobarbus-praises-variety .building-left {
  position: absolute; left: 0; top: 10%; width: 50%; height: 70%;
  background: #b09870; border-right: 4px solid #8a7850;
}
.scn-enobarbus-praises-variety .building-right {
  position: absolute; right: 0; top: 10%; width: 50%; height: 70%;
  background: #b09870; border-left: 4px solid #8a7850;
}
.scn-enobarbus-praises-variety .doorway-left {
  position: absolute; left: 20%; bottom: 20%; width: 30px; height: 50px;
  background: #6a5a3a; border-radius: 4px 4px 0 0;
  animation: en2-door 4s ease-in-out infinite;
}
.scn-enobarbus-praises-variety .figure-hopping {
  position: absolute; bottom: 20%; left: 55%; width: 16px; height: 36px;
  background: #2a1a12;
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: en2-hop 4s ease-in-out infinite;
}
.scn-enobarbus-praises-variety .dust {
  position: absolute; bottom: 22%; left: 52%; width: 20px; height: 10px;
  background: rgba(200,180,150,0.5); border-radius: 50%; filter: blur(3px);
  animation: en2-dust 4s ease-in-out infinite;
}
.scn-enobarbus-praises-variety .sun-flare {
  position: absolute; top: 5%; right: 10%; width: 40px; height: 40px;
  background: radial-gradient(circle, rgba(255,240,200,0.8) 0%, transparent 70%);
  animation: en2-flare 10s ease-in-out infinite alternate;
}
@keyframes en2-hop {
  0% { transform: translateY(0) rotate(-5deg); }
  50% { transform: translateY(-25px) rotate(5deg); }
  100% { transform: translateY(0) rotate(-5deg); }
}
@keyframes en2-dust {
  0% { opacity: 0.3; transform: scale(1); }
  50% { opacity: 0.6; transform: scale(1.5); }
  100% { opacity: 0.3; transform: scale(1); }
}
@keyframes en2-flare {
  0% { opacity: 0.5; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.2); }
  100% { opacity: 0.5; transform: scale(1); }
}
@keyframes en2-door {
  0% { background: #5a4a2a; }
  50% { background: #4a3a1a; }
  100% { background: #5a4a2a; }
}

.scn-mecaenas-hopes-octavia {
  position: relative;
  background: linear-gradient(180deg, #f5f0e0 0%, #e8e0c8 50%, #d0c8a0 100%),
              radial-gradient(ellipse at 50% 100%, #f5f0e0 0%, transparent 70%);
}
.scn-mecaenas-hopes-octavia .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: #c8b898;
}
.scn-mecaenas-hopes-octavia .window {
  position: absolute; top: 15%; left: 30%; width: 80px; height: 100px;
  background: #fff8e0; border: 4px solid #b8a880;
  animation: me3-window 12s ease-in-out infinite alternate;
}
.scn-mecaenas-hopes-octavia .light-beam {
  position: absolute; left: 35%; width: 50px; top: 15%; bottom: 20%;
  background: linear-gradient(180deg, rgba(255,255,240,0.3) 0%, transparent 80%);
  clip-path: polygon(0 0, 100% 0, 70% 100%, 30% 100%);
  animation: me3-light 8s ease-in-out infinite alternate;
}
.scn-mecaenas-hopes-octavia .chair {
  position: absolute; bottom: 20%; left: 45%; width: 30px; height: 40px;
  background: #8a7a5a; border-radius: 4px 4px 20px 20px;
  animation: me3-chair 6s ease-in-out infinite;
}
.scn-mecaenas-hopes-octavia .figure-left {
  position: absolute; bottom: 20%; left: 25%; width: 18px; height: 44px;
  background: #2a2a3a;
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: me3-figure1 10s ease-in-out infinite alternate;
}
.scn-mecaenas-hopes-octavia .figure-right {
  position: absolute; bottom: 20%; right: 25%; width: 18px; height: 46px;
  background: #3a2a2a;
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: me3-figure2 12s ease-in-out infinite alternate;
}
.scn-mecaenas-hopes-octavia .flower {
  position: absolute; bottom: 22%; left: 50%; width: 6px; height: 8px;
  transform: translateX(-50%);
  background: #c8553d; border-radius: 50% 50% 30% 30%;
  box-shadow: 0 -4px 4px #c8553d;
  animation: me3-flower 5s ease-in-out infinite alternate;
}
@keyframes me3-window {
  0% { background: #fff8e0; box-shadow: inset 0 0 10px #fff8dc; }
  50% { background: #fffff0; box-shadow: inset 0 0 30px #fff8dc; }
  100% { background: #fff8e0; box-shadow: inset 0 0 10px #fff8dc; }
}
@keyframes me3-light {
  0% { opacity: 0.6; transform: skewX(-2deg); }
  50% { opacity: 0.9; transform: skewX(2deg); }
  100% { opacity: 0.6; transform: skewX(-2deg); }
}
@keyframes me3-chair {
  0% { transform: translateX(0) rotate(0); }
  50% { transform: translateX(2px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes me3-figure1 {
  0% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-1px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-2deg); }
}
@keyframes me3-figure2 {
  0% { transform: translateY(0) rotate(2deg); }
  50% { transform: translateY(1px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(2deg); }
}
@keyframes me3-flower {
  0% { transform: translateX(-50%) translateY(0) rotate(-5deg); }
  50% { transform: translateX(-50%) translateY(-2px) rotate(5deg); }
  100% { transform: translateX(-50%) translateY(0) rotate(-5deg); }
}

.scn-antony-bids-octavia-farewell {
  position: relative;
  background: linear-gradient(180deg, #f0e8d0 0%, #e0d0b0 50%, #c8b890 100%),
              radial-gradient(ellipse at 50% 100%, #f0e8d0 0%, transparent 70%);
}
.scn-antony-bids-octavia-farewell .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: #c0b090;
}
.scn-antony-bids-octavia-farewell .doorway {
  position: absolute; bottom: 20%; left: 50%; width: 60px; height: 80px;
  transform: translateX(-50%);
  background: #6a5a3a; border: 4px solid #8a7a5a; border-radius: 4px;
}
.scn-antony-bids-octavia-farewell .figure-left {
  position: absolute; bottom: 20%; left: 40%; width: 20px; height: 48px;
  background: #2a2a3a;
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: an4-left 10s ease-in-out infinite alternate;
}
.scn-antony-bids-octavia-farewell .figure-right {
  position: absolute; bottom: 20%; right: 40%; width: 20px; height: 48px;
  background: #3a2a2a;
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: an4-right 10s ease-in-out infinite alternate;
}
.scn-antony-bids-octavia-farewell .light-from-doorway {
  position: absolute; left: 48%; width: 30px; bottom: 20%; top: 28%;
  background: linear-gradient(180deg, rgba(255,255,240,0.3) 0%, transparent 80%);
  clip-path: polygon(0 0, 100% 0, 70% 100%, 30% 100%);
  animation: an4-light 8s ease-in-out infinite alternate;
}
.scn-antony-bids-octavia-farewell .column-left {
  position: absolute; left: 20%; bottom: 20%; width: 10px; height: 60%;
  background: #c8b898; border-radius: 4px;
  animation: an4-column 12s ease-in-out infinite;
}
.scn-antony-bids-octavia-farewell .column-right {
  position: absolute; right: 20%; bottom: 20%; width: 10px; height: 60%;
  background: #c8b898; border-radius: 4px;
  animation: an4-column 12s ease-in-out infinite reverse;
}
@keyframes an4-left {
  0% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-1px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-2deg); }
}
@keyframes an4-right {
  0% { transform: translateY(0) rotate(2deg); }
  50% { transform: translateY(1px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(2deg); }
}
@keyframes an4-light {
  0% { opacity: 0.5; transform: scaleX(0.9); }
  50% { opacity: 0.8; transform: scaleX(1); }
  100% { opacity: 0.5; transform: scaleX(0.9); }
}
@keyframes an4-column {
  0% { transform: scaleY(1); opacity: 0.9; }
  50% { transform: scaleY(1.02); opacity: 1; }
  100% { transform: scaleY(1); opacity: 0.9; }
}

.scn-antony-orders-hills { background: linear-gradient(180deg, #4a7a9a 0%, #7ab0d0 40%, #f0e68c 100%), radial-gradient(circle at 70% 20%, #fff8dc 0%, transparent 60%); }
.scn-antony-orders-hills .sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #7ab0d0 0%, #b0d4f0 100%); animation: aho-sky 10s ease-in-out infinite alternate; }
.scn-antony-orders-hills .sun { position:absolute; top:12%; right:25%; width:60px; height:60px; background: radial-gradient(circle, #fff8dc 0%, #ffd700 50%, transparent 70%); border-radius:50%; box-shadow: 0 0 40px 20px rgba(255,215,0,0.4); animation: aho-sun 8s ease-in-out infinite alternate; }
.scn-antony-orders-hills .hills-back { position:absolute; bottom:45%; left:0; right:0; height:20%; background: linear-gradient(180deg, #3a5a3a 0%, #2a4a2a 100%); border-radius: 50% 40% 0 0 / 100% 80% 0 0; filter: blur(2px); animation: aho-hills 15s ease-in-out infinite alternate; }
.scn-antony-orders-hills .hills-front { position:absolute; bottom:35%; left:0; right:0; height:25%; background: linear-gradient(180deg, #4a6a3a 0%, #2a3a1a 100%); border-radius: 30% 70% 0 0 / 80% 90% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,0.3); animation: aho-hills-front 18s ease-in-out infinite alternate; }
.scn-antony-orders-hills .sea { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #2a6a8a 0%, #1a4a6a 100%); animation: aho-sea 8s ease-in-out infinite alternate; }
.scn-antony-orders-hills .ship { position:absolute; bottom:15%; left:20%; width:80px; height:30px; background: linear-gradient(90deg, #5a3a2a 0%, #8a5a3a 100%); border-radius: 10% 10% 30% 30%; clip-path: polygon(0% 100%, 100% 100%, 80% 0%, 20% 0%); animation: aho-ship 12s ease-in-out infinite; }
.scn-antony-orders-hills .figure { position:absolute; bottom:38%; left:45%; width:12px; height:30px; background: #1a1a1a; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: aho-figure 4s ease-in-out infinite; }
@keyframes aho-sky    { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes aho-sun    { 0% { transform: scale(1) translateX(0); } 50% { transform: scale(1.05) translateX(-5px); } 100% { transform: scale(0.95) translateX(0); } }
@keyframes aho-hills  { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes aho-hills-front { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-4px) scale(1.02); } 100% { transform: translateY(0) scale(1); } }
@keyframes aho-sea    { 0% { transform: translateY(0); } 50% { transform: translateY(3px); } 100% { transform: translateY(0); } }
@keyframes aho-ship   { 0% { transform: rotate(-2deg) translateX(0); } 50% { transform: rotate(2deg) translateX(10px); } 100% { transform: rotate(-1deg) translateX(0); } }
@keyframes aho-figure { 0% { transform: rotate(-3deg); } 25% { transform: rotate(2deg) translateY(-1px); } 50% { transform: rotate(-2deg); } 75% { transform: rotate(1deg) translateY(-1px); } 100% { transform: rotate(-3deg); } }

.scn-caesar-prepares-ambush { background: linear-gradient(180deg, #3a4a5a 0%, #4a5a6a 40%, #6a7a8a 100%), radial-gradient(ellipse at 50% 0%, #6a7a8a 0%, transparent 80%); }
.scn-caesar-prepares-ambush .cloud-layer { position:absolute; inset:0 0 60% 0; background: linear-gradient(180deg, rgba(100,110,120,0.6) 0%, rgba(80,90,100,0.3) 100%); animation: cpa-cloud 30s linear infinite; }
.scn-caesar-prepares-ambush .pine-trunk { position:absolute; bottom:25%; left:30%; width:8px; height:60%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 2px; transform-origin: bottom center; animation: cpa-pine 6s ease-in-out infinite; }
.scn-caesar-prepares-ambush .pine-crown { position:absolute; bottom:45%; left:30%; width:60px; height:50px; transform: translateX(-50%); background: linear-gradient(180deg, #2a4a2a 0%, #1a2a1a 100%); border-radius: 50% 50% 40% 40%; clip-path: polygon(50% 0%, 0% 100%, 100% 100%); animation: cpa-pine 6s ease-in-out infinite; }
.scn-caesar-prepares-ambush .ship-hull { position:absolute; bottom:12%; left:60%; width:60px; height:20px; background: linear-gradient(90deg, #4a3a2a 0%, #6a4a3a 100%); border-radius: 10% 10% 30% 30%; clip-path: polygon(0% 100%, 100% 100%, 85% 0%, 15% 0%); animation: cpa-ship 10s ease-in-out infinite; }
.scn-caesar-prepares-ambush .sail { position:absolute; bottom:22%; left:62%; width:30px; height:40px; background: linear-gradient(180deg, #d0d0c8 0%, #b0b0a8 100%); border-radius: 10% 10% 30% 30%/20% 20% 40% 40%; transform-origin: bottom center; animation: cpa-sail 8s ease-in-out infinite; }
.scn-caesar-prepares-ambush .swallow-1 { position:absolute; top:25%; left:20%; width:12px; height:6px; background: #1a1a1a; border-radius: 50% 50% 0 0; transform: rotate(20deg); animation: cpa-swallow 4s ease-in-out infinite; }
.scn-caesar-prepares-ambush .swallow-2 { position:absolute; top:20%; left:35%; width:10px; height:5px; background: #1a1a1a; border-radius: 50% 50% 0 0; transform: rotate(-15deg); animation: cpa-swallow 4s ease-in-out infinite reverse; animation-delay: -2s; }
@keyframes cpa-cloud   { 0% { transform: translateX(0); } 100% { transform: translateX(-50px); } }
@keyframes cpa-pine    { 0% { transform: rotate(-1deg); } 50% { transform: rotate(1deg); } 100% { transform: rotate(-1deg); } }
@keyframes cpa-ship    { 0% { transform: rotate(-2deg) translateX(0); } 50% { transform: rotate(2deg) translateX(10px); } 100% { transform: rotate(-2deg) translateX(0); } }
@keyframes cpa-sail    { 0% { transform: rotate(-5deg) scaleY(1); } 50% { transform: rotate(5deg) scaleY(1.05); } 100% { transform: rotate(-5deg) scaleY(1); } }
@keyframes cpa-swallow { 0% { transform: translateY(0) rotate(20deg); } 50% { transform: translateY(-10px) rotate(30deg); } 100% { transform: translateY(0) rotate(20deg); } }

.scn-ominous-omens { background: linear-gradient(180deg, #0a0a1a 0%, #1a1a3a 40%, #2a2a4a 100%), radial-gradient(ellipse at 50% 80%, #2a2a4a 0%, transparent 70%); }
.scn-ominous-omens .dark-sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #1a1a3a 0%, #0a0a1a 100%); animation: oo-sky 12s ease-in-out infinite alternate; }
.scn-ominous-omens .storm-cloud { position:absolute; top:10%; left:0; right:0; height:30%; background: rgba(30,30,50,0.8); border-radius: 40% 60% 0 0; filter: blur(10px); animation: oo-cloud 8s ease-in-out infinite alternate; }
.scn-ominous-omens .raging-sea { position:absolute; bottom:0; left:0; right:0; height:45%; background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%); animation: oo-sea 6s ease-in-out infinite alternate; }
.scn-ominous-omens .ship-wreck { position:absolute; bottom:20%; left:30%; width:70px; height:25px; background: linear-gradient(90deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 5% 5% 20% 20%; clip-path: polygon(0% 100%, 100% 100%, 90% 10%, 10% 10%); animation: oo-ship 4s ease-in-out infinite; }
.scn-ominous-omens .broken-mast { position:absolute; bottom:45%; left:35%; width:5px; height:40px; background: #2a1a0a; transform-origin: bottom center; transform: rotate(20deg); animation: oo-mast 3s ease-in-out infinite; }
.scn-ominous-omens .figure-kneeling { position:absolute; bottom:18%; left:25%; width:14px; height:25px; background: #1a1a2a; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: oo-figure 5s ease-in-out infinite; }
.scn-ominous-omens .omen-bird { position:absolute; top:30%; right:20%; width:15px; height:8px; background: #0a0a0a; border-radius: 50% 50% 0 0; transform: rotate(10deg); animation: oo-bird 6s ease-in-out infinite; }
@keyframes oo-sky    { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes oo-cloud  { 0% { transform: translateX(0) scaleY(1); } 50% { transform: translateX(-10px) scaleY(1.1); } 100% { transform: translateX(0) scaleY(1); } }
@keyframes oo-sea    { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(5px) scale(1.02); } 100% { transform: translateY(0) scale(1); } }
@keyframes oo-ship   { 0% { transform: rotate(-5deg) translateX(0); } 50% { transform: rotate(5deg) translateX(5px); } 100% { transform: rotate(-5deg) translateX(0); } }
@keyframes oo-mast   { 0% { transform: rotate(20deg) scaleY(1); } 50% { transform: rotate(25deg) scaleY(1.05); } 100% { transform: rotate(20deg) scaleY(1); } }
@keyframes oo-figure { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(3deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes oo-bird   { 0% { transform: translateY(0) rotate(10deg); } 50% { transform: translateY(-8px) rotate(20deg); } 100% { transform: translateY(0) rotate(10deg); } }

.scn-antony-deserted { background: linear-gradient(180deg, #2a1a3a 0%, #4a2a3a 30%, #6a3a2a 60%, #8a4a2a 100%), radial-gradient(ellipse at 50% 0%, #c06030 0%, transparent 60%); }
.scn-antony-deserted .dusk-sky { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #3a2a4a 0%, #5a3a3a 100%); animation: ad-sky 12s ease-in-out infinite alternate; }
.scn-antony-deserted .horizon-glow { position:absolute; bottom:30%; left:0; right:0; height:15%; background: radial-gradient(ellipse at 50% 50%, #e08040 0%, transparent 70%); animation: ad-glow 6s ease-in-out infinite alternate; }
.scn-antony-deserted .ground { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 20% 20% 0 0 / 30% 30% 0 0; }
.scn-antony-deserted .pine-tree { position:absolute; bottom:30%; left:50%; transform: translateX(-50%); width:8px; height:70%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%); border-radius: 2px; transform-origin: bottom center; animation: ad-tree 8s ease-in-out infinite; }
.scn-antony-deserted .figure-leaning { position:absolute; bottom:25%; left:48%; width:12px; height:28px; background: #1a1a2a; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; transform: rotate(15deg); animation: ad-figure 5s ease-in-out infinite; }
.scn-antony-deserted .falling-leaf { position:absolute; top:10%; left:30%; width:6px; height:3px; background: #c06030; border-radius: 50%; animation: ad-leaf 10s linear infinite; }
@keyframes ad-sky    { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes ad-glow   { 0% { opacity:.6; transform: scaleY(1); } 50% { opacity:1; transform: scaleY(1.2); } 100% { opacity:.7; transform: scaleY(1); } }
@keyframes ad-tree   { 0% { transform: translateX(-50%) rotate(-2deg); } 50% { transform: translateX(-50%) rotate(2deg); } 100% { transform: translateX(-50%) rotate(-2deg); } }
@keyframes ad-figure { 0% { transform: rotate(15deg) translateY(0); } 50% { transform: rotate(18deg) translateY(-1px); } 100% { transform: rotate(15deg) translateY(0); } }
@keyframes ad-leaf   { 0% { transform: translateY(0) rotate(0deg); opacity:1; } 100% { transform: translateY(80vh) rotate(360deg); opacity:0; } }

.scn-plain-of-syria-victory { background: linear-gradient(180deg, #ffd700 0%, #ffaa33 30%, #87ceeb 60%, #4682b4 100%), radial-gradient(ellipse at 50% 0%, #ffffe0 0%, transparent 70%); }
.scn-plain-of-syria-victory .sky { position: absolute; inset: 0; background: linear-gradient(180deg, #ffeb99 0%, transparent 100%); animation: psv-sky 20s ease-in-out infinite alternate; }
.scn-plain-of-syria-victory .sun { position: absolute; top: 10%; left: 70%; width: 60px; height: 60px; background: radial-gradient(circle, #fff8cc 0%, #ffd700 50%, transparent 100%); border-radius: 50%; animation: psv-sun 6s ease-in-out infinite; }
.scn-plain-of-syria-victory .distant-hills { position: absolute; bottom: 40%; left: 0; right: 0; height: 20%; background: linear-gradient(180deg, #4a6a3a 0%, #2a4a2a 100%); border-radius: 40% 60% 0 0; animation: psv-hills 15s ease-in-out infinite alternate; }
.scn-plain-of-syria-victory .road { position: absolute; bottom: 20%; left: 10%; right: 10%; height: 10%; background: #8a7a5a; clip-path: polygon(20% 0%, 80% 0%, 70% 100%, 30% 100%); animation: psv-road 10s ease-in-out infinite; }
.scn-plain-of-syria-victory .procession { position: absolute; bottom: 25%; left: 0; right: 0; height: 30%; background: linear-gradient(90deg, transparent, #3a2a1a 20%, #3a2a1a 80%, transparent); clip-path: polygon(10% 40%, 90% 40%, 80% 100%, 20% 100%); animation: psv-proc 12s ease-in-out infinite; }
.scn-plain-of-syria-victory .bier { position: absolute; bottom: 30%; left: 35%; width: 80px; height: 20px; background: #5a3a1a; border-radius: 10px; animation: psv-bier 8s ease-in-out infinite; }
.scn-plain-of-syria-victory .soldier-left { position: absolute; bottom: 32%; left: 20%; width: 20px; height: 40px; background: #2a2a3a; border-radius: 40% 40% 20% 20%; transform-origin: bottom; animation: psv-march 4s ease-in-out infinite, psv-walk 1s ease-in-out infinite; }
.scn-plain-of-syria-victory .soldier-right { position: absolute; bottom: 32%; left: 60%; width: 20px; height: 40px; background: #2a2a3a; border-radius: 40% 40% 20% 20%; transform-origin: bottom; animation: psv-march 4s ease-in-out infinite reverse, psv-walk 1s ease-in-out infinite 0.5s; }
@keyframes psv-sky { 0% { opacity: 0.8; transform: scale(1); } 50% { opacity: 1; transform: scale(1.02); } 100% { opacity: 0.9; transform: scale(1); } }
@keyframes psv-sun { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-10px) scale(1.1); box-shadow: 0 0 40px 15px #ffd700; } 100% { transform: translateY(0) scale(1); } }
@keyframes psv-hills { 0% { transform: translateY(0); } 50% { transform: translateY(-5px); } 100% { transform: translateY(0); } }
@keyframes psv-road { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes psv-proc { 0% { transform: translateX(-10px); } 50% { transform: translateX(10px); } 100% { transform: translateX(-10px); } }
@keyframes psv-bier { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3px) rotate(1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes psv-march { 0% { transform: translateX(0); } 50% { transform: translateX(20px); } 100% { transform: translateX(40px); } }
@keyframes psv-walk { 0% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-3deg); } }

.scn-ventidius-caution { background: linear-gradient(180deg, #4682b4 0%, #87ceeb 40%, #f0e68c 100%), radial-gradient(ellipse at 50% 80%, #ffeb99 0%, transparent 50%); }
.scn-ventidius-caution .bg-sky { position: absolute; inset: 0; background: linear-gradient(180deg, #b0e0e6 0%, transparent 100%); animation: vc-sky 10s ease-in-out infinite alternate; }
.scn-ventidius-caution .temple-col { position: absolute; bottom: 0; left: 20%; width: 20px; height: 100%; background: linear-gradient(180deg, #d2b48c 0%, #8b7355 100%); border-radius: 4px; box-shadow: 4px 0 10px rgba(0,0,0,0.2); animation: vc-col 12s ease-in-out infinite; }
.scn-ventidius-caution .ventidius { position: absolute; bottom: 25%; left: 35%; width: 24px; height: 50px; background: #3a2a1a; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: vc-gesture 4s ease-in-out infinite; }
.scn-ventidius-caution .silius { position: absolute; bottom: 25%; left: 55%; width: 22px; height: 48px; background: #2a3a2a; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: vc-listen 5s ease-in-out infinite; }
.scn-ventidius-caution .shadow-left { position: absolute; bottom: 20%; left: 30%; width: 40px; height: 70px; background: rgba(0,0,0,0.15); filter: blur(8px); animation: vc-shadow 6s ease-in-out infinite; }
.scn-ventidius-caution .shadow-right { position: absolute; bottom: 20%; left: 50%; width: 40px; height: 70px; background: rgba(0,0,0,0.1); filter: blur(8px); animation: vc-shadow 6s ease-in-out infinite 2s; }
@keyframes vc-sky { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes vc-col { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes vc-gesture { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(5px) rotate(-5deg); } 50% { transform: translateX(-5px) rotate(5deg); } 75% { transform: translateX(3px) rotate(-3deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes vc-listen { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes vc-shadow { 0% { opacity: 0.2; transform: scale(1); } 50% { opacity: 0.4; transform: scale(1.1); } 100% { opacity: 0.2; transform: scale(1); } }

.scn-ventidius-humility { background: linear-gradient(180deg, #d2b48c 0%, #deb887 40%, #f5deb3 100%), radial-gradient(ellipse at 50% 100%, #8b7355 0%, transparent 70%); }
.scn-ventidius-humility .tent-bg { position: absolute; inset: 0; background: linear-gradient(180deg, #f0e68c 0%, #d2b48c 100%); clip-path: polygon(10% 0%, 90% 0%, 80% 100%, 20% 100%); animation: vh-tent 15s ease-in-out infinite; }
.scn-ventidius-humility .desk { position: absolute; bottom: 20%; left: 30%; width: 100px; height: 20px; background: linear-gradient(180deg, #8b4513 0%, #5a2d0c 100%); border-radius: 4px; animation: vh-desk 10s ease-in-out infinite; }
.scn-ventidius-humility .scroll { position: absolute; bottom: 30%; left: 45%; width: 30px; height: 10px; background: #f5deb3; border-radius: 4px; animation: vh-scroll 8s ease-in-out infinite; }
.scn-ventidius-humility .ventidius-write { position: absolute; bottom: 22%; left: 35%; width: 20px; height: 40px; background: #3a2a1a; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom left; animation: vh-write 5s ease-in-out infinite; }
.scn-ventidius-humility .candle { position: absolute; bottom: 32%; left: 52%; width: 8px; height: 20px; background: linear-gradient(180deg, #ffd700 0%, #8b4513 100%); border-radius: 4px; animation: vh-candle 3s ease-in-out infinite; }
.scn-ventidius-humility .inkwell { position: absolute; bottom: 24%; left: 42%; width: 12px; height: 14px; background: #2f4f4f; border-radius: 50% 50% 30% 30%; animation: vh-ink 6s ease-in-out infinite; }
@keyframes vh-tent { 0% { opacity: 0.9; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-5px); } 100% { opacity: 0.9; transform: translateY(0); } }
@keyframes vh-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes vh-scroll { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(5px) rotate(2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes vh-write { 0% { transform: rotate(0); } 25% { transform: rotate(-10deg); } 50% { transform: rotate(15deg); } 75% { transform: rotate(-5deg); } 100% { transform: rotate(0); } }
@keyframes vh-candle { 0% { box-shadow: 0 0 10px 3px #ffd700; opacity: 0.8; } 50% { box-shadow: 0 0 20px 6px #ffd700; opacity: 1; } 100% { box-shadow: 0 0 10px 3px #ffd700; opacity: 0.8; } }
@keyframes vh-ink { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }

.scn-sea-fight-alarm { background: linear-gradient(180deg, #2f4f4f 0%, #4682b4 40%, #5f9ea0 100%), radial-gradient(ellipse at 50% 80%, #191970 0%, transparent 70%); }
.scn-sea-fight-alarm .sky-overcast { position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #696969 0%, #a9a9a9 100%); animation: sfa-sky 15s ease-in-out infinite alternate; }
.scn-sea-fight-alarm .sea-bg { position: absolute; bottom: 0; left: 0; right: 0; height: 40%; background: linear-gradient(180deg, #2e8b57 0%, #006400 100%); animation: sfa-sea 12s ease-in-out infinite; }
.scn-sea-fight-alarm .wave-fg { position: absolute; bottom: 0; left: 0; right: 0; height: 20%; background: linear-gradient(180deg, transparent 0%, #000080 50%, transparent 100%); clip-path: polygon(0 40%, 25% 60%, 50% 30%, 75% 70%, 100% 20%, 100% 100%, 0 100%); animation: sfa-wave 4s ease-in-out infinite; }
.scn-sea-fight-alarm .ship-left { position: absolute; bottom: 15%; left: 10%; width: 50px; height: 30px; background: linear-gradient(90deg, #8b4513 0%, #5a2d0c 100%); clip-path: polygon(0 30%, 100% 20%, 80% 100%, 20% 100%); animation: sfa-ship 6s ease-in-out infinite; }
.scn-sea-fight-alarm .ship-right { position: absolute; bottom: 20%; right: 15%; width: 60px; height: 35px; background: linear-gradient(90deg, #a0522d 0%, #8b4513 100%); clip-path: polygon(0 20%, 100% 30%, 80% 100%, 20% 100%); animation: sfa-ship2 6s ease-in-out infinite 1s; }
.scn-sea-fight-alarm .smoke { position: absolute; top: 20%; left: 30%; width: 80px; height: 40px; background: rgba(169,169,169,0.6); border-radius: 50%; filter: blur(12px); animation: sfa-smoke 8s ease-in-out infinite; }
.scn-sea-fight-alarm .flash { position: absolute; top: 30%; left: 40%; width: 10px; height: 10px; background: #ffffe0; border-radius: 50%; box-shadow: 0 0 30px 10px #ffffe0; animation: sfa-flash 2s step-end infinite; }
@keyframes sfa-sky { 0% { opacity: 0.6; } 50% { opacity: 0.9; } 100% { opacity: 0.6; } }
@keyframes sfa-sea { 0% { transform: translateY(0); } 50% { transform: translateY(-5px); } 100% { transform: translateY(0); } }
@keyframes sfa-wave { 0% { transform: translateX(0); } 50% { transform: translateX(10px); } 100% { transform: translateX(0); } }
@keyframes sfa-ship { 0% { transform: rotate(0) translateY(0); } 50% { transform: rotate(3deg) translateY(-3px); } 100% { transform: rotate(0) translateY(0); } }
@keyframes sfa-ship2 { 0% { transform: rotate(0) translateY(0); } 50% { transform: rotate(-3deg) translateY(-3px); } 100% { transform: rotate(0) translateY(0); } }
@keyframes sfa-smoke { 0% { transform: scale(1) translateX(0); opacity: 0.6; } 50% { transform: scale(1.2) translateX(-10px); opacity: 0.8; } 100% { transform: scale(1) translateX(0); opacity: 0.6; } }
@keyframes sfa-flash { 0%,100% { opacity: 0; } 50% { opacity: 1; } }

.scn-antony-cheers-guests { background: linear-gradient(180deg, #4a2a1a 0%, #6a4a2a 30%, #8a6040 60%, #a08060 100%), radial-gradient(ellipse at 50% 30%, #c09870 0%, transparent 70%); }
.scn-antony-cheers-guests .room { position:absolute; inset:0; background: linear-gradient(180deg, #5a3a2a 0%, #7a5a3a 50%, #5a3a2a 100%); border-radius: 0 0 20% 20% / 0 0 10% 10%; animation: acg-room 12s ease-in-out infinite alternate; }
.scn-antony-cheers-guests .table { position:absolute; bottom:20%; left:15%; right:15%; height:8%; background: linear-gradient(0deg, #4a2a1a, #6a4a2a); border-radius: 10% 10% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,.3); animation: acg-table 6s ease-in-out infinite alternate; }
.scn-antony-cheers-guests .goblet-a { position:absolute; bottom:22%; left:25%; width:10px; height:24px; background: radial-gradient(ellipse 10px 24px, #b08850 0%, #705030 100%); border-radius: 20% 20% 10% 10%; transform: rotate(-10deg); animation: acg-goblet 4s ease-in-out infinite; }
.scn-antony-cheers-guests .goblet-b { left:60%; animation-delay: 1.5s; }
.scn-antony-cheers-guests .figure.antony { position:absolute; bottom:10%; left:40%; width:30px; height:60px; background: linear-gradient(180deg, #3a1a0a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: acg-figure 8s ease-in-out infinite; }
.scn-antony-cheers-guests .figure.guest { left:55%; width:26px; height:50px; animation-delay: 2s; }
.scn-antony-cheers-guests .candle { position:absolute; bottom:25%; left:48%; width:6px; height:30px; background: linear-gradient(180deg, #d0a060 0%, #e0b070 30%, #ffd080 60%, #ffe090 100%); border-radius: 10% 10% 20% 20%; box-shadow: 0 0 20px 8px rgba(255,200,100,0.6); animation: acg-candle 3s ease-in-out infinite alternate; }
.scn-antony-cheers-guests .glow { position:absolute; bottom:20%; left:30%; right:30%; height:30%; background: radial-gradient(ellipse at 50% 100%, rgba(255,200,100,0.3) 0%, transparent 70%); animation: acg-glow 5s ease-in-out infinite alternate; }
@keyframes acg-room { 0% { opacity:0.8} 50% { opacity:1} 100% { opacity:0.7} }
@keyframes acg-table { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes acg-goblet { 0%,100% { transform: rotate(-10deg) } 50% { transform: rotate(5deg) translateY(-2px) } }
@keyframes acg-figure { 0% { transform: translateY(0) rotate(0deg) } 30% { transform: translateY(-3px) rotate(2deg) } 60% { transform: translateY(0) rotate(-1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes acg-candle { 0% { opacity:0.8; transform: scaleY(1) } 50% { opacity:1; transform: scaleY(1.05) } 100% { opacity:0.9; transform: scaleY(0.95) } }
@keyframes acg-glow { 0% { opacity:0.5 } 50% { opacity:0.8 } 100% { opacity:0.6 } }

.scn-soldiers-supernatural-omens { background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 50%, #2a2a4e 100%), radial-gradient(ellipse at 50% 20%, #3a3a6e 0%, transparent 60%); }
.scn-soldiers-supernatural-omens .sky { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #0a0a1a 0%, #151530 70%, transparent 100%); animation: sso-sky 20s ease-in-out infinite alternate; }
.scn-soldiers-supernatural-omens .moon { position:absolute; top:12%; left:70%; width:30px; height:30px; background: radial-gradient(circle, #c0c0e0 0%, #8080a0 70%, transparent 100%); border-radius:50%; box-shadow: 0 0 30px 10px rgba(200,200,255,0.4); animation: sso-moon 15s ease-in-out infinite alternate; }
.scn-soldiers-supernatural-omens .cloud { position:absolute; top:15%; left:10%; width:60px; height:15px; background: linear-gradient(180deg, rgba(150,150,200,0.3) 0%, transparent 100%); border-radius:50%; filter: blur(5px); animation: sso-cloud 40s linear infinite; }
.scn-soldiers-supernatural-omens .wall { position:absolute; bottom:20%; left:10%; right:10%; height:50%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 20% 20% 0 0 / 30% 30% 0 0; box-shadow: inset 0 -10px 20px rgba(0,0,0,.5); animation: sso-wall 10s ease-in-out infinite alternate; }
.scn-soldiers-supernatural-omens .soldier-a { position:absolute; bottom:18%; left:25%; width:20px; height:40px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: sso-soldier 6s ease-in-out infinite; }
.scn-soldiers-supernatural-omens .soldier-b { left:60%; animation-delay: 3s; }
.scn-soldiers-supernatural-omens .spear-a { position:absolute; bottom:20%; left:23%; width:3px; height:30px; background: #3a3a4a; border-radius: 20%; transform: rotate(15deg); animation: sso-spear 4s ease-in-out infinite; }
.scn-soldiers-supernatural-omens .spear-b { left:58%; transform: rotate(-15deg); animation-delay: 2s; }
.scn-soldiers-supernatural-omens .owl { position:absolute; top:30%; left:40%; width:12px; height:10px; background: #2a2a3a; border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; animation: sso-owl 5s ease-in-out infinite alternate; }
@keyframes sso-sky { 0% { opacity:0.6} 50% { opacity:0.9} 100% { opacity:0.7} }
@keyframes sso-moon { 0% { transform: translateY(0) scale(1)} 50% { transform: translateY(-5px) scale(1.05)} 100% { transform: translateY(0) scale(1)} }
@keyframes sso-cloud { 0% { transform: translateX(0)} 50% { transform: translateX(-50vw)} 100% { transform: translateX(-100vw)} }
@keyframes sso-wall { 0% { transform: translateY(0)} 50% { transform: translateY(-3px)} 100% { transform: translateY(0)} }
@keyframes sso-soldier { 0% { transform: translateY(0)} 30% { transform: translateY(-2px) rotate(1deg)} 60% { transform: translateY(0) rotate(-1deg)} 100% { transform: translateY(0)} }
@keyframes sso-spear { 0%,100% { transform: rotate(15deg)} 50% { transform: rotate(20deg) translateY(-1px)} }
@keyframes sso-owl { 0% { transform: translate(0,0) rotate(0deg)} 50% { transform: translate(3px,-2px) rotate(10deg)} 100% { transform: translate(0,0) rotate(0deg)} }

.scn-hercules-departs { background: linear-gradient(180deg, #0a0a12 0%, #1a1a2e 40%, #2a2a4a 100%), radial-gradient(ellipse at 50% 80%, #3a3a5a 0%, transparent 70%); }
.scn-hercules-departs .sky { position:absolute; inset:0; background: linear-gradient(180deg, #0a0a18 0%, #1a1a30 60%, transparent 100%); animation: hde-sky 15s ease-in-out infinite alternate; }
.scn-hercules-departs .stars { position:absolute; inset:0; background: radial-gradient(2px 2px at 10% 20%, #fff 0%, transparent 100%), radial-gradient(2px 2px at 30% 40%, #fff 0%, transparent 100%), radial-gradient(2px 2px at 60% 15%, #fff 0%, transparent 100%), radial-gradient(2px 2px at 80% 30%, #fff 0%, transparent 100%), radial-gradient(2px 2px at 50% 60%, #fff 0%, transparent 100%); animation: hde-stars 30s ease-in-out infinite alternate; }
.scn-hercules-departs .hercules { position:absolute; bottom:20%; left:45%; width:20px; height:50px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; box-shadow: 0 0 8px rgba(255,255,255,0.2); animation: hde-hercules 10s ease-in-out infinite; }
.scn-hercules-departs .mantle { position:absolute; bottom:20%; left:42%; width:30px; height:40px; background: linear-gradient(180deg, rgba(255,255,255,0.1) 0%, transparent 100%); border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%; clip-path: polygon(0% 100%, 50% 0%, 100% 100%); animation: hde-mantle 8s ease-in-out infinite alternate; }
.scn-hercules-departs .music-a { position:absolute; top:45%; left:30%; width:8px; height:8px; background: radial-gradient(circle, #d0a0ff 0%, transparent 70%); border-radius:50%; box-shadow: 0 0 10px 4px rgba(208,160,255,0.5); animation: hde-music 6s ease-in-out infinite; }
.scn-hercules-departs .music-b { left:60%; animation-delay: 3s; width:6px; height:6px; }
.scn-hercules-departs .glow { position:absolute; bottom:15%; left:40%; right:40%; height:30%; background: radial-gradient(ellipse at 50% 100%, rgba(208,160,255,0.2) 0%, transparent 70%); animation: hde-glow 4s ease-in-out infinite alternate; }
.scn-hercules-departs .ground { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(0deg, #0a0a12, #1a1a2e); border-radius: 30% 70% 0 0 / 50% 50% 0 0; animation: hde-ground 20s ease-in-out infinite alternate; }
@keyframes hde-sky { 0% { opacity:0.7} 50% { opacity:1} 100% { opacity:0.8} }
@keyframes hde-stars { 0% { opacity:0.6} 50% { opacity:1} 100% { opacity:0.5} }
@keyframes hde-hercules { 0% { transform: translateY(0) rotate(0deg)} 30% { transform: translateY(-4px) rotate(2deg)} 60% { transform: translateY(0) rotate(-1deg)} 100% { transform: translateY(0) rotate(0deg)} }
@keyframes hde-mantle { 0% { opacity:0.3; transform: scaleX(1)} 50% { opacity:0.6; transform: scaleX(1.2)} 100% { opacity:0.3; transform: scaleX(1)} }
@keyframes hde-music { 0% { transform: translate(0,0) scale(1)} 30% { transform: translate(10px,-10px) scale(1.5)} 60% { transform: translate(-5px,-20px) scale(1)} 100% { transform: translate(0,0) scale(0.8)} }
@keyframes hde-glow { 0% { opacity:0.3} 50% { opacity:0.7} 100% { opacity:0.4} }
@keyframes hde-ground { 0% { transform: translateY(0)} 50% { transform: translateY(-2px)} 100% { transform: translateY(0)} }

.scn-soldiers-follow-music { background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 40%, #2a2a4e 100%), radial-gradient(ellipse at 50% 30%, #3a3a5e 0%, transparent 60%); }
.scn-soldiers-follow-music .path { position:absolute; bottom:20%; left:10%; right:10%; height:10%; background: linear-gradient(0deg, #2a2a3a, #1a1a2a); border-radius: 10% 10% 0 0; animation: sfm-path 8s ease-in-out infinite alternate; }
.scn-soldiers-follow-music .soldier-f { position:absolute; bottom:22%; left:20%; width:18px; height:36px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: sfm-soldier 7s ease-in-out infinite; }
.scn-soldiers-follow-music .soldier-s { left:40%; animation-delay: 3.5s; }
.scn-soldiers-follow-music .notes-a { position:absolute; top:35%; left:50%; width:10px; height:10px; background: radial-gradient(circle, #a0c0ff 0%, transparent 80%); border-radius:50%; box-shadow: 0 0 12px 4px rgba(160,192,255,0.4); animation: sfm-notes 5s ease-in-out infinite; }
.scn-soldiers-follow-music .notes-b { left:65%; animation-delay: 2.5s; width:8px; height:8px; }
.scn-soldiers-follow-music .tree { position:absolute; bottom:20%; left:8%; width:20px; height:50px; background: linear-gradient(180deg, #1a2a1a 0%, #0a1a0a 100%); border-radius: 20% 20% 0 0 / 30% 30% 0 0; box-shadow: inset 0 0 10px rgba(0,0,0,.5); animation: sfm-tree 12s ease-in-out infinite alternate; }
.scn-soldiers-follow-music .mist { position:absolute; bottom:15%; left:0; right:0; height:20%; background: linear-gradient(0deg, rgba(255,255,255,0.05) 0%, transparent 100%); filter: blur(8px); animation: sfm-mist 15s ease-in-out infinite alternate; }
.scn-soldiers-follow-music .star { position:absolute; top:15%; left:70%; width:4px; height:4px; background: #fff; border-radius:50%; box-shadow: 0 0 6px 2px rgba(255,255,255,0.5); animation: sfm-star 9s ease-in-out infinite; }
@keyframes sfm-path { 0% { opacity:0.6} 50% { opacity:0.9} 100% { opacity:0.7} }
@keyframes sfm-soldier { 0% { transform: translateY(0) rotate(0deg)} 30% { transform: translateY(-3px) rotate(2deg)} 60% { transform: translateY(0) rotate(-1deg)} 100% { transform: translateY(0) rotate(0deg)} }
@keyframes sfm-notes { 0% { transform: translate(0,0) scale(1)} 30% { transform: translate(-10px,-15px) scale(1.5)} 60% { transform: translate(5px,-30px) scale(0.8)} 100% { transform: translate(0,0) scale(1.2)} }
@keyframes sfm-tree { 0% { transform: translateY(0) scaleY(1)} 50% { transform: translateY(-3px) scaleY(1.05)} 100% { transform: translateY(0) scaleY(1)} }
@keyframes sfm-mist { 0% { opacity:0.2} 50% { opacity:0.6} 100% { opacity:0.3} }
@keyframes sfm-star { 0% { opacity:0.5; transform: scale(1)} 50% { opacity:1; transform: scale(1.5)} 100% { opacity:0.5; transform: scale(1)} }

.scn-caesar-orders-restraint {
  background:
    linear-gradient(180deg, #87CEEB 0%, #F0E68C 70%, #DAA520 100%),
    radial-gradient(ellipse at 60% 40%, rgba(255,215,0,0.4) 0%, transparent 50%);
}
.scn-caesar-orders-restraint .sky { /* background covers sky */ }
.scn-caesar-orders-restraint .sun {
  position: absolute; top: 10%; right: 40%;
  width: 80px; height: 80px;
  background: radial-gradient(circle, #FFD700 0%, #FFA500 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(255,215,0,0.5);
  animation: cor-sun-glow 6s ease-in-out infinite alternate;
}
.scn-caesar-orders-restraint .hills {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #8FBC8F 0%, #556B2F 100%);
  border-radius: 40% 60% 0 0 / 80% 70% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.3);
  animation: cor-hills 12s ease-in-out infinite alternate;
}
.scn-caesar-orders-restraint .ship-left {
  position: absolute; bottom: 32%; left: 15%;
  width: 60px; height: 30px;
  background: linear-gradient(90deg, #8B4513 0%, #A0522D 100%);
  border-radius: 10% 10% 30% 30%;
  animation: cor-ship-bob 8s ease-in-out infinite;
}
.scn-caesar-orders-restraint .ship-right {
  position: absolute; bottom: 35%; right: 20%;
  width: 80px; height: 35px;
  background: linear-gradient(90deg, #8B4513 0%, #A0522D 100%);
  border-radius: 10% 10% 30% 30%;
  animation: cor-ship-bob 10s ease-in-out infinite 2s;
}
.scn-caesar-orders-restraint .figure-anto {
  position: absolute; bottom: 28%; left: 30%;
  width: 16px; height: 30px;
  background: linear-gradient(180deg, #191970 0%, #000080 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: cor-figure-sway 4s ease-in-out infinite;
}
.scn-caesar-orders-restraint .figure-eno {
  position: absolute; bottom: 28%; left: 35%;
  width: 16px; height: 30px;
  background: linear-gradient(180deg, #2F4F4F 0%, #1C1C1C 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: cor-figure-sway 5s ease-in-out infinite 0.5s;
}
.scn-caesar-orders-restraint .foreground-grass {
  position: absolute; bottom: 0; left: 0; right: 0; height: 10%;
  background: linear-gradient(180deg, #228B22 0%, #006400 100%);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
}
@keyframes cor-sun-glow {
  0% { transform: scale(1) translate(0,0); opacity:0.9; }
  50% { transform: scale(1.05) translate(0,-5px); opacity:1; }
  100% { transform: scale(1) translate(0,0); opacity:0.95; }
}
@keyframes cor-hills {
  0% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
  100% { transform: translateY(2px); }
}
@keyframes cor-ship-bob {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-5px) rotate(2deg); }
  100% { transform: translateY(0) rotate(-2deg); }
}
@keyframes cor-figure-sway {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(2px) rotate(3deg); }
  75% { transform: translateX(-2px) rotate(-3deg); }
  100% { transform: translateX(0) rotate(0deg); }
}

.scn-caesar-receives-letter {
  background:
    linear-gradient(180deg, #F5DEB3 0%, #DEB887 40%, #8B7355 100%),
    radial-gradient(ellipse at 70% 30%, rgba(255,215,0,0.3) 0%, transparent 70%);
}
.scn-caesar-receives-letter .back-wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(90deg, #C4A882 0%, #D2B48C 50%, #C4A882 100%);
}
.scn-caesar-receives-letter .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #8B7355 0%, #6B4226 100%);
}
.scn-caesar-receives-letter .window {
  position: absolute; top: 10%; left: 30%; width: 80px; height: 120px;
  background: linear-gradient(180deg, #87CEEB 0%, #B0E0E6 100%);
  border: 8px solid #8B4513; border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(255,255,255,0.5);
}
.scn-caesar-receives-letter .sunbeam {
  position: absolute; top: 10%; left: 30%; width: 80px; height: 200px;
  background: linear-gradient(180deg, rgba(255,255,224,0.4) 0%, transparent 100%);
  clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%);
  animation: crl-sunbeam 5s ease-in-out infinite alternate;
}
.scn-caesar-receives-letter .caesar-chair {
  position: absolute; bottom: 20%; left: 20%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #8B4513 0%, #654321 100%);
  border-radius: 8% 8% 4% 4%;
}
.scn-caesar-receives-letter .caesar-figure {
  position: absolute; bottom: 20%; left: 20%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #191970 0%, #000080 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(10px) translateY(-10px);
  animation: crl-caesar 3s ease-in-out infinite;
}
.scn-caesar-receives-letter .letter {
  position: absolute; bottom: 40%; left: 22%; width: 14px; height: 20px;
  background: #FFF8DC; border-radius: 2px;
  box-shadow: 0 0 4px rgba(0,0,0,0.3);
  animation: crl-letter 1.5s ease-in-out infinite;
}
.scn-caesar-receives-letter .agrippa-figure {
  position: absolute; bottom: 20%; right: 25%; width: 18px; height: 35px;
  background: linear-gradient(180deg, #2F4F4F 0%, #1C1C1C 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: crl-stand 4s ease-in-out infinite 1s;
}
.scn-caesar-receives-letter .mecaenas-figure {
  position: absolute; bottom: 20%; right: 15%; width: 18px; height: 35px;
  background: linear-gradient(180deg, #483C32 0%, #2F1E1E 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: crl-stand 4s ease-in-out infinite 2s;
}
@keyframes crl-sunbeam {
  0% { opacity: 0.3; transform: skewX(0deg); }
  50% { opacity: 0.8; transform: skewX(-5deg); }
  100% { opacity: 0.4; transform: skewX(2deg); }
}
@keyframes crl-letter {
  0% { transform: translate(0,0) rotate(0deg); }
  30% { transform: translate(1px,-2px) rotate(3deg); }
  60% { transform: translate(-1px,0) rotate(-2deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}
@keyframes crl-caesar {
  0% { transform: translateX(10px) translateY(-10px) rotate(0deg); }
  50% { transform: translateX(12px) translateY(-12px) rotate(2deg); }
  100% { transform: translateX(10px) translateY(-10px) rotate(0deg); }
}
@keyframes crl-stand {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}

.scn-caesar-raging-antony {
  background:
    linear-gradient(180deg, #8B4513 0%, #5C3317 30%, #2F1E1E 70%, #1C0E0E 100%),
    radial-gradient(ellipse at 50% 50%, rgba(255,69,0,0.2) 0%, transparent 70%);
}
.scn-caesar-raging-antony .back-wall {
  position: absolute; inset: 0 0 15% 0;
  background: linear-gradient(180deg, #5C3317 0%, #3E1F0D 100%);
  box-shadow: inset 0 0 30px rgba(0,0,0,0.5);
}
.scn-caesar-raging-antony .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #3E1F0D 0%, #1C0E0E 100%);
}
.scn-caesar-raging-antony .antony-figure {
  position: absolute; bottom: 15%; left: 50%; width: 50px; height: 80px;
  background: linear-gradient(180deg, #191970 0%, #000080 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  animation: cra-antony 0.8s ease-in-out infinite;
}
.scn-caesar-raging-antony .antony-arm-left {
  position: absolute; bottom: 45%; left: 35%; width: 10px; height: 40px;
  background: linear-gradient(180deg, #191970 0%, #000080 100%);
  border-radius: 50% 50% 0 0;
  transform-origin: bottom center;
  animation: cra-arm-l 1.2s ease-in-out infinite;
}
.scn-caesar-raging-antony .antony-arm-right {
  position: absolute; bottom: 45%; right: 35%; width: 10px; height: 40px;
  background: linear-gradient(180deg, #191970 0%, #000080 100%);
  border-radius: 50% 50% 0 0;
  transform-origin: bottom center;
  animation: cra-arm-r 1.4s ease-in-out infinite 0.3s;
}
.scn-caesar-raging-antony .table {
  position: absolute; bottom: 15%; left: 30%; width: 60px; height: 20px;
  background: linear-gradient(180deg, #8B4513 0%, #654321 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.scn-caesar-raging-antony .shadow {
  position: absolute; bottom: 15%; left: 30%; width: 100px; height: 30px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 100%);
  border-radius: 50%;
  animation: cra-shadow 2s ease-in-out infinite alternate;
}
.scn-caesar-raging-antony .soldier-left {
  position: absolute; bottom: 15%; left: 15%; width: 12px; height: 25px;
  background: linear-gradient(180deg, #5C3317 0%, #3E1F0D 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: cra-stand 3s ease-in-out infinite;
}
.scn-caesar-raging-antony .soldier-right {
  position: absolute; bottom: 15%; right: 15%; width: 12px; height: 25px;
  background: linear-gradient(180deg, #5C3317 0%, #3E1F0D 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: cra-stand 3s ease-in-out infinite 1.5s;
}
@keyframes cra-antony {
  0% { transform: translateX(-50%) translateY(0) rotate(0deg); }
  25% { transform: translateX(-50%) translateY(-3px) rotate(3deg); }
  75% { transform: translateX(-50%) translateY(1px) rotate(-2deg); }
  100% { transform: translateX(-50%) translateY(0) rotate(0deg); }
}
@keyframes cra-arm-l {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(-20deg); }
  100% { transform: rotate(0deg); }
}
@keyframes cra-arm-r {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(30deg); }
  100% { transform: rotate(0deg); }
}
@keyframes cra-shadow {
  0% { transform: scale(1); opacity: 0.6; }
  100% { transform: scale(1.2); opacity: 1; }
}
@keyframes cra-stand {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}

.scn-caesar-poor-antony {
  background:
    linear-gradient(180deg, #8B7355 0%, #5C4033 50%, #3E2723 100%),
    radial-gradient(ellipse at 50% 30%, rgba(255,215,0,0.2) 0%, transparent 60%);
}
.scn-caesar-poor-antony .tent-back {
  position: absolute; inset: 0 0 10% 0;
  background: linear-gradient(180deg, #6B4226 0%, #4A2F1A 100%);
  border-radius: 30% 30% 0 0 / 50% 50% 0 0;
  box-shadow: inset 0 0 50px rgba(0,0,0,0.4);
}
.scn-caesar-poor-antony .tent-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 10%;
  background: linear-gradient(180deg, #4A2F1A 0%, #2F1E1E 100%);
}
.scn-caesar-poor-antony .tent-pole-left {
  position: absolute; top: 0; left: 20%; width: 6px; height: 90%;
  background: linear-gradient(180deg, #8B4513 0%, #654321 100%);
  border-radius: 20%;
  box-shadow: 0 0 4px rgba(0,0,0,0.5);
}
.scn-caesar-poor-antony .tent-pole-right {
  position: absolute; top: 0; right: 20%; width: 6px; height: 90%;
  background: linear-gradient(180deg, #8B4513 0%, #654321 100%);
  border-radius: 20%;
  box-shadow: 0 0 4px rgba(0,0,0,0.5);
}
.scn-caesar-poor-antony .antony-figure {
  position: absolute; bottom: 10%; left: 25%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #191970 0%, #000080 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: cpa-antony 4s ease-in-out infinite;
}
.scn-caesar-poor-antony .scarus-figure {
  position: absolute; bottom: 10%; right: 25%; width: 18px; height: 35px;
  background: linear-gradient(180deg, #2F4F4F 0%, #1C1C1C 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: cpa-scarus 4.5s ease-in-out infinite 1s;
}
.scn-caesar-poor-antony .map {
  position: absolute; bottom: 20%; left: 40%; width: 80px; height: 60px;
  background: linear-gradient(135deg, #D2B48C 0%, #C4A882 100%);
  border: 2px solid #8B4513;
  border-radius: 4px;
  transform: rotate(5deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: cpa-map 6s ease-in-out infinite;
}
.scn-caesar-poor-antony .lamp {
  position: absolute; top: 20%; left: 50%; width: 20px; height: 30px;
  background: radial-gradient(circle, #FFD700 0%, #8B4500 80%);
  border-radius: 50% 50% 0 0;
  box-shadow: 0 0 30px 10px rgba(255,215,0,0.6);
  animation: cpa-lamp 2s ease-in-out infinite alternate;
}
@keyframes cpa-antony {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  30% { transform: translateX(3px) translateY(-2px) rotate(2deg); }
  70% { transform: translateX(-2px) translateY(1px) rotate(-1deg); }
  100% { transform: translateX(0) translateY(0) rotate(0deg); }
}
@keyframes cpa-scarus {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  40% { transform: translateX(-3px) translateY(-1px) rotate(-2deg); }
  80% { transform: translateX(2px) translateY(1px) rotate(1deg); }
  100% { transform: translateX(0) translateY(0) rotate(0deg); }
}
@keyframes cpa-map {
  0% { transform: rotate(5deg) scale(1); }
  50% { transform: rotate(8deg) scale(1.02); }
  100% { transform: rotate(5deg) scale(1); }
}
@keyframes cpa-lamp {
  0% { opacity: 0.8; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.05); }
  100% { opacity: 0.9; transform: scale(0.95); }
}

.scn-antony-defies-rome { background: linear-gradient(180deg, #e6c882 0%, #c8a962 30%, #8b6f3e 60%, #5a4528 100%), radial-gradient(ellipse at 30% 60%, #f5e0a0 0%, transparent 50%); }
.scn-antony-defies-rome .backwall { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #d4b87a 0%, #9e8048 100%); }
.scn-antony-defies-rome .window { position:absolute; top:10%; left:40%; width:60px; height:80px; background: radial-gradient(circle, #fff5d6 0%, #e6c882 50%, transparent 70%); border:4px solid #6b5a3a; box-shadow: 0 0 30px 10px #f5e0a0; animation: ar-window 6s ease-in-out infinite alternate; }
.scn-antony-defies-rome .shadow-arch { position:absolute; top:5%; left:30%; width:200px; height:150px; border:6px solid #4a3a1a; border-top:none; border-radius:0 0 50% 50%; background:none; animation: ar-arch 12s ease-in-out infinite; }
.scn-antony-defies-rome .figure { position:absolute; bottom:32%; left:45%; width:30px; height:80px; background: linear-gradient(180deg, #1a1520 0%, #0a0810 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: ar-figure 4s ease-in-out infinite; }
.scn-antony-defies-rome .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: repeating-linear-gradient(90deg, #4a3a28 0px, #4a3a28 2px, #5a4a38 2px, #5a4a38 4px); box-shadow: inset 0 10px 20px rgba(0,0,0,0.3); }
.scn-antony-defies-rome .dust { position:absolute; top:20%; left:50%; width:0; height:0; box-shadow: 10px 20px 4px #f0e0b0, 30px 50px 6px #f0e0b0, 60px 80px 3px #f0e0b0; animation: ar-dust 12s linear infinite; }
.scn-antony-defies-rome .lightbeam { position:absolute; top:0; left:35%; width:120px; height:100%; background: linear-gradient(180deg, rgba(245,224,160,0.15) 0%, rgba(245,224,160,0.05) 100%); clip-path: polygon(0% 0%, 100% 0%, 70% 100%, 30% 100%); animation: ar-beam 10s ease-in-out infinite alternate; }
@keyframes ar-window { 0% { opacity:0.7; box-shadow: 0 0 20px 5px #f5e0a0; } 50% { opacity:1; box-shadow: 0 0 40px 15px #f5e0a0; } 100% { opacity:0.8; box-shadow: 0 0 30px 10px #f5e0a0; } }
@keyframes ar-arch { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.02); } 100% { transform: scaleX(1); } }
@keyframes ar-figure { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(3px) rotate(2deg) scaleY(1.01); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes ar-dust { 0% { box-shadow: 10px 20px 4px #f0e0b0, 30px 50px 6px #f0e0b0, 60px 80px 3px #f0e0b0; opacity:0.6; } 50% { box-shadow: 15px 25px 5px #f0e0b0, 35px 55px 7px #f0e0b0, 65px 85px 4px #f0e0b0; opacity:1; } 100% { box-shadow: 10px 20px 4px #f0e0b0, 30px 50px 6px #f0e0b0, 60px 80px 3px #f0e0b0; opacity:0.6; } }
@keyframes ar-beam { 0% { opacity:0.2; transform: skewX(-5deg); } 50% { opacity:0.4; transform: skewX(5deg); } 100% { opacity:0.2; transform: skewX(-5deg); } }

.scn-cleopatra-mocks-troth { background: linear-gradient(180deg, #f5e6c8 0%, #e6d4a8 30%, #c8b080 60%, #a89060 100%), radial-gradient(ellipse at 50% 20%, #fff5e0 0%, transparent 60%); }
.scn-cleopatra-mocks-troth .backdrop { position:absolute; inset:0 0 25% 0; background: linear-gradient(135deg, #e6d4a8 0%, #d4c098 50%, #c8b080 100%); border-radius:0 0 20% 20%; }
.scn-cleopatra-mocks-troth .couch { position:absolute; bottom:25%; left:15%; width:150px; height:40px; background: linear-gradient(180deg, #806040 0%, #604020 100%); border-radius: 20% 20% 30% 30%; box-shadow: 0 8px 12px rgba(0,0,0,0.3); }
.scn-cleopatra-mocks-troth .figure { position:absolute; bottom:28%; left:25%; width:35px; height:70px; background: linear-gradient(180deg, #a06030 0%, #804020 100%); border-radius: 50% 50% 35% 35% / 60% 60% 35% 35%; animation: cmt-figure 3s ease-in-out infinite alternate; }
.scn-cleopatra-mocks-troth .fan { position:absolute; bottom:35%; left:30%; width:40px; height:20px; background: radial-gradient(ellipse at 0% 50%, #c8a060 0%, transparent 70%); transform-origin: right center; animation: cmt-fan 1s ease-in-out infinite alternate; }
.scn-cleopatra-mocks-troth .crown { position:absolute; top:30%; left:25%; width:30px; height:10px; background: linear-gradient(180deg, #c8a060 0%, #a08040 100%); border-radius: 50% 50% 0 0; transform-origin: bottom center; animation: cmt-crown 2s ease-in-out infinite; }
.scn-cleopatra-mocks-troth .pillow { position:absolute; bottom:30%; left:35%; width:40px; height:20px; background: linear-gradient(135deg, #d4b880 0%, #b89860 100%); border-radius: 50%; box-shadow: 0 4px 8px rgba(0,0,0,0.2); animation: cmt-pillow 4s ease-in-out infinite; }
.scn-cleopatra-mocks-troth .sparkles { position:absolute; top:10%; left:10%; width:0; height:0; box-shadow: 20px 30px 2px #ffd700, 50px 60px 3px #ffd700, 80px 20px 2px #ffd700; animation: cmt-sparkle 1.5s linear infinite; }
@keyframes cmt-figure { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(4px) rotate(2deg) scaleY(1.02); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes cmt-fan { 0% { transform: rotate(0deg); } 50% { transform: rotate(30deg); } 100% { transform: rotate(0deg); } }
@keyframes cmt-crown { 0% { transform: rotate(-5deg); } 50% { transform: rotate(8deg) translateY(-2px); } 100% { transform: rotate(-5deg); } }
@keyframes cmt-pillow { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-3px) scaleX(1.05); } 100% { transform: translateY(0) scaleX(1); } }
@keyframes cmt-sparkle { 0% { opacity:0.3; } 50% { opacity:1; } 100% { opacity:0.3; } }

.scn-antony-proposes-revelry { background: linear-gradient(180deg, #3a2a1a 0%, #4a3a2a 30%, #6a5040 60%, #8a6a50 100%), radial-gradient(ellipse at 50% 60%, #c08850 0%, transparent 70%); }
.scn-antony-proposes-revelry .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%); box-shadow: inset 0 0 50px rgba(0,0,0,0.5); }
.scn-antony-proposes-revelry .torch-left { position:absolute; bottom:40%; left:20%; width:10px; height:60px; background: linear-gradient(180deg, #4a3a1a 0%, #6a4a2a 100%); border-radius: 2px; transform-origin: bottom center; animation: apr-torch 2s ease-in-out infinite alternate; }
.scn-antony-proposes-revelry .torch-right { position:absolute; bottom:40%; right:20%; width:10px; height:60px; background: linear-gradient(180deg, #4a3a1a 0%, #6a4a2a 100%); border-radius: 2px; transform-origin: bottom center; animation: apr-torch 2.5s ease-in-out infinite alternate; animation-delay: 0.5s; }
.scn-antony-proposes-revelry .table { position:absolute; bottom:25%; left:30%; right:30%; height:20px; background: linear-gradient(180deg, #6a5030 0%, #4a3820 100%); border-radius: 5px; box-shadow: 0 8px 12px rgba(0,0,0,0.4); }
.scn-antony-proposes-revelry .goblet { position:absolute; bottom:28%; left:45%; width:16px; height:24px; background: linear-gradient(180deg, #c8a060 0%, #a08040 100%); border-radius: 4px; animation: apr-goblet 4s ease-in-out infinite; }
.scn-antony-proposes-revelry .figure-left { position:absolute; bottom:25%; left:20%; width:30px; height:70px; background: linear-gradient(180deg, #2a1a10 0%, #1a0a00 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: apr-left 5s ease-in-out infinite; }
.scn-antony-proposes-revelry .figure-right { position:absolute; bottom:25%; right:20%; width:30px; height:65px; background: linear-gradient(180deg, #2a1a10 0%, #1a0a00 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: apr-right 4s ease-in-out infinite; }
.scn-antony-proposes-revelry .wine-stain { position:absolute; bottom:25%; left:42%; width:20px; height:10px; background: radial-gradient(ellipse, #6a1a1a 0%, transparent 70%); border-radius: 50%; animation: apr-stain 10s ease-in-out infinite; }
@keyframes apr-torch { 0% { transform: scaleY(1) rotate(-2deg); opacity:0.8; } 50% { transform: scaleY(1.1) rotate(2deg); opacity:1; } 100% { transform: scaleY(1) rotate(-2deg); opacity:0.8; } }
@keyframes apr-goblet { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(3deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes apr-left { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(2px) rotate(1deg) scaleY(1.01); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes apr-right { 0% { transform: translateX(0) rotate(1deg); } 50% { transform: translateX(-2px) rotate(-1deg) scaleY(1.01); } 100% { transform: translateX(0) rotate(1deg); } }
@keyframes apr-stain { 0% { opacity:0.3; transform: scale(1); } 50% { opacity:0.5; transform: scale(1.2); } 100% { opacity:0.3; transform: scale(1); } }

.scn-philo-remarks-departure { background: linear-gradient(180deg, #d4c8b0 0%, #c0b098 30%, #a89078 60%, #8a7060 100%), radial-gradient(ellipse at 40% 50%, #f0e0c8 0%, transparent 60%); }
.scn-philo-remarks-departure .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #c0b098 0%, #a89078 100%); }
.scn-philo-remarks-departure .window { position:absolute; top:10%; left:30%; width:60px; height:80px; background: radial-gradient(circle, #f5f0e0 0%, #e0d8c0 50%, transparent 70%); border:4px solid #6a5a4a; box-shadow: 0 0 20px 10px rgba(240,224,200,0.5); animation: prd-window 8s ease-in-out infinite alternate; }
.scn-philo-remarks-departure .figure { position:absolute; bottom:30%; left:40%; width:30px; height:70px; background: linear-gradient(180deg, #2a2020 0%, #1a1010 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; animation: prd-figure 6s ease-in-out infinite; }
.scn-philo-remarks-departure .cloak { position:absolute; bottom:30%; left:45%; width:20px; height:50px; background: linear-gradient(180deg, #4a3a3a 0%, #2a2020 100%); border-radius: 10% 10% 40% 40%; transform-origin: top center; animation: prd-cloak 7s ease-in-out infinite; }
.scn-philo-remarks-departure .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: repeating-linear-gradient(90deg, #6a5a4a 0px, #6a5a4a 2px, #7a6a5a 2px, #7a6a5a 4px); box-shadow: inset 0 5px 10px rgba(0,0,0,0.2); }
.scn-philo-remarks-departure .shadow { position:absolute; bottom:10%; left:35%; width:80px; height:20px; background: radial-gradient(ellipse, rgba(0,0,0,0.2) 0%, transparent 70%); animation: prd-shadow 10s ease-in-out infinite alternate; }
.scn-philo-remarks-departure .lightray { position:absolute; top:0; left:25%; width:80px; height:100%; background: linear-gradient(180deg, rgba(240,224,200,0.1) 0%, rgba(240,224,200,0.05) 100%); clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%); animation: prd-ray 15s ease-in-out infinite alternate; }
@keyframes prd-window { 0% { opacity:0.7; box-shadow: 0 0 15px 5px rgba(240,224,200,0.4); } 50% { opacity:1; box-shadow: 0 0 30px 10px rgba(240,224,200,0.6); } 100% { opacity:0.8; box-shadow: 0 0 20px 8px rgba(240,224,200,0.5); } }
@keyframes prd-figure { 0% { transform: translateY(0) rotate(-0.5deg); } 50% { transform: translateY(-2px) rotate(0.5deg) scaleY(1.005); } 100% { transform: translateY(0) rotate(-0.5deg); } }
@keyframes prd-cloak { 0% { transform: rotate(0deg); } 50% { transform: rotate(3deg) scaleX(1.02); } 100% { transform: rotate(0deg); } }
@keyframes prd-shadow { 0% { opacity:0.3; transform: scaleX(1); } 50% { opacity:0.5; transform: scaleX(1.1); } 100% { opacity:0.3; transform: scaleX(1); } }
@keyframes prd-ray { 0% { opacity:0.2; transform: skewX(-3deg); } 50% { opacity:0.4; transform: skewX(3deg); } 100% { opacity:0.2; transform: skewX(-3deg); } }

.scn-caesar-takes-toryne { background: linear-gradient(180deg, #c8a86b 0%, #7a5a3a 100%), radial-gradient(ellipse at 50% 100%, #5a3a2a, transparent); }
.scn-caesar-takes-toryne .tent { position:absolute; top:0; bottom:70%; left:0; right:0; background:linear-gradient(180deg, #a07a4a, #604020); clip-path:polygon(0 100%, 50% 0, 100% 100%); border-bottom:2px solid #3a2a1a; }
.scn-caesar-takes-toryne .table { position:absolute; bottom:10%; left:20%; right:20%; height:15%; background:linear-gradient(180deg, #5a3a2a, #3a2010); border-radius:4px; box-shadow:0 4px 8px rgba(0,0,0,.5); }
.scn-caesar-takes-toryne .map { position:absolute; bottom:13%; left:25%; right:25%; height:8%; background:linear-gradient(135deg, #8a6a3a 0%, #a08a5a 50%, #7a5a2a 100%); border-radius:2px; box-shadow:inset 0 0 8px rgba(0,0,0,.3); animation:si-ct-map 6s ease-in-out infinite alternate; }
.scn-caesar-takes-toryne .figure-caesar { position:absolute; bottom:12%; left:18%; width:22px; height:44px; background:linear-gradient(180deg, #2a1a1a, #1a0a0a); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation:si-ct-figure 8s ease-in-out infinite; }
.scn-caesar-takes-toryne .figure-soldier { position:absolute; bottom:12%; right:18%; width:20px; height:40px; background:linear-gradient(180deg, #3a2a2a, #1a0a0a); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation:si-ct-figure-s 8s ease-in-out infinite alternate; }
.scn-caesar-takes-toryne .lantern { position:absolute; top:20%; left:50%; width:12px; height:16px; transform:translateX(-50%); background:radial-gradient(circle, #f0c060, #b08030); border-radius:30%; box-shadow:0 0 20px 6px #f0c060, 0 0 40px 12px rgba(240,192,96,.4); animation:si-ct-lantern 4s ease-in-out infinite alternate; }
.scn-caesar-takes-toryne .glow { position:absolute; inset:0; background:radial-gradient(circle at 50% 20%, rgba(240,200,128,.15) 0%, transparent 60%); pointer-events:none; animation:si-ct-glow 6s ease-in-out infinite alternate; }
@keyframes si-ct-map { 0% { transform:scale(1) rotate(0deg); } 50% { transform:scale(1.02) rotate(1deg); } 100% { transform:scale(0.98) rotate(-1deg); } }
@keyframes si-ct-figure { 0% { transform:translateX(0) rotate(0deg); } 50% { transform:translateX(2px) rotate(2deg); } 100% { transform:translateX(-2px) rotate(-2deg); } }
@keyframes si-ct-figure-s { 0% { transform:translateX(0) rotate(0deg); } 50% { transform:translateX(-3px) rotate(-3deg); } 100% { transform:translateX(3px) rotate(3deg); } }
@keyframes si-ct-lantern { 0% { box-shadow:0 0 20px 6px #f0c060, 0 0 40px 12px rgba(240,192,96,.4); } 50% { box-shadow:0 0 30px 10px #f0c060, 0 0 60px 20px rgba(240,192,96,.6); } 100% { box-shadow:0 0 15px 4px #f0c060, 0 0 30px 8px rgba(240,192,96,.3); } }
@keyframes si-ct-glow { 0% { opacity:.8; } 50% { opacity:1; } 100% { opacity:.7; } }

.scn-soldier-advises-land { background: linear-gradient(180deg, #8a6a3a 0%, #4a3020 100%), radial-gradient(ellipse at 50% 100%, #6a4a2a, transparent); }
.scn-soldier-advises-land .bg-tent { position:absolute; inset:0; background:linear-gradient(180deg, #7a5a2a 0%, #4a3020 100%); clip-path:polygon(0 0, 100% 0, 100% 100%, 0 80%); }
.scn-soldier-advises-land .soldier { position:absolute; bottom:5%; left:10%; width:30px; height:60px; background:linear-gradient(180deg, #2a1a1a, #1a0a0a); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform:rotate(-5deg); transform-origin:bottom; animation:si-sa-soldier 4s ease-in-out infinite alternate; }
.scn-soldier-advises-land .commander { position:absolute; bottom:5%; right:20%; width:25px; height:50px; background:linear-gradient(180deg, #3a2a1a, #1a0a0a); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform:rotate(2deg); transform-origin:bottom; animation:si-sa-commander 5s ease-in-out infinite alternate; }
.scn-soldier-advises-land .sword { position:absolute; bottom:20%; left:22%; width:4px; height:20px; background:#707070; border-radius:2px; transform:rotate(30deg); box-shadow:0 0 4px 2px rgba(200,200,200,.3); animation:si-sa-sword 3s ease-in-out infinite; }
.scn-soldier-advises-land .light-ray { position:absolute; top:0; bottom:0; left:50%; width:10%; background:linear-gradient(90deg, transparent 0%, rgba(255,220,180,.2) 50%, transparent 100%); animation:si-sa-light 8s ease-in-out infinite alternate; }
.scn-soldier-advises-land .dust { position:absolute; bottom:10%; left:10%; width:80%; height:5%; background:radial-gradient(ellipse at 30% 50%, rgba(100,80,60,.3), transparent); animation:si-sa-dust 12s linear infinite; }
.scn-soldier-advises-land .shadow { position:absolute; bottom:0; left:0; right:0; height:20%; background:linear-gradient(180deg, transparent, rgba(0,0,0,.4)); animation:si-sa-shadow 6s ease-in-out infinite alternate; }
@keyframes si-sa-soldier { 0% { transform:rotate(-5deg) translateX(0); } 50% { transform:rotate(-3deg) translateX(4px); } 100% { transform:rotate(-5deg) translateX(0); } }
@keyframes si-sa-commander { 0% { transform:rotate(2deg) translateY(0); } 50% { transform:rotate(4deg) translateY(-2px); } 100% { transform:rotate(2deg) translateY(0); } }
@keyframes si-sa-sword { 0% { transform:rotate(30deg) scale(1); } 50% { transform:rotate(35deg) scale(1.05); } 100% { transform:rotate(30deg) scale(1); } }
@keyframes si-sa-light { 0% { opacity:.3; left:45%; } 50% { opacity:.7; left:55%; } 100% { opacity:.3; left:45%; } }
@keyframes si-sa-dust { 0% { transform:translateX(0) scaleY(1); } 50% { transform:translateX(20px) scaleY(1.2); } 100% { transform:translateX(40px) scaleY(1); } }
@keyframes si-sa-shadow { 0% { opacity:.5; } 50% { opacity:.8; } 100% { opacity:.5; } }

.scn-canidius-holds-land { background: linear-gradient(180deg, #9a7a5a 0%, #6a4a3a 100%), radial-gradient(ellipse at 50% 100%, #4a3020, transparent); }
.scn-canidius-holds-land .tent-left { position:absolute; left:0; top:0; bottom:0; width:15%; background:linear-gradient(90deg, #4a2a1a, #7a5a3a); clip-path:polygon(0 0, 100% 0, 70% 100%, 0 100%); }
.scn-canidius-holds-land .tent-right { position:absolute; right:0; top:0; bottom:0; width:15%; background:linear-gradient(90deg, #7a5a3a, #4a2a1a); clip-path:polygon(30% 0, 100% 0, 100% 100%, 0 100%); }
.scn-canidius-holds-land .sky { position:absolute; top:0; bottom:40%; left:15%; right:15%; background:linear-gradient(180deg, #b0c8e0 0%, #8aa8c0 100%); animation:si-ch-sky 20s linear infinite alternate; }
.scn-canidius-holds-land .hills { position:absolute; bottom:20%; left:15%; right:15%; height:20%; background:linear-gradient(180deg, #5a7a4a, #3a5a2a); border-radius:40% 60% 0 0; animation:si-ch-hills 25s ease-in-out infinite; }
.scn-canidius-holds-land .legions { position:absolute; bottom:20%; left:20%; right:20%; height:3%; background:repeating-linear-gradient(90deg, #3a2a1a 0px, #3a2a1a 5px, transparent 5px, transparent 8px); animation:si-ch-legions 30s linear infinite; }
.scn-canidius-holds-land .table { position:absolute; bottom:5%; left:25%; right:25%; height:12%; background:linear-gradient(180deg, #5a3a2a, #3a2010); border-radius:4px; box-shadow:0 4px 12px rgba(0,0,0,.4); }
.scn-canidius-holds-land .canidius { position:absolute; bottom:5%; left:45%; width:18px; height:36px; background:linear-gradient(180deg, #2a1a1a, #1a0a0a); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation:si-ch-canidius 10s ease-in-out infinite; }
@keyframes si-ch-sky { 0% { opacity:.7; } 50% { opacity:1; } 100% { opacity:.7; } }
@keyframes si-ch-hills { 0% { transform:translateY(0); } 50% { transform:translateY(-4px); } 100% { transform:translateY(0); } }
@keyframes si-ch-legions { 0% { background-position:0 0; } 100% { background-position:-40px 0; } }
@keyframes si-ch-canidius { 0% { transform:translateY(0) rotate(0deg); } 50% { transform:translateY(-3px) rotate(2deg); } 100% { transform:translateY(0) rotate(0deg); } }

.scn-call-to-canidius { background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%), radial-gradient(ellipse at 50% 80%, #4a3020, transparent); }
.scn-call-to-canidius .table { position:absolute; bottom:10%; left:10%; right:10%; height:20%; background:linear-gradient(180deg, #5a3a2a, #2a1a0a); border-radius:4px; box-shadow:0 4px 12px rgba(0,0,0,.5); }
.scn-call-to-canidius .map { position:absolute; bottom:13%; left:15%; right:15%; height:14%; background:linear-gradient(135deg, #8a6a3a 0%, #a08a5a 50%, #7a5a2a 100%); border-radius:2px; box-shadow:inset 0 0 8px rgba(0,0,0,.3); animation:si-cc-map 6s ease-in-out infinite alternate; }
.scn-call-to-canidius .hand-left { position:absolute; bottom:15%; left:25%; width:15px; height:20px; background:#3a2a1a; border-radius:50% 20% 40% 50% / 40% 30% 30% 40%; transform:rotate(15deg); animation:si-cc-hand-l 4s ease-in-out infinite alternate; }
.scn-call-to-canidius .hand-right { position:absolute; bottom:15%; right:25%; width:15px; height:20px; background:#3a2a1a; border-radius:20% 50% 50% 40% / 30% 40% 40% 30%; transform:rotate(-15deg); animation:si-cc-hand-r 4s ease-in-out infinite alternate; }
.scn-call-to-canidius .token { position:absolute; bottom:20%; left:45%; width:8px; height:8px; background:#c8a040; border-radius:50%; box-shadow:0 0 6px 2px #c8a040; animation:si-cc-token 5s ease-in-out infinite; }
.scn-call-to-canidius .lamp { position:absolute; top:20%; left:50%; width:12px; height:16px; transform:translateX(-50%); background:radial-gradient(circle, #f0c060 0%, #b08030 100%); border-radius:30%; box-shadow:0 0 30px 8px #f0c060, 0 0 60px 16px rgba(240,192,96,.3); animation:si-cc-lamp 3s ease-in-out infinite alternate; }
.scn-call-to-canidius .shadow { position:absolute; inset:0; background:radial-gradient(ellipse at 50% 80%, rgba(0,0,0,.3) 0%, transparent 70%); pointer-events:none; animation:si-cc-shadow 7s ease-in-out infinite alternate; }
@keyframes si-cc-map { 0% { transform:scale(1) rotate(0deg); } 50% { transform:scale(1.02) rotate(1deg); } 100% { transform:scale(0.98) rotate(-1deg); } }
@keyframes si-cc-hand-l { 0% { transform:rotate(15deg) scale(1); } 50% { transform:rotate(20deg) scale(1.05); } 100% { transform:rotate(15deg) scale(1); } }
@keyframes si-cc-hand-r { 0% { transform:rotate(-15deg) scale(1); } 50% { transform:rotate(-20deg) scale(1.05); } 100% { transform:rotate(-15deg) scale(1); } }
@keyframes si-cc-token { 0% { transform:translateY(0) scale(1); } 50% { transform:translateY(-3px) scale(1.1); } 100% { transform:translateY(0) scale(1); } }
@keyframes si-cc-lamp { 0% { box-shadow:0 0 30px 8px #f0c060, 0 0 60px 16px rgba(240,192,96,.3); } 50% { box-shadow:0 0 40px 12px #f0c060, 0 0 80px 24px rgba(240,192,96,.5); } 100% { box-shadow:0 0 25px 6px #f0c060, 0 0 50px 12px rgba(240,192,96,.3); } }
@keyframes si-cc-shadow { 0% { opacity:.5; } 50% { opacity:.8; } 100% { opacity:.5; } }

.scn-cleopatra-asks-for-antony { background: linear-gradient(180deg, #f5e6d3 0%, #e8d5c4 40%, #d4b896 100%), radial-gradient(ellipse at 50% 0%, #ffeedd 0%, transparent 60%); }
.scn-cleopatra-asks-for-antony .bg-warm { position:absolute; inset:0; background: linear-gradient(180deg, #fdf5ed 0%, #e8d5c4 50%, #c9b19c 100%); }
.scn-cleopatra-asks-for-antony .pillar-left { position:absolute; left:5%; top:0; bottom:0; width:12%; background: linear-gradient(90deg, #d4b896 0%, #eee5dd 30%, #d4b896 70%); border-right: 2px solid rgba(0,0,0,0.1); box-shadow: 4px 0 15px rgba(0,0,0,0.15); animation: cleo-pillar 8s ease-in-out infinite alternate; }
.scn-cleopatra-asks-for-antony .pillar-right { position:absolute; right:5%; top:0; bottom:0; width:12%; background: linear-gradient(90deg, #d4b896 0%, #eee5dd 30%, #d4b896 70%); border-left: 2px solid rgba(0,0,0,0.1); box-shadow: -4px 0 15px rgba(0,0,0,0.15); animation: cleo-pillar 8s ease-in-out infinite alternate-reverse; }
.scn-cleopatra-asks-for-antony .window-arch { position:absolute; top:5%; left:38%; right:38%; bottom:45%; background: radial-gradient(ellipse at 50% 100%, #b0d0e8 0%, #7ba3c9 60%, #4a7399 100%); border-radius: 50% 50% 0 0 / 100% 100% 0 0; box-shadow: inset 0 0 40px rgba(255,255,255,0.3), 0 10px 30px rgba(0,0,0,0.2); border: 6px solid #a08870; animation: cleo-sky 15s ease-in-out infinite alternate; }
.scn-cleopatra-asks-for-antony .floor-checker { position:absolute; bottom:0; left:0; right:0; height:45%; background: repeating-conic-gradient(#c9b19c 0% 25%, #b89f88 0% 50%) 0 0 / 40px 40px; transform: perspective(600px) rotateX(60deg); transform-origin: bottom center; box-shadow: inset 0 40px 60px -20px rgba(0,0,0,0.4); }
.scn-cleopatra-asks-for-antony .queen-figure { position:absolute; bottom:35%; left:42%; width:16%; height:40%; background: linear-gradient(180deg, #702243 0%, #3a101e 60%, #1a050a 100%), radial-gradient(ellipse at 50% 20%, #a0335a 0%, transparent 50%); border-radius: 50% 50% 40% 40% / 80% 80% 40% 40%; box-shadow: -10px 0 20px rgba(0,0,0,0.3); animation: cleo-queen 6s ease-in-out infinite alternate; }
.scn-cleopatra-asks-for-antony .queen-figure::after { content:''; position:absolute; top:5%; left:50%; width:40%; height:15%; background: #ffd700; border-radius: 50% 50% 0 0; transform: translateX(-50%); box-shadow: 0 0 20px #ffd700; }
.scn-cleopatra-asks-for-antony .servant-left { position:absolute; bottom:30%; left:18%; width:10%; height:30%; background: linear-gradient(180deg, #8c6b53 0%, #4a3525 100%); border-radius: 40% 40% 30% 30% / 70% 70% 40% 40%; transform: rotate(10deg); transform-origin: bottom center; animation: cleo-bow 5s ease-in-out infinite alternate; }
.scn-cleopatra-asks-for-antony .servant-right { position:absolute; bottom:30%; right:18%; width:10%; height:30%; background: linear-gradient(180deg, #8c6b53 0%, #4a3525 100%); border-radius: 40% 40% 30% 30% / 70% 70% 40% 40%; transform: rotate(-10deg); transform-origin: bottom center; animation: cleo-bow 5s ease-in-out infinite alternate-reverse; }
.scn-cleopatra-asks-for-antony .dust-motes { position:absolute; top:0; left:0; right:0; bottom:0; background: radial-gradient(circle at 20% 30%, rgba(255,230,180,0.2) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(255,230,180,0.15) 0%, transparent 50%); animation: cleo-dust 20s linear infinite; }
@keyframes cleo-pillar { 0% { opacity: 0.8; filter: brightness(0.9); } 50% { opacity: 1; filter: brightness(1.1); } 100% { opacity: 0.85; filter: brightness(0.95); } }
@keyframes cleo-sky { 0% { background-position: 0% 0%; } 50% { background-position: 50% 100%; } 100% { background-position: 100% 0%; } }
@keyframes cleo-queen { 0% { transform: translateY(0px) rotate(-1deg); } 50% { transform: translateY(-3px) rotate(0deg); } 100% { transform: translateY(0px) rotate(1deg); } }
@keyframes cleo-bow { 0% { transform: rotate(10deg) scaleY(1); } 50% { transform: rotate(5deg) scaleY(1.02); } 100% { transform: rotate(12deg) scaleY(0.98); } }
@keyframes cleo-dust { 0% { transform: translateY(0) scale(1); opacity: 0.3; } 50% { transform: translateY(-20px) scale(1.1); opacity: 0.6; } 100% { transform: translateY(0) scale(1); opacity: 0.3; } }

.scn-messenger-fulvia-war { background: linear-gradient(180deg, #3a4a5a 0%, #2a3a4a 50%, #1a2a3a 100%), radial-gradient(ellipse at 50% 0%, #5a7a9a 0%, transparent 70%); }
.scn-messenger-fulvia-war .bg-stone { position:absolute; inset:0; background: linear-gradient(135deg, #4a5a6a 0%, #3a4a5a 50%, #2a3a4a 100%); box-shadow: inset 0 0 100px rgba(0,0,0,0.3); }
.scn-messenger-fulvia-war .table-war { position:absolute; bottom:15%; left:10%; right:10%; height:25%; background: linear-gradient(180deg, #5c3d2e 0%, #3a2518 100%); border-radius: 10% 10% 0 0; box-shadow: 0 -10px 30px rgba(0,0,0,0.5), inset 0 10px 20px rgba(255,255,255,0.1); transform: perspective(400px) rotateX(40deg); transform-origin: bottom center; }
.scn-messenger-fulvia-war .scroll-1 { position:absolute; bottom:30%; left:20%; width:15%; height:8%; background: linear-gradient(90deg, #e8d5b0 0%, #fdf5ed 50%, #d4b896 100%); border-radius: 20% 20% 20% 20% / 50% 50% 50% 50%; box-shadow: 0 4px 8px rgba(0,0,0,0.3); animation: mes-scroll 12s ease-in-out infinite alternate; }
.scn-messenger-fulvia-war .scroll-2 { position:absolute; bottom:32%; right:25%; width:20%; height:6%; background: linear-gradient(90deg, #d4b896 0%, #fdf5ed 50%, #e8d5b0 100%); border-radius: 20% 20% 20% 20% / 50% 50% 50% 50%; box-shadow: 0 4px 8px rgba(0,0,0,0.3); transform: rotate(-15deg); animation: mes-scroll 15s ease-in-out infinite alternate-reverse; }
.scn-messenger-fulvia-war .lamp-glow { position:absolute; top:20%; left:45%; right:45%; bottom:50%; background: radial-gradient(circle, #ffd080 0%, #ffb040 40%, transparent 70%); animation: mes-lamp 3s ease-in-out infinite alternate; }
.scn-messenger-fulvia-war .messenger-figure { position:absolute; bottom:20%; left:35%; width:12%; height:40%; background: linear-gradient(180deg, #8c6b53 0%, #4a3525 60%, #1a0a00 100%); border-radius: 40% 40% 30% 30% / 70% 70% 40% 40%; transform: skewX(-5deg); transform-origin: bottom center; box-shadow: -5px 0 15px rgba(0,0,0,0.4); animation: mes-kneel 4s ease-in-out infinite alternate; }
.scn-messenger-fulvia-war .cleo-shadow { position:absolute; top:5%; left:55%; width:30%; height:70%; background: linear-gradient(180deg, rgba(30,20,50,0.8) 0%, rgba(10,5,20,0.9) 100%); border-radius: 50% 50% 40% 40% / 80% 80% 60% 60%; transform: rotate(5deg); filter: blur(4px); animation: mes-shadow 6s ease-in-out infinite alternate; }
.scn-messenger-fulvia-war .lamp-flicker { position:absolute; top:18%; left:48%; width:4%; height:6%; background: radial-gradient(circle, #fff5e0 0%, #ffd080 40%, transparent 70%); border-radius: 50%; animation: mes-flicker 0.5s linear infinite alternate; }
@keyframes mes-lamp { 0% { opacity: 0.7; transform: scale(0.95); } 50% { opacity: 1; transform: scale(1.05); } 100% { opacity: 0.8; transform: scale(0.9); } }
@keyframes mes-kneel { 0% { transform: skewX(-5deg) translateY(0); } 50% { transform: skewX(-5deg) translateY(-2px); } 100% { transform: skewX(-5deg) translateY(2px); } }
@keyframes mes-shadow { 0% { transform: rotate(5deg) scale(1); opacity: 0.8; } 50% { transform: rotate(3deg) scale(1.02); opacity: 0.9; } 100% { transform: rotate(7deg) scale(0.98); opacity: 0.7; } }
@keyframes mes-flicker { 0% { opacity: 0.5; transform: scale(0.8); } 25% { opacity: 1; transform: scale(1.2); } 50% { opacity: 0.6; transform: scale(0.9); } 75% { opacity: 0.9; transform: scale(1.1); } 100% { opacity: 0.5; transform: scale(0.8); } }
@keyframes mes-scroll { 0% { transform: translateX(0); } 50% { transform: translateX(5px); } 100% { transform: translateX(-5px); } }

.scn-antony-demands-truth { background: linear-gradient(180deg, #d4a373 0%, #b88352 50%, #8c5a35 100%), radial-gradient(ellipse at 50% 0%, #e8c4a0 0%, transparent 70%); }
.scn-antony-demands-truth .bg-tent { position:absolute; inset:0; background: linear-gradient(135deg, #6b4b3a 0%, #4a3525 50%, #2a1a10 100%); box-shadow: inset 0 0 150px rgba(0,0,0,0.5); }
.scn-antony-demands-truth .light-beam { position:absolute; top:0; left:30%; right:40%; bottom:0; background: linear-gradient(180deg, rgba(255,230,180,0.4) 0%, rgba(255,200,120,0.1) 40%, transparent 70%); transform: skewX(15deg); transform-origin: top left; animation: ant-beam 8s ease-in-out infinite alternate; }
.scn-antony-demands-truth .standard-eagle { position:absolute; top:5%; left:15%; width:10%; height:20%; background: radial-gradient(ellipse at 50% 100%, #c8553d 0%, #7a2a1a 60%, #3a1000 100%); border-radius: 50% 50% 30% 30% / 100% 100% 60% 60%; box-shadow: 0 0 20px rgba(200,85,61,0.4); animation: ant-eagle 12s ease-in-out infinite alternate; }
.scn-antony-demands-truth .spear-rack { position:absolute; bottom:25%; right:10%; width:5%; height:40%; background: linear-gradient(180deg, #8c7335 0%, #4a3525 100%); box-shadow: -5px 0 10px rgba(0,0,0,0.3); border-radius: 0 0 20% 20%; }
.scn-antony-demands-truth .antony-figure { position:absolute; bottom:15%; left:20%; width:25%; height:65%; background: linear-gradient(180deg, #2a1a10 0%, #0a0500 60%, #000 100%), radial-gradient(ellipse at 50% 20%, #4a3525 0%, transparent 50%); border-radius: 40% 40% 30% 30% / 80% 80% 50% 50%; box-shadow: 15px 0 30px rgba(0,0,0,0.6); transform: rotate(5deg); transform-origin: bottom center; animation: ant-antony 5s ease-in-out infinite alternate; }
.scn-antony-demands-truth .antony-figure::after { content:''; position:absolute; top:10%; right:-20%; width:30%; height:10%; background: #8c7335; border-radius: 0 50% 50% 0; transform: rotate(20deg); transform-origin: left center; }
.scn-antony-demands-truth .messenger-figure { position:absolute; bottom:20%; left:55%; width:12%; height:35%; background: linear-gradient(180deg, #6b4b3a 0%, #2a1a10 100%); border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%; transform: skewX(5deg) scaleX(0.8); transform-origin: bottom center; box-shadow: -5px 0 15px rgba(0,0,0,0.5); animation: ant-messenger 4s ease-in-out infinite alternate; }
.scn-antony-demands-truth .shadow-harsh { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.6) 100%); animation: ant-harsh 6s ease-in-out infinite alternate; }
@keyframes ant-beam { 0% { opacity: 0.6; transform: skewX(15deg) translateX(-10px); } 50% { opacity: 1; transform: skewX(15deg) translateX(0); } 100% { opacity: 0.7; transform: skewX(15deg) translateX(10px); } }
@keyframes ant-eagle { 0% { transform: translateY(0); } 50% { transform: translateY(-5px); } 100% { transform: translateY(3px); } }
@keyframes ant-antony { 0% { transform: rotate(5deg) translateY(0); } 50% { transform: rotate(4deg) translateY(-3px); } 100% { transform: rotate(6deg) translateY(2px); } }
@keyframes ant-messenger { 0% { transform: skewX(5deg) scaleX(0.8) translateY(0); } 50% { transform: skewX(5deg) scaleX(0.8) translateY(-2px); } 100% { transform: skewX(5deg) scaleX(0.8) translateY(4px); } }
@keyframes ant-harsh { 0% { opacity: 0.7; } 50% { opacity: 0.5; } 100% { opacity: 0.8; } }

.scn-antony-rages-cleopatra { background: linear-gradient(180deg, #1a0a1a 0%, #2a1020 50%, #0a050a 100%), radial-gradient(ellipse at 50% 100%, #4a2020 0%, transparent 70%); }
.scn-antony-rages-cleopatra .bg-dark { position:absolute; inset:0; background: linear-gradient(135deg, #0a050a 0%, #1a0a1a 50%, #2a1020 100%); }
.scn-antony-rages-cleopatra .brazier-fire { position:absolute; bottom:25%; left:45%; right:45%; height:20%; background: radial-gradient(circle at 50% 100%, #ff8020 0%, #cc3300 40%, #4a0000 70%, transparent 80%); border-radius: 50% 50% 0 0; box-shadow: 0 0 60px rgba(255,100,0,0.4), 0 0 120px rgba(255,50,0,0.2); animation: rag-fire 1.5s ease-in-out infinite alternate; }
.scn-antony-rages-cleopatra .curtain-left { position:absolute; top:0; left:0; width:20%; bottom:0; background: linear-gradient(90deg, #4a1020 0%, #2a0510 50%, #1a020a 100%); border-right: 2px solid #5a1a2a; box-shadow: inset -10px 0 20px rgba(0,0,0,0.5); animation: rag-curtain 10s ease-in-out infinite alternate; }
.scn-antony-rages-cleopatra .curtain-right { position:absolute; top:0; right:0; width:20%; bottom:0; background: linear-gradient(90deg, #1a020a 0%, #2a0510 50%, #4a1020 100%); border-left: 2px solid #5a1a2a; box-shadow: inset 10px 0 20px rgba(0,0,0,0.5); animation: rag-curtain 10s ease-in-out infinite alternate-reverse; }
.scn-antony-rages-cleopatra .antony-rage { position:absolute; bottom:10%; left:25%; width:25%; height:70%; background: linear-gradient(180deg, #1a0a1a 0%, #0a000a 60%, #000 100%), radial-gradient(ellipse at 50% 30%, #2a1020 0%, transparent 50%); border-radius: 50% 50% 40% 40% / 80% 80% 50% 50%; box-shadow: -15px 0 30px rgba(0,0,0,0.8); transform: rotate(-10deg); transform-origin: bottom center; animation: rag-antony-rage 3s ease-in-out infinite alternate; }
.scn-antony-rages-cleopatra .antony-rage::before { content:''; position:absolute; top:15%; left:-15%; width:25%; height:8%; background: #2a1020; border-radius: 50% 0 0 50%; transform: rotate(-30deg); transform-origin: right center; }
.scn-antony-rages-cleopatra .cleo-grief { position:absolute; bottom:15%; right:22%; width:18%; height:40%; background: linear-gradient(180deg, #5e1a1d 0%, #2a050a 60%, #0a000a 100%); border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%; transform: skewX(5deg) scale(0.9); transform-origin: bottom center; box-shadow: 5px 0 20px rgba(0,0,0,0.6); animation: rag-cleopatra 4s ease-in-out infinite alternate; }
.scn-antony-rages-cleopatra .shadow-long { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.8) 50%, #000 100%); animation: rag-shadow 6s ease-in-out infinite alternate; }
@keyframes rag-fire { 0% { transform: scaleY(0.9) scaleX(1); opacity: 0.8; } 25% { transform: scaleY(1.1) scaleX(0.95); opacity: 1; } 50% { transform: scaleY(0.95) scaleX(1.05); opacity: 0.9; } 75% { transform: scaleY(1.05) scaleX(0.9); opacity: 1; } 100% { transform: scaleY(0.9) scaleX(1); opacity: 0.8; } }
@keyframes rag-curtain { 0% { transform: translateY(0); } 50% { transform: translateY(-5px); } 100% { transform: translateY(5px); } }
@keyframes rag-antony-rage { 0% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(-8deg) translateY(-5px); } 100% { transform: rotate(-12deg) translateY(3px); } }
@keyframes rag-cleopatra { 0% { transform: skewX(5deg) scale(0.9) translateY(0); } 50% { transform: skewX(5deg) scale(0.9) translateY(-3px); } 100% { transform: skewX(5deg) scale(0.9) translateY(5px); } }
@keyframes rag-shadow { 0% { opacity: 0.8; } 50% { opacity: 0.5; } 100% { opacity: 0.9; } }

.scn-cleopatra-examines-messenger {
  background: linear-gradient(180deg, #e8d5b7 0%, #f5e6d3 60%, #c9a96e 100%),
              radial-gradient(ellipse at 60% 20%, rgba(255, 235, 200, 0.4) 0%, transparent 50%);
}
.scn-cleopatra-examines-messenger .bg-wall {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #fff8dc 0%, #f5deb3 40%, #e3c9a9 100%);
  animation: cmh-steady 16s ease-in-out infinite;
}
.scn-cleopatra-examines-messenger .window-light {
  position: absolute; top: 5%; left: 15%; width: 60%; height: 60%;
  background: linear-gradient(135deg, rgba(255, 255, 230, 0.4) 0%, rgba(255, 255, 230, 0.1) 40%, transparent 70%);
  transform: skewX(-10deg); filter: blur(3px);
  animation: cmh-light 8s ease-in-out infinite alternate;
}
.scn-cleopatra-examines-messenger .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #a88452 0%, #5c4426 30%, #3a2a0a 100%);
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.5);
  animation: cmh-steady 20s ease-in-out infinite reverse;
}
.scn-cleopatra-examines-messenger .column-left {
  position: absolute; top: 0; bottom: 5%; left: 2%; width: 8%;
  background: linear-gradient(90deg, #dcdcdc 0%, #a9a9a9 40%, #696969 80%, #808080 100%);
  box-shadow: 5px 0 15px rgba(0,0,0,0.3); border-radius: 0 0 10% 10%;
  animation: cmh-pillar 12s ease-in-out infinite;
}
.scn-cleopatra-examines-messenger .column-right {
  position: absolute; top: 0; bottom: 5%; right: 2%; width: 8%;
  background: linear-gradient(90deg, #808080 0%, #696969 20%, #a9a9a9 60%, #dcdcdc 100%);
  box-shadow: -5px 0 15px rgba(0,0,0,0.3); border-radius: 0 0 10% 10%;
  animation: cmh-pillar 12s ease-in-out infinite reverse;
}
.scn-cleopatra-examines-messenger .throne {
  position: absolute; bottom: 0; left: 10%; width: 25%; height: 65%;
  background: linear-gradient(90deg, #8b6508 0%, #d4af37 20%, #ffd700 40%, #d4af37 70%, #8b6508 100%);
  border-radius: 30% 30% 0 0 / 15% 15% 0 0;
  box-shadow: 0 0 60px rgba(0,0,0,0.7);
  animation: cmh-glow 4s ease-in-out infinite alternate;
}
.scn-cleopatra-examines-messenger .cleopatra {
  position: absolute; bottom: 10%; left: 17%; width: 15%; height: 55%;
  background: radial-gradient(ellipse 70% 30% at 50% 20%, #ffd700 0%, #b8860b 12%, #0f1a2c 15%, #0a1a2a 80%);
  border-radius: 50% 50% 40% 40% / 30% 30% 40% 40%;
  box-shadow: 0 0 30px rgba(0,0,0,0.5);
  animation: cmh-cleopatra 4s ease-in-out infinite;
}
.scn-cleopatra-examines-messenger .messenger {
  position: absolute; bottom: 5%; right: 15%; width: 12%; height: 60%;
  background: radial-gradient(ellipse 60% 35% at 50% 15%, #3a2a2a 0%, #1a0a0a 80%);
  border-radius: 50% 50% 30% 30% / 50% 50% 30% 30%;
  box-shadow: -30px -10px 0 -10px #1a0a0a, -50px -5px 0 -12px #1a0a0a;
  animation: cmh-messenger 2s ease-in-out infinite;
}
.scn-cleopatra-examines-messenger .dust {
  position: absolute; top: 10%; left: 20%; width: 2px; height: 2px;
  background: #fff; border-radius: 50%;
  box-shadow: 50px 30px 0 1px rgba(255,255,255,0.6), 100px 60px 0 2px rgba(255,255,255,0.4),
              150px 20px 0 1px rgba(255,255,255,0.7), 200px 90px 0 2px rgba(255,255,255,0.5);
  animation: cmh-dust 12s linear infinite;
}
.scn-cleopatra-examines-messenger .dust.dust2 {
  left: 60%; top: 5%;
  box-shadow: 30px 50px 0 1px rgba(255,255,255,0.5), 80px 110px 0 2px rgba(255,255,255,0.3),
              130px 40px 0 1px rgba(255,255,255,0.6);
  animation: cmh-dust 18s linear infinite 9s;
}

@keyframes cmh-steady {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
}
@keyframes cmh-light {
  0% { transform: skewX(-15deg) translateX(-10px); opacity: 0.6; }
  50% { transform: skewX(-5deg) translateX(15px); opacity: 1; }
  100% { transform: skewX(-20deg) translateX(5px); opacity: 0.7; }
}
@keyframes cmh-pillar {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes cmh-glow {
  0% { box-shadow: 0 0 40px rgba(0,0,0,0.7); }
  100% { box-shadow: 0 0 80px rgba(0,0,0,0.9), inset 0 0 30px rgba(255,215,0,0.2); }
}
@keyframes cmh-cleopatra {
  0% { transform: scaleY(1) rotate(0deg); }
  50% { transform: scaleY(1.02) rotate(1deg); }
  100% { transform: scaleY(1) rotate(0deg); }
}
@keyframes cmh-messenger {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-3px) rotate(1.5deg); }
  60% { transform: translateY(2px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes cmh-dust {
  0% { transform: translateY(0) translateX(0) scale(1); opacity: 0; }
  10% { opacity: 0.9; }
  80% { opacity: 0.5; }
  100% { transform: translateY(-70vh) translateX(40px) scale(0.3); opacity: 0; }
}

.scn-cleopatra-examines-messenger {
  background: 
    linear-gradient(180deg, #f5e6c8 0%, #d4b896 40%, #8a6e4e 100%),
    radial-gradient(ellipse 70% 60% at 30% 30%, rgba(255,240,200,0.3) 0%, transparent 70%);
  overflow: hidden;
}
.scn-cleopatra-examines-messenger .bg-wall {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #e8dcc8 0%, #b8a488 50%, #705844 100%);
}
.scn-cleopatra-examines-messenger .window {
  position: absolute; left: 10%; top: 10%; width: 28%; height: 50%;
  background: linear-gradient(135deg, #fff8e0 0%, #e8d8a0 60%);
  border: 4px solid #5a3e2a;
  box-shadow: inset 0 0 30px rgba(255,240,180,0.6), 0 0 40px rgba(255,220,150,0.3);
  border-radius: 2px;
  animation: cleo-window 4s ease-in-out infinite alternate;
}
.scn-cleopatra-examines-messenger .light-ray {
  position: absolute; left: 12%; top: 12%; width: 30%; height: 80%;
  background: linear-gradient(135deg, rgba(255,230,170,0.25) 0%, transparent 70%);
  filter: blur(8px);
  animation: cleo-ray 6s ease-in-out infinite;
}
.scn-cleopatra-examines-messenger .throne {
  position: absolute; right: 8%; bottom: 8%; width: 30%; height: 60%;
  background: linear-gradient(180deg, #6a4e3a 0%, #3a2a1a 100%);
  border-radius: 12% 12% 8% 8% / 20% 20% 8% 8%;
  box-shadow: -8px 0 20px rgba(0,0,0,0.5);
}
.scn-cleopatra-examines-messenger .cleo {
  position: absolute; right: 18%; bottom: 22%; width: 14%; height: 48%;
  background: linear-gradient(180deg, #1a1620 0%, #0c0a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cleo-breath 3s ease-in-out infinite;
}
.scn-cleopatra-examines-messenger .messenger {
  position: absolute; left: 28%; bottom: 8%; width: 10%; height: 32%;
  background: linear-gradient(180deg, #2a1e1a 0%, #120e0c 100%);
  border-radius: 50% 50% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: cleo-tremble 1.5s ease-in-out infinite;
}
.scn-cleopatra-examines-messenger .lamp {
  position: absolute; right: 40%; top: 40%; width: 6%; height: 10%;
  background: radial-gradient(circle at 50% 20%, #ffda80 0%, #b06020 70%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  box-shadow: 0 0 30px 8px rgba(255,200,80,0.6), 0 0 60px 16px rgba(255,180,60,0.3);
  animation: cleo-lamp 2.5s ease-in-out infinite;
}
.scn-cleopatra-examines-messenger .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 8%;
  background: linear-gradient(180deg, #5a4430 0%, #3a281c 100%);
  box-shadow: 0 -4px 12px rgba(0,0,0,0.4);
}

@keyframes cleo-window {
  0% { opacity: 0.85; box-shadow: inset 0 0 20px rgba(255,240,180,0.4), 0 0 30px rgba(255,220,150,0.2); }
  50% { opacity: 1; box-shadow: inset 0 0 40px rgba(255,240,180,0.8), 0 0 60px rgba(255,220,150,0.4); }
  100% { opacity: 0.9; box-shadow: inset 0 0 25px rgba(255,240,180,0.5), 0 0 40px rgba(255,220,150,0.25); }
}
@keyframes cleo-ray {
  0% { opacity: 0.2; transform: scaleX(1) translateX(0); }
  50% { opacity: 0.5; transform: scaleX(1.1) translateX(2%); }
  100% { opacity: 0.3; transform: scaleX(0.95) translateX(-1%); }
}
@keyframes cleo-breath {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-0.5deg); }
}
@keyframes cleo-tremble {
  0% { transform: translateY(0) translateX(0); }
  25% { transform: translateY(-1px) translateX(1px); }
  50% { transform: translateY(0) translateX(-1px); }
  75% { transform: translateY(-1px) translateX(0); }
  100% { transform: translateY(0) translateX(0); }
}
@keyframes cleo-lamp {
  0% { opacity: 0.8; box-shadow: 0 0 20px 4px rgba(255,200,80,0.4), 0 0 40px 10px rgba(255,180,60,0.2); }
  50% { opacity: 1; box-shadow: 0 0 40px 12px rgba(255,200,80,0.7), 0 0 80px 24px rgba(255,180,60,0.4); }
  100% { opacity: 0.85; box-shadow: 0 0 25px 6px rgba(255,200,80,0.5), 0 0 50px 14px rgba(255,180,60,0.25); }
}
/* end per-scene blocks */

/* auto-stub: parent tag-classes flagged by CSS audit */
.dark { position: absolute; pointer-events: none; }
.garland { position: absolute; pointer-events: none; }
.music { position: absolute; pointer-events: none; }
.notes { position: absolute; pointer-events: none; }
.profile { position: absolute; pointer-events: none; }
.scn { position: absolute; pointer-events: none; }
.step { position: absolute; pointer-events: none; }

/* ============ tier A ============ */
/* per-scene blocks (EXP step_scenes) */
.scn-alexandria-monument-final {
  background:
    radial-gradient(ellipse at 50% 30%, #c87a3a 0%, #4a2a1a 60%, #1a0a05 100%),
    linear-gradient(180deg, #2a1a0a 0%, #1a0a05 50%, #0a0502 100%);
}

.scn-alexandria-monument-final .wall-bg {
  position: absolute;
  inset: 0 0 20% 0;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a05 60%, transparent 100%);
  animation: amf-wall 20s ease-in-out infinite alternate;
}

.scn-alexandria-monument-final .floor {
  position: absolute;
  bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a05 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,.7);
}

.scn-alexandria-monument-final .monument {
  position: absolute;
  bottom: 20%; left: 50%;
  width: 120px; height: 180px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 50%, #2a1a0a 100%);
  border-radius: 4% 4% 2% 2% / 8% 8% 4% 4%;
  box-shadow: 0 12px 24px rgba(0,0,0,.6), inset 0 -4px 8px rgba(200,120,60,.15);
  animation: amf-monument 12s ease-in-out infinite;
}

.scn-alexandria-monument-final .monument-base {
  position: absolute;
  bottom: 20%; left: 50%;
  width: 160px; height: 30px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 -2px 6px rgba(0,0,0,.5);
}

.scn-alexandria-monument-final .figure-caesar {
  position: absolute;
  bottom: 20%; left: 40%;
  width: 28px; height: 70px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: amf-caesar 6s ease-in-out infinite;
}

.scn-alexandria-monument-final .figure-fallen {
  position: absolute;
  bottom: 20%; left: 48%;
  width: 40px; height: 24px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 70% 30% 40% 60% / 60% 40% 60% 40%;
  transform: rotate(-15deg);
  animation: amf-fallen 8s ease-in-out infinite;
}

.scn-alexandria-monument-final .torch {
  position: absolute;
  bottom: 35%; left: 55%;
  width: 8px; height: 50px;
  background: linear-gradient(180deg, #6a3a1a 0%, #3a1a0a 100%);
  border-radius: 0 0 20% 20%;
  transform-origin: bottom center;
  animation: amf-torch 1.5s ease-in-out infinite alternate;
}

.scn-alexandria-monument-final .torch-glow {
  position: absolute;
  bottom: 40%; left: 55%;
  width: 120px; height: 120px;
  transform: translate(-50%, 0);
  background: radial-gradient(circle, rgba(200,120,60,.6) 0%, rgba(200,120,60,.1) 40%, transparent 70%);
  animation: amf-glow 2s ease-in-out infinite alternate;
}

.scn-alexandria-monument-final .banner {
  position: absolute;
  top: 18%; left: 40%;
  width: 60px; height: 90px;
  background: linear-gradient(180deg, #7a3a3a 0%, #5a2a2a 100%);
  border-radius: 0 0 20% 20% / 0 0 40% 40%;
  box-shadow: inset 0 -4px 8px rgba(0,0,0,.5);
  transform-origin: top center;
  animation: amf-banner 5s ease-in-out infinite;
}

@keyframes amf-wall { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes amf-monument { 0%,100% { transform: translateX(-50%) translateY(0) } 50% { transform: translateX(-50%) translateY(-4px) } }
@keyframes amf-caesar { 0% { transform: translateX(0) translateY(0) rotate(0) } 25% { transform: translateX(4px) translateY(-2px) rotate(2deg) } 50% { transform: translateX(0) translateY(-4px) rotate(0) } 75% { transform: translateX(-4px) translateY(-2px) rotate(-2deg) } 100% { transform: translateX(0) translateY(0) rotate(0) } }
@keyframes amf-fallen { 0%,100% { transform: rotate(-15deg) translateY(0) } 50% { transform: rotate(-15deg) translateY(-1px) } }
@keyframes amf-torch { 0% { transform: scaleY(1) rotate(0) } 50% { transform: scaleY(1.02) rotate(2deg) } 100% { transform: scaleY(0.98) rotate(-2deg) } }
@keyframes amf-glow { 0% { opacity:.7; transform: translate(-50%,0) scale(1) } 50% { opacity:1; transform: translate(-50%,0) scale(1.1) } 100% { opacity:.8; transform: translate(-50%,0) scale(0.95) } }
@keyframes amf-banner { 0% { transform: rotate(-2deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-2deg) } }

.scn-alexandria-palace-antony-cleopatra-merriment { background: linear-gradient(180deg, #c8965e 0%, #a07a45 40%, #7a5a30 100%), radial-gradient(ellipse at 50% 0%, #dbb078 0%, transparent 70%); }
.scn-alexandria-palace-antony-cleopatra-merriment .room-wall { position:absolute; inset:0 0 45% 0; background: linear-gradient(135deg, #b8864a 0%, #8c6632 50%, #6a4c1c 100%); }
.scn-alexandria-palace-antony-cleopatra-merriment .floor { position:absolute; bottom:0; left:0; right:0; height:45%; background: linear-gradient(180deg, #5a3e20 0%, #3a2810 100%); box-shadow: inset 0 12px 30px rgba(0,0,0,.5); }
.scn-alexandria-palace-antony-cleopatra-merriment .pillar { position:absolute; bottom:0; width:8%; height:70%; background: linear-gradient(90deg, #a07440 0%, #c0905a 30%, #a07440 70%, #7a5a30 100%); border-radius:10% 10% 0 0; }
.scn-alexandria-palace-antony-cleopatra-merriment .pillar-l { left:10%; }
.scn-alexandria-palace-antony-cleopatra-merriment .pillar-r { right:10%; }
.scn-alexandria-palace-antony-cleopatra-merriment .couch { position:absolute; bottom:22%; left:30%; width:40%; height:18%; background: linear-gradient(180deg, #8c5050 0%, #6a3838 100%); border-radius:20% 20% 0 0; box-shadow: 0 6px 14px rgba(0,0,0,.4); }
.scn-alexandria-palace-antony-cleopatra-merriment .figure-cleo { position:absolute; bottom:28%; left:38%; width:12%; height:35%; background: linear-gradient(180deg, #dba858 0%, #c89442 50%, #a06a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ap-cleo 5s ease-in-out infinite alternate; }
.scn-alexandria-palace-antony-cleopatra-merriment .figure-antony { position:absolute; bottom:28%; right:36%; width:14%; height:38%; background: linear-gradient(180deg, #c08040 0%, #a06030 50%, #784820 100%); border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%; transform-origin: bottom center; animation: ap-antony 6s ease-in-out infinite alternate; }
.scn-alexandria-palace-antony-cleopatra-merriment .lamp { position:absolute; top:20%; left:50%; width:6%; height:12%; background: linear-gradient(180deg, #ffd080 0%, #c08040 100%); border-radius:50% 50% 20% 20%; box-shadow: 0 0 40px 20px rgba(255,200,100,.4); animation: ap-lamp 3s ease-in-out infinite alternate; }
.scn-alexandria-palace-antony-cleopatra-merriment .glow { position:absolute; top:18%; left:45%; width:10%; height:10%; background: radial-gradient(circle, rgba(255,200,100,.3) 0%, transparent 100%); filter: blur(10px); animation: ap-glow 4s ease-in-out infinite alternate; }
@keyframes ap-cleo { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(2%) rotate(2deg); } 100% { transform: translateX(-1%) rotate(-1deg); } }
@keyframes ap-antony { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(-2%) rotate(-3deg); } 100% { transform: translateX(1%) rotate(2deg); } }
@keyframes ap-lamp { 0% { opacity:.7; box-shadow: 0 0 30px 15px rgba(255,200,100,.3); } 50% { opacity:1; box-shadow: 0 0 60px 30px rgba(255,200,100,.5); } 100% { opacity:.8; box-shadow: 0 0 40px 20px rgba(255,200,100,.35); } }
@keyframes ap-glow { 0% { opacity:.4; } 50% { opacity:.7; } 100% { opacity:.4; } }

.scn-alexandria-street-guard-night { background: linear-gradient(180deg, #0a0a1a 0%, #12102e 50%, #1c1840 100%), radial-gradient(ellipse at 80% 20%, #2a2450 0%, transparent 70%); }
.scn-alexandria-street-guard-night .night-sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #0a0e2a 0%, #181438 100%); }
.scn-alexandria-street-guard-night .wall-bg { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #1c1a30 0%, #0e0c1c 100%); }
.scn-alexandria-street-guard-night .street { position:absolute; bottom:10%; left:0; right:0; height:20%; background: linear-gradient(180deg, #2a2648 0%, #18142e 100%); box-shadow: inset 0 4px 12px rgba(0,0,0,.6); }
.scn-alexandria-street-guard-night .soldier-a { position:absolute; bottom:12%; left:20%; width:8%; height:35%; background: linear-gradient(180deg, #2e2e4a 0%, #1a1a2e 50%, #0e0e1a 100%); border-radius:50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: as-soldi-a 4s ease-in-out infinite; }
.scn-alexandria-street-guard-night .soldier-b { position:absolute; bottom:12%; right:20%; width:8%; height:35%; background: linear-gradient(180deg, #3a3860 0%, #28264a 50%, #141230 100%); border-radius:50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: as-soldi-b 4.5s ease-in-out infinite alternate; }
.scn-alexandria-street-guard-night .lantern-pole { position:absolute; bottom:12%; left:50%; width:1.5%; height:40%; background: linear-gradient(180deg, #606060 0%, #303030 100%); transform: translateX(-50%); }
.scn-alexandria-street-guard-night .lantern-light { position:absolute; bottom:48%; left:50%; width:5%; height:7%; background: radial-gradient(circle, #ffc860 0%, #c08030 60%, #604020 100%); border-radius:50%; box-shadow: 0 0 40px 20px rgba(255,200,100,.2), 0 0 80px 40px rgba(255,200,100,.1); animation: as-lantern 2.5s ease-in-out infinite alternate; }
.scn-alexandria-street-guard-night .window-dark { position:absolute; bottom:30%; left:40%; width:10%; height:12%; background: linear-gradient(180deg, #0c0a1a 0%, #1a1830 100%); border:2px solid #3a3860; border-radius:4px; box-shadow: inset 0 0 20px rgba(0,0,0,.8); }
@keyframes as-soldi-a { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(3%) rotate(2deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(-3%) rotate(1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes as-soldi-b { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-4%) rotate(2deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes as-lantern { 0% { opacity:.6; box-shadow: 0 0 30px 15px rgba(255,200,100,.15), 0 0 60px 30px rgba(255,200,100,.05); } 50% { opacity:1; box-shadow: 0 0 60px 30px rgba(255,200,100,.3), 0 0 100px 50px rgba(255,200,100,.15); } 100% { opacity:.7; box-shadow: 0 0 40px 20px rgba(255,200,100,.2), 0 0 80px 40px rgba(255,200,100,.1); } }

.scn-alexandria-palace-armour-morning { background: linear-gradient(180deg, #ffd8a0 0%, #e8b870 40%, #c89848 100%), radial-gradient(ellipse at 30% 70%, #ffe0b0 0%, transparent 60%); }
.scn-alexandria-palace-armour-morning .chamber-wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(135deg, #c89848 0%, #a07830 50%, #785820 100%); }
.scn-alexandria-palace-armour-morning .dawn-window { position:absolute; top:10%; left:20%; width:30%; height:40%; background: linear-gradient(180deg, #ffecb0 0%, #ffd080 50%, #e0a050 100%); border-radius:10% 10% 0 0; box-shadow: inset 0 0 60px rgba(255,200,100,.6); }
.scn-alexandria-palace-armour-morning .sunbeam { position:absolute; top:10%; left:20%; width:30%; height:60%; background: linear-gradient(180deg, rgba(255,230,150,.3) 0%, rgba(255,200,100,.1) 60%, transparent 100%); filter: blur(6px); animation: am-sunbeam 8s ease-in-out infinite alternate; }
.scn-alexandria-palace-armour-morning .figure-antony { position:absolute; bottom:10%; left:45%; width:14%; height:45%; background: linear-gradient(180deg, #c89848 0%, #a07830 50%, #785820 100%); border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%; transform-origin: bottom center; animation: am-antony 3s ease-in-out infinite alternate; }
.scn-alexandria-palace-armour-morning .armour-stand { position:absolute; bottom:8%; left:25%; width:10%; height:30%; background: linear-gradient(180deg, #a0a0a0 0%, #707070 30%, #505050 70%, #303030 100%); border-radius:20% 20% 10% 10%; box-shadow: 0 0 30px rgba(255,200,100,.4); }
.scn-alexandria-palace-armour-morning .shield { position:absolute; bottom:15%; left:20%; width:8%; height:14%; background: radial-gradient(circle, #b0b0b0 0%, #808080 60%, #505050 100%); border-radius:50%; box-shadow: 0 0 20px rgba(255,200,100,.3); animation: am-shield 2s ease-in-out infinite; }
.scn-alexandria-palace-armour-morning .pillow { position:absolute; bottom:10%; right:30%; width:12%; height:8%; background: linear-gradient(180deg, #d0b080 0%, #b09060 100%); border-radius:30% 30% 50% 50%; }
.scn-alexandria-palace-armour-morning .candle { position:absolute; bottom:45%; right:25%; width:3%; height:15%; background: linear-gradient(180deg, #ffe080 0%, #c0a040 100%); border-radius:30% 30% 5% 5%; box-shadow: 0 0 30px 10px rgba(255,200,100,.5); animation: am-candle 2.5s ease-in-out infinite alternate; }
@keyframes am-sunbeam { 0% { opacity:.3; transform: rotate(-5deg); } 50% { opacity:.7; transform: rotate(2deg); } 100% { opacity:.4; transform: rotate(-2deg); } }
@keyframes am-antony { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-3%) rotate(0); } 100% { transform: translateY(-1%) rotate(2deg); } }
@keyframes am-shield { 0% { transform: scale(1) rotate(0); } 50% { transform: scale(1.05) rotate(5deg); } 100% { transform: scale(1) rotate(-5deg); } }
@keyframes am-candle { 0% { opacity:.7; transform: scaleY(1); } 50% { opacity:1; transform: scaleY(1.08); } 100% { opacity:.8; transform: scaleY(0.95); } }

.scn-alexandria-camp-antony-news-enobarbus { background: linear-gradient(180deg, #5a8ac0 0%, #88b8e8 30%, #b0d8f8 60%, #d0eaff 100%), radial-gradient(ellipse at 50% 100%, #b0d8f8 0%, transparent 70%); }
.scn-alexandria-camp-antony-news-enobarbus .camp-sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #4a7ab0 0%, #88b8e8 100%); }
.scn-alexandria-camp-antony-news-enobarbus .tent-flap { position:absolute; bottom:30%; left:15%; width:40%; height:40%; background: linear-gradient(135deg, #d0b880 0%, #a09060 50%, #706040 100%); clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%); }
.scn-alexandria-camp-antony-news-enobarbus .tent-pole { position:absolute; bottom:30%; left:35%; width:3%; height:45%; background: linear-gradient(180deg, #606060 0%, #303030 100%); }
.scn-alexandria-camp-antony-news-enobarbus .figure-antony { position:absolute; bottom:15%; left:20%; width:14%; height:45%; background: linear-gradient(180deg, #c89848 0%, #a07830 50%, #785820 100%); border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%; transform-origin: bottom center; animation: ac-antony 4s ease-in-out infinite alternate; }
.scn-alexandria-camp-antony-news-enobarbus .figure-soldier { position:absolute; bottom:15%; right:25%; width:12%; height:40%; background: linear-gradient(180deg, #6a6a6a 0%, #4a4a4a 50%, #2a2a2a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: ac-soldier 4.5s ease-in-out infinite; }
.scn-alexandria-camp-antony-news-enobarbus .banner { position:absolute; bottom:45%; right:40%; width:15%; height:20%; background: linear-gradient(180deg, #c8553d 0%, #98482a 50%, #6a2818 100%); clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 50% 90%, 0% 100%); animation: ac-banner 5s ease-in-out infinite alternate; }
.scn-alexandria-camp-antony-news-enobarbus .ground { position:absolute; bottom:0; left:0; right:0; height:15%; background: linear-gradient(180deg, #7a8a50 0%, #5a6a30 100%); }
.scn-alexandria-camp-antony-news-enobarbus .tent-shadow { position:absolute; bottom:15%; left:10%; width:50%; height:20%; background: linear-gradient(180deg, rgba(0,0,0,.3) 0%, transparent 100%); filter: blur(8px); }
@keyframes ac-antony { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-4%) rotate(2deg); } 100% { transform: translateY(-1%) rotate(-1deg); } }
@keyframes ac-soldier { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(5%) rotate(2deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(-5%) rotate(1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes ac-banner { 0% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-5%) rotate(0); } 100% { transform: translateY(-2%) rotate(3deg); } }

/* scene: caesar-camp-council-war (tag: cicw) */
.scn-caesar-camp-council-war {
  background:
    linear-gradient(180deg, #2a1f1a 0%, #4a3a30 30%, #5a4a3a 60%, #3a2a20 100%),
    radial-gradient(ellipse at 30% 50%, #5a4a3a 0%, transparent 70%);
}
.scn-caesar-camp-council-war .tent-wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(135deg, #6a5a4a 0%, #4a3a2a 40%, #5a4a3a 100%);
  clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%);
  animation: cicw-wall 12s ease-in-out infinite alternate;
}
.scn-caesar-camp-council-war .tent-pole {
  position: absolute; top: 0; left: 50%; width: 6px; height: 45%;
  background: linear-gradient(180deg, #2a1a0a, #1a0a00);
  transform: translateX(-50%);
  box-shadow: 2px 0 6px rgba(0,0,0,0.5);
}
.scn-caesar-camp-council-war .table {
  position: absolute; bottom: 22%; left: 15%; right: 15%; height: 18%;
  background: linear-gradient(180deg, #6a4a30 0%, #3a2a1a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.4);
  animation: cicw-table 8s ease-in-out infinite alternate;
}
.scn-caesar-camp-council-war .map {
  position: absolute; bottom: 30%; left: 30%; width: 40%; height: 12%;
  background: linear-gradient(135deg, #a08060 0%, #806040 50%, #604020 100%);
  border-radius: 2px;
  transform: perspective(600px) rotateX(10deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: cicw-map 15s ease-in-out infinite alternate;
}
.scn-caesar-camp-council-war .figure-caesar {
  position: absolute; bottom: 22%; left: 35%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #1a1210 0%, #0a0808 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cicw-figure-c 4s ease-in-out infinite;
}
.scn-caesar-camp-council-war .figure-general {
  position: absolute; bottom: 22%; left: 55%; width: 18px; height: 48px;
  background: linear-gradient(180deg, #18100e 0%, #080606 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cicw-figure-g 5s ease-in-out infinite 0.5s;
}
.scn-caesar-camp-council-war .torch-left {
  position: absolute; top: 10%; left: 12%; width: 8px; height: 40px;
  background: linear-gradient(180deg, #c06030 0%, #a04020 40%, #2a1a0a 100%);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  box-shadow: 0 0 20px 8px #c06030, 0 0 40px 16px rgba(192,96,48,0.4);
  animation: cicw-torch 2s ease-in-out infinite alternate;
}
.scn-caesar-camp-council-war .torch-right {
  position: absolute; top: 12%; right: 10%; width: 8px; height: 36px;
  background: linear-gradient(180deg, #c06030 0%, #a04020 40%, #2a1a0a 100%);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  box-shadow: 0 0 20px 8px #c06030, 0 0 40px 16px rgba(192,96,48,0.3);
  animation: cicw-torch 2.5s ease-in-out infinite alternate 0.3s;
}
.scn-caesar-camp-council-war .shadow-sweep {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 60%, transparent 30%, rgba(0,0,0,0.6) 100%);
  pointer-events: none;
  animation: cicw-shadow 20s ease-in-out infinite alternate;
}

@keyframes cicw-wall { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes cicw-table { 0% { transform: scaleY(1) } 50% { transform: scaleY(0.98) } 100% { transform: scaleY(1.02) } }
@keyframes cicw-map { 0% { transform: perspective(600px) rotateX(10deg) translateY(0) } 50% { transform: perspective(600px) rotateX(8deg) translateY(-2px) } 100% { transform: perspective(600px) rotateX(12deg) translateY(1px) } }
@keyframes cicw-figure-c { 0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(3px) rotate(2deg) } 50% { transform: translateX(0) rotate(-1deg) } 75% { transform: translateX(-2px) rotate(1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes cicw-figure-g { 0% { transform: translateX(0) rotate(1deg) } 30% { transform: translateX(-4px) rotate(-2deg) } 60% { transform: translateX(0) rotate(1deg) } 100% { transform: translateX(2px) rotate(-1deg) } }
@keyframes cicw-torch { 0% { box-shadow: 0 0 18px 6px #c06030, 0 0 36px 12px rgba(192,96,48,0.3); opacity:0.9 } 50% { box-shadow: 0 0 24px 10px #e08040, 0 0 50px 20px rgba(224,128,64,0.5); opacity:1 } 100% { box-shadow: 0 0 16px 4px #c06030, 0 0 30px 8px rgba(192,96,48,0.35); opacity:0.8 } }
@keyframes cicw-shadow { 0% { opacity:0.5 } 50% { opacity:0.7 } 100% { opacity:0.4 } }

/* scene: alexandria-monument-cleopatra-captured (tag: amcc) */
.scn-alexandria-monument-cleopatra-captured {
  background:
    linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 40%, #2a2a3e 70%, #1e1e2a 100%),
    radial-gradient(ellipse at 50% 30%, #2a2a3e 0%, transparent 80%);
}
.scn-alexandria-monument-cleopatra-captured .monument-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(0deg, #1a1a2a 0%, #2a2a3a 50%, #3a3a4a 100%);
  border-radius: 0 0 20% 20% / 0 0 40% 40%;
  box-shadow: inset 0 40px 40px rgba(0,0,0,0.6);
}
.scn-alexandria-monument-cleopatra-captured .column {
  position: absolute; bottom: 30%; left: 20%; width: 12px; height: 70%;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%);
  border-radius: 2px;
  box-shadow: 2px 0 8px rgba(0,0,0,0.4);
  animation: amcc-column 20s ease-in-out infinite alternate;
}
.scn-alexandria-monument-cleopatra-captured .moon-window {
  position: absolute; top: 12%; right: 18%; width: 30px; height: 40px;
  background: radial-gradient(circle, #6a7a9a 0%, #4a5a7a 60%, transparent 100%);
  border-radius: 50% 50% 0 0;
  box-shadow: 0 0 30px 10px #4a5a7a, 0 0 60px 20px rgba(74,90,122,0.3);
  animation: amcc-moon 10s ease-in-out infinite alternate;
}
.scn-alexandria-monument-cleopatra-captured .cleopatra-figure {
  position: absolute; bottom: 28%; left: 45%; width: 22px; height: 55px;
  background: linear-gradient(180deg, #0a0a1a 0%, #05050f 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: amcc-figure 6s ease-in-out infinite;
}
.scn-alexandria-monument-cleopatra-captured .shroud {
  position: absolute; bottom: 25%; left: 40%; width: 40px; height: 35px;
  background: linear-gradient(180deg, rgba(10,10,20,0.6) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(4px);
  animation: amcc-shroud 8s ease-in-out infinite alternate;
}
.scn-alexandria-monument-cleopatra-captured .shadow-pool {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.5) 0%, transparent 100%);
  pointer-events: none;
  animation: amcc-pool 15s linear infinite alternate;
}
.scn-alexandria-monument-cleopatra-captured .dust-motes {
  position: absolute; top: 20%; left: 30%; width: 60px; height: 60px;
  background: radial-gradient(circle, rgba(200,200,255,0.15) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(6px);
  animation: amcc-dust 25s linear infinite;
}

@keyframes amcc-column { 0% { transform: scaleY(1) } 50% { transform: scaleY(0.98) } 100% { transform: scaleY(1.02) } }
@keyframes amcc-moon { 0% { opacity:0.6; transform: translateY(0) } 50% { opacity:0.9; transform: translateY(-3px) } 100% { opacity:0.7; transform: translateY(2px) } }
@keyframes amcc-figure { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(2px) rotate(1deg) } 50% { transform: translateX(0) rotate(-1deg) } 75% { transform: translateX(-2px) rotate(2deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes amcc-shroud { 0% { opacity:0.4; transform: scale(1) } 50% { opacity:0.7; transform: scale(1.05) } 100% { opacity:0.5; transform: scale(0.95) } }
@keyframes amcc-pool { 0% { opacity:0.3 } 50% { opacity:0.5 } 100% { opacity:0.2 } }
@keyframes amcc-dust { 0% { transform: translate(0,0) scale(1) } 50% { transform: translate(10px,-5px) scale(1.2) } 100% { transform: translate(-5px,5px) scale(0.8) } }

/* scene: alexandria-monument-ceasar-visit (tag: amcv) */
.scn-alexandria-monument-ceasar-visit {
  background:
    linear-gradient(180deg, #c8b898 0%, #b8a888 30%, #a89878 60%, #908068 100%),
    radial-gradient(ellipse at 70% 50%, #d8c8a8 0%, transparent 60%);
}
.scn-alexandria-monument-ceasar-visit .sunlit-wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #d8c8a8 0%, #c8b898 40%, #b8a888 100%);
  border-radius: 0 0 30% 30% / 0 0 50% 50%;
  box-shadow: inset 0 20px 60px rgba(0,0,0,0.15);
}
.scn-alexandria-monument-ceasar-visit .floor-tile {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: repeating-conic-gradient(#c8b898 0% 25%, #b8a888 0% 50%) 50% / 60px 60px;
  opacity: 0.4;
  animation: amcv-floor 30s linear infinite;
}
.scn-alexandria-monument-ceasar-visit .caesar-figure {
  position: absolute; bottom: 28%; left: 30%; width: 24px; height: 60px;
  background: linear-gradient(180deg, #1a1210 0%, #0a0808 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: amcv-caesar 5s ease-in-out infinite;
}
.scn-alexandria-monument-ceasar-visit .cleopatra-figure {
  position: absolute; bottom: 28%; left: 55%; width: 22px; height: 58px;
  background: linear-gradient(180deg, #2a1a10 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: amcv-cleopatra 5s ease-in-out infinite 0.3s;
}
.scn-alexandria-monument-ceasar-visit .crown-cushion {
  position: absolute; bottom: 25%; left: 50%; width: 16px; height: 12px;
  background: radial-gradient(ellipse, #d4a854 0%, #b09040 100%);
  border-radius: 50%;
  box-shadow: 0 0 12px 4px rgba(180,144,64,0.5);
  transform: translateX(-50%);
  animation: amcv-crown 8s ease-in-out infinite alternate;
}
.scn-alexandria-monument-ceasar-visit .sunbeam {
  position: absolute; top: 0; left: 20%; width: 40%; height: 100%;
  background: linear-gradient(180deg, rgba(255,255,200,0.1) 0%, transparent 100%);
  clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%);
  filter: blur(4px);
  animation: amcv-beam 12s ease-in-out infinite alternate;
}
.scn-alexandria-monument-ceasar-visit .pillar-left {
  position: absolute; bottom: 25%; left: 10%; width: 10px; height: 75%;
  background: linear-gradient(180deg, #a09070 0%, #88785a 100%);
  border-radius: 2px;
  box-shadow: 2px 0 8px rgba(0,0,0,0.2);
}
.scn-alexandria-monument-ceasar-visit .pillar-right {
  position: absolute; bottom: 25%; right: 10%; width: 10px; height: 75%;
  background: linear-gradient(180deg, #a09070 0%, #88785a 100%);
  border-radius: 2px;
  box-shadow: -2px 0 8px rgba(0,0,0,0.2);
}

@keyframes amcv-floor { 0% { background-position: 0 0 } 100% { background-position: 60px 60px } }
@keyframes amcv-caesar { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(2px) rotate(1deg) } 50% { transform: translateX(0) rotate(-1deg) } 75% { transform: translateX(-2px) rotate(2deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes amcv-cleopatra { 0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(-2px) rotate(1deg) } 50% { transform: translateX(0) rotate(0) } 75% { transform: translateX(2px) rotate(-2deg) } 100% { transform: translateX(0) rotate(1deg) } }
@keyframes amcv-crown { 0% { transform: translateX(-50%) scale(1) } 50% { transform: translateX(-50%) scale(1.05) translateY(-2px) } 100% { transform: translateX(-50%) scale(0.95) translateY(1px) } }
@keyframes amcv-beam { 0% { opacity:0.3 } 50% { opacity:0.6 } 100% { opacity:0.4 } }

/* scene: item-asp-fig-basket (tag: iafb) */
.scn-item-asp-fig-basket {
  background:
    linear-gradient(180deg, #0a0a0f 0%, #1a1a2a 40%, #2a2a3a 70%, #0f0f1a 100%),
    radial-gradient(circle at 40% 60%, #2a1a1a 0%, transparent 70%);
}
.scn-item-asp-fig-basket .basket {
  position: absolute; bottom: 20%; left: 28%; width: 40%; height: 22%;
  background: linear-gradient(180deg, #4a3a20 0%, #2a1a0a 100%);
  border-radius: 0 0 30% 30% / 0 0 50% 50%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
  animation: iafb-basket 10s ease-in-out infinite alternate;
}
.scn-item-asp-fig-basket .figs {
  position: absolute; bottom: 30%; left: 35%; width: 26%; height: 12%;
  background: radial-gradient(ellipse, #2a3a20 0%, #1a2a10 60%, transparent 100%);
  border-radius: 50%;
  filter: blur(1px);
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: iafb-figs 14s ease-in-out infinite alternate;
}
.scn-item-asp-fig-basket .asp-coil {
  position: absolute; bottom: 32%; left: 45%; width: 12px; height: 8px;
  background: radial-gradient(ellipse, #3a4a2a 0%, #2a3a1a 100%);
  border-radius: 50%;
  transform: rotate(30deg);
  box-shadow: 0 0 4px 1px rgba(0,0,0,0.4);
  animation: iafb-asp 3s ease-in-out infinite;
}
.scn-item-asp-fig-basket .hand-reach {
  position: absolute; bottom: 38%; left: 30%; width: 16px; height: 20px;
  background: linear-gradient(180deg, #2a1a10 0%, #1a0a00 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom right;
  animation: iafb-hand 4s ease-in-out infinite alternate;
}
.scn-item-asp-fig-basket .crown-glow {
  position: absolute; top: 35%; left: 42%; width: 20px; height: 12px;
  background: radial-gradient(ellipse, #d4a854 0%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 6px rgba(180,144,64,0.4);
  animation: iafb-crown 6s ease-in-out infinite alternate;
}
.scn-item-asp-fig-basket .shadow-wrap {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 40%, transparent 30%, rgba(0,0,0,0.7) 100%);
  pointer-events: none;
  animation: iafb-shadow 18s ease-in-out infinite alternate;
}
.scn-item-asp-fig-basket .droplet {
  position: absolute; bottom: 28%; left: 55%; width: 4px; height: 6px;
  background: radial-gradient(circle, #6a8a7a 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(1px);
  animation: iafb-droplet 5s ease-in-out infinite;
}

@keyframes iafb-basket { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(1px) } }
@keyframes iafb-figs { 0% { transform: scale(1) } 50% { transform: scale(1.03) } 100% { transform: scale(0.97) } }
@keyframes iafb-asp { 0% { transform: rotate(25deg) scale(1) } 50% { transform: rotate(35deg) scale(1.1) } 100% { transform: rotate(20deg) scale(0.95) } }
@keyframes iafb-hand { 0% { transform: translate(0,0) rotate(-5deg) } 50% { transform: translate(2px,-1px) rotate(0deg) } 100% { transform: translate(-1px,1px) rotate(5deg) } }
@keyframes iafb-crown { 0% { opacity:0.3; transform: scale(0.8) } 50% { opacity:0.7; transform: scale(1.1) } 100% { opacity:0.4; transform: scale(0.9) } }
@keyframes iafb-shadow { 0% { opacity:0.5 } 50% { opacity:0.7 } 100% { opacity:0.4 } }
@keyframes iafb-droplet { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-3px) rotate(-10deg) } 100% { transform: translateY(0) rotate(10deg) } }

/* --- Scene 1: another-part-plain-antony-scarus --- */
.scn-another-part-plain-antony-scarus {
  background: linear-gradient(180deg, #f7e8c8 0%, #d4c4a0 30%, #b8a88a 60%, #9a8a70 100%), radial-gradient(ellipse at 50% 0%, #fff8e0 0%, transparent 60%);
}
.scn-another-part-plain-antony-scarus .sky {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #96b8d0 0%, #c0d4e0 50%, transparent 100%);
  animation: apas-sky 10s ease-in-out infinite alternate;
}
.scn-another-part-plain-antony-scarus .sun {
  position: absolute; top: 8%; right: 20%; width: 50px; height: 50px;
  background: radial-gradient(circle, #ffdda0 0%, #ffe088 40%, transparent 70%);
  border-radius: 50%; box-shadow: 0 0 60px 20px #ffd080;
  animation: apas-sun 12s ease-in-out infinite;
}
.scn-another-part-plain-antony-scarus .plain {
  position: absolute; bottom: 0; left: 0; right: 0; height: 55%;
  background: linear-gradient(180deg, #b8a070 0%, #8a7a50 30%, #6a5a30 100%);
  border-radius: 60% 40% 0 0 / 30% 20% 0 0;
  animation: apas-plain 18s ease-in-out infinite alternate;
}
.scn-another-part-plain-antony-scarus .pine {
  position: absolute; bottom: 40%; left: 30%; width: 12px; height: 80px;
  background: linear-gradient(180deg, #3a4a2a 0%, #1a2a12 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 20% 20%;
  box-shadow: inset -3px 0 6px rgba(0,0,0,0.4);
  animation: apas-pine 8s ease-in-out infinite alternate;
}
.scn-another-part-plain-antony-scarus .pine::before { /* trunk */
  content: ''; position: absolute; bottom: -20%; left: 50%; transform: translateX(-50%);
  width: 4px; height: 20px; background: #4a3a22;
}
.scn-another-part-plain-antony-scarus .sail {
  position: absolute; bottom: 50%; right: 15%; width: 40px; height: 50px;
  background: linear-gradient(135deg, #e8dcc0 0%, #c8b898 100%);
  clip-path: polygon(0 0, 100% 10%, 100% 90%, 0 100%);
  animation: apas-sail 14s ease-in-out infinite;
}
.scn-another-part-plain-antony-scarus .swallow-a {
  position: absolute; top: 25%; left: 20%; width: 30px; height: 8px;
  background: #2a2a2a; border-radius: 50% 50% 20% 20% / 100% 100% 30% 30%;
  transform: rotate(-10deg);
  animation: apas-swallow 6s ease-in-out infinite;
}
.scn-another-part-plain-antony-scarus .swallow-a::before {
  content: ''; position: absolute; top: -6px; left: -2px; width: 0; height: 0;
  border: 6px solid transparent; border-bottom: 8px solid #2a2a2a;
}
.scn-another-part-plain-antony-scarus .swallow-b {
  top: 28%; left: 28%; width: 24px; height: 6px;
  background: #3a3a3a; border-radius: 50% 50% 20% 20% / 100% 100% 30% 30%;
  animation: apas-swallow 7s ease-in-out infinite 2s;
}
.scn-another-part-plain-antony-scarus .shadow {
  position: absolute; bottom: 40%; left: 25%; width: 60px; height: 10px;
  background: rgba(0,0,0,0.2); border-radius: 50%; filter: blur(4px);
  animation: apas-shadow 8s ease-in-out infinite alternate;
}
@keyframes apas-sky { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes apas-sun { 0%,100% { transform: scale(1); opacity:0.9; } 50% { transform: scale(1.05); opacity:1; } }
@keyframes apas-plain { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }
@keyframes apas-pine { 0%,100% { transform: rotate(-1deg); } 50% { transform: rotate(1deg); } }
@keyframes apas-sail { 0%,100% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(3px) rotate(-2deg); } }
@keyframes apas-swallow { 0% { transform: translateX(0) rotate(-10deg); } 25% { transform: translateX(20px) rotate(-5deg); } 50% { transform: translateX(40px) rotate(0deg); } 75% { transform: translateX(60px) rotate(5deg); } 100% { transform: translateX(80px) rotate(10deg); } }
@keyframes apas-shadow { 0% { transform: scaleX(1); opacity:0.2; } 100% { transform: scaleX(1.3); opacity:0.4; } }

/* --- Scene 2: alexandria-monument-cleopatra-hides --- */
.scn-alexandria-monument-cleopatra-hides {
  background: linear-gradient(180deg, #f0e0c0 0%, #d8c8a8 30%, #c0b090 60%, #a89878 100%),
              radial-gradient(ellipse at 50% 100%, #d8b878 0%, transparent 70%);
}
.scn-alexandria-monument-cleopatra-hides .wall-bg {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(135deg, #e8d8b8 0%, #c8b898 100%);
  animation: amch-wall 12s ease-in-out infinite alternate;
}
.scn-alexandria-monument-cleopatra-hides .column-left {
  position: absolute; bottom: 5%; left: 10%; width: 20px; height: 80%;
  background: linear-gradient(90deg, #c8b898 0%, #e0d0b0 50%, #c0a888 100%);
  border-radius: 4px; box-shadow: 2px 0 8px rgba(0,0,0,0.2);
  animation: amch-column 15s ease-in-out infinite alternate;
}
.scn-alexandria-monument-cleopatra-hides .column-right {
  position: absolute; bottom: 5%; right: 10%; width: 20px; height: 80%;
  background: linear-gradient(90deg, #c8b898 0%, #e0d0b0 50%, #c0a888 100%);
  border-radius: 4px; box-shadow: -2px 0 8px rgba(0,0,0,0.2);
  animation: amch-column 15s ease-in-out infinite alternate 3s;
}
.scn-alexandria-monument-cleopatra-hides .monument {
  position: absolute; bottom: 20%; left: 50%; transform: translateX(-50%);
  width: 80px; height: 100px;
  background: linear-gradient(180deg, #b0a080 0%, #908060 50%, #706040 100%);
  border-radius: 40% 40% 10% 10% / 60% 60% 20% 20%;
  box-shadow: inset 0 -10px 20px rgba(0,0,0,0.3);
  animation: amch-monument 20s ease-in-out infinite alternate;
}
.scn-alexandria-monument-cleopatra-hides .curtain {
  position: absolute; top: 0; left: 25%; width: 50%; height: 40%;
  background: linear-gradient(180deg, #b87878 0%, #905858 100%);
  border-radius: 0 0 40% 40% / 0 0 60% 60%;
  box-shadow: 0 10px 20px rgba(0,0,0,0.3);
  animation: amch-curtain 8s ease-in-out infinite;
}
.scn-alexandria-monument-cleopatra-hides .figure-hiding {
  position: absolute; bottom: 30%; left: 42%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #d8c0a0 0%, #b09878 50%, #8a7050 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  animation: amch-figure 6s ease-in-out infinite;
}
.scn-alexandria-monument-cleopatra-hides .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #d8c8a8 0%, #b8a888 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0;
  box-shadow: inset 0 8px 12px rgba(0,0,0,0.2);
}
@keyframes amch-wall { 0% { opacity:0.9; } 100% { opacity:1; } }
@keyframes amch-column { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.01); } 100% { transform: scaleY(0.98); } }
@keyframes amch-monument { 0% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-2px); } 100% { transform: translateX(-50%) translateY(2px); } }
@keyframes amch-curtain { 0%,100% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(2px) rotate(1deg); } }
@keyframes amch-figure { 0% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(3px) rotate(0deg); } 50% { transform: translateX(6px) rotate(2deg); } 75% { transform: translateX(3px) rotate(0deg); } 100% { transform: translateX(0) rotate(-2deg); } }

/* --- Scene 3: alexandria-palace-antony-hears-news --- */
.scn-alexandria-palace-antony-hears-news {
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 30%, #0a0a1a 60%, #05050f 100%),
              radial-gradient(ellipse at 50% 20%, #3a3a5a 0%, transparent 70%);
}
.scn-alexandria-palace-antony-hears-news .room-bg {
  position: absolute; inset: 0 0 15% 0;
  background: linear-gradient(135deg, #3a3a4a 0%, #2a2a3a 50%, #1a1a2a 100%);
  animation: apah-room 10s ease-in-out infinite alternate;
}
.scn-alexandria-palace-antony-hears-news .window-frame {
  position: absolute; top: 10%; left: 35%; width: 30%; height: 45%;
  background: transparent;
  border: 6px solid #5a4a3a;
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(100,80,60,0.5);
  animation: apah-window 15s ease-in-out infinite;
}
.scn-alexandria-palace-antony-hears-news .cloud-dragon {
  position: absolute; top: 18%; left: 48%; width: 70px; height: 30px;
  background: linear-gradient(180deg, rgba(120,80,60,0.6) 0%, rgba(60,40,30,0.3) 100%);
  border-radius: 40% 60% 20% 80% / 50% 50% 50% 50%;
  filter: blur(3px);
  animation: apah-dragon 20s linear infinite;
}
.scn-alexandria-palace-antony-hears-news .cloud-lion {
  position: absolute; top: 25%; left: 55%; width: 50px; height: 25px;
  background: linear-gradient(180deg, rgba(100,70,50,0.6) 0%, rgba(50,35,25,0.3) 100%);
  border-radius: 30% 70% 50% 50% / 60% 40% 60% 40%;
  filter: blur(3px);
  animation: apah-lion 25s linear infinite reverse;
}
.scn-alexandria-palace-antony-hears-news .antony-silhouette {
  position: absolute; bottom: 20%; left: 40%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #0a0a0f 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: apah-antony 8s ease-in-out infinite;
}
.scn-alexandria-palace-antony-hears-news .eros-figure {
  position: absolute; bottom: 20%; left: 55%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: apah-eros 8s ease-in-out infinite 3s;
}
.scn-alexandria-palace-antony-hears-news .shadow-pillar {
  position: absolute; bottom: 15%; left: 20%; width: 16px; height: 70%;
  background: linear-gradient(90deg, #1a1a2a 0%, #2a2a3a 50%, #1a1a2a 100%);
  border-radius: 2px;
  box-shadow: 4px 0 12px rgba(0,0,0,0.6);
  animation: apah-pillar 12s ease-in-out infinite alternate;
}
@keyframes apah-room { 0% { opacity:0.7; } 100% { opacity:1; } }
@keyframes apah-window { 0%,100% { transform: scale(1); } 50% { transform: scale(1.01); } }
@keyframes apah-dragon { 0% { transform: translateX(0) scaleX(1); } 50% { transform: translateX(-20px) scaleX(1.2); } 100% { transform: translateX(-40px) scaleX(0.9); } }
@keyframes apah-lion { 0% { transform: translateX(0) rotate(-5deg); } 50% { transform: translateX(15px) rotate(5deg); } 100% { transform: translateX(30px) rotate(-3deg); } }
@keyframes apah-antony { 0% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(5px) rotate(1deg); } 50% { transform: translateX(10px) rotate(0deg); } 75% { transform: translateX(5px) rotate(-1deg); } 100% { transform: translateX(0) rotate(2deg); } }
@keyframes apah-eros { 0% { transform: translateX(0) rotate(1deg); } 25% { transform: translateX(-3px) rotate(-1deg); } 50% { transform: translateX(-6px) rotate(0deg); } 75% { transform: translateX(-3px) rotate(1deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes apah-pillar { 0% { transform: scaleY(1); } 100% { transform: scaleY(1.02); } }

/* --- Scene 4: alexandria-monument-palace --- */
.scn-alexandria-monument-palace {
  background: linear-gradient(180deg, #0a1222 0%, #14203a 30%, #1a2a4a 60%, #0e1a30 100%),
              radial-gradient(ellipse at 50% 0%, #2a4060 0%, transparent 70%);
}
.scn-alexandria-monument-palace .moon-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #0a1222 0%, #14203a 50%, #1a2a4a 100%);
  animation: amp-sky 20s ease-in-out infinite alternate;
}
.scn-alexandria-monument-palace .moon {
  position: absolute; top: 8%; left: 70%; width: 40px; height: 40px;
  background: radial-gradient(circle, #e0e8f0 0%, #c0d0e0 50%, transparent 70%);
  border-radius: 50%; box-shadow: 0 0 60px 20px #c0d0e0, 0 0 120px 40px rgba(192,208,224,0.3);
  animation: amp-moon 15s ease-in-out infinite;
}
.scn-alexandria-monument-palace .colonnade-left {
  position: absolute; bottom: 5%; left: 5%; width: 18px; height: 70%;
  background: linear-gradient(90deg, #4a5a6a 0%, #6a7a8a 50%, #4a5a6a 100%);
  border-radius: 4px; box-shadow: 2px 0 12px rgba(0,0,0,0.5);
  animation: amp-column 18s ease-in-out infinite alternate;
}
.scn-alexandria-monument-palace .colonnade-right {
  position: absolute; bottom: 5%; right: 5%; width: 18px; height: 70%;
  background: linear-gradient(90deg, #4a5a6a 0%, #6a7a8a 50%, #4a5a6a 100%);
  border-radius: 4px; box-shadow: -2px 0 12px rgba(0,0,0,0.5);
  animation: amp-column 18s ease-in-out infinite alternate 4s;
}
.scn-alexandria-monument-palace .bearers {
  position: absolute; bottom: 12%; left: 30%; width: 60px; height: 30px;
  background: transparent;
  display: flex; justify-content: space-between;
}
.scn-alexandria-monument-palace .bearers::before,
.scn-alexandria-monument-palace .bearers::after {
  content: ''; width: 18px; height: 30px;
  background: linear-gradient(180deg, #2a3040 0%, #1a2030 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
}
.scn-alexandria-monument-palace .antony-borne {
  position: absolute; bottom: 22%; left: 42%; width: 50px; height: 30px;
  background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 50%, #1a1a2a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
  animation: amp-borne 10s ease-in-out infinite;
}
.scn-alexandria-monument-palace .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 12%;
  background: linear-gradient(180deg, #3a4a5a 0%, #2a3a4a 100%);
  border-radius: 30% 30% 0 0 / 60% 60% 0 0;
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.4);
}
.scn-alexandria-monument-palace .silver-light {
  position: absolute; top: 10%; left: 30%; width: 40%; height: 40%;
  background: radial-gradient(ellipse, rgba(192,208,224,0.15) 0%, transparent 100%);
  animation: amp-light 12s ease-in-out infinite alternate;
}
@keyframes amp-sky { 0% { opacity:0.6; } 100% { opacity:0.9; } }
@keyframes amp-moon { 0%,100% { transform: scale(1); opacity:0.9; } 50% { transform: scale(1.02); opacity:1; } }
@keyframes amp-column { 0% { transform: scaleY(1); } 100% { transform: scaleY(1.01); } }
@keyframes amp-borne { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-3px) rotate(1deg); } }
@keyframes amp-light { 0% { opacity:0.4; } 100% { opacity:0.8; } }

/* near-actium-plain-caesar-taurus */
.scn-near-actium-plain-caesar-taurus {
  background: linear-gradient(180deg, #6a9ec4 0%, #3e6d8c 40%, #1a3a4a 100%),
              radial-gradient(ellipse at 50% 60%, #f0e8c0 0%, transparent 70%);
}
.scn-near-actium-plain-caesar-taurus .cp-sky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #c0d8e8 0%, #6a9ec4 60%, transparent 100%);
  animation: cp-sky 12s ease-in-out infinite alternate;
}
.scn-near-actium-plain-caesar-taurus .cp-sun {
  position: absolute; top: 12%; left: 65%; width: 60px; height: 60px;
  background: radial-gradient(circle, #ffe680 0%, #f0b040 50%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(255,230,128,0.5);
  animation: cp-sun 8s ease-in-out infinite alternate;
}
.scn-near-actium-plain-caesar-taurus .cp-sea {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #1a4a5a 0%, #1a5a6a 50%, #0a2a3a 100%);
  border-radius: 20% 30% 0 0 / 40% 60% 0 0;
  animation: cp-sea 10s ease-in-out infinite alternate;
}
.scn-near-actium-plain-caesar-taurus .cp-ship-a {
  position: absolute; bottom: 18%; left: 20%; width: 80px; height: 40px;
  background: linear-gradient(180deg, #5a3a1a 0%, #2a1a0a 100%);
  border-radius: 0 0 30% 30% / 0 0 60% 60%;
  clip-path: polygon(5% 0%, 95% 0%, 100% 100%, 0% 100%);
  animation: cp-ship-a 12s ease-in-out infinite;
}
.scn-near-actium-plain-caesar-taurus .cp-ship-b {
  position: absolute; bottom: 20%; right: 25%; width: 60px; height: 30px;
  background: linear-gradient(180deg, #4a2a1a 0%, #1a0a0a 100%);
  border-radius: 0 0 30% 30% / 0 0 60% 60%;
  clip-path: polygon(5% 0%, 95% 0%, 100% 100%, 0% 100%);
  animation: cp-ship-b 14s ease-in-out infinite reverse;
}
.scn-near-actium-plain-caesar-taurus .cp-banner-a {
  position: absolute; bottom: 20%; left: 20%; width: 8px; height: 20px;
  background: #8a3a1a;
  border-radius: 2px;
  transform-origin: bottom center;
  animation: cp-banner 3s ease-in-out infinite alternate;
}
.scn-near-actium-plain-caesar-taurus .cp-banner-b {
  position: absolute; bottom: 22%; right: 28%; width: 8px; height: 18px;
  background: #7a2a1a;
  border-radius: 2px;
  transform-origin: bottom center;
  animation: cp-banner 3.5s ease-in-out infinite alternate-reverse;
}
.scn-near-actium-plain-caesar-taurus .cp-figure {
  position: absolute; bottom: 15%; left: 10%; width: 16px; height: 32px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: cp-figure 6s ease-in-out infinite;
}
@keyframes cp-sky { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.7 } }
@keyframes cp-sun { 0% { transform: scale(1); box-shadow: 0 0 30px 10px rgba(255,230,128,0.4); } 50% { transform: scale(1.05); box-shadow: 0 0 50px 25px rgba(255,230,128,0.6); } 100% { transform: scale(0.98); box-shadow: 0 0 35px 15px rgba(255,230,128,0.45); } }
@keyframes cp-sea { 0% { border-radius: 20% 30% 0 0 / 40% 60% 0 0; } 50% { border-radius: 25% 35% 0 0 / 50% 70% 0 0; } 100% { border-radius: 20% 30% 0 0 / 40% 60% 0 0; } }
@keyframes cp-ship-a { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-3px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes cp-ship-b { 0% { transform: translateY(0) rotate(1deg); } 50% { transform: translateY(-2px) rotate(-1deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes cp-banner { 0% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } 100% { transform: rotate(-5deg); } }
@keyframes cp-figure { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 50% { transform: translateX(10px) translateY(-1px) rotate(2deg); } 100% { transform: translateX(20px) translateY(0) rotate(-2deg); } }

/* near-actium-plain-antony-enobarbus */
.scn-near-actium-plain-antony-enobarbus {
  background: linear-gradient(180deg, #5a8ea0 0%, #2a5060 50%, #0a2030 100%),
              radial-gradient(ellipse at 40% 70%, #f0d8a0 0%, transparent 60%);
}
.scn-near-actium-plain-antony-enobarbus .ap-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #b0c8d8 0%, #5a8ea0 60%, transparent 100%);
  animation: ap-sky 15s ease-in-out infinite alternate;
}
.scn-near-actium-plain-antony-enobarbus .ap-sun {
  position: absolute; top: 10%; left: 30%; width: 50px; height: 50px;
  background: radial-gradient(circle, #ffe070 0%, #e0a030 50%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 30px 15px rgba(255,224,112,0.5);
  animation: ap-sun 10s ease-in-out infinite alternate;
}
.scn-near-actium-plain-antony-enobarbus .ap-hill {
  position: absolute; bottom: 20%; left: -10%; right: -10%; height: 30%;
  background: linear-gradient(180deg, #2a4a3a 0%, #1a2a1a 100%);
  border-radius: 60% 40% 0 0 / 80% 60% 0 0;
  box-shadow: inset 0 5px 15px rgba(0,0,0,0.4);
  animation: ap-hill 20s ease-in-out infinite alternate;
}
.scn-near-actium-plain-antony-enobarbus .ap-grass {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #3a5a2a 0%, #1a2a0a 100%);
  border-radius: 30% 70% 0 0 / 60% 80% 0 0;
  animation: ap-grass 8s ease-in-out infinite alternate;
}
.scn-near-actium-plain-antony-enobarbus .ap-figure-1 {
  position: absolute; bottom: 28%; left: 25%; width: 18px; height: 36px;
  background: linear-gradient(180deg, #2a1a1a 0%, #0a0a0a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: ap-figure1 8s ease-in-out infinite;
}
.scn-near-actium-plain-antony-enobarbus .ap-figure-2 {
  position: absolute; bottom: 30%; left: 35%; width: 16px; height: 32px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: ap-figure2 9s ease-in-out infinite reverse;
}
.scn-near-actium-plain-antony-enobarbus .ap-spear {
  position: absolute; bottom: 30%; left: 22%; width: 4px; height: 20px;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%);
  border-radius: 1px;
  transform: rotate(5deg);
  animation: ap-spear 6s ease-in-out infinite alternate;
}
.scn-near-actium-plain-antony-enobarbus .ap-standard {
  position: absolute; bottom: 32%; left: 38%; width: 6px; height: 24px;
  background: #6a3a1a;
  border-radius: 2px;
  transform-origin: bottom center;
  animation: ap-standard 4s ease-in-out infinite alternate;
}
.scn-near-actium-plain-antony-enobarbus .ap-cloud {
  position: absolute; top: 18%; right: 10%; width: 70px; height: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.4) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(5px);
  animation: ap-cloud 40s linear infinite;
}
@keyframes ap-sky { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.7 } }
@keyframes ap-sun { 0% { transform: scale(1); box-shadow: 0 0 20px 10px rgba(255,224,112,0.4); } 50% { transform: scale(1.08); box-shadow: 0 0 40px 20px rgba(255,224,112,0.6); } 100% { transform: scale(0.95); box-shadow: 0 0 25px 12px rgba(255,224,112,0.45); } }
@keyframes ap-hill { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-4px) scaleX(1.02); } 100% { transform: translateY(0) scaleX(1); } }
@keyframes ap-grass { 0% { border-radius: 30% 70% 0 0 / 60% 80% 0 0; } 50% { border-radius: 40% 60% 0 0 / 70% 70% 0 0; } 100% { border-radius: 30% 70% 0 0 / 60% 80% 0 0; } }
@keyframes ap-figure1 { 0% { transform: translateX(0) rotate(1deg); } 50% { transform: translateX(8px) rotate(-1deg); } 100% { transform: translateX(16px) rotate(1deg); } }
@keyframes ap-figure2 { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(-6px) rotate(1deg); } 100% { transform: translateX(-12px) rotate(-1deg); } }
@keyframes ap-spear { 0% { transform: rotate(4deg); } 50% { transform: rotate(8deg); } 100% { transform: rotate(4deg); } }
@keyframes ap-standard { 0% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-3deg); } }
@keyframes ap-cloud { 0% { transform: translateX(0); } 100% { transform: translateX(-120vw); } }

/* before-alexandria-caesar-camp */
.scn-before-alexandria-caesar-camp {
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 40%, #1a0a00 100%),
              radial-gradient(ellipse at 50% 80%, #c08040 0%, transparent 70%);
}
.scn-before-alexandria-caesar-camp .cc-tent {
  position: absolute; bottom: 0; left: 10%; right: 10%; height: 50%;
  background: linear-gradient(180deg, #6a5a3a 0%, #3a2a1a 60%, #2a1a0a 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0;
  clip-path: polygon(10% 0%, 90% 0%, 100% 100%, 0% 100%);
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.6);
  animation: cc-tent 15s ease-in-out infinite alternate;
}
.scn-before-alexandria-caesar-camp .cc-table {
  position: absolute; bottom: 12%; left: 30%; right: 30%; height: 8%;
  background: linear-gradient(180deg, #5a3a1a 0%, #2a1a0a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: cc-table 12s ease-in-out infinite alternate;
}
.scn-before-alexandria-caesar-camp .cc-letter {
  position: absolute; bottom: 18%; left: 38%; width: 60px; height: 40px;
  background: linear-gradient(180deg, #d8c8a0 0%, #b0a080 100%);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  transform: rotate(-5deg);
  animation: cc-letter 6s ease-in-out infinite alternate;
}
.scn-before-alexandria-caesar-camp .cc-candle {
  position: absolute; bottom: 22%; left: 45%; width: 4px; height: 20px;
  background: #d8c8a0;
  border-radius: 2px;
  animation: cc-candle 3s ease-in-out infinite alternate;
}
.scn-before-alexandria-caesar-camp .cc-chest {
  position: absolute; bottom: 8%; right: 15%; width: 40px; height: 30px;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%);
  border-radius: 4px;
  box-shadow: 0 3px 6px rgba(0,0,0,0.4);
  animation: cc-chest 18s ease-in-out infinite alternate;
}
.scn-before-alexandria-caesar-camp .cc-caesar {
  position: absolute; bottom: 14%; left: 35%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: cc-caesar 8s ease-in-out infinite;
}
.scn-before-alexandria-caesar-camp .cc-shadow {
  position: absolute; bottom: 10%; left: 30%; right: 40%; height: 6%;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.3) 0%, transparent 80%);
  animation: cc-shadow 10s ease-in-out infinite alternate;
}
@keyframes cc-tent { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes cc-table { 0% { transform: translateY(0); box-shadow: 0 4px 8px rgba(0,0,0,0.5); } 50% { transform: translateY(-2px); box-shadow: 0 6px 12px rgba(0,0,0,0.5); } 100% { transform: translateY(0); box-shadow: 0 4px 8px rgba(0,0,0,0.5); } }
@keyframes cc-letter { 0% { transform: rotate(-5deg); } 50% { transform: rotate(-3deg); } 100% { transform: rotate(-7deg); } }
@keyframes cc-candle { 0% { opacity: 0.8; transform: scaleY(1); } 50% { opacity: 1; transform: scaleY(1.05); } 100% { opacity: 0.9; transform: scaleY(0.98); } }
@keyframes cc-chest { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes cc-caesar { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(4px) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes cc-shadow { 0% { opacity: 0.6; transform: scaleX(1); } 50% { opacity: 0.4; transform: scaleX(1.2); } 100% { opacity: 0.6; transform: scaleX(1); } }

/* between-camps-antony-scarus */
.scn-between-camps-antony-scarus {
  background: linear-gradient(180deg, #5a7a8a 0%, #2a4a5a 40%, #0a1a2a 100%),
              radial-gradient(ellipse at 50% 40%, #f0d8a0 0%, transparent 80%);
}
.scn-between-camps-antony-scarus .bs-sky {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #c0d0d8 0%, #5a7a8a 60%, transparent 100%);
  animation: bs-sky 18s ease-in-out infinite alternate;
}
.scn-between-camps-antony-scarus .bs-sun {
  position: absolute; top: 15%; left: 55%; width: 55px; height: 55px;
  background: radial-gradient(circle, #ffe890 0%, #d8a030 50%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(255,232,144,0.5);
  animation: bs-sun 9s ease-in-out infinite alternate;
}
.scn-between-camps-antony-scarus .bs-hills {
  position: absolute; bottom: 25%; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%);
  border-radius: 50% 40% 0 0 / 70% 60% 0 0;
  box-shadow: inset 0 5px 15px rgba(0,0,0,0.4);
  animation: bs-hills 14s ease-in-out infinite alternate;
}
.scn-between-camps-antony-scarus .bs-soldiers {
  position: absolute; bottom: 20%; left: 15%; right: 15%; height: 12%;
  background: repeating-linear-gradient(90deg, transparent 0px, transparent 8px, #1a1a2a 8px, #1a1a2a 10px);
  mask-image: linear-gradient(180deg, #000 0%, transparent 100%);
  animation: bs-soldiers 6s ease-in-out infinite alternate;
}
.scn-between-camps-antony-scarus .bs-antony {
  position: absolute; bottom: 22%; left: 30%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: bs-antony 7s ease-in-out infinite;
}
.scn-between-camps-antony-scarus .bs-scarus {
  position: absolute; bottom: 24%; left: 42%; width: 18px; height: 36px;
  background: linear-gradient(180deg, #2a1a1a 0%, #0a0a0a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: bs-scarus 8s ease-in-out infinite reverse;
}
.scn-between-camps-antony-scarus .bs-standard {
  position: absolute; bottom: 28%; left: 35%; width: 6px; height: 30px;
  background: #6a3a1a;
  border-radius: 2px;
  transform-origin: bottom center;
  animation: bs-standard 5s ease-in-out infinite alternate;
}
.scn-between-camps-antony-scarus .bs-cloud {
  position: absolute; top: 20%; left: 10%; width: 80px; height: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,0.35) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(6px);
  animation: bs-cloud 45s linear infinite;
}
@keyframes bs-sky { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.7 } }
@keyframes bs-sun { 0% { transform: scale(1); box-shadow: 0 0 30px 15px rgba(255,232,144,0.4); } 50% { transform: scale(1.06); box-shadow: 0 0 50px 25px rgba(255,232,144,0.6); } 100% { transform: scale(0.95); box-shadow: 0 0 35px 18px rgba(255,232,144,0.45); } }
@keyframes bs-hills { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }
@keyframes bs-soldiers { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes bs-antony { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(6px) rotate(2deg); } 100% { transform: translateX(12px) rotate(0deg); } }
@keyframes bs-scarus { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-5px) rotate(-2deg); } 100% { transform: translateX(-10px) rotate(0deg); } }
@keyframes bs-standard { 0% { transform: rotate(-4deg); } 50% { transform: rotate(4deg); } 100% { transform: rotate(-4deg); } }
@keyframes bs-cloud { 0% { transform: translateX(0); } 100% { transform: translateX(120vw); } }

/* Scene: athens-antony-octavia-argument */
.scn-athens-antony-octavia-argument {
  background: 
    linear-gradient(135deg, #f5e6ca 0%, #d9c9ae 40%, #b8a58f 100%),
    radial-gradient(ellipse at 30% 80%, #fdf4e3 0%, transparent 60%);
}
.scn-athens-antony-octavia-argument .wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #e3d0b8 0%, #c8b39e 100%);
  box-shadow: inset 0 -8px 20px rgba(0,0,0,0.08);
}
.scn-athens-antony-octavia-argument .window {
  position: absolute; top: 15%; left: 20%; width: 35%; height: 40%;
  background: radial-gradient(ellipse at 50% 30%, #fff9e6 0%, #d4c8b0 70%);
  border-radius: 6px;
  box-shadow: inset 0 0 30px rgba(255,220,150,0.3);
  animation: aao-window 8s ease-in-out infinite alternate;
}
.scn-athens-antony-octavia-argument .table {
  position: absolute; bottom: 28%; left: 35%; width: 30%; height: 8%;
  background: linear-gradient(180deg, #8b7a6b 0%, #6b5d50 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 6px 14px rgba(0,0,0,0.3);
}
.scn-athens-antony-octavia-argument .scroll {
  position: absolute; bottom: 34%; left: 48%; width: 4%; height: 6%;
  background: linear-gradient(180deg, #f0e0c0 0%, #d6c29a 100%);
  border-radius: 40% 40% 20% 20%;
  transform-origin: bottom center;
  animation: aao-scroll 4s ease-in-out infinite;
}
.scn-athens-antony-octavia-argument .figure-antony {
  position: absolute; bottom: 20%; left: 28%; width: 10%; height: 30%;
  background: linear-gradient(180deg, #2c2a2e 0%, #151418 100%);
  border-radius: 45% 45% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: aao-figure-ant 3s ease-in-out infinite;
}
.scn-athens-antony-octavia-argument .figure-octavia {
  position: absolute; bottom: 20%; right: 28%; width: 9%; height: 28%;
  background: linear-gradient(180deg, #3a3430 0%, #1e1b18 100%);
  border-radius: 45% 45% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: aao-figure-oct 3s ease-in-out infinite reverse;
}
.scn-athens-antony-octavia-argument .shadow-floor {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 10%;
  background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.15) 0%, transparent 90%);
  filter: blur(6px);
  animation: aao-shadow 6s ease-in-out infinite;
}
@keyframes aao-window { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes aao-scroll { 0% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(3deg) translateY(-2px) scaleY(1.05); } 100% { transform: rotate(-2deg) translateY(0); } }
@keyframes aao-figure-ant { 0% { transform: skewX(0) translateX(0); } 30% { transform: skewX(2deg) translateX(4px) rotate(1deg); } 70% { transform: skewX(-1deg) translateX(-2px) rotate(-1deg); } 100% { transform: skewX(0) translateX(0); } }
@keyframes aao-figure-oct { 0% { transform: skewX(0) translateX(0); } 40% { transform: skewX(-2deg) translateX(-3px) rotate(-1deg); } 60% { transform: skewX(1deg) translateX(2px) rotate(1deg); } 100% { transform: skewX(0) translateX(0); } }
@keyframes aao-shadow { 0% { opacity: 0.5; transform: scaleX(1); } 50% { opacity: 0.8; transform: scaleX(1.2); } 100% { opacity: 0.4; transform: scaleX(0.9); } }

/* Scene: athens-enobarbus-eros-news */
.scn-athens-enobarbus-eros-news {
  background: 
    linear-gradient(180deg, #efe0cc 0%, #d6c6b2 50%, #bdb09e 100%),
    radial-gradient(ellipse at 70% 60%, #fcf3e6 0%, transparent 70%);
}
.scn-athens-enobarbus-eros-news .column-bg {
  position: absolute; inset: 10% 0 0 0;
  background: repeating-linear-gradient(90deg, transparent, transparent 10%, #e3d5c0 10%, #d6c8b0 12%);
  opacity: 0.15;
}
.scn-athens-enobarbus-eros-news .floor-tiles {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: repeating-linear-gradient(45deg, #ddd0be 0px, #ddd0be 4px, #c9bcac 4px, #c9bcac 8px);
  opacity: 0.3;
  animation: aee-floor 12s linear infinite;
}
.scn-athens-enobarbus-eros-news .doorway {
  position: absolute; bottom: 18%; left: 50%; width: 20%; height: 60%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #c8b8a4 0%, #b0a08c 100%);
  border-radius: 50% 50% 0 0 / 30% 30% 0 0;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.1);
}
.scn-athens-enobarbus-eros-news .figure-enobarbus {
  position: absolute; bottom: 10%; left: 30%; width: 10%; height: 30%;
  background: linear-gradient(180deg, #2a2826 0%, #121010 100%);
  border-radius: 45% 45% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: aee-figure-1 3.5s ease-in-out infinite;
}
.scn-athens-enobarbus-eros-news .figure-eros {
  position: absolute; bottom: 10%; right: 30%; width: 9%; height: 28%;
  background: linear-gradient(180deg, #34302c 0%, #1a1816 100%);
  border-radius: 45% 45% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: aee-figure-2 3.5s ease-in-out infinite reverse;
}
.scn-athens-enobarbus-eros-news .tablet-news {
  position: absolute; bottom: 20%; left: 48%; width: 4%; height: 6%;
  background: linear-gradient(180deg, #d4c29a 0%, #b8a47c 100%);
  border-radius: 20% 20% 10% 10%;
  transform-origin: center;
  animation: aee-tablet 4s ease-in-out infinite;
}
.scn-athens-enobarbus-eros-news .lamp {
  position: absolute; top: 15%; right: 18%; width: 3%; height: 5%;
  background: radial-gradient(circle, #ffe082 0%, #d4a854 70%);
  border-radius: 50%;
  box-shadow: 0 0 25px 8px rgba(255,200,100,0.4);
  animation: aee-lamp 2s ease-in-out infinite alternate;
}
@keyframes aee-floor { 0% { background-position: 0 0; } 100% { background-position: 20px 20px; } }
@keyframes aee-figure-1 { 0% { transform: rotate(0deg) translateX(0); } 25% { transform: rotate(2deg) translateX(5px); } 75% { transform: rotate(-1deg) translateX(-3px); } 100% { transform: rotate(0) translateX(0); } }
@keyframes aee-figure-2 { 0% { transform: rotate(0deg) translateX(0); } 25% { transform: rotate(-2deg) translateX(-5px); } 75% { transform: rotate(1deg) translateX(3px); } 100% { transform: rotate(0) translateX(0); } }
@keyframes aee-tablet { 0% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(4deg) scale(1.05); } 100% { transform: rotate(-2deg) scale(1); } }
@keyframes aee-lamp { 0% { box-shadow: 0 0 20px 6px rgba(255,200,100,0.3); opacity: 0.8; } 100% { box-shadow: 0 0 35px 12px rgba(255,200,100,0.6); opacity: 1; } }

/* Scene: rome-caesar-house-octavia-return */
.scn-rome-caesar-house-octavia-return {
  background: 
    linear-gradient(180deg, #fdf8f0 0%, #eee3d4 50%, #d5ccbe 100%),
    radial-gradient(ellipse at 50% 40%, #ffffff 0%, transparent 80%);
}
.scn-rome-caesar-house-octavia-return .marble-wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(135deg, #f2ece2 0%, #e5ddd2 100%);
  box-shadow: inset 0 -6px 18px rgba(0,0,0,0.05);
}
.scn-rome-caesar-house-octavia-return .throne {
  position: absolute; bottom: 35%; left: 50%; width: 12%; height: 20%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #b8864a 0%, #8b6d3f 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.2), inset 0 2px 6px rgba(255,215,140,0.3);
  animation: rco-throne 9s ease-in-out infinite alternate;
}
.scn-rome-caesar-house-octavia-return .floor-glow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: radial-gradient(ellipse at 50% 30%, #d5cabc 0%, transparent 70%);
}
.scn-rome-caesar-house-octavia-return .figure-caesar {
  position: absolute; bottom: 25%; left: 42%; width: 8%; height: 28%;
  background: linear-gradient(180deg, #2c2a2e 0%, #151418 100%);
  border-radius: 45% 45% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: rco-caesar 4s ease-in-out infinite;
}
.scn-rome-caesar-house-octavia-return .figure-agrippa {
  position: absolute; bottom: 25%; left: 52%; width: 8%; height: 26%;
  background: linear-gradient(180deg, #3a3430 0%, #1e1b18 100%);
  border-radius: 45% 45% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: rco-agrippa 4.5s ease-in-out infinite reverse;
}
.scn-rome-caesar-house-octavia-return .figure-mecaenas {
  position: absolute; bottom: 25%; right: 35%; width: 7%; height: 24%;
  background: linear-gradient(180deg, #2f2b28 0%, #161412 100%);
  border-radius: 45% 45% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: rco-mec 4s ease-in-out infinite 0.5s;
}
.scn-rome-caesar-house-octavia-return .tribunal-bloom {
  position: absolute; bottom: 35%; left: 50%; width: 14%; height: 8%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #eedcbc 0%, #cfb890 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: 0 -4px 20px rgba(200,170,130,0.3);
  animation: rco-bloom 6s ease-in-out infinite alternate;
}
.scn-rome-caesar-house-octavia-return .standard {
  position: absolute; top: 5%; left: 20%; width: 2%; height: 20%;
  background: linear-gradient(180deg, #ad8b6b 0%, #6e543c 100%);
  border-radius: 10%;
}
@keyframes rco-throne { 0% { transform: translateX(-50%) scale(1); } 50% { transform: translateX(-50%) scale(1.02); } 100% { transform: translateX(-50%) scale(0.98); } }
@keyframes rco-caesar { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(4px) rotate(1deg); } 70% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes rco-agrippa { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(-3px) rotate(-1deg); } 70% { transform: translateX(2px) rotate(1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes rco-mec { 0% { transform: translateX(0); } 25% { transform: translateX(2px); } 75% { transform: translateX(-2px); } 100% { transform: translateX(0); } }
@keyframes rco-bloom { 0% { opacity: 0.8; box-shadow: 0 -4px 15px rgba(200,170,130,0.2); } 50% { opacity: 1; box-shadow: 0 -4px 30px rgba(200,170,130,0.4); } 100% { opacity: 0.85; box-shadow: 0 -4px 20px rgba(200,170,130,0.25); } }

/* Scene: near-actium-camp-cleopatra-enobarbus */
.scn-near-actium-camp-cleopatra-enobarbus {
  background: 
    linear-gradient(180deg, #a3cce6 0%, #c6dff0 40%, #e8f0e0 70%, #d4c9a8 100%),
    radial-gradient(ellipse at 70% 30%, #b0d8f0 0%, transparent 70%);
}
.scn-near-actium-camp-cleopatra-enobarbus .sky-haze {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #cce0f0 0%, transparent 100%);
  animation: nce-sky 20s ease-in-out infinite alternate;
}
.scn-near-actium-camp-cleopatra-enobarbus .ground-sand {
  position: absolute; bottom: 0; left: 0; right: 0; height: 55%;
  background: linear-gradient(180deg, #d4c9a8 0%, #bfb38c 100%);
  box-shadow: inset 0 12px 30px rgba(0,0,0,0.08);
}
.scn-near-actium-camp-cleopatra-enobarbus .tent-canvas {
  position: absolute; bottom: 40%; left: 15%; width: 30%; height: 50%;
  background: linear-gradient(135deg, #e6d7b8 0%, #c9b891 100%);
  border-radius: 60% 40% 40% 60% / 20% 30% 70% 80%;
  box-shadow: 0 10px 25px rgba(0,0,0,0.15);
  animation: nce-tent 12s ease-in-out infinite alternate;
}
.scn-near-actium-camp-cleopatra-enobarbus .figure-cleopatra {
  position: absolute; bottom: 18%; left: 35%; width: 7%; height: 30%;
  background: linear-gradient(180deg, #8b6f5e 0%, #4a3a32 100%);
  border-radius: 45% 45% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: nce-cleopatra 4s ease-in-out infinite;
}
.scn-near-actium-camp-cleopatra-enobarbus .figure-enobarbus-camp {
  position: absolute; bottom: 18%; left: 45%; width: 8%; height: 28%;
  background: linear-gradient(180deg, #3a3430 0%, #1e1b18 100%);
  border-radius: 45% 45% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: nce-enobarbus 4s ease-in-out infinite reverse;
}
.scn-near-actium-camp-cleopatra-enobarbus .spear-staff {
  position: absolute; bottom: 18%; left: 50%; width: 1%; height: 35%;
  background: linear-gradient(180deg, #8b7a6b 0%, #5c4e42 100%);
  border-radius: 10%;
  transform-origin: bottom center;
  animation: nce-spear 3s ease-in-out infinite;
}
.scn-near-actium-camp-cleopatra-enobarbus .shadow-strip {
  position: absolute; bottom: 18%; left: 30%; right: 30%; height: 2%;
  background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.2) 0%, transparent 80%);
  filter: blur(4px);
  animation: nce-shadow 6s ease-in-out infinite;
}
@keyframes nce-sky { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes nce-tent { 0% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(2deg) scale(1.02); } 100% { transform: rotate(-1deg) scale(0.98); } }
@keyframes nce-cleopatra { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(3px) rotate(2deg); } 70% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes nce-enobarbus { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(-3px) rotate(-2deg); } 70% { transform: translateX(2px) rotate(1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes nce-spear { 0% { transform: rotate(0deg); } 50% { transform: rotate(4deg); } 100% { transform: rotate(0deg); } }
@keyframes nce-shadow { 0% { opacity: 0.3; } 50% { opacity: 0.6; } 100% { opacity: 0.3; } }

.scn-alexandria-palace-fallout {
  background: 
    linear-gradient(180deg, #2a1a3a 0%, #4a2a5a 30%, #6a4a6a 60%, #3a2a3a 100%),
    radial-gradient(ellipse at 30% 40%, #d4a050 0%, transparent 60%),
    radial-gradient(ellipse at 70% 40%, #d4a050 0%, transparent 60%);
  background-blend-mode: overlay, normal, normal;
}
.scn-alexandria-palace-fallout .wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #5a3a4a 0%, #2a1a2a 100%); opacity:0.7; animation: pf-wall 15s ease-in-out infinite; }
.scn-alexandria-palace-fallout .column-l { position:absolute; bottom:40%; left:10%; width:8%; height:70%; background: linear-gradient(90deg, #8a6a5a 0%, #b09080 50%, #8a6a5a 100%); border-radius:6px; box-shadow: 4px 0 12px rgba(0,0,0,0.5); }
.scn-alexandria-palace-fallout .column-r { position:absolute; bottom:40%; right:10%; width:8%; height:70%; background: linear-gradient(90deg, #8a6a5a 0%, #b09080 50%, #8a6a5a 100%); border-radius:6px; box-shadow: -4px 0 12px rgba(0,0,0,0.5); }
.scn-alexandria-palace-fallout .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 30% 30% 0 0 / 20% 20% 0 0; }
.scn-alexandria-palace-fallout .figure-cleopatra { position:absolute; bottom:30%; left:35%; width:12%; height:45%; background: linear-gradient(180deg, #c8a878 0%, #a08050 40%, #806030 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pf-cleopatra 8s ease-in-out infinite; box-shadow: 2px 0 6px rgba(0,0,0,0.6); }
.scn-alexandria-palace-fallout .figure-enobarbus { position:absolute; bottom:30%; right:32%; width:14%; height:48%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pf-enobarbus 12s ease-in-out infinite; box-shadow: -2px 0 6px rgba(0,0,0,0.6); }
.scn-alexandria-palace-fallout .torch-l { position:absolute; bottom:55%; left:15%; width:4%; height:12%; background: radial-gradient(ellipse at 50% 100%, #ffd080 0%, #ffa030 50%, transparent 70%); border-radius: 50%; box-shadow: 0 0 30px 10px rgba(255,160,48,0.6); animation: pf-torch 2s ease-in-out infinite alternate; }
.scn-alexandria-palace-fallout .torch-r { position:absolute; bottom:53%; right:15%; width:4%; height:12%; background: radial-gradient(ellipse at 50% 100%, #ffd080 0%, #ffa030 50%, transparent 70%); border-radius: 50%; box-shadow: 0 0 30px 10px rgba(255,160,48,0.6); animation: pf-torch 2.3s ease-in-out infinite alternate; animation-delay: -0.5s; }
.scn-alexandria-palace-fallout .shadow-vignette { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 50%, transparent 40%, rgba(10,5,15,0.7) 100%); pointer-events:none; animation: pf-vignette 20s ease-in-out infinite; }
@keyframes pf-wall { 0% { opacity:0.6; } 50% { opacity:0.8; } 100% { opacity:0.6; } }
@keyframes pf-cleopatra { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-2px) rotate(-2deg); } 60% { transform: translateY(0) rotate(1deg); } 100% { transform: translateY(1px) rotate(0deg); } }
@keyframes pf-enobarbus { 0% { transform: translateY(0) rotate(0deg); } 40% { transform: translateY(1px) rotate(-1deg); } 70% { transform: translateY(-1px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes pf-torch { 0% { opacity:0.7; transform: scaleY(1); } 50% { opacity:1; transform: scaleY(1.3); } 100% { opacity:0.8; transform: scaleY(1); } }
@keyframes pf-vignette { 0% { opacity:0.5; } 50% { opacity:0.8; } 100% { opacity:0.5; } }

.scn-alexandria-palace-thyreus-whipped {
  background: 
    linear-gradient(180deg, #1a1a2e 0%, #3a2a4a 30%, #4a3a5a 60%, #2a1a2a 100%),
    radial-gradient(ellipse at 50% 60%, #d4a050 0%, transparent 70%);
  background-blend-mode: overlay, normal;
}
.scn-alexandria-palace-thyreus-whipped .wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #3a2a3a 0%, #1a0a1a 100%); }
.scn-alexandria-palace-thyreus-whipped .column-l { position:absolute; bottom:40%; left:5%; width:6%; height:75%; background: linear-gradient(90deg, #6a5a4a 0%, #8a7a6a 50%, #6a5a4a 100%); border-radius:4px; box-shadow: 3px 0 8px rgba(0,0,0,0.5); }
.scn-alexandria-palace-thyreus-whipped .column-r { position:absolute; bottom:40%; right:5%; width:6%; height:75%; background: linear-gradient(90deg, #6a5a4a 0%, #8a7a6a 50%, #6a5a4a 100%); border-radius:4px; box-shadow: -3px 0 8px rgba(0,0,0,0.5); }
.scn-alexandria-palace-thyreus-whipped .floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 20% 20% 0 0 / 15% 15% 0 0; }
.scn-alexandria-palace-thyreus-whipped .figure-cleopatra-seated { position:absolute; bottom:35%; left:15%; width:14%; height:40%; background: linear-gradient(180deg, #c8a878 0%, #a08050 40%, #7a5a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tw-cleopatra 6s ease-in-out infinite; box-shadow: 2px 0 6px rgba(0,0,0,0.5); }
.scn-alexandria-palace-thyreus-whipped .figure-thyreus-bent { position:absolute; bottom:25%; left:50%; width:10%; height:35%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; transform: rotate(20deg) scaleY(0.8); animation: tw-thyreus 3s ease-in-out infinite; }
.scn-alexandria-palace-thyreus-whipped .figure-guard { position:absolute; bottom:30%; right:25%; width:12%; height:50%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tw-guard 5s ease-in-out infinite; }
.scn-alexandria-palace-thyreus-whipped .whip-strike { position:absolute; bottom:45%; left:55%; width:20%; height:2%; background: linear-gradient(90deg, transparent 0%, #b08060 30%, #d0a080 50%, #b08060 70%, transparent 100%); border-radius: 50%; box-shadow: 0 0 8px 2px #d0a080; animation: tw-whip 0.8s ease-in-out infinite; transform-origin: left center; }
.scn-alexandria-palace-thyreus-whipped .shadow-drops { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 70%, transparent 30%, rgba(20,10,20,0.6) 100%); pointer-events:none; animation: tw-shadow 10s ease-in-out infinite; }
@keyframes tw-cleopatra { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-1px) rotate(-1deg); } 60% { transform: translateY(0) rotate(1deg); } 100% { transform: translateY(1px) rotate(0deg); } }
@keyframes tw-thyreus { 0% { transform: rotate(20deg) scaleY(0.8) translateY(0); } 25% { transform: rotate(15deg) scaleY(0.75) translateY(2px); } 50% { transform: rotate(25deg) scaleY(0.85) translateY(0); } 75% { transform: rotate(10deg) scaleY(0.7) translateY(1px); } 100% { transform: rotate(20deg) scaleY(0.8) translateY(0); } }
@keyframes tw-guard { 0% { transform: translateY(0) rotate(0deg); } 40% { transform: translateY(-2px) rotate(2deg); } 80% { transform: translateY(0) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes tw-whip { 0% { transform: scaleX(0.2) rotate(-30deg); } 30% { transform: scaleX(1) rotate(10deg); } 60% { transform: scaleX(1.2) rotate(-20deg); } 100% { transform: scaleX(0.2) rotate(-30deg); } }
@keyframes tw-shadow { 0% { opacity:0.4; } 50% { opacity:0.7; } 100% { opacity:0.4; } }

.scn-rome-lepidus-house-parting {
  background: 
    linear-gradient(180deg, #e8d8b8 0%, #c8b090 30%, #a08060 60%, #604030 100%),
    radial-gradient(ellipse at 70% 40%, #f0e0c0 0%, transparent 60%);
  background-blend-mode: overlay, normal;
}
.scn-rome-lepidus-house-parting .wall-bright { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #e0c8a0 0%, #b89878 100%); }
.scn-rome-lepidus-house-parting .doorway { position:absolute; bottom:25%; left:50%; width:15%; height:80%; transform:translateX(-50%); background: linear-gradient(180deg, #806050 0%, #503020 100%); border-radius: 30% 30% 0 0 / 20% 20% 0 0; box-shadow: inset 0 0 20px rgba(0,0,0,0.4); }
.scn-rome-lepidus-house-parting .figure-octavia { position:absolute; bottom:20%; left:35%; width:12%; height:45%; background: linear-gradient(180deg, #d8b898 0%, #a08060 40%, #7a5a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: rl-octavia 5s ease-in-out infinite; box-shadow: -2px 0 6px rgba(0,0,0,0.3); }
.scn-rome-lepidus-house-parting .figure-caesar { position:absolute; bottom:22%; left:50%; width:14%; height:50%; background: linear-gradient(180deg, #907050 0%, #604030 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: rl-caesar 6s ease-in-out infinite; box-shadow: 2px 0 6px rgba(0,0,0,0.3); }
.scn-rome-lepidus-house-parting .figure-agrippa { position:absolute; bottom:20%; right:30%; width:10%; height:42%; background: linear-gradient(180deg, #a08868 0%, #705030 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: rl-agrippa 7s ease-in-out infinite; }
.scn-rome-lepidus-house-parting .figure-enobarbus-right { position:absolute; bottom:20%; right:10%; width:10%; height:42%; background: linear-gradient(180deg, #887050 0%, #584030 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: rl-enobarbus 8s ease-in-out infinite; }
.scn-rome-lepidus-house-parting .teardrop { position:absolute; width:4px; height:6px; background: radial-gradient(circle, #c0e8ff 0%, transparent 100%); border-radius: 50%; animation: rl-tear 2s ease-in infinite; }
.scn-rome-lepidus-house-parting .teardrop-1 { bottom:55%; left:38%; animation-delay:0s; }
.scn-rome-lepidus-house-parting .teardrop-2 { bottom:52%; left:36%; animation-delay:0.4s; }
.scn-rome-lepidus-house-parting .pedestal-pots { position:absolute; bottom:15%; left:20%; width:20%; height:10%; background: linear-gradient(180deg, #a09080 0%, #7a6a5a 100%); border-radius: 30% 30% 10% 10%; }
@keyframes rl-octavia { 0%,100% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-3px) rotate(-2deg); } 60% { transform: translateY(-1px) rotate(2deg); } }
@keyframes rl-caesar { 0%,100% { transform: translateY(0) rotate(0deg); } 40% { transform: translateY(-2px) rotate(1deg); } 80% { transform: translateY(1px) rotate(-1deg); } }
@keyframes rl-agrippa { 0%,100% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-1px) rotate(-3deg); } 70% { transform: translateY(1px) rotate(2deg); } }
@keyframes rl-enobarbus { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } }
@keyframes rl-tear { 0% { transform: translateY(0) scaleY(1); opacity:1; } 100% { transform: translateY(20px) scaleY(0.5); opacity:0; } }

.scn-alexandria-palace-cleopatra-messenger-octavia {
  background: 
    linear-gradient(180deg, #2a1a3a 0%, #4a2a5a 30%, #6a3a5a 60%, #3a1a2a 100%),
    radial-gradient(ellipse at 40% 30%, #c08050 0%, transparent 60%);
  background-blend-mode: overlay, normal;
}
.scn-alexandria-palace-cleopatra-messenger-octavia .wall-tens { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #5a3a4a 0%, #2a1a2a 100%); }
.scn-alexandria-palace-cleopatra-messenger-octavia .column-l-t { position:absolute; bottom:30%; left:8%; width:6%; height:80%; background: linear-gradient(90deg, #7a5a4a 0%, #9a7a6a 50%, #7a5a4a 100%); border-radius:4px; box-shadow: 3px 0 10px rgba(0,0,0,0.6); }
.scn-alexandria-palace-cleopatra-messenger-octavia .column-r-t { position:absolute; bottom:30%; right:8%; width:6%; height:80%; background: linear-gradient(90deg, #7a5a4a 0%, #9a7a6a 50%, #7a5a4a 100%); border-radius:4px; box-shadow: -3px 0 10px rgba(0,0,0,0.6); }
.scn-alexandria-palace-cleopatra-messenger-octavia .floor-tens { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 25% 25% 0 0 / 15% 15% 0 0; }
.scn-alexandria-palace-cleopatra-messenger-octavia .figure-cleopatra-standing { position:absolute; bottom:25%; left:30%; width:14%; height:55%; background: linear-gradient(180deg, #c8a878 0%, #a08050 40%, #7a5a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cm-cleopatra 4s ease-in-out infinite; box-shadow: 2px 0 8px rgba(0,0,0,0.5); }
.scn-alexandria-palace-cleopatra-messenger-octavia .figure-messenger-crouch { position:absolute; bottom:20%; right:35%; width:10%; height:35%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; transform: scaleY(0.7) translateY(10%); animation: cm-messenger 3s ease-in-out infinite; }
.scn-alexandria-palace-cleopatra-messenger-octavia .pointing-hand { position:absolute; bottom:55%; left:42%; width:6%; height:8%; background: radial-gradient(ellipse at 50% 50%, #d0a888 0%, #a08060 100%); border-radius: 50%; transform: rotate(30deg); animation: cm-hand 2s ease-in-out infinite; }
.scn-alexandria-palace-cleopatra-messenger-octavia .shadow-sweep { position:absolute; inset:0; background: radial-gradient(ellipse at 30% 50%, transparent 20%, rgba(10,5,20,0.7) 100%); pointer-events:none; animation: cm-shadow 12s ease-in-out infinite; }
.scn-alexandria-palace-cleopatra-messenger-octavia .dust-motes { position:absolute; width:100%; height:100%; background: radial-gradient(circle at 20% 40%, rgba(255,200,100,0.3) 0%, transparent 50%); animation: cm-dust 8s linear infinite; }
@keyframes cm-cleopatra { 0% { transform: translateY(0) rotate(0deg); } 20% { transform: translateY(-2px) rotate(-3deg); } 60% { transform: translateY(1px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes cm-messenger { 0% { transform: scaleY(0.7) translateY(10%) rotate(0deg); } 30% { transform: scaleY(0.65) translateY(12%) rotate(-5deg); } 70% { transform: scaleY(0.75) translateY(8%) rotate(5deg); } 100% { transform: scaleY(0.7) translateY(10%) rotate(0deg); } }
@keyframes cm-hand { 0% { transform: rotate(30deg) scale(1); } 50% { transform: rotate(40deg) scale(1.2); } 100% { transform: rotate(30deg) scale(1); } }
@keyframes cm-shadow { 0% { opacity:0.4; } 50% { opacity:0.8; } 100% { opacity:0.4; } }
@keyframes cm-dust { 0% { transform: translateX(0); opacity:0.3; } 50% { transform: translateX(30vw); opacity:0.6; } 100% { transform: translateX(60vw); opacity:0; } }

.scn-rome-lepidus-house { background: linear-gradient(180deg, #6a5a4a 0%, #8a7a6a 30%, #9a8a7a 60%, #7a6a5a 100%), radial-gradient(ellipse at 50% 30%, #b0a090 0%, transparent 70%); position: relative; overflow: hidden; min-height: 100vh; }
.scn-rome-lepidus-house .wall-left { position: absolute; left: 0; top: 0; width: 22%; height: 100%; background: linear-gradient(90deg, #5a4a3a 0%, #7a6a5a 100%); box-shadow: inset -12px 0 18px rgba(0,0,0,.3); animation: lh-pulse 6s ease-in-out infinite alternate; }
.scn-rome-lepidus-house .wall-right { position: absolute; right: 0; top: 0; width: 22%; height: 100%; background: linear-gradient(90deg, #7a6a5a 0%, #5a4a3a 100%); box-shadow: inset 12px 0 18px rgba(0,0,0,.3); animation: lh-pulse 6s ease-in-out infinite alternate-reverse; }
.scn-rome-lepidus-house .floor { position: absolute; bottom: 0; left: 22%; right: 22%; height: 38%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 50% 50% 0 0 / 20% 20% 0 0; box-shadow: inset 0 20px 30px rgba(0,0,0,.4); }
.scn-rome-lepidus-house .table { position: absolute; bottom: 22%; left: 38%; width: 24%; height: 8%; background: linear-gradient(180deg, #8a7050 0%, #5a4a3a 100%); border-radius: 6px; box-shadow: 0 6px 14px rgba(0,0,0,.5); transform: perspective(400px) rotateX(8deg); animation: lh-table 10s ease-in-out infinite; }
.scn-rome-lepidus-house .figure-enobarbus { position: absolute; bottom: 18%; left: 30%; width: 26px; height: 60px; background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; box-shadow: -4px 0 8px rgba(0,0,0,.4); animation: lh-gesture 4s ease-in-out infinite; }
.scn-rome-lepidus-house .figure-lepidus { position: absolute; bottom: 18%; right: 30%; width: 28px; height: 58px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; box-shadow: 4px 0 8px rgba(0,0,0,.4); animation: lh-recoil 5s ease-in-out infinite; }
.scn-rome-lepidus-house .lamp { position: absolute; top: 16%; left: 44%; width: 16px; height: 20px; background: radial-gradient(circle at 50% 60%, #f0d080 0%, #c0a060 60%, #8a7040 100%); border-radius: 30% 30% 20% 20%; box-shadow: 0 0 40px 12px rgba(192,160,96,.5), 0 0 80px 24px rgba(192,160,96,.2); animation: lh-lamp 2s ease-in-out infinite alternate; }
.scn-rome-lepidus-house .shadow-bar { position: absolute; left: 22%; right: 22%; top: 42%; height: 2px; background: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.3) 20%, rgba(0,0,0,.5) 50%, rgba(0,0,0,.3) 80%, transparent 100%); animation: lh-shift 8s ease-in-out infinite alternate; }
@keyframes lh-pulse { 0% { opacity: .85; } 50% { opacity: 1; } 100% { opacity: .85; } }
@keyframes lh-table { 0%, 100% { transform: perspective(400px) rotateX(8deg) translateY(0); } 50% { transform: perspective(400px) rotateX(8deg) translateY(-2px); } }
@keyframes lh-gesture { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(-4deg); } 50% { transform: translateX(0) rotate(2deg); } 75% { transform: translateX(2px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes lh-recoil { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(-3px) rotate(3deg); } 60% { transform: translateX(0) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes lh-lamp { 0% { box-shadow: 0 0 30px 8px rgba(192,160,96,.4), 0 0 60px 16px rgba(192,160,96,.15); opacity: .9; } 50% { box-shadow: 0 0 50px 16px rgba(192,160,96,.6), 0 0 90px 28px rgba(192,160,96,.3); opacity: 1; } 100% { box-shadow: 0 0 35px 10px rgba(192,160,96,.45), 0 0 70px 20px rgba(192,160,96,.2); opacity: .9; } }
@keyframes lh-shift { 0% { transform: translateY(0); opacity: .6; } 50% { transform: translateY(4px); opacity: .8; } 100% { transform: translateY(0); opacity: .6; } }

.scn-item-barge-cydnus { background: linear-gradient(180deg, #f8e8c8 0%, #f0d8a8 30%, #d8b878 60%, #b89858 100%), radial-gradient(ellipse at 60% 20%, #fff8e0 0%, transparent 60%); position: relative; overflow: hidden; min-height: 100vh; }
.scn-item-barge-cydnus .sky-warm { position: absolute; inset: 0 0 45% 0; background: linear-gradient(180deg, #ffe8c0 0%, #f8d8a0 40%, #e8c888 100%); animation: bc-sky 14s ease-in-out infinite alternate; }
.scn-item-barge-cydnus .water { position: absolute; bottom: 0; left: 0; right: 0; height: 48%; background: linear-gradient(180deg, #b8c8d0 0%, #88a8b8 40%, #6090a8 100%); border-radius: 20% 20% 0 0 / 10% 10% 0 0; box-shadow: inset 0 12px 24px rgba(0,0,0,.15); animation: bc-water 8s ease-in-out infinite alternate; }
.scn-item-barge-cydnus .barge { position: absolute; bottom: 34%; left: 20%; width: 60%; height: 12%; background: linear-gradient(180deg, #c8a868 0%, #a88848 40%, #7a6830 100%); border-radius: 2% 2% 30% 30% / 20% 20% 60% 60%; box-shadow: 0 8px 20px rgba(0,0,0,.3); animation: bc-barge 6s ease-in-out infinite; }
.scn-item-barge-cydnus .sail-mast { position: absolute; bottom: 44%; left: 38%; width: 4px; height: 26%; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%); border-radius: 2px; transform-origin: bottom center; animation: bc-mast 7s ease-in-out infinite; }
.scn-item-barge-cydnus .sail-cloth { position: absolute; bottom: 46%; left: 32%; width: 22%; height: 24%; background: linear-gradient(135deg, #f8e8d0 0%, #e8d0a8 60%, #c8b080 100%); border-radius: 0 60% 40% 0 / 0 80% 40% 0; box-shadow: -6px 0 16px rgba(0,0,0,.15); transform-origin: left center; animation: bc-sail 9s ease-in-out infinite; }
.scn-item-barge-cydnus .figure-cleopatra { position: absolute; bottom: 38%; left: 48%; width: 22px; height: 40px; background: linear-gradient(180deg, #d8b078 0%, #a08048 60%, #7a6038 100%); border-radius: 50% 50% 30% 30% / 70% 70% 40% 40%; transform-origin: bottom center; box-shadow: 0 4px 12px rgba(0,0,0,.3); animation: bc-figure 5s ease-in-out infinite; }
.scn-item-barge-cydnus .perfume-aura { position: absolute; bottom: 40%; left: 30%; width: 40%; height: 30%; background: radial-gradient(ellipse at 50% 60%, rgba(200,160,80,.2) 0%, rgba(200,160,80,.08) 40%, transparent 70%); filter: blur(12px); animation: bc-aura 10s ease-in-out infinite alternate; }
.scn-item-barge-cydnus .sun-glint { position: absolute; top: 12%; left: 55%; width: 30px; height: 30px; background: radial-gradient(circle, #fff8e0 0%, #ffe8a0 40%, transparent 70%); border-radius: 50%; box-shadow: 0 0 40px 16px rgba(255,232,160,.4), 0 0 80px 32px rgba(255,232,160,.15); animation: bc-glint 3s ease-in-out infinite alternate; }
@keyframes bc-sky { 0% { opacity: .8; } 50% { opacity: 1; } 100% { opacity: .85; } }
@keyframes bc-water { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes bc-barge { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(0.5deg); } }
@keyframes bc-mast { 0%, 100% { transform: rotate(0deg); } 50% { transform: rotate(1deg); } }
@keyframes bc-sail { 0% { transform: scaleX(1) rotate(0deg); } 50% { transform: scaleX(1.02) rotate(-1deg); } 100% { transform: scaleX(1) rotate(0deg); } }
@keyframes bc-figure { 0% { transform: translateX(0) rotate(0deg); } 33% { transform: translateX(2px) rotate(-2deg); } 66% { transform: translateX(-1px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes bc-aura { 0% { opacity: .6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.08); } 100% { opacity: .7; transform: scale(.95); } }
@keyframes bc-glint { 0% { opacity: .5; transform: scale(.8); } 50% { opacity: 1; transform: scale(1.2); } 100% { opacity: .6; transform: scale(.9); } }

.scn-rome-antony-caesar-house-soothsayer { background: linear-gradient(180deg, #5a5a6a 0%, #7a7a8a 30%, #8a8a9a 60%, #6a6a7a 100%), radial-gradient(ellipse at 50% 40%, #9a9aaa 0%, transparent 60%); position: relative; overflow: hidden; min-height: 100vh; }
.scn-rome-antony-caesar-house-soothsayer .colonnade-left { position: absolute; left: 0; top: 0; width: 10%; height: 100%; background: linear-gradient(90deg, #7a7a6a 0%, #9a9a8a 40%, #8a8a7a 100%); box-shadow: 4px 0 12px rgba(0,0,0,.2); animation: ac-column 12s ease-in-out infinite alternate; }
.scn-rome-antony-caesar-house-soothsayer .colonnade-right { position: absolute; right: 0; top: 0; width: 10%; height: 100%; background: linear-gradient(90deg, #8a8a7a 0%, #9a9a8a 40%, #7a7a6a 100%); box-shadow: -4px 0 12px rgba(0,0,0,.2); animation: ac-column 12s ease-in-out infinite alternate-reverse; }
.scn-rome-antony-caesar-house-soothsayer .floor-tessera { position: absolute; bottom: 0; left: 10%; right: 10%; height: 35%; background: repeating-linear-gradient(45deg, #8a8a7a 0px, #8a8a7a 8px, #9a9a8a 8px, #9a9a8a 16px); border-radius: 50% 50% 0 0 / 15% 15% 0 0; box-shadow: inset 0 16px 24px rgba(0,0,0,.25); animation: ac-floor 20s linear infinite; }
.scn-rome-antony-caesar-house-soothsayer .figure-antony { position: absolute; bottom: 20%; left: 26%; width: 30px; height: 66px; background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 60%, #1a0a0a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; box-shadow: -2px 0 10px rgba(0,0,0,.4); animation: ac-antony 4s ease-in-out infinite; }
.scn-rome-antony-caesar-house-soothsayer .figure-caesar { position: absolute; bottom: 20%; right: 26%; width: 28px; height: 64px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 60%, #2a1a0a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; box-shadow: 2px 0 10px rgba(0,0,0,.4); animation: ac-caesar 5s ease-in-out infinite; }
.scn-rome-antony-caesar-house-soothsayer .figure-octavia { position: absolute; bottom: 22%; left: 48%; width: 22px; height: 56px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 60%, #3a2a1a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: 0 0 8px rgba(0,0,0,.3); animation: ac-octavia 6s ease-in-out infinite; }
.scn-rome-antony-caesar-house-soothsayer .soothsayer-shade { position: absolute; bottom: 18%; left: 40%; width: 20px; height: 50px; background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 60%, #0a0a1a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; opacity: .7; box-shadow: 0 0 12px rgba(0,0,0,.3); animation: ac-soothsayer 7s ease-in-out infinite; }
.scn-rome-antony-caesar-house-soothsayer .brazier { position: absolute; bottom: 30%; left: 46%; width: 14px; height: 18px; background: radial-gradient(circle at 50% 40%, #e8c050 0%, #c8a030 50%, #8a7018 100%); border-radius: 30% 30% 20% 20%; box-shadow: 0 0 30px 8px rgba(200,160,48,.5), 0 0 60px 16px rgba(200,160,48,.2); animation: ac-brazier 2s ease-in-out infinite alternate; }
@keyframes ac-column { 0% { opacity: .85; } 50% { opacity: 1; } 100% { opacity: .9; } }
@keyframes ac-floor { 0% { background-position: 0 0; } 100% { background-position: 32px 32px; } }
@keyframes ac-antony { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-2px) rotate(-3deg); } 50% { transform: translateX(0) rotate(2deg); } 75% { transform: translateX(1px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes ac-caesar { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(2px) rotate(3deg); } 60% { transform: translateX(0) rotate(-2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes ac-octavia { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@keyframes ac-soothsayer { 0% { opacity: .5; transform: translateX(0); } 50% { opacity: .8; transform: translateX(3px); } 100% { opacity: .6; transform: translateX(0); } }
@keyframes ac-brazier { 0% { box-shadow: 0 0 20px 4px rgba(200,160,48,.4), 0 0 40px 10px rgba(200,160,48,.15); opacity: .8; } 50% { box-shadow: 0 0 40px 12px rgba(200,160,48,.6), 0 0 70px 20px rgba(200,160,48,.25); opacity: 1; } 100% { box-shadow: 0 0 25px 6px rgba(200,160,48,.45), 0 0 50px 14px rgba(200,160,48,.2); opacity: .85; } }

.scn-rome-street-lepidus-departure { background: linear-gradient(180deg, #c8b89a 0%, #b8a888 30%, #a89878 60%, #988868 100%), radial-gradient(ellipse at 30% 10%, #e0d0b0 0%, transparent 60%); position: relative; overflow: hidden; min-height: 100vh; }
.scn-rome-street-lepidus-departure .sky-street { position: absolute; inset: 0 0 55% 0; background: linear-gradient(180deg, #d8c8a8 0%, #c8b898 40%, #b8a888 100%); animation: ld-sky 15s ease-in-out infinite alternate; }
.scn-rome-street-lepidus-departure .facade-back { position: absolute; bottom: 30%; left: 10%; width: 80%; height: 45%; background: linear-gradient(180deg, #b8a888 0%, #a89878 60%, #988868 100%); border-radius: 6% 6% 0 0; box-shadow: inset 0 8px 16px rgba(0,0,0,.15); animation: ld-facade 20s ease-in-out infinite; }
.scn-rome-street-lepidus-departure .facade-left { position: absolute; bottom: 30%; left: 0; width: 30%; height: 50%; background: linear-gradient(180deg, #c8b898 0%, #b8a888 60%, #a89878 100%); border-right: 2px solid rgba(0,0,0,.1); box-shadow: inset -8px 0 12px rgba(0,0,0,.1); animation: ld-facade 20s ease-in-out infinite alternate; }
.scn-rome-street-lepidus-departure .street-ground { position: absolute; bottom: 0; left: 0; right: 0; height: 32%; background: linear-gradient(180deg, #a89878 0%, #887868 40%, #786858 100%); border-radius: 30% 70% 0 0 / 15% 30% 0 0; box-shadow: inset 0 12px 20px rgba(0,0,0,.2); }
.scn-rome-street-lepidus-departure .figure-departing { position: absolute; bottom: 18%; left: 60%; width: 24px; height: 56px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 60%, #2a1a0a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; box-shadow: 4px 0 10px rgba(0,0,0,.25); animation: ld-depart 8s ease-in-out infinite; }
.scn-rome-street-lepidus-departure .figure-attendant { position: absolute; bottom: 20%; left: 52%; width: 20px; height: 48px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 60%, #3a2a1a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; box-shadow: 2px 0 8px rgba(0,0,0,.2); animation: ld-attend 7s ease-in-out infinite; }
.scn-rome-street-lepidus-departure .olive-tree { position: absolute; bottom: 26%; left: 18%; width: 40px; height: 60px; background: radial-gradient(ellipse at 50% 30%, #8a9a5a 0%, #6a7a4a 60%, #4a5a3a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; box-shadow: 0 0 20px rgba(0,0,0,.1); animation: ld-tree 12s ease-in-out infinite; }
.scn-rome-street-lepidus-departure .dust-puff { position: absolute; bottom: 18%; left: 65%; width: 12px; height: 8px; background: radial-gradient(circle, rgba(200,180,150,.5) 0%, transparent 70%); border-radius: 50%; filter: blur(3px); animation: ld-dust 6s ease-in-out infinite; }
@keyframes ld-sky { 0% { opacity: .85; } 50% { opacity: 1; } 100% { opacity: .9; } }
@keyframes ld-facade { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes ld-depart { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(6px) rotate(-2deg); } 50% { transform: translateX(12px) rotate(0deg); } 75% { transform: translateX(18px) rotate(1deg); } 100% { transform: translateX(24px) rotate(0deg); } }
@keyframes ld-attend { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(3px) rotate(-1deg); } 60% { transform: translateX(6px) rotate(0deg); } 100% { transform: translateX(9px) rotate(1deg); } }
@keyframes ld-tree { 0%, 100% { transform: rotate(0deg); } 50% { transform: rotate(-2deg); } }
@keyframes ld-dust { 0% { opacity: 0; transform: translateX(0) scale(1); } 30% { opacity: .6; transform: translateX(8px) scale(1.5); } 60% { opacity: .4; transform: translateX(16px) scale(2); } 100% { opacity: 0; transform: translateX(24px) scale(.5); } }

/* Syria Plain – Ventidius Triumph (tense, sunlit) */
.scn-syria-plain-ventidius-triumph {
  background: 
    linear-gradient(180deg, #4b7b9e 0%, #f4d78c 40%, #e8b86b 100%),
    radial-gradient(ellipse at 30% 20%, #fff4b0 0%, transparent 60%);
}
.scn-syria-plain-ventidius-triumph .sky { 
  position:absolute; inset:0 0 60% 0; 
  background: linear-gradient(180deg, #2a5c7a 0%, #9bb7d4 60%);
  animation: sy-sky 12s ease-in-out infinite alternate;
}
.scn-syria-plain-ventidius-triumph .sun { 
  position:absolute; top:10%; right:15%; width:50px; height:50px;
  background: radial-gradient(circle, #fff9d0 0%, #fadb6b 40%, transparent 70%);
  border-radius:50%; box-shadow: 0 0 60px 20px #fadb6b;
  animation: sy-sun 8s ease-in-out infinite alternate;
}
.scn-syria-plain-ventidius-triumph .ground { 
  position:absolute; bottom:0; left:0; right:0; height:60%;
  background: linear-gradient(180deg, #b88246 0%, #68421e 100%);
  border-radius: 40% 0% 0% 0% / 20% 0% 0% 0%;
}
.scn-syria-plain-ventidius-triumph .victor-silhouette { 
  position:absolute; bottom:25%; left:30%; width:40px; height:70px;
  background: linear-gradient(180deg, #1a1a1a 0%, #2c2c2c 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sy-victor 3s ease-in-out infinite alternate;
}
.scn-syria-plain-ventidius-triumph .fallen-body { 
  position:absolute; bottom:20%; left:18%; width:60px; height:20px;
  background: #1f1f1f; border-radius: 40% 20% 20% 40%;
  box-shadow: inset 0 2px 8px rgba(0,0,0,0.6);
  animation: sy-fallen 5s ease-in-out infinite alternate;
}
.scn-syria-plain-ventidius-triumph .banner-left { 
  position:absolute; bottom:40%; left:20%; width:4px; height:50px;
  background: #7c3a1e; border-radius: 2px;
  animation: sy-banner 2s ease-in-out infinite;
}
.scn-syria-plain-ventidius-triumph .banner-right { 
  position:absolute; bottom:40%; right:20%; width:4px; height:50px;
  background: #7c3a1e; border-radius: 2px;
  animation: sy-banner 2.5s ease-in-out infinite reverse;
}
.scn-syria-plain-ventidius-triumph .dust { 
  position:absolute; bottom:30%; left:0; right:0; height:30%;
  background: radial-gradient(ellipse at 20% 50%, rgba(200,160,100,0.3) 0%, transparent 60%),
              radial-gradient(ellipse at 80% 50%, rgba(200,160,100,0.2) 0%, transparent 50%);
  filter: blur(8px);
  animation: sy-dust 20s linear infinite;
}

@keyframes sy-sky { 
  0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.9 } 
}
@keyframes sy-sun { 
  0% { transform: scale(1) translate(0,0); box-shadow: 0 0 40px 10px #fadb6b; } 
  50% { transform: scale(1.05) translate(-5px, -3px); box-shadow: 0 0 60px 20px #fadb6b; } 
  100% { transform: scale(1) translate(5px, 2px); box-shadow: 0 0 50px 15px #fadb6b; } 
}
@keyframes sy-victor { 
  0% { transform: translate(0,0) rotate(-1deg) scale(1); } 
  50% { transform: translate(8px, -2px) rotate(2deg) scale(1.02); } 
  100% { transform: translate(-4px, 0) rotate(-1deg) scale(0.98); } 
}
@keyframes sy-fallen { 
  0% { transform: translate(0,0) rotate(0deg); } 
  50% { transform: translate(2px, -1px) rotate(2deg); } 
  100% { transform: translate(-2px, 0) rotate(-2deg); } 
}
@keyframes sy-banner { 
  0% { transform: scaleY(1) rotate(0deg); } 
  50% { transform: scaleY(1.05) rotate(3deg); } 
  100% { transform: scaleY(1) rotate(-3deg); } 
}
@keyframes sy-dust { 
  0% { background-position: 0% 100%; } 
  50% { background-position: 50% 100%; } 
  100% { background-position: 100% 100%; } 
}

/* Actium – Battle Sea Fight (tense, sunlit) */
.scn-actium-battle-sea-fight {
  background: 
    linear-gradient(180deg, #9bb7d4 0%, #2a5c7a 40%, #1a3a5a 100%),
    radial-gradient(ellipse at 30% 60%, #f4d78c 0%, transparent 50%);
}
.scn-actium-battle-sea-fight .sea-sky { 
  position:absolute; inset:0 0 50% 0; 
  background: linear-gradient(180deg, #6b8fbf 0%, #c5d9e8 60%, #d9c8a0 100%);
  animation: ac-sky 10s ease-in-out infinite alternate;
}
.scn-actium-battle-sea-fight .sea { 
  position:absolute; bottom:0; left:0; right:0; height:55%;
  background: linear-gradient(180deg, #2a4a6a 0%, #1a3040 100%);
  border-radius: 0 0 20% 20%;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.4);
}
.scn-actium-battle-sea-fight .ship-hull-left { 
  position:absolute; bottom:20%; left:15%; width:80px; height:30px;
  background: linear-gradient(90deg, #3a1a0a 0%, #5a2a1a 100%);
  border-radius: 0 0 30% 30%;
  transform: rotate(-2deg);
  animation: ac-ship-left 4s ease-in-out infinite alternate;
}
.scn-actium-battle-sea-fight .ship-hull-right { 
  position:absolute; bottom:25%; right:10%; width:70px; height:25px;
  background: linear-gradient(90deg, #5a2a1a 0%, #3a1a0a 100%);
  border-radius: 0 0 30% 30%;
  transform: rotate(3deg);
  animation: ac-ship-right 5s ease-in-out infinite alternate;
}
.scn-actium-battle-sea-fight .sail-left { 
  position:absolute; bottom:30%; left:22%; width:30px; height:50px;
  background: linear-gradient(180deg, #f4e8d0 0%, #d9c8a0 100%);
  border-radius: 10% 10% 0 0;
  transform: skewX(-5deg);
  animation: ac-sail-left 3s ease-in-out infinite alternate;
}
.scn-actium-battle-sea-fight .sail-right { 
  position:absolute; bottom:35%; right:18%; width:25px; height:45px;
  background: linear-gradient(180deg, #f4e8d0 0%, #d9c8a0 100%);
  border-radius: 10% 10% 0 0;
  transform: skewX(5deg);
  animation: ac-sail-right 3.5s ease-in-out infinite alternate;
}
.scn-actium-battle-sea-fight .wave-front { 
  position:absolute; bottom:5%; left:0; right:0; height:30px;
  background: repeating-linear-gradient(90deg, transparent, #3a6a8a 10px, transparent 20px);
  filter: blur(2px);
  animation: ac-wave 8s linear infinite;
}
.scn-actium-battle-sea-fight .wave-mid { 
  position:absolute; bottom:12%; left:0; right:0; height:20px;
  background: repeating-linear-gradient(90deg, transparent, #2a5a7a 15px, transparent 30px);
  filter: blur(3px);
  animation: ac-wave 12s linear infinite reverse;
}
.scn-actium-battle-sea-fight .sunburst { 
  position:absolute; top:10%; left:20%; width:40px; height:40px;
  background: radial-gradient(circle, #fff7d0 0%, #f4c86b 40%, transparent 60%);
  border-radius:50%;
  animation: ac-sunburst 9s ease-in-out infinite alternate;
}

@keyframes ac-sky { 
  0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.85 } 
}
@keyframes ac-ship-left { 
  0% { transform: translate(0,0) rotate(-2deg) scale(1); } 
  50% { transform: translate(5px, -3px) rotate(-1deg) scale(1.02); } 
  100% { transform: translate(-3px, 2px) rotate(-3deg) scale(0.98); } 
}
@keyframes ac-ship-right { 
  0% { transform: translate(0,0) rotate(3deg) scale(1); } 
  50% { transform: translate(-6px, -2px) rotate(4deg) scale(1.01); } 
  100% { transform: translate(4px, 1px) rotate(2deg) scale(0.99); } 
}
@keyframes ac-sail-left { 
  0% { transform: skewX(-5deg) scaleY(1); } 
  50% { transform: skewX(-3deg) scaleY(1.05); } 
  100% { transform: skewX(-7deg) scaleY(0.95); } 
}
@keyframes ac-sail-right { 
  0% { transform: skewX(5deg) scaleY(1); } 
  50% { transform: skewX(3deg) scaleY(1.05); } 
  100% { transform: skewX(7deg) scaleY(0.95); } 
}
@keyframes ac-wave { 
  0% { background-position: 0 0; } 
  50% { background-position: 50px 0; } 
  100% { background-position: 100px 0; } 
}
@keyframes ac-sunburst { 
  0% { transform: scale(1) rotate(0deg); opacity:0.8; } 
  50% { transform: scale(1.1) rotate(10deg); opacity:1; } 
  100% { transform: scale(0.95) rotate(-5deg); opacity:0.7; } 
}

/* Alexandria Palace – Antony Shamed (dark, bright interior) */
.scn-alexandria-palace-antony-shamed {
  background: 
    linear-gradient(180deg, #2a1a1a 0%, #3a2a2a 40%, #4a3a3a 100%),
    radial-gradient(ellipse at 50% 30%, #f0d080 0%, transparent 70%);
}
.scn-alexandria-palace-antony-shamed .wall { 
  position:absolute; inset:0; 
  background: repeating-linear-gradient(0deg, #4a3030, #4a3030 2px, #3a2020 2px, #3a2020 4px);
  opacity:0.3;
}
.scn-alexandria-palace-antony-shamed .floor { 
  position:absolute; bottom:0; left:0; right:0; height:35%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.7);
}
.scn-alexandria-palace-antony-shamed .column-left { 
  position:absolute; bottom:0; left:15%; width:12px; height:70%;
  background: linear-gradient(90deg, #5a4a3a 0%, #8a7a6a 30%, #5a4a3a 100%);
  border-radius: 4px;
  box-shadow: 0 0 10px rgba(0,0,0,0.5);
  animation: al-column 6s ease-in-out infinite alternate;
}
.scn-alexandria-palace-antony-shamed .column-right { 
  position:absolute; bottom:0; right:15%; width:12px; height:70%;
  background: linear-gradient(90deg, #5a4a3a 0%, #8a7a6a 30%, #5a4a3a 100%);
  border-radius: 4px;
  box-shadow: 0 0 10px rgba(0,0,0,0.5);
  animation: al-column 6s ease-in-out infinite alternate-reverse;
}
.scn-alexandria-palace-antony-shamed .window-glow { 
  position:absolute; top:10%; left:50%; width:80px; height:90px;
  transform:translateX(-50%);
  background: radial-gradient(ellipse, #f4d78c 0%, #d9a84b 40%, transparent 70%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 80px 30px #f4d78c, 0 0 120px 60px rgba(244,215,140,0.3);
  animation: al-glow 5s ease-in-out infinite alternate;
}
.scn-alexandria-palace-antony-shamed .antony-silhouette { 
  position:absolute; bottom:5%; left:50%; width:30px; height:60px;
  transform:translateX(-50%) scale(0.9);
  background: linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 20px rgba(0,0,0,0.8);
  animation: al-antony 4s ease-in-out infinite alternate;
}
.scn-alexandria-palace-antony-shamed .lamp-glow { 
  position:absolute; bottom:20%; left:30%; width:15px; height:15px;
  background: radial-gradient(circle, #ffd080 0%, #c88830 60%, transparent 80%);
  border-radius:50%;
  box-shadow: 0 0 30px 10px #ffd080, 0 0 60px 20px rgba(255,208,128,0.3);
  animation: al-lamp 3s ease-in-out infinite alternate;
}

@keyframes al-column { 
  0% { transform: scaleY(1) translateY(0); } 
  50% { transform: scaleY(1.02) translateY(-2px); } 
  100% { transform: scaleY(0.98) translateY(1px); } 
}
@keyframes al-glow { 
  0% { opacity:0.8; box-shadow: 0 0 50px 15px #f4d78c, 0 0 80px 30px rgba(244,215,140,0.2); } 
  50% { opacity:1; box-shadow: 0 0 80px 30px #f4d78c, 0 0 120px 50px rgba(244,215,140,0.4); } 
  100% { opacity:0.9; box-shadow: 0 0 60px 20px #f4d78c, 0 0 100px 40px rgba(244,215,140,0.25); } 
}
@keyframes al-antony { 
  0% { transform: translateX(-50%) scale(0.9) rotate(-2deg); } 
  50% { transform: translateX(-50%) scale(0.92) rotate(2deg) translateY(-3px); } 
  100% { transform: translateX(-50%) scale(0.88) rotate(-1deg); } 
}
@keyframes al-lamp { 
  0% { transform: scale(1) rotate(0deg); } 
  50% { transform: scale(1.1) rotate(-5deg); opacity:0.9; } 
  100% { transform: scale(0.95) rotate(3deg); opacity:0.8; } 
}

/* Egypt Caesar Camp – Ambassador (tense, bright interior) */
.scn-egypt-caesar-camp-ambassador {
  background: 
    linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 40%, #4a2a1a 100%),
    radial-gradient(ellipse at 40% 30%, #f0c070 0%, transparent 70%);
}
.scn-egypt-caesar-camp-ambassador .tent-back { 
  position:absolute; inset:0; 
  background: linear-gradient(135deg, #5a3a2a 0%, #3a1a0a 100%);
  clip-path: polygon(0% 0%, 100% 0%, 85% 100%, 15% 100%);
}
.scn-egypt-caesar-camp-ambassador .tent-flap-left { 
  position:absolute; top:0; left:0; width:30%; height:100%;
  background: #3a1a0a;
  clip-path: polygon(0% 0%, 100% 0%, 60% 100%, 0% 100%);
  animation: eg-flap 4s ease-in-out infinite alternate;
}
.scn-egypt-caesar-camp-ambassador .tent-flap-right { 
  position:absolute; top:0; right:0; width:30%; height:100%;
  background: #3a1a0a;
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 40% 100%);
  animation: eg-flap 4.5s ease-in-out infinite alternate-reverse;
}
.scn-egypt-caesar-camp-ambassador .table { 
  position:absolute; bottom:10%; left:30%; width:40%; height:8%;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%);
  border-radius: 5% 5% 0 0;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.5);
  transform: perspective(200px) rotateX(10deg);
  animation: eg-table 7s ease-in-out infinite alternate;
}
.scn-egypt-caesar-camp-ambassador .lantern-glow { 
  position:absolute; top:20%; left:50%; width:20px; height:20px;
  transform:translateX(-50%);
  background: radial-gradient(circle, #ffd080 0%, #e0a040 40%, transparent 70%);
  border-radius:50%;
  box-shadow: 0 0 50px 15px #ffd080, 0 0 80px 30px rgba(255,208,128,0.3);
  animation: eg-lantern 3s ease-in-out infinite alternate;
}
.scn-egypt-caesar-camp-ambassador .caesar-silhouette { 
  position:absolute; bottom:12%; left:35%; width:25px; height:50px;
  background: #1a0a00;
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: perspective(200px) rotateY(10deg);
  animation: eg-caesar 5s ease-in-out infinite alternate;
}
.scn-egypt-caesar-camp-ambassador .envoy-silhouette { 
  position:absolute; bottom:12%; right:35%; width:22px; height:48px;
  background: #1a0a00;
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: perspective(200px) rotateY(-10deg);
  animation: eg-envoy 5.5s ease-in-out infinite alternate;
}
.scn-egypt-caesar-camp-ambassador .shadow-cast { 
  position:absolute; bottom:5%; left:25%; width:50%; height:10%;
  background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.5) 0%, transparent 70%);
  filter: blur(6px);
  animation: eg-shadow 7s ease-in-out infinite alternate;
}

@keyframes eg-flap { 
  0% { transform: scaleX(1) translate(0,0); } 
  50% { transform: scaleX(0.98) translate(2px, -1px); } 
  100% { transform: scaleX(1.02) translate(-2px, 1px); } 
}
@keyframes eg-table { 
  0% { transform: perspective(200px) rotateX(10deg) translateY(0); } 
  50% { transform: perspective(200px) rotateX(8deg) translateY(-2px); } 
  100% { transform: perspective(200px) rotateX(12deg) translateY(1px); } 
}
@keyframes eg-lantern { 
  0% { opacity:0.85; box-shadow: 0 0 30px 10px #ffd080, 0 0 50px 20px rgba(255,208,128,0.2); } 
  50% { opacity:1; box-shadow: 0 0 50px 15px #ffd080, 0 0 80px 30px rgba(255,208,128,0.4); } 
  100% { opacity:0.9; box-shadow: 0 0 40px 12px #ffd080, 0 0 60px 25px rgba(255,208,128,0.25); } 
}
@keyframes eg-caesar { 
  0% { transform: perspective(200px) rotateY(10deg) translate(0,0); } 
  50% { transform: perspective(200px) rotateY(8deg) translate(3px, -2px); } 
  100% { transform: perspective(200px) rotateY(12deg) translate(-2px, 1px); } 
}
@keyframes eg-envoy { 
  0% { transform: perspective(200px) rotateY(-10deg) translate(0,0); } 
  50% { transform: perspective(200px) rotateY(-8deg) translate(-3px, -2px); } 
  100% { transform: perspective(200px) rotateY(-12deg) translate(2px, 1px); } 
}
@keyframes eg-shadow { 
  0% { opacity:0.5; transform: scaleX(1); } 
  50% { opacity:0.7; transform: scaleX(1.05); } 
  100% { opacity:0.4; transform: scaleX(0.95); } 
}

/* ——— rome-caesar-house: tense bright-interior ——— */
.scn-rome-caesar-house { background: linear-gradient(180deg, #c8b88a 0%, #b8a878 30%, #a09060 60%, #888048 100%), radial-gradient(ellipse at 60% 40%, #e0d0a0 0%, transparent 70%); }
.scn-rome-caesar-house .wall-back { position:absolute; inset:0 0 35% 0; background: linear-gradient(90deg, #b8a878 0%, #c8b888 30%, #d0c090 50%, #c0b080 80%, #a89868 100%); box-shadow: inset 0 0 60px rgba(0,0,0,.12); animation: rch-wallpulse 12s ease-in-out infinite alternate; }
.scn-rome-caesar-house .wall-column { position:absolute; top:0; bottom:35%; left:15%; width:40px; background: linear-gradient(90deg, #a09060 0%, #c0b080 30%, #d0c098 50%, #c0b080 70%, #a09060 100%); border-radius:4px 4px 0 0; box-shadow: 0 0 20px rgba(0,0,0,.15), inset 0 0 10px rgba(255,255,240,.3); animation: rch-column 10s ease-in-out infinite; }
.scn-rome-caesar-house .tiled-floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: repeating-conic-gradient(#988858 0% 25%, #887848 0% 50%) 0 0 / 60px 30px; opacity:.7; animation: rch-floor 20s linear infinite; }
.scn-rome-caesar-house .table { position:absolute; bottom:18%; left:38%; width:120px; height:18px; background: linear-gradient(180deg, #8a7a4a 0%, #6a5a2a 100%); border-radius:4px; box-shadow: 0 4px 12px rgba(0,0,0,.4); transform: perspective(400px) rotateX(5deg); }
.scn-rome-caesar-house .scroll-letter { position:absolute; bottom:21%; left:44%; width:50px; height:30px; background: linear-gradient(180deg, #f0e8d0 0%, #d8d0b8 40%, #c8c0a0 100%); border-radius:30% 30% 20% 20% / 40% 40% 20% 20%; box-shadow: 0 2px 6px rgba(0,0,0,.3); transform: rotate(-2deg); animation: rch-scroll 5s ease-in-out infinite alternate; }
.scn-rome-caesar-house .caesar-silhouette { position:absolute; bottom:18%; left:28%; width:28px; height:50px; background: linear-gradient(180deg, #2a2820 0%, #1a1810 100%); border-radius:40% 40% 35% 35% / 50% 50% 35% 35%; transform-origin: bottom center; box-shadow: 0 0 20px rgba(0,0,0,.3); animation: rch-caesar 6s ease-in-out infinite; }
.scn-rome-caesar-house .brazier { position:absolute; bottom:30%; right:20%; width:24px; height:30px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:30% 30% 20% 20% / 40% 40% 20% 20%; box-shadow: inset 0 -4px 8px rgba(0,0,0,.4); animation: rch-brazier 4s ease-in-out infinite alternate; }
.scn-rome-caesar-house .brazier-glow { position:absolute; bottom:30%; right:20%; width:60px; height:50px; background: radial-gradient(circle, #ff8830 0%, #cc5510 30%, transparent 70%); filter:blur(8px); opacity:.6; animation: rch-fire 3s ease-in-out infinite alternate; }
.scn-rome-caesar-house .shadow-stripe { position:absolute; left:10%; top:0; bottom:0; width:120%; background: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.08) 40%, transparent 80%); pointer-events:none; animation: rch-stripe 8s ease-in-out infinite alternate; }
@keyframes rch-wallpulse { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes rch-column { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes rch-floor { 0% { background-position:0 0 } 100% { background-position:60px 30px } }
@keyframes rch-scroll { 0% { transform: rotate(-3deg) translateY(0) } 50% { transform: rotate(2deg) translateY(-1px) } 100% { transform: rotate(-1deg) translateY(0) } }
@keyframes rch-caesar { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(3px) rotate(-1deg) } 50% { transform: translateX(0) rotate(1deg) } 75% { transform: translateX(-2px) rotate(0) } 100% { transform: translateX(0) rotate(0) } }
@keyframes rch-brazier { 0%,100% { transform: scale(1) } 50% { transform: scale(1.02) translateY(-1px) } }
@keyframes rch-fire { 0% { opacity:.4; transform:scale(.95) } 50% { opacity:.7; transform:scale(1.1) } 100% { opacity:.5; transform:scale(1) } }
@keyframes rch-stripe { 0% { transform: translateX(-10%) } 50% { transform: translateX(5%) } 100% { transform: translateX(-5%) } }

/* ——— alexandria-palace-chesapeake-longing: warm bright-interior ——— */
.scn-alexandria-palace-chesapeake-longing { background: linear-gradient(180deg, #f0e0c0 0%, #e0d0b0 20%, #c8b890 50%, #b8a880 100%), radial-gradient(ellipse at 70% 50%, #ffe8c8 0%, transparent 60%); }
.scn-alexandria-palace-chesapeake-longing .pillar-back { position:absolute; inset:0 0 30% 0; background: linear-gradient(90deg, #d8c8a8 0%, #e8d8b8 30%, #f0e0c0 50%, #e0d0b0 70%, #c8b898 100%); box-shadow: inset 0 0 80px rgba(0,0,0,.1); animation: apc-bg 14s ease-in-out infinite alternate; }
.scn-alexandria-palace-chesapeake-longing .arch-frame { position:absolute; top:0; left:20%; right:20%; bottom:30%; border-radius:50% 50% 0 0 / 60% 60% 0 0; border:12px solid #c8b890; background: transparent; box-shadow: inset 0 0 30px rgba(160,140,100,.3); pointer-events:none; animation: apc-arch 10s ease-in-out infinite; }
.scn-alexandria-palace-chesapeake-longing .sunlit-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #d8c8a0 0%, #b8a880 40%, #a89870 100%); box-shadow: inset 0 20px 40px rgba(0,0,0,.15); }
.scn-alexandria-palace-chesapeake-longing .window-open { position:absolute; top:8%; right:15%; width:50px; height:70px; border-radius:4px; background: radial-gradient(ellipse at 40% 30%, #b0d8f0 0%, #80a8c8 40%, #6090b0 100%); box-shadow: inset 0 0 20px rgba(0,0,0,.2), 0 0 30px rgba(255,255,200,.4); animation: apc-window 8s ease-in-out infinite alternate; }
.scn-alexandria-palace-chesapeake-longing .cleopatra-profile { position:absolute; bottom:22%; left:40%; width:30px; height:52px; background: linear-gradient(180deg, #c8a878 0%, #b09060 40%, #a08050 100%); border-radius:50% 40% 40% 40% / 60% 50% 50% 40%; transform-origin: bottom center; box-shadow: 0 0 20px rgba(160,120,80,.3); animation: apc-cleopatra 6s ease-in-out infinite; }
.scn-alexandria-palace-chesapeake-longing .goblet { position:absolute; bottom:17%; left:52%; width:16px; height:22px; background: linear-gradient(180deg, #d8c090 0%, #b89868 40%, #a08050 100%); border-radius:30% 30% 10% 10% / 40% 40% 10% 10%; box-shadow: 0 2px 6px rgba(0,0,0,.3), inset 0 2px 8px rgba(255,255,200,.4); animation: apc-goblet 5s ease-in-out infinite alternate; }
.scn-alexandria-palace-chesapeake-longing .drape-left { position:absolute; top:0; left:0; width:50px; bottom:30%; background: linear-gradient(180deg, #906030 0%, #704820 40%, #583818 100%); border-radius:0 20% 40% 0 / 0 10% 20% 0; box-shadow: 0 0 30px rgba(0,0,0,.2); animation: apc-drape-l 9s ease-in-out infinite alternate; }
.scn-alexandria-palace-chesapeake-longing .drape-right { position:absolute; top:0; right:0; width:50px; bottom:30%; background: linear-gradient(180deg, #906030 0%, #704820 40%, #583818 100%); border-radius:20% 0 0 40% / 10% 0 0 20%; box-shadow: 0 0 30px rgba(0,0,0,.2); animation: apc-drape-r 11s ease-in-out infinite alternate; }
.scn-alexandria-palace-chesapeake-longing .dust-motes { position:absolute; inset:0; background: radial-gradient(circle at 40% 30%, rgba(255,240,200,.15) 0%, transparent 50%); filter:blur(20px); pointer-events:none; animation: apc-dust 15s ease-in-out infinite alternate; }
@keyframes apc-bg { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes apc-arch { 0%,100% { transform: scale(1) } 50% { transform: scale(1.01) translateY(-1px) } }
@keyframes apc-window { 0% { opacity:.6; transform: scale(1) } 50% { opacity:.9; transform: scale(1.03) } 100% { opacity:.7; transform: scale(.98) } }
@keyframes apc-cleopatra { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(4px) rotate(-1deg) } 50% { transform: translateX(-2px) rotate(1deg) } 75% { transform: translateX(3px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes apc-goblet { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(2deg) } }
@keyframes apc-drape-l { 0% { transform: translateX(0) } 50% { transform: translateX(-4px) } 100% { transform: translateX(-2px) } }
@keyframes apc-drape-r { 0% { transform: translateX(0) } 50% { transform: translateX(4px) } 100% { transform: translateX(2px) } }
@keyframes apc-dust { 0% { opacity:.3; transform:translate(0,0) } 50% { opacity:.5; transform:translate(-10px,-5px) } 100% { opacity:.4; transform:translate(10px,-2px) } }

/* ——— item-orient-pearl: warm bright-interior ——— */
.scn-item-orient-pearl { background: linear-gradient(180deg, #1a1a28 0%, #2a2a40 20%, #3c3c58 50%, #4a4a68 100%), radial-gradient(ellipse at 50% 60%, #505078 0%, transparent 70%); }
.scn-item-orient-pearl .velvet-bg { position:absolute; inset:10% 10% 10% 10%; background: linear-gradient(135deg, #3c1a28 0%, #5a2a3a 30%, #4a2030 60%, #2a1020 100%); border-radius:40px; box-shadow: inset 0 0 30px rgba(0,0,0,.4); animation: iop-velvet 12s ease-in-out infinite alternate; }
.scn-item-orient-pearl .oyster-shell-bottom { position:absolute; bottom:22%; left:50%; width:100px; height:60px; transform:translateX(-50%); background: linear-gradient(180deg, #c8a878 0%, #b09060 30%, #a08050 60%, #908048 100%); border-radius:0 0 50% 50% / 0 0 60% 60%; box-shadow: 0 8px 20px rgba(0,0,0,.5), inset 0 -10px 30px rgba(200,180,140,.3); animation: iop-shell-bottom 8s ease-in-out infinite; }
.scn-item-orient-pearl .oyster-shell-top { position:absolute; bottom:32%; left:50%; width:100px; height:50px; transform:translateX(-50%) rotateX(15deg); background: linear-gradient(180deg, #d8c098 0%, #c0a878 30%, #a89060 60%, #988050 100%); border-radius:50% 50% 20% 20% / 60% 60% 10% 10%; box-shadow: 0 -6px 20px rgba(0,0,0,.3), inset 0 10px 30px rgba(220,200,160,.4); transform-origin: bottom center; animation: iop-shell-top 6s ease-in-out infinite alternate; }
.scn-item-orient-pearl .pearl { position:absolute; bottom:28%; left:50%; width:30px; height:30px; transform:translateX(-50%); background: radial-gradient(circle at 35% 35%, #ffffff 0%, #f0e8e0 30%, #d8c8b8 60%, #c0b0a0 100%); border-radius:50%; box-shadow: 0 0 40px 10px rgba(240,230,220,.5), 0 0 80px 20px rgba(240,230,220,.2); animation: iop-pearl 5s ease-in-out infinite alternate; }
.scn-item-orient-pearl .pearl-glow { position:absolute; bottom:26%; left:50%; width:70px; height:70px; transform:translateX(-50%); background: radial-gradient(circle, rgba(255,250,240,.6) 0%, rgba(240,230,220,.2) 30%, transparent 70%); filter:blur(10px); pointer-events:none; animation: iop-glow 4s ease-in-out infinite alternate; }
.scn-item-orient-pearl .shadow-under { position:absolute; bottom:16%; left:50%; width:80px; height:10px; transform:translateX(-50%); background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 70%); filter:blur(6px); animation: iop-shadow 6s ease-in-out infinite alternate; }
.scn-item-orient-pearl .sparkle { position:absolute; width:8px; height:8px; background:radial-gradient(circle, #ffffff 0%, transparent 70%); border-radius:50%; filter:blur(1px); }
.scn-item-orient-pearl .sp-1 { top:25%; left:46%; animation: iop-sparkle 3s ease-in-out infinite; }
.scn-item-orient-pearl .sp-2 { top:22%; right:46%; animation: iop-sparkle2 4s ease-in-out infinite 1s; }
.scn-item-orient-pearl .rim-light { position:absolute; bottom:32%; left:50%; width:110px; height:60px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 0%, rgba(255,240,200,.15) 0%, transparent 50%); pointer-events:none; animation: iop-rim 7s ease-in-out infinite alternate; }
@keyframes iop-velvet { 0%,100% { opacity:.9 } 50% { opacity:1 } }
@keyframes iop-shell-bottom { 0%,100% { transform: translateX(-50%) scale(1) } 50% { transform: translateX(-50%) scale(1.01) translateY(-2px) } }
@keyframes iop-shell-top { 0% { transform: translateX(-50%) rotateX(12deg) scale(1) } 50% { transform: translateX(-50%) rotateX(18deg) scale(1.02) } 100% { transform: translateX(-50%) rotateX(14deg) scale(1) } }
@keyframes iop-pearl { 0% { transform: translateX(-50%) scale(1) rotate(0); box-shadow:0 0 30px 10px rgba(240,230,220,.4), 0 0 60px 15px rgba(240,230,220,.15) } 50% { transform: translateX(-50%) scale(1.05) rotate(5deg); box-shadow:0 0 50px 15px rgba(255,250,240,.6), 0 0 90px 25px rgba(240,230,220,.3) } 100% { transform: translateX(-50%) scale(.98) rotate(-2deg); box-shadow:0 0 35px 12px rgba(240,230,220,.45), 0 0 70px 18px rgba(240,230,220,.2) } }
@keyframes iop-glow { 0% { opacity:.4; transform:translateX(-50%) scale(1) } 50% { opacity:.7; transform:translateX(-50%) scale(1.15) } 100% { opacity:.5; transform:translateX(-50%) scale(1.05) } }
@keyframes iop-shadow { 0% { transform:translateX(-50%) scale(1); opacity:.5 } 50% { transform:translateX(-50%) scale(1.1); opacity:.7 } 100% { transform:translateX(-50%) scale(.95); opacity:.4 } }
@keyframes iop-sparkle { 0%,100% { opacity:0; transform:scale(.5) } 50% { opacity:1; transform:scale(1.2) } }
@keyframes iop-sparkle2 { 0%,100% { opacity:0; transform:scale(.5) } 50% { opacity:.8; transform:scale(1) } }
@keyframes iop-rim { 0% { opacity:.3 } 50% { opacity:.6 } 100% { opacity:.4 } }

/* ——— messina-pompey-house: tense bright-interior ——— */
.scn-messina-pompey-house { background: linear-gradient(180deg, #4a3a28 0%, #5a4a38 20%, #6a5a48 50%, #7a6a58 100%), radial-gradient(ellipse at 40% 50%, #8a7a68 0%, transparent 70%); }
.scn-messina-pompey-house .stone-wall { position:absolute; inset:0 0 30% 0; background: repeating-linear-gradient(90deg, #6a5a48 0px, #7a6a58 4px, #6a5a48 8px); background-size:8px 100%; box-shadow: inset 0 0 60px rgba(0,0,0,.25); animation: mph-wall 20s linear infinite; }
.scn-messina-pompey-house .torch-sconce { position:absolute; top:20%; left:10%; width:16px; height:30px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:2px; box-shadow: 0 0 10px rgba(0,0,0,.4); }
.scn-messina-pompey-house .torch-flame { position:absolute; top:16%; left:10%; width:24px; height:30px; transform:translateX(-4px); background: radial-gradient(ellipse at 50% 60%, #ff8830 0%, #cc5510 30%, #883308 60%, transparent 80%); filter:blur(3px); opacity:.8; animation: mph-torch 2s ease-in-out infinite alternate; }
.scn-messina-pompey-house .war-table { position:absolute; bottom:18%; left:30%; width:140px; height:20px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:4px; box-shadow: 0 6px 20px rgba(0,0,0,.5); transform: perspective(300px) rotateX(6deg); animation: mph-table 10s ease-in-out infinite; }
.scn-messina-pompey-house .map-scroll { position:absolute; bottom:22%; left:32%; width:80px; height:40px; background: linear-gradient(180deg, #d8c8a0 0%, #c0b088 30%, #b0a078 100%); border-radius:20% 20% 10% 10% / 30% 30% 10% 10%; box-shadow: 0 3px 8px rgba(0,0,0,.4); transform: rotate(-1deg); animation: mph-map 8s ease-in-out infinite alternate; }
.scn-messina-pompey-house .pompey-figure { position:absolute; bottom:16%; left:25%; width:32px; height:54px; background: linear-gradient(180deg, #1a1810 0%, #0a0a08 100%); border-radius:40% 40% 35% 35% / 50% 50% 30% 30%; transform-origin: bottom center; box-shadow: 0 0 20px rgba(0,0,0,.4); animation: mph-pompey 5s ease-in-out infinite; }
.scn-messina-pompey-house .menas-figure { position:absolute; bottom:16%; left:52%; width:28px; height:48px; background: linear-gradient(180deg, #2a2218 0%, #1a1208 100%); border-radius:40% 40% 35% 35% / 50% 50% 30% 30%; transform-origin: bottom center; box-shadow: 0 0 20px rgba(0,0,0,.4); animation: mph-menas 7s ease-in-out infinite; }
.scn-messina-pompey-house .spear-rack { position:absolute; top:5%; right:15%; width:8px; height:50px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius:2px; box-shadow: 4px 0 0 #5a4a3a, 8px 0 0 #6a5a4a; animation: mph-spear 15s ease-in-out infinite alternate; }
.scn-messina-pompey-house .shadow-pool { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.4) 100%); pointer-events:none; animation: mph-shadowpool 18s ease-in-out infinite alternate; }
@keyframes mph-wall { 0% { background-position:0 0 } 100% { background-position:8px 0 } }
@keyframes mph-torch { 0% { opacity:.5; transform:translateX(-4px) scale(.95) } 50% { opacity:.9; transform:translateX(-4px) scale(1.1) } 100% { opacity:.6; transform:translateX(-4px) scale(1) } }
@keyframes mph-table { 0%,100% { transform:perspective(300px) rotateX(6deg) translateY(0) } 50% { transform:perspective(300px) rotateX(6deg) translateY(-2px) } }
@keyframes mph-map { 0% { transform: rotate(-2deg) translateY(0) } 50% { transform: rotate(3deg) translateY(-1px) } 100% { transform: rotate(-1deg) translateY(0) } }
@keyframes mph-pompey { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(2px) rotate(-1deg) } 50% { transform: translateX(-1px) rotate(1deg) } 75% { transform: translateX(3px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes mph-menas { 0% { transform: translateX(0) scale(1) } 33% { transform: translateX(-2px) scale(1.02) } 66% { transform: translateX(3px) scale(.98) } 100% { transform: translateX(0) scale(1) } }
@keyframes mph-spear { 0% { transform: rotate(0) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-1deg) } }
@keyframes mph-shadowpool { 0% { opacity:.4 } 50% { opacity:.6 } 100% { opacity:.5 } }

/* Scene: alexandria-palace-antony-messenger – tense bright interior */
.scn-alexandria-palace-antony-messenger {
  background: linear-gradient(180deg, #faf5e0 0%, #e8dcc8 50%, #c2b297 100%), radial-gradient(ellipse at 30% 80%, #f0e6d0 0%, transparent 70%);
}
.scn-alexandria-palace-antony-messenger .wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #fdf6e3 0%, #d4c4a8 100%);
  animation: am-sky 8s ease-in-out infinite alternate;
}
.scn-alexandria-palace-antony-messenger .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #b8a688 0%, #8a7a62 100%);
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.2);
  border-radius: 30% 70% 0 0 / 20% 40% 0 0;
}
.scn-alexandria-palace-antony-messenger .column-left {
  position: absolute; bottom: 40%; left: 8%; width: 30px; height: 60%;
  background: linear-gradient(90deg, #c8b898 0%, #e8dcc8 30%, #b8a688 70%, #a0947c 100%);
  border-radius: 8px 8px 0 0;
  box-shadow: 6px 0 12px rgba(0,0,0,0.15);
  animation: am-column 14s ease-in-out infinite;
}
.scn-alexandria-palace-antony-messenger .antony {
  position: absolute; bottom: 40%; left: 40%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #3c2e24 0%, #2a1e14 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: am-antony 6s ease-in-out infinite;
}
.scn-alexandria-palace-antony-messenger .messenger {
  position: absolute; bottom: 40%; left: 62%; width: 34px; height: 60px;
  background: linear-gradient(180deg, #4a3a28 0%, #301c10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: am-messenger 3s ease-in-out infinite;
}
.scn-alexandria-palace-antony-messenger .scroll {
  position: absolute; bottom: 44%; left: 55%; width: 24px; height: 10px;
  background: radial-gradient(ellipse, #d4a060 0%, #a07040 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: am-scroll 12s ease-in-out infinite;
}
.scn-alexandria-palace-antony-messenger .light-flicker {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 60%, rgba(255,220,150,0.1) 0%, transparent 60%);
  animation: am-flicker 2s steps(2, start) infinite;
}
@keyframes am-sky { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes am-column { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes am-antony { 0% { transform: translateX(0) rotate(-1deg); } 25% { transform: translateX(2px) rotate(1deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(-2px) rotate(1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes am-messenger { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-4px) rotate(2deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes am-scroll { 0% { transform: rotate(0) scale(1); } 50% { transform: rotate(5deg) scale(1.02); } 100% { transform: rotate(-5deg) scale(0.98); } }
@keyframes am-flicker { 0% { opacity:0.9; } 50% { opacity:0.95; } 100% { opacity:0.85; } }

/* Scene: alexandria-palace-antony-enobarbus – funny bright interior */
.scn-alexandria-palace-antony-enobarbus {
  background: linear-gradient(180deg, #fcf6e8 0%, #ede0c8 50%, #cdbc9a 100%), radial-gradient(ellipse at 70% 30%, #fff8e0 0%, transparent 60%);
}
.scn-alexandria-palace-antony-enobarbus .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #fdf6e3 0%, #e8dcc8 100%);
  animation: ae-wall 10s ease-in-out infinite alternate;
}
.scn-alexandria-palace-antony-enobarbus .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #c8b898 0%, #a09070 100%);
  border-radius: 50% 50% 0 0 / 30% 30% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.1);
}
.scn-alexandria-palace-antony-enobarbus .table {
  position: absolute; bottom: 35%; left: 35%; width: 80px; height: 14px;
  background: linear-gradient(180deg, #b89878 0%, #906848 100%);
  border-radius: 4px;
  transform-origin: bottom center;
  animation: ae-table 8s ease-in-out infinite;
}
.scn-alexandria-palace-antony-enobarbus .cup {
  position: absolute; bottom: 42%; left: 48%; width: 16px; height: 20px;
  background: radial-gradient(ellipse, #d48a5a 0%, #a06030 100%);
  border-radius: 0 0 50% 50% / 0 0 40% 40%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: ae-cup 2s ease-in-out infinite;
}
.scn-alexandria-palace-antony-enobarbus .antony {
  position: absolute; bottom: 35%; left: 30%; width: 36px; height: 65px;
  background: linear-gradient(180deg, #3c2a1e 0%, #1a1208 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ae-antony 4s ease-in-out infinite;
}
.scn-alexandria-palace-antony-enobarbus .enobarbus {
  position: absolute; bottom: 35%; left: 56%; width: 34px; height: 62px;
  background: linear-gradient(180deg, #4a3628 0%, #241810 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ae-enobarbus 5s ease-in-out infinite;
}
.scn-alexandria-palace-antony-enobarbus .shadow-dance {
  position: absolute; bottom: 35%; left: 40%; width: 60px; height: 40px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.08) 0%, transparent 70%);
  animation: ae-shadow 7s ease-in-out infinite alternate;
}
@keyframes ae-wall { 0% { opacity:0.95; } 50% { opacity:1; } 100% { opacity:0.9; } }
@keyframes ae-table { 0% { transform: scale(1) translateY(0); } 50% { transform: scale(1.01) translateY(-2px); } 100% { transform: scale(0.99) translateY(0); } }
@keyframes ae-cup { 0% { transform: translate(0,0) rotate(-3deg); } 30% { transform: translate(2px,-3px) rotate(5deg); } 60% { transform: translate(-1px,-1px) rotate(-2deg); } 100% { transform: translate(0,0) rotate(0); } }
@keyframes ae-antony { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(4px) rotate(2deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(-4px) rotate(1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes ae-enobarbus { 0% { transform: translateX(0) translateY(0) rotate(0); } 33% { transform: translateX(6px) translateY(-2px) rotate(3deg); } 66% { transform: translateX(-3px) translateY(0) rotate(-2deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes ae-shadow { 0% { transform: translateX(0) scale(1); } 50% { transform: translateX(10px) scale(1.1); } 100% { transform: translateX(-5px) scale(0.9); } }

/* Scene: alexandria-palace-cleopatra-where-is-he – tense bright interior */
.scn-alexandria-palace-cleopatra-where-is-he {
  background: linear-gradient(180deg, #f7efd8 0%, #e4d4bc 50%, #c0ac90 100%), radial-gradient(ellipse at 40% 60%, #f4e4c4 0%, transparent 80%);
}
.scn-alexandria-palace-cleopatra-where-is-he .wall {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #fcf4e0 0%, #d8c8b0 100%);
  animation: cw-wall 12s ease-in-out infinite alternate;
}
.scn-alexandria-palace-cleopatra-where-is-he .arch {
  position: absolute; bottom: 45%; left: 50%; width: 120px; height: 80px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 0%, transparent 0%, #d8c8b0 40%, #b0a088 100%);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  box-shadow: inset 0 -10px 20px rgba(0,0,0,0.1);
}
.scn-alexandria-palace-cleopatra-where-is-he .cleopatra {
  position: absolute; bottom: 45%; left: 48%; width: 38px; height: 72px;
  background: linear-gradient(180deg, #c8553d 0%, #8a3a28 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cw-cleopatra 3s ease-in-out infinite;
}
.scn-alexandria-palace-cleopatra-where-is-he .charmian {
  position: absolute; bottom: 45%; left: 38%; width: 30px; height: 58px;
  background: linear-gradient(180deg, #5e4a3a 0%, #302010 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cw-charmian 5s ease-in-out infinite;
}
.scn-alexandria-palace-cleopatra-where-is-he .iras {
  position: absolute; bottom: 45%; left: 60%; width: 28px; height: 54px;
  background: linear-gradient(180deg, #4a3a2a 0%, #241810 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cw-iras 4s ease-in-out infinite;
}
.scn-alexandria-palace-cleopatra-where-is-he .curtain {
  position: absolute; top: 0; right: 10%; width: 40px; height: 55%;
  background: linear-gradient(180deg, #7a5a4a 0%, #4a3020 100%);
  border-radius: 0 0 20px 20px;
  box-shadow: inset -4px 0 8px rgba(0,0,0,0.2);
  animation: cw-curtain 9s ease-in-out infinite;
}
@keyframes cw-wall { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes cw-cleopatra { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(2px) rotate(4deg); } 50% { transform: translateX(-3px) rotate(-6deg); } 75% { transform: translateX(1px) rotate(2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes cw-charmian { 0% { transform: translateY(0) rotate(-1deg); } 33% { transform: translateY(-3px) rotate(2deg); } 66% { transform: translateY(0) rotate(-2deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes cw-iras { 0% { transform: translateX(0) scale(1); } 50% { transform: translateX(5px) scale(1.02); } 100% { transform: translateX(-5px) scale(0.98); } }
@keyframes cw-curtain { 0% { transform: translateX(0) skewX(0); } 50% { transform: translateX(-4px) skewX(-3deg); } 100% { transform: translateX(4px) skewX(3deg); } }

/* Scene: alexandria-palace-cleopatra-weeps – tense bright interior */
.scn-alexandria-palace-cleopatra-weeps {
  background: linear-gradient(180deg, #f4ecd6 0%, #ddd0b8 50%, #b8a488 100%), radial-gradient(ellipse at 50% 70%, #ebd6b0 0%, transparent 70%);
}
.scn-alexandria-palace-cleopatra-weeps .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #c8b898 0%, #9a8a6a 100%);
  border-radius: 60% 40% 0 0 / 30% 20% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.15);
}
.scn-alexandria-palace-cleopatra-weeps .cleopatra {
  position: absolute; bottom: 45%; left: 44%; width: 36px; height: 68px;
  background: linear-gradient(180deg, #a0461a 0%, #5e2a12 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cp-cleopatra 4s ease-in-out infinite;
}
.scn-alexandria-palace-cleopatra-weeps .charmian {
  position: absolute; bottom: 45%; left: 52%; width: 32px; height: 60px;
  background: linear-gradient(180deg, #5e4a3a 0%, #302010 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cp-charmian 6s ease-in-out infinite;
}
.scn-alexandria-palace-cleopatra-weeps .couch {
  position: absolute; bottom: 45%; left: 30%; width: 100px; height: 20px;
  background: linear-gradient(180deg, #9a7a5a 0%, #705030 100%);
  border-radius: 20px 20px 8px 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  animation: cp-couch 14s ease-in-out infinite;
}
.scn-alexandria-palace-cleopatra-weeps .window-light {
  position: absolute; top: 5%; right: 5%; width: 60px; height: 90px;
  background: radial-gradient(ellipse at 50% 50%, rgba(255,230,170,0.4) 0%, transparent 70%);
  border-radius: 4px;
  animation: cp-window 8s ease-in-out infinite alternate;
}
.scn-alexandria-palace-cleopatra-weeps .teardrop {
  position: absolute; top: 30%; left: 47%; width: 4px; height: 6px;
  background: radial-gradient(circle, rgba(180,200,230,0.6) 0%, transparent 80%);
  border-radius: 50%;
  animation: cp-tear 3s ease-in-out infinite;
}
@keyframes cp-cleopatra { 0% { transform: translateY(0) rotate(-10deg); } 20% { transform: translateY(-5px) rotate(-5deg); } 40% { transform: translateY(0) rotate(-8deg); } 60% { transform: translateY(-8px) rotate(-12deg); } 80% { transform: translateY(-3px) rotate(-7deg); } 100% { transform: translateY(0) rotate(-10deg); } }
@keyframes cp-charmian { 0% { transform: translateX(0) translateY(0); } 25% { transform: translateX(-4px) translateY(2px); } 50% { transform: translateX(0) translateY(-2px); } 75% { transform: translateX(4px) translateY(1px); } 100% { transform: translateX(0) translateY(0); } }
@keyframes cp-couch { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-2px) scale(1.005); } 100% { transform: translateY(0) scale(0.995); } }
@keyframes cp-window { 0% { opacity: 0.6; box-shadow: 0 0 20px 10px rgba(255,220,150,0.1); } 50% { opacity: 0.9; box-shadow: 0 0 30px 15px rgba(255,220,150,0.2); } 100% { opacity: 0.7; box-shadow: 0 0 15px 8px rgba(255,220,150,0.08); } }
@keyframes cp-tear { 0% { transform: translateY(0) scale(1); opacity: 0; } 20% { opacity: 0.8; } 80% { opacity: 0.8; } 100% { transform: translateY(60px) scale(0.5); opacity: 0; } }

.scn-caesar-camp-alexandria-enobarbus-distraught {
  background: linear-gradient(180deg, #b0d4f1 0%, #f9d885 100%),
              radial-gradient(ellipse at 70% 20%, #fff8dc 0%, transparent 60%);
}
.scn-caesar-camp-alexandria-enobarbus-distraught .sky {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, rgba(255,255,240,0.2) 0%, transparent 100%);
  animation: ca1-sky 12s ease-in-out infinite alternate;
}
.scn-caesar-camp-alexandria-enobarbus-distraught .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #7a8a5a 0%, #5a6a3a 100%);
  border-radius: 30% 70% 0 0 / 60% 80% 0 0;
  animation: ca1-ground 8s ease-in-out infinite alternate;
}
.scn-caesar-camp-alexandria-enobarbus-distraught .tent {
  position: absolute; bottom: 22%; left: 30%; width: 120px; height: 90px;
  background: linear-gradient(135deg, #c8b88a 0%, #9e8e62 50%, #6a5e3e 100%);
  clip-path: polygon(0% 100%, 20% 0%, 80% 0%, 100% 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 8px 0 12px rgba(0,0,0,0.2);
}
.scn-caesar-camp-alexandria-enobarbus-distraught .flag {
  position: absolute; bottom: 50%; left: 35%; width: 8px; height: 60px;
  background: #5a3e2a;
  transform-origin: bottom center;
  animation: ca1-flag 3s ease-in-out infinite;
}
.scn-caesar-camp-alexandria-enobarbus-distraught .flag::before {
  content: ''; position: absolute; top: -5px; left: 4px; width: 40px; height: 28px;
  background: linear-gradient(135deg, #c8553d 0%, #9e3a2a 100%);
  border-radius: 0 50% 50% 50%;
  transform-origin: left center;
  animation: ca1-pennant 3s ease-in-out infinite;
}
.scn-caesar-camp-alexandria-enobarbus-distraught .figure {
  position: absolute; bottom: 20%; left: 48%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #2a2a1e 0%, #1a1a12 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ca1-figure 5s ease-in-out infinite;
}
.scn-caesar-camp-alexandria-enobarbus-distraught .shadow {
  position: absolute; bottom: 12%; left: 46%; width: 40px; height: 8px;
  background: rgba(0,0,0,0.3);
  border-radius: 50%;
  filter: blur(3px);
  animation: ca1-shadow 5s ease-in-out infinite;
}
.scn-caesar-camp-alexandria-enobarbus-distraught .spear {
  position: absolute; bottom: 28%; left: 52%; width: 4px; height: 60px;
  background: #8a7a62;
  transform: rotate(-10deg);
  transform-origin: bottom center;
  animation: ca1-spear 6s ease-in-out infinite;
}
@keyframes ca1-sky     { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes ca1-ground  { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(0.98); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes ca1-flag    { 0% { transform: rotate(-8deg); } 50% { transform: rotate(8deg); } 100% { transform: rotate(-6deg); } }
@keyframes ca1-pennant { 0% { transform: rotate(0deg); } 50% { transform: rotate(15deg); } 100% { transform: rotate(-5deg); } }
@keyframes ca1-figure  { 0% { transform: rotate(-2deg) translateY(0); } 25% { transform: rotate(1deg) translateY(-1px); } 50% { transform: rotate(0deg) translateY(0); } 75% { transform: rotate(-1deg) translateY(-1px); } 100% { transform: rotate(2deg) translateY(0); } }
@keyframes ca1-shadow  { 0% { transform: scaleX(1) translateX(0); } 50% { transform: scaleX(1.2) translateX(3px); } 100% { transform: scaleX(1) translateX(0); } }
@keyframes ca1-spear   { 0% { transform: rotate(-10deg); } 50% { transform: rotate(-14deg); } 100% { transform: rotate(-8deg); } }

.scn-field-of-battle-actium {
  background: linear-gradient(180deg, #b8d4e8 0%, #e8c870 100%),
              radial-gradient(ellipse at 50% 30%, #fff8e0 0%, transparent 60%);
}
.scn-field-of-battle-actium .sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, rgba(255,255,240,0.3) 0%, transparent 100%);
  animation: fba2-sky 14s ease-in-out infinite alternate;
}
.scn-field-of-battle-actium .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 38%;
  background: linear-gradient(180deg, #8a7a4a 0%, #5a4a2a 100%);
  border-radius: 20% 80% 0 0 / 50% 70% 0 0;
  box-shadow: inset 0 6px 10px rgba(0,0,0,0.3);
}
.scn-field-of-battle-actium .soldier-a {
  position: absolute; bottom: 22%; left: 25%; width: 22px; height: 44px;
  background: linear-gradient(180deg, #3a3a2a 0%, #1a1a12 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fba2-soldier-a 6s ease-in-out infinite;
}
.scn-field-of-battle-actium .soldier-b {
  position: absolute; bottom: 20%; left: 55%; width: 24px; height: 42px;
  background: linear-gradient(180deg, #2e2e1e 0%, #0e0e0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fba2-soldier-b 7s ease-in-out infinite 1s;
}
.scn-field-of-battle-actium .flag {
  position: absolute; bottom: 45%; left: 40%; width: 6px; height: 55px;
  background: #4a3a2a;
  transform-origin: bottom center;
  animation: fba2-flag 4s ease-in-out infinite;
}
.scn-field-of-battle-actium .flag::before {
  content: ''; position: absolute; top: -3px; left: 2px; width: 36px; height: 24px;
  background: linear-gradient(135deg, #b05040 0%, #802a1a 100%);
  border-radius: 0 40% 40% 40%;
  transform-origin: left center;
  animation: fba2-pennant 4s ease-in-out infinite;
}
.scn-field-of-battle-actium .wound-marker {
  position: absolute; bottom: 14%; left: 30%; width: 20px; height: 10px;
  background: #a0461a;
  border-radius: 50%;
  filter: blur(2px);
  box-shadow: 0 0 6px 2px #a0461a;
  animation: fba2-wound 10s ease-in-out infinite alternate;
}
.scn-field-of-battle-actium .dust {
  position: absolute; bottom: 10%; left: 20%; width: 80px; height: 20px;
  background: radial-gradient(ellipse at center, rgba(200,180,140,0.4) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(8px);
  animation: fba2-dust 20s linear infinite;
}
@keyframes fba2-sky        { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes fba2-soldier-a  { 0% { transform: translateX(0) rotate(-1deg); } 25% { transform: translateX(8px) rotate(2deg); } 50% { transform: translateX(10px) rotate(-1deg) translateY(-2px); } 75% { transform: translateX(4px) rotate(1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes fba2-soldier-b  { 0% { transform: translateX(0) rotate(0); } 30% { transform: translateX(-6px) rotate(2deg) translateY(-1px); } 60% { transform: translateX(-10px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes fba2-flag       { 0% { transform: rotate(-10deg); } 50% { transform: rotate(10deg); } 100% { transform: rotate(-8deg); } }
@keyframes fba2-pennant    { 0% { transform: rotate(0deg); } 50% { transform: rotate(20deg); } 100% { transform: rotate(-5deg); } }
@keyframes fba2-wound      { 0% { opacity:0.5; } 50% { opacity:1; } 100% { opacity:0.6; } }
@keyframes fba2-dust       { 0% { transform: translateX(-20px) scale(0.8); opacity:0.3; } 25% { transform: translateX(10px) scale(1); opacity:0.5; } 50% { transform: translateX(40px) scale(1.2); opacity:0.4; } 75% { transform: translateX(60px) scale(1); opacity:0.3; } 100% { transform: translateX(80px) scale(0.8); opacity:0.2; } }

.scn-under-walls-of-alexandria {
  background: linear-gradient(180deg, #f0d880 0%, #d4b060 40%, #a08040 100%),
              radial-gradient(ellipse at 60% 20%, #ffe8b0 0%, transparent 50%);
}
.scn-under-walls-of-alexandria .sky {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, rgba(255,235,180,0.2) 0%, transparent 100%);
  animation: woa3-sky 15s ease-in-out infinite alternate;
}
.scn-under-walls-of-alexandria .wall {
  position: absolute; bottom: 20%; left: 10%; right: 10%; height: 50%;
  background: linear-gradient(180deg, #b09060 0%, #806040 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
  clip-path: polygon(0% 100%, 5% 0%, 95% 0%, 100% 100%);
}
.scn-under-walls-of-alexandria .gate {
  position: absolute; bottom: 20%; left: 35%; right: 35%; height: 40%;
  background: linear-gradient(180deg, #5a4030 0%, #3a2818 100%);
  border-radius: 50% 50% 10% 10% / 30% 30% 10% 10%;
  box-shadow: 0 0 20px rgba(0,0,0,0.5), inset 0 5px 10px rgba(255,200,100,0.1);
  animation: woa3-gate 6s ease-in-out infinite;
}
.scn-under-walls-of-alexandria .march-antony {
  position: absolute; bottom: 22%; left: 20%; width: 26px; height: 50px;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: woa3-march-ant 5s ease-in-out infinite;
}
.scn-under-walls-of-alexandria .march-scarus {
  position: absolute; bottom: 21%; left: 28%; width: 24px; height: 48px;
  background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: woa3-march-scar 6s ease-in-out infinite 0.5s;
}
.scn-under-walls-of-alexandria .banner {
  position: absolute; bottom: 55%; left: 48%; width: 5px; height: 40px;
  background: #5a3a2a;
  transform-origin: bottom center;
  animation: woa3-banner 3s ease-in-out infinite;
}
.scn-under-walls-of-alexandria .banner::before {
  content: ''; position: absolute; top: -2px; left: 2px; width: 30px; height: 22px;
  background: linear-gradient(135deg, #b07040 0%, #804020 100%);
  border-radius: 0 50% 50% 50%;
  transform-origin: left center;
  animation: woa3-pennant 3s ease-in-out infinite;
}
.scn-under-walls-of-alexandria .sunbeams {
  position: absolute; top: 0; left: 20%; right: 20%; bottom: 0;
  background: linear-gradient(135deg, rgba(255,220,120,0.15) 0%, transparent 50%);
  filter: blur(4px);
  animation: woa3-sunbeams 8s ease-in-out infinite alternate;
}
@keyframes woa3-sky       { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.9; } }
@keyframes woa3-gate      { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.96); } 100% { transform: scaleY(1); } }
@keyframes woa3-march-ant { 0% { transform: translateX(0) rotate(-1deg); } 25% { transform: translateX(12px) rotate(1deg) translateY(-1px); } 50% { transform: translateX(18px) rotate(0deg); } 75% { transform: translateX(12px) rotate(-1deg) translateY(-1px); } 100% { transform: translateX(0) rotate(0); } }
@keyframes woa3-march-scar{ 0% { transform: translateX(0) rotate(1deg); } 20% { transform: translateX(8px) rotate(-1deg); } 40% { transform: translateX(14px) rotate(0deg) translateY(-1px); } 60% { transform: translateX(8px) rotate(1deg); } 80% { transform: translateX(2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes woa3-banner    { 0% { transform: rotate(-6deg); } 50% { transform: rotate(6deg); } 100% { transform: rotate(-4deg); } }
@keyframes woa3-pennant   { 0% { transform: rotate(0deg); } 50% { transform: rotate(15deg); } 100% { transform: rotate(-5deg); } }
@keyframes woa3-sunbeams  { 0% { opacity:0.2; transform: rotate(0deg); } 50% { opacity:0.5; transform: rotate(5deg); } 100% { opacity:0.3; transform: rotate(-3deg); } }

.scn-caesar-camp-night-enobarbus-death {
  background: linear-gradient(180deg, #0a0a1e 0%, #1a1a3a 100%),
              radial-gradient(ellipse at 50% 0%, #2a2a4e 0%, transparent 70%);
}
.scn-caesar-camp-night-enobarbus-death .sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, rgba(30,40,60,0.4) 0%, transparent 100%);
  animation: cnd4-sky 20s ease-in-out infinite alternate;
}
.scn-caesar-camp-night-enobarbus-death .moon {
  position: absolute; top: 12%; left: 75%; width: 40px; height: 40px;
  background: radial-gradient(circle at 35% 35%, #e0e8f0 0%, #b0b8c8 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px #a0a8b8, 0 0 60px 20px rgba(160,168,184,0.3);
  animation: cnd4-moon 30s linear infinite;
}
.scn-caesar-camp-night-enobarbus-death .starfield {
  position: absolute; inset: 0; 
  background: radial-gradient(1px 1px at 20% 30%, #fff, transparent),
              radial-gradient(1px 1px at 50% 10%, #fff, transparent),
              radial-gradient(1px 1px at 70% 25%, #fff, transparent),
              radial-gradient(1px 1px at 90% 15%, #fff, transparent),
              radial-gradient(1px 1px at 45% 40%, #fff, transparent);
  background-size: 100% 100%;
  animation: cnd4-stars 40s linear infinite;
}
.scn-caesar-camp-night-enobarbus-death .tent {
  position: absolute; bottom: 20%; left: 20%; width: 140px; height: 100px;
  background: linear-gradient(135deg, #2a2a3a 0%, #1a1a2a 100%);
  clip-path: polygon(0% 100%, 20% 0%, 80% 0%, 100% 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 0 20px rgba(0,0,0,0.5), inset 0 5px 10px rgba(100,120,160,0.05);
}
.scn-caesar-camp-night-enobarbus-death .sentry-left {
  position: absolute; bottom: 22%; left: 30%; width: 20px; height: 44px;
  background: linear-gradient(180deg, #1e1e2e 0%, #0e0e1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cnd4-sentry-l 12s ease-in-out infinite;
}
.scn-caesar-camp-night-enobarbus-death .sentry-right {
  position: absolute; bottom: 22%; left: 55%; width: 22px; height: 46px;
  background: linear-gradient(180deg, #1e1e2e 0%, #0e0e1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cnd4-sentry-r 14s ease-in-out infinite 3s;
}
.scn-caesar-camp-night-enobarbus-death .enobarbus {
  position: absolute; bottom: 12%; left: 42%; width: 28px; height: 40px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform: rotate(-20deg);
  transform-origin: bottom center;
  animation: cnd4-enobarbus 8s ease-in-out infinite;
}
.scn-caesar-camp-night-enobarbus-death .enobarbus::after {
  content: ''; position: absolute; top: 20%; left: 10%; width: 8px; height: 8px;
  background: #3a4a5a;
  border-radius: 50%;
  box-shadow: 0 0 6px #2a3a4a;
  animation: cnd4-eye 3s ease-in-out infinite;
}
.scn-caesar-camp-night-enobarbus-death .lantern {
  position: absolute; bottom: 28%; left: 38%; width: 8px; height: 12px;
  background: radial-gradient(circle at 50% 50%, #80a0c0 0%, #406080 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 20px 8px #406080, 0 0 40px 12px rgba(64,96,128,0.3);
  animation: cnd4-lantern 4s ease-in-out infinite alternate;
}
@keyframes cnd4-sky        { 0% { opacity:0.5; } 50% { opacity:0.8; } 100% { opacity:0.6; } }
@keyframes cnd4-moon       { 0% { transform: translateX(0) translateY(0); } 50% { transform: translateX(-10px) translateY(5px); } 100% { transform: translateX(0) translateY(0); } }
@keyframes cnd4-stars      { 0% { opacity:0.6; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes cnd4-sentry-l   { 0% { transform: rotate(0deg) translateX(0); } 25% { transform: rotate(2deg) translateX(4px); } 50% { transform: rotate(-1deg) translateX(8px); } 75% { transform: rotate(3deg) translateX(4px); } 100% { transform: rotate(0deg) translateX(0); } }
@keyframes cnd4-sentry-r   { 0% { transform: rotate(0deg) translateX(0); } 33% { transform: rotate(-2deg) translateX(-6px); } 66% { transform: rotate(1deg) translateX(-3px); } 100% { transform: rotate(0deg) translateX(0); } }
@keyframes cnd4-enobarbus  { 0% { transform: rotate(-20deg) scaleY(1); } 50% { transform: rotate(-18deg) scaleY(0.95); } 100% { transform: rotate(-22deg) scaleY(1); } }
@keyframes cnd4-eye        { 0% { opacity:0.3; } 50% { opacity:1; } 100% { opacity:0.2; } }
@keyframes cnd4-lantern    { 0% { box-shadow: 0 0 15px 4px #406080, 0 0 30px 8px rgba(64,96,128,0.2); } 50% { box-shadow: 0 0 25px 8px #8090b0, 0 0 50px 14px rgba(128,144,176,0.4); } 100% { box-shadow: 0 0 18px 5px #406080, 0 0 35px 10px rgba(64,96,128,0.3); } }

.scn-alexandria-palace-dotage {
  background: 
    linear-gradient(180deg, #c8a06e 0%, #b88a5e 40%, #4a2a1a 100%),
    radial-gradient(ellipse at 50% 20%, rgba(255,230,180,0.4), transparent 60%);
}
.scn-alexandria-palace-dotage .bg-wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(90deg, #b88a5e 0%, #5a3a1a 10%, #b88a5e 12%, #b88a5e 88%, #5a3a1a 90%, #b88a5e 100%);
  animation: dpg-wall 30s ease-in-out infinite;
}
.scn-alexandria-palace-dotage .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #a07a4a 0%, #6a4a2a 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
}
.scn-alexandria-palace-dotage .throne {
  position: absolute; bottom: 38%; left: 50%; width: 80px; height: 100px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #7a5a3a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  animation: dpg-throne 6s ease-in-out infinite;
}
.scn-alexandria-palace-dotage .figure-old {
  position: absolute; bottom: 38%; left: 50%; width: 44px; height: 60px;
  transform: translate(-50%, 0);
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: dpg-figure 4s ease-in-out infinite;
}
.scn-alexandria-palace-dotage .crown {
  position: absolute; bottom: 88%; left: 50%; width: 22px; height: 12px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #d8a030 0%, #b08020 100%);
  border-radius: 4px 4px 2px 2px;
  box-shadow: 0 2px 6px rgba(200,140,50,0.5);
  animation: dpg-crown 3s ease-in-out infinite;
}
.scn-alexandria-palace-dotage .lantern {
  position: absolute; bottom: 48%; left: 30%; width: 10px; height: 10px;
  background: radial-gradient(circle, #ffd680 0%, #c08040 70%);
  border-radius: 50%;
  box-shadow: 0 0 20px 6px #c08040, 0 0 40px 12px rgba(192,128,64,0.3);
  animation: dpg-flicker 2s ease-in-out infinite;
}
.scn-alexandria-palace-dotage .shadow {
  position: absolute; bottom: 35%; left: 42%; width: 60px; height: 18px;
  background: rgba(0,0,0,0.35);
  border-radius: 50%;
  filter: blur(4px);
  animation: dpg-shadow 4s ease-in-out infinite;
}
@keyframes dpg-wall {
  0%,100% { opacity: 1; }
  50% { opacity: 0.9; }
}
@keyframes dpg-throne {
  0%,100% { transform: translateX(-50%) scale(1); }
  50% { transform: translateX(-50%) scale(0.98); }
}
@keyframes dpg-figure {
  0% { transform: translate(-50%,0) rotate(0deg); }
  25% { transform: translate(-48%,-1px) rotate(1deg); }
  50% { transform: translate(-50%,0) rotate(0deg); }
  75% { transform: translate(-52%,-1px) rotate(-1deg); }
  100% { transform: translate(-50%,0) rotate(0deg); }
}
@keyframes dpg-crown {
  0%,100% { transform: translateX(-50%) rotate(0deg); }
  50% { transform: translateX(-50%) rotate(4deg); }
}
@keyframes dpg-flicker {
  0% { opacity: 0.8; transform: scale(1); }
  30% { opacity: 1; transform: scale(1.15); }
  60% { opacity: 0.9; transform: scale(0.95); }
  100% { opacity: 0.8; transform: scale(1); }
}
@keyframes dpg-shadow {
  0%,100% { transform: scaleX(1) translateX(0); }
  50% { transform: scaleX(0.85) translateX(6px); }
}

.scn-alexandria-palace-embrace {
  background:
    linear-gradient(180deg, #e0b080 0%, #c09050 50%, #7a4a2a 100%),
    radial-gradient(ellipse at 50% 30%, #ffe0a0 0%, transparent 60%);
}
.scn-alexandria-palace-embrace .bg-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #d8a060 0%, #b08040 100%);
}
.scn-alexandria-palace-embrace .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #b08a5a 0%, #7a4a2a 100%);
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.2);
}
.scn-alexandria-palace-embrace .window-arch {
  position: absolute; top: 10%; left: 35%; width: 30%; height: 50%;
  background: radial-gradient(ellipse at 50% 0%, #ffe0a0 0%, transparent 70%);
  border-radius: 50% / 80% 80% 20% 20%;
  box-shadow: 0 0 40px 10px rgba(255,224,160,0.4);
  animation: emb-window 8s ease-in-out infinite alternate;
}
.scn-alexandria-palace-embrace .figure-l {
  position: absolute; bottom: 28%; left: 38%; width: 28px; height: 55px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 30% 40% 50% / 60% 40% 50% 50%;
  transform: translate(-10px,0);
  animation: emb-body 5s ease-in-out infinite;
}
.scn-alexandria-palace-embrace .figure-r {
  position: absolute; bottom: 28%; left: 42%; width: 28px; height: 55px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 30% 50% 50% 40% / 40% 60% 50% 50%;
  transform: translate(10px,0);
  animation: emb-body 5s ease-in-out infinite reverse;
}
.scn-alexandria-palace-embrace .embrace-arm {
  position: absolute; bottom: 50%; left: 39%; width: 16px; height: 4px;
  background: #2a1a0a;
  border-radius: 50%;
  transform: rotate(25deg);
  animation: emb-arm 5s ease-in-out infinite;
}
.scn-alexandria-palace-embrace .glow-ambient {
  position: absolute; top: 30%; left: 38%; width: 24%; height: 30%;
  background: radial-gradient(circle, rgba(255,220,180,0.5), transparent 70%);
  filter: blur(8px);
  animation: emb-glow 6s ease-in-out infinite alternate;
}
.scn-alexandria-palace-embrace .curtain-l {
  position: absolute; top: 0; left: 0; width: 12%; height: 100%;
  background: linear-gradient(180deg, #8a2a1a 0%, #4a1000 100%);
  border-radius: 0 20% 20% 0;
  box-shadow: 4px 0 10px rgba(0,0,0,0.3);
  animation: emb-curtain 12s ease-in-out infinite;
}
.scn-alexandria-palace-embrace .curtain-r {
  position: absolute; top: 0; right: 0; width: 12%; height: 100%;
  background: linear-gradient(180deg, #8a2a1a 0%, #4a1000 100%);
  border-radius: 20% 0 0 20%;
  box-shadow: -4px 0 10px rgba(0,0,0,0.3);
  animation: emb-curtain 12s ease-in-out infinite reverse;
}
@keyframes emb-window {
  0% { opacity: 0.7; transform: scaleY(1); }
  100% { opacity: 1; transform: scaleY(1.05); }
}
@keyframes emb-body {
  0%,100% { transform: translate(-10px,0) scale(1); }
  50% { transform: translate(-8px,-1px) scale(1.02); }
}
@keyframes emb-arm {
  0%,100% { transform: rotate(25deg); }
  50% { transform: rotate(20deg); }
}
@keyframes emb-glow {
  0% { opacity: 0.6; transform: scale(0.95); }
  100% { opacity: 1; transform: scale(1.05); }
}
@keyframes emb-curtain {
  0% { transform: scaleX(1); }
  50% { transform: scaleX(0.95); }
  100% { transform: scaleX(1); }
}

.scn-alexandria-palace-charms-soothsayer {
  background:
    linear-gradient(180deg, #f5d0a0 0%, #d8b080 40%, #a08050 100%),
    radial-gradient(ellipse at 50% 20%, rgba(255,240,200,0.5) 0%, transparent 70%);
}
.scn-alexandria-palace-charms-soothsayer .bg-wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #e8c090 0%, #c8a060 100%);
  box-shadow: inset 0 0 30px rgba(0,0,0,0.1);
}
.scn-alexandria-palace-charms-soothsayer .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #c8a060 0%, #8a6030 100%);
}
.scn-alexandria-palace-charms-soothsayer .table {
  position: absolute; bottom: 32%; left: 50%; width: 80px; height: 40px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6a3a2a 0%, #3a1a0a 100%);
  border-radius: 50% 50% 10% 10% / 30% 30% 10% 10%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.4);
  animation: chm-table 8s ease-in-out infinite;
}
.scn-alexandria-palace-charms-soothsayer .crystal-ball {
  position: absolute; bottom: 48%; left: 50%; width: 20px; height: 20px;
  transform: translateX(-50%);
  background: radial-gradient(circle at 35% 35%, #e0f0ff 0%, #80c0ff 60%, #4060a0 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 6px rgba(128,192,255,0.6), 0 0 40px 12px rgba(128,192,255,0.3);
  animation: chm-ball 3s ease-in-out infinite;
}
.scn-alexandria-palace-charms-soothsayer .soothsayer {
  position: absolute; bottom: 26%; left: 20%; width: 36px; height: 80px;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0000 100%);
  border-radius: 50% 40% 40% 50% / 60% 50% 50% 60%;
  transform: rotate(10deg);
  animation: chm-sway 5s ease-in-out infinite;
}
.scn-alexandria-palace-charms-soothsayer .figure-charm {
  position: absolute; bottom: 26%; left: 62%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 50% 50% 40% / 50% 60% 40% 50%;
  animation: chm-side 4s ease-in-out infinite;
}
.scn-alexandria-palace-charms-soothsayer .figure-iras {
  position: absolute; bottom: 26%; left: 74%; width: 28px; height: 58px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 40% 40% 50% / 60% 40% 60% 40%;
  animation: chm-side 4s ease-in-out infinite 0.5s;
}
.scn-alexandria-palace-charms-soothsayer .scarf {
  position: absolute; bottom: 58%; left: 36%; width: 18px; height: 6px;
  background: linear-gradient(90deg, #c06050, #e08070);
  border-radius: 50%;
  filter: blur(1px);
  animation: chm-scarf 6s ease-in-out infinite;
}
@keyframes chm-table {
  0%,100% { transform: translateX(-50%) scale(1); }
  50% { transform: translateX(-50%) scale(0.97); }
}
@keyframes chm-ball {
  0% { transform: translateX(-50%) scale(1); opacity: 0.8; }
  30% { transform: translateX(-50%) scale(1.1); opacity: 1; }
  60% { transform: translateX(-50%) scale(0.9); opacity: 0.9; }
  100% { transform: translateX(-50%) scale(1); opacity: 0.8; }
}
@keyframes chm-sway {
  0%,100% { transform: rotate(10deg); }
  50% { transform: rotate(15deg); }
}
@keyframes chm-side {
  0%,100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-3px) rotate(2deg); }
}
@keyframes chm-scarf {
  0%,100% { transform: translate(0,0) rotate(10deg); }
  50% { transform: translate(10px,-5px) rotate(-5deg); }
}

.scn-alexandria-palace-soothsayer-fortunes {
  background:
    linear-gradient(180deg, #f0d0a0 0%, #d0b080 50%, #a08050 100%),
    radial-gradient(ellipse at 50% 30%, #fff0d0 0%, transparent 60%);
}
.scn-alexandria-palace-soothsayer-fortunes .bg-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #e0c090 0%, #c0a060 100%);
}
.scn-alexandria-palace-soothsayer-fortunes .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #c8a060 0%, #8a6030 100%);
}
.scn-alexandria-palace-soothsayer-fortunes .stool {
  position: absolute; bottom: 28%; left: 30%; width: 50px; height: 30px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 30% 30%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: frt-stool 10s ease-in-out infinite;
}
.scn-alexandria-palace-soothsayer-fortunes .palm-hand {
  position: absolute; bottom: 44%; left: 36%; width: 20px; height: 16px;
  background: linear-gradient(180deg, #8a6a4a 0%, #5a3a1a 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  transform: rotate(20deg);
  box-shadow: 0 0 6px rgba(0,0,0,0.2);
  animation: frt-hand 4s ease-in-out infinite;
}
.scn-alexandria-palace-soothsayer-fortunes .soothsayer {
  position: absolute; bottom: 24%; left: 18%; width: 40px; height: 90px;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0000 100%);
  border-radius: 50% 40% 40% 50% / 60% 50% 50% 60%;
  transform: rotate(-5deg);
  animation: frt-sooth 5s ease-in-out infinite;
}
.scn-alexandria-palace-soothsayer-fortunes .figure-iras {
  position: absolute; bottom: 24%; left: 70%; width: 30px; height: 65px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 40% 40% 50% / 60% 50% 50% 60%;
  animation: frt-side 4s ease-in-out infinite;
}
.scn-alexandria-palace-soothsayer-fortunes .figure-char {
  position: absolute; bottom: 24%; left: 82%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 50% 50% 40% / 50% 60% 40% 50%;
  animation: frt-side 4s ease-in-out infinite 0.5s;
}
.scn-alexandria-palace-soothsayer-fortunes .flutter-fan {
  position: absolute; bottom: 42%; left: 75%; width: 14px; height: 10px;
  background: radial-gradient(ellipse at 50% 100%, #c06050 0%, transparent 80%);
  border-radius: 50% 50% 0 0;
  transform-origin: bottom center;
  animation: frt-fan 2s ease-in-out infinite;
}
@keyframes frt-stool {
  0%,100% { transform: translateX(-50%) scaleY(1); }
  50% { transform: translateX(-50%) scaleY(0.95); }
}
@keyframes frt-hand {
  0% { transform: rotate(20deg) scale(1); }
  30% { transform: rotate(15deg) scale(1.05); }
  60% { transform: rotate(25deg) scale(0.95); }
  100% { transform: rotate(20deg) scale(1); }
}
@keyframes frt-sooth {
  0%,100% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(0deg) translateY(-2px); }
}
@keyframes frt-side {
  0%,100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-4px) rotate(3deg); }
}
@keyframes frt-fan {
  0% { transform: rotate(-10deg); }
  50% { transform: rotate(30deg); }
  100% { transform: rotate(-10deg); }
}

.scn-alexandria-palace-music-billiards { background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 50%, #2a0a00 100%), radial-gradient(ellipse at 30% 70%, #ffd080 0%, transparent 60%); }
.scn-alexandria-palace-music-billiards .floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #8b6f47 0%, #5a3a1a 100%); border-radius:5% 5% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,.5); }
.scn-alexandria-palace-music-billiards .col-left { position:absolute; left:10%; top:10%; width:8%; height:70%; background: linear-gradient(180deg, #c0a080 0%, #806040 100%); border-radius:10%; box-shadow: 4px 0 10px rgba(0,0,0,.3); }
.scn-alexandria-palace-music-billiards .col-right { position:absolute; right:10%; top:10%; width:8%; height:70%; background: linear-gradient(180deg, #c0a080 0%, #806040 100%); border-radius:10%; box-shadow: -4px 0 10px rgba(0,0,0,.3); }
.scn-alexandria-palace-music-billiards .table { position:absolute; bottom:20%; left:50%; width:120px; height:60px; transform:translateX(-50%); background: linear-gradient(180deg, #2c5e2c 0%, #1a3a1a 100%); border-radius:10px; box-shadow: 0 8px 16px rgba(0,0,0,.5); }
.scn-alexandria-palace-music-billiards .ball { position:absolute; bottom:28%; left:45%; width:12px; height:12px; background: radial-gradient(circle, #fff 30%, #ddd 100%); border-radius:50%; animation: a1-ball 6s ease-in-out infinite; }
.scn-alexandria-palace-music-billiards .figure { position:absolute; bottom:15%; left:35%; width:20px; height:50px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: a1-figure 4s ease-in-out infinite; }
.scn-alexandria-palace-music-billiards .harp { position:absolute; bottom:25%; right:20%; width:30px; height:50px; background: linear-gradient(180deg, #d4a747 0%, #8b6914 100%); border-radius:30% 30% 50% 50% / 20% 20% 50% 50%; transform: rotate(-10deg); animation: a1-harp 3s ease-in-out infinite alternate; }
.scn-alexandria-palace-music-billiards .torch { position:absolute; top:8%; left:20%; width:10px; height:20px; background: linear-gradient(180deg, #ffa500 0%, #ff6347 100%); border-radius:10% 10% 50% 50%; box-shadow: 0 0 30px 10px #ffa500, 0 0 60px 20px rgba(255,165,0,.5); animation: a1-torch 2s ease-in-out infinite alternate; }
@keyframes a1-ball { 0% { transform: translateY(0) translateX(0); } 25% { transform: translateY(-5px) translateX(10px); } 50% { transform: translateY(0) translateX(20px); } 75% { transform: translateY(-5px) translateX(30px); } 100% { transform: translateY(0) translateX(40px); } }
@keyframes a1-figure { 0%,100% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(2deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-2px) rotate(-2deg); } }
@keyframes a1-harp { 0% { transform: rotate(-10deg) scaleY(1); } 50% { transform: rotate(-8deg) scaleY(1.02); } 100% { transform: rotate(-10deg) scaleY(1); } }
@keyframes a1-torch { 0% { opacity:0.8; box-shadow: 0 0 20px 8px #ffa500, 0 0 40px 15px rgba(255,165,0,.4); } 50% { opacity:1; box-shadow: 0 0 40px 15px #ffa500, 0 0 80px 30px rgba(255,165,0,.6); } 100% { opacity:0.9; box-shadow: 0 0 25px 10px #ffa500, 0 0 50px 20px rgba(255,165,0,.5); } }

.scn-alexandria-palace-messenger-news { background: linear-gradient(90deg, #2a1a1a 0%, #1a0a0a 50%, #2a1a1a 100%), radial-gradient(ellipse at 60% 40%, #fff5e6 0%, transparent 60%); }
.scn-alexandria-palace-messenger-news .curtains { position:absolute; left:0; right:0; top:0; height:100%; background: linear-gradient(90deg, #4a2a2a 0%, transparent 20%, transparent 80%, #4a2a2a 100%); animation: a2-curtains 8s ease-in-out infinite alternate; }
.scn-alexandria-palace-messenger-news .throne { position:absolute; bottom:20%; left:30%; width:40%; height:30%; background: linear-gradient(180deg, #8b6f47 0%, #5a3a1a 100%); border-radius:20% 20% 10% 10%; box-shadow: 0 10px 20px rgba(0,0,0,.6); }
.scn-alexandria-palace-messenger-news .cleo { position:absolute; bottom:25%; left:33%; width:15%; height:60%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: a2-cleo 3s ease-in-out infinite; }
.scn-alexandria-palace-messenger-news .messenger { position:absolute; bottom:20%; left:55%; width:12%; height:40%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: a2-mess 2s ease-in-out infinite; }
.scn-alexandria-palace-messenger-news .window { position:absolute; top:10%; right:15%; width:20%; height:30%; background: radial-gradient(ellipse at center, #fff5e6 0%, #ffd080 50%, transparent 100%); border: 2px solid #8b6f47; border-radius:5px; box-shadow: 0 0 40px 10px #ffd080; animation: a2-window 4s ease-in-out infinite alternate; }
.scn-alexandria-palace-messenger-news .light-rays { position:absolute; top:10%; right:15%; width:20%; height:30%; background: linear-gradient(135deg, rgba(255,245,230,0.6) 0%, transparent 60%); clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%); animation: a2-rays 5s ease-in-out infinite alternate; }
@keyframes a2-cleo { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-3px) rotate(2deg); } 50% { transform: translateY(0) rotate(0deg); } 70% { transform: translateY(-3px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes a2-mess { 0% { transform: translateY(0) scaleY(1); } 25% { transform: translateY(-2px) scaleY(1.02); } 50% { transform: translateY(0) scaleY(1); } 75% { transform: translateY(-2px) scaleY(0.98); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes a2-window { 0% { box-shadow: 0 0 30px 5px #ffd080; } 50% { box-shadow: 0 0 50px 15px #ffd080; } 100% { box-shadow: 0 0 30px 5px #ffd080; } }
@keyframes a2-rays { 0% { opacity:0.5; transform: rotate(0deg); } 50% { opacity:0.8; transform: rotate(3deg); } 100% { opacity:0.5; transform: rotate(0deg); } }
@keyframes a2-curtains { 0% { opacity:1; } 50% { opacity:0.9; } 100% { opacity:1; } }

.scn-misenum-military-meeting { background: linear-gradient(180deg, #7eb8da 0%, #c0d6e4 60%, #bfb39a 100%); }
.scn-misenum-military-meeting .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #6ba3c4 0%, #b0c8d8 100%); }
.scn-misenum-military-meeting .ground { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #a6a07a 0%, #6b6347 100%); border-radius:30% 70% 0 0 / 20% 40% 0 0; }
.scn-misenum-military-meeting .left-army { position:absolute; bottom:20%; left:10%; width:25%; height:30%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:30% 30% 20% 20%; animation: m3-army 10s ease-in-out infinite alternate; }
.scn-misenum-military-meeting .right-army { position:absolute; bottom:20%; right:10%; width:25%; height:30%; background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%); border-radius:30% 30% 20% 20%; animation: m3-army 10s ease-in-out infinite alternate-reverse; }
.scn-misenum-military-meeting .flag-left { position:absolute; bottom:35%; left:20%; width:3px; height:40px; background: #4a2a2a; animation: m3-flag 3s ease-in-out infinite; }
.scn-misenum-military-meeting .flag-left::after { content:''; position:absolute; top:0; left:3px; width:20px; height:12px; background: linear-gradient(180deg, #c8553d 0%, #a0461a 100%); border-radius:0 50% 50% 0; }
.scn-misenum-military-meeting .flag-right { position:absolute; bottom:35%; right:20%; width:3px; height:40px; background: #2a3a2a; animation: m3-flag 3s ease-in-out infinite reverse; }
.scn-misenum-military-meeting .flag-right::after { content:''; position:absolute; top:0; left:3px; width:20px; height:12px; background: linear-gradient(180deg, #4a6a4a 0%, #2a4a2a 100%); border-radius:0 50% 50% 0; }
.scn-misenum-military-meeting .tent { position:absolute; bottom:10%; left:50%; width:40px; height:30px; transform:translateX(-50%); background: linear-gradient(180deg, #8b6f47 0%, #5a3a1a 100%); clip-path: polygon(0 100%, 50% 0, 100% 100%); }
.scn-misenum-military-meeting .sun { position:absolute; top:12%; left:50%; width:30px; height:30px; background: radial-gradient(circle, #fff9e6 0%, #ffd080 100%); border-radius:50%; box-shadow: 0 0 40px 15px #ffd080; animation: m3-sun 6s ease-in-out infinite alternate; }
@keyframes m3-army { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes m3-flag { 0% { transform: rotate(0deg); } 25% { transform: rotate(5deg); } 50% { transform: rotate(0deg); } 75% { transform: rotate(-5deg); } 100% { transform: rotate(0deg); } }
@keyframes m3-sun { 0% { transform: scale(1); box-shadow: 0 0 30px 10px #ffd080; } 50% { transform: scale(1.05); box-shadow: 0 0 50px 20px #ffd080; } 100% { transform: scale(1); box-shadow: 0 0 30px 10px #ffd080; } }

.scn-pompey-galley-feast { background: linear-gradient(180deg, #6b4226 0%, #4a2a1a 100%), radial-gradient(ellipse at 50% 80%, #ffd080 0%, transparent 80%); }
.scn-pompey-galley-feast .deck { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #8b5a2b 0%, #5a3a1a 100%); border-radius:10% 10% 0 0; }
.scn-pompey-galley-feast .table { position:absolute; bottom:10%; left:50%; width:70%; height:20%; transform:translateX(-50%); background: linear-gradient(180deg, #a0663e 0%, #6b4226 100%); border-radius:10px; box-shadow: 0 8px 16px rgba(0,0,0,.5); }
.scn-pompey-galley-feast .plate { position:absolute; bottom:14%; left:40%; width:15%; height:10%; background: radial-gradient(circle, #f5e6cc 0%, #d4b896 100%); border-radius:50%; box-shadow: 0 4px 8px rgba(0,0,0,.3); animation: p4-plate 8s ease-in-out infinite; }
.scn-pompey-galley-feast .goblet { position:absolute; bottom:16%; left:55%; width:8px; height:15px; background: linear-gradient(180deg, #ffa500 0%, #8b6914 100%); border-radius:0 0 20% 20%; animation: p4-goblet 6s ease-in-out infinite; }
.scn-pompey-galley-feast .figure1 { position:absolute; bottom:14%; left:25%; width:18px; height:35px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: p4-fig1 4s ease-in-out infinite; }
.scn-pompey-galley-feast .figure2 { position:absolute; bottom:14%; right:25%; width:18px; height:35px; background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: p4-fig2 5s ease-in-out infinite; }
.scn-pompey-galley-feast .lantern { position:absolute; top:20%; left:50%; width:12px; height:16px; background: linear-gradient(180deg, #ffa500 0%, #ff6347 100%); border-radius:20% 20% 30% 30%; box-shadow: 0 0 30px 10px #ffa500; animation: p4-lantern 3s ease-in-out infinite alternate; }
.scn-pompey-galley-feast .oar { position:absolute; bottom:25%; left:80%; width:60px; height:6px; background: linear-gradient(90deg, #8b6f47 0%, #5a3a1a 100%); border-radius:3px; transform: rotate(-30deg); transform-origin: right center; animation: p4-oar 10s linear infinite; }
@keyframes p4-plate { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-3px) rotate(5deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-3px) rotate(-5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes p4-goblet { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-2px) rotate(10deg); } 60% { transform: translateY(0) rotate(0deg); } 100% { transform: translateY(-2px) rotate(-10deg); } }
@keyframes p4-fig1 { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(3deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-2px) rotate(-3deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes p4-fig2 { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(-3deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-2px) rotate(3deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes p4-lantern { 0% { opacity:0.8; box-shadow: 0 0 20px 8px #ffa500; } 50% { opacity:1; box-shadow: 0 0 40px 15px #ffa500; } 100% { opacity:0.9; box-shadow: 0 0 25px 10px #ffa500; } }
@keyframes p4-oar { 0% { transform: rotate(-30deg) translateX(0); } 50% { transform: rotate(-25deg) translateX(5px); } 100% { transform: rotate(-30deg) translateX(0); } }
/* end per-scene blocks */

/* ============ tier S ============ */
/* per-scene blocks (EXP step_scenes) */
/* antony-ashamed */
.scn-antony-ashamed {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a1f2e 40%, #1f1414 100%), radial-gradient(ellipse at 30% 60%, #3a2a1e 0%, transparent 70%);
}
.scn-antony-ashamed .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(90deg, #2a1f2e 0%, #3a2a2e 50%, #1f1414 100%); animation: aa-wall 20s ease-in-out infinite alternate;
}
.scn-antony-ashamed .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #2a1f1a 0%, #1a0f0a 100%); border-radius: 50% 50% 0 0 / 30% 30% 0 0;
}
.scn-antony-ashamed .brazier {
  position: absolute; bottom: 25%; left: 25%; width: 30px; height: 40px; background: linear-gradient(180deg, #5a3a1a 0%, #2a1a0a 100%); border-radius: 40% 40% 10% 10%; box-shadow: 0 0 20px 10px #b08040;
}
.scn-antony-ashamed .light-glow {
  position: absolute; bottom: 30%; left: 20%; width: 80px; height: 80px; background: radial-gradient(circle, rgba(200,150,80,0.3) 0%, transparent 70%); animation: aa-glow 4s ease-in-out infinite alternate;
}
.scn-antony-ashamed .figure-antony {
  position: absolute; bottom: 20%; left: 40%; width: 30px; height: 80px; background: linear-gradient(180deg, #1a1a2a 0%, #0f0f1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: aa-antony 6s ease-in-out infinite;
}
.scn-antony-ashamed .figure-cleopatra {
  position: absolute; bottom: 20%; left: 55%; width: 28px; height: 70px; background: linear-gradient(180deg, #2a1a2a 0%, #1a0f1a 100%); border-radius: 50% 50% 45% 45% / 55% 55% 45% 45%; transform-origin: bottom center; animation: aa-cleopatra 8s ease-in-out infinite;
}
.scn-antony-ashamed .shadow-column {
  position: absolute; bottom: 0; left: 15%; width: 20px; height: 100%; background: linear-gradient(180deg, transparent 0%, #0f0f0f 40%, #0f0f0f 60%, transparent 100%); opacity: 0.6; animation: aa-column 10s linear infinite;
}
@keyframes aa-wall {
  0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; }
}
@keyframes aa-glow {
  0% { transform: scale(1); opacity: 0.6; } 50% { transform: scale(1.1); opacity: 0.9; } 100% { transform: scale(0.9); opacity: 0.5; }
}
@keyframes aa-antony {
  0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(-4px) rotate(2deg); } 100% { transform: translateX(0) rotate(-1deg); }
}
@keyframes aa-cleopatra {
  0% { transform: translateX(0) rotate(1deg); } 50% { transform: translateX(6px) rotate(-2deg); } 100% { transform: translateX(0) rotate(1deg); }
}
@keyframes aa-column {
  0% { transform: translateX(0); } 100% { transform: translateX(-100px); }
}

/* caesar-message-thyreus */
.scn-caesar-message-thyreus {
  background: linear-gradient(180deg, #f5e6c8 0%, #e8d4a0 30%, #c8b080 100%), radial-gradient(ellipse at 60% 40%, #fff0d0 0%, transparent 60%);
}
.scn-caesar-message-thyreus .bg-sunlight {
  position: absolute; inset: 0; background: linear-gradient(135deg, #fff4d0 0%, #d4b880 100%); opacity: 0.3; animation: cmt-sun 15s linear infinite;
}
.scn-caesar-message-thyreus .bg-columns {
  position: absolute; bottom: 0; left: 0; right: 0; height: 100%; background: repeating-linear-gradient(90deg, #c8b080 0px, #c8b080 20px, transparent 20px, transparent 40px); opacity: 0.4;
}
.scn-caesar-message-thyreus .throne {
  position: absolute; bottom: 20%; left: 30%; width: 40px; height: 60px; background: linear-gradient(180deg, #a08050 0%, #705030 100%); border-radius: 10% 10% 5% 5%; box-shadow: 0 0 15px rgba(160,128,80,0.5);
}
.scn-caesar-message-thyreus .figure-caesar {
  position: absolute; bottom: 22%; left: 30%; width: 30px; height: 70px; background: linear-gradient(180deg, #d4c0a0 0%, #b09870 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cmt-caesar 5s ease-in-out infinite;
}
.scn-caesar-message-thyreus .figure-thyreus {
  position: absolute; bottom: 20%; left: 55%; width: 24px; height: 60px; background: linear-gradient(180deg, #a09070 0%, #807060 100%); border-radius: 50% 50% 45% 45% / 55% 55% 45% 45%; transform-origin: bottom center; animation: cmt-thyreus 7s ease-in-out infinite;
}
.scn-caesar-message-thyreus .message-roll {
  position: absolute; bottom: 38%; left: 50%; width: 8px; height: 20px; background: #d4b880; border-radius: 20%; transform: rotate(-30deg); animation: cmt-roll 3s ease-in-out infinite alternate;
}
.scn-caesar-message-thyreus .sun-ray {
  position: absolute; top: 10%; left: 20%; width: 120px; height: 4px; background: linear-gradient(90deg, rgba(255,255,200,0.8) 0%, transparent 100%); transform: rotate(-20deg); animation: cmt-ray 6s ease-in-out infinite alternate;
}
@keyframes cmt-sun {
  0% { transform: translateX(0); } 100% { transform: translateX(50px); }
}
@keyframes cmt-caesar {
  0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(2px) rotate(2deg); } 100% { transform: translateX(0) rotate(0); }
}
@keyframes cmt-thyreus {
  0% { transform: translateX(0) rotate(0); opacity: 0.9; } 50% { transform: translateX(-3px) rotate(-1deg); opacity: 1; } 100% { transform: translateX(0) rotate(0); opacity: 0.9; }
}
@keyframes cmt-roll {
  0% { transform: rotate(-30deg) translateY(0); } 100% { transform: rotate(-45deg) translateY(-5px); }
}
@keyframes cmt-ray {
  0% { transform: rotate(-20deg) scaleX(1); } 100% { transform: rotate(-25deg) scaleX(1.2); }
}

/* antony-offers-head */
.scn-antony-offers-head {
  background: linear-gradient(180deg, #6a6a7a 0%, #4a4a5a 40%, #2a2a3a 100%), radial-gradient(ellipse at 50% 30%, #8a8a9a 0%, transparent 70%);
}
.scn-antony-offers-head .bg-overcast {
  position: absolute; inset: 0; background: linear-gradient(0deg, #4a4a5a 0%, #7a7a8a 50%, #5a5a6a 100%); animation: aoh-sky 20s ease-in-out infinite alternate;
}
.scn-antony-offers-head .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%; background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%); border-radius: 30% 70% 0 0 / 40% 60% 0 0;
}
.scn-antony-offers-head .figure-antony-kneeling {
  position: absolute; bottom: 20%; left: 40%; width: 28px; height: 70px; background: linear-gradient(180deg, #1a1a2a 0%, #0f0f1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: aoh-antony 8s ease-in-out infinite;
}
.scn-antony-offers-head .figure-caesar-standing {
  position: absolute; bottom: 20%; left: 52%; width: 30px; height: 80px; background: linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 100%); border-radius: 50% 50% 45% 45% / 55% 55% 45% 45%; transform-origin: bottom center; animation: aoh-caesar 6s ease-in-out infinite;
}
.scn-antony-offers-head .sword {
  position: absolute; bottom: 35%; left: 42%; width: 4px; height: 40px; background: #8a8a9a; border-radius: 40% 40% 0 0; transform: rotate(45deg); transform-origin: bottom center; animation: aoh-sword 4s ease-in-out infinite alternate;
}
.scn-antony-offers-head .cloud-cover {
  position: absolute; top: 10%; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, rgba(120,120,140,0.5) 0%, transparent 100%); filter: blur(8px); animation: aoh-cloud 30s linear infinite;
}
@keyframes aoh-sky {
  0% { opacity: 0.7; transform: scaleY(1); } 50% { opacity: 0.9; transform: scaleY(1.02); } 100% { opacity: 0.8; transform: scaleY(1); }
}
@keyframes aoh-antony {
  0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(-2px) rotate(-3deg); } 50% { transform: translateX(0) rotate(0); } 75% { transform: translateX(2px) rotate(2deg); } 100% { transform: translateX(0) rotate(0); }
}
@keyframes aoh-caesar {
  0% { transform: translateX(0) rotate(1deg); } 50% { transform: translateX(3px) rotate(-1deg); } 100% { transform: translateX(0) rotate(1deg); }
}
@keyframes aoh-sword {
  0% { transform: rotate(45deg) scaleY(1); } 100% { transform: rotate(35deg) scaleY(1.1); }
}
@keyframes aoh-cloud {
  0% { transform: translateX(-100%); } 100% { transform: translateX(100vw); }
}

/* antony-wrath-thyreus */
.scn-antony-wrath-thyreus {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a1f2e 30%, #1f1414 70%, #0f0a0a 100%), radial-gradient(ellipse at 40% 50%, #3a2a1e 0%, transparent 80%);
}
.scn-antony-wrath-thyreus .bg-dim-wall {
  position: absolute; inset: 0; background: linear-gradient(180deg, #2a1f2e 0%, #1a0f14 100%); animation: awt-wall 12s ease-in-out infinite alternate;
}
.scn-antony-wrath-thyreus .bg-dim-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%; background: linear-gradient(180deg, #1a0f0a 0%, #0f0a05 100%); border-radius: 40% 60% 0 0 / 20% 30% 0 0;
}
.scn-antony-wrath-thyreus .brazier-flame {
  position: absolute; bottom: 25%; left: 20%; width: 30px; height: 50px; background: radial-gradient(ellipse at 50% 100%, #ff8040 0%, #c04020 50%, #6a1a0a 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 30px 10px #c04020; animation: awt-flame 1s ease-in-out infinite alternate;
}
.scn-antony-wrath-thyreus .figure-antony-angry {
  position: absolute; bottom: 20%; left: 35%; width: 32px; height: 85px; background: linear-gradient(180deg, #1a1a2a 0%, #0f0f1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: awt-antony 4s ease-in-out infinite;
}
.scn-antony-wrath-thyreus .figure-thyreus-cowering {
  position: absolute; bottom: 18%; left: 55%; width: 22px; height: 50px; background: linear-gradient(180deg, #c8553d 0%, #8a2a1a 100%); border-radius: 50% 50% 45% 45% / 55% 55% 45% 45%; transform-origin: bottom center; animation: awt-thyreus 3s ease-in-out infinite;
}
.scn-antony-wrath-thyreus .whip {
  position: absolute; bottom: 35%; left: 42%; width: 3px; height: 30px; background: #5a3a2a; border-radius: 40% 40% 0 0; transform: rotate(30deg); transform-origin: bottom center; animation: awt-whip 0.8s ease-in-out infinite alternate;
}
.scn-antony-wrath-thyreus .shadow-arch {
  position: absolute; bottom: 0; left: 10%; width: 80%; height: 100%; background: radial-gradient(ellipse at 50% 0%, transparent 40%, #0f0a0a 70%); pointer-events: none;
}
@keyframes awt-wall {
  0% { opacity: 0.6; } 50% { opacity: 0.9; } 100% { opacity: 0.7; }
}
@keyframes awt-flame {
  0% { transform: scaleY(1); opacity: 0.9; } 100% { transform: scaleY(1.3); opacity: 1; }
}
@keyframes awt-antony {
  0% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(-5px) rotate(3deg); } 50% { transform: translateX(0) rotate(-2deg); } 75% { transform: translateX(5px) rotate(2deg); } 100% { transform: translateX(0) rotate(-2deg); }
}
@keyframes awt-thyreus {
  0% { transform: translateX(0) scale(1); opacity: 0.9; } 50% { transform: translateX(-8px) scale(0.9); opacity: 0.7; } 100% { transform: translateX(0) scale(1); opacity: 0.9; }
}
@keyframes awt-whip {
  0% { transform: rotate(30deg) scaleX(1); } 100% { transform: rotate(-10deg) scaleX(1.2); }
}

/* --- Scene: cleopatra-resolves-die --- */
.scn-cleopatra-resolves-die {
  background: 
    linear-gradient(180deg, #0d0d1a 0%, #1a1a2e 30%, #2a1a2e 60%, #1a0a0a 100%),
    radial-gradient(ellipse at 60% 50%, #2a1a2e 0%, transparent 70%);
}
.scn-cleopatra-resolves-die .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 0%, #0d0d1a 100%);
  animation: crd-bg 12s ease-in-out infinite alternate;
}
.scn-cleopatra-resolves-die .wall-left {
  position: absolute; left: 0; top: 0; width: 35%; height: 100%;
  background: linear-gradient(180deg, #1a1a2e 0%, #0d0d1a 100%);
  border-right: 2px solid #2a2a3e;
}
.scn-cleopatra-resolves-die .window {
  position: absolute; left: 45%; top: 10%; width: 22%; height: 35%;
  background: linear-gradient(135deg, #3a3a5e 0%, #1a1a3e 100%);
  border-radius: 4% 4% 10% 10%;
  box-shadow: inset 0 0 40px rgba(0,0,0,0.8), 0 0 20px rgba(80,80,160,0.3);
  animation: crd-window 9s ease-in-out infinite;
}
.scn-cleopatra-resolves-die .brazier {
  position: absolute; left: 25%; bottom: 25%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: inset 0 -8px 12px rgba(0,0,0,0.6);
}
.scn-cleopatra-resolves-die .brazier-glow {
  position: absolute; left: 22%; bottom: 30%; width: 60px; height: 60px;
  background: radial-gradient(circle, #ffa040 0%, #d07020 30%, transparent 80%);
  border-radius: 50%;
  filter: blur(8px);
  animation: crd-fire 2s ease-in-out infinite alternate;
}
.scn-cleopatra-resolves-die .figure {
  position: absolute; left: 50%; bottom: 18%; width: 50px; height: 80px;
  background: linear-gradient(180deg, #1a0a0a 0%, #0d0505 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: crd-figure 8s ease-in-out infinite;
}
.scn-cleopatra-resolves-die .arm {
  position: absolute; left: 52%; bottom: 30%; width: 8px; height: 30px;
  background: #1a0a0a;
  border-radius: 40% 40% 20% 20%;
  transform-origin: top left;
  animation: crd-arm 4s ease-in-out infinite alternate;
}
.scn-cleopatra-resolves-die .basket {
  position: absolute; left: 35%; bottom: 15%; width: 40px; height: 25px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  box-shadow: 0 4px 6px rgba(0,0,0,0.6);
  animation: crd-basket 6s ease-in-out infinite;
}
.scn-cleopatra-resolves-die .figs {
  position: absolute; left: 36%; bottom: 20%; width: 8px; height: 8px;
  background: radial-gradient(circle, #6a4a3a 0%, #4a2a1a 100%);
  border-radius: 50%;
  box-shadow: 12px -2px 0 #6a4a3a, -10px 0 0 #5a3a2a;
  animation: crd-figs 3s ease-in-out infinite alternate;
}
@keyframes crd-bg { 0% { opacity: 0.7; } 50% { opacity: 0.85; } 100% { opacity: 0.7; } }
@keyframes crd-window { 0% { opacity: 0.6; transform: scale(1); } 50% { opacity: 0.9; transform: scale(1.02); } 100% { opacity: 0.7; transform: scale(0.98); } }
@keyframes crd-fire { 0% { opacity: 0.6; transform: scale(0.9); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: 0.7; transform: scale(0.95); } }
@keyframes crd-figure { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes crd-arm { 0% { transform: rotate(0deg); } 50% { transform: rotate(5deg); } 100% { transform: rotate(-2deg); } }
@keyframes crd-basket { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-1px) scale(1.01); } 100% { transform: translateY(0) scale(0.99); } }
@keyframes crd-figs { 0% { transform: scale(1); } 50% { transform: scale(1.1); } 100% { transform: scale(0.95); } }

/* --- Scene: item-basket-of-figs --- */
.scn-item-basket-of-figs {
  background: 
    linear-gradient(180deg, #0a0a14 0%, #140e1a 30%, #1a141a 60%, #0d0a0a 100%),
    radial-gradient(ellipse at 50% 80%, #1a0a0a 0%, transparent 70%);
}
.scn-item-basket-of-figs .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #0a0a14 0%, #1a141a 100%);
  animation: bf-bg 15s ease-in-out infinite alternate;
}
.scn-item-basket-of-figs .table {
  position: absolute; left: 10%; right: 10%; bottom: 10%; height: 30%;
  background: linear-gradient(180deg, #2a201a 0%, #1a1410 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.5);
}
.scn-item-basket-of-figs .basket {
  position: absolute; left: 45%; bottom: 20%; width: 60px; height: 40px;
  background: linear-gradient(135deg, #4a3a2a 0%, #2a1a10 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.7);
  animation: bf-basket 8s ease-in-out infinite;
}
.scn-item-basket-of-figs .figs {
  position: absolute; left: 46%; bottom: 28%; width: 12px; height: 10px;
  background: radial-gradient(circle, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 50%;
  box-shadow: 14px 2px 0 #5a3a2a, -12px 4px 0 #4a2a1a, 8px -3px 0 #6a4a3a;
  animation: bf-figs 4s ease-in-out infinite alternate;
}
.scn-item-basket-of-figs .snake {
  position: absolute; left: 48%; bottom: 30%; width: 6px; height: 20px;
  background: #2a1a0a;
  border-radius: 50% 50% 20% 20%;
  transform-origin: bottom center;
  animation: bf-snake 3s ease-in-out infinite;
}
.scn-item-basket-of-figs .candle {
  position: absolute; left: 30%; bottom: 22%; width: 10px; height: 30px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 10% 10% 30% 30%;
  box-shadow: 0 0 4px rgba(255,200,100,0.3);
}
.scn-item-basket-of-figs .candle-glow {
  position: absolute; left: 27%; bottom: 28%; width: 50px; height: 50px;
  background: radial-gradient(circle, #ffb060 0%, #d08030 30%, transparent 70%);
  border-radius: 50%;
  filter: blur(10px);
  animation: bf-candle 2.5s ease-in-out infinite alternate;
}
.scn-item-basket-of-figs .hand {
  position: absolute; right: 35%; bottom: 28%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #1a0a0a 0%, #0d0505 100%);
  border-radius: 40% 40% 20% 20%;
  transform-origin: bottom center;
  animation: bf-hand 5s ease-in-out infinite;
}
.scn-item-basket-of-figs .shadow {
  position: absolute; left: 40%; bottom: 10%; width: 80px; height: 20px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 100%);
  filter: blur(6px);
  animation: bf-shadow 6s ease-in-out infinite alternate;
}
@keyframes bf-bg { 0% { opacity: 0.6; } 50% { opacity: 0.8; } 100% { opacity: 0.65; } }
@keyframes bf-basket { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes bf-figs { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(0.95); } }
@keyframes bf-snake { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(5deg) translateY(-1px); } 100% { transform: rotate(-3deg) translateY(0); } }
@keyframes bf-candle { 0% { opacity: 0.5; transform: scale(0.9); } 50% { opacity: 0.9; transform: scale(1.1); } 100% { opacity: 0.6; transform: scale(0.95); } }
@keyframes bf-hand { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(3deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes bf-shadow { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.05); } 100% { transform: scaleX(0.95); } }

.scn-cleopatra-mockery {
  background: linear-gradient(180deg, #2a1e14 0%, #1a1008 40%, #3a2a1a 100%), radial-gradient(ellipse at 50% 70%, #4a2a1a 0%, transparent 60%);
}
.scn-cleopatra-mockery .bg-wall { position:absolute; inset:0; background: linear-gradient(180deg, #2a1e14 0%, #1a1008 100%); animation: cmk-wall 10s ease-in-out infinite alternate; }
.scn-cleopatra-mockery .pillar-left { position:absolute; left:10%; top:0; bottom:0; width:8%; background: linear-gradient(90deg, #3a2a1a 0%, #5a3a2a 50%, #3a2a1a 100%); border-radius: 4px; box-shadow: 4px 0 8px rgba(0,0,0,0.5); }
.scn-cleopatra-mockery .pillar-right { position:absolute; right:10%; top:0; bottom:0; width:8%; background: linear-gradient(90deg, #3a2a1a 0%, #5a3a2a 50%, #3a2a1a 100%); border-radius: 4px; box-shadow: -4px 0 8px rgba(0,0,0,0.5); }
.scn-cleopatra-mockery .brazier-glow { position:absolute; bottom:20%; left:50%; width:60px; height:60px; transform:translateX(-50%); border-radius:50%; background: radial-gradient(circle, #ff8c42 0%, #cc5a2a 40%, #3a1a0a 70%); box-shadow: 0 0 40px 20px #ff8c42, 0 0 80px 40px rgba(255,140,66,0.3); animation: cmk-glow 3s ease-in-out infinite alternate; }
.scn-cleopatra-mockery .throne { position:absolute; bottom:12%; left:55%; width:40px; height:60px; background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%); border-radius: 20% 20% 10% 10% / 30% 30% 20% 20%; box-shadow: 0 8px 12px rgba(0,0,0,0.6); }
.scn-cleopatra-mockery .figure-cleopatra { position:absolute; bottom:10%; left:45%; 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: cmk-walk 4s ease-in-out infinite; }
.scn-cleopatra-mockery .figure-antony { position:absolute; bottom:10%; left:60%; width:22px; height:42px; background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cmk-bow 6s ease-in-out infinite; }
.scn-cleopatra-mockery .shadow-floor { position:absolute; bottom:0; left:0; right:0; height:15%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.4) 100%); animation: cmk-fade 5s ease-in-out infinite alternate; }
@keyframes cmk-wall { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes cmk-glow { 0% { transform: translateX(-50%) scale(0.95); box-shadow: 0 0 30px 15px #ff8c42; } 50% { transform: translateX(-50%) scale(1.05); box-shadow: 0 0 50px 25px #ff8c42, 0 0 100px 50px rgba(255,140,66,0.4); } 100% { transform: translateX(-50%) scale(1); box-shadow: 0 0 40px 20px #ff8c42; } }
@keyframes cmk-walk { 0% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(4px) rotate(2deg); } 50% { transform: translateX(8px) rotate(-1deg); } 75% { transform: translateX(12px) rotate(1deg); } 100% { transform: translateX(16px) rotate(0deg); } }
@keyframes cmk-bow { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-4px) rotate(10deg); } }
@keyframes cmk-fade { 0% { opacity:0.3; } 50% { opacity:0.6; } 100% { opacity:0.4; } }

.scn-caesar-pirate-news {
  background: linear-gradient(180deg, #f5e6d3 0%, #d4c4a8 50%, #b8a88c 100%), radial-gradient(ellipse at 30% 80%, #e8dcc8 0%, transparent 60%);
}
.scn-caesar-pirate-news .room-bright { position:absolute; inset:0; background: linear-gradient(135deg, #f5e6d3 0%, #d4c4a8 100%); animation: cpn-bright 8s ease-in-out infinite alternate; }
.scn-caesar-pirate-news .window-light { position:absolute; top:10%; right:15%; width:60px; height:80px; background: linear-gradient(135deg, #fff8e0 0%, #f0d8a0 100%); border-radius: 10% 10% 0 0; box-shadow: 0 0 40px 20px rgba(255,248,224,0.5); }
.scn-caesar-pirate-news .table { position:absolute; bottom:20%; left:50%; width:80px; height:12px; transform:translateX(-50%); background: linear-gradient(90deg, #a08060 0%, #c8a878 50%, #a08060 100%); border-radius: 8px; box-shadow: 0 4px 6px rgba(0,0,0,0.2); }
.scn-caesar-pirate-news .figure-caesar { position:absolute; bottom:15%; left:45%; width:20px; height:45px; background: linear-gradient(180deg, #c8a878 0%, #a08060 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cpn-gesture 4s ease-in-out infinite; }
.scn-caesar-pirate-news .figure-messenger { position:absolute; bottom:15%; left:58%; width:18px; height:40px; background: linear-gradient(180deg, #b89868 0%, #907850 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cpn-bow 5s ease-in-out infinite; }
.scn-caesar-pirate-news .map-scroll { position:absolute; bottom:25%; left:50%; width:30px; height:10px; transform:translateX(-50%) rotate(-5deg); background: linear-gradient(90deg, #d4b88a 0%, #f0d4a8 50%, #d4b88a 100%); border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.3); }
.scn-caesar-pirate-news .shadow-sharp { position:absolute; bottom:0; left:0; right:0; height:15%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.15) 100%); animation: cpn-shadow 6s ease-in-out infinite alternate; }
@keyframes cpn-bright { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.95; } }
@keyframes cpn-gesture { 0% { transform: translateX(0) scaleY(1); } 25% { transform: translateX(3px) scaleY(1.02) rotate(3deg); } 50% { transform: translateX(6px) scaleY(0.98) rotate(-2deg); } 75% { transform: translateX(9px) scaleY(1.01) rotate(1deg); } 100% { transform: translateX(12px) scaleY(1); } }
@keyframes cpn-bow { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(8deg); } }
@keyframes cpn-shadow { 0% { opacity:0.1; } 50% { opacity:0.3; } 100% { opacity:0.2; } }

.scn-item-pearl-from-antony {
  background: linear-gradient(180deg, #3a2a1a 0%, #5a3a1a 30%, #2a1a0a 100%), radial-gradient(ellipse at 50% 70%, #6a4a2a 0%, transparent 60%);
}
.scn-item-pearl-from-antony .chamber-soft { position:absolute; inset:0; background: linear-gradient(180deg, #3a2a1a 0%, #4a3a1a 50%, #2a1a0a 100%); animation: ipa-chamber 12s ease-in-out infinite alternate; }
.scn-item-pearl-from-antony .curtain-left { position:absolute; left:0; top:5%; bottom:5%; width:20%; background: linear-gradient(90deg, #6a4a2a 0%, #5a3a1a 100%); border-radius: 0 20% 20% 0; box-shadow: 2px 0 8px rgba(0,0,0,0.4); }
.scn-item-pearl-from-antony .curtain-right { position:absolute; right:0; top:5%; bottom:5%; width:20%; background: linear-gradient(90deg, #5a3a1a 0%, #6a4a2a 100%); border-radius: 20% 0 0 20%; box-shadow: -2px 0 8px rgba(0,0,0,0.4); }
.scn-item-pearl-from-antony .figure-cleopatra { position:absolute; bottom:15%; left:40%; width:22px; height:44px; background: linear-gradient(180deg, #7a5a2a 0%, #5a3a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ipa-reach 6s ease-in-out infinite; }
.scn-item-pearl-from-antony .pearl-glow { position:absolute; bottom:25%; left:52%; width:8px; height:8px; background: radial-gradient(circle, #fff0c0 0%, #f0d080 50%, #d0b060 100%); border-radius:50%; box-shadow: 0 0 20px 10px #ffd080, 0 0 40px 20px rgba(255,208,128,0.4); animation: ipa-pearl 3s ease-in-out infinite alternate; }
.scn-item-pearl-from-antony .hand-extended { position:absolute; bottom:30%; left:48%; width:10px; height:16px; background: linear-gradient(180deg, #b89868 0%, #a08050 100%); border-radius: 50% 50% 30% 30%; transform: rotate(-20deg); animation: ipa-hand 4s ease-in-out infinite; }
.scn-item-pearl-from-antony .brazier-warm { position:absolute; bottom:10%; right:15%; width:30px; height:40px; background: linear-gradient(180deg, #cc632a 0%, #8a3a1a 100%); border-radius: 20% 20% 10% 10%; box-shadow: inset 0 -4px 8px rgba(0,0,0,0.5), 0 0 20px 8px #cc632a; animation: ipa-fire 2s ease-in-out infinite alternate; }
@keyframes ipa-chamber { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.9; } }
@keyframes ipa-reach { 0% { transform: translateX(0) rotate(-5deg); } 50% { transform: translateX(6px) rotate(5deg); } 100% { transform: translateX(0) rotate(-5deg); } }
@keyframes ipa-pearl { 0% { transform: scale(0.9); box-shadow: 0 0 15px 5px #ffd080; } 50% { transform: scale(1.2); box-shadow: 0 0 30px 15px #ffd080, 0 0 60px 30px rgba(255,208,128,0.5); } 100% { transform: scale(1); box-shadow: 0 0 20px 10px #ffd080; } }
@keyframes ipa-hand { 0% { transform: rotate(-20deg) translateY(0); } 50% { transform: rotate(-15deg) translateY(-2px); } 100% { transform: rotate(-20deg) translateY(0); } }
@keyframes ipa-fire { 0% { transform: scaleY(1); opacity:0.9; } 100% { transform: scaleY(1.1); opacity:1; } }

.scn-pompey-lament {
  background: linear-gradient(180deg, #6a7a7a 0%, #4a5a5a 50%, #3a4a4a 100%), radial-gradient(ellipse at 50% 30%, #5a6a6a 0%, transparent 60%);
}
.scn-pompey-lament .sky-overcast { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #6a7a7a 0%, #4a5a5a 100%); animation: pl-sky 15s ease-in-out infinite alternate; }
.scn-pompey-lament .horizon-line { position:absolute; bottom:35%; left:0; right:0; height:2px; background: #2a3a3a; box-shadow: 0 0 4px rgba(0,0,0,0.3); }
.scn-pompey-lament .ground-muted { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #3a4a4a 0%, #2a3a3a 100%); border-radius: 30% 20% 0 0 / 40% 30% 0 0; box-shadow: inset 0 8px 12px rgba(0,0,0,0.4); }
.scn-pompey-lament .figure-pompey { position:absolute; bottom:32%; left:40%; width:20px; height:42px; background: linear-gradient(180deg, #2a3a3a 0%, #1a2a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pl-mourn 7s ease-in-out infinite; }
.scn-pompey-lament .figure-menas { position:absolute; bottom:32%; left:55%; width:18px; height:38px; background: linear-gradient(180deg, #3a4a4a 0%, #2a3a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pl-report 9s ease-in-out infinite; }
.scn-pompey-lament .flag-drooping { position:absolute; top:20%; left:50%; width:30px; height:20px; transform:translateX(-50%); background: linear-gradient(90deg, #5a2a2a 0%, #4a1a1a 100%); border-radius: 0 0 10% 10%; box-shadow: 0 4px 6px rgba(0,0,0,0.3); animation: pl-flag 12s ease-in-out infinite; }
.scn-pompey-lament .cloud-low { position:absolute; top:15%; left:30%; width:80px; height:10px; background: linear-gradient(90deg, transparent, #8a9a9a 30%, #8a9a9a 70%, transparent); border-radius: 50%; filter: blur(4px); opacity:0.6; animation: pl-cloud 40s linear infinite; }
@keyframes pl-sky { 0% { opacity:0.7; } 50% { opacity:0.9; } 100% { opacity:0.8; } }
@keyframes pl-mourn { 0%,100% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-2px) rotate(-3deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(2px) rotate(3deg); } }
@keyframes pl-report { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes pl-flag { 0% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) rotate(5deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes pl-cloud { 0% { transform: translateX(-100px); } 100% { transform: translateX(120vw); } }

.scn-antony-dies { background: linear-gradient(180deg, #1a0f1a 0%, #2a1a2a 50%, #1a0f1a 100%), radial-gradient(ellipse at 50% 100%, #3a202a 0%, transparent 70%); }
.scn-antony-dies .bg-wall { position: absolute; inset: 0 0 30% 0; background: linear-gradient(135deg, #2a1a2a 0%, #1a0f1a 100%); }
.scn-antony-dies .bg-floor { position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(0deg, #1a0f1a 0%, #2a1a2a 100%); }
.scn-antony-dies .bed { position: absolute; bottom: 28%; left: 30%; width: 40%; height: 15%; background: #3a202a; border-radius: 20px; box-shadow: inset 0 -5px 10px rgba(0,0,0,.6); }
.scn-antony-dies .figure-antony { position: absolute; bottom: 30%; left: 45%; width: 30px; height: 60px; background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%); border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%; transform-origin: bottom; animation: ad-figure 6s ease-in-out infinite; }
.scn-antony-dies .figure-cleopatra { position: absolute; bottom: 28%; left: 35%; width: 28px; height: 70px; background: linear-gradient(180deg, #5e1a1d 0%, #3a1010 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom; animation: ad-cleopatra 8s ease-in-out infinite; }
.scn-antony-dies .lamp-glow { position: absolute; bottom: 55%; left: 55%; width: 20px; height: 20px; background: radial-gradient(circle, #c8a050 0%, transparent 100%); border-radius: 50%; box-shadow: 0 0 40px 20px rgba(200,160,80,.4); animation: ad-lamp 3s ease-in-out infinite alternate; }
.scn-antony-dies .curtain { position: absolute; top: 0; bottom: 30%; width: 15%; background: linear-gradient(180deg, #4a2a2a 0%, #3a1a1a 100%); animation: ad-curtain 12s ease-in-out infinite; }
.scn-antony-dies .curtain.left { left: 0; border-radius: 0 30% 0 0; transform-origin: right center; }
.scn-antony-dies .curtain.right { right: 0; border-radius: 30% 0 0 0; transform-origin: left center; animation-delay: 2s; }
@keyframes ad-figure { 0% { transform: scaleY(1) } 50% { transform: scaleY(0.98) rotate(2deg) } 100% { transform: scaleY(1) } }
@keyframes ad-cleopatra { 0% { transform: translateY(0) rotate(3deg) } 25% { transform: translateY(-3px) rotate(0deg) } 50% { transform: translateY(0) rotate(-3deg) } 75% { transform: translateY(-2px) rotate(0deg) } 100% { transform: translateY(0) rotate(3deg) } }
@keyframes ad-lamp { 0% { opacity: 0.7; box-shadow: 0 0 30px 15px rgba(200,160,80,.3); } 50% { opacity: 1; box-shadow: 0 0 60px 30px rgba(200,160,80,.5); } 100% { opacity: 0.8; box-shadow: 0 0 40px 20px rgba(200,160,80,.4); } }
@keyframes ad-curtain { 0% { transform: rotate(0deg) } 50% { transform: rotate(5deg) } 100% { transform: rotate(0deg) } }

.scn-antony-roused { background: linear-gradient(180deg, #4a7a9a 0%, #7aa0b0 50%, #c0c8c0 100%), radial-gradient(ellipse at 30% 50%, #b0c8d0 0%, transparent 60%); }
.scn-antony-roused .bg-sky { position: absolute; inset: 0; background: radial-gradient(ellipse at 70% 20%, #d0e0e8 0%, transparent 60%); animation: ar-sky 10s ease-in-out infinite alternate; }
.scn-antony-roused .bg-ground { position: absolute; bottom: 0; left: 0; right: 0; height: 35%; background: linear-gradient(0deg, #4a5a3a 0%, #7a8a6a 100%); }
.scn-antony-roused .sun { position: absolute; top: 15%; right: 20%; width: 40px; height: 40px; background: radial-gradient(circle, #ffe8a0 0%, #ffc040 60%, transparent 100%); border-radius: 50%; box-shadow: 0 0 60px 30px rgba(255,192,64,.5); animation: ar-sun 8s ease-in-out infinite; }
.scn-antony-roused .torch-1, .scn-antony-roused .torch-2 { position: absolute; bottom: 30%; width: 8px; height: 40px; background: linear-gradient(0deg, #a06030 0%, #604020 100%); border-radius: 4px; }
.scn-antony-roused .torch-1 { left: 25%; }
.scn-antony-roused .torch-2 { right: 25%; animation-delay: 1.5s; }
.scn-antony-roused .flag { position: absolute; top: 10%; left: 30%; width: 50px; height: 30px; background: #c8a040; border-radius: 0 50% 0 0; transform-origin: left center; animation: ar-flag 4s ease-in-out infinite; }
.scn-antony-roused .soldier-row { position: absolute; bottom: 20%; left: 10%; right: 10%; height: 40px; background: repeating-linear-gradient(90deg, #5a4a3a 0px, #5a4a3a 8px, transparent 8px, transparent 16px); animation: ar-march 12s linear infinite; }
@keyframes ar-sky { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes ar-sun { 0% { transform: scale(1) rotate(0deg); box-shadow: 0 0 40px 20px rgba(255,192,64,.4); } 50% { transform: scale(1.05) rotate(5deg); box-shadow: 0 0 80px 40px rgba(255,192,64,.6); } 100% { transform: scale(1) rotate(0deg); } }
@keyframes ar-flag { 0% { transform: rotate(0deg) } 25% { transform: rotate(10deg) } 50% { transform: rotate(-5deg) } 75% { transform: rotate(8deg) } 100% { transform: rotate(0deg) } }
@keyframes ar-march { 0% { background-position: 0 0 } 100% { background-position: 16px 0 } }

.scn-antony-arms-for-battle { background: linear-gradient(180deg, #2a2a4a 0%, #4a3a5a 40%, #6a4a3a 100%), radial-gradient(ellipse at 50% 0%, #8a6a4a 0%, transparent 70%); }
.scn-antony-arms-for-battle .tent-bg { position: absolute; inset: 0; background: linear-gradient(135deg, #3a2a2a 0%, #2a1a1a 100%); border-radius: 0 0 60% 60% / 0 0 40% 40%; }
.scn-antony-arms-for-battle .dawn-sky { position: absolute; top: 0; left: 20%; right: 20%; height: 30%; background: linear-gradient(180deg, #ffc0a0 0%, #a080c0 80%); opacity: 0.3; animation: ab-dawn 10s ease-in-out infinite alternate; }
.scn-antony-arms-for-battle .armor-stand { position: absolute; bottom: 25%; left: 20%; width: 30px; height: 70px; background: linear-gradient(180deg, #a09080 0%, #706050 100%); border-radius: 20% 20% 10% 10%; box-shadow: inset -2px -2px 6px #504030; }
.scn-antony-arms-for-battle .figure-antony-arm { position: absolute; bottom: 22%; left: 45%; width: 35px; height: 80px; background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom; animation: ab-figure 5s ease-in-out infinite; }
.scn-antony-arms-for-battle .figure-cleopatra-help { position: absolute; bottom: 28%; left: 60%; width: 28px; height: 65px; background: linear-gradient(180deg, #702243 0%, #4a1220 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; animation: ab-helper 8s ease-in-out infinite; }
.scn-antony-arms-for-battle .spear { position: absolute; bottom: 30%; left: 52%; width: 4px; height: 90px; background: linear-gradient(0deg, #604030 0%, #a08060 100%); transform: rotate(15deg); transform-origin: bottom; animation: ab-spear 6s ease-in-out infinite; }
.scn-antony-arms-for-battle .light-sweep { position: absolute; top: 0; left: -100%; width: 200%; height: 100%; background: linear-gradient(90deg, transparent 0%, rgba(255,200,150,0.2) 50%, transparent 100%); animation: ab-sweep 7s linear infinite; }
@keyframes ab-dawn { 0% { opacity: 0.2 } 50% { opacity: 0.5 } 100% { opacity: 0.3 } }
@keyframes ab-figure { 0% { transform: rotate(-2deg) } 25% { transform: rotate(2deg) scaleY(1.02) } 50% { transform: rotate(-1deg) } 75% { transform: rotate(3deg) scaleY(0.98) } 100% { transform: rotate(-2deg) } }
@keyframes ab-helper { 0% { transform: translateY(0) rotate(2deg) } 33% { transform: translateY(-3px) rotate(-2deg) } 66% { transform: translateY(2px) rotate(1deg) } 100% { transform: translateY(0) rotate(2deg) } }
@keyframes ab-spear { 0% { transform: rotate(15deg) } 50% { transform: rotate(10deg) translateY(2px) } 100% { transform: rotate(15deg) } }
@keyframes ab-sweep { 0% { left: -100% } 100% { left: 100% } }

.scn-enobarbus-remorse { background: linear-gradient(180deg, #3a3a4a 0%, #4a4a5a 50%, #5a5a6a 100%), radial-gradient(ellipse at 50% 50%, #4a4a5a 0%, transparent 80%); }
.scn-enobarbus-remorse .sky-overcast { position: absolute; inset: 0 0 40% 0; background: radial-gradient(ellipse at 30% 50%, #5a5a6a 0%, transparent 70%); animation: er-sky 15s ease-in-out infinite alternate; }
.scn-enobarbus-remorse .ground-barren { position: absolute; bottom: 0; left: 0; right: 0; height: 40%; background: linear-gradient(0deg, #3a3a2a 0%, #4a4a3a 100%); }
.scn-enobarbus-remorse .tree-distant { position: absolute; bottom: 30%; left: 70%; width: 40px; height: 80px; background: #3a3a2a; border-radius: 80% 80% 20% 20% / 60% 60% 30% 30%; box-shadow: inset 0 -10px 10px rgba(0,0,0,.4); filter: blur(2px); }
.scn-enobarbus-remorse .figure-enobarbus { position: absolute; bottom: 22%; left: 40%; width: 30px; height: 70px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: er-figure 6s ease-in-out infinite; }
.scn-enobarbus-remorse .treasure-chest { position: absolute; bottom: 18%; left: 55%; width: 40px; height: 30px; background: linear-gradient(0deg, #4a3a2a 0%, #6a5a4a 100%); border-radius: 10px; box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: er-chest 3s ease-in-out infinite; }
.scn-enobarbus-remorse .shadow-pool { position: absolute; bottom: 0; left: 20%; right: 20%; height: 10%; background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,.3) 0%, transparent 100%); }
@keyframes er-sky { 0% { opacity: 0.7 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes er-figure { 0% { transform: translateY(0) rotate(2deg) } 25% { transform: translateY(-2px) rotate(-2deg) } 50% { transform: translateY(0) rotate(0deg) } 75% { transform: translateY(-1px) rotate(2deg) } 100% { transform: translateY(0) rotate(2deg) } }
@keyframes er-chest { 0% { transform: scaleY(1) } 50% { transform: scaleY(0.95) translateY(2px) } 100% { transform: scaleY(1) } }

/* one block per scene id. Append to style.css. */
.scn-menas-enobarbus-talk { background: linear-gradient(180deg, #1a1a2e 0%, #2a2a44 40%, #3a3a5e 70%, #2a2a44 100%), radial-gradient(ellipse at 50% 30%, #2a2a44 0%, transparent 70%); }
.scn-menas-enobarbus-talk .bg-wall   { position:absolute; inset:0; background: linear-gradient(135deg, #2a2a44 0%, #1a1a2e 50%, #0e0e1a 100%); animation: mte-wall 12s ease-in-out infinite alternate; }
.scn-menas-enobarbus-talk .table     { position:absolute; bottom:25%; left:15%; right:15%; height:12%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.6); }
.scn-menas-enobarbus-talk .lamp      { position:absolute; bottom:35%; left:50%; width:12px; height:18px; transform: translateX(-50%); background: radial-gradient(circle, #f0c060 0%, #b08030 60%, #5a3a10 100%); border-radius:50%; box-shadow: 0 0 32px 12px #b08030, 0 0 64px 24px rgba(176,128,48,.3); animation: mte-lamp 3s ease-in-out infinite alternate; }
.scn-menas-enobarbus-talk .figure-left { position:absolute; bottom:22%; left:30%; width:24px; height:48px; background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mte-figure-l 4s ease-in-out infinite; }
.scn-menas-enobarbus-talk .figure-right{ position:absolute; bottom:22%; right:30%; width:24px; height:48px; background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mte-figure-r 4s ease-in-out infinite 0.5s; }
.scn-menas-enobarbus-talk .shadow-left { position:absolute; bottom:22%; left:28%; width:30px; height:10px; background: radial-gradient(ellipse, rgba(0,0,0,.4) 0%, transparent 100%); animation: mte-shadow 4s ease-in-out infinite; }
.scn-menas-enobarbus-talk .shadow-right{ position:absolute; bottom:22%; right:28%; width:30px; height:10px; background: radial-gradient(ellipse, rgba(0,0,0,.4) 0%, transparent 100%); animation: mte-shadow 4s ease-in-out infinite 0.5s; }
@keyframes mte-wall   { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.75 } }
@keyframes mte-lamp   { 0% { box-shadow: 0 0 20px 8px #b08030, 0 0 40px 16px rgba(176,128,48,.2); opacity:.9 } 50% { box-shadow: 0 0 40px 16px #f0c060, 0 0 80px 32px rgba(240,192,96,.4); opacity:1 } 100% { box-shadow: 0 0 24px 10px #b08030, 0 0 48px 20px rgba(176,128,48,.25); opacity:.85 } }
@keyframes mte-figure-l { 0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(2px) rotate(2deg) } 50% { transform: translateX(0) rotate(-1deg) } 75% { transform: translateX(-2px) rotate(2deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes mte-figure-r { 0% { transform: translateX(0) rotate(1deg) } 25% { transform: translateX(-2px) rotate(-2deg) } 50% { transform: translateX(0) rotate(1deg) } 75% { transform: translateX(2px) rotate(-2deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes mte-shadow { 0% { transform: scaleX(1); opacity:.5 } 50% { transform: scaleX(1.1); opacity:.7 } 100% { transform: scaleX(1); opacity:.5 } }

.scn-menas-plot-pompey { background: linear-gradient(180deg, #1a1008 0%, #2a1808 30%, #3a2010 60%, #2a1808 100%), radial-gradient(ellipse at 50% 60%, #3a2010 0%, transparent 70%); }
.scn-menas-plot-pompey .deck        { position:absolute; bottom:0; left:0; right:0; height:45%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0e05 100%); border-radius: 20% 20% 0 0 / 10% 10% 0 0; box-shadow: inset 0 8px 16px rgba(0,0,0,.6); animation: mpp-deck 15s ease-in-out infinite alternate; }
.scn-menas-plot-pompey .brazier     { position:absolute; bottom:30%; left:50%; width:20px; height:20px; transform: translateX(-50%); background: radial-gradient(circle, #e08020 0%, #a05010 60%, #3a1a05 100%); border-radius:50%; box-shadow: 0 0 40px 16px #a05010, 0 0 80px 32px rgba(160,80,16,.3); animation: mpp-brazier 2s ease-in-out infinite alternate; }
.scn-menas-plot-pompey .mast        { position:absolute; bottom:45%; left:70%; width:6px; height:60%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:2px; transform-origin: bottom center; animation: mpp-mast 20s ease-in-out infinite alternate; }
.scn-menas-plot-pompey .figure-menas { position:absolute; bottom:30%; left:35%; width:22px; height:44px; background: linear-gradient(180deg, #1a1008 0%, #0a0502 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mpp-figure 4s ease-in-out infinite; }
.scn-menas-plot-pompey .figure-pompey{ position:absolute; bottom:30%; right:35%; width:24px; height:46px; background: linear-gradient(180deg, #1a1008 0%, #0a0502 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mpp-figure 4s ease-in-out infinite 0.5s; }
.scn-menas-plot-pompey .fire-light  { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 40%, rgba(200,100,20,.15) 0%, transparent 60%); animation: mpp-firelight 3s ease-in-out infinite alternate; }
.scn-menas-plot-pompey .sail        { position:absolute; bottom:55%; left:66%; width:40px; height:30px; background: linear-gradient(135deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 10% 10% 60% 60% / 10% 10% 40% 40%; transform-origin: top left; animation: mpp-sail 12s ease-in-out infinite alternate; }
@keyframes mpp-deck       { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes mpp-brazier    { 0% { transform: translateX(-50%) scale(1); opacity:.9 } 50% { transform: translateX(-50%) scale(1.15); opacity:1 } 100% { transform: translateX(-50%) scale(1); opacity:.85 } }
@keyframes mpp-mast       { 0% { transform: rotate(-1deg) } 50% { transform: rotate(1deg) } 100% { transform: rotate(-.5deg) } }
@keyframes mpp-figure     { 0% { transform: translateX(0) rotate(-2deg) } 25% { transform: translateX(3px) rotate(2deg) } 50% { transform: translateX(0) rotate(-1deg) } 75% { transform: translateX(-3px) rotate(2deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes mpp-firelight  { 0% { opacity:.4 } 50% { opacity:.7 } 100% { opacity:.35 } }
@keyframes mpp-sail       { 0% { transform: rotate(-2deg) scale(1) } 50% { transform: rotate(3deg) scale(1.05) } 100% { transform: rotate(-2deg) scale(1) } }

.scn-pompey-refuses-plot { background: linear-gradient(180deg, #1a0e06 0%, #2a1508 30%, #3a1c0a 60%, #2a1508 100%), radial-gradient(ellipse at 50% 30%, #3a1c0a 0%, transparent 70%); }
.scn-pompey-refuses-plot .bg-sky        { position:absolute; top:0; left:0; right:0; bottom:40%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0e06 100%); animation: prp-sky 12s ease-in-out infinite alternate; }
.scn-pompey-refuses-plot .deck          { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #3a2010 0%, #1a0e05 100%); border-radius: 30% 30% 0 0 / 15% 15% 0 0; box-shadow: inset 0 6px 12px rgba(0,0,0,.5); }
.scn-pompey-refuses-plot .feast-table   { position:absolute; bottom:22%; left:20%; right:20%; height:14%; background: linear-gradient(180deg, #4a2a1a 0%, #2a1508 100%); border-radius: 6px; box-shadow: 0 4px 8px rgba(0,0,0,.6); animation: prp-table 8s ease-in-out infinite alternate; }
.scn-pompey-refuses-plot .figure-pompey { position:absolute; bottom:18%; left:25%; width:24px; height:48px; background: linear-gradient(180deg, #1a0e06 0%, #0a0502 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: prp-figure-p 5s ease-in-out infinite; }
.scn-pompey-refuses-plot .figure-menas  { position:absolute; bottom:18%; left:45%; width:22px; height:44px; background: linear-gradient(180deg, #1a0e06 0%, #0a0502 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: prp-figure-m 5s ease-in-out infinite 0.3s; }
.scn-pompey-refuses-plot .figure-enobarbus{ position:absolute; bottom:18%; right:20%; width:23px; height:46px; background: linear-gradient(180deg, #1a0e06 0%, #0a0502 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: prp-figure-e 5s ease-in-out infinite 0.6s; }
.scn-pompey-refuses-plot .torch        { position:absolute; bottom:38%; left:50%; width:10px; height:16px; transform: translateX(-50%); background: radial-gradient(circle, #f08020 0%, #c06010 50%, #5a2000 100%); border-radius:40%; box-shadow: 0 0 24px 8px #c06010, 0 0 48px 16px rgba(192,96,16,.3); animation: prp-torch 3s ease-in-out infinite alternate; }
.scn-pompey-refuses-plot .wine-cup     { position:absolute; bottom:28%; left:38%; width:12px; height:10px; background: linear-gradient(180deg, #a06030 0%, #703820 100%); border-radius: 0 0 30% 30%; transform:rotate(10deg); animation: prp-cup 4s ease-in-out infinite; }
@keyframes prp-sky      { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.75 } }
@keyframes prp-table    { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes prp-figure-p { 0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(-3px) rotate(2deg) } 50% { transform: translateX(0) rotate(-1deg) } 75% { transform: translateX(3px) rotate(2deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes prp-figure-m { 0% { transform: translateX(0) rotate(2deg) } 25% { transform: translateX(2px) rotate(-1deg) } 50% { transform: translateX(0) rotate(2deg) } 75% { transform: translateX(-2px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes prp-figure-e { 0% { transform: translateX(0) rotate(-2deg) } 25% { transform: translateX(-2px) rotate(1deg) } 50% { transform: translateX(0) rotate(-2deg) } 75% { transform: translateX(2px) rotate(1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes prp-torch    { 0% { transform: translateX(-50%) scale(1); opacity:.8 } 50% { transform: translateX(-50%) scale(1.2); opacity:1 } 100% { transform: translateX(-50%) scale(1); opacity:.85 } }
@keyframes prp-cup      { 0% { transform: rotate(10deg) } 50% { transform: rotate(-5deg) } 100% { transform: rotate(10deg) } }

.scn-ventidius-caution { background: linear-gradient(180deg, #d4c098 0%, #b8a080 40%, #8a6a50 70%, #5a4a3a 100%), radial-gradient(ellipse at 50% 0%, #e8d8b8 0%, transparent 60%); }
.scn-ventidius-caution .sky            { position:absolute; top:0; left:0; right:0; bottom:40%; background: linear-gradient(180deg, #e0d0b0 0%, #c8b898 60%, #b0a080 100%); animation: vca-sky 15s ease-in-out infinite alternate; }
.scn-ventidius-caution .hill-back      { position:absolute; bottom:35%; left:0; right:0; height:25%; background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); border-radius: 60% 40% 0 0 / 80% 50% 0 0; box-shadow: inset 0 4px 8px rgba(0,0,0,.2); animation: vca-hill-back 20s ease-in-out infinite alternate; }
.scn-ventidius-caution .hill-front     { position:absolute; bottom:20%; left:0; right:0; height:30%; background: linear-gradient(180deg, #9a8a7a 0%, #7a6a5a 100%); border-radius: 40% 60% 0 0 / 60% 80% 0 0; box-shadow: inset 0 6px 12px rgba(0,0,0,.25); animation: vca-hill-front 18s ease-in-out infinite alternate; }
.scn-ventidius-caution .path          { position:absolute; bottom:10%; left:20%; right:20%; height:8%; background: linear-gradient(90deg, #c8b898 0%, #b8a888 50%, #c8b898 100%); border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,.1); animation: vca-path 25s ease-in-out infinite alternate; }
.scn-ventidius-caution .figure-ventidius{ position:absolute; bottom:10%; left:35%; width:22px; height:44px; background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: vca-figure-v 4s ease-in-out infinite; }
.scn-ventidius-caution .figure-silius  { position:absolute; bottom:10%; right:30%; width:22px; height:44px; background: linear-gradient(180deg, #2a1a0a 0%, #0a0502 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: vca-figure-s 4s ease-in-out infinite 0.5s; }
.scn-ventidius-caution .shadow-cast    { position:absolute; bottom:8%; left:30%; width:35px; height:8px; background: radial-gradient(ellipse, rgba(0,0,0,.3) 0%, transparent 100%); animation: vca-shadow 4s ease-in-out infinite; }
@keyframes vca-sky         { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.75 } }
@keyframes vca-hill-back   { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-4px) scale(1.02) } 100% { transform: translateY(0) scale(1) } }
@keyframes vca-hill-front  { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-2px) scale(1.01) } 100% { transform: translateY(0) scale(1) } }
@keyframes vca-path        { 0% { transform: translateX(0) } 50% { transform: translateX(5px) } 100% { transform: translateX(0) } }
@keyframes vca-figure-v    { 0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(3px) rotate(1deg) } 50% { transform: translateX(0) rotate(-1deg) } 75% { transform: translateX(-3px) rotate(1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes vca-figure-s    { 0% { transform: translateX(0) rotate(1deg) } 25% { transform: translateX(-3px) rotate(-1deg) } 50% { transform: translateX(0) rotate(1deg) } 75% { transform: translateX(3px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes vca-shadow      { 0% { transform: scaleX(1); opacity:.6 } 50% { transform: scaleX(1.15); opacity:.8 } 100% { transform: scaleX(1); opacity:.6 } }

/* enobarbus-deserts – scene id: enobarbus-deserts */
.scn-enobarbus-deserts { background: 
  linear-gradient(180deg, #6b7280 0%, #4b5563 40%, #374151 70%, #1f2937 100%),
  radial-gradient(ellipse at 50% 10%, #9ca3af 0%, transparent 60%);
  overflow: hidden;
}
.scn-enobarbus-deserts .sky {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #6b7280 0%, #4b5563 100%);
  animation: sc1-sky 15s ease-in-out infinite alternate;
}
.scn-enobarbus-deserts .dunes {
  position: absolute; bottom: 0; left: 0; right: 0; height: 60%;
  background: linear-gradient(180deg, #9ca3af 0%, #737373 30%, #52525b 100%);
  border-radius: 60% 40% 0 0 / 100% 80% 0 0;
  box-shadow: inset 0 20px 30px rgba(0,0,0,0.5);
  animation: sc1-dunes 20s ease-in-out infinite alternate;
}
.scn-enobarbus-deserts .dune-shadow {
  position: absolute; bottom: 10%; left: 20%; width: 40%; height: 8%;
  background: rgba(0,0,0,0.3);
  border-radius: 50%;
  filter: blur(8px);
  animation: sc1-shadow 25s ease-in-out infinite alternate;
}
.scn-enobarbus-deserts .figure {
  position: absolute; bottom: 42%; left: 45%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #1f2937 0%, #111827 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sc1-walk 5s ease-in-out infinite;
}
.scn-enobarbus-deserts .distant-tent {
  position: absolute; bottom: 48%; right: 30%; width: 50px; height: 30px;
  background: linear-gradient(180deg, #4a5568 0%, #2d3748 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: sc1-tent 12s ease-in-out infinite alternate;
}
.scn-enobarbus-deserts .sand-ripple {
  position: absolute; bottom: 15%; left: 10%; width: 80%; height: 3px;
  background: repeating-linear-gradient(90deg, transparent, transparent 20px, rgba(255,255,255,0.1) 20px, rgba(255,255,255,0.1) 40px);
  opacity: 0.5;
  animation: sc1-ripple 8s linear infinite;
}
.scn-enobarbus-deserts .cloud-cover {
  position: absolute; top: 5%; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, rgba(107,114,128,0.6) 0%, transparent 100%);
  filter: blur(4px);
  animation: sc1-cloud 40s linear infinite alternate;
}
@keyframes sc1-sky {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.6; }
}
@keyframes sc1-dunes {
  0% { transform: translateY(0px) scaleY(1); }
  50% { transform: translateY(-5px) scaleY(1.02); }
  100% { transform: translateY(0px) scaleY(1); }
}
@keyframes sc1-shadow {
  0% { opacity: 0.3; transform: translateX(0px); }
  50% { opacity: 0.5; transform: translateX(10px); }
  100% { opacity: 0.3; transform: translateX(0px); }
}
@keyframes sc1-walk {
  0% { transform: translateX(0px) rotate(-2deg); }
  25% { transform: translateX(8px) rotate(2deg); }
  50% { transform: translateX(16px) rotate(-2deg); }
  75% { transform: translateX(8px) rotate(2deg); }
  100% { transform: translateX(0px) rotate(-2deg); }
}
@keyframes sc1-tent {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(0.95); }
  100% { transform: scaleY(1); }
}
@keyframes sc1-ripple {
  0% { transform: translateX(0px); }
  100% { transform: translateX(80px); }
}
@keyframes sc1-cloud {
  0% { transform: translateX(0px) scaleX(1); }
  50% { transform: translateX(20px) scaleX(1.05); }
  100% { transform: translateX(-20px) scaleX(1); }
}

/* cleopatra-messenger-octavia – scene id: cleopatra-messenger-octavia */
.scn-cleopatra-messenger-octavia { background: 
  linear-gradient(180deg, #1e1b4b 0%, #312e81 40%, #4338ca 70%, #1e1b4b 100%),
  radial-gradient(ellipse at 60% 20%, #c7d2fe 0%, transparent 70%);
  overflow: hidden;
}
.scn-cleopatra-messenger-octavia .wall-bg {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #2e1065 0%, #1e1b4b 100%);
  box-shadow: inset 0 0 80px rgba(0,0,0,0.6);
  animation: sc2-wall 10s ease-in-out infinite alternate;
}
.scn-cleopatra-messenger-octavia .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #1e1b4b 0%, #0f0a3c 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.5);
}
.scn-cleopatra-messenger-octavia .arch {
  position: absolute; top: 10%; left: 30%; width: 40%; height: 50%;
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  border: 4px solid #4c1d95;
  background: transparent;
  box-shadow: inset 0 0 30px rgba(76,29,149,0.3);
  animation: sc2-arch 6s ease-in-out infinite alternate;
}
.scn-cleopatra-messenger-octavia .cleo-silhouette {
  position: absolute; bottom: 28%; left: 45%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #0f0a3c 0%, #1e1b4b 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: 0 0 10px rgba(255,255,255,0.05);
  animation: sc2-cleo 8s ease-in-out infinite;
}
.scn-cleopatra-messenger-octavia .messenger {
  position: absolute; bottom: 28%; left: 30%; width: 24px; height: 60px;
  background: linear-gradient(180deg, #1e1b4b 0%, #0f0a3c 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform: rotate(10deg);
  transform-origin: bottom center;
  animation: sc2-mess 4s ease-in-out infinite;
}
.scn-cleopatra-messenger-octavia .lamp-glow {
  position: absolute; top: 35%; left: 60%; width: 40px; height: 40px;
  background: radial-gradient(circle, #fde68a 0%, #a78bfa 50%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px #a78bfa, 0 0 120px 40px rgba(167,139,250,0.3);
  animation: sc2-lamp 3s ease-in-out infinite alternate;
}
.scn-cleopatra-messenger-octavia .curtain {
  position: absolute; top: 0; right: 0; width: 20%; height: 100%;
  background: linear-gradient(180deg, #4c1d95 0%, #2e1065 100%);
  border-radius: 0 0 0 50px;
  box-shadow: -10px 0 30px rgba(0,0,0,0.4);
  animation: sc2-curtain 12s ease-in-out infinite alternate;
}
@keyframes sc2-wall {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes sc2-arch {
  0% { transform: scaleX(1); }
  50% { transform: scaleX(1.03); }
  100% { transform: scaleX(1); }
}
@keyframes sc2-cleo {
  0% { transform: translateY(0px) rotate(-1deg); }
  25% { transform: translateY(-4px) rotate(1deg); }
  50% { transform: translateY(-2px) rotate(-1deg); }
  75% { transform: translateY(-6px) rotate(2deg); }
  100% { transform: translateY(0px) rotate(-1deg); }
}
@keyframes sc2-mess {
  0% { transform: rotate(10deg) translateY(0px); }
  50% { transform: rotate(5deg) translateY(-3px); }
  100% { transform: rotate(10deg) translateY(0px); }
}
@keyframes sc2-lamp {
  0% { opacity: 0.6; box-shadow: 0 0 40px 10px #a78bfa; }
  50% { opacity: 0.9; box-shadow: 0 0 80px 30px #a78bfa, 0 0 150px 50px rgba(167,139,250,0.4); }
  100% { opacity: 0.7; box-shadow: 0 0 50px 15px #a78bfa; }
}
@keyframes sc2-curtain {
  0% { transform: translateX(0px); }
  50% { transform: translateX(-5px); }
  100% { transform: translateX(0px); }
}

/* antony-octavia-news – scene id: antony-octavia-news */
.scn-antony-octavia-news { background: 
  linear-gradient(180deg, #fef3c7 0%, #fde68a 30%, #fcd34d 60%, #fbbf24 100%),
  radial-gradient(ellipse at 50% 30%, #fef9c3 0%, transparent 60%);
  overflow: hidden;
}
.scn-antony-octavia-news .room-bg {
  position: absolute; inset: 0 0 15% 0;
  background: linear-gradient(180deg, #fef3c7 0%, #fde68a 100%);
  box-shadow: inset 0 0 80px rgba(251,191,36,0.3);
}
.scn-antony-octavia-news .window-beam {
  position: absolute; top: 10%; left: 20%; width: 60%; height: 55%;
  background: linear-gradient(135deg, rgba(255,255,255,0.4) 0%, transparent 60%);
  filter: blur(4px);
  animation: sc3-beam 8s ease-in-out infinite alternate;
}
.scn-antony-octavia-news .enobarbus {
  position: absolute; bottom: 20%; left: 25%; width: 28px; height: 65px;
  background: linear-gradient(180deg, #78350f 0%, #451a03 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sc3-enno 6s ease-in-out infinite;
}
.scn-antony-octavia-news .eros {
  position: absolute; bottom: 20%; left: 40%; width: 28px; height: 65px;
  background: linear-gradient(180deg, #92400e 0%, #451a03 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sc3-eros 6s ease-in-out infinite 2s;
}
.scn-antony-octavia-news .octavia-praying {
  position: absolute; bottom: 15%; right: 20%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #f59e0b 0%, #b45309 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform: rotate(-15deg);
  transform-origin: bottom center;
  animation: sc3-octavia 10s ease-in-out infinite;
}
.scn-antony-octavia-news .table {
  position: absolute; bottom: 12%; left: 15%; width: 50%; height: 8px;
  background: linear-gradient(90deg, #78350f 0%, #92400e 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: sc3-table 12s ease-in-out infinite alternate;
}
.scn-antony-octavia-news .shadow-light {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, transparent 0%, rgba(251,191,36,0.3) 100%);
  filter: blur(6px);
}
@keyframes sc3-beam {
  0% { opacity: 0.3; transform: translateX(0px) scaleY(1); }
  50% { opacity: 0.6; transform: translateX(10px) scaleY(1.05); }
  100% { opacity: 0.4; transform: translateX(-5px) scaleY(0.95); }
}
@keyframes sc3-enno {
  0% { transform: rotate(0deg) translateY(0px); }
  25% { transform: rotate(3deg) translateY(-3px); }
  50% { transform: rotate(0deg) translateY(-1px); }
  75% { transform: rotate(-2deg) translateY(-5px); }
  100% { transform: rotate(0deg) translateY(0px); }
}
@keyframes sc3-eros {
  0% { transform: rotate(0deg) translateY(0px); }
  25% { transform: rotate(-2deg) translateY(-5px); }
  50% { transform: rotate(0deg) translateY(-2px); }
  75% { transform: rotate(3deg) translateY(-3px); }
  100% { transform: rotate(0deg) translateY(0px); }
}
@keyframes sc3-octavia {
  0% { transform: rotate(-15deg) translateY(0px); }
  50% { transform: rotate(-10deg) translateY(-4px); }
  100% { transform: rotate(-15deg) translateY(0px); }
}
@keyframes sc3-table {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}

/* caesar-accuses-antony – scene id: caesar-accuses-antony */
.scn-caesar-accuses-antony { background: 
  linear-gradient(180deg, #fef3c7 0%, #fde68a 30%, #fcd34d 60%, #fbbf24 100%),
  radial-gradient(ellipse at 50% 80%, #fef9c3 0%, transparent 70%);
  overflow: hidden;
}
.scn-caesar-accuses-antony .hall-bg {
  position: absolute; inset: 0 0 10% 0;
  background: linear-gradient(180deg, #fef3c7 0%, #fde68a 100%);
  box-shadow: inset 0 0 100px rgba(251,191,36,0.2);
}
.scn-caesar-accuses-antony .pillar-left {
  position: absolute; top: 0; left: 15%; width: 10%; height: 90%;
  background: linear-gradient(90deg, #d97706 0%, #92400e 50%, #78350f 100%);
  border-radius: 5px;
  box-shadow: 4px 0 15px rgba(0,0,0,0.2);
  animation: sc4-pillar 8s ease-in-out infinite alternate;
}
.scn-caesar-accuses-antony .pillar-right {
  position: absolute; top: 0; right: 15%; width: 10%; height: 90%;
  background: linear-gradient(90deg, #78350f 0%, #92400e 50%, #d97706 100%);
  border-radius: 5px;
  box-shadow: -4px 0 15px rgba(0,0,0,0.2);
  animation: sc4-pillar 8s ease-in-out infinite alternate reverse;
}
.scn-caesar-accuses-antony .caesar {
  position: absolute; bottom: 15%; left: 45%; width: 35px; height: 85px;
  background: linear-gradient(180deg, #b45309 0%, #78350f 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: 0 0 20px rgba(180,83,9,0.3);
  animation: sc4-caesar 5s ease-in-out infinite;
}
.scn-caesar-accuses-antony .agrippa {
  position: absolute; bottom: 18%; left: 25%; width: 26px; height: 60px;
  background: linear-gradient(180deg, #92400e 0%, #451a03 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform: rotate(5deg);
  transform-origin: bottom center;
  animation: sc4-agrippa 7s ease-in-out infinite;
}
.scn-caesar-accuses-antony .mecaenas {
  position: absolute; bottom: 18%; left: 62%; width: 26px; height: 60px;
  background: linear-gradient(180deg, #92400e 0%, #451a03 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform: rotate(-5deg);
  transform-origin: bottom center;
  animation: sc4-mecaenas 7s ease-in-out infinite 1s;
}
.scn-caesar-accuses-antony .octavia-entry {
  position: absolute; bottom: 15%; right: 10%; width: 24px; height: 60px;
  background: linear-gradient(180deg, #f59e0b 0%, #b45309 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  opacity: 0;
  transform: translateX(50px);
  animation: sc4-octavia 8s ease-in-out infinite;
}
@keyframes sc4-pillar {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.02); }
  100% { transform: scaleY(1); }
}
@keyframes sc4-caesar {
  0% { transform: rotate(0deg) translateY(0px); }
  25% { transform: rotate(4deg) translateY(-5px); }
  50% { transform: rotate(-3deg) translateY(-2px); }
  75% { transform: rotate(2deg) translateY(-7px); }
  100% { transform: rotate(0deg) translateY(0px); }
}
@keyframes sc4-agrippa {
  0% { transform: rotate(5deg) translateY(0px); }
  50% { transform: rotate(8deg) translateY(-4px); }
  100% { transform: rotate(5deg) translateY(0px); }
}
@keyframes sc4-mecaenas {
  0% { transform: rotate(-5deg) translateY(0px); }
  50% { transform: rotate(-8deg) translateY(-4px); }
  100% { transform: rotate(-5deg) translateY(0px); }
}
@keyframes sc4-octavia {
  0% { opacity: 0; transform: translateX(50px); }
  25% { opacity: 1; transform: translateX(0px); }
  50% { opacity: 1; transform: translateX(0px) rotate(-3deg); }
  75% { opacity: 0.8; transform: translateX(10px); }
  100% { opacity: 0; transform: translateX(50px); }
}

.scn-antony-caesar-meeting {
  background: linear-gradient(180deg, #d4c4a0 0%, #b2937a 40%, #8a6e5a 100%),
              radial-gradient(ellipse at 70% 40%, #e0d0b8 0%, transparent 60%);
  position: relative; overflow: hidden;
}
.scn-antony-caesar-meeting .wall-bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #c5b29a 0%, #9c8570 100%);
  animation: ac-wall 15s ease-in-out infinite alternate;
}
.scn-antony-caesar-meeting .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #705545 0%, #4a3528 100%);
  border-radius: 0 0 10% 10%;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.4);
  animation: ac-floor 8s ease-in-out infinite;
}
.scn-antony-caesar-meeting .table {
  position: absolute; bottom: 22%; left: 50%; transform: translateX(-50%);
  width: 120px; height: 24px;
  background: linear-gradient(180deg, #6b4d3a 0%, #3d2a1c 100%);
  border-radius: 8px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  animation: ac-table 10s ease-in-out infinite alternate;
}
.scn-antony-caesar-meeting .caesar {
  position: absolute; bottom: 18%; left: 42%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #a08060 0%, #604830 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: ac-figure-c 6s ease-in-out infinite;
}
.scn-antony-caesar-meeting .antony {
  position: absolute; bottom: 18%; left: 58%; width: 28px; height: 48px;
  background: linear-gradient(180deg, #907050 0%, #503828 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: ac-figure-a 7s ease-in-out infinite alternate;
}
.scn-antony-caesar-meeting .guard {
  position: absolute; bottom: 18%; left: 30%; width: 22px; height: 44px;
  background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 20% 20% 15% 15% / 40% 40% 25% 25%;
  box-shadow: 0 4px 6px rgba(0,0,0,0.4);
  animation: ac-guard 9s ease-in-out infinite;
}
.scn-antony-caesar-meeting .window-light {
  position: absolute; top: 10%; left: 20%; width: 40px; height: 60px;
  background: radial-gradient(ellipse, rgba(240,220,180,0.6) 0%, transparent 70%);
  filter: blur(8px);
  animation: ac-window 4s ease-in-out infinite alternate;
}
.scn-antony-caesar-meeting .shadow-sharp {
  position: absolute; bottom: 0; left: 0; right: 0; height: 100%;
  background: linear-gradient(0deg, rgba(0,0,0,0.3) 0%, transparent 50%, rgba(0,0,0,0.1) 100%);
  animation: ac-shadow 12s ease-in-out infinite alternate;
}
@keyframes ac-wall { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes ac-floor { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes ac-table { 0% { box-shadow: 0 6px 12px rgba(0,0,0,0.5); } 50% { box-shadow: 0 8px 18px rgba(0,0,0,0.6); } 100% { box-shadow: 0 4px 8px rgba(0,0,0,0.4); } }
@keyframes ac-figure-c { 0% { transform: translateX(0) rotate(-2deg); } 30% { transform: translateX(3px) rotate(2deg); } 60% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes ac-figure-a { 0% { transform: translateX(0) scaleY(1); } 50% { transform: translateX(-5px) scaleY(1.02); } 100% { transform: translateX(0) scaleY(1); } }
@keyframes ac-guard { 0% { transform: rotate(0deg); } 25% { transform: rotate(2deg); } 50% { transform: rotate(-2deg); } 75% { transform: rotate(1deg); } 100% { transform: rotate(0); } }
@keyframes ac-window { 0% { opacity:0.5; transform: scale(1); } 50% { opacity:0.8; transform: scale(1.05); } 100% { opacity:0.4; transform: scale(0.95); } }
@keyframes ac-shadow { 0% { opacity:0.3; } 50% { opacity:0.5; } 100% { opacity:0.2; } }

.scn-antony-explains-feast {
  background: linear-gradient(180deg, #c9b695 0%, #ad9278 40%, #7a5f48 100%),
              radial-gradient(ellipse at 30% 60%, #dcc8a8 0%, transparent 60%);
  position: relative; overflow: hidden;
}
.scn-antony-explains-feast .room-wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #b89f85 0%, #90755a 100%);
  animation: af-wall 12s ease-in-out infinite alternate;
}
.scn-antony-explains-feast .couch {
  position: absolute; bottom: 20%; left: 30%; width: 80px; height: 30px;
  background: linear-gradient(180deg, #7a5f48 0%, #4a3528 100%);
  border-radius: 20px 20px 8px 8px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.4);
  animation: af-couch 9s ease-in-out infinite;
}
.scn-antony-explains-feast .antony-gesture {
  position: absolute; bottom: 18%; left: 38%; width: 26px; height: 46px;
  background: linear-gradient(180deg, #a08060 0%, #604830 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: af-antony 5s ease-in-out infinite alternate;
}
.scn-antony-explains-feast .goblet {
  position: absolute; bottom: 22%; left: 45%; width: 12px; height: 16px;
  background: linear-gradient(180deg, #c0a070 0%, #806040 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: af-goblet 3s ease-in-out infinite alternate;
}
.scn-antony-explains-feast .other-figure {
  position: absolute; bottom: 18%; left: 55%; width: 24px; height: 44px;
  background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 25% 25% 15% 15% / 45% 45% 25% 25%;
  animation: af-other 8s ease-in-out infinite;
}
.scn-antony-explains-feast .lamp {
  position: absolute; top: 15%; left: 60%; width: 20px; height: 30px;
  background: radial-gradient(circle at 50% 30%, #f0d080 0%, #b09040 60%, transparent 90%);
  border-radius: 50%;
  filter: blur(3px);
  animation: af-lamp 4s ease-in-out infinite alternate;
}
.scn-antony-explains-feast .shadows {
  position: absolute; bottom: 0; left: 0; right: 0; height: 100%;
  background: linear-gradient(0deg, rgba(0,0,0,0.4) 0%, transparent 60%);
  animation: af-shadows 14s ease-in-out infinite alternate;
}
@keyframes af-wall { 0% { opacity:0.85; } 50% { opacity:1; } 100% { opacity:0.75; } }
@keyframes af-couch { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes af-antony { 0% { transform: translateX(0) rotate(-5deg); } 25% { transform: translateX(3px) rotate(3deg); } 75% { transform: translateX(-3px) rotate(-3deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes af-goblet { 0% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(3deg) translateY(-1px); } 100% { transform: rotate(-2deg) translateY(0); } }
@keyframes af-other { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes af-lamp { 0% { opacity:0.6; transform: scale(0.9); } 50% { opacity:1; transform: scale(1.1); } 100% { opacity:0.7; transform: scale(0.95); } }
@keyframes af-shadows { 0% { opacity:0.3; } 50% { opacity:0.5; } 100% { opacity:0.2; } }

.scn-octavia-marriage-arranged {
  background: linear-gradient(180deg, #f0dcc0 0%, #d4b898 50%, #b89878 100%),
              radial-gradient(ellipse at 50% 30%, #fff4e0 0%, transparent 70%);
  position: relative; overflow: hidden;
}
.scn-octavia-marriage-arranged .arch {
  position: absolute; top: 5%; left: 50%; transform: translateX(-50%);
  width: 160px; height: 80px;
  background: linear-gradient(180deg, #c09a70 0%, #8a6640 100%);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
  animation: om-arch 18s ease-in-out infinite alternate;
}
.scn-octavia-marriage-arranged .altar {
  position: absolute; bottom: 28%; left: 50%; transform: translateX(-50%);
  width: 60px; height: 30px;
  background: linear-gradient(180deg, #e0c8a0 0%, #b09070 100%);
  border-radius: 10px 10px 4px 4px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: om-altar 8s ease-in-out infinite;
}
.scn-octavia-marriage-arranged .lepidus {
  position: absolute; bottom: 22%; left: 40%; width: 24px; height: 44px;
  background: linear-gradient(180deg, #b09880 0%, #705848 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: om-lepidus 10s ease-in-out infinite alternate;
}
.scn-octavia-marriage-arranged .octavia {
  position: absolute; bottom: 22%; left: 52%; width: 22px; height: 42px;
  background: linear-gradient(180deg, #d0b8a0 0%, #a08870 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  animation: om-octavia 6s ease-in-out infinite;
}
.scn-octavia-marriage-arranged .antony-stand {
  position: absolute; bottom: 22%; left: 60%; width: 24px; height: 44px;
  background: linear-gradient(180deg, #907050 0%, #503828 100%);
  border-radius: 25% 25% 15% 15% / 45% 45% 25% 25%;
  animation: om-antony 7s ease-in-out infinite alternate;
}
.scn-octavia-marriage-arranged .flower {
  position: absolute; bottom: 30%; left: 48%; width: 6px; height: 6px;
  background: #d08050;
  border-radius: 50%;
  box-shadow: 0 0 8px 2px rgba(208,128,80,0.4);
  animation: om-flower 5s ease-in-out infinite alternate;
}
.scn-octavia-marriage-arranged .candle {
  position: absolute; bottom: 32%; left: 35%; width: 4px; height: 10px;
  background: linear-gradient(180deg, #ffd080 0%, #b08040 100%);
  border-radius: 2px;
  box-shadow: 0 0 12px 4px rgba(255,208,128,0.6);
  animation: om-candle 3s ease-in-out infinite alternate;
}
.scn-octavia-marriage-arranged .soft-light {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 40%, rgba(255,230,200,0.3) 0%, transparent 60%);
  animation: om-soft 20s ease-in-out infinite alternate;
}
@keyframes om-arch { 0% { transform: translateX(-50%) scaleX(1); } 50% { transform: translateX(-50%) scaleX(1.03); } 100% { transform: translateX(-50%) scaleX(0.98); } }
@keyframes om-altar { 0% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-2px); } 100% { transform: translateX(-50%) translateY(0); } }
@keyframes om-lepidus { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(2px) rotate(3deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes om-octavia { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes om-antony { 0% { transform: rotate(0deg); } 25% { transform: rotate(-3deg); } 75% { transform: rotate(2deg); } 100% { transform: rotate(0); } }
@keyframes om-flower { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes om-candle { 0% { box-shadow: 0 0 8px 2px rgba(255,208,128,0.4); } 50% { box-shadow: 0 0 16px 6px rgba(255,208,128,0.7); } 100% { box-shadow: 0 0 10px 3px rgba(255,208,128,0.5); } }
@keyframes om-soft { 0% { opacity:0.6; } 50% { opacity:0.9; } 100% { opacity:0.5; } }

.scn-enobarbus-barge-description {
  background: linear-gradient(180deg, #87CEEB 0%, #b0d4f0 50%, #f0e6c0 100%),
              radial-gradient(ellipse at 70% 80%, #ffdd80 0%, transparent 60%);
  position: relative; overflow: hidden;
}
.scn-enobarbus-barge-description .sky-bg {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #a0c8e8 0%, #d0e0f0 100%);
  animation: eb-sky 20s ease-in-out infinite alternate;
}
.scn-enobarbus-barge-description .water {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #4a90b0 0%, #2a6a8a 100%);
  box-shadow: inset 0 6px 20px rgba(0,0,0,0.3);
  animation: eb-water 15s ease-in-out infinite;
}
.scn-enobarbus-barge-description .barge {
  position: absolute; bottom: 28%; left: 50%; transform: translateX(-50%);
  width: 140px; height: 30px;
  background: linear-gradient(180deg, #8a6a3a 0%, #5a3a1a 100%);
  border-radius: 20px 20px 4px 4px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.4);
  animation: eb-barge 12s ease-in-out infinite alternate;
}
.scn-enobarbus-barge-description .main-sail {
  position: absolute; bottom: 45%; left: 55%; width: 40px; height: 50px;
  background: linear-gradient(135deg, #f0d0a0 0%, #c0a070 50%, #a08050 100%);
  border-radius: 0 40% 40% 0 / 0 80% 80% 0;
  transform-origin: bottom left;
  animation: eb-sail1 8s ease-in-out infinite alternate;
}
.scn-enobarbus-barge-description .small-sail {
  position: absolute; bottom: 45%; left: 40%; width: 25px; height: 35px;
  background: linear-gradient(135deg, #e0c090 0%, #b09060 100%);
  border-radius: 40% 0 0 40% / 80% 0 0 80%;
  transform-origin: bottom right;
  animation: eb-sail2 10s ease-in-out infinite alternate;
}
.scn-enobarbus-barge-description .cleopatra {
  position: absolute; bottom: 24%; left: 48%; width: 20px; height: 36px;
  background: linear-gradient(180deg, #d0b090 0%, #a08060 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: eb-figure 6s ease-in-out infinite;
}
.scn-enobarbus-barge-description .sun-glare {
  position: absolute; top: 10%; right: 15%; width: 40px; height: 40px;
  background: radial-gradient(circle, #fff0a0 0%, #ffdd60 30%, transparent 70%);
  border-radius: 50%;
  filter: blur(10px);
  animation: eb-sun 5s ease-in-out infinite alternate;
}
.scn-enobarbus-barge-description .wave-f {
  position: absolute; bottom: 30%; left: 0; width: 200%; height: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,0.3) 0%, transparent 100%);
  border-radius: 50% 50% 0 0;
  animation: eb-wave1 8s linear infinite;
}
.scn-enobarbus-barge-description .wave-s {
  position: absolute; bottom: 35%; left: -50%; width: 200%; height: 15px;
  background: linear-gradient(180deg, rgba(255,255,255,0.2) 0%, transparent 100%);
  border-radius: 50% 50% 0 0;
  animation: eb-wave2 11s linear infinite;
}
@keyframes eb-sky { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes eb-water { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes eb-barge { 0% { transform: translateX(-50%) rotate(-2deg); } 50% { transform: translateX(-50%) rotate(2deg); } 100% { transform: translateX(-50%) rotate(-1deg); } }
@keyframes eb-sail1 { 0% { transform: rotate(0deg); } 50% { transform: rotate(10deg); } 100% { transform: rotate(-5deg); } }
@keyframes eb-sail2 { 0% { transform: rotate(0deg); } 50% { transform: rotate(-8deg); } 100% { transform: rotate(3deg); } }
@keyframes eb-figure { 0% { transform: translateX(0) scaleY(1); } 50% { transform: translateX(4px) scaleY(1.02); } 100% { transform: translateX(0) scaleY(1); } }
@keyframes eb-sun { 0% { opacity:0.5; transform: scale(0.9); } 50% { opacity:1; transform: scale(1.1); } 100% { opacity:0.6; transform: scale(1); } }
@keyframes eb-wave1 { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
@keyframes eb-wave2 { 0% { transform: translateX(0); } 100% { transform: translateX(50%); } }

.scn-soothsayer-warning {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 40%, #3a2e1e 100%),
    radial-gradient(ellipse at 50% 60%, #4a3a2a 0%, transparent 70%);
}
.scn-soothsayer-warning .bg-wall {
  position:absolute; inset:0 0 30% 0;
  background: linear-gradient(135deg, #2a2a3e 0%, #1e1e2a 100%);
  animation: sw-wall-fade 12s ease-in-out infinite alternate;
}
.scn-soothsayer-warning .floor {
  position:absolute; bottom:0; left:0; right:0; height:30%;
  background: linear-gradient(180deg, #3a2e1e 0%, #1e1a12 100%);
  border-radius: 30% 30% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,.6);
  animation: sw-floor-glow 8s ease-in-out infinite;
}
.scn-soothsayer-warning .figure-antony {
  position:absolute; bottom:25%; left:30%; width:24px; height:45px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1e1a12 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sw-antony-turn 6s ease-in-out infinite;
}
.scn-soothsayer-warning .figure-soothsayer {
  position:absolute; bottom:25%; right:30%; width:20px; height:40px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sw-soothsayer-bow 8s ease-in-out infinite alternate;
}
.scn-soothsayer-warning .table {
  position:absolute; bottom:20%; left:45%; width:60px; height:12px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,.5);
  animation: sw-table-shift 10s ease-in-out infinite;
}
.scn-soothsayer-warning .candle {
  position:absolute; bottom:26%; left:48%; width:6px; height:14px;
  background: linear-gradient(180deg, #c8a070 0%, #8a6a40 100%);
  border-radius: 2px;
  box-shadow: 0 0 6px 2px #c08040;
  animation: sw-candle-flicker 3s ease-in-out infinite;
}
.scn-soothsayer-warning .shadow-shape {
  position:absolute; bottom:20%; left:25%; width:120px; height:8px;
  background: radial-gradient(ellipse, rgba(0,0,0,.4) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(4px);
  animation: sw-shadow-sway 9s ease-in-out infinite alternate;
}
.scn-soothsayer-warning .dust {
  position:absolute; top:40%; left:10%; width:4px; height:4px;
  background: rgba(200,180,150,.3);
  border-radius: 50%;
  filter: blur(2px);
  animation: sw-dust-drift 20s linear infinite;
}
@keyframes sw-wall-fade { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes sw-floor-glow { 0% { box-shadow: inset 0 8px 20px rgba(0,0,0,.6); } 50% { box-shadow: inset 0 8px 30px rgba(0,0,0,.8); } 100% { box-shadow: inset 0 8px 20px rgba(0,0,0,.6); } }
@keyframes sw-antony-turn { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(4px) rotate(2deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes sw-soothsayer-bow { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(5deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes sw-table-shift { 0%,100% { transform: translateX(0); } 50% { transform: translateX(3px); } }
@keyframes sw-candle-flicker { 0% { box-shadow: 0 0 6px 2px #c08040; height:14px; } 50% { box-shadow: 0 0 10px 4px #d09050; height:15px; } 100% { box-shadow: 0 0 6px 2px #c08040; height:14px; } }
@keyframes sw-shadow-sway { 0% { transform: translateX(-10px) scaleX(1); } 50% { transform: translateX(10px) scaleX(1.2); } 100% { transform: translateX(-5px) scaleX(0.9); } }
@keyframes sw-dust-drift { 0% { transform: translate(0,0) scale(1); opacity:.3; } 50% { transform: translate(30px,-10px) scale(1.5); opacity:.6; } 100% { transform: translate(60px,0) scale(1); opacity:.3; } }

.scn-messenger-octavia-news {
  background:
    linear-gradient(180deg, #1e1e30 0%, #2a2a44 50%, #1a1a2e 100%),
    radial-gradient(ellipse at 50% 40%, #2a2a44 0%, transparent 70%);
}
.scn-messenger-octavia-news .bg-hall {
  position:absolute; inset:0;
  background: linear-gradient(135deg, #1e1e30 0%, #2a2a44 100%);
  animation: mon-hall-fall 15s ease-in-out infinite alternate;
}
.scn-messenger-octavia-news .throne {
  position:absolute; bottom:22%; left:50%; transform:translateX(-50%);
  width:60px; height:50px;
  background: linear-gradient(180deg, #8a6a40 0%, #5a3a2a 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,.5);
  animation: mon-throne-sink 9s ease-in-out infinite;
}
.scn-messenger-octavia-news .figure-cleopatra {
  position:absolute; bottom:25%; left:48%; width:22px; height:48px;
  background: linear-gradient(180deg, #2a1a2a 0%, #1a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mon-cleopatra-reach 4s ease-in-out infinite;
}
.scn-messenger-octavia-news .figure-messenger {
  position:absolute; bottom:22%; right:25%; width:18px; height:36px;
  background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mon-messenger-cower 3s ease-in-out infinite alternate;
}
.scn-messenger-octavia-news .pillar {
  position:absolute; bottom:0; left:10%; width:16px; height:60%;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 4px;
  box-shadow: 2px 0 6px rgba(0,0,0,.4);
  animation: mon-pillar-pulse 12s ease-in-out infinite;
}
.scn-messenger-octavia-news .shadow-crack {
  position:absolute; left:20%; right:20%; bottom:18%; height:6px;
  background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 70%);
  filter: blur(3px);
  animation: mon-crack-grow 8s ease-in-out infinite alternate;
}
.scn-messenger-octavia-news .air-shimmer {
  position:absolute; top:30%; left:20%; width:8px; height:8px;
  background: rgba(255,240,200,.1);
  border-radius: 50%;
  filter: blur(4px);
  animation: mon-shimmer-float 25s linear infinite;
}
@keyframes mon-hall-fall { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.7 } }
@keyframes mon-throne-sink { 0%,100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-2px); } }
@keyframes mon-cleopatra-reach { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(6px) rotate(-5deg); } 50% { transform: translateX(12px) rotate(0); } 75% { transform: translateX(6px) rotate(5deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes mon-messenger-cower { 0% { transform: translateY(0) scale(1); } 100% { transform: translateY(-3px) scale(0.9); } }
@keyframes mon-pillar-pulse { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes mon-crack-grow { 0% { transform: scaleX(0.8); opacity:.6; } 100% { transform: scaleX(1.3); opacity:1; } }
@keyframes mon-shimmer-float { 0% { transform: translate(0,0) scale(1); opacity:0; } 50% { transform: translate(30px,-20px) scale(2); opacity:.4; } 100% { transform: translate(60px,0) scale(1); opacity:0; } }

.scn-cleopatra-rages {
  background:
    linear-gradient(180deg, #2a1a1a 0%, #4a2a2a 40%, #6a3a3a 100%),
    radial-gradient(ellipse at 50% 30%, #8a4a4a 0%, transparent 70%);
}
.scn-cleopatra-rages .bg-bright-wall {
  position:absolute; inset:0 0 30% 0;
  background: linear-gradient(180deg, #6a3a3a 0%, #4a2a2a 100%);
  animation: cr-wall-bright 10s ease-in-out infinite alternate;
}
.scn-cleopatra-rages .window-light {
  position:absolute; top:15%; left:50%; transform:translateX(-50%);
  width:40px; height:30px;
  background: radial-gradient(circle, #d09050 0%, #a06030 60%, transparent 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 0 30px 10px #a06030, 0 0 60px 20px rgba(160,96,48,.3);
  animation: cr-window-pulse 4s ease-in-out infinite alternate;
}
.scn-cleopatra-rages .figure-cleopatra-knife {
  position:absolute; bottom:22%; left:45%; width:24px; height:50px;
  background: linear-gradient(180deg, #1a0a1a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cr-cleopatra-knife 3s ease-in-out infinite;
}
.scn-cleopatra-rages .shadow-stretch {
  position:absolute; bottom:18%; left:35%; width:80px; height:6px;
  background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 70%);
  filter: blur(4px);
  animation: cr-shadow-stretch 5s ease-in-out infinite alternate;
}
.scn-cleopatra-rages .table-stand {
  position:absolute; bottom:20%; left:55%; width:30px; height:8px;
  background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%);
  border-radius: 2px;
  animation: cr-table-tilt 8s ease-in-out infinite;
}
.scn-cleopatra-rages .candle-flame {
  position:absolute; bottom:30%; left:57%; width:8px; height:12px;
  background: radial-gradient(circle, #f0c060 0%, #c08040 40%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 12px 6px #c08040;
  animation: cr-flame-rage 2s ease-in-out infinite;
}
.scn-cleopatra-rages .blood-drop { /* small, isolated, deep burgundy — not bright red */
  position:absolute; bottom:15%; right:45%; width:4px; height:6px;
  background: radial-gradient(circle, #702243 0%, #4a142e 100%);
  border-radius: 50%;
  animation: cr-drop-fall 4s ease-in-out infinite;
}
.scn-cleopatra-rages .air-warp {
  position:absolute; top:35%; left:20%; width:10px; height:10px;
  background: rgba(255,200,150,.15);
  border-radius: 50%;
  filter: blur(5px);
  animation: cr-warp-float 30s linear infinite;
}
@keyframes cr-wall-bright { 0% { opacity:.9; filter:brightness(1); } 50% { opacity:1; filter:brightness(1.2); } 100% { opacity:.9; filter:brightness(0.9); } }
@keyframes cr-window-pulse { 0% { box-shadow: 0 0 20px 8px #a06030; } 50% { box-shadow: 0 0 40px 16px #d09050; } 100% { box-shadow: 0 0 20px 8px #a06030; } }
@keyframes cr-cleopatra-knife { 0% { transform: translateX(0) rotate(-10deg); } 25% { transform: translateX(8px) rotate(10deg); } 50% { transform: translateX(16px) rotate(-20deg); } 75% { transform: translateX(8px) rotate(10deg); } 100% { transform: translateX(0) rotate(-10deg); } }
@keyframes cr-shadow-stretch { 0% { transform: scaleX(1); opacity:.6; } 100% { transform: scaleX(1.5); opacity:1; } }
@keyframes cr-table-tilt { 0%,100% { transform: rotate(0); } 50% { transform: rotate(4deg); } }
@keyframes cr-flame-rage { 0% { transform: scale(1) rotate(-3deg); } 50% { transform: scale(1.3) rotate(3deg); } 100% { transform: scale(1) rotate(-3deg); } }
@keyframes cr-drop-fall { 0% { transform: translateY(0); opacity:1; } 50% { transform: translateY(8px); opacity:.8; } 100% { transform: translateY(16px); opacity:0; } }
@keyframes cr-warp-float { 0% { transform: translate(0,0) scale(1); opacity:0; } 50% { transform: translate(40px,-15px) scale(1.5); opacity:.3; } 100% { transform: translate(80px,0) scale(1); opacity:0; } }

.scn-pompey-terms-agreed {
  background:
    linear-gradient(180deg, #f0e4c8 0%, #d4c4a8 40%, #a89478 100%),
    radial-gradient(ellipse at 50% 80%, #e8d8b8 0%, transparent 60%);
}
.scn-pompey-terms-agreed .sky-sunny {
  position:absolute; inset:0 0 40% 0;
  background: linear-gradient(180deg, #f8ecc8 0%, #e8d8b0 100%);
  animation: pta-sky-bright 15s ease-in-out infinite alternate;
}
.scn-pompey-terms-agreed .ground-lawn {
  position:absolute; bottom:0; left:0; right:0; height:40%;
  background: linear-gradient(180deg, #a8c090 0%, #688060 100%);
  border-radius: 30% 30% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,.2);
  animation: pta-ground-sway 12s ease-in-out infinite;
}
.scn-pompey-terms-agreed .table-feast {
  position:absolute; bottom:30%; left:50%; transform:translateX(-50%);
  width:80px; height:10px;
  background: linear-gradient(180deg, #c8a878 0%, #a08050 100%);
  border-radius: 6px;
  box-shadow: 0 6px 12px rgba(0,0,0,.3);
  animation: pta-table-bounce 8s ease-in-out infinite;
}
.scn-pompey-terms-agreed .figure-pompey {
  position:absolute; bottom:28%; left:35%; width:22px; height:44px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pta-pompey-gesture 5s ease-in-out infinite;
}
.scn-pompey-terms-agreed .figure-antony-standing {
  position:absolute; bottom:28%; left:50%; transform:translateX(-50%);
  width:24px; height:46px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pta-antony-nod 7s ease-in-out infinite alternate;
}
.scn-pompey-terms-agreed .figure-enobarbus {
  position:absolute; bottom:28%; right:35%; width:20px; height:42px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pta-enobarbus-tilt 6s ease-in-out infinite alternate;
}
.scn-pompey-terms-agreed .goblet {
  position:absolute; bottom:33%; left:48%; width:8px; height:12px;
  background: linear-gradient(180deg, #d0b080 0%, #a08050 100%);
  border-radius: 0 0 30% 30%;
  box-shadow: 0 4px 6px rgba(0,0,0,.3);
  animation: pta-goblet-rise 4s ease-in-out infinite;
}
.scn-pompey-terms-agreed .sun-ray {
  position:absolute; top:10%; left:20%; width:200px; height:4px;
  background: linear-gradient(90deg, rgba(255,255,200,.4) 0%, transparent 100%);
  transform: rotate(-20deg);
  filter: blur(3px);
  animation: pta-ray-sweep 20s linear infinite;
}
.scn-pompey-terms-agreed .shadow-hard {
  position:absolute; bottom:20%; left:30%; width:100px; height:6px;
  background: radial-gradient(ellipse, rgba(0,0,0,.3) 0%, transparent 70%);
  filter: blur(2px);
  animation: pta-shadow-hard 10s ease-in-out infinite alternate;
}
@keyframes pta-sky-bright { 0% { opacity:.9; filter:brightness(1.1); } 50% { opacity:1; filter:brightness(1.2); } 100% { opacity:.9; filter:brightness(1); } }
@keyframes pta-ground-sway { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes pta-table-bounce { 0% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-1px); } 100% { transform: translateX(-50%) translateY(0); } }
@keyframes pta-pompey-gesture { 0% { transform: translateX(0) rotate(-3deg); } 25% { transform: translateX(4px) rotate(3deg); } 50% { transform: translateX(8px) rotate(-2deg); } 75% { transform: translateX(4px) rotate(2deg); } 100% { transform: translateX(0) rotate(-3deg); } }
@keyframes pta-antony-nod { 0% { transform: translateX(-50%) rotate(0); } 100% { transform: translateX(-50%) rotate(5deg); } }
@keyframes pta-enobarbus-tilt { 0% { transform: rotate(0); } 100% { transform: rotate(4deg); } }
@keyframes pta-goblet-rise { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes pta-ray-sweep { 0% { transform: rotate(-20deg) translateX(-30px); opacity:.3; } 50% { transform: rotate(-20deg) translateX(30px); opacity:.6; } 100% { transform: rotate(-20deg) translateX(-30px); opacity:.3; } }
@keyframes pta-shadow-hard { 0% { transform: scaleX(1); } 100% { transform: scaleX(1.2); } }

.scn-alexandria-palace-love { 
  background: 
    linear-gradient(180deg, #f5e6c8 0%, #e8d5a3 40%, #d4b78c 100%),
    radial-gradient(ellipse at 40% 30%, #fff3cd 0%, transparent 60%);
}
.scn-alexandria-palace-love .bg { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 60%, #f0e0c0 0%, #d4b78c 100%); }
.scn-alexandria-palace-love .pillar-left { position:absolute; left:12%; bottom:0; width:6%; height:85%; background: linear-gradient(90deg, #c8a67a 0%, #e0c8a0 30%, #c8a67a 70%); border-radius:8% 8% 0 0; box-shadow: 2px 0 8px rgba(80,50,20,.3); animation: ap-pillar 10s ease-in-out infinite; }
.scn-alexandria-palace-love .pillar-right { position:absolute; right:12%; bottom:0; width:6%; height:85%; background: linear-gradient(90deg, #c8a67a 0%, #e0c8a0 30%, #c8a67a 70%); border-radius:8% 8% 0 0; box-shadow: -2px 0 8px rgba(80,50,20,.3); animation: ap-pillar 10s ease-in-out infinite reverse; }
.scn-alexandria-palace-love .throne-back { position:absolute; bottom:18%; left:38%; width:24%; height:50%; background: linear-gradient(180deg, #b08850 0%, #8a6a30 100%); border-radius: 40% 40% 10% 10%; box-shadow: inset 0 -10px 20px rgba(0,0,0,.3); }
.scn-alexandria-palace-love .throne { position:absolute; bottom:10%; left:42%; width:16%; height:20%; background: linear-gradient(180deg, #c8a060 0%, #a08040 100%); border-radius: 20% 20% 30% 30%; box-shadow: 0 6px 12px rgba(0,0,0,.4); }
.scn-alexandria-palace-love .cleopatra { position:absolute; bottom:12%; left:44%; width:10%; height:38%; background: linear-gradient(180deg, #f0d8b0 0%, #d4b080 40%, #a07850 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ap-figure 6s ease-in-out infinite; }
.scn-alexandria-palace-love .antony { position:absolute; bottom:12%; right:40%; width:12%; height:42%; background: linear-gradient(180deg, #d4b090 0%, #b09070 40%, #806050 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: ap-figure 7s ease-in-out infinite reverse; }
.scn-alexandria-palace-love .sunbeam { position:absolute; top:8%; left:30%; width:40%; height:60%; background: linear-gradient(135deg, rgba(255,255,200,.25) 0%, transparent 70%); clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%); animation: ap-beam 12s ease-in-out infinite alternate; }
.scn-alexandria-palace-love .drape { position:absolute; top:0; left:5%; width:15%; height:100%; background: linear-gradient(180deg, #c8553d 0%, #a0461a 50%, #702243 100%); border-radius: 0 20% 20% 0; transform-origin: top left; animation: ap-drape 15s ease-in-out infinite; }

@keyframes ap-pillar {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes ap-figure {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-2px) rotate(1deg); }
  60% { transform: translateY(0) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes ap-beam {
  0% { opacity: 0.6; transform: translateX(-10px) scale(1); }
  50% { opacity: 1; transform: translateX(10px) scale(1.05); }
  100% { opacity: 0.7; transform: translateX(0) scale(0.95); }
}
@keyframes ap-drape {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(3deg) scaleY(1.02); }
  100% { transform: rotate(0deg); }
}

.scn-soothsayer-fortunes { 
  background: 
    linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 40%, #1a1a2e 100%),
    radial-gradient(ellipse at 50% 50%, #3a2a3e 0%, transparent 70%);
}
.scn-soothsayer-fortunes .bg { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 70%, #2a1a2e 0%, #1a1a2e 100%); }
.scn-soothsayer-fortunes .table { position:absolute; bottom:20%; left:30%; width:40%; height:18%; background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%); border-radius: 50% 50% 10% 10%; box-shadow: 0 8px 16px rgba(0,0,0,.5); }
.scn-soothsayer-fortunes .lamp { position:absolute; bottom:40%; left:48%; width:8%; height:12%; background: radial-gradient(circle at 50% 30%, #ffd680 0%, #c08050 100%); border-radius: 50% 50% 10% 10%; box-shadow: 0 0 40px 12px rgba(192,128,80,.6), 0 0 80px 24px rgba(192,128,80,.3); animation: sf-lamp 2s ease-in-out infinite alternate; }
.scn-soothsayer-fortunes .soothsayer { position:absolute; bottom:12%; left:32%; width:14%; height:45%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 40%, #0a0a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: sf-figure 5s ease-in-out infinite; }
.scn-soothsayer-fortunes .charmian { position:absolute; bottom:12%; left:46%; width:12%; height:40%; background: linear-gradient(180deg, #3a2a3a 0%, #2a1a2a 40%, #1a0a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: sf-figure 6s ease-in-out infinite 0.5s; }
.scn-soothsayer-fortunes .iras { position:absolute; bottom:12%; left:58%; width:11%; height:38%; background: linear-gradient(180deg, #3a2a3a 0%, #2a1a2a 40%, #1a0a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: sf-figure 5.5s ease-in-out infinite 1s; }
.scn-soothsayer-fortunes .crystal-ball { position:absolute; bottom:32%; left:46%; width:8%; height:8%; background: radial-gradient(circle at 40% 30%, #a8d8e8 0%, #5080a0 100%); border-radius: 50%; box-shadow: 0 0 30px 8px rgba(80,128,160,.4); animation: sf-glint 4s ease-in-out infinite alternate; }
.scn-soothsayer-fortunes .shadows { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 60%, rgba(0,0,0,0.4) 0%, transparent 70%); animation: sf-shadow 3s ease-in-out infinite alternate; }

@keyframes sf-lamp {
  0% { box-shadow: 0 0 40px 12px rgba(192,128,80,.6), 0 0 80px 24px rgba(192,128,80,.3); }
  50% { box-shadow: 0 0 30px 8px rgba(192,128,80,.4), 0 0 60px 16px rgba(192,128,80,.2); }
  100% { box-shadow: 0 0 50px 16px rgba(192,128,80,.7), 0 0 100px 32px rgba(192,128,80,.4); }
}
@keyframes sf-figure {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-1px) rotate(1deg); }
  50% { transform: translateY(0) rotate(-1deg); }
  75% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes sf-glint {
  0% { opacity: 0.7; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.1); }
  100% { opacity: 0.8; transform: scale(0.95); }
}
@keyframes sf-shadow {
  0% { opacity: 0.3; }
  50% { opacity: 0.6; }
  100% { opacity: 0.3; }
}

.scn-antony-news-fulvia { 
  background: 
    linear-gradient(180deg, #1e1e2e 0%, #2e2e3e 40%, #1e1e2e 100%),
    radial-gradient(ellipse at 50% 40%, #3e2e2e 0%, transparent 70%);
}
.scn-antony-news-fulvia .bg { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 50%, #2e1e1e 0%, #1e1e2e 100%); }
.scn-antony-news-fulvia .desk { position:absolute; bottom:18%; left:25%; width:50%; height:12%; background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%); border-radius: 10% 10% 5% 5%; box-shadow: 0 6px 12px rgba(0,0,0,.5); }
.scn-antony-news-fulvia .scroll { position:absolute; bottom:22%; left:38%; width:24%; height:8%; background: linear-gradient(135deg, #c8b898 0%, #a89070 50%, #c8b898 100%); border-radius: 20% 20% 30% 30%; box-shadow: 0 2px 6px rgba(0,0,0,.3); animation: anf-scroll 10s ease-in-out infinite alternate; }
.scn-antony-news-fulvia .antony { position:absolute; bottom:12%; left:35%; width:14%; height:45%; background: linear-gradient(180deg, #4a3a3a 0%, #3a2a2a 40%, #2a1a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: anf-figure 5s ease-in-out infinite; }
.scn-antony-news-fulvia .cleopatra { position:absolute; bottom:12%; left:48%; width:12%; height:42%; background: linear-gradient(180deg, #f0d8b0 0%, #d4b080 40%, #a07850 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: anf-figure 6s ease-in-out infinite 0.3s; }
.scn-antony-news-fulvia .enobarbus { position:absolute; bottom:12%; left:58%; width:12%; height:40%; background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 40%, #1a1a2a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: anf-figure 6s ease-in-out infinite 0.8s; }
.scn-antony-news-fulvia .lamp { position:absolute; bottom:40%; left:30%; width:6%; height:10%; background: radial-gradient(circle at 50% 30%, #ffd680 0%, #c08050 100%); border-radius: 50% 50% 10% 10%; box-shadow: 0 0 40px 12px rgba(192,128,80,.6), 0 0 80px 24px rgba(192,128,80,.3); animation: anf-lamp 2s ease-in-out infinite alternate; }
.scn-antony-news-fulvia .chair { position:absolute; bottom:12%; left:32%; width:10%; height:20%; background: linear-gradient(180deg, #5a4a3a 0%, #4a3a2a 100%); border-radius: 20% 20% 30% 30%; box-shadow: inset 0 -4px 8px rgba(0,0,0,.3); }

@keyframes anf-scroll {
  0% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-3px) rotate(3deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes anf-figure {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-1px) rotate(1deg); }
  60% { transform: translateY(-2px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes anf-lamp {
  0% { box-shadow: 0 0 40px 12px rgba(192,128,80,.6), 0 0 80px 24px rgba(192,128,80,.3); }
  50% { box-shadow: 0 0 30px 8px rgba(192,128,80,.4), 0 0 60px 16px rgba(192,128,80,.2); }
  100% { box-shadow: 0 0 50px 16px rgba(192,128,80,.7), 0 0 100px 32px rgba(192,128,80,.4); }
}

.scn-antony-departure-plans { 
  background: 
    linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 40%, #1a1a2e 100%),
    radial-gradient(ellipse at 50% 60%, #3e2e2e 0%, transparent 70%);
}
.scn-antony-departure-plans .bg { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 30%, #2e1e1e 0%, #1a1a2e 100%); }
.scn-antony-departure-plans .floor { position:absolute; bottom:0; left:0; right:0; height:15%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 10% 10% 0 0; }
.scn-antony-departure-plans .antony { position:absolute; bottom:12%; left:40%; width:14%; height:45%; background: linear-gradient(180deg, #4a3a3a 0%, #3a2a2a 40%, #2a1a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: adp-figure 4s ease-in-out infinite; }
.scn-antony-departure-plans .cleopatra { position:absolute; bottom:12%; left:30%; width:12%; height:42%; background: linear-gradient(180deg, #f0d8b0 0%, #d4b080 40%, #a07850 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: adp-figure 4.5s ease-in-out infinite 0.2s; }
.scn-antony-departure-plans .ship { position:absolute; bottom:15%; right:8%; width:20%; height:35%; background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 60%, #2a1a0a 100%); clip-path: polygon(20% 20%, 80% 20%, 70% 80%, 30% 80%); border-radius: 10% 10% 30% 30%; animation: adp-ship 20s ease-in-out infinite; }
.scn-antony-departure-plans .luggage { position:absolute; bottom:10%; left:55%; width:12%; height:10%; background: linear-gradient(180deg, #5a4a3a 0%, #4a3a2a 100%); border-radius: 10% 10% 20% 20%; box-shadow: 2px 2px 6px rgba(0,0,0,.3); }
.scn-antony-departure-plans .lamp { position:absolute; bottom:40%; left:50%; width:6%; height:10%; background: radial-gradient(circle at 50% 30%, #ffd680 0%, #c08050 100%); border-radius: 50% 50% 10% 10%; box-shadow: 0 0 40px 12px rgba(192,128,80,.6), 0 0 80px 24px rgba(192,128,80,.3); animation: adp-lamp 1.5s ease-in-out infinite alternate; }
.scn-antony-departure-plans .drape { position:absolute; top:0; right:5%; width:12%; height:100%; background: linear-gradient(180deg, #5e1a1d 0%, #702243 50%, #5e1a1d 100%); border-radius: 20% 0 0 20%; transform-origin: top right; animation: adp-drape 12s ease-in-out infinite; }

@keyframes adp-figure {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-2px) rotate(2deg); }
  50% { transform: translateY(-1px) rotate(-2deg); }
  75% { transform: translateY(-3px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes adp-ship {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(5px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes adp-lamp {
  0% { box-shadow: 0 0 40px 12px rgba(192,128,80,.6), 0 0 80px 24px rgba(192,128,80,.3); }
  50% { box-shadow: 0 0 20px 6px rgba(192,128,80,.4), 0 0 40px 12px rgba(192,128,80,.2); }
  100% { box-shadow: 0 0 50px 16px rgba(192,128,80,.7), 0 0 100px 32px rgba(192,128,80,.4); }
}
@keyframes adp-drape {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(-5deg) scaleY(1.03); }
  100% { transform: rotate(0deg); }
}

/* Scene 1: antony-fights-valiantly (tense, sunlit) */
.scn-antony-fights-valiantly {
  background: 
    linear-gradient(180deg, #4a8cbf 0%, #7ab0d4 40%, #ffd699 100%),
    radial-gradient(ellipse at 60% 30%, #fff3c9 0%, transparent 50%);
}
.scn-antony-fights-valiantly .sky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #3a7aa0 0%, #7ab0d4 60%, transparent 100%);
  animation: afv-sky 8s ease-in-out infinite alternate;
}
.scn-antony-fights-valiantly .sun {
  position: absolute; top: 5%; left: 65%; width: 50px; height: 50px;
  background: radial-gradient(circle, #ffe080 0%, #ffd060 40%, transparent 70%);
  border-radius: 50%; box-shadow: 0 0 60px 30px rgba(255,208,96,0.3);
  animation: afv-sun 6s ease-in-out infinite;
}
.scn-antony-fights-valiantly .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%);
  border-radius: 20% 30% 0 0 / 40% 50% 0 0;
}
.scn-antony-fights-valiantly .dust {
  position: absolute; bottom: 25%; left: 10%; right: 10%; height: 10%;
  background: rgba(200,170,120,0.3); filter: blur(8px);
  border-radius: 50%; animation: afv-dust 12s ease-in-out infinite alternate;
}
.scn-antony-fights-valiantly .antony {
  position: absolute; bottom: 10%; left: 30%; width: 32px; height: 60px;
  background: linear-gradient(180deg, #c8553d 0%, #8a3a2a 50%, #3a1a1a 100%);
  border-radius: 45% 45% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: afv-fight 3s ease-in-out infinite;
  box-shadow: -4px 0 8px rgba(0,0,0,0.3);
}
.scn-antony-fights-valiantly .scarus {
  position: absolute; bottom: 12%; left: 50%; width: 28px; height: 55px;
  background: linear-gradient(180deg, #a0461a 0%, #6a2a1a 50%, #2a1010 100%);
  border-radius: 45% 45% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: afv-scarus 3.5s ease-in-out infinite 0.2s;
}
.scn-antony-fights-valiantly .banner {
  position: absolute; top: 15%; right: 20%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #c8553d 0%, #8a3a2a 50%, #c8553d 100%);
  clip-path: polygon(0% 0%, 100% 0%, 100% 80%, 50% 100%, 0% 80%);
  animation: afv-banner 5s ease-in-out infinite alternate;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.4);
}
.scn-antony-fights-valiantly .spear {
  position: absolute; bottom: 15%; left: 55%; width: 4px; height: 60px;
  background: linear-gradient(180deg, #7a6a4a 0%, #3a2a1a 100%);
  border-radius: 2px; transform: rotate(-20deg) translateY(10px);
  animation: afv-spear 4s ease-in-out infinite;
}
.scn-antony-fights-valiantly .soldier {
  position: absolute; bottom: 8%; right: 15%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #5a7a8a 0%, #2a4a5a 100%);
  border-radius: 40% 40% 35% 35% / 55% 55% 40% 40%;
  animation: afv-soldier 2.8s ease-in-out infinite -0.5s;
  box-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}
@keyframes afv-sky { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes afv-sun { 0% { transform: scale(1); } 50% { transform: scale(1.05) translateY(-2px); } 100% { transform: scale(0.95) translateY(2px); } }
@keyframes afv-dust { 0% { transform: translateX(0) scale(1); } 50% { transform: translateX(15px) scale(1.2); opacity: 0.5; } 100% { transform: translateX(-10px) scale(0.8); } }
@keyframes afv-fight { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(5px) rotate(-3deg) scale(1.02); } 50% { transform: translateX(-3px) rotate(2deg) scale(0.98); } 75% { transform: translateX(8px) rotate(-1deg) scale(1.01); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes afv-scarus { 0% { transform: translateX(0) rotate(0deg); } 33% { transform: translateX(-6px) rotate(2deg); } 66% { transform: translateX(4px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes afv-banner { 0% { transform: scaleX(1) rotate(0deg); } 50% { transform: scaleX(0.9) rotate(5deg); } 100% { transform: scaleX(1.1) rotate(-5deg); } }
@keyframes afv-spear { 0% { transform: rotate(-20deg) translateY(10px); } 50% { transform: rotate(-15deg) translateY(5px); } 100% { transform: rotate(-25deg) translateY(15px); } }
@keyframes afv-soldier { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-4px) rotate(-2deg); } 50% { transform: translateX(2px) rotate(1deg); } 75% { transform: translateX(-6px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }

/* Scene 2: caesar-mourns-antony (dark, overcast) */
.scn-caesar-mourns-antony {
  background:
    linear-gradient(180deg, #1a2230 0%, #2a3a50 40%, #1a2a3a 100%),
    radial-gradient(ellipse at 50% 80%, #2a3a50 0%, transparent 50%);
}
.scn-caesar-mourns-antony .sky-overcast {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #1a2a3a 0%, #2a3a50 60%, #3a4a60 100%);
  animation: cmo-sky 15s ease-in-out infinite alternate;
}
.scn-caesar-mourns-antony .tomb {
  position: absolute; bottom: 20%; left: 50%; transform: translateX(-50%);
  width: 120px; height: 80px;
  background: linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 50%, #1a1a2a 100%);
  border-radius: 30% 30% 10% 10% / 60% 60% 20% 20%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.6), inset 0 2px 8px rgba(255,255,255,0.05);
}
.scn-caesar-mourns-antony .caesar-figure {
  position: absolute; bottom: 15%; left: 40%; width: 30px; height: 65px;
  background: linear-gradient(180deg, #4a4a6a 0%, #2a2a4a 50%, #1a1a2a 100%);
  border-radius: 40% 40% 30% 30% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: cmo-caesar 10s ease-in-out infinite;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.scn-caesar-mourns-antony .bier {
  position: absolute; bottom: 35%; left: 50%; transform: translateX(-50%);
  width: 80px; height: 14px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 6px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
}
.scn-caesar-mourns-antony .rain-layer {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(90deg, transparent, transparent 4px, rgba(200,220,255,0.05) 4px, rgba(200,220,255,0.05) 6px);
  animation: cmo-rain 2s linear infinite;
  pointer-events: none;
}
.scn-caesar-mourns-antony .wreath {
  position: absolute; bottom: 32%; left: 52%; width: 18px; height: 18px;
  background: radial-gradient(circle, #5a7a3a 0%, #3a5a2a 100%);
  border-radius: 50%;
  box-shadow: 0 0 6px rgba(255,255,255,0.1);
  animation: cmo-wreath 8s ease-in-out infinite;
}
.scn-caesar-mourns-antony .shadow-vine {
  position: absolute; top: 10%; right: 10%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 60% 60%;
  filter: blur(3px);
  animation: cmo-vine 20s ease-in-out infinite alternate;
}
.scn-caesar-mourns-antony .lamp {
  position: absolute; bottom: 40%; left: 35%; width: 8px; height: 10px;
  background: radial-gradient(circle, #ffd680 0%, #b08040 80%);
  border-radius: 50%;
  box-shadow: 0 0 20px 8px rgba(255,214,128,0.2), 0 0 40px 16px rgba(255,214,128,0.1);
  animation: cmo-lamp 6s ease-in-out infinite alternate;
}
@keyframes cmo-sky { 0% { opacity: 0.6; } 50% { opacity: 0.8; } 100% { opacity: 0.5; } }
@keyframes cmo-caesar { 0% { transform: translateX(0) rotate(0deg); } 33% { transform: translateX(-2px) rotate(1deg); } 66% { transform: translateX(1px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes cmo-rain { 0% { background-position: 0 0; } 100% { background-position: 0 20px; } }
@keyframes cmo-wreath { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(10deg); } 100% { transform: translateY(0) rotate(-10deg); } }
@keyframes cmo-vine { 0% { transform: scaleY(1) rotate(0deg); } 50% { transform: scaleY(1.1) rotate(3deg); } 100% { transform: scaleY(0.9) rotate(-3deg); } }
@keyframes cmo-lamp { 0% { transform: scale(1); opacity: 0.7; } 50% { transform: scale(1.2); opacity: 1; } 100% { transform: scale(0.9); opacity: 0.8; } }

/* Scene 3: cleopatra-defiance (tense, dim-interior) */
.scn-cleopatra-defiance {
  background:
    linear-gradient(180deg, #1a1212 0%, #2a1a1a 40%, #1a0a0a 100%),
    radial-gradient(ellipse at 50% 0%, #3a2a2a 0%, transparent 60%);
}
.scn-cleopatra-defiance .wall-back {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 80%);
  border-radius: 0 0 20% 20% / 0 0 30% 30%;
  box-shadow: inset 0 20px 30px rgba(0,0,0,0.8);
}
.scn-cleopatra-defiance .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1010 100%);
  border-radius: 10% 10% 0 0 / 20% 20% 0 0;
}
.scn-cleopatra-defiance .cleopatra-figure {
  position: absolute; bottom: 25%; left: 40%; width: 30px; height: 65px;
  background: linear-gradient(180deg, #b87878 0%, #5e1a1d 50%, #2a0a0a 100%);
  border-radius: 45% 45% 35% 35% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cd-defiant 3s ease-in-out infinite;
  box-shadow: 2px 0 10px rgba(0,0,0,0.5);
}
.scn-cleopatra-defiance .dagger {
  position: absolute; bottom: 30%; left: 35%; width: 3px; height: 25px;
  background: linear-gradient(180deg, #c0b080 0%, #8a7a5a 100%);
  border-radius: 2px;
  transform: rotate(-45deg);
  animation: cd-dagger 2s ease-in-out infinite;
  box-shadow: 0 0 4px rgba(192,176,128,0.3);
}
.scn-cleopatra-defiance .guard {
  position: absolute; bottom: 18%; right: 20%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #3a4a5a 0%, #1a2a3a 100%);
  border-radius: 40% 40% 30% 30% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: cd-guard 4s ease-in-out infinite -1s;
  box-shadow: -4px 0 6px rgba(0,0,0,0.4);
}
.scn-cleopatra-defiance .light-shaft {
  position: absolute; top: 0; left: 30%; width: 40%; height: 60%;
  background: linear-gradient(180deg, rgba(255,200,150,0.08) 0%, transparent 100%);
  clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%);
  animation: cd-light 8s ease-in-out infinite alternate;
}
.scn-cleopatra-defiance .pillar {
  position: absolute; bottom: 0; left: 10%; width: 12px; height: 80%;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 4px;
  box-shadow: 4px 0 8px rgba(0,0,0,0.3);
}
.scn-cleopatra-defiance .shadow-fall {
  position: absolute; top: 10%; left: 20%; width: 60%; height: 50%;
  background: linear-gradient(180deg, rgba(0,0,0,0.4) 0%, transparent 100%);
  clip-path: polygon(0% 0%, 100% 0%, 70% 100%, 30% 100%);
  animation: cd-shadow 5s ease-in-out infinite alternate;
}
@keyframes cd-defiant { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-3px) rotate(2deg); } 50% { transform: translateX(2px) rotate(-1deg) scale(1.02); } 75% { transform: translateX(-1px) rotate(3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes cd-dagger { 0% { transform: rotate(-45deg) translate(0,0); } 50% { transform: rotate(-40deg) translate(2px,-4px); } 100% { transform: rotate(-50deg) translate(-2px,2px); } }
@keyframes cd-guard { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-4px) rotate(2deg); } 100% { transform: translateX(2px) rotate(-2deg); } }
@keyframes cd-light { 0% { opacity: 0.3; } 50% { opacity: 0.6; } 100% { opacity: 0.2; } }
@keyframes cd-shadow { 0% { opacity: 0.2; transform: scaleY(1); } 50% { opacity: 0.5; transform: scaleY(1.1); } 100% { opacity: 0.3; transform: scaleY(0.9); } }

/* Scene 4: cleopatra-false-inventory (tense, bright-interior) */
.scn-cleopatra-false-inventory {
  background:
    linear-gradient(180deg, #f0e0c0 0%, #d0b890 40%, #b09870 100%),
    radial-gradient(ellipse at 70% 40%, #fff8e0 0%, transparent 50%);
}
.scn-cleopatra-false-inventory .palace-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #c8b890 0%, #a08868 100%);
  border-radius: 10% 10% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.1);
}
.scn-cleopatra-false-inventory .throne {
  position: absolute; bottom: 20%; left: 30%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #c8a868 0%, #8a6838 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: cfi-throne 12s ease-in-out infinite alternate;
}
.scn-cleopatra-false-inventory .cleopatra-kneeling {
  position: absolute; bottom: 15%; left: 35%; width: 26px; height: 55px;
  background: linear-gradient(180deg, #b87878 0%, #5e1a1d 50%, #2a0a0a 100%);
  border-radius: 40% 40% 30% 30% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: cfi-kneel 4s ease-in-out infinite;
  box-shadow: -2px 0 6px rgba(0,0,0,0.3);
}
.scn-cleopatra-false-inventory .caesar-standing {
  position: absolute; bottom: 15%; right: 25%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #5a5a6a 0%, #3a3a4a 100%);
  border-radius: 45% 45% 35% 35% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cfi-caesar 5s ease-in-out infinite -1s;
  box-shadow: 2px 0 8px rgba(0,0,0,0.3);
}
.scn-cleopatra-false-inventory .treasure-chest {
  position: absolute; bottom: 22%; left: 50%; width: 50px; height: 30px;
  background: linear-gradient(180deg, #a08060 0%, #706040 100%);
  border-radius: 10% 10% 5% 5% / 20% 20% 10% 10%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: cfi-chest 8s ease-in-out infinite;
}
.scn-cleopatra-false-inventory .seleucus {
  position: absolute; bottom: 12%; left: 20%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #4a5a4a 0%, #2a3a2a 100%);
  border-radius: 40% 40% 30% 30% / 55% 55% 40% 40%;
  animation: cfi-seleucus 3.5s ease-in-out infinite -0.8s;
}
.scn-cleopatra-false-inventory .scroll {
  position: absolute; bottom: 35%; left: 45%; width: 14px; height: 20px;
  background: linear-gradient(180deg, #e8d8b8 0%, #d0c0a0 100%);
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  transform: rotate(15deg);
  animation: cfi-scroll 6s ease-in-out infinite alternate;
}
.scn-cleopatra-false-inventory .candle {
  position: absolute; bottom: 40%; right: 15%; width: 6px; height: 18px;
  background: linear-gradient(180deg, #f0e0c0 0%, #d0c0a0 100%);
  border-radius: 3px;
}
.scn-cleopatra-false-inventory .candle::after {
  content: '';
  position: absolute; top: -6px; left: 50%; transform: translateX(-50%);
  width: 4px; height: 6px;
  background: radial-gradient(circle, #ffd060 0%, #ff8020 80%);
  border-radius: 50%;
  box-shadow: 0 0 12px 6px rgba(255,208,96,0.4);
  animation: cfi-flame 2s ease-in-out infinite alternate;
}
@keyframes cfi-throne { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(0.98); } }
@keyframes cfi-kneel { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(-2px) rotate(2deg); } 60% { transform: translateX(3px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes cfi-caesar { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(1px) rotate(-1deg); } 50% { transform: translateX(-1px) rotate(0.5deg); } 75% { transform: translateX(2px) rotate(-0.5deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes cfi-chest { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes cfi-seleucus { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-4px) rotate(3deg); } 100% { transform: translateX(2px) rotate(-2deg); } }
@keyframes cfi-scroll { 0% { transform: rotate(15deg) scaleX(1); } 50% { transform: rotate(10deg) scaleX(0.95); } 100% { transform: rotate(20deg) scaleX(1.05); } }
@keyframes cfi-flame { 0% { transform: translateX(-50%) scaleY(1); opacity: 0.9; } 50% { transform: translateX(-50%) scaleY(1.2) translateY(-1px); opacity: 1; } 100% { transform: translateX(-50%) scaleY(0.8) translateY(1px); opacity: 0.8; } }

.scn-antony-sea-battle-decision {
  background: 
    radial-gradient(ellipse 60% 80% at 20% 90%, #2a1a3a 0%, transparent 70%),
    linear-gradient(180deg, #0e0e1e 0%, #1a1528 40%, #2a2038 80%, #1a1528 100%);
}
.scn-antony-sea-battle-decision .bg-wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(0deg, #2a2038 0%, #1a1528 60%, #0e0e1e 100%);
  border-radius: 0 0 20% 20% / 0 0 10% 10%;
  animation: asd-wall-pulse 18s ease-in-out infinite alternate;
}
.scn-antony-sea-battle-decision .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(0deg, #1a1220 0%, #2a1e32 40%, #3a2a44 100%);
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.6);
}
.scn-antony-sea-battle-decision .table {
  position: absolute; bottom: 28%; left: 50%; width: 120px; height: 18px;
  transform: translateX(-50%);
  background: linear-gradient(0deg, #4a3a2a 0%, #6a5040 100%);
  border-radius: 4px;
  box-shadow: 0 8px 16px rgba(0,0,0,0.5);
  animation: asd-table-bob 9s ease-in-out infinite;
}
.scn-antony-sea-battle-decision .map {
  position: absolute; bottom: 34%; left: 50%; width: 80px; height: 50px;
  transform: translateX(-50%) rotate(-2deg);
  background: linear-gradient(135deg, #8a7a5a 0%, #b8aa8a 50%, #8a7a5a 100%);
  border-radius: 2px;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.3);
  animation: asd-map-shift 12s ease-in-out infinite alternate;
}
.scn-antony-sea-battle-decision .anton-figure {
  position: absolute; bottom: 24%; left: 44%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1e 60%, #0a0a14 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: asd-anton-gesture 4s ease-in-out infinite;
}
.scn-antony-sea-battle-decision .envoy-figure {
  position: absolute; bottom: 26%; left: 56%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #2a1a2a 0%, #1a0e1a 100%);
  border-radius: 40% 40% 35% 35% / 50% 50% 35% 35%;
  transform-origin: bottom center;
  animation: asd-envoy-bow 5s ease-in-out infinite;
  animation-delay: 1s;
}
.scn-antony-sea-battle-decision .lamp-glow {
  position: absolute; bottom: 42%; left: 30%; width: 60px; height: 60px;
  background: radial-gradient(circle, rgba(224,200,140,0.4) 0%, transparent 70%);
  border-radius: 50%;
  animation: asd-lamp-pulse 3s ease-in-out infinite alternate;
}
.scn-antony-sea-battle-decision .lamp-body {
  position: absolute; bottom: 42%; left: 30%; width: 16px; height: 24px;
  transform: translateX(22px);
  background: linear-gradient(180deg, #6a5a3a 0%, #3a2a1a 100%);
  border-radius: 4px 4px 8% 8%;
  box-shadow: 0 0 20px 6px rgba(224,200,140,0.3);
}
.scn-antony-sea-battle-decision .shadow-band {
  position: absolute; bottom: 0; left: 10%; right: 10%; height: 12%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.7) 100%);
  border-radius: 50% 50% 0 0;
}
@keyframes asd-wall-pulse { 0%,100% { opacity: 0.9 } 50% { opacity: 1 } }
@keyframes asd-table-bob { 0%,100% { transform: translateX(-50%) translateY(0) } 50% { transform: translateX(-50%) translateY(-2px) } }
@keyframes asd-map-shift { 0% { transform: translateX(-50%) rotate(-3deg) } 50% { transform: translateX(-50%) rotate(1deg) scale(1.02) } 100% { transform: translateX(-50%) rotate(-3deg) } }
@keyframes asd-anton-gesture { 0% { transform: rotate(0) } 25% { transform: rotate(4deg) } 50% { transform: rotate(-2deg) } 75% { transform: rotate(3deg) } 100% { transform: rotate(0) } }
@keyframes asd-envoy-bow { 0%,100% { transform: rotate(0) scaleY(1) } 20% { transform: rotate(-10deg) scaleY(0.9) } 40% { transform: rotate(0) scaleY(1) } }
@keyframes asd-lamp-pulse { 0% { opacity: 0.5 } 100% { opacity: 0.9 } }

.scn-caesar-battle-order {
  background:
    linear-gradient(180deg, #c8d8e8 0%, #e8e8c8 30%, #d8b878 60%, #c8a868 100%),
    radial-gradient(ellipse 80% 60% at 30% 20%, #f0e8d0 0%, transparent 70%);
}
.scn-caesar-battle-order .sky-blaze {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #e8d8b8 0%, #c8c8d8 40%, #a8b8c8 100%);
  animation: cbo-sky 20s ease-in-out infinite alternate;
}
.scn-caesar-battle-order .hills {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #8a9a5a 0%, #6a7a3a 100%);
  border-radius: 60% 40% 0 0 / 80% 70% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.3);
  animation: cbo-hills-sway 14s ease-in-out infinite alternate;
}
.scn-caesar-battle-order .caesar-fig {
  position: absolute; bottom: 28%; left: 40%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a14 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: cbo-caesar-arm 3s ease-in-out infinite;
}
.scn-caesar-battle-order .banner-staff {
  position: absolute; bottom: 28%; left: 42%; width: 4px; height: 60px;
  background: linear-gradient(0deg, #3a2a1a 0%, #5a3a1a 100%);
  transform: rotate(5deg);
  transform-origin: bottom center;
  animation: cbo-banner-wave 5s ease-in-out infinite;
}
.scn-caesar-battle-order .banner-fabric {
  position: absolute; bottom: 52%; left: 42%; width: 36px; height: 22px;
  background: linear-gradient(135deg, #a03020 0%, #c85030 40%, #a03020 100%);
  border-radius: 0 50% 40% 0 / 0 80% 60% 0;
  transform-origin: left center;
  animation: cbo-banner-flap 2s ease-in-out infinite alternate;
}
.scn-caesar-battle-order .soldier-row {
  position: absolute; bottom: 28%; left: 48%; width: 80px; height: 40px;
  background: repeating-linear-gradient(
    90deg,
    transparent 0px, transparent 4px,
    #1a1a2a 4px, #1a1a2a 8px,
    transparent 8px, transparent 12px
  );
  background-size: 12px 100%;
  clip-path: polygon(0% 100%, 100% 100%, 80% 0%, 20% 0%);
  animation: cbo-soldier-drift 6s ease-in-out infinite;
}
.scn-caesar-battle-order .sun-disk {
  position: absolute; top: 12%; right: 18%; width: 50px; height: 50px;
  background: radial-gradient(circle, #f0e0c0 0%, #d8b878 50%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px rgba(200,160,80,0.4);
  animation: cbo-sun-pulse 8s ease-in-out infinite alternate;
}
.scn-caesar-battle-order .dust-cloud {
  position: absolute; bottom: 25%; left: 20%; width: 120px; height: 30px;
  background: radial-gradient(ellipse, rgba(180,160,120,0.4) 0%, transparent 80%);
  filter: blur(8px);
  animation: cbo-dust-drift 30s linear infinite;
}
@keyframes cbo-sky { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes cbo-hills-sway { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(0) } }
@keyframes cbo-caesar-arm { 0%,100% { transform: rotate(-5deg) } 50% { transform: rotate(5deg) } }
@keyframes cbo-banner-wave { 0% { transform: rotate(4deg) } 50% { transform: rotate(-6deg) } 100% { transform: rotate(4deg) } }
@keyframes cbo-banner-flap { 0% { transform: scaleX(1) } 100% { transform: scaleX(0.8) rotateY(10deg) } }
@keyframes cbo-soldier-drift { 0% { transform: translateX(0) } 50% { transform: translateX(6px) } 100% { transform: translateX(0) } }
@keyframes cbo-sun-pulse { 0% { opacity: 0.7 } 100% { opacity: 1 } }
@keyframes cbo-dust-drift { 0% { transform: translateX(-60px) } 100% { transform: translateX(120vw) } }

.scn-antony-desolation {
  background:
    radial-gradient(ellipse 70% 80% at 30% 20%, #1e1a2e 0%, transparent 80%),
    linear-gradient(180deg, #0a0a18 0%, #141020 40%, #1a1428 80%, #0a0a18 100%);
}
.scn-antony-desolation .night-sky {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #0e0e1a 0%, #1a1428 50%, #2a2038 100%);
  animation: ade-sky-breath 15s ease-in-out infinite alternate;
}
.scn-antony-desolation .cloud-veil {
  position: absolute; top: 8%; left: 10%; width: 180px; height: 40px;
  background: radial-gradient(ellipse, rgba(220,200,180,0.08) 0%, transparent 80%);
  filter: blur(12px);
  animation: ade-dissolve 25s ease-in-out infinite alternate;
}
.scn-antony-desolation .pillar-left {
  position: absolute; bottom: 0; left: 12%; width: 16px; height: 70%;
  background: linear-gradient(90deg, #2a1a2a 0%, #3a2a3a 40%, #2a1a2a 100%);
  border-radius: 2px;
  box-shadow: inset -4px 0 8px rgba(0,0,0,0.5);
  animation: ade-column-shade 10s ease-in-out infinite alternate;
}
.scn-antony-desolation .pillar-right {
  position: absolute; bottom: 0; right: 12%; width: 16px; height: 70%;
  background: linear-gradient(90deg, #2a1a2a 0%, #3a2a3a 40%, #2a1a2a 100%);
  border-radius: 2px;
  box-shadow: inset -4px 0 8px rgba(0,0,0,0.5);
  animation: ade-column-shade 10s ease-in-out infinite alternate-reverse;
}
.scn-antony-desolation .anton-shadow {
  position: absolute; bottom: 22%; left: 44%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #0a0a14 0%, #0e0e1a 50%, #1a1428 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: ade-anton-collapse 6s ease-in-out infinite;
}
.scn-antony-desolation .lamp-halo {
  position: absolute; bottom: 30%; left: 50%; width: 80px; height: 80px;
  background: radial-gradient(circle, rgba(200,180,140,0.15) 0%, transparent 70%);
  border-radius: 50%;
  transform: translateX(-50%);
  animation: ade-lamp-flicker 4s ease-in-out infinite alternate;
}
.scn-antony-desolation .lamp-flame {
  position: absolute; bottom: 34%; left: 50%; width: 8px; height: 18px;
  background: linear-gradient(180deg, #e0c060 0%, #c08030 60%, #a06020 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform: translateX(-50%);
  box-shadow: 0 0 16px 4px rgba(200,160,80,0.5);
  animation: ade-flame-dance 2s ease-in-out infinite;
}
.scn-antony-desolation .floor-plane {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(0deg, #0a0a14 0%, #141020 50%, #1a1428 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.7);
}
@keyframes ade-sky-breath { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.7 } }
@keyframes ade-dissolve { 0% { transform: translateX(0) scale(1); opacity: 0.3 } 50% { transform: translateX(10px) scale(1.05); opacity: 0.6 } 100% { transform: translateX(-10px) scale(0.95); opacity: 0.3 } }
@keyframes ade-column-shade { 0% { opacity: 0.8 } 100% { opacity: 1 } }
@keyframes ade-anton-collapse { 0%,100% { transform: rotate(0) } 25% { transform: rotate(-8deg) scaleY(0.95) } 50% { transform: rotate(4deg) scaleY(1) } 75% { transform: rotate(-4deg) scaleY(0.98) } }
@keyframes ade-lamp-flicker { 0% { opacity: 0.5; transform: translateX(-50%) scale(1) } 100% { opacity: 0.9; transform: translateX(-50%) scale(1.1) } }
@keyframes ade-flame-dance { 0%,100% { transform: translateX(-50%) rotate(-3deg) } 50% { transform: translateX(-50%) rotate(3deg) scaleY(1.05) } }

.scn-eros-suicide {
  background:
    radial-gradient(ellipse 80% 60% at 50% 80%, #2a2030 0%, transparent 70%),
    linear-gradient(180deg, #0e0e1e 0%, #1a1428 40%, #2a1e32 80%, #1a1428 100%);
}
.scn-eros-suicide .room-back {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(0deg, #1a1428 0%, #2a2038 40%, #3a2a44 100%);
  border-radius: 0 0 15% 15%;
  animation: esu-room-pulse 20s ease-in-out infinite alternate;
}
.scn-eros-suicide .floor-dark {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #0a0a14 0%, #1a1220 50%, #2a1a2a 100%);
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.6);
  animation: esu-floor-shimmer 12s ease-in-out infinite alternate;
}
.scn-eros-suicide .eros-fallen {
  position: absolute; bottom: 18%; left: 38%; width: 28px; height: 50px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 70%, #0a0a14 100%);
  border-radius: 40% 40% 35% 35% / 50% 50% 35% 35%;
  transform: rotate(-60deg);
  transform-origin: bottom right;
  animation: esu-eros-fall 0s linear 1s; /* static after initial fall, but we need keyframes for multi-stop? Actually not required, but for non-animated just use a static shape? Better to give a slow breathing to imply life fading. */
  animation: esu-eros-sink 6s ease-in-out infinite alternate;
}
.scn-eros-suicide .sword-drop {
  position: absolute; bottom: 16%; left: 42%; width: 4px; height: 30px;
  background: linear-gradient(0deg, #6a6a7a 0%, #8a8a9a 40%, #6a6a7a 100%);
  transform: rotate(25deg);
  transform-origin: bottom center;
  box-shadow: 0 0 4px rgba(200,200,220,0.2);
  animation: esu-sword-glint 4s ease-in-out infinite;
}
.scn-eros-suicide .anton-fig {
  position: absolute; bottom: 20%; right: 38%; width: 26px; height: 55px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1e 60%, #0a0a14 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: esu-anton-reach 5s ease-in-out infinite;
}
.scn-eros-suicide .lamp-bracket {
  position: absolute; bottom: 50%; left: 50%; width: 8px; height: 20px;
  background: linear-gradient(0deg, #3a2a1a 0%, #5a3a1a 100%);
  transform: translateX(-50%);
  border-radius: 2px;
}
.scn-eros-suicide .lamp-glow {
  position: absolute; bottom: 50%; left: 50%; width: 80px; height: 80px;
  background: radial-gradient(circle, rgba(180,150,100,0.2) 0%, transparent 70%);
  transform: translate(-50%, -10px);
  border-radius: 50%;
  animation: esu-lamp-pulse 3s ease-in-out infinite alternate;
}
.scn-eros-suicide .curtain-left {
  position: absolute; bottom: 0; left: 0; width: 18%; height: 70%;
  background: linear-gradient(180deg, #2a1a2a 0%, #1a0e1a 50%, #0e0a0e 100%);
  border-radius: 0 30% 0 0 / 0 20% 0 0;
  box-shadow: inset -8px 0 12px rgba(0,0,0,0.5);
  animation: esu-curtain-drift 8s ease-in-out infinite alternate;
}
.scn-eros-suicide .curtain-right {
  position: absolute; bottom: 0; right: 0; width: 18%; height: 70%;
  background: linear-gradient(180deg, #2a1a2a 0%, #1a0e1a 50%, #0e0a0e 100%);
  border-radius: 30% 0 0 0 / 20% 0 0 0;
  box-shadow: inset 8px 0 12px rgba(0,0,0,0.5);
  animation: esu-curtain-drift 8s ease-in-out infinite alternate-reverse;
}
@keyframes esu-room-pulse { 0% { opacity: 0.7 } 50% { opacity: 0.9 } 100% { opacity: 0.8 } }
@keyframes esu-floor-shimmer { 0% { opacity: 0.8 } 100% { opacity: 1 } }
@keyframes esu-eros-sink { 0%,100% { transform: rotate(-60deg) translateY(0) } 50% { transform: rotate(-60deg) translateY(4px) } }
@keyframes esu-sword-glint { 0%,100% { opacity: 0.6 } 50% { opacity: 1 } }
@keyframes esu-anton-reach { 0%,100% { transform: rotate(0) } 25% { transform: rotate(10deg) translateY(-4px) } 50% { transform: rotate(-5deg) translateY(2px) } 75% { transform: rotate(5deg) translateY(-2px) } }
@keyframes esu-lamp-pulse { 0% { opacity: 0.4 } 100% { opacity: 0.8 } }
@keyframes esu-curtain-drift { 0% { transform: scaleY(1) } 100% { transform: scaleY(1.02) } }
/* end per-scene blocks */
