/* 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) */
/* do-not-blame-all-desire */
.scn-do-not-blame-all-desire {
  background:
    linear-gradient(180deg, #f5e6d0 0%, #e8d4b8 30%, #d4c0a0 100%),
    radial-gradient(ellipse at 60% 30%, #fff8e8 0%, transparent 70%);
}
.scn-do-not-blame-all-desire .room-wall { position:absolute; inset:0; background: linear-gradient(180deg, #f0e0c8 0%, #d4c0a0 100%); }
.scn-do-not-blame-all-desire .window   { position:absolute; top:15%; left:55%; width:30%; height:40%; background: linear-gradient(180deg, #b0d8f0 0%, #8ab8d8 100%); border:6px solid #8a6a4a; border-radius:4px; box-shadow: inset 0 0 20px rgba(255,255,200,0.3); }
.scn-do-not-blame-all-desire .desk     { position:absolute; bottom:20%; left:30%; width:40%; height:8%; background: linear-gradient(180deg, #a07050 0%, #7a5030 100%); border-radius:2px; box-shadow: 0 4px 8px rgba(0,0,0,0.2); }
.scn-do-not-blame-all-desire .book     { position:absolute; bottom:27%; left:38%; width:10%; height:14%; background: linear-gradient(180deg, #c0a070 0%, #a08050 100%); border-radius:2px; transform:rotate(-5deg); box-shadow: 2px 2px 6px rgba(0,0,0,0.15); animation: dbd-book 6s ease-in-out infinite; }
.scn-do-not-blame-all-desire .figure-sitting { position:absolute; bottom:22%; left:45%; width:14%; height:35%; background: linear-gradient(180deg, #c8b090 0%, #a08060 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dbd-sit 8s ease-in-out infinite; }
.scn-do-not-blame-all-desire .sunbeam  { position:absolute; top:0%; left:50%; width:20%; height:60%; background: linear-gradient(180deg, rgba(255,240,200,0.4) 0%, transparent 100%); transform:skewX(-10deg); filter:blur(8px); animation: dbd-beam 12s ease-in-out infinite alternate; }
@keyframes dbd-book { 0%,100% { transform:rotate(-5deg) translateY(0); } 50% { transform:rotate(-7deg) translateY(-2px); } }
@keyframes dbd-sit { 0%,100% { transform:translateX(0) translateY(0) rotate(0); } 50% { transform:translateX(4px) translateY(-3px) rotate(1deg); } }
@keyframes dbd-beam { 0% { opacity:0.6; transform:skewX(-10deg) scaleX(1); } 50% { opacity:0.9; transform:skewX(-5deg) scaleX(1.1); } 100% { opacity:0.5; transform:skewX(-12deg) scaleX(0.9); } }

/* music-from-sharps-flats */
.scn-music-from-sharps-flats {
  background:
    linear-gradient(180deg, #fdf4e2 0%, #efe0c8 40%, #d8c8b0 100%),
    radial-gradient(ellipse at 70% 20%, #fff8ec 0%, transparent 60%);
}
.scn-music-from-sharps-flats .bg-wall     { position:absolute; inset:0; background: linear-gradient(180deg, #f8ecd8 0%, #d8c0a0 100%); }
.scn-music-from-sharps-flats .harp-frame  { position:absolute; bottom:20%; left:30%; width:20%; height:55%; background: linear-gradient(180deg, #b09070 0%, #8a6a50 100%); border-radius: 40% 40% 10% 10% / 60% 60% 20% 20%; box-shadow: 0 8px 16px rgba(0,0,0,0.2); }
.scn-music-from-sharps-flats .harp-strings{ position:absolute; bottom:22%; left:34%; width:12%; height:50%; background: repeating-linear-gradient(90deg, #705030 0px, #705030 1px, transparent 1px, transparent 4px); animation: msf-strings 3s ease-in-out infinite alternate; }
.scn-music-from-sharps-flats .sheet-music { position:absolute; bottom:15%; left:55%; width:18%; height:20%; background: linear-gradient(180deg, #f0e8d8 0%, #ddd0b8 100%); border-radius:2px; transform:rotate(-3deg); box-shadow: 2px 2px 8px rgba(0,0,0,0.15); }
.scn-music-from-sharps-flats .note-a      { position:absolute; bottom:32%; left:60%; width:4%; height:6%; background: #3a2a1a; border-radius:50%; box-shadow: 0 4px 0 #3a2a1a, 0 0 8px rgba(0,0,0,0.2); animation: msf-note-a 4s ease-in-out infinite; }
.scn-music-from-sharps-flats .note-b      { position:absolute; bottom:25%; left:65%; width:4%; height:6%; background: #3a2a1a; border-radius:50%; box-shadow: 0 4px 0 #3a2a1a, 0 0 8px rgba(0,0,0,0.2); animation: msf-note-b 5s ease-in-out infinite 1s; }
.scn-music-from-sharps-flats .sun-ray     { position:absolute; top:5%; left:60%; width:25%; height:40%; background: linear-gradient(180deg, rgba(255,245,200,0.3) 0%, transparent 100%); transform:rotate(15deg); filter:blur(6px); animation: msf-ray 14s ease-in-out infinite alternate; }
@keyframes msf-strings { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes msf-note-a { 0%,100% { transform:translateY(0) scale(1); } 50% { transform:translateY(-6px) scale(1.1); } }
@keyframes msf-note-b { 0%,100% { transform:translateY(0) scale(1); } 50% { transform:translateY(-4px) scale(0.9); } }
@keyframes msf-ray { 0% { opacity:0.4; transform:rotate(15deg) scaleY(1); } 50% { opacity:0.8; transform:rotate(10deg) scaleY(1.2); } 100% { opacity:0.3; transform:rotate(18deg) scaleY(0.8); } }

/* excessive-grief-fear-joy */
.scn-excessive-grief-fear-joy {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 40%, #1a1a2e 100%),
    radial-gradient(ellipse at 40% 40%, #3a3a5e 0%, transparent 80%);
}
.scn-excessive-grief-fear-joy .dark-room     { position:absolute; inset:0; background: linear-gradient(180deg, #12121e 0%, #1e1e30 100%); }
.scn-excessive-grief-fear-joy .lamp          { position:absolute; bottom:35%; left:45%; width:8%; height:18%; background: linear-gradient(180deg, #6a5030 0%, #3a2818 100%); border-radius: 20% 20% 40% 40%; transform:rotate(5deg); }
.scn-excessive-grief-fear-joy .lamp-glow     { position:absolute; bottom:32%; left:43%; width:12%; height:20%; background: radial-gradient(circle, rgba(255,180,80,0.5) 0%, transparent 70%); animation: egf-glow 3s ease-in-out infinite alternate; }
.scn-excessive-grief-fear-joy .figure-standing{ position:absolute; bottom:15%; left:50%; width:12%; height:45%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: egf-stand 5s ease-in-out infinite; }
.scn-excessive-grief-fear-joy .shadow        { position:absolute; bottom:10%; left:46%; width:20%; height:5%; background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 80%); animation: egf-shadow 6s ease-in-out infinite; }
.scn-excessive-grief-fear-joy .flame         { position:absolute; bottom:46%; left:47%; width:5%; height:8%; background: radial-gradient(circle, #ffc060 0%, #ff8020 50%, transparent 100%); animation: egf-flame 2s ease-in-out infinite; }
@keyframes egf-glow { 0% { opacity:0.6; transform:scale(1); } 50% { opacity:1; transform:scale(1.2); } 100% { opacity:0.7; transform:scale(0.9); } }
@keyframes egf-stand { 0%,100% { transform:translateX(0) translateY(0); } 50% { transform:translateX(3px) translateY(-4px); } }
@keyframes egf-shadow { 0%,100% { opacity:0.6; transform:scaleX(1); } 50% { opacity:1; transform:scaleX(1.3); } }
@keyframes egf-flame { 0%,100% { transform:scale(1) rotate(0); } 50% { transform:scale(1.1) rotate(5deg); } }

/* reason-duller-without-passion */
.scn-reason-duller-without-passion {
  background:
    linear-gradient(180deg, #e8dcc0 0%, #d0c0a0 40%, #b8a080 100%),
    radial-gradient(ellipse at 30% 50%, #f0e8d0 0%, transparent 70%);
}
.scn-reason-duller-without-passion .cabin-wall  { position:absolute; inset:0; background: linear-gradient(180deg, #d8c8a8 0%, #b8a080 100%); }
.scn-reason-duller-without-passion .porthole    { position:absolute; top:25%; left:10%; width:20%; height:25%; border-radius:50%; background: radial-gradient(circle, #80a8c0 0%, #407090 100%); border:8px solid #5a4a3a; box-shadow: inset 0 0 30px rgba(0,0,0,0.3); overflow:hidden; }
.scn-reason-duller-without-passion .wheel       { position:absolute; bottom:30%; left:50%; width:18%; height:25%; background: transparent; border:6px solid #5a3a2a; border-radius:50%; transform:translateX(-50%); box-shadow: 0 0 0 4px #3a2a1a; animation: rdp-wheel 12s linear infinite; }
.scn-reason-duller-without-passion .pilot       { position:absolute; bottom:18%; left:48%; width:14%; height:40%; background: linear-gradient(180deg, #b8a080 0%, #8a6a50 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: rdp-pilot 6s ease-in-out infinite; }
.scn-reason-duller-without-passion .chart       { position:absolute; bottom:15%; left:65%; width:15%; height:20%; background: linear-gradient(180deg, #f0e8d0 0%, #d8c8a8 100%); border-radius:2px; transform:rotate(-8deg); box-shadow: 2px 2px 6px rgba(0,0,0,0.2); animation: rdp-chart 8s ease-in-out infinite; }
.scn-reason-duller-without-passion .compass     { position:absolute; bottom:25%; left:15%; width:8%; height:10%; background: radial-gradient(circle, #c0a080 0%, #8a6a50 100%); border-radius:50%; box-shadow: 0 0 10px rgba(0,0,0,0.3); animation: rdp-compass 4s ease-in-out infinite; }
.scn-reason-duller-without-passion .sea-outside { position:absolute; top:28%; left:12%; width:16%; height:20%; border-radius:50%; background: linear-gradient(180deg, #5090b0 0%, #306080 100%); opacity:0.6; animation: rdp-sea 7s ease-in-out infinite alternate; }
@keyframes rdp-wheel { 0% { transform:translateX(-50%) rotate(0deg); } 100% { transform:translateX(-50%) rotate(360deg); } }
@keyframes rdp-pilot { 0%,100% { transform:translateX(0) translateY(0) rotate(0); } 50% { transform:translateX(2px) translateY(-3px) rotate(1deg); } }
@keyframes rdp-chart { 0%,100% { transform:rotate(-8deg) scale(1); } 50% { transform:rotate(-6deg) scale(1.02); } }
@keyframes rdp-compass { 0%,100% { transform:rotate(-10deg); } 50% { transform:rotate(10deg); } }
@keyframes rdp-sea { 0% { opacity:0.5; transform:scale(1); } 50% { opacity:0.8; transform:scale(1.05); } 100% { opacity:0.4; transform:scale(0.95); } }

.scn-sun-beats-north-wind { background: linear-gradient(180deg, #87CEEB 0%, #f5e6b3 40%, #d4a76a 100%), radial-gradient(ellipse at 50% 0%, #fff7d6 0%, transparent 70%); }
.scn-sun-beats-north-wind .sky-glow { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #f9e08a 0%, transparent 100%); animation: sbnw-sky 10s ease-in-out infinite alternate; }
.scn-sun-beats-north-wind .sun { position:absolute; top:15%; left:70%; width:60px; height:60px; background: radial-gradient(circle, #fff2b0 0%, #f0c060 50%, transparent 70%); border-radius:50%; box-shadow: 0 0 40px 15px #ffd870; animation: sbnw-sun 12s ease-in-out infinite alternate; }
.scn-sun-beats-north-wind .rays { position:absolute; top:15%; left:70%; width:60px; height:60px; background:transparent; border-radius:50%; box-shadow: 0 0 60px 30px rgba(255,200,80,0.3); animation: sbnw-rays 4s ease-in-out infinite; }
.scn-sun-beats-north-wind .ray-1 { animation: sbnw-rays 4s ease-in-out infinite; }
.scn-sun-beats-north-wind .ray-2 { animation: sbnw-rays 4.3s ease-in-out infinite 0.5s; }
.scn-sun-beats-north-wind .ray-3 { animation: sbnw-rays 4.6s ease-in-out infinite 1s; }
.scn-sun-beats-north-wind .ground { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #b89a5a 0%, #8a6e3a 100%); border-radius: 30% 70% 0 0 / 40% 60% 0 0; }
.scn-sun-beats-north-wind .figure-cloak { position:absolute; bottom:35%; left:45%; width:20px; height:50px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sbnw-walk 6s ease-in-out infinite; }
.scn-sun-beats-north-wind .cloak-flap { position:absolute; bottom:35%; left:48%; width:30px; height:40px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 60% 40% 50% 50% / 50% 60% 40% 50%; transform-origin: top left; animation: sbnw-flap 2s ease-in-out infinite alternate; }
@keyframes sbnw-sky { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes sbnw-sun { 0% { transform: scale(0.9); box-shadow: 0 0 30px 10px #ffd870 } 50% { transform: scale(1.1); box-shadow: 0 0 50px 20px #ffd870 } 100% { transform: scale(1); box-shadow: 0 0 40px 15px #ffd870 } }
@keyframes sbnw-rays { 0% { opacity:0.4; transform: scale(0.8) } 50% { opacity:0.8; transform: scale(1.2) } 100% { opacity:0.5; transform: scale(0.9) } }
@keyframes sbnw-walk { 0% { transform: translateX(-10px) translateY(0) rotate(-2deg) } 25% { transform: translateX(0) translateY(-2px) rotate(0deg) } 50% { transform: translateX(10px) translateY(0) rotate(2deg) } 75% { transform: translateX(20px) translateY(-1px) rotate(0deg) } 100% { transform: translateX(30px) translateY(0) rotate(-2deg) } }
@keyframes sbnw-flap { 0% { transform: rotate(-15deg) scaleX(1) } 100% { transform: rotate(15deg) scaleX(1.1) } }

.scn-cato-kiss-daughter { background: linear-gradient(180deg, #d4c8a8 0%, #c4b090 50%, #a89878 100%), radial-gradient(ellipse at 50% 100%, #bfa88a 0%, transparent 70%); }
.scn-cato-kiss-daughter .wall-left { position:absolute; top:0; left:0; width:30%; height:100%; background: linear-gradient(180deg, #9a8a6a 0%, #7a6a4a 100%); }
.scn-cato-kiss-daughter .wall-right { position:absolute; top:0; right:0; width:30%; height:100%; background: linear-gradient(180deg, #9a8a6a 0%, #7a6a4a 100%); }
.scn-cato-kiss-daughter .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%); }
.scn-cato-kiss-daughter .column { position:absolute; bottom:15%; width:12px; height:70%; background: linear-gradient(180deg, #b09878 0%, #887858 100%); border-radius:5px; box-shadow: 2px 0 8px rgba(0,0,0,0.3); }
.scn-cato-kiss-daughter .col-left { left:20%; }
.scn-cato-kiss-daughter .col-right { right:20%; }
.scn-cato-kiss-daughter .cato-fig { position:absolute; bottom:25%; left:35%; width:22px; height:60px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: ckd-cato 3s ease-in-out infinite alternate; }
.scn-cato-kiss-daughter .daughter-fig { position:absolute; bottom:25%; left:50%; width:18px; height:50px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; }
.scn-cato-kiss-daughter .kiss-man { position:absolute; bottom:25%; left:58%; width:20px; height:45px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom; animation: ckd-kiss 2s ease-in-out infinite alternate; }
.scn-cato-kiss-daughter .shadow-stripe { position:absolute; bottom:25%; left:30%; width:40%; height:8px; background: linear-gradient(90deg, transparent, rgba(0,0,0,0.3), transparent); animation: ckd-stripe 4s ease-in-out infinite; }
@keyframes ckd-cato { 0% { transform: rotate(-3deg) translateX(0) } 100% { transform: rotate(3deg) translateX(5px) } }
@keyframes ckd-kiss { 0% { transform: rotate(5deg) translateX(0) scaleY(1) } 100% { transform: rotate(-5deg) translateX(-8px) scaleY(0.95) } }
@keyframes ckd-stripe { 0% { opacity:0.3; transform: translateX(-10px) } 50% { opacity:0.7; transform: translateX(10px) } 100% { opacity:0.3; transform: translateX(-10px) } }

.scn-mirror-without-likeness { background: linear-gradient(180deg, #f0d8b8 0%, #e0c8a0 40%, #c0a880 100%), radial-gradient(ellipse at 50% 30%, #ffe8c0 0%, transparent 60%); }
.scn-mirror-without-likeness .wall-bg { position:absolute; inset:0; background: linear-gradient(180deg, #e8d0b0 0%, #d4b898 100%); }
.scn-mirror-without-likeness .mirror-frame { position:absolute; top:10%; left:40%; width:120px; height:160px; background: linear-gradient(180deg, #c8a060 0%, #a08040 100%); border-radius: 5% 5% 10% 10%; box-shadow: 0 0 20px rgba(0,0,0,0.3) inset; }
.scn-mirror-without-likeness .mirror-glass { position:absolute; top:13%; left:43%; width:94px; height:140px; background: linear-gradient(180deg, #d8c8b0 0%, #b8a888 100%); border-radius: 3% 3% 8% 8%; box-shadow: 0 0 15px rgba(255,255,200,0.4); }
.scn-mirror-without-likeness .woman-fig { position:absolute; bottom:18%; left:42%; width:24px; height:60px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: mwl-fig 6s ease-in-out infinite alternate; }
.scn-mirror-without-likeness .reflection { position:absolute; top:30%; left:46%; width:20px; height:50px; background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; filter: blur(1px); animation: mwl-reflect 6s ease-in-out infinite alternate; }
.scn-mirror-without-likeness .stand { position:absolute; bottom:12%; left:48%; width:8px; height:40px; background: linear-gradient(180deg, #a08050 0%, #806030 100%); }
.scn-mirror-without-likeness .glow-spot { position:absolute; top:20%; left:45%; width:30px; height:30px; background: radial-gradient(circle, #fff4d0 0%, transparent 100%); border-radius:50%; animation: mwl-glow 5s ease-in-out infinite alternate; }
@keyframes mwl-fig { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(8px) rotate(2deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes mwl-reflect { 0% { opacity:0.6; transform: translateX(0) scaleX(1) } 50% { opacity:0.8; transform: translateX(6px) scaleX(1.05) } 100% { opacity:0.6; transform: translateX(0) scaleX(1) } }
@keyframes mwl-glow { 0% { opacity:0.5; transform: scale(0.8) } 100% { opacity:1; transform: scale(1.2) } }

.scn-no-private-emotions { background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, #0a0a1a 100%), radial-gradient(ellipse at 50% 60%, #3a3a4a 0%, transparent 80%); }
.scn-no-private-emotions .room-back { position:absolute; inset:0; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); }
.scn-no-private-emotions .wall-line { position:absolute; top:40%; left:0; right:0; height:2px; background: linear-gradient(90deg, transparent, #4a4a5a, transparent); animation: npe-line 8s ease-in-out infinite; }
.scn-no-private-emotions .husband-fig { position:absolute; bottom:30%; left:40%; width:24px; height:60px; background: linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: npe-husb 10s ease-in-out infinite alternate; }
.scn-no-private-emotions .wife-fig { position:absolute; bottom:30%; left:50%; width:20px; height:55px; background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: npe-wife 10s ease-in-out infinite alternate; }
.scn-no-private-emotions .shadow-merge { position:absolute; bottom:28%; left:35%; width:30%; height:15px; background: linear-gradient(90deg, transparent, rgba(0,0,0,0.4), transparent); filter: blur(3px); animation: npe-shad 12s ease-in-out infinite; }
.scn-no-private-emotions .emotion-pulse { position:absolute; top:20%; left:45%; width:40px; height:40px; background: radial-gradient(circle, rgba(100,100,120,0.3) 0%, transparent 100%); border-radius:50%; animation: npe-pulse 6s ease-in-out infinite alternate; }
@keyframes npe-line { 0% { opacity:0.3 } 50% { opacity:0.6 } 100% { opacity:0.3 } }
@keyframes npe-husb { 0% { transform: rotate(-2deg) translateX(0) } 50% { transform: rotate(0deg) translateX(5px) } 100% { transform: rotate(2deg) translateX(0) } }
@keyframes npe-wife { 0% { transform: rotate(2deg) translateX(0) scaleY(1) } 50% { transform: rotate(0deg) translateX(-5px) scaleY(0.95) } 100% { transform: rotate(-2deg) translateX(0) scaleY(1) } }
@keyframes npe-shad { 0% { opacity:0.2; transform: translateX(-5px) } 50% { opacity:0.5; transform: translateX(5px) } 100% { opacity:0.2; transform: translateX(-5px) } }
@keyframes npe-pulse { 0% { opacity:0.3; transform: scale(0.8) } 100% { opacity:0.7; transform: scale(1.3) } }

/* vice-needs-no-fortune */
.scn-vice-needs-no-fortune {
  background: 
    radial-gradient(ellipse at 40% 60%, #2a1a0a 0%, transparent 60%),
    linear-gradient(180deg, #1a0a0a 0%, #0d0505 40%, #1a1005 100%);
}
.scn-vice-needs-no-fortune .wall-bg { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #3a2a1a 0%, #1a1005 100%); }
.scn-vice-needs-no-fortune .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #2a1a0a 0%, #0d0505 100%); box-shadow: inset 0 8px 20px rgba(0,0,0,.6); }
.scn-vice-needs-no-fortune .candle { position:absolute; bottom:22%; left:45%; width:12px; height:50px; background: linear-gradient(180deg, #d4a060 0%, #8a6020 100%); border-radius:2px; box-shadow: 0 0 10px 3px rgba(212,160,96,.3); }
.scn-vice-needs-no-fortune .flame { position:absolute; bottom:50%; left:45%; width:10px; height:20px; margin-left:-5px; background: radial-gradient(circle at 50% 90%, #ffcc80 0%, #ff8040 50%, transparent 100%); border-radius:50%; animation: vnf-flame 2s ease-in-out infinite alternate; filter: blur(1px); }
.scn-vice-needs-no-fortune .shadow-vice { position:absolute; bottom:25%; left:30%; width:50px; height:90px; background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.7) 0%, transparent 70%); border-radius:40% 40% 50% 50% / 60% 60% 40% 40%; transform-origin: bottom center; animation: vnf-shadows 6s ease-in-out infinite alternate; }
.scn-vice-needs-no-fortune .shadow-fortune { position:absolute; bottom:25%; right:30%; width:60px; height:80px; background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.5) 0%, transparent 70%); border-radius:50% 50% 30% 30% / 70% 70% 30% 30%; transform-origin: bottom center; animation: vnf-shadows 6s ease-in-out infinite alternate-reverse; }
.scn-vice-needs-no-fortune .motes-1 { position:absolute; top:40%; left:20%; width:3px; height:3px; background: rgba(255,200,150,.3); border-radius:50%; animation: vnf-drift-up 12s linear infinite; }
.scn-vice-needs-no-fortune .motes-2 { position:absolute; top:60%; right:30%; width:2px; height:2px; background: rgba(255,200,150,.2); border-radius:50%; animation: vnf-drift-up 20s linear infinite 5s; }
@keyframes vnf-flame { 0% { transform: scaleY(1) translateY(0); opacity:.9; } 50% { transform: scaleY(1.2) translateY(-2px); opacity:1; } 100% { transform: scaleY(0.9) translateY(0); opacity:.8; } }
@keyframes vnf-shadows { 0% { transform: translateX(0) scale(1); } 50% { transform: translateX(5px) scale(1.02); } 100% { transform: translateX(-3px) scale(0.98); } }
@keyframes vnf-drift-up { 0% { transform: translateY(0) scale(1); opacity:0; } 20% { opacity:0.4; } 80% { opacity:0.2; } 100% { transform: translateY(-40px) scale(0.5); opacity:0; } }

/* beginning-lost-treatise */
.scn-beginning-lost-treatise {
  background: 
    radial-gradient(ellipse at 50% 70%, #3a2a1a 0%, transparent 60%),
    linear-gradient(180deg, #2a1a0a 0%, #1a1005 50%, #0d0505 100%);
}
.scn-beginning-lost-treatise .wall-bg { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); }
.scn-beginning-lost-treatise .desk { position:absolute; bottom:15%; left:20%; right:20%; height:18%; background: linear-gradient(180deg, #6a5030 0%, #4a3820 100%); border-radius:4% 4% 0 0 / 10% 10% 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,.5); }
.scn-beginning-lost-treatise .book { position:absolute; bottom:22%; left:35%; width:40%; height:14%; background: linear-gradient(135deg, #7a6040 0%, #5a4020 50%, #3a2810 100%); border-radius:2px; transform: rotate(-2deg); box-shadow: 0 2px 8px rgba(0,0,0,.4); animation: blt-book 20s ease-in-out infinite; }
.scn-beginning-lost-treatise .candle { position:absolute; bottom:28%; left:45%; width:10px; height:55px; background: linear-gradient(180deg, #d4a060 0%, #8a6020 100%); border-radius:2px; box-shadow: 0 0 8px 2px rgba(212,160,96,.3); }
.scn-beginning-lost-treatise .flame { position:absolute; bottom:48%; left:45%; width:8px; height:18px; margin-left:-4px; background: radial-gradient(circle at 50% 80%, #ffd080 0%, #ff8040 50%, transparent 100%); border-radius:50%; filter: blur(1px); animation: blt-flame 2.5s ease-in-out infinite alternate; }
.scn-beginning-lost-treatise .inkwell { position:absolute; bottom:25%; left:38%; width:16px; height:18px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%); border-radius:50% 50% 30% 30% / 60% 60% 40% 40%; box-shadow: inset 0 -2px 4px rgba(255,255,255,.1); }
.scn-beginning-lost-treatise .quill { position:absolute; bottom:30%; left:42%; width:3px; height:40px; background: linear-gradient(180deg, #c0a080 0%, #806040 100%); border-radius:2px; transform: rotate(-20deg); transform-origin: bottom center; animation: blt-quill 4s ease-in-out infinite; }
@keyframes blt-book { 0%,100% { transform: rotate(-2deg) translateY(0); } 50% { transform: rotate(-1deg) translateY(-2px); } }
@keyframes blt-flame { 0% { transform: scaleY(1); opacity:.9; } 50% { transform: scaleY(1.3) translateY(-1px); opacity:1; } 100% { transform: scaleY(0.85); opacity:.8; } }
@keyframes blt-quill { 0%,100% { transform: rotate(-20deg); } 50% { transform: rotate(-15deg) translateY(-1px); } }

/* proverbial-fortune-persian-king */
.scn-proverbial-fortune-persian-king {
  background: 
    radial-gradient(ellipse at 50% 30%, #4a3a2a 0%, transparent 60%),
    linear-gradient(180deg, #2a1a0a 0%, #1a0f05 50%, #0d0500 100%);
}
.scn-proverbial-fortune-persian-king .wall-bg { position:absolute; inset:0; background: linear-gradient(90deg, #3a2a1a 0%, #5a4030 30%, #5a4030 70%, #3a2a1a 100%); }
.scn-proverbial-fortune-persian-king .throne { position:absolute; bottom:15%; left:50%; width:80px; height:90px; transform:translateX(-50%); background: linear-gradient(180deg, #8a7030 0%, #5a4a20 50%, #3a2a10 100%); border-radius:20% 20% 10% 10% / 30% 30% 10% 10%; box-shadow: 0 8px 20px rgba(0,0,0,.6); }
.scn-proverbial-fortune-persian-king .king-figure { position:absolute; bottom:25%; left:50%; width:50px; height:70px; transform:translateX(-50%); background: linear-gradient(180deg, #4a3a2a 0%, #1a0a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: pfp-king 8s ease-in-out infinite; }
.scn-proverbial-fortune-persian-king .window-arch { position:absolute; top:10%; left:20%; right:20%; bottom:45%; background: linear-gradient(180deg, #7a6a50 0%, #4a3a20 100%); border-radius:40% 40% 10% 10% / 60% 60% 10% 10%; box-shadow: inset 0 -10px 20px rgba(0,0,0,.5); }
.scn-proverbial-fortune-persian-king .light-beam { position:absolute; top:10%; left:35%; width:30%; height:60%; background: linear-gradient(180deg, rgba(255,200,150,.15) 0%, rgba(255,200,150,.05) 70%, transparent 100%); filter: blur(8px); animation: pfp-beam 12s ease-in-out infinite alternate; }
.scn-proverbial-fortune-persian-king .curtain-left { position:absolute; top:10%; left:18%; width:12%; height:50%; background: linear-gradient(90deg, #8a6030 0%, #5a4020 100%); border-radius:0 0 20% 20% / 0 0 40% 40%; transform-origin: top center; animation: pfp-curtain 30s ease-in-out infinite; }
.scn-proverbial-fortune-persian-king .curtain-right { position:absolute; top:10%; right:18%; width:12%; height:50%; background: linear-gradient(90deg, #5a4020 0%, #8a6030 100%); border-radius:0 0 20% 20% / 0 0 40% 40%; transform-origin: top center; animation: pfp-curtain 30s ease-in-out infinite reverse; }
.scn-proverbial-fortune-persian-king .crown-glint { position:absolute; bottom:50%; left:50%; width:14px; height:10px; transform:translateX(-50%); background: radial-gradient(circle, #ffd080 0%, #c0a060 60%, transparent 100%); border-radius:50%; animation: pfp-glint 4s ease-in-out infinite; filter: blur(2px); }
@keyframes pfp-king { 0%,100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-2px); } }
@keyframes pfp-beam { 0% { opacity:0.3; } 50% { opacity:0.7; } 100% { opacity:0.3; } }
@keyframes pfp-curtain { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(1.05); } }
@keyframes pfp-glint { 0%,100% { opacity:0.6; transform: translateX(-50%) scale(1); } 50% { opacity:1; transform: translateX(-50%) scale(1.3); } }

/* homer-man-wretchedest */
.scn-homer-man-wretchedest {
  background: 
    radial-gradient(ellipse at 40% 50%, #1a0a0a 0%, transparent 70%),
    linear-gradient(180deg, #0d0505 0%, #1a0f05 40%, #2a1a0a 100%);
}
.scn-homer-man-wretchedest .wall-bg { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a05 100%); }
.scn-homer-man-wretchedest .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #1a1005 0%, #0d0505 100%); }
.scn-homer-man-wretchedest .figure-slump { position:absolute; bottom:15%; left:30%; width:40px; height:60px; background: radial-gradient(ellipse at 50% 30%, #3a2a1a 0%, #0d0505 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(5deg); animation: hmw-slump 6s ease-in-out infinite; }
.scn-homer-man-wretchedest .window { position:absolute; top:15%; right:15%; width:30%; height:40%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border:4px solid #3a2a1a; border-radius:6% 6% 2% 2% / 10% 10% 4% 4%; box-shadow: inset 0 0 20px rgba(0,0,0,.5); }
.scn-homer-man-wretchedest .window-pane { position:absolute; top:18%; right:17%; width:26%; height:35%; background: linear-gradient(180deg, rgba(100,80,50,.2) 0%, rgba(50,40,20,.4) 100%); filter: blur(2px); animation: hmw-pane 20s ease-in-out infinite; }
.scn-homer-man-wretchedest .chain { position:absolute; bottom:30%; left:40%; width:2px; height:30px; background: linear-gradient(180deg, #4a3a2a 0%, #1a0a0a 100%); border-radius:1px; animation: hmw-chain 10s ease-in-out infinite; }
.scn-homer-man-wretchedest .tear-drop { position:absolute; bottom:35%; left:35%; width:4px; height:6px; background: radial-gradient(circle at 50% 20%, rgba(200,180,150,.6) 0%, transparent 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: hmw-tear 4s ease-in-out infinite; filter: blur(0.5px); }
.scn-homer-man-wretchedest .shadow-extension { position:absolute; bottom:0; left:20%; width:60%; height:15%; background: linear-gradient(180deg, rgba(0,0,0,.5) 0%, transparent 100%); animation: hmw-shadow 8s ease-in-out infinite; }
@keyframes hmw-slump { 0%,100% { transform: rotate(5deg) translateY(0); } 50% { transform: rotate(3deg) translateY(2px); } }
@keyframes hmw-pane { 0%,100% { opacity:0.3; } 50% { opacity:0.6; } }
@keyframes hmw-chain { 0%,100% { transform: translateX(0); } 50% { transform: translateX(2px); } }
@keyframes hmw-tear { 0%,100% { transform: translateY(0) scale(1); opacity:0.7; } 50% { transform: translateY(3px) scale(1.2); opacity:1; } }
@keyframes hmw-shadow { 0%,100% { transform: scaleX(1); } 50% { transform: scaleX(1.05); } }

/* schoolmasters-blameless */
.scn-schoolmasters-blameless {
  background: linear-gradient(180deg, #f4e4c0 0%, #e6c9a0 40%, #cba56a 100%), radial-gradient(ellipse at 50% 0%, #fff7e0 0%, transparent 60%);
}
.scn-schoolmasters-blameless .room-wall {
  position: absolute; inset: 15% 5% 0 5%; background: linear-gradient(180deg, #f0dbb0 0%, #d0b88a 100%); border-radius: 4px; box-shadow: inset 0 0 20px rgba(160,120,60,0.3);
}
.scn-schoolmasters-blameless .window {
  position: absolute; top: 8%; right: 12%; width: 60px; height: 50px; background: radial-gradient(circle, #fff9e6 0%, #ffe39c 60%, #d4b06a 100%); border-radius: 4px; box-shadow: 0 0 20px rgba(255,227,156,0.5); animation: smb-window 6s ease-in-out infinite;
}
.scn-schoolmasters-blameless .sunbeam {
  position: absolute; top: 18%; right: 20%; width: 140px; height: 80px; background: linear-gradient(135deg, rgba(255,243,210,0.4) 0%, transparent 80%); transform: rotate(-12deg); border-radius: 40% 0 60% 0; filter: blur(4px); animation: smb-beam 8s ease-in-out infinite alternate;
}
.scn-schoolmasters-blameless .desk {
  position: absolute; bottom: 20%; left: 30%; width: 160px; height: 40px; background: linear-gradient(180deg, #b38a5a 0%, #8a6130 100%); border-radius: 6px; box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}
.scn-schoolmasters-blameless .book-stack {
  position: absolute; bottom: 32%; left: 38%; width: 30px; height: 24px; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius: 2px; box-shadow: 2px 2px 4px rgba(0,0,0,0.4), 4px 4px 6px rgba(0,0,0,0.2); transform: rotate(-5deg); animation: smb-book 12s ease-in-out infinite;
}
.scn-schoolmasters-blameless .teacher {
  position: absolute; bottom: 28%; left: 28%; width: 28px; height: 60px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: smb-teacher 4s ease-in-out infinite alternate;
}
.scn-schoolmasters-blameless .chair {
  position: absolute; bottom: 16%; left: 48%; width: 30px; height: 30px; background: linear-gradient(180deg, #5a3a1a 0%, #3a2a0a 100%); border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}
@keyframes smb-window { 0% { opacity: 0.9; transform: scaleY(1); } 50% { opacity: 1; transform: scaleY(1.02); } 100% { opacity: 0.9; transform: scaleY(0.98); } }
@keyframes smb-beam { 0% { opacity: 0.3; transform: rotate(-12deg) translateX(-5px); } 50% { opacity: 0.6; transform: rotate(-8deg) translateX(5px); } 100% { opacity: 0.4; transform: rotate(-14deg) translateX(0); } }
@keyframes smb-book { 0%,100% { transform: rotate(-5deg); } 50% { transform: rotate(-3deg) translateY(-1px); } }
@keyframes smb-teacher { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(0); } }

/* fathers-despicable-ignorance */
.scn-fathers-despicable-ignorance {
  background: linear-gradient(180deg, #1a1a2e 0%, #121218 50%, #0a0a10 100%), radial-gradient(ellipse at 40% 80%, #2a2a3e 0%, transparent 70%);
}
.scn-fathers-despicable-ignorance .dark-wall {
  position: absolute; inset: 10% 8% 15% 8%; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2a 100%); border-radius: 6px; box-shadow: inset 0 0 30px rgba(0,0,0,0.6);
}
.scn-fathers-despicable-ignorance .table {
  position: absolute; bottom: 18%; left: 24%; width: 120px; height: 20px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,0.5);
}
.scn-fathers-despicable-ignorance .candle {
  position: absolute; bottom: 28%; left: 28%; width: 6px; height: 20px; background: linear-gradient(180deg, #ffd080 0%, #b06030 100%); border-radius: 2px; box-shadow: 0 0 12px 4px rgba(255,208,128,0.4); animation: fdi-candle 4s ease-in-out infinite alternate;
}
.scn-fathers-despicable-ignorance .father-figure {
  position: absolute; bottom: 18%; left: 36%; width: 24px; height: 50px; background: linear-gradient(180deg, #2a1a0a 0%, #100a00 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fdi-father 5s ease-in-out infinite;
}
.scn-fathers-despicable-ignorance .shadow {
  position: absolute; bottom: 8%; left: 20%; width: 100px; height: 40px; background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%); border-radius: 50%; filter: blur(4px); animation: fdi-shadow 7s ease-in-out infinite;
}
.scn-fathers-despicable-ignorance .scroll {
  position: absolute; bottom: 30%; left: 20%; width: 20px; height: 14px; background: linear-gradient(90deg, #c8a060 0%, #a08040 100%); border-radius: 2px; transform: rotate(-20deg); box-shadow: 0 1px 3px rgba(0,0,0,0.3); animation: fdi-scroll 10s ease-in-out infinite;
}
@keyframes fdi-candle { 0% { opacity: 0.7; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-1px); } 100% { opacity: 0.8; transform: translateY(0); } }
@keyframes fdi-father { 0% { transform: translateY(0) rotate(-2deg); } 25% { transform: translateY(-1px) rotate(0); } 50% { transform: translateY(0) rotate(2deg); } 75% { transform: translateY(-1px) rotate(0); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes fdi-shadow { 0% { opacity: 0.4; transform: scaleX(1); } 50% { opacity: 0.7; transform: scaleX(1.1); } 100% { opacity: 0.4; transform: scaleX(0.9); } }
@keyframes fdi-scroll { 0%,100% { transform: rotate(-20deg) translateX(0); } 50% { transform: rotate(-18deg) translateX(2px); } }

/* fathers-socrates-rebuke */
.scn-fathers-socrates-rebuke {
  background: linear-gradient(180deg, #f0e0c0 0%, #d8c8a0 40%, #b8a080 100%), radial-gradient(ellipse at 60% 40%, #fff5e0 0%, transparent 70%);
}
.scn-fathers-socrates-rebuke .bright-wall {
  position: absolute; inset: 10% 5% 15% 5%; background: linear-gradient(180deg, #f4e4c8 0%, #d8c8a8 100%); border-radius: 4px; box-shadow: inset 0 0 30px rgba(200,180,140,0.3);
}
.scn-fathers-socrates-rebuke .lamp {
  position: absolute; top: 8%; left: 22%; width: 18px; height: 40px; background: linear-gradient(180deg, #c0a060 0%, #8a6a3a 100%); border-radius: 4px; box-shadow: 0 0 30px 10px rgba(255,220,160,0.4); animation: fsr-lamp 5s ease-in-out infinite alternate;
}
.scn-fathers-socrates-rebuke .socrates {
  position: absolute; bottom: 22%; left: 40%; width: 30px; height: 70px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fsr-socrates 3s ease-in-out infinite;
}
.scn-fathers-socrates-rebuke .shadow-stripe {
  position: absolute; bottom: 10%; left: 30%; width: 120px; height: 30px; background: linear-gradient(90deg, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.6) 30%, transparent 100%); border-radius: 10px; filter: blur(6px); animation: fsr-stripe 8s ease-in-out infinite;
}
.scn-fathers-socrates-rebuke .scroll-stack {
  position: absolute; bottom: 32%; left: 28%; width: 40px; height: 20px; background: linear-gradient(180deg, #c8a860 0%, #a08040 100%); border-radius: 2px; box-shadow: 2px 2px 6px rgba(0,0,0,0.3); transform: rotate(8deg);
}
.scn-fathers-socrates-rebuke .column {
  position: absolute; bottom: 0; left: 8%; width: 16px; height: 60%; background: linear-gradient(180deg, #d8c8a8 0%, #a89878 100%); border-radius: 4px; box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
.scn-fathers-socrates-rebuke .floor {
  position: absolute; bottom: 14%; left: 0; right: 0; height: 20px; background: linear-gradient(180deg, #d8c0a0 0%, #b8a080 100%); border-radius: 4px; box-shadow: inset 0 4px 8px rgba(0,0,0,0.1);
}
@keyframes fsr-lamp { 0% { opacity: 0.8; box-shadow: 0 0 20px 6px rgba(255,220,160,0.3); } 50% { opacity: 1; box-shadow: 0 0 40px 14px rgba(255,220,160,0.6); } 100% { opacity: 0.9; box-shadow: 0 0 25px 8px rgba(255,220,160,0.4); } }
@keyframes fsr-socrates { 0% { transform: translateY(0) rotate(-2deg); } 33% { transform: translateY(-3px) rotate(0); } 66% { transform: translateY(0) rotate(2deg); } 100% { transform: translateY(-1px) rotate(-1deg); } }
@keyframes fsr-stripe { 0% { opacity: 0.3; transform: translateX(0); } 50% { opacity: 0.7; transform: translateX(8px); } 100% { opacity: 0.4; transform: translateX(-4px); } }

/* fathers-niggardly-teachers */
.scn-fathers-niggardly-teachers {
  background: linear-gradient(180deg, #1a1a24 0%, #0e0e16 50%, #08080c 100%), radial-gradient(ellipse at 30% 70%, #2a2a3e 0%, transparent 70%);
}
.scn-fathers-niggardly-teachers .dim-backdrop {
  position: absolute; inset: 8% 6% 12% 6%; background: linear-gradient(180deg, #222234 0%, #14141e 100%); border-radius: 6px; box-shadow: inset 0 0 30px rgba(0,0,0,0.7);
}
.scn-fathers-niggardly-teachers .table-slab {
  position: absolute; bottom: 20%; left: 20%; width: 140px; height: 18px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,0.4);
}
.scn-fathers-niggardly-teachers .coin-pile {
  position: absolute; bottom: 30%; left: 32%; width: 30px; height: 14px; background: radial-gradient(ellipse, #c8a060 0%, #8a6a30 60%, #5a3a1a 100%); border-radius: 50%; box-shadow: 0 0 6px rgba(200,160,96,0.3); animation: fnt-coin 3s ease-in-out infinite alternate;
}
.scn-fathers-niggardly-teachers .stingy-father {
  position: absolute; bottom: 18%; left: 44%; width: 26px; height: 54px; background: linear-gradient(180deg, #2a1a0a 0%, #100a00 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fnt-father 4s ease-in-out infinite;
}
.scn-fathers-niggardly-teachers .lone-candle {
  position: absolute; bottom: 28%; left: 26%; width: 5px; height: 16px; background: linear-gradient(180deg, #ffd080 0%, #a06030 100%); border-radius: 2px; box-shadow: 0 0 10px 4px rgba(255,208,128,0.3); animation: fnt-candle 5s ease-in-out infinite alternate;
}
.scn-fathers-niggardly-teachers .wardrobe {
  position: absolute; bottom: 8%; right: 10%; width: 50px; height: 70px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 4px; box-shadow: 2px 2px 8px rgba(0,0,0,0.4); transform: scaleX(0.8);
}
@keyframes fnt-coin { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-2px) scaleX(1.05); } 100% { transform: translateY(0) scaleX(0.95); } }
@keyframes fnt-father { 0% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-1px) rotate(-3deg); } 50% { transform: translateY(0) rotate(0); } 75% { transform: translateY(-1px) rotate(3deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes fnt-candle { 0% { opacity: 0.6; } 50% { opacity: 1; box-shadow: 0 0 16px 6px rgba(255,208,128,0.5); } 100% { opacity: 0.7; } }

.scn-animals-taught-obey { background: linear-gradient(180deg, #f5e6d0 0%, #e3cfb0 40%, #c8b294 100%), radial-gradient(ellipse at 50% 100%, #d4c4a8 0%, transparent 70%); }
.scn-animals-taught-obey .room-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #eee3d5 0%, #d9c8b0 100%); }
.scn-animals-taught-obey .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #b89a78 0%, #a07d5e 100%); border-radius:0 0 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,.15); }
.scn-animals-taught-obey .window { position:absolute; top:15%; left:10%; width:120px; height:90px; background: linear-gradient(135deg, #cde6f0 0%, #b0d0e0 100%); border:6px solid #a08a70; border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,.2); }
.scn-animals-taught-obey .table { position:absolute; bottom:25%; left:40%; width:100px; height:20px; background: linear-gradient(180deg, #8a6e50 0%, #6a5238 100%); border-radius:4px; transform: perspective(200px) rotateX(10deg); }
.scn-animals-taught-obey .figure-teacher { position:absolute; bottom:20%; left:50%; width:30px; height:75px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 45% 45% 40% 40% / 55% 55% 40% 40%; transform-origin:bottom center; animation: san-fig 6s ease-in-out infinite; }
.scn-animals-taught-obey .animal-dog { position:absolute; bottom:22%; left:25%; width:40px; height:25px; background: linear-gradient(180deg, #a08060 0%, #806040 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation: san-dog 4s ease-in-out infinite alternate; }
.scn-animals-taught-obey .bowl { position:absolute; bottom:23%; left:33%; width:20px; height:10px; background: radial-gradient(ellipse at 50% 30%, #a08868 0%, #7a6040 80%); border-radius:50%; }
.scn-animals-taught-obey .dust-mote { position:absolute; width:4px; height:4px; background: rgba(255,255,255,.5); border-radius:50%; filter: blur(2px); }
.scn-animals-taught-obey .mote-a { top:30%; left:20%; animation: san-mote 9s ease-in-out infinite; }
.scn-animals-taught-obey .mote-b { top:50%; left:70%; animation: san-mote 12s ease-in-out infinite 2s; }
@keyframes san-fig { 0%,100% { transform: translateX(0) rotate(0); } 50% { transform: translateX(8px) rotate(3deg); } }
@keyframes san-dog { 0% { transform: translateX(0) scaleY(1); } 50% { transform: translateX(10px) scaleY(0.95); } 100% { transform: translateX(0) scaleY(1); } }
@keyframes san-mote { 0% { transform: translateY(0) translateX(0); opacity:0.3; } 50% { transform: translateY(-15px) translateX(10px); opacity:0.8; } 100% { transform: translateY(0) translateX(0); opacity:0.3; } }

.scn-moral-character-ethos { background: linear-gradient(180deg, #f0e6d8 0%, #dac8b0 60%, #c0a88c 100%), radial-gradient(ellipse at 50% 0%, #f5eedd 0%, transparent 60%); }
.scn-moral-character-ethos .study-wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #e5d5c0 0%, #cbb8a0 100%); }
.scn-moral-character-ethos .desk { position:absolute; bottom:20%; left:10%; right:10%; height:12%; background: linear-gradient(180deg, #7a5e44 0%, #5c4028 100%); border-radius:4px 4px 0 0; box-shadow: 0 4px 8px rgba(0,0,0,.3); }
.scn-moral-character-ethos .book { position:absolute; bottom:25%; width:30px; height:22px; background: linear-gradient(180deg, #b07050 0%, #905030 100%); border-radius:2px; transform: rotate(-10deg); box-shadow: 2px 2px 4px rgba(0,0,0,.3); }
.scn-moral-character-ethos .book-1 { left:20%; animation: mce-book 8s ease-in-out infinite; }
.scn-moral-character-ethos .book-2 { left:30%; width:22px; height:16px; background: linear-gradient(180deg, #a08860 0%, #806840 100%); transform: rotate(5deg); animation: mce-book 10s ease-in-out infinite 2s; }
.scn-moral-character-ethos .lamp-glow { position:absolute; bottom:30%; left:45%; width:80px; height:80px; background: radial-gradient(circle, rgba(255,220,150,.6) 0%, rgba(255,200,100,.2) 50%, transparent 80%); border-radius:50%; animation: mce-lamp 4s ease-in-out infinite alternate; }
.scn-moral-character-ethos .hand-write { position:absolute; bottom:25%; left:55%; width:24px; height:40px; background: linear-gradient(180deg, #e0b890 0%, #c09070 100%); border-radius: 40% 40% 50% 50% / 50% 50% 40% 40%; transform-origin:bottom left; animation: mce-hand 6s ease-in-out infinite; }
.scn-moral-character-ethos .ink-well { position:absolute; bottom:24%; left:65%; width:16px; height:18px; background: radial-gradient(ellipse at 50% 30%, #333 0%, #1a1a1a 100%); border-radius:50%; }
.scn-moral-character-ethos .scroll { position:absolute; bottom:22%; right:15%; width:50px; height:8px; background: linear-gradient(180deg, #f0e0c0 0%, #d8c8a0 100%); border-radius:10px; transform: rotate(-5deg); box-shadow: 0 2px 4px rgba(0,0,0,.15); animation: mce-scroll 12s ease-in-out infinite; }
@keyframes mce-book { 0%,100% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(-15deg) translateY(-3px); } }
@keyframes mce-lamp { 0% { opacity:0.6; transform: scale(1); } 100% { opacity:1; transform: scale(1.2); } }
@keyframes mce-hand { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(10px) rotate(15deg); } 100% { transform: translateX(20px) rotate(0); } }
@keyframes mce-scroll { 0%,100% { opacity:0.7; } 50% { opacity:1; } }

.scn-three-things-soul { background: linear-gradient(180deg, #b0c8d8 0%, #8aacbc 50%, #6a8a9a 100%), radial-gradient(ellipse at 50% 100%, #8aacbc 0%, transparent 70%); }
.scn-three-things-soul .pillar-base { position:absolute; bottom:10%; left:50%; width:80px; height:30%; transform: translateX(-50%); background: linear-gradient(180deg, #7a8a9a 0%, #5a6a7a 100%); border-radius:10% 10% 0 0; }
.scn-three-things-soul .pillar-mid { position:absolute; bottom:40%; left:50%; width:60px; height:25%; transform: translateX(-50%); background: linear-gradient(180deg, #9aacbc 0%, #7a8a9a 100%); border-radius:5% 5% 0 0; }
.scn-three-things-soul .pillar-top { position:absolute; bottom:65%; left:50%; width:40px; height:20%; transform: translateX(-50%); background: linear-gradient(180deg, #bac8d8 0%, #9aacbc 100%); border-radius:20% 20% 0 0; }
.scn-three-things-soul .flame-power { position:absolute; bottom:35%; left:40%; width:16px; height:28px; background: radial-gradient(ellipse at 50% 70%, #f0d080 0%, #d0a040 60%, transparent 80%); border-radius:50%; animation: tts-flame 3s ease-in-out infinite alternate; }
.scn-three-things-soul .flame-passion { position:absolute; bottom:55%; left:50%; width:18px; height:32px; background: radial-gradient(ellipse at 50% 70%, #f8b070 0%, #d08040 60%, transparent 80%); border-radius:50%; animation: tts-flame 4s ease-in-out infinite alternate 0.5s; }
.scn-three-things-soul .flame-habit { position:absolute; bottom:75%; left:60%; width:14px; height:24px; background: radial-gradient(ellipse at 50% 70%, #a0c0e0 0%, #7088a0 60%, transparent 80%); border-radius:50%; animation: tts-flame 5s ease-in-out infinite alternate 1s; }
.scn-three-things-soul .shadow-left { position:absolute; bottom:0; left:0; width:40%; height:100%; background: linear-gradient(90deg, rgba(0,0,0,.15) 0%, transparent 100%); }
.scn-three-things-soul .shadow-right { position:absolute; bottom:0; right:0; width:40%; height:100%; background: linear-gradient(270deg, rgba(0,0,0,.15) 0%, transparent 100%); }
@keyframes tts-flame { 0% { transform: scaleY(1) translateY(0); opacity:0.8; } 50% { transform: scaleY(1.2) translateY(-6px); opacity:1; } 100% { transform: scaleY(1) translateY(0); opacity:0.8; } }

.scn-virtue-mean-not-all { background: linear-gradient(180deg, #e0d4c0 0%, #c8b8a0 50%, #a89878 100%), radial-gradient(ellipse at 50% 50%, #f0e8d8 0%, transparent 70%); }
.scn-virtue-mean-not-all .floor-tiles { position:absolute; bottom:0; left:0; right:0; height:20%; background: repeating-linear-gradient(90deg, #c8b8a0 0px, #b8a890 20px, #c8b8a0 20px, #b8a890 40px); opacity:0.6; }
.scn-virtue-mean-not-all .scale-base { position:absolute; bottom:20%; left:50%; width:80px; height:40px; transform: translateX(-50%); background: linear-gradient(180deg, #8a7a60 0%, #6a5a40 100%); border-radius:10% 10% 20% 20%; }
.scn-virtue-mean-not-all .scale-arm { position:absolute; bottom:40%; left:50%; width:120px; height:6px; transform: translateX(-50%); background: linear-gradient(90deg, #7a6a50 0%, #5a4a30 100%); border-radius:4px; }
.scn-virtue-mean-not-all .arm-left { transform: translateX(-50%) rotate(-5deg); transform-origin:50% 50%; animation: vmn-arm 6s ease-in-out infinite alternate; }
.scn-virtue-mean-not-all .arm-right { transform: translateX(-50%) rotate(5deg); transform-origin:50% 50%; animation: vmn-arm 6s ease-in-out infinite alternate 3s; }
.scn-virtue-mean-not-all .pan { position:absolute; bottom:30%; width:40px; height:20px; background: radial-gradient(ellipse at 50% 40%, #b8a888 0%, #988060 100%); border-radius:0 0 50% 50%; }
.scn-virtue-mean-not-all .left-pan { left:14%; animation: vmn-pan 6s ease-in-out infinite alternate; }
.scn-virtue-mean-not-all .right-pan { right:14%; animation: vmn-pan 6s ease-in-out infinite alternate 3s; }
.scn-virtue-mean-not-all .pendulum { position:absolute; bottom:25%; left:50%; width:4px; height:60px; transform: translateX(-50%) rotate(0); background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:2px; transform-origin:50% 0; animation: vmn-pend 5s ease-in-out infinite; }
.scn-virtue-mean-not-all .light-beam { position:absolute; top:5%; left:45%; width:10%; height:30%; background: linear-gradient(180deg, rgba(255,240,200,.4) 0%, transparent 100%); transform: rotate(20deg); animation: vmn-beam 8s ease-in-out infinite alternate; }
@keyframes vmn-arm { 0% { transform: translateX(-50%) rotate(-5deg); } 50% { transform: translateX(-50%) rotate(0deg); } 100% { transform: translateX(-50%) rotate(5deg); } }
@keyframes vmn-pan { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }
@keyframes vmn-pend { 0%,100% { transform: translateX(-50%) rotate(-10deg); } 50% { transform: translateX(-50%) rotate(10deg); } }
@keyframes vmn-beam { 0% { opacity:0.3; transform: rotate(15deg); } 100% { opacity:0.7; transform: rotate(25deg); } }

.scn-pangs-of-travail { background: linear-gradient(180deg, #1a1a2e 0%, #2c2244 40%, #3a2a4e 100%), radial-gradient(ellipse at 60% 80%, #4a3a5e 0%, transparent 80%); }
.scn-pangs-of-travail .bg-wall   { position:absolute; inset:0 0 35% 0; background:linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%); }
.scn-pangs-of-travail .bg-floor  { position:absolute; bottom:0; left:0; right:0; height:35%; background:linear-gradient(0deg, #1e1e2e 0%, #2a2a3e 100%); }
.scn-pangs-of-travail .bed       { position:absolute; bottom:20%; left:30%; width:40%; height:30%; background:linear-gradient(180deg, #3a3a4e 0%, #2a2a3e 100%); border-radius:8px 8px 4px 4px; box-shadow:0 4px 12px rgba(0,0,0,0.6); }
.scn-pangs-of-travail .mother-figure { position:absolute; bottom:25%; left:35%; width:20px; height:40px; background:linear-gradient(180deg, #4a4a5e 0%, #2a2a3e 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation:pot-mother 6s ease-in-out infinite; }
.scn-pangs-of-travail .attendant { position:absolute; bottom:28%; right:25%; width:18px; height:36px; background:linear-gradient(180deg, #3a3a4e 0%, #1a1a2e 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; animation:pot-attendant 8s ease-in-out infinite; }
.scn-pangs-of-travail .lamp      { position:absolute; bottom:40%; left:50%; width:12px; height:16px; background:linear-gradient(180deg, #b08040 0%, #7a5a2a 100%); border-radius:4px; transform:translateX(-50%); }
.scn-pangs-of-travail .lamp-glow { position:absolute; bottom:38%; left:50%; width:40px; height:40px; transform:translate(-50%,0); background:radial-gradient(circle, rgba(240,200,100,0.4) 0%, transparent 70%); border-radius:50%; animation:pot-glow 2s ease-in-out infinite alternate; }
.scn-pangs-of-travail .shadow-figures { position:absolute; bottom:20%; left:20%; width:60px; height:50px; background:radial-gradient(ellipse at 40% 100%, rgba(0,0,0,0.3) 0%, transparent 80%); animation:pot-shadows 10s ease-in-out infinite; }
@keyframes pot-mother { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes pot-attendant { 0% { transform: translateY(0) rotate(0); } 33% { transform: translateY(-1px) rotate(1deg); } 66% { transform: translateY(1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes pot-glow { 0% { opacity:0.6; transform:translate(-50%,0) scale(0.9); } 100% { opacity:1; transform:translate(-50%,0) scale(1.1); } }
@keyframes pot-shadows { 0% { opacity:0.3; } 50% { opacity:0.5; } 100% { opacity:0.3; } }

.scn-love-overcomes-pain { background: linear-gradient(180deg, #3a2a1a 0%, #5a3a2a 40%, #7a5a3a 100%), radial-gradient(ellipse at 40% 60%, #8a6a4a 0%, transparent 70%); }
.scn-love-overcomes-pain .bg-warm      { position:absolute; inset:0 0 30% 0; background:linear-gradient(180deg, #4a3a2a 0%, #6a4a3a 100%); }
.scn-love-overcomes-pain .floor         { position:absolute; bottom:0; left:0; right:0; height:30%; background:linear-gradient(0deg, #2a1a0a 0%, #4a3a2a 100%); }
.scn-love-overcomes-pain .wall-left     { position:absolute; top:0; left:0; width:20%; height:70%; background:linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%); border-radius:0 8px 8px 0; }
.scn-love-overcomes-pain .cradle        { position:absolute; bottom:20%; left:50%; width:60px; height:40px; transform:translateX(-50%); background:linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%); border-radius:20% 20% 10% 10%; box-shadow:0 6px 12px rgba(0,0,0,0.4); animation:lop-cradle 4s ease-in-out infinite; }
.scn-love-overcomes-pain .mother-seated { position:absolute; bottom:18%; left:30%; width:22px; height:45px; background:linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation:lop-mother 5s ease-in-out infinite; }
.scn-love-overcomes-pain .baby          { position:absolute; bottom:25%; left:48%; width:12px; height:16px; background:linear-gradient(180deg, #b08060 0%, #906050 100%); border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; animation:lop-baby 3s ease-in-out infinite alternate; }
.scn-love-overcomes-pain .fireplace     { position:absolute; bottom:15%; right:15%; width:40px; height:50px; background:linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius:6px 6px 4px 4px; box-shadow:inset 0 0 20px #ff6a2a; }
.scn-love-overcomes-pain .fire-glow     { position:absolute; bottom:20%; right:15%; width:60px; height:60px; background:radial-gradient(circle, rgba(255,100,30,0.5) 0%, rgba(255,160,60,0.2) 50%, transparent 80%); border-radius:50%; animation:lop-fire 2s ease-in-out infinite alternate; }
@keyframes lop-cradle { 0% { transform:translateX(-50%) rotate(0); } 50% { transform:translateX(-50%) rotate(2deg); } 100% { transform:translateX(-50%) rotate(0); } }
@keyframes lop-mother { 0% { transform:translateY(0) rotate(-1deg); } 50% { transform:translateY(-1px) rotate(1deg); } 100% { transform:translateY(0) rotate(-1deg); } }
@keyframes lop-baby { 0% { transform:translateY(0); } 100% { transform:translateY(-1px); } }
@keyframes lop-fire { 0% { opacity:0.6; transform:scale(0.9); } 100% { opacity:1; transform:scale(1.1); } }

.scn-hopes-uncertain-long-wait { background: linear-gradient(180deg, #7a8a9a 0%, #5a6a7a 50%, #4a5a6a 100%), radial-gradient(ellipse at 50% 0%, #9ab0c0 0%, transparent 80%); }
.scn-hopes-uncertain-long-wait .sky          { position:absolute; inset:0 0 40% 0; background:linear-gradient(180deg, #8a9aaa 0%, #5a6a7a 100%); animation:hul-sky 20s ease-in-out infinite alternate; }
.scn-hopes-uncertain-long-wait .window-frame { position:absolute; top:10%; left:30%; width:40%; height:50%; border:6px solid #4a4a5a; border-radius:4px; background:transparent; box-shadow:inset 0 0 30px rgba(0,0,0,0.2); }
.scn-hopes-uncertain-long-wait .window-glass { position:absolute; top:12%; left:32%; width:36%; height:46%; background:linear-gradient(180deg, rgba(200,220,240,0.3) 0%, rgba(160,180,200,0.1) 100%); animation:hul-glass 15s ease-in-out infinite alternate; }
.scn-hopes-uncertain-long-wait .sill         { position:absolute; bottom:30%; left:30%; width:40%; height:4px; background:linear-gradient(90deg, #5a5a6a, #7a7a8a); }
.scn-hopes-uncertain-long-wait .parent-left  { position:absolute; bottom:33%; left:25%; width:18px; height:40px; background:linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation:hul-parent 8s ease-in-out infinite; }
.scn-hopes-uncertain-long-wait .parent-right { position:absolute; bottom:33%; right:25%; width:18px; height:40px; background:linear-gradient(180deg, #5a5a6a 0%, #3a3a4a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation:hul-parent 8s ease-in-out infinite reverse; }
.scn-hopes-uncertain-long-wait .clock        { position:absolute; top:15%; right:15%; width:20px; height:20px; border:3px solid #c0c0d0; border-radius:50%; background:radial-gradient(circle, #e0e0f0 0%, #b0b0c0 100%); animation:hul-clock 60s linear infinite; }
.scn-hopes-uncertain-long-wait .cloud-drift  { position:absolute; top:5%; left:-10%; width:120px; height:16px; background:linear-gradient(180deg, rgba(240,245,255,0.5) 0%, rgba(200,210,220,0.2) 100%); filter:blur(4px); border-radius:50%; animation:hul-cloud 40s linear infinite; }
@keyframes hul-sky { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes hul-glass { 0% { opacity:0.3; } 50% { opacity:0.5; } 100% { opacity:0.3; } }
@keyframes hul-parent { 0% { transform:translateY(0); } 50% { transform:translateY(-2px); } 100% { transform:translateY(0); } }
@keyframes hul-clock { 0% { transform:rotate(0); } 100% { transform:rotate(360deg); } }
@keyframes hul-cloud { 0% { transform:translateX(0); } 100% { transform:translateX(120vw); } }

.scn-fathers-died-before-glory { background: linear-gradient(180deg, #4a5a6a 0%, #3a4a5a 40%, #2a3a4a 100%), radial-gradient(ellipse at 50% 100%, #5a6a7a 0%, transparent 80%); }
.scn-fathers-died-before-glory .sky-dull         { position:absolute; inset:0 0 50% 0; background:linear-gradient(180deg, #5a6a7a 0%, #3a4a5a 100%); animation:fdb-sky 30s ease-in-out infinite alternate; }
.scn-fathers-died-before-glory .ground            { position:absolute; bottom:0; left:0; right:0; height:50%; background:linear-gradient(180deg, #3a4a3a 0%, #2a3a2a 100%); }
.scn-fathers-died-before-glory .tombstone         { position:absolute; bottom:30%; left:45%; width:30px; height:50px; background:linear-gradient(180deg, #7a8a7a 0%, #5a6a5a 100%); border-radius:4px 4px 2px 2px; box-shadow:0 4px 10px rgba(0,0,0,0.4); }
.scn-fathers-died-before-glory .figure-mourning   { position:absolute; bottom:28%; left:35%; width:20px; height:44px; background:linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation:fdb-figure 12s ease-in-out infinite; }
.scn-fathers-died-before-glory .tree              { position:absolute; bottom:30%; right:20%; width:30px; height:80px; background:linear-gradient(180deg, #4a5a3a 0%, #2a3a2a 100%); border-radius:50% 50% 30% 30% / 40% 40% 60% 60%; animation:fdb-tree 20s ease-in-out infinite alternate; }
.scn-fathers-died-before-glory .scroll            { position:absolute; bottom:35%; left:50%; width:14px; height:20px; background:linear-gradient(180deg, #b0a080 0%, #807060 100%); border-radius:2px; transform:translateX(-50%); animation:fdb-scroll 6s ease-in-out infinite; }
.scn-fathers-died-before-glory .mist              { position:absolute; bottom:20%; left:0; right:0; height:40%; background:linear-gradient(180deg, rgba(200,210,220,0.15) 0%, transparent 100%); filter:blur(10px); animation:fdb-mist 15s ease-in-out infinite alternate; }
@keyframes fdb-sky { 0% { opacity:0.6; } 50% { opacity:0.9; } 100% { opacity:0.7; } }
@keyframes fdb-figure { 0% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-1px) rotate(1deg); } 100% { transform:translateY(0) rotate(0); } }
@keyframes fdb-tree { 0% { transform:rotate(-2deg); } 50% { transform:rotate(2deg); } 100% { transform:rotate(-2deg); } }
@keyframes fdb-scroll { 0% { transform:translateX(-50%) rotate(-3deg); } 50% { transform:translateX(-50%) rotate(3deg); } 100% { transform:translateX(-50%) rotate(-3deg); } }
@keyframes fdb-mist { 0% { opacity:0.3; } 50% { opacity:0.6; } 100% { opacity:0.3; } }

/* Scene: love-brings-to-truth */
.scn-love-brings-to-truth {
  background: 
    linear-gradient(180deg, #fce8d0 0%, #f5d4a0 40%, #e8c080 100%),
    radial-gradient(ellipse at 50% 40%, #fff5e0 0%, #e8d4a0 70%);
}
.scn-love-brings-to-truth .sun-wall {
  position:absolute; inset:0; background: linear-gradient(135deg, #ffecc0 0%, #d4b080 100%); opacity:0.4; animation: lb-t-breathe 8s ease-in-out infinite alternate;
}
.scn-love-brings-to-truth .window-casing {
  position:absolute; top:20%; left:30%; width:120px; height:160px; background: linear-gradient(180deg, #c8a880 0%, #a08060 100%); border-radius: 4px 4px 8px 8px; box-shadow: 0 8px 24px rgba(0,0,0,0.3); animation: lb-t-float 12s ease-in-out infinite;
}
.scn-love-brings-to-truth .window-pane {
  position:absolute; top:24%; left:33%; width:96px; height:130px; background: linear-gradient(135deg, #fff8e0 0%, #e8d4a0 50%, #c8b080 100%); border-radius: 2px; box-shadow: inset 0 0 40px 10px rgba(255,240,180,0.6); animation: lb-t-glow 4s ease-in-out infinite alternate;
}
.scn-love-brings-to-truth .divine-figure {
  position:absolute; bottom:22%; left:42%; width:60px; height:120px; background: linear-gradient(180deg, #d4c0a0 0%, #a08870 100%); border-radius: 30% 30% 40% 40% / 50% 50% 40% 40%; box-shadow: 0 0 30px 8px rgba(200,180,120,0.5); animation: lb-t-figure 6s ease-in-out infinite;
  transform-origin: bottom center;
}
.scn-love-brings-to-truth .light-ray {
  position:absolute; top:18%; width:8px; height:200px; background: linear-gradient(180deg, rgba(255,240,180,0.9) 0%, transparent 100%); border-radius: 50%; filter: blur(4px); animation: lb-t-ray 10s ease-in-out infinite alternate;
}
.scn-love-brings-to-truth .ray-1 { left:35%; transform: rotate(-8deg); }
.scn-love-brings-to-truth .ray-2 { left:55%; transform: rotate(5deg); animation-delay: -3s; }
.scn-love-brings-to-truth .veil {
  position:absolute; top:10%; left:10%; width:80%; height:80%; background: radial-gradient(ellipse at 50% 30%, rgba(255,250,220,0.15) 0%, transparent 70%); animation: lb-t-veil 20s ease-in-out infinite alternate;
}
@keyframes lb-t-breathe { 0% { opacity:0.3; } 50% { opacity:0.5; } 100% { opacity:0.4; } }
@keyframes lb-t-float { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-5px) scale(1.02); } 100% { transform: translateY(0) scale(1); } }
@keyframes lb-t-glow { 0% { box-shadow: inset 0 0 30px 5px #fff4c0; opacity:0.8;} 50% { box-shadow: inset 0 0 60px 15px #ffe8a0; opacity:1;} 100% { box-shadow: inset 0 0 40px 8px #ffe0a0; opacity:0.9;} }
@keyframes lb-t-figure { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-4px) rotate(2deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes lb-t-ray { 0% { opacity:0.6; transform: rotate(-6deg) scaleY(1); } 50% { opacity:1; transform: rotate(-10deg) scaleY(1.1); } 100% { opacity:0.8; transform: rotate(-4deg) scaleY(0.95); } }
@keyframes lb-t-veil { 0% { opacity:0.1; } 50% { opacity:0.3; } 100% { opacity:0.15; } }

/* Scene: stupid-friends-extinguish */
.scn-stupid-friends-extinguish {
  background:
    linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, #0e0e1a 100%),
    radial-gradient(ellipse at 30% 70%, #3a3a4a 0%, transparent 80%);
}
.scn-stupid-friends-extinguish .room-wall {
  position:absolute; inset:0; background: linear-gradient(135deg, #2a2a3a 0%, #1a1a2a 100%); opacity:0.7;
}
.scn-stupid-friends-extinguish .dead-lamp {
  position:absolute; bottom:40%; left:20%; width:30px; height:50px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 40% 40% 20% 20%; box-shadow: 0 0 8px 2px #2a1a0a; animation: sfe-lamp 6s ease-in-out infinite;
}
.scn-stupid-friends-extinguish .smoke {
  position:absolute; bottom:50%; width:60px; height:40px; background: radial-gradient(ellipse, rgba(80,70,60,0.4) 0%, transparent 100%); filter: blur(8px); animation: sfe-smoke 12s ease-in-out infinite;
}
.scn-stupid-friends-extinguish .cloud-a { left:18%; animation-delay: 0s; }
.scn-stupid-friends-extinguish .cloud-b { left:45%; width:80px; animation-delay: -4s; }
.scn-stupid-friends-extinguish .figure-left {
  position:absolute; bottom:15%; left:12%; width:50px; height:110px; background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%); border-radius: 30% 30% 40% 40% / 50% 50% 40% 40%; transform-origin: bottom center; animation: sfe-figure 4s ease-in-out infinite alternate;
}
.scn-stupid-friends-extinguish .figure-right {
  position:absolute; bottom:15%; right:12%; width:45px; height:100px; background: linear-gradient(180deg, #2a2a3a 0%, #0e0e1e 100%); border-radius: 30% 30% 40% 40% / 50% 50% 40% 40%; transform-origin: bottom center; animation: sfe-figure 4.5s ease-in-out infinite alternate-reverse;
}
.scn-stupid-friends-extinguish .confusion-shadow {
  position:absolute; bottom:0; left:25%; width:50%; height:40%; background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.6) 0%, transparent 100%); animation: sfe-shadow 8s ease-in-out infinite alternate;
}
@keyframes sfe-lamp { 0% { opacity:0.3; transform:scaleY(1); } 50% { opacity:0.1; transform:scaleY(0.9); } 100% { opacity:0.2; transform:scaleY(1); } }
@keyframes sfe-smoke { 0% { transform: translateY(0) scale(1) rotate(0deg); opacity:0.4; } 50% { transform: translateY(-30px) scale(1.5) rotate(10deg); opacity:0.2; } 100% { transform: translateY(0) scale(1) rotate(0deg); opacity:0.3; } }
@keyframes sfe-figure { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(8px) rotate(-3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes sfe-shadow { 0% { opacity:0.5; } 50% { opacity:0.8; } 100% { opacity:0.6; } }

/* Scene: sober-reason-modest-glow */
.scn-sober-reason-modest-glow {
  background:
    linear-gradient(180deg, #f5e8d0 0%, #e8d4b0 50%, #d4b890 100%),
    radial-gradient(ellipse at 50% 30%, #ffecb0 0%, transparent 70%);
}
.scn-sober-reason-modest-glow .chamber-back {
  position:absolute; inset:0; background: linear-gradient(135deg, #f0dcc0 0%, #d8c4a0 100%); opacity:0.3; animation: srmg-bg 10s ease-in-out infinite alternate;
}
.scn-sober-reason-modest-glow .glimmering-pot {
  position:absolute; bottom:30%; left:38%; width:80px; height:70px; background: linear-gradient(180deg, #c8a880 0%, #a08060 100%); border-radius: 20% 20% 40% 40%; box-shadow: 0 4px 20px rgba(0,0,0,0.2); animation: srmg-pot 15s ease-in-out infinite;
}
.scn-sober-reason-modest-glow .growing-stem {
  position:absolute; bottom:42%; left:50%; width:8px; height:90px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%); border-radius: 50%; transform: translateX(-50%); animation: srmg-stem 6s ease-in-out infinite;
}
.scn-sober-reason-modest-glow .leaf {
  position:absolute; width:30px; height:12px; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%); border-radius: 50% 50% 30% 30%; transform-origin: left center; animation: srmg-leaf 4s ease-in-out infinite alternate;
}
.scn-sober-reason-modest-glow .leaf-left { top:55%; left:48%; transform: rotate(-30deg); }
.scn-sober-reason-modest-glow .leaf-right { top:50%; left:52%; transform: rotate(30deg); animation-delay: -2s; }
.scn-sober-reason-modest-glow .glow-halo {
  position:absolute; top:20%; left:35%; width:120px; height:120px; background: radial-gradient(circle, rgba(255,220,150,0.5) 0%, transparent 70%); border-radius: 50%; filter: blur(20px); animation: srmg-halo 8s ease-in-out infinite alternate;
}
.scn-sober-reason-modest-glow .bright-diffusion {
  position:absolute; bottom:45%; left:45%; width:60px; height:60px; background: radial-gradient(circle, rgba(255,240,180,0.3) 0%, transparent 100%); animation: srmg-diffuse 12s ease-in-out infinite;
}
@keyframes srmg-bg { 0% { opacity:0.2; } 50% { opacity:0.4; } 100% { opacity:0.3; } }
@keyframes srmg-pot { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-3px) scale(1.02); } 100% { transform: translateY(0) scale(1); } }
@keyframes srmg-stem { 0% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(1.1); } 100% { transform: translateX(-50%) scaleY(1); } }
@keyframes srmg-leaf { 0% { transform: rotate(-25deg) scaleX(1); } 50% { transform: rotate(-30deg) scaleX(1.1); } 100% { transform: rotate(-20deg) scaleX(1); } }
@keyframes srmg-halo { 0% { opacity:0.4; transform: scale(0.9); } 50% { opacity:0.7; transform: scale(1.1); } 100% { opacity:0.5; transform: scale(1); } }
@keyframes srmg-diffuse { 0% { opacity:0.2; transform: scale(1); } 50% { opacity:0.5; transform: scale(1.3); } 100% { opacity:0.3; transform: scale(1); } }

/* Scene: divine-emanation-ecstasy */
.scn-divine-emanation-ecstasy {
  background:
    linear-gradient(135deg, #ffe8b0 0%, #f0c880 50%, #d8a060 100%),
    radial-gradient(ellipse at 50% 30%, #fff0c0 0%, #e0b070 70%);
}
.scn-divine-emanation-ecstasy .cosmic-back {
  position:absolute; inset:0; background: radial-gradient(ellipse at 50% 30%, rgba(255,220,150,0.5) 0%, transparent 70%); animation: dee-pulse 8s ease-in-out infinite alternate;
}
.scn-divine-emanation-ecstasy .radiant-core {
  position:absolute; top:25%; left:50%; width:80px; height:80px; transform:translate(-50%,-50%); background: radial-gradient(circle, #fff8e0 0%, #ffd080 60%, transparent 100%); border-radius: 50%; box-shadow: 0 0 80px 30px rgba(255,200,100,0.6); animation: dee-core 4s ease-in-out infinite;
}
.scn-divine-emanation-ecstasy .emanation {
  position:absolute; top:25%; left:50%; width:10px; height:200px; background: linear-gradient(180deg, rgba(255,220,150,0.6) 0%, transparent 100%); border-radius: 50%; filter: blur(4px); transform-origin: 50% 0%; animation: dee-em 6s ease-in-out infinite;
}
.scn-divine-emanation-ecstasy .e-1 { transform: rotate(-20deg); animation-delay: 0s; }
.scn-divine-emanation-ecstasy .e-2 { transform: rotate(0deg); animation-delay: -2s; }
.scn-divine-emanation-ecstasy .e-3 { transform: rotate(20deg); animation-delay: -4s; }
.scn-divine-emanation-ecstasy .ecstatic-figure {
  position:absolute; bottom:20%; left:40%; width:70px; height:130px; background: linear-gradient(180deg, #d4a080 0%, #a07050 100%); border-radius: 30% 30% 40% 40% / 50% 50% 40% 40%; transform-origin: bottom center; animation: dee-fig 5s ease-in-out infinite;
}
.scn-divine-emanation-ecstasy .delight-sparkle {
  position:absolute; top:30%; left:30%; width:120px; height:120px; background: radial-gradient(circle, rgba(255,240,180,0.2) 0%, transparent 100%); border-radius: 50%; filter: blur(10px); animation: dee-sparkle 10s ease-in-out infinite alternate;
}
@keyframes dee-pulse { 0% { opacity:0.3; } 50% { opacity:0.6; } 100% { opacity:0.4; } }
@keyframes dee-core { 0% { transform: translate(-50%,-50%) scale(0.9); opacity:0.8;} 50% { transform: translate(-50%,-50%) scale(1.1); opacity:1;} 100% { transform: translate(-50%,-50%) scale(1); opacity:0.9;} }
@keyframes dee-em { 0% { opacity:0.2; transform:rotate(-18deg) scaleY(1); } 50% { opacity:0.6; transform:rotate(-22deg) scaleY(1.2); } 100% { opacity:0.3; transform:rotate(-20deg) scaleY(1); } }
@keyframes dee-fig { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-5px) rotate(2deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes dee-sparkle { 0% { opacity:0.1; transform: scale(0.8); } 50% { opacity:0.3; transform: scale(1.2); } 100% { opacity:0.2; transform: scale(1); } }

.scn-euripides-fragm-202 {
  background: linear-gradient(180deg, #2b2318 0%, #3d3227 40%, #4a3d32 100%),
              radial-gradient(ellipse at 30% 60%, #5a4a3a 0%, transparent 70%);
}
.scn-euripides-fragm-202 .wall   { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #3b3228 0%, #2d241b 100%); animation: ef202-wall 25s ease-in-out infinite alternate; }
.scn-euripides-fragm-202 .floor  { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #4a3d32 0%, #2f261e 100%); box-shadow: inset 0 6px 12px rgba(0,0,0,.5); }
.scn-euripides-fragm-202 .desk   { position:absolute; bottom:20%; left:35%; width:40%; height:12%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2c1f 100%); border-radius: 4px 4px 8px 8px; box-shadow: 0 4px 8px rgba(0,0,0,.6); transform: perspective(400px) rotateX(10deg); }
.scn-euripides-fragm-202 .scroll { position:absolute; bottom:24%; left:45%; width:10%; height:4%; background: linear-gradient(135deg, #d4b88a 0%, #b8986a 50%, #8a6e44 100%); border-radius: 2px; box-shadow: 1px 1px 3px rgba(0,0,0,.4); animation: ef202-scroll 10s ease-in-out infinite; }
.scn-euripides-fragm-202 .lamp   { position:absolute; bottom:30%; left:38%; width:4%; height:8%; background: linear-gradient(180deg, #8a6e44 0%, #5a4a3a 100%); border-radius: 30% 30% 10% 10%; }
.scn-euripides-fragm-202 .glow   { position:absolute; bottom:30%; left:36%; width:10%; height:12%; background: radial-gradient(circle, #d4a85a 0%, #b08040 50%, transparent 100%); opacity:.6; animation: ef202-glow 4s ease-in-out infinite alternate; }
.scn-euripides-fragm-202 .figure { position:absolute; bottom:18%; left:50%; width:8%; height:20%; background: linear-gradient(180deg, #2d241b 0%, #1a1410 100%); border-radius: 40% 40% 30% 30% / 70% 70% 40% 40%; transform-origin: bottom center; animation: ef202-read 8s ease-in-out infinite; }
.scn-euripides-fragm-202 .shadow { position:absolute; bottom:0; left:30%; width:40%; height:20%; background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,.4) 0%, transparent 70%); animation: ef202-shadow 8s ease-in-out infinite; }
@keyframes ef202-wall    { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes ef202-scroll  { 0% { transform: translateX(0) scaleY(1) } 50% { transform: translateX(-2px) scaleY(1.02) } 100% { transform: translateX(0) scaleY(1) } }
@keyframes ef202-glow    { 0% { opacity:.5; transform: scale(.95) } 50% { opacity:.7; transform: scale(1.05) } 100% { opacity:.55; transform: scale(1) } }
@keyframes ef202-read    { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(1px) rotate(1deg) } 50% { transform: translateX(-1px) rotate(-1deg) } 75% { transform: translateX(2px) rotate(0.5deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes ef202-shadow  { 0% { opacity:.3; transform: scaleX(1) } 50% { opacity:.5; transform: scaleX(1.1) } 100% { opacity:.3; transform: scaleX(1) } }

.scn-curiosity-egyptian-answer {
  background: linear-gradient(180deg, #1d1a2e 0%, #2a2440 40%, #1a1630 100%),
              radial-gradient(ellipse at 50% 20%, #3a3250 0%, transparent 80%);
}
.scn-curiosity-egyptian-answer .bg-dark      { position:absolute; inset:0; background: linear-gradient(135deg, #12101e 0%, #1f1b34 100%); animation: cea-dark 15s ease-in-out infinite alternate; }
.scn-curiosity-egyptian-answer .column-left  { position:absolute; left:10%; top:0; width:8%; height:100%; background: linear-gradient(90deg, #2f2844 0%, #1f1b34 50%, #2f2844 100%); border-radius: 4px; box-shadow: 2px 0 8px rgba(0,0,0,.5); }
.scn-curiosity-egyptian-answer .column-right { position:absolute; right:10%; top:0; width:8%; height:100%; background: linear-gradient(90deg, #2f2844 0%, #1f1b34 50%, #2f2844 100%); border-radius: 4px; box-shadow: -2px 0 8px rgba(0,0,0,.5); }
.scn-curiosity-egyptian-answer .pedestal     { position:absolute; bottom:20%; left:50%; width:20%; height:10%; transform:translateX(-50%); background: linear-gradient(180deg, #3a3250 0%, #221e38 100%); border-radius: 10% 10% 0 0; }
.scn-curiosity-egyptian-answer .statue       { position:absolute; bottom:30%; left:50%; width:12%; height:18%; transform:translateX(-50%); background: linear-gradient(180deg, #4a3e5a 0%, #2a243e 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; box-shadow: 0 0 10px rgba(100,80,160,.3); animation: cea-statue 10s ease-in-out infinite; }
.scn-curiosity-egyptian-answer .questioner   { position:absolute; bottom:18%; left:20%; width:10%; height:22%; background: linear-gradient(180deg, #1a1630 0%, #120f24 100%); border-radius: 40% 40% 20% 20% / 70% 70% 30% 30%; transform-origin: bottom center; animation: cea-question 6s ease-in-out infinite; }
.scn-curiosity-egyptian-answer .torch        { position:absolute; top:15%; left:45%; width:3%; height:20%; background: linear-gradient(180deg, #6a5230 0%, #3a2a1a 100%); border-radius: 2px; }
.scn-curiosity-egyptian-answer .flicker      { position:absolute; top:12%; left:44%; width:5%; height:8%; background: radial-gradient(circle, #d48a3a 0%, #b06020 40%, transparent 70%); animation: cea-flicker .5s steps(2) infinite; }
@keyframes cea-dark     { 0% { opacity:.8 } 100% { opacity:1 } }
@keyframes cea-statue   { 0% { transform:translateX(-50%) rotate(0) } 50% { transform:translateX(-50%) rotate(1deg) } 100% { transform:translateX(-50%) rotate(-1deg) } }
@keyframes cea-question { 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 cea-flicker  { 0% { opacity:.7; transform: scale(1) } 50% { opacity:.9; transform: scale(1.1) } 100% { opacity:.6; transform: scale(.95) } }

.scn-curiosity-house-intrusion {
  background: linear-gradient(180deg, #1a1a20 0%, #2c2a34 40%, #1e1c26 100%),
              radial-gradient(ellipse at 30% 50%, #2a2833 0%, transparent 70%);
}
.scn-curiosity-house-intrusion .wall         { position:absolute; inset:0; background: linear-gradient(135deg, #24222a 0%, #1a1820 100%); }
.scn-curiosity-house-intrusion .door         { position:absolute; left:40%; top:10%; width:20%; height:80%; background: linear-gradient(180deg, #3a363a 0%, #1e1c1e 100%); border-radius: 4px 4px 0 0; box-shadow: inset 0 0 8px rgba(0,0,0,.5), 0 4px 12px rgba(0,0,0,.4); animation: chi-door 6s ease-in-out infinite; }
.scn-curiosity-house-intrusion .door-handle  { position:absolute; left:47%; top:45%; width:4%; height:4%; background: radial-gradient(circle, #8a7a5a 0%, #4a3a2a 100%); border-radius: 50%; box-shadow: 0 0 6px rgba(0,0,0,.4); }
.scn-curiosity-house-intrusion .crack        { position:absolute; left:40%; top:0; width:20%; height:100%; background: linear-gradient(90deg, transparent 0%, rgba(200,180,140,.05) 50%, transparent 100%); animation: chi-crack 3s ease-in-out infinite alternate; }
.scn-curiosity-house-intrusion .intruder     { position:absolute; bottom:10%; left:38%; width:10%; height:40%; background: linear-gradient(180deg, #0e0c12 0%, #06040a 100%); border-radius: 40% 40% 30% 30% / 70% 70% 30% 30%; transform-origin: bottom center; animation: chi-intrude 4s ease-in-out infinite; }
.scn-curiosity-house-intrusion .shadow-hand  { position:absolute; right:30%; top:35%; width:8%; height:12%; background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.6) 0%, transparent 70%); animation: chi-hand 5s ease-in-out infinite; }
.scn-curiosity-house-intrusion .floor        { position:absolute; bottom:0; left:0; right:0; height:10%; background: linear-gradient(180deg, #1e1c26 0%, #121016 100%); }
@keyframes chi-door      { 0% { transform: rotateY(0) } 50% { transform: rotateY(8deg) } 100% { transform: rotateY(0) } }
@keyframes chi-crack     { 0% { opacity:.3; transform: scaleX(1) } 50% { opacity:.6; transform: scaleX(1.02) } 100% { opacity:.2; transform: scaleX(.98) } }
@keyframes chi-intrude   { 0% { transform: translateX(0) translateY(0) rotate(0) } 25% { transform: translateX(3px) translateY(-2px) rotate(2deg) } 50% { transform: translateX(-1px) translateY(0) rotate(-1deg) } 75% { transform: translateX(4px) translateY(-1px) rotate(1deg) } 100% { transform: translateX(0) translateY(0) rotate(0) } }
@keyframes chi-hand      { 0% { opacity:.4; transform: scale(1) } 50% { opacity:.8; transform: scale(1.2) } 100% { opacity:.3; transform: scale(.9) } }

.scn-curiosity-house-revealed {
  background: linear-gradient(180deg, #1f1e2e 0%, #2b2a3e 40%, #18172a 100%),
              radial-gradient(ellipse at 50% 60%, #2a2940 0%, transparent 80%);
}
.scn-curiosity-house-revealed .room          { position:absolute; inset:0; background: linear-gradient(135deg, #24233a 0%, #1a1928 100%); }
.scn-curiosity-house-revealed .chest         { position:absolute; bottom:15%; left:40%; width:20%; height:20%; background: linear-gradient(180deg, #4a3e2a 0%, #2a2214 100%); border-radius: 4px 4px 8px 8px; box-shadow: inset 0 2px 6px rgba(0,0,0,.5), 0 4px 12px rgba(0,0,0,.4); }
.scn-curiosity-house-revealed .chest-lid     { position:absolute; bottom:35%; left:40%; width:20%; height:8%; background: linear-gradient(180deg, #5a4e3a 0%, #3a3222 100%); border-radius: 4px 4px 0 0; transform-origin: bottom center; animation: chr-lid 6s ease-in-out infinite; }
.scn-curiosity-house-revealed .glow-reveal   { position:absolute; bottom:20%; left:42%; width:16%; height:18%; background: radial-gradient(circle, #d4a85a 0%, #b08040 30%, transparent 70%); opacity:.5; animation: chr-glow 3s ease-in-out infinite alternate; }
.scn-curiosity-house-revealed .figure-reveal { position:absolute; bottom:10%; left:30%; width:10%; height:25%; background: linear-gradient(180deg, #1a1928 0%, #0e0d16 100%); border-radius: 40% 40% 30% 30% / 70% 70% 40% 40%; transform-origin: bottom center; animation: chr-reach 8s ease-in-out infinite; }
.scn-curiosity-house-revealed .bars          { position:absolute; top:20%; left:30%; width:40%; height:4%; background: repeating-linear-gradient(90deg, #4a4a5a 0px, #4a4a5a 4px, transparent 4px, transparent 16px); border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: chr-bars 20s linear infinite; }
.scn-curiosity-house-revealed .lock          { position:absolute; bottom:30%; left:47%; width:6%; height:6%; background: radial-gradient(circle, #8a7a5a 0%, #4a3a2a 100%); border-radius: 50%; box-shadow: 0 0 8px rgba(0,0,0,.5); }
.scn-curiosity-house-revealed .floor-planks  { position:absolute; bottom:0; left:0; right:0; height:15%; background: repeating-linear-gradient(90deg, #2a2420 0px, #2a2420 6px, #1a1614 6px, #1a1614 12px); }
@keyframes chr-lid   { 0% { transform: rotateX(0) } 50% { transform: rotateX(30deg) } 100% { transform: rotateX(0) } }
@keyframes chr-glow  { 0% { opacity:.3; transform: scale(.9) } 50% { opacity:.7; transform: scale(1.1) } 100% { opacity:.4; transform: scale(1) } }
@keyframes chr-reach { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(5px) rotate(3deg) } 50% { transform: translateX(0) rotate(-2deg) } 75% { transform: translateX(-5px) rotate(1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes chr-bars  { 0% { transform: translateX(0) } 100% { transform: translateX(-20px) } }

.scn-theon-sister-example {
  background: linear-gradient(180deg, #2b1a10 0%, #3d2919 40%, #1f130a 100%),
    radial-gradient(ellipse at 50% 20%, #4a2a1a 0%, transparent 70%);
}
.scn-theon-sister-example .ts-wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #3d2919 0%, #2b1a10 100%);
  box-shadow: inset 0 -20px 30px rgba(0,0,0,0.5);
}
.scn-theon-sister-example .ts-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #2a1a0e 0%, #1a0e06 100%);
}
.scn-theon-sister-example .ts-fire {
  position: absolute; bottom: 38%; left: 30%; width: 40px; height: 60px;
  background: radial-gradient(circle at 50% 60%, #e8a040 0%, #c07030 40%, #804020 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 20% 20%;
  box-shadow: 0 0 30px 15px rgba(200,100,40,0.4);
  animation: ts-flame 1.5s ease-in-out infinite alternate;
}
.scn-theon-sister-example .ts-figure {
  position: absolute; bottom: 35%; left: 50%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: ts-figure 4s ease-in-out infinite;
}
.scn-theon-sister-example .ts-window {
  position: absolute; top: 10%; right: 15%; width: 50px; height: 60px;
  background: linear-gradient(180deg, #4a6a8a 0%, #2a3a4a 100%);
  border: 4px solid #1f130a;
  border-radius: 4px;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.5);
  animation: ts-window 8s ease-in-out infinite alternate;
}
.scn-theon-sister-example .ts-shadow {
  position: absolute; bottom: 35%; left: 45%; width: 30px; height: 40px;
  background: rgba(0,0,0,0.3);
  border-radius: 50%;
  filter: blur(4px);
  animation: ts-shadow 4s ease-in-out infinite alternate;
}
@keyframes ts-flame {
  0% { transform: scaleY(1) rotate(-2deg); opacity: 0.9; }
  50% { transform: scaleY(1.15) rotate(2deg); opacity: 1; }
  100% { transform: scaleY(0.95) rotate(-1deg); opacity: 0.85; }
}
@keyframes ts-figure {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(3px) rotate(1deg); }
  100% { transform: translateX(-2px) rotate(-0.5deg); }
}
@keyframes ts-window {
  0% { box-shadow: inset 0 0 10px rgba(0,0,0,0.5); }
  50% { box-shadow: inset 0 0 15px rgba(0,0,0,0.7); }
  100% { box-shadow: inset 0 0 8px rgba(0,0,0,0.4); }
}
@keyframes ts-shadow {
  0% { transform: translateX(0) scale(1); opacity: 0.3; }
  50% { transform: translateX(5px) scale(1.1); opacity: 0.5; }
  100% { transform: translateX(-3px) scale(0.9); opacity: 0.2; }
}

.scn-inflamed-eyes-compared {
  background: linear-gradient(180deg, #2a303a 0%, #1a222a 50%, #121820 100%),
    radial-gradient(ellipse at 50% 70%, #2a384a 0%, transparent 80%);
}
.scn-inflamed-eyes-compared .ie-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a303a 0%, #1e242c 100%);
}
.scn-inflamed-eyes-compared .ie-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a2028 0%, #101418 100%);
}
.scn-inflamed-eyes-compared .ie-river {
  position: absolute; bottom: 30%; left: 10%; right: 10%; height: 15%;
  background: linear-gradient(180deg, #3a505a 0%, #2a3a42 100%);
  border-radius: 0 0 50% 50% / 0 0 100% 100%;
  animation: ie-river 12s ease-in-out infinite alternate;
}
.scn-inflamed-eyes-compared .ie-figure {
  position: absolute; bottom: 40%; left: 50%; width: 22px; height: 45px;
  background: linear-gradient(180deg, #1a2028 0%, #0e1218 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: ie-figure 6s ease-in-out infinite;
}
.scn-inflamed-eyes-compared .ie-hands {
  position: absolute; bottom: 46%; left: 47%; width: 10px; height: 8px;
  background: linear-gradient(180deg, #1a2028 0%, #0e1218 100%);
  border-radius: 50% 50% 20% 20%;
  transform: rotate(10deg);
  animation: ie-hands 4s ease-in-out infinite alternate;
}
@keyframes ie-river {
  0% { transform: translateY(0) scaleX(1); opacity: 0.4; }
  50% { transform: translateY(2px) scaleX(1.02); opacity: 0.6; }
  100% { transform: translateY(-1px) scaleX(0.98); opacity: 0.3; }
}
@keyframes ie-figure {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-2px) rotate(1deg); }
  100% { transform: translateX(2px) rotate(-0.5deg); }
}
@keyframes ie-hands {
  0% { transform: rotate(10deg) translateY(0); }
  100% { transform: rotate(-5deg) translateY(-3px); }
}

.scn-remember-time-before-birth {
  background: linear-gradient(180deg, #f5e8d0 0%, #e8d4b8 40%, #d4bc9e 100%),
    radial-gradient(ellipse at 80% 20%, #fff8e0 0%, transparent 70%);
}
.scn-remember-time-before-birth .rt-wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #f0e0c8 0%, #e0c8a8 100%);
}
.scn-remember-time-before-birth .rt-window {
  position: absolute; top: 10%; right: 20%; width: 60px; height: 80px;
  background: linear-gradient(180deg, #c0d8e8 0%, #a0b8cc 100%);
  border: 6px solid #b89870;
  border-radius: 6px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.1);
}
.scn-remember-time-before-birth .rt-sunbeam {
  position: absolute; top: 10%; right: 20%; width: 60px; height: 80px;
  background: linear-gradient(135deg, rgba(255,255,220,0.3) 0%, transparent 100%);
  clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%);
  animation: rt-sunbeam 8s ease-in-out infinite alternate;
}
.scn-remember-time-before-birth .rt-chair {
  position: absolute; bottom: 35%; left: 40%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #b8a080 0%, #8a7050 100%);
  border-radius: 10% 10% 20% 20% / 20% 20% 30% 30%;
  box-shadow: 4px 4px 8px rgba(0,0,0,0.15);
  transform: rotate(-3deg);
  animation: rt-chair 5s ease-in-out infinite alternate;
}
.scn-remember-time-before-birth .rt-figure {
  position: absolute; bottom: 38%; left: 45%; width: 20px; height: 35px;
  background: linear-gradient(180deg, #c8b8a0 0%, #a89878 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: rt-figure 4s ease-in-out infinite;
}
.scn-remember-time-before-birth .rt-shadow-child {
  position: absolute; bottom: 35%; left: 38%; width: 12px; height: 20px;
  background: rgba(180,150,120,0.2);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  filter: blur(2px);
  animation: rt-shadow 6s ease-in-out infinite alternate;
}
@keyframes rt-sunbeam {
  0% { opacity: 0.2; transform: scaleX(1); }
  50% { opacity: 0.6; transform: scaleX(1.1); }
  100% { opacity: 0.3; transform: scaleX(0.9); }
}
@keyframes rt-chair {
  0% { transform: rotate(-3deg) translateY(0); }
  50% { transform: rotate(-1deg) translateY(-2px); }
  100% { transform: rotate(-4deg) translateY(1px); }
}
@keyframes rt-figure {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(2px) rotate(1deg); }
  100% { transform: translateX(-1px) rotate(-0.5deg); }
}
@keyframes rt-shadow {
  0% { transform: translateX(0) scale(1); opacity: 0.2; }
  100% { transform: translateX(5px) scale(0.85); opacity: 0.4; }
}

.scn-two-years-pleasure {
  background: linear-gradient(180deg, #f0ca90 0%, #e0b070 40%, #c89050 100%),
    radial-gradient(ellipse at 50% 30%, #ffdba8 0%, transparent 70%);
}
.scn-two-years-pleasure .ty-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #f0d4a0 0%, #e0b880 100%);
}
.scn-two-years-pleasure .ty-table {
  position: absolute; bottom: 30%; left: 30%; right: 30%; height: 10%;
  background: linear-gradient(180deg, #b89060 0%, #8a6a40 100%);
  border-radius: 5px;
  box-shadow: 0 6px 10px rgba(0,0,0,0.2);
}
.scn-two-years-pleasure .ty-candle-left {
  position: absolute; bottom: 42%; left: 33%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #f0d0a0 0%, #b88040 100%);
  border-radius: 50% 50% 20% 20% / 30% 30% 10% 10%;
  box-shadow: 0 0 15px 5px rgba(240,200,100,0.5);
  animation: ty-candle 3s ease-in-out infinite alternate;
}
.scn-two-years-pleasure .ty-candle-right {
  position: absolute; bottom: 42%; right: 33%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #f0d0a0 0%, #b88040 100%);
  border-radius: 50% 50% 20% 20% / 30% 30% 10% 10%;
  box-shadow: 0 0 15px 5px rgba(240,200,100,0.5);
  animation: ty-candle 3s ease-in-out infinite alternate-reverse;
}
.scn-two-years-pleasure .ty-figure {
  position: absolute; bottom: 38%; left: 50%; width: 22px; height: 40px;
  background: linear-gradient(180deg, #d8b888 0%, #a88858 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: ty-figure 5s ease-in-out infinite;
}
.scn-two-years-pleasure .ty-glow {
  position: absolute; bottom: 36%; left: 30%; right: 30%; height: 8%;
  background: radial-gradient(ellipse at 50% 50%, rgba(240,200,100,0.3) 0%, transparent 80%);
  animation: ty-glow 4s ease-in-out infinite alternate;
}
@keyframes ty-candle {
  0% { transform: scaleY(1) rotate(-1deg); box-shadow: 0 0 12px 4px rgba(240,200,100,0.4); }
  50% { transform: scaleY(1.1) rotate(1deg); box-shadow: 0 0 20px 8px rgba(240,200,100,0.6); }
  100% { transform: scaleY(0.95) rotate(-0.5deg); box-shadow: 0 0 10px 3px rgba(240,200,100,0.3); }
}
@keyframes ty-figure {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(3px) rotate(1deg); }
  100% { transform: translateX(-2px) rotate(-0.5deg); }
}
@keyframes ty-glow {
  0% { opacity: 0.3; transform: scaleY(1); }
  50% { opacity: 0.6; transform: scaleY(1.2); }
  100% { opacity: 0.4; transform: scaleY(0.9); }
}

.scn-dolon-vs-ajax-fear {
  background: linear-gradient(180deg, #5a5a6a 0%, #3a3a4a 40%, #2a2a3a 100%), 
              radial-gradient(ellipse at 60% 20%, #7a7a8a 0%, transparent 60%);
}
.scn-dolon-vs-ajax-fear .sky { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #4a4a5a 0%, #3a3a4a 40%, transparent 100%); animation: df-sky 14s ease-in-out infinite alternate; }
.scn-dolon-vs-ajax-fear .ground { position:absolute; bottom:0; left:0; right:0; height:45%; background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); border-radius: 30% 70% 0 0 / 40% 60% 0 0; box-shadow: inset 0 10px 30px rgba(0,0,0,.7); }
.scn-dolon-vs-ajax-fear .warrior { position:absolute; bottom:25%; width:40px; height:80px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; }
.scn-dolon-vs-ajax-fear .hero { left:30%; animation: df-hero 5s ease-in-out infinite alternate; }
.scn-dolon-vs-ajax-fear .coward { right:30%; animation: df-coward 3s ease-in-out infinite; }
.scn-dolon-vs-ajax-fear .spear { position:absolute; bottom:35%; left:28%; width:4px; height:50px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%); transform: rotate(-15deg); transform-origin: bottom center; border-radius: 2px; box-shadow: 2px -2px 4px rgba(0,0,0,.5); animation: df-spear 4s ease-in-out infinite alternate; }
.scn-dolon-vs-ajax-fear .dust { position:absolute; bottom:20%; width:12px; height:12px; background: rgba(180,170,150,0.3); border-radius: 50%; filter: blur(3px); }
.scn-dolon-vs-ajax-fear .dust-a { left:20%; animation: df-dust 6s linear infinite; }
.scn-dolon-vs-ajax-fear .dust-b { left:50%; animation: df-dust 8s linear infinite 2s; }

@keyframes df-sky { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.6 } }
@keyframes df-hero { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 50% { transform: translateX(-5px) translateY(-2px) rotate(2deg) } 100% { transform: translateX(0) translateY(0) rotate(0deg) } }
@keyframes df-coward { 0% { transform: scaleY(1) rotate(5deg) } 25% { transform: scaleY(0.95) rotate(-3deg) } 50% { transform: scaleY(1) rotate(7deg) } 75% { transform: scaleY(0.9) rotate(-5deg) } 100% { transform: scaleY(1) rotate(5deg) } }
@keyframes df-spear { 0% { transform: rotate(-15deg) } 50% { transform: rotate(-10deg) } 100% { transform: rotate(-18deg) } }
@keyframes df-dust { 0% { transform: translateX(0) translateY(0) opacity:.3 } 50% { transform: translateX(30px) translateY(-20px) opacity:.1 } 100% { transform: translateX(60px) translateY(0) opacity:0 } }

.scn-intensity-from-unexpected {
  background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 40%, #1a1a1a 100%), 
              radial-gradient(ellipse at 40% 60%, #3a3a4a 0%, transparent 70%);
}
.scn-intensity-from-unexpected .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(90deg, #2a2a3a 0%, #3a3a4a 50%, #2a2a3a 100%); border-bottom: 2px solid #4a4a5a; }
.scn-intensity-from-unexpected .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); }
.scn-intensity-from-unexpected .table { position:absolute; bottom:20%; left:30%; width:120px; height:10px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:2px; box-shadow: 0 4px 8px rgba(0,0,0,.6); }
.scn-intensity-from-unexpected .candle { position:absolute; bottom:32%; left:36%; width:8px; height:20px; background: linear-gradient(180deg, #c8a060 0%, #705030 100%); border-radius: 50% 50% 10% 10% / 30% 30% 10% 10%; box-shadow: 0 0 20px 4px #d0b070, 0 0 40px 8px rgba(208,176,112,.3); animation: iu-candle 3s ease-in-out infinite alternate; }
.scn-intensity-from-unexpected .figure { position:absolute; bottom:25%; left:50%; width:45px; height:90px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: iu-figure 4s ease-in-out infinite; }
.scn-intensity-from-unexpected .shadow { position:absolute; bottom:18%; left:40%; width:100px; height:20px; background: rgba(0,0,0,0.5); border-radius: 50%; filter: blur(8px); animation: iu-shadow 4s ease-in-out infinite alternate; }
.scn-intensity-from-unexpected .letter { position:absolute; bottom:28%; left:45%; width:40px; height:30px; background: linear-gradient(180deg, #d8c8a8 0%, #b8a888 100%); border-radius: 2px; transform: rotate(-5deg); box-shadow: 1px 2px 4px rgba(0,0,0,.5); animation: iu-letter 2s ease-in-out infinite alternate; }

@keyframes iu-candle { 0% { box-shadow: 0 0 15px 3px #d0b070, 0 0 30px 6px rgba(208,176,112,.2); opacity:.8 } 50% { box-shadow: 0 0 30px 8px #e0c080, 0 0 60px 15px rgba(224,192,128,.5); opacity:1 } 100% { box-shadow: 0 0 20px 5px #c8a060, 0 0 40px 10px rgba(200,160,96,.3); opacity:.85 } }
@keyframes iu-figure { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 25% { transform: translateX(8px) translateY(-2px) rotate(2deg) } 50% { transform: translateX(16px) translateY(0) rotate(-1deg) } 75% { transform: translateX(8px) translateY(-1px) rotate(1deg) } 100% { transform: translateX(0) translateY(0) rotate(0deg) } }
@keyframes iu-shadow { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.2) } 100% { transform: scaleX(1) } }
@keyframes iu-letter { 0% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(0deg) translateY(-3px) } 100% { transform: rotate(-5deg) translateY(0) } }

.scn-anger-magas-vs-nicocreon {
  background: linear-gradient(180deg, #1a0a0a 0%, #2a1a1a 30%, #0a0a0a 100%), 
              radial-gradient(ellipse at 50% 40%, #3a1a1a 0%, transparent 70%);
}
.scn-anger-magas-vs-nicocreon .bg { position:absolute; inset:0; background: linear-gradient(135deg, #1a0a0a 0%, #2a1a1a 50%, #0a0a0a 100%); }
.scn-anger-magas-vs-nicocreon .anvil { position:absolute; bottom:15%; left:50%; width:70px; height:30px; transform:translateX(-50%); background: linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 100%); border-radius: 10% 10% 20% 20%; box-shadow: 0 8px 16px rgba(0,0,0,.8); }
.scn-anger-magas-vs-nicocreon .pestle { position:absolute; bottom:25%; left:45%; width:8px; height:60px; background: linear-gradient(180deg, #5a5a6a 0%, #3a3a4a 100%); border-radius: 4px; transform: rotate(-30deg); transform-origin: bottom center; box-shadow: 2px -2px 4px rgba(0,0,0,.6); animation: am-pestle 1.5s ease-in-out infinite alternate; }
.scn-anger-magas-vs-nicocreon .hand { position:absolute; bottom:28%; left:44%; width:20px; height:25px; background: radial-gradient(circle at 40% 30%, #5a3a2a 0%, #3a1a0a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform: rotate(-20deg); box-shadow: 0 2px 4px rgba(0,0,0,.5); animation: am-hand 1.5s ease-in-out infinite alternate; }
.scn-anger-magas-vs-nicocreon .victim { position:absolute; bottom:10%; right:25%; width:40px; height:70px; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: am-victim 3s ease-in-out infinite; }
.scn-anger-magas-vs-nicocreon .sparks { position:absolute; width:6px; height:6px; background: #c8553d; border-radius: 50%; box-shadow: 0 0 6px 2px #c8553d; filter: blur(1px); }
.scn-anger-magas-vs-nicocreon .sparks-a { bottom:40%; left:40%; animation: am-sparks 0.8s linear infinite; }
.scn-anger-magas-vs-nicocreon .sparks-b { bottom:35%; left:48%; animation: am-sparks 1s linear infinite 0.4s; }

@keyframes am-pestle { 0% { transform: rotate(-30deg) translateY(0) } 50% { transform: rotate(-25deg) translateY(-5px) } 100% { transform: rotate(-30deg) translateY(0) } }
@keyframes am-hand { 0% { transform: rotate(-20deg) translateY(0) } 50% { transform: rotate(-15deg) translateY(-3px) } 100% { transform: rotate(-20deg) translateY(0) } }
@keyframes am-victim { 0% { transform: translateX(0) scaleY(1) } 25% { transform: translateX(-5px) scaleY(0.9) } 50% { transform: translateX(0) scaleY(1) } 75% { transform: translateX(5px) scaleY(0.95) } 100% { transform: translateX(0) scaleY(1) } }
@keyframes am-sparks { 0% { transform: translateY(0) opacity:1 } 50% { transform: translateY(-20px) opacity:.5 } 100% { transform: translateY(-40px) opacity:0 } }

.scn-plato-nerves-of-mind {
  background: linear-gradient(180deg, #f0e8d0 0%, #e0d8c0 30%, #c8c0a8 100%), 
              radial-gradient(ellipse at 30% 50%, #ffffff 0%, transparent 60%);
}
.scn-plato-nerves-of-mind .wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #d8d0b8 0%, #c8c0a8 100%); border-bottom: 2px solid #b8b098; }
.scn-plato-nerves-of-mind .desk { position:absolute; bottom:15%; left:20%; width:120px; height:12px; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%); border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,.3); }
.scn-plato-nerves-of-mind .scroll { position:absolute; bottom:22%; left:28%; width:30px; height:40px; background: linear-gradient(180deg, #e8d8b8 0%, #c8b8a0 100%); border-radius: 2px 2px 20% 20%; transform: rotate(-10deg); box-shadow: 1px 2px 4px rgba(0,0,0,.2); animation: pn-scroll 6s ease-in-out infinite alternate; }
.scn-plato-nerves-of-mind .goblet { position:absolute; bottom:18%; left:50%; width:20px; height:25px; background: linear-gradient(180deg, #a09070 0%, #706050 100%); border-radius: 50% 50% 10% 10% / 60% 60% 10% 10%; box-shadow: 0 2px 4px rgba(0,0,0,.3); }
.scn-plato-nerves-of-mind .thinker { position:absolute; bottom:20%; left:10%; width:50px; height:90px; background: linear-gradient(180deg, #c8b8a0 0%, #a89880 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pn-thinker 8s ease-in-out infinite alternate; }
.scn-plato-nerves-of-mind .light-beam { position:absolute; top:10%; left:30%; width:200px; height:300px; background: linear-gradient(135deg, rgba(255,255,230,0.15) 0%, transparent 100%); transform: rotate(20deg); filter: blur(10px); animation: pn-beam 6s ease-in-out infinite alternate; }
.scn-plato-nerves-of-mind .particles { position:absolute; width:4px; height:4px; background: rgba(255,255,200,0.5); border-radius: 50%; filter: blur(2px); }
.scn-plato-nerves-of-mind .particle-a { top:20%; left:40%; animation: pn-particle 12s linear infinite; }
.scn-plato-nerves-of-mind .particle-b { top:30%; left:60%; animation: pn-particle 15s linear infinite 3s; }

@keyframes pn-scroll { 0% { transform: rotate(-10deg) translateY(0) } 50% { transform: rotate(-5deg) translateY(-2px) } 100% { transform: rotate(-10deg) translateY(0) } }
@keyframes pn-thinker { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(-3px) rotate(2deg) } 100% { transform: translateX(0) rotate(-1deg) } }
@keyframes pn-beam { 0% { opacity:.3 } 50% { opacity:.8 } 100% { opacity:.4 } }
@keyframes pn-particle { 0% { transform: translateY(0) translateX(0) opacity:.5 } 50% { transform: translateY(-40px) translateX(20px) opacity:.2 } 100% { transform: translateY(-80px) translateX(0) opacity:0 } }

.scn-thucydides-i-135 { background: linear-gradient(180deg, #1c1612 0%, #2a221c 40%, #3a2e24 100%), radial-gradient(ellipse at 30% 70%, #4a3a2a 0%, transparent 60%); }
.scn-thucydides-i-135 .bg-wall { position:absolute; inset:0; background: linear-gradient(180deg, #2a221c 0%, #1c1612 100%); animation: tu1-wall 20s ease-in-out infinite alternate; }
.scn-thucydides-i-135 .desk { position:absolute; bottom:20%; left:20%; right:20%; height:8%; background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%); border-radius: 2px; box-shadow: 0 4px 12px rgba(0,0,0,.6); }
.scn-thucydides-i-135 .lamp { position:absolute; bottom:30%; left:30%; width:12px; height:20px; background: linear-gradient(180deg, #b08040 0%, #805820 100%); border-radius: 40% 40% 10% 10%; box-shadow: 0 0 20px 6px #b08040, 0 0 40px 10px rgba(176,128,64,.4); animation: tu1-lamp 5s ease-in-out infinite alternate; }
.scn-thucydides-i-135 .scroll-a { position:absolute; bottom:22%; left:25%; width:30px; height:6px; background: linear-gradient(90deg, #6a5a4a 0%, #8a7a6a 50%, #6a5a4a 100%); border-radius: 2px; transform: rotate(-5deg); box-shadow: 0 2px 4px rgba(0,0,0,.3); }
.scn-thucydides-i-135 .scroll-b { position:absolute; bottom:18%; left:45%; width:25px; height:5px; background: linear-gradient(90deg, #6a5a4a 0%, #7a6a5a 50%, #6a5a4a 100%); border-radius: 2px; transform: rotate(3deg); box-shadow: 0 2px 4px rgba(0,0,0,.3); }
.scn-thucydides-i-135 .figure { position:absolute; bottom:22%; left:50%; width:30px; height:50px; background: linear-gradient(180deg, #1a1410 0%, #0a0806 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: translateX(-50%); animation: tu1-figure 8s ease-in-out infinite; }
.scn-thucydides-i-135 .shadow { position:absolute; bottom:20%; left:20%; right:20%; height:4%; background: rgba(0,0,0,.4); border-radius: 50%; filter: blur(4px); animation: tu1-shadow 8s ease-in-out infinite; }
@keyframes tu1-wall { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes tu1-lamp { 0% { box-shadow: 0 0 16px 4px #b08040, 0 0 32px 8px rgba(176,128,64,.3); opacity:.8 } 50% { box-shadow: 0 0 28px 8px #d0a060, 0 0 56px 14px rgba(208,160,96,.5); opacity:1 } 100% { box-shadow: 0 0 18px 5px #b08040, 0 0 36px 10px rgba(176,128,64,.35); opacity:.85 } }
@keyframes tu1-figure { 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(0) rotate(0deg) } }
@keyframes tu1-shadow { 0% { transform: scale(1) } 50% { transform: scale(.95) } 100% { transform: scale(1) } }

.scn-pausanias-v-14 { background: linear-gradient(180deg, #2a2623 0%, #3a322c 40%, #1f1a16 100%), radial-gradient(ellipse at 50% 20%, #4a4038 0%, transparent 80%); }
.scn-pausanias-v-14 .bg-hall { position:absolute; inset:0; background: linear-gradient(90deg, transparent 0%, rgba(80,70,60,.15) 30%, transparent 50%, rgba(80,70,60,.1) 70%, transparent 100%); animation: pa1-hall 25s ease-in-out infinite alternate; }
.scn-pausanias-v-14 .col-left { position:absolute; bottom:10%; left:20%; width:8px; height:60%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 2px; box-shadow: 2px 0 6px rgba(0,0,0,.3); }
.scn-pausanias-v-14 .col-right { position:absolute; bottom:10%; right:20%; width:8px; height:60%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 2px; box-shadow: -2px 0 6px rgba(0,0,0,.3); }
.scn-pausanias-v-14 .statue-left { position:absolute; bottom:25%; left:15%; width:20px; height:50px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform: rotate(3deg); animation: pa1-statue 12s ease-in-out infinite alternate; }
.scn-pausanias-v-14 .statue-right { position:absolute; bottom:20%; right:15%; width:18px; height:55px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform: rotate(-2deg); animation: pa1-statue 12s ease-in-out infinite alternate-reverse; }
.scn-pausanias-v-14 .figure { position:absolute; bottom:15%; left:50%; width:25px; height:40px; background: linear-gradient(180deg, #1a1410 0%, #0a0806 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: translateX(-50%); animation: pa1-figure 10s ease-in-out infinite; }
.scn-pausanias-v-14 .pedestal-glow { position:absolute; bottom:20%; left:10%; right:10%; height:3%; background: radial-gradient(ellipse at 50%, #b09070 0%, transparent 70%); filter: blur(4px); opacity:.3; animation: pa1-glow 8s ease-in-out infinite alternate; }
@keyframes pa1-hall { 0% { opacity:.6 } 50% { opacity:1 } 100% { opacity:.7 } }
@keyframes pa1-statue { 0% { transform: rotate(2deg) translateY(0) } 50% { transform: rotate(-2deg) translateY(-2px) } 100% { transform: rotate(3deg) translateY(0) } }
@keyframes pa1-figure { 0% { transform: translateX(-50%) translateY(0) rotate(0deg) } 30% { transform: translateX(-50%) translateY(-3px) rotate(2deg) } 60% { transform: translateX(-50%) translateY(-1px) rotate(-1deg) } 100% { transform: translateX(-50%) translateY(0) rotate(0deg) } }
@keyframes pa1-glow { 0% { opacity:.2 } 50% { opacity:.4 } 100% { opacity:.25 } }

.scn-cicero-nat-deor-ii-56 { background: linear-gradient(180deg, #1e1c1a 0%, #2e2824 40%, #3e342e 100%), radial-gradient(ellipse at 50% 60%, #4a3e36 0%, transparent 70%); }
.scn-cicero-nat-deor-ii-56 .bg-atrium { position:absolute; inset:0; background: linear-gradient(180deg, transparent 0%, rgba(60,50,40,.3) 50%, transparent 100%); animation: ci1-atrium 30s ease-in-out infinite alternate; }
.scn-cicero-nat-deor-ii-56 .peristyle-l { position:absolute; bottom:20%; left:10%; width:6px; height:50%; background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); border-radius: 2px; box-shadow: 10px 0 0 #6a5a4a, 20px 0 0 #6a5a4a; }
.scn-cicero-nat-deor-ii-56 .peristyle-r { position:absolute; bottom:20%; right:10%; width:6px; height:50%; background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); border-radius: 2px; box-shadow: -10px 0 0 #6a5a4a, -20px 0 0 #6a5a4a; }
.scn-cicero-nat-deor-ii-56 .basin { position:absolute; bottom:10%; left:35%; right:35%; height:8%; background: linear-gradient(180deg, #4a3e36 0%, #2a221c 100%); border-radius: 20% 20% 10% 10%; box-shadow: inset 0 4px 8px rgba(0,0,0,.5); }
.scn-cicero-nat-deor-ii-56 .water { position:absolute; bottom:11%; left:36%; right:36%; height:6%; background: radial-gradient(ellipse at 50%, #5a4e44 0%, #3a322c 70%); border-radius: 50%; animation: ci1-water 6s ease-in-out infinite alternate; }
.scn-cicero-nat-deor-ii-56 .arch { position:absolute; bottom:30%; left:40%; right:40%; height:20%; background: transparent; border: 4px solid #5a4a3a; border-radius: 50% 50% 0 0; box-shadow: 0 0 8px rgba(0,0,0,.2); }
.scn-cicero-nat-deor-ii-56 .shadow-arcade { position:absolute; bottom:10%; left:10%; right:10%; height:10%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.3) 100%); filter: blur(6px); animation: ci1-shadow 12s ease-in-out infinite alternate; }
@keyframes ci1-atrium { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes ci1-water { 0% { transform: scaleY(1) } 50% { transform: scaleY(.9) } 100% { transform: scaleY(1) } }
@keyframes ci1-shadow { 0% { opacity:.3 } 50% { opacity:.5 } 100% { opacity:.4 } }

.scn-solon-virtue-wealth { background: linear-gradient(180deg, #1a2a1a 0%, #2c3824 30%, #3a4a3a 100%), radial-gradient(ellipse at 50% 100%, #4a5a3a 0%, transparent 70%); }
.scn-solon-virtue-wealth .bg-landscape { position:absolute; inset:0; background: linear-gradient(180deg, #2c3824 0%, #1a2a1a 100%); animation: so1-land 40s ease-in-out infinite alternate; }
.scn-solon-virtue-wealth .path { position:absolute; bottom:30%; left:30%; right:30%; height:2%; background: linear-gradient(90deg, transparent 0%, #5a6a4a 20%, #7a8a5a 50%, #5a6a4a 80%, transparent 100%); filter: blur(1px); animation: so1-path 15s ease-in-out infinite alternate; }
.scn-solon-virtue-wealth .temple { position:absolute; bottom:45%; left:40%; right:40%; height:30%; background: linear-gradient(180deg, #6a6a4a 0%, #4a4a2a 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 4px 12px rgba(0,0,0,.4); clip-path: polygon(10% 0%, 90% 0%, 100% 100%, 0% 100%); }
.scn-solon-virtue-wealth .temple::before { content:''; position:absolute; top:0; left:10%; right:10%; height:0; border-top:4px solid #8a8a5a; }
.scn-solon-virtue-wealth .figure { position:absolute; bottom:25%; left:45%; width:20px; height:35px; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: so1-figure 12s ease-in-out infinite; }
.scn-solon-virtue-wealth .tree-left { position:absolute; bottom:20%; left:10%; width:10px; height:30px; background: linear-gradient(180deg, #3a4a2a 0%, #1a2a0a 100%); border-radius: 30% 30% 20% 20%; transform: rotate(-5deg); animation: so1-tree 18s ease-in-out infinite alternate; }
.scn-solon-virtue-wealth .tree-right { position:absolute; bottom:18%; right:12%; width:12px; height:35px; background: linear-gradient(180deg, #3a4a2a 0%, #1a2a0a 100%); border-radius: 30% 30% 20% 20%; transform: rotate(3deg); animation: so1-tree 18s ease-in-out infinite alternate-reverse; }
.scn-solon-virtue-wealth .distant-light { position:absolute; top:10%; left:45%; right:45%; height:2%; background: radial-gradient(ellipse, #c0d0a0 0%, transparent 70%); filter: blur(6px); animation: so1-light 20s ease-in-out infinite alternate; }
.scn-solon-virtue-wealth .cloud-veil { position:absolute; top:5%; left:0; right:0; height:8%; background: linear-gradient(180deg, rgba(200,200,180,.15) 0%, transparent 100%); animation: so1-cloud 50s linear infinite; }
@keyframes so1-land { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes so1-path { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.05) } 100% { transform: scaleX(.95) } }
@keyframes so1-figure { 0% { transform: translateY(0) rotate(0deg) } 30% { transform: translateY(-4px) rotate(2deg) } 60% { transform: translateY(-2px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes so1-tree { 0% { transform: rotate(-4deg) } 50% { transform: rotate(4deg) } 100% { transform: rotate(-2deg) } }
@keyframes so1-light { 0% { opacity:.3 } 50% { opacity:.6 } 100% { opacity:.4 } }
@keyframes so1-cloud { 0% { transform: translateX(-50px) } 100% { transform: translateX(100vw) } }

/* scene: education-paramount-importance (warm bright-interior) */
.scn-education-paramount-importance {
  background:
    linear-gradient(180deg, #f5e6d0 0%, #e8c9a0 40%, #c8a070 100%),
    radial-gradient(ellipse at 50% 80%, #fff3e0 0%, transparent 70%);
}
.scn-education-paramount-importance .wall {
  position: absolute; inset: 0; background: linear-gradient(90deg, #e0c8a8 0%, #f0d8b8 60%, #dcc0a0 100%);
  box-shadow: inset 0 0 80px rgba(160,100,60,0.15);
  animation: edu1-wall 30s ease-in-out infinite alternate;
}
.scn-education-paramount-importance .window {
  position: absolute; top: 8%; left: 15%; width: 40%; height: 55%;
  background: radial-gradient(ellipse at 50% 30%, #b0d0e8 0%, #8ab4d0 50%, #6a8ea8 100%);
  border-radius: 4px; border: 12px solid #8a6a4a;
  box-shadow: inset 0 0 30px rgba(255,255,200,0.3);
  animation: edu1-window 8s ease-in-out infinite;
}
.scn-education-paramount-importance .desk {
  position: absolute; bottom: 8%; left: 20%; right: 20%; height: 20%;
  background: linear-gradient(180deg, #a07850 0%, #7a5a3a 100%);
  border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  transform: perspective(300px) rotateX(5deg); animation: edu1-desk 12s ease-in-out infinite;
}
.scn-education-paramount-importance .book {
  position: absolute; bottom: 25%; left: 35%; width: 14%; height: 10%;
  background: linear-gradient(135deg, #c85030 0%, #a03a20 100%);
  border-radius: 2px; box-shadow: 2px 2px 6px rgba(0,0,0,0.4);
  transform: rotate(-10deg); animation: edu1-book 4s ease-in-out infinite alternate;
}
.scn-education-paramount-importance .lamp {
  position: absolute; bottom: 22%; left: 55%; width: 8%; height: 18%;
  background: linear-gradient(180deg, #d4a060 0%, #b08040 100%);
  border-radius: 50% 50% 10% 10% / 80% 80% 20% 20%;
  box-shadow: 0 0 40px 15px rgba(255,200,100,0.6);
  animation: edu1-lamp 5s ease-in-out infinite alternate;
}
.scn-education-paramount-importance .figure {
  position: absolute; bottom: 20%; left: 25%; width: 12%; height: 35%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2210 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: edu1-figure 6s ease-in-out infinite;
}
.scn-education-paramount-importance .shadow {
  position: absolute; bottom: 24%; left: 20%; width: 30%; height: 8%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.2) 0%, transparent 70%);
  animation: edu1-shadow 6s ease-in-out infinite;
}
@keyframes edu1-wall { 0% { opacity:0.9; filter: brightness(0.95); } 50% { opacity:1; filter: brightness(1); } 100% { opacity:0.92; filter: brightness(0.98); } }
@keyframes edu1-window { 0% { transform: scale(1) } 50% { transform: scale(1.02) } 100% { transform: scale(0.98) } }
@keyframes edu1-desk { 0% { transform: perspective(300px) rotateX(5deg) translateY(0) } 50% { transform: perspective(300px) rotateX(3deg) translateY(-2px) } 100% { transform: perspective(300px) rotateX(5deg) translateY(0) } }
@keyframes edu1-book { 0% { transform: rotate(-10deg) translateY(0) } 50% { transform: rotate(-8deg) translateY(-1px) } 100% { transform: rotate(-10deg) translateY(0) } }
@keyframes edu1-lamp { 0% { filter: brightness(0.9); box-shadow: 0 0 30px 10px rgba(255,200,100,0.4); } 50% { filter: brightness(1.1); box-shadow: 0 0 50px 20px rgba(255,200,100,0.7); } 100% { filter: brightness(0.95); box-shadow: 0 0 35px 12px rgba(255,200,100,0.5); } }
@keyframes edu1-figure { 0% { transform: translateX(0) } 25% { transform: translateX(3px) } 50% { transform: translateX(0) } 75% { transform: translateX(-3px) } 100% { transform: translateX(0) } }
@keyframes edu1-shadow { 0% { opacity:0.5; transform: scaleX(1) } 50% { opacity:0.3; transform: scaleX(0.9) } 100% { opacity:0.5; transform: scaleX(1) } }

/* scene: noble-birth-advantage (calm bright-interior) */
.scn-noble-birth-advantage {
  background:
    linear-gradient(180deg, #f0e8d8 0%, #d8c8b0 50%, #b8a088 100%),
    radial-gradient(ellipse at 50% 60%, #fff8e8 0%, transparent 70%);
}
.scn-noble-birth-advantage .bg {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 90%, #c0a888 0%, transparent 70%);
  animation: nob2-bg 20s ease-in-out infinite alternate;
}
.scn-noble-birth-advantage .crest {
  position: absolute; top: 20%; left: 50%; width: 30%; height: 40%;
  background: linear-gradient(180deg, #c8a050 0%, #a08030 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%); box-shadow: 0 8px 30px rgba(0,0,0,0.2);
  animation: nob2-crest 12s ease-in-out infinite;
}
.scn-noble-birth-advantage .shield {
  position: absolute; top: 22%; left: 50%; width: 20%; height: 30%;
  background: linear-gradient(135deg, #6a7a8a 0%, #4a5a6a 100%);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  transform: translateX(-50%); box-shadow: 0 4px 10px rgba(0,0,0,0.3);
  animation: nob2-shield 8s ease-in-out infinite alternate;
}
.scn-noble-birth-advantage .ribbon {
  position: absolute; top: 45%; left: 50%; width: 25%; height: 6%;
  background: linear-gradient(90deg, #d08050 0%, #e8a070 50%, #d08050 100%);
  transform: translateX(-50%) rotate(2deg); border-radius: 4px;
  animation: nob2-ribbon 6s ease-in-out infinite;
}
.scn-noble-birth-advantage .pedestal {
  position: absolute; bottom: 10%; left: 50%; width: 40%; height: 12%;
  background: linear-gradient(180deg, #a09080 0%, #807060 100%);
  border-radius: 4px; transform: translateX(-50%);
  box-shadow: 0 -4px 15px rgba(0,0,0,0.2);
  animation: nob2-pedestal 15s ease-in-out infinite alternate;
}
.scn-noble-birth-advantage .light-ray {
  position: absolute; top: 10%; left: 30%; width: 40%; height: 70%;
  background: linear-gradient(180deg, rgba(255,240,200,0.4) 0%, transparent 100%);
  clip-path: polygon(30% 0%, 70% 0%, 55% 100%, 45% 100%);
  animation: nob2-ray 5s ease-in-out infinite alternate;
}
@keyframes nob2-bg { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes nob2-crest { 0% { transform: translateX(-50%) scale(1) } 50% { transform: translateX(-50%) scale(1.02) } 100% { transform: translateX(-50%) scale(0.98) } }
@keyframes nob2-shield { 0% { transform: translateX(-50%) rotate(0deg) } 50% { transform: translateX(-50%) rotate(2deg) } 100% { transform: translateX(-50%) rotate(0deg) } }
@keyframes nob2-ribbon { 0% { transform: translateX(-50%) rotate(2deg) } 50% { transform: translateX(-50%) rotate(0deg) } 100% { transform: translateX(-50%) rotate(2deg) } }
@keyframes nob2-pedestal { 0% { transform: translateX(-50%) translateY(0) } 50% { transform: translateX(-50%) translateY(-3px) } 100% { transform: translateX(-50%) translateY(0) } }
@keyframes nob2-ray { 0% { opacity:0.3 } 50% { opacity:0.6 } 100% { opacity:0.4 } }

/* scene: glory-beauty-health-strength (calm overcast) */
.scn-glory-beauty-health-strength {
  background:
    linear-gradient(180deg, #a0a8b0 0%, #808890 40%, #606870 100%),
    radial-gradient(ellipse at 50% 30%, #c0c8d0 0%, transparent 70%);
}
.scn-glory-beauty-health-strength .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #b0b8c0 0%, #9098a0 100%);
  animation: glo3-sky 15s ease-in-out infinite alternate;
}
.scn-glory-beauty-health-strength .horizon {
  position: absolute; bottom: 35%; left: 0; right: 0; height: 10%;
  background: linear-gradient(180deg, #707880 0%, #585f68 100%);
  border-radius: 60% 40% 0 0 / 80% 60% 0 0;
}
.scn-glory-beauty-health-strength .figure {
  position: absolute; bottom: 15%; left: 50%; width: 10%; height: 35%;
  background: linear-gradient(180deg, #2a2e30 0%, #15181a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%); animation: glo3-figure 8s ease-in-out infinite;
}
.scn-glory-beauty-health-strength .flower {
  position: absolute; bottom: 22%; left: 30%; width: 5%; height: 8%;
  background: radial-gradient(circle, #b0a8a0 0%, #807070 100%);
  border-radius: 50%; animation: glo3-flower 7s ease-in-out infinite;
}
.scn-glory-beauty-health-strength .petal {
  position: absolute; bottom: 22%; left: 30%; width: 5%; height: 4%;
  background: radial-gradient(ellipse, #c8b0a8 0%, #a08078 100%);
  border-radius: 50% 0 50% 0; transform-origin: bottom center;
  animation: glo3-petal 4s ease-in-out infinite alternate;
}
.scn-glory-beauty-health-strength .mist {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 50%, rgba(200,210,220,0.3) 0%, transparent 70%);
  animation: glo3-mist 25s linear infinite alternate;
}
@keyframes glo3-sky { 0% { opacity:0.7 } 50% { opacity:0.9 } 100% { opacity:0.75 } }
@keyframes glo3-figure { 0% { transform: translateX(-50%) translateY(0) } 25% { transform: translateX(-50%) translateY(-2px) } 50% { transform: translateX(-50%) translateY(0) } 75% { transform: translateX(-50%) translateY(-1px) } 100% { transform: translateX(-50%) translateY(0) } }
@keyframes glo3-flower { 0% { transform: scale(1) } 50% { transform: scale(0.95) } 100% { transform: scale(1) } }
@keyframes glo3-petal { 0% { transform: rotate(0deg) scale(1) } 50% { transform: rotate(30deg) scale(0.8) } 100% { transform: rotate(-30deg) scale(1) } }
@keyframes glo3-mist { 0% { opacity:0.2; filter: blur(15px); } 50% { opacity:0.4; filter: blur(20px); } 100% { opacity:0.2; filter: blur(15px); } }

/* scene: education-immortal-divine (warm bright-interior) */
.scn-education-immortal-divine {
  background:
    linear-gradient(180deg, #f0d8c0 0%, #d8b888 40%, #b89868 100%),
    radial-gradient(ellipse at 50% 70%, #ffe0b0 0%, transparent 60%);
}
.scn-education-immortal-divine .bg {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 90%, #c8a070 0%, transparent 70%);
  animation: edu4-bg 30s ease-in-out infinite alternate;
}
.scn-education-immortal-divine .halo {
  position: absolute; top: 10%; left: 50%; width: 40%; height: 40%;
  background: radial-gradient(circle, rgba(255,220,150,0.4) 0%, rgba(255,200,100,0.1) 50%, transparent 70%);
  transform: translateX(-50%); border-radius: 50%;
  animation: edu4-halo 6s ease-in-out infinite alternate;
}
.scn-education-immortal-divine .book {
  position: absolute; bottom: 25%; left: 50%; width: 18%; height: 14%;
  background: linear-gradient(135deg, #8a6040 0%, #6a4830 100%);
  border-radius: 4px; transform: translateX(-50%) rotate(-5deg);
  box-shadow: 0 0 20px 5px rgba(255,200,100,0.3);
  animation: edu4-book 10s ease-in-out infinite;
}
.scn-education-immortal-divine .flame {
  position: absolute; bottom: 35%; left: 50%; width: 4%; height: 10%;
  background: radial-gradient(ellipse, #ffd080 0%, #ffa040 50%, #c06020 100%);
  border-radius: 50% 50% 20% 20% / 80% 80% 20% 20%;
  transform: translateX(-50%); box-shadow: 0 0 30px 10px rgba(255,160,64,0.6);
  animation: edu4-flame 2s ease-in-out infinite alternate;
}
.scn-education-immortal-divine .hand {
  position: absolute; bottom: 28%; left: 42%; width: 6%; height: 10%;
  background: linear-gradient(180deg, #c8a078 0%, #a07850 100%);
  border-radius: 30% 100% 30% 30% / 50% 80% 30% 30%;
  animation: edu4-hand 5s ease-in-out infinite;
}
.scn-education-immortal-divine .particles {
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, #ffe0b0 1px, transparent 1px);
  background-size: 30px 30px;
  animation: edu4-particles 20s linear infinite;
}
@keyframes edu4-bg { 0% { opacity:0.9; filter: brightness(0.95); } 50% { opacity:1; filter: brightness(1); } 100% { opacity:0.92; filter: brightness(0.98); } }
@keyframes edu4-halo { 0% { transform: translateX(-50%) scale(1) } 50% { transform: translateX(-50%) scale(1.05) } 100% { transform: translateX(-50%) scale(0.95) } }
@keyframes edu4-book { 0% { transform: translateX(-50%) rotate(-5deg) } 50% { transform: translateX(-50%) rotate(-2deg) } 100% { transform: translateX(-50%) rotate(-5deg) } }
@keyframes edu4-flame { 0% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(1.1) } 100% { transform: translateX(-50%) scaleY(0.9) } }
@keyframes edu4-hand { 0% { transform: rotate(0deg) } 25% { transform: rotate(5deg) } 50% { transform: rotate(0deg) } 75% { transform: rotate(-5deg) } 100% { transform: rotate(0deg) } }
@keyframes edu4-particles { 0% { background-position: 0 0 } 100% { background-position: 30px 30px } }

.scn-daphnaeus-agrees { background: linear-gradient(180deg, #c8a058 0%, #8c6630 40%, #4a3520 100%), radial-gradient(ellipse at 30% 80%, #e8c878 0%, transparent 70%); }
.scn-daphnaeus-agrees .wall-bg { position:absolute; inset:0 0 40% 0; background: linear-gradient(135deg, #a07a48 0%, #7a5a32 100%); }
.scn-daphnaeus-agrees .floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #5a3a22 0%, #3a2a14 100%); border-top-left-radius:20%; border-top-right-radius:20%; }
.scn-daphnaeus-agrees .table { position:absolute; bottom:15%; left:25%; width:50%; height:8%; background: linear-gradient(180deg, #6a4a2a 0%, #4a321a 100%); border-radius:10% 10% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-daphnaeus-agrees .figure-a { position:absolute; bottom:20%; left:15%; width:14%; height:28%; background: linear-gradient(180deg, #2a2214 0%, #1a120a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: da-figure-a 6s ease-in-out infinite alternate; }
.scn-daphnaeus-agrees .figure-b { position:absolute; bottom:20%; right:20%; width:14%; height:28%; background: linear-gradient(180deg, #2e2614 0%, #1e1610 100%); border-radius: 45% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: da-figure-b 7s ease-in-out infinite alternate; }
.scn-daphnaeus-agrees .lamp-glow { position:absolute; bottom:65%; left:10%; width:30px; height:30px; background: radial-gradient(circle, #f0c878 0%, #c09840 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 40px 12px #d8a858; animation: da-lamp 3s ease-in-out infinite alternate; }
.scn-daphnaeus-agrees .window-light { position:absolute; bottom:35%; right:5%; width:15%; height:25%; background: linear-gradient(135deg, #f0d8a8 0%, #c0a070 100%); border: 2px solid #4a3a22; border-radius:5% 5% 0 0; box-shadow: inset 0 0 20px #ffdd88; animation: da-window 12s ease-in-out infinite; }
@keyframes da-figure-a { 0% { transform: translate(0,0) rotate(-2deg); } 50% { transform: translate(3px,-2px) rotate(1deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes da-figure-b { 0% { transform: translate(0,0) rotate(1deg); } 50% { transform: translate(-3px,-1px) rotate(-1deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes da-lamp { 0% { opacity:.7; box-shadow:0 0 30px 8px #d8a858; } 50% { opacity:1; box-shadow:0 0 50px 18px #f0c878; } 100% { opacity:.8; box-shadow:0 0 35px 10px #d8a858; } }
@keyframes da-window { 0% { opacity:.6; } 50% { opacity:1; } 100% { opacity:.7; } }

.scn-nymphs-dryads-dionysus { background: linear-gradient(180deg, #aab898 0%, #7c8a6c 40%, #4a5a3a 100%), radial-gradient(ellipse at 50% 0%, #d0d8b8 0%, transparent 70%); }
.scn-nymphs-dryads-dionysus .sky-overcast { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #bcc8aa 0%, #9aac86 100%); animation: nd-sky 20s ease-in-out infinite alternate; }
.scn-nymphs-dryads-dionysus .grove-bg { position:absolute; bottom:30%; left:0; right:0; height:30%; background: linear-gradient(180deg, #5e7244 0%, #3a4a2a 100%); border-radius:40% 60% 0 0 / 60% 40% 0 0; box-shadow:inset 0 10px 20px rgba(0,0,0,.3); }
.scn-nymphs-dryads-dionysus .nymph-left { position:absolute; bottom:25%; left:12%; width:16%; height:35%; background: linear-gradient(180deg, #7a6a4a 0%, #4a3a22 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; transform-origin: bottom left; animation: nd-nymph-l 8s ease-in-out infinite; }
.scn-nymphs-dryads-dionysus .nymph-right { position:absolute; bottom:25%; right:15%; width:14%; height:33%; background: linear-gradient(180deg, #6e5a3a 0%, #3a2a14 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; transform-origin: bottom right; animation: nd-nymph-r 9s ease-in-out infinite; }
.scn-nymphs-dryads-dionysus .dionysus-pillar { position:absolute; bottom:40%; left:40%; width:8%; height:20%; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%); border-radius:20% 20% 0 0; box-shadow:0 4px 8px rgba(0,0,0,.3); }
.scn-nymphs-dryads-dionysus .flowers-fore { position:absolute; bottom:12%; left:5%; right:5%; height:8%; background: radial-gradient(circle at 20% 100%, #c8a85a 0%, transparent 60%), radial-gradient(circle at 80% 100%, #a08a44 0%, transparent 50%); }
@keyframes nd-sky { 0% { opacity:.7; background-position:0 0; } 50% { opacity:1; background-position:20px 0; } 100% { opacity:.8; background-position:0 0; } }
@keyframes nd-nymph-l { 0% { transform: translate(0,0) rotate(-3deg) scale(1); } 50% { transform: translate(4px,-2px) rotate(1deg) scale(1.02); } 100% { transform: translate(0,0) rotate(-3deg) scale(1); } }
@keyframes nd-nymph-r { 0% { transform: translate(0,0) rotate(3deg) scale(1); } 50% { transform: translate(-4px,-2px) rotate(-1deg) scale(1.02); } 100% { transform: translate(0,0) rotate(3deg) scale(1); } }

.scn-monstrous-and-thankless { background: linear-gradient(135deg, #c8a048 0%, #8c6830 30%, #4a2a14 100%), radial-gradient(ellipse at 70% 40%, #f0d080 0%, transparent 80%); }
.scn-monstrous-and-thankless .room-wall { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a14 100%); }
.scn-monstrous-and-thankless .podium { position:absolute; bottom:20%; left:35%; width:30%; height:18%; background: linear-gradient(180deg, #5a3a1a 0%, #2a1a0a 100%); border-radius:10% 10% 0 0; box-shadow:0 6px 12px rgba(0,0,0,.6); }
.scn-monstrous-and-thankless .speaker { position:absolute; bottom:25%; left:42%; width:16%; height:40%; background: linear-gradient(180deg, #1a120a 0%, #0a0a04 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: mt-speaker 4s ease-in-out infinite; }
.scn-monstrous-and-thankless .light-beam { position:absolute; top:0; right:12%; width:15%; height:100%; background: linear-gradient(180deg, rgba(255,220,100,.6) 0%, rgba(255,220,100,0) 100%); opacity:.4; animation: mt-beam 2s ease-in-out infinite alternate; }
.scn-monstrous-and-thankless .scroll-desk { position:absolute; bottom:10%; left:10%; width:40%; height:4%; background: linear-gradient(180deg, #4a3a22 0%, #2a1a0a 100%); border-radius:0 0 20% 20%; }
.scn-monstrous-and-thankless .shadow-angle { position:absolute; bottom:0; left:0; width:50%; height:60%; background: linear-gradient(135deg, rgba(0,0,0,.5) 0%, transparent 100%); animation: mt-shadow 6s ease-in-out infinite alternate; }
@keyframes mt-speaker { 0% { transform: translate(0,0) rotate(-2deg); } 25% { transform: translate(4px,-3px) rotate(1deg); } 50% { transform: translate(0,-1px) rotate(-1deg); } 75% { transform: translate(-4px,-3px) rotate(2deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes mt-beam { 0% { opacity:.2; } 50% { opacity:.6; } 100% { opacity:.3; } }
@keyframes mt-shadow { 0% { opacity:.4; } 50% { opacity:.7; } 100% { opacity:.5; } }

.scn-sickness-death-gods { background: linear-gradient(180deg, #1a1410 0%, #2a1e14 40%, #3a2a1a 100%), radial-gradient(ellipse at 50% 100%, #4a3420 0%, transparent 70%); }
.scn-sickness-death-gods .room-dim { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a1e14 0%, #1a1410 100%); }
.scn-sickness-death-gods .bed-frame { position:absolute; bottom:20%; left:20%; width:60%; height:20%; background: linear-gradient(180deg, #5a3a22 0%, #3a2212 100%); border-radius:5% 5% 0 0; box-shadow:inset 0 4px 8px rgba(0,0,0,.5); }
.scn-sickness-death-gods .figure-sleep { position:absolute; bottom:24%; left:30%; width:12%; height:15%; background: linear-gradient(180deg, #2a1e14 0%, #0a0604 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: sd-sleep 10s ease-in-out infinite; }
.scn-sickness-death-gods .conductor { position:absolute; bottom:25%; right:15%; width:10%; height:35%; background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: sd-conductor 12s ease-in-out infinite; }
.scn-sickness-death-gods .candle-glow { position:absolute; bottom:35%; left:15%; width:12px; height:12px; background: radial-gradient(circle, #f0c068 0%, #c09040 70%, transparent 100%); border-radius:50%; box-shadow: 0 0 30px 10px #c09040; animation: sd-candle 4s ease-in-out infinite alternate; }
.scn-sickness-death-gods .window-night { position:absolute; bottom:50%; left:10%; width:20%; height:25%; background: linear-gradient(135deg, #0a0a1a 0%, #1a1a3a 100%); border:2px solid #3a2a1a; border-radius:10%; box-shadow:inset 0 0 10px #000; }
@keyframes sd-sleep { 0% { transform: translate(0,0) scale(1); } 50% { transform: translate(1px,-1px) scale(1.01); } 100% { transform: translate(0,0) scale(1); } }
@keyframes sd-conductor { 0% { transform: translate(0,0) rotate(-1deg); } 50% { transform: translate(2px,-2px) rotate(1deg); } 100% { transform: translate(0,0) rotate(-1deg); } }
@keyframes sd-candle { 0% { opacity:.7; box-shadow:0 0 20px 6px #c09040; } 50% { opacity:1; box-shadow:0 0 40px 14px #f0c068; } 100% { opacity:.8; box-shadow:0 0 25px 8px #c09040; } }

/* Views of Others - library study */
.scn-views-of-others {
  background:
    linear-gradient(180deg, #f5f0e0 0%, #e8dcc8 40%, #d4c4a8 100%),
    radial-gradient(ellipse at 65% 20%, #fff8e8 0%, transparent 60%);
  position: relative;
  overflow: hidden;
}
.scn-views-of-others .wall {
  position: absolute;
  inset: 0 0 30% 0;
  background: linear-gradient(180deg, #eae3d0 0%, #d9cdb4 100%);
}
.scn-views-of-others .shelf-back {
  position: absolute;
  top: 12%;
  left: 5%;
  right: 5%;
  height: 18%;
  background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}
.scn-views-of-others .shelf-front {
  position: absolute;
  top: 35%;
  left: 5%;
  right: 5%;
  height: 12%;
  background: linear-gradient(180deg, #7a6a4a 0%, #5a4a2a 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}
.scn-views-of-others .book-1 {
  position: absolute;
  top: 15%;
  left: 8%;
  width: 12px;
  height: 28px;
  background: linear-gradient(180deg, #b87878 0%, #906868 100%);
  border-radius: 2px 2px 1px 1px;
  transform: rotate(-2deg);
  animation: vo-book 12s ease-in-out infinite alternate;
}
.scn-views-of-others .book-2 {
  position: absolute;
  top: 15%;
  left: 13%;
  width: 10px;
  height: 24px;
  background: linear-gradient(180deg, #7a9a7a 0%, #5a7a5a 100%);
  border-radius: 2px 2px 1px 1px;
  transform: rotate(1deg);
  animation: vo-book 14s ease-in-out infinite alternate-reverse;
}
.scn-views-of-others .book-3 {
  position: absolute;
  top: 15%;
  left: 18%;
  width: 14px;
  height: 30px;
  background: linear-gradient(180deg, #a0886a 0%, #806850 100%);
  border-radius: 2px 2px 1px 1px;
  transform: rotate(-1deg);
  animation: vo-book 16s ease-in-out infinite alternate;
}
.scn-views-of-others .figure-reader {
  position: absolute;
  bottom: 25%;
  left: 50%;
  width: 32px;
  height: 48px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #c8b89a 0%, #8a7a5a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: vo-reader 8s ease-in-out infinite;
  z-index: 2;
}
.scn-views-of-others .lamp {
  position: absolute;
  bottom: 40%;
  left: 30%;
  width: 8px;
  height: 16px;
  background: linear-gradient(180deg, #b0a080 0%, #6a5a3a 100%);
  border-radius: 3px 3px 6px 6px;
  animation: vo-lamp 5s ease-in-out infinite alternate;
  z-index: 1;
}
.scn-views-of-others .light-spot {
  position: absolute;
  bottom: 28%;
  left: 28%;
  width: 60px;
  height: 40px;
  background: radial-gradient(ellipse, rgba(255,240,200,0.4) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(8px);
  animation: vo-light 7s ease-in-out infinite alternate;
}
@keyframes vo-book {
  0% { transform: rotate(-2deg) translateY(0); opacity: 0.9; }
  50% { transform: rotate(1deg) translateY(-1px); opacity: 1; }
  100% { transform: rotate(-1deg) translateY(0); opacity: 0.95; }
}
@keyframes vo-reader {
  0% { transform: translateX(-50%) rotate(0deg) scale(1); }
  30% { transform: translateX(-48%) rotate(3deg) scale(1.02); }
  60% { transform: translateX(-52%) rotate(-2deg) scale(0.98); }
  100% { transform: translateX(-50%) rotate(0deg) scale(1); }
}
@keyframes vo-lamp {
  0% { transform: scaleY(1); opacity: 0.8; }
  50% { transform: scaleY(1.02) rotate(2deg); opacity: 1; }
  100% { transform: scaleY(1) rotate(-1deg); opacity: 0.9; }
}
@keyframes vo-light {
  0% { transform: scale(0.95); opacity: 0.6; }
  50% { transform: scale(1.05); opacity: 0.8; }
  100% { transform: scale(1); opacity: 0.7; }
}

/* Menedemus One Virtue - pedestal room */
.scn-menedemus-one-virtue {
  background:
    linear-gradient(180deg, #f0ebe0 0%, #e2d8c0 40%, #d0c2a0 100%),
    radial-gradient(ellipse at 50% 80%, #e8dcc8 0%, transparent 70%);
  position: relative;
  overflow: hidden;
}
.scn-menedemus-one-virtue .floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 25%;
  background: linear-gradient(180deg, #c4b69a 0%, #a09070 100%);
  box-shadow: inset 0 4px 10px rgba(0,0,0,0.1);
}
.scn-menedemus-one-virtue .wall-panel {
  position: absolute;
  top: 8%;
  left: 20%;
  right: 20%;
  bottom: 25%;
  background: linear-gradient(180deg, #dfd4bc 0%, #cfc0a2 100%);
  border-radius: 4px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}
.scn-menedemus-one-virtue .pedestal {
  position: absolute;
  bottom: 25%;
  left: 50%;
  width: 40px;
  height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #b8a888 0%, #7a6a4a 100%);
  border-radius: 4px 4px 8px 8px;
  animation: me-pedestal 20s ease-in-out infinite alternate;
}
.scn-menedemus-one-virtue .figure-standing {
  position: absolute;
  bottom: 32%;
  left: 50%;
  width: 28px;
  height: 50px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #c0b09a 0%, #8a7a62 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: me-figure 9s ease-in-out infinite;
}
.scn-menedemus-one-virtue .scroll {
  position: absolute;
  bottom: 26%;
  left: 42%;
  width: 14px;
  height: 8px;
  background: linear-gradient(180deg, #d4c8a8 0%, #b8a880 100%);
  border-radius: 6px;
  transform: rotate(-15deg);
  animation: me-scroll 11s ease-in-out infinite alternate;
}
.scn-menedemus-one-virtue .shadow {
  position: absolute;
  bottom: 25%;
  left: 46%;
  width: 24px;
  height: 6px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.15) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(3px);
  animation: me-shadow 10s ease-in-out infinite alternate;
}
.scn-menedemus-one-virtue .glow-ambient {
  position: absolute;
  top: 30%;
  left: 30%;
  width: 120px;
  height: 80px;
  background: radial-gradient(ellipse, rgba(255,250,230,0.3) 0%, transparent 70%);
  filter: blur(12px);
  animation: me-glow 15s ease-in-out infinite alternate;
}
@keyframes me-pedestal {
  0% { transform: translateX(-50%) scaleY(1); }
  50% { transform: translateX(-50%) scaleY(1.01); }
  100% { transform: translateX(-50%) scaleY(0.98); }
}
@keyframes me-figure {
  0% { transform: translateX(-50%) rotate(0deg); opacity: 0.9; }
  33% { transform: translateX(-48%) rotate(2deg); opacity: 1; }
  66% { transform: translateX(-52%) rotate(-1deg); opacity: 0.95; }
  100% { transform: translateX(-50%) rotate(0deg); opacity: 0.9; }
}
@keyframes me-scroll {
  0% { transform: rotate(-15deg) translateY(0); }
  50% { transform: rotate(-10deg) translateY(-2px); }
  100% { transform: rotate(-18deg) translateY(0); }
}
@keyframes me-shadow {
  0% { transform: scaleX(1); opacity: 0.6; }
  50% { transform: scaleX(1.2); opacity: 0.8; }
  100% { transform: scaleX(0.9); opacity: 0.5; }
}
@keyframes me-glow {
  0% { opacity: 0.3; transform: scale(0.95); }
  50% { opacity: 0.5; transform: scale(1.05); }
  100% { opacity: 0.35; transform: scale(1); }
}

/* Aristo Soundness of Mind - desk scene */
.scn-aristo-soundness-of-mind {
  background:
    linear-gradient(180deg, #e8e0c8 0%, #d6c8a8 50%, #c0b090 100%),
    radial-gradient(ellipse at 40% 30%, #f2e8d0 0%, transparent 70%);
  position: relative;
  overflow: hidden;
}
.scn-aristo-soundness-of-mind .desk-bg {
  position: absolute;
  bottom: 20%;
  left: 10%;
  right: 10%;
  height: 35%;
  background: linear-gradient(180deg, #b0a080 0%, #8a7a5a 100%);
  border-radius: 6px;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.1);
}
.scn-aristo-soundness-of-mind .desk-top {
  position: absolute;
  bottom: 42%;
  left: 8%;
  right: 8%;
  height: 5%;
  background: linear-gradient(180deg, #c8b890 0%, #a89878 100%);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}
.scn-aristo-soundness-of-mind .document {
  position: absolute;
  bottom: 40%;
  left: 35%;
  width: 28px;
  height: 20px;
  background: linear-gradient(180deg, #f0e8d0 0%, #d4c8a8 100%);
  border-radius: 2px;
  transform: rotate(-2deg);
  animation: ar-doc 13s ease-in-out infinite alternate;
}
.scn-aristo-soundness-of-mind .inkwell {
  position: absolute;
  bottom: 38%;
  left: 55%;
  width: 8px;
  height: 10px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 30% 30%;
  animation: ar-ink 9s ease-in-out infinite alternate;
}
.scn-aristo-soundness-of-mind .candle {
  position: absolute;
  bottom: 38%;
  left: 25%;
  width: 6px;
  height: 18px;
  background: linear-gradient(180deg, #e8dcc8 0%, #c0b090 100%);
  border-radius: 3px 3px 1px 1px;
  animation: ar-candle 7s ease-in-out infinite alternate;
}
.scn-aristo-soundness-of-mind .flame-glow {
  position: absolute;
  bottom: 50%;
  left: 23%;
  width: 20px;
  height: 20px;
  background: radial-gradient(circle, rgba(255,200,100,0.5) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(6px);
  animation: ar-flame 4s ease-in-out infinite alternate;
}
.scn-aristo-soundness-of-mind .hand-writing {
  position: absolute;
  bottom: 36%;
  left: 40%;
  width: 10px;
  height: 6px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 3px;
  transform: rotate(10deg);
  animation: ar-hand 10s ease-in-out infinite;
}
@keyframes ar-doc {
  0% { transform: rotate(-2deg) translateY(0); opacity: 0.8; }
  50% { transform: rotate(0deg) translateY(-1px); opacity: 1; }
  100% { transform: rotate(-3deg) translateY(0); opacity: 0.85; }
}
@keyframes ar-ink {
  0% { transform: scaleY(1); opacity: 0.9; }
  50% { transform: scaleY(1.05); opacity: 1; }
  100% { transform: scaleY(0.95); opacity: 0.8; }
}
@keyframes ar-candle {
  0% { transform: scaleY(1); opacity: 0.8; }
  50% { transform: scaleY(1.02) rotate(-1deg); opacity: 1; }
  100% { transform: scaleY(0.98) rotate(1deg); opacity: 0.9; }
}
@keyframes ar-flame {
  0% { transform: scale(0.9); opacity: 0.5; }
  50% { transform: scale(1.1); opacity: 0.7; }
  100% { transform: scale(0.95); opacity: 0.6; }
}
@keyframes ar-hand {
  0% { transform: rotate(10deg) translate(0,0); }
  25% { transform: rotate(5deg) translate(2px, -1px); }
  50% { transform: rotate(12deg) translate(4px, 0); }
  75% { transform: rotate(8deg) translate(1px, 1px); }
  100% { transform: rotate(10deg) translate(0,0); }
}

/* Zeno Definition - window light */
.scn-zeno-definition {
  background:
    linear-gradient(180deg, #f2ecd8 0%, #e0d4b8 50%, #c8b898 100%),
    radial-gradient(ellipse at 70% 30%, #fff8e8 0%, transparent 60%);
  position: relative;
  overflow: hidden;
}
.scn-zeno-definition .window-frame {
  position: absolute;
  top: 5%;
  right: 5%;
  width: 80px;
  height: 110px;
  background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.scn-zeno-definition .window-glass {
  position: absolute;
  top: 8%;
  right: 8%;
  width: 72px;
  height: 100px;
  background: linear-gradient(135deg, rgba(200,220,240,0.4) 0%, rgba(180,210,230,0.2) 100%);
  border-radius: 2px;
  animation: ze-glass 20s ease-in-out infinite alternate;
}
.scn-zeno-definition .sunlight-beam {
  position: absolute;
  top: 5%;
  right: 10%;
  width: 60px;
  height: 200px;
  background: linear-gradient(180deg, rgba(255,255,220,0.3) 0%, transparent 80%);
  transform: rotate(-25deg);
  transform-origin: top right;
  border-radius: 2px;
  filter: blur(10px);
  animation: ze-beam 15s ease-in-out infinite alternate;
}
.scn-zeno-definition .figure-zeno {
  position: absolute;
  bottom: 25%;
  left: 30%;
  width: 30px;
  height: 52px;
  background: linear-gradient(180deg, #b8a88a 0%, #7a6a4a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ze-figure 8s ease-in-out infinite;
}
.scn-zeno-definition .cloak {
  position: absolute;
  bottom: 30%;
  left: 28%;
  width: 20px;
  height: 38px;
  background: linear-gradient(180deg, #a09078 0%, #605040 100%);
  border-radius: 50% 50% 30% 30%;
  transform: rotate(5deg);
  animation: ze-cloak 12s ease-in-out infinite alternate;
}
.scn-zeno-definition .tablet {
  position: absolute;
  bottom: 26%;
  left: 36%;
  width: 14px;
  height: 12px;
  background: linear-gradient(180deg, #d0c4a8 0%, #b0a080 100%);
  border-radius: 2px;
  transform: rotate(-8deg);
  animation: ze-tablet 14s ease-in-out infinite alternate;
}
.scn-zeno-definition .shadow-floor {
  position: absolute;
  bottom: 20%;
  left: 28%;
  width: 30px;
  height: 8px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.12) 0%, transparent 80%);
  border-radius: 50%;
  filter: blur(4px);
  animation: ze-shadow 10s ease-in-out infinite alternate;
}
@keyframes ze-glass {
  0% { opacity: 0.3; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(1.02); }
  100% { opacity: 0.35; transform: scale(0.98); }
}
@keyframes ze-beam {
  0% { transform: rotate(-25deg) scaleY(0.9); opacity: 0.4; }
  50% { transform: rotate(-22deg) scaleY(1.1); opacity: 0.7; }
  100% { transform: rotate(-27deg) scaleY(0.95); opacity: 0.5; }
}
@keyframes ze-figure {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(4px) rotate(2deg); }
  75% { transform: translateX(-4px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes ze-cloak {
  0% { transform: rotate(5deg) translateY(0); opacity: 0.9; }
  50% { transform: rotate(2deg) translateY(-2px); opacity: 1; }
  100% { transform: rotate(6deg) translateY(0); opacity: 0.95; }
}
@keyframes ze-tablet {
  0% { transform: rotate(-8deg) translateY(0); }
  50% { transform: rotate(-5deg) translateY(-1px); }
  100% { transform: rotate(-10deg) translateY(0); }
}
@keyframes ze-shadow {
  0% { transform: scaleX(1); opacity: 0.5; }
  50% { transform: scaleX(1.15); opacity: 0.7; }
  100% { transform: scaleX(0.9); opacity: 0.4; }
}

.scn-dying-unmarried-childless { background: linear-gradient(180deg, #e8dcc8 0%, #d4c4aa 40%, #c0b098 100%), radial-gradient(ellipse at 50% 30%, #f5ecd8 0%, transparent 70%); }
.scn-dying-unmarried-childless .wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #ede3d0 0%, #dacbb4 100%); }
.scn-dying-unmarried-childless .floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #b8a88a 0%, #9a8a6e 50%, #7c6e54 100%); }
.scn-dying-unmarried-childless .window-frame { position:absolute; top:12%; left:50%; width:140px; height:200px; transform:translateX(-50%); background: linear-gradient(180deg, #c8b89a 0%, #b0a080 100%); border-radius:4px; box-shadow: inset 0 0 0 8px #a09078, 0 4px 16px rgba(0,0,0,.15); }
.scn-dying-unmarried-childless .window-light { position:absolute; top:14%; left:50%; width:120px; height:170px; transform:translateX(-50%); background: linear-gradient(135deg, #fff8e8 0%, #f0e0c0 50%, #e0c8a0 100%); border-radius:2px; box-shadow: 0 0 40px 20px rgba(255,248,232,.35); animation: sduc-lightpulse 6s ease-in-out infinite alternate; }
.scn-dying-unmarried-childless .chair { position:absolute; bottom:36%; left:50%; width:90px; height:110px; transform:translateX(20px); background: linear-gradient(180deg, #6a5e4a 0%, #4a3e2e 100%); border-radius: 8% 8% 10% 10% / 20% 20% 30% 30%; box-shadow: 0 4px 12px rgba(0,0,0,.3); }
.scn-dying-unmarried-childless .figure-seated { position:absolute; bottom:36%; left:50%; width:44px; height:80px; transform:translateX(22px); background: linear-gradient(180deg, #8a7a6a 0%, #5a4e3e 50%, #3a3228 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; transform-origin: bottom center; animation: sduc-figure 8s ease-in-out infinite; }
.scn-dying-unmarried-childless .dust-a { position:absolute; top:30%; left:35%; width:4px; height:4px; background:rgba(255,248,232,.6); border-radius:50%; filter: blur(1px); animation: sduc-dust 14s linear infinite; }
.scn-dying-unmarried-childless .dust-b { position:absolute; top:25%; left:55%; width:3px; height:3px; background:rgba(255,248,232,.5); border-radius:50%; filter: blur(1px); animation: sduc-dust 18s linear infinite 3s; }
@keyframes sduc-lightpulse { 0% { opacity:.75; box-shadow: 0 0 30px 15px rgba(255,248,232,.25) } 50% { opacity:1; box-shadow: 0 0 50px 25px rgba(255,248,232,.45) } 100% { opacity:.8; box-shadow: 0 0 35px 18px rgba(255,248,232,.3) } }
@keyframes sduc-figure { 0%,100% { transform: translateX(22px) translateY(0) rotate(0) } 25% { transform: translateX(24px) translateY(-1px) rotate(1deg) } 50% { transform: translateX(22px) translateY(-2px) rotate(0) } 75% { transform: translateX(20px) translateY(-1px) rotate(-1deg) } }
@keyframes sduc-dust { 0% { transform: translateY(0) translateX(0) scale(1); opacity:.6 } 25% { transform: translateY(-20px) translateX(15px) scale(1.2); opacity:.8 } 50% { transform: translateY(-40px) translateX(-10px) scale(.9); opacity:.5 } 75% { transform: translateY(-60px) translateX(20px) scale(1.1); opacity:.3 } 100% { transform: translateY(-80px) translateX(-5px) scale(.8); opacity:0 } }

.scn-little-things-deprived { background: linear-gradient(180deg, #1e2228 0%, #2a2e36 40%, #1a1e24 100%), radial-gradient(ellipse at 50% 80%, #2a323e 0%, transparent 70%); }
.scn-little-things-deprived .bg-shadow { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 60%, transparent 0%, rgba(0,0,0,.4) 70%); }
.scn-little-things-deprived .shelf { position:absolute; bottom:40%; left:20%; right:20%; height:8px; background: linear-gradient(90deg, #4a3a2a 0%, #5a4a3a 50%, #4a3a2a 100%); border-radius:2px; box-shadow: 0 2px 8px rgba(0,0,0,.5); }
.scn-little-things-deprived .tiny-box { position:absolute; bottom:44%; left:30%; width:30px; height:24px; background: linear-gradient(135deg, #7a6a4a 0%, #5a4a2e 100%); border-radius:2px; box-shadow: 0 2px 6px rgba(0,0,0,.5); animation: sltd-glow 5s ease-in-out infinite; }
.scn-little-things-deprived .tiny-star { position:absolute; bottom:46%; left:55%; width:16px; height:16px; background: radial-gradient(circle, #f0d080 0%, #c8a850 60%); border-radius:50%; box-shadow: 0 0 20px 6px rgba(200,168,80,.5), 0 0 40px 12px rgba(200,168,80,.2); animation: sltd-star 4s ease-in-out infinite alternate; }
.scn-little-things-deprived .child-hand { position:absolute; bottom:38%; left:32%; width:20px; height:14px; background: linear-gradient(180deg, #c8b098 0%, #a89078 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom left; filter: blur(1px); animation: sltd-hand 6s ease-in-out infinite; }
.scn-little-things-deprived .glow-left { position:absolute; bottom:30%; left:15%; width:40px; height:40px; background: radial-gradient(circle, rgba(240,208,128,.15) 0%, transparent 70%); border-radius:50%; animation: sltd-drift 20s ease-in-out infinite; }
.scn-little-things-deprived .glow-right { position:absolute; bottom:25%; right:20%; width:50px; height:50px; background: radial-gradient(circle, rgba(200,168,80,.1) 0%, transparent 70%); border-radius:50%; animation: sltd-drift 25s ease-in-out infinite 4s; }
@keyframes sltd-glow { 0%,100% { opacity:.6; box-shadow: 0 2px 6px rgba(0,0,0,.5) } 50% { opacity:1; box-shadow: 0 2px 12px rgba(122,106,74,.4), 0 0 20px rgba(122,106,74,.15) } }
@keyframes sltd-star { 0% { transform: scale(.85); box-shadow: 0 0 15px 4px rgba(200,168,80,.35), 0 0 30px 8px rgba(200,168,80,.1) } 50% { transform: scale(1.1); box-shadow: 0 0 28px 10px rgba(200,168,80,.6), 0 0 50px 18px rgba(200,168,80,.25) } 100% { transform: scale(.9); box-shadow: 0 0 18px 5px rgba(200,168,80,.4), 0 0 35px 10px rgba(200,168,80,.15) } }
@keyframes sltd-hand { 0%,100% { transform: translate(0, 0) rotate(0) } 30% { transform: translate(8px, -4px) rotate(8deg) } 60% { transform: translate(12px, -2px) rotate(12deg) } 80% { transform: translate(4px, -1px) rotate(5deg) } }
@keyframes sltd-drift { 0% { transform: translate(0, 0) scale(1); opacity:.5 } 33% { transform: translate(20px, -10px) scale(1.1); opacity:.7 } 66% { transform: translate(-10px, -20px) scale(.9); opacity:.4 } 100% { transform: translate(5px, -5px) scale(1); opacity:.5 } }

.scn-soul-incorruptible-bird { background: linear-gradient(180deg, #2a2030 0%, #3a2848 40%, #4a3860 100%), radial-gradient(ellipse at 50% 30%, #6a4878 0%, transparent 60%); }
.scn-soul-incorruptible-bird .sanctuary-wall { position:absolute; inset:0; background: linear-gradient(180deg, #3a2a4a 0%, #2a1a38 100%); }
.scn-soul-incorruptible-bird .sanctuary-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #4a3850 0%, #2a2030 100%); }
.scn-soul-incorruptible-bird .window-arch { position:absolute; top:10%; left:50%; width:160px; height:220px; transform:translateX(-50%); background: linear-gradient(180deg, #5a4a68 0%, #4a3858 100%); border-radius: 50% 50% 4% 4% / 60% 60% 10% 10%; box-shadow: inset 0 0 0 10px #4a3860, 0 8px 24px rgba(0,0,0,.4); }
.scn-soul-incorruptible-bird .light-ray { position:absolute; top:12%; left:50%; width:120px; height:280px; transform:translateX(-50%); background: linear-gradient(180deg, rgba(255,216,160,.6) 0%, rgba(255,216,160,.2) 40%, transparent 100%); clip-path: polygon(20% 0%, 80% 0%, 55% 100%, 45% 100%); animation: ssib-light 8s ease-in-out infinite alternate; }
.scn-soul-incorruptible-bird .bird-body { position:absolute; top:30%; left:50%; width:30px; height:20px; transform:translateX(-50%); background: linear-gradient(180deg, #f0d080 0%, #d4b060 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 0 12px 4px rgba(240,208,128,.3); animation: ssib-bird 3s ease-in-out infinite; }
.scn-soul-incorruptible-bird .wing-up { position:absolute; top:28%; left:46%; width:22px; height:10px; transform-origin: right center; background: linear-gradient(180deg, #e8c870 0%, #c8a850 100%); border-radius: 80% 20% 50% 50% / 60% 40% 60% 40%; filter: blur(.5px); animation: ssib-wingup .6s ease-in-out infinite alternate; }
.scn-soul-incorruptible-bird .wing-down { position:absolute; top:32%; left:52%; width:22px; height:10px; transform-origin: left center; background: linear-gradient(180deg, #e8c870 0%, #c8a850 100%); border-radius: 20% 80% 50% 50% / 40% 60% 40% 60%; filter: blur(.5px); animation: ssib-wingdown .6s ease-in-out infinite alternate; }
.scn-soul-incorruptible-bird .mote-a { position:absolute; top:20%; left:40%; width:4px; height:4px; background:rgba(255,216,160,.7); border-radius:50%; filter: blur(2px); animation: ssib-mote 12s linear infinite; }
.scn-soul-incorruptible-bird .mote-b { position:absolute; top:35%; left:55%; width:3px; height:3px; background:rgba(255,216,160,.5); border-radius:50%; filter: blur(2px); animation: ssib-mote 16s linear infinite 5s; }
@keyframes ssib-light { 0% { opacity:.4; transform: translateX(-50%) scale(1) } 50% { opacity:.8; transform: translateX(-48%) scale(1.05) } 100% { opacity:.5; transform: translateX(-52%) scale(.95) } }
@keyframes ssib-bird { 0%,100% { transform: translateX(-50%) translateY(0) rotate(0) } 25% { transform: translateX(-50%) translateY(-6px) rotate(-2deg) } 50% { transform: translateX(-50%) translateY(-2px) rotate(0) } 75% { transform: translateX(-50%) translateY(-8px) rotate(2deg) } }
@keyframes ssib-wingup { 0% { transform: rotate(-10deg) scaleY(1) } 100% { transform: rotate(-45deg) scaleY(.7) } }
@keyframes ssib-wingdown { 0% { transform: rotate(10deg) scaleY(1) } 100% { transform: rotate(45deg) scaleY(.7) } }
@keyframes ssib-mote { 0% { transform: translateY(0) translateX(0) scale(1); opacity:.7 } 25% { transform: translateY(-30px) translateX(20px) scale(1.3); opacity:1 } 50% { transform: translateY(-60px) translateX(-15px) scale(.8); opacity:.5 } 75% { transform: translateY(-100px) translateX(25px) scale(1.1); opacity:.3 } 100% { transform: translateY(-140px) translateX(-10px) scale(.6); opacity:0 } }

.scn-old-age-soul-clinging { background: linear-gradient(180deg, #1a1618 0%, #2a2220 40%, #1a1412 100%), radial-gradient(ellipse at 50% 50%, #3a2a22 0%, transparent 70%); }
.scn-old-age-soul-clinging .room-dark { position:absolute; inset:0; background: radial-gradient(ellipse at 40% 60%, transparent 20%, rgba(0,0,0,.5) 80%); }
.scn-old-age-soul-clinging .chair-old { position:absolute; bottom:20%; left:50%; width:120px; height:140px; transform:translateX(-50%); background: linear-gradient(180deg, #3a2a1e 0%, #1a1410 100%); border-radius: 10% 10% 12% 12% / 20% 20% 30% 30%; box-shadow: 2px 4px 12px rgba(0,0,0,.6); }
.scn-old-age-soul-clinging .figure-clinging { position:absolute; bottom:20%; left:50%; width:60px; height:120px; transform:translateX(-50%); background: linear-gradient(180deg, #4a3a2e 0%, #2a1e18 100%); border-radius: 50% 50% 45% 45% / 60% 60% 35% 35%; transform-origin: bottom center; animation: soasc-figure 10s ease-in-out infinite; }
.scn-old-age-soul-clinging .hand-grip { position:absolute; bottom:40%; left:44%; width:12px; height:20px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1e 100%); border-radius: 30% 30% 50% 50% / 40% 40% 60% 60%; transform-origin: top center; animation: soasc-grip 6s ease-in-out infinite alternate; }
.scn-old-age-soul-clinging .shadow-pool { position:absolute; bottom:8%; left:35%; right:35%; height:60px; background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,.5) 0%, transparent 70%); animation: soasc-pool 12s ease-in-out infinite; }
.scn-old-age-soul-clinging .hearth-glow { position:absolute; bottom:10%; left:20%; width:30px; height:30px; background: radial-gradient(circle, rgba(200,120,60,.2) 0%, transparent 70%); border-radius:50%; animation: soasc-hearth 7s ease-in-out infinite alternate; }
@keyframes soasc-figure { 0%,100% { transform: translateX(-50%) translateY(0) rotate(0) } 30% { transform: translateX(-50%) translateY(-2px) rotate(1deg) } 60% { transform: translateX(-50%) translateY(-4px) rotate(-1deg) } 80% { transform: translateX(-50%) translateY(-1px) rotate(0) } }
@keyframes soasc-grip { 0% { transform: rotate(0) scale(1) } 50% { transform: rotate(5deg) scale(1.05) } 100% { transform: rotate(-5deg) scale(.95) } }
@keyframes soasc-pool { 0%,100% { opacity:.5; transform: scaleX(1) } 50% { opacity:.8; transform: scaleX(1.1) } }
@keyframes soasc-hearth { 0% { opacity:.3; transform: scale(1) } 50% { opacity:.7; transform: scale(1.3) } 100% { opacity:.4; transform: scale(.9) } }

/* chrysippus-swarm-of-virtues */
.scn-chrysippus-swarm-of-virtues {
  background: linear-gradient(180deg, #e8e0d0 0%, #c8b8a0 40%, #a89880 100%),
              radial-gradient(ellipse at 60% 30%, #f0e8d8 0%, transparent 60%);
}
.scn-chrysippus-swarm-of-virtues .room-back {
  position: absolute; inset: 0; background: linear-gradient(135deg, #d8d0c0 0%, #b8a890 100%); border-radius: 0; animation: ch-room-pulse 12s ease-in-out infinite alternate;
}
.scn-chrysippus-swarm-of-virtues .window {
  position: absolute; top: 12%; left: 20%; width: 30%; height: 50%; background: radial-gradient(ellipse at center, #fff8e8 0%, #d0c0a0 70%); border-radius: 10% / 20%; box-shadow: inset 0 0 40px rgba(255,255,200,.3); animation: ch-window-glow 8s ease-in-out infinite alternate;
}
.scn-chrysippus-swarm-of-virtues .light-ray {
  position: absolute; top: 8%; left: 25%; width: 2px; height: 80%; background: linear-gradient(180deg, rgba(255,240,200,.6) 0%, transparent 100%); border-radius: 50%; transform: rotate(8deg); filter: blur(4px); animation: ch-ray 6s ease-in-out infinite alternate;
}
.scn-chrysippus-swarm-of-virtues .virtue {
  position: absolute; border-radius: 50%; background: radial-gradient(circle, #f0e8c8 0%, #d0c090 60%); box-shadow: 0 0 20px rgba(200,180,120,.5);
}
.scn-chrysippus-swarm-of-virtues .virtue-1 {
  width: 14px; height: 14px; top: 40%; left: 35%; animation: ch-virtue-float 7s ease-in-out infinite, ch-virtue-color 9s ease-in-out infinite;
}
.scn-chrysippus-swarm-of-virtues .virtue-2 {
  width: 10px; height: 10px; top: 50%; left: 50%; animation: ch-virtue-float 9s ease-in-out infinite reverse, ch-virtue-color 11s ease-in-out infinite;
}
.scn-chrysippus-swarm-of-virtues .virtue-3 {
  width: 12px; height: 12px; top: 30%; right: 30%; animation: ch-virtue-float 8s ease-in-out infinite 2s, ch-virtue-color 10s ease-in-out infinite 1s;
}
.scn-chrysippus-swarm-of-virtues .virtue-4 {
  width: 8px; height: 8px; bottom: 35%; left: 20%; animation: ch-virtue-float 10s ease-in-out infinite 4s, ch-virtue-color 12s ease-in-out infinite 2s;
}
.scn-chrysippus-swarm-of-virtues .virtue-5 {
  width: 16px; height: 16px; bottom: 40%; right: 25%; animation: ch-virtue-float 6s ease-in-out infinite 1s, ch-virtue-color 8s ease-in-out infinite 0.5s;
}
.scn-chrysippus-swarm-of-virtues .scroll {
  position: absolute; bottom: 20%; left: 38%; width: 24%; height: 12%; background: linear-gradient(180deg, #e0d4b8 0%, #c8b898 100%); border-radius: 4% 4% 30% 30% / 10% 10% 40% 40%; box-shadow: 0 4px 8px rgba(0,0,0,.15); animation: ch-scroll-breathe 15s ease-in-out infinite;
}
@keyframes ch-room-pulse { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes ch-window-glow { 0% { box-shadow: inset 0 0 30px rgba(255,255,200,.2) } 50% { box-shadow: inset 0 0 50px rgba(255,255,200,.4) } 100% { box-shadow: inset 0 0 30px rgba(255,255,200,.2) } }
@keyframes ch-ray { 0% { transform: rotate(8deg) scaleY(1) } 50% { transform: rotate(10deg) scaleY(1.05) } 100% { transform: rotate(6deg) scaleY(.95) } }
@keyframes ch-virtue-float { 0% { transform: translate(0,0) scale(1) } 33% { transform: translate(3px,-4px) scale(1.1) } 66% { transform: translate(-2px,2px) scale(.9) } 100% { transform: translate(0,0) scale(1) } }
@keyframes ch-virtue-color { 0% { background: radial-gradient(circle, #f0e8c8 0%, #d0c090 60%) } 33% { background: radial-gradient(circle, #f8f0d8 0%, #dcc8a0 60%) } 66% { background: radial-gradient(circle, #e8dcc0 0%, #c8b080 60%) } 100% { background: radial-gradient(circle, #f0e8c8 0%, #d0c090 60%) } }
@keyframes ch-scroll-breathe { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.03) } 100% { transform: scaleY(1) } }

/* all-agree-virtue-reason */
.scn-all-agree-virtue-reason {
  background: linear-gradient(180deg, #ebdfd0 0%, #cbb7a0 50%, #a7917a 100%),
              radial-gradient(ellipse at 50% 40%, #f2e5d5 0%, transparent 70%);
}
.scn-all-agree-virtue-reason .chamber {
  position: absolute; inset: 0; background: linear-gradient(135deg, #d8ccbf 0%, #b8a492 100%); border-radius: 0;
}
.scn-all-agree-virtue-reason .pedestal {
  position: absolute; bottom: 20%; left: 42%; width: 16%; height: 30%; background: linear-gradient(180deg, #ad9a87 0%, #8c7a68 100%); border-radius: 20% 20% 10% 10% / 50% 50% 20% 20%; box-shadow: 0 -6px 12px rgba(0,0,0,.2);
}
.scn-all-agree-virtue-reason .figure-reason {
  position: absolute; bottom: 38%; left: 47%; width: 6%; height: 18%; background: linear-gradient(180deg, #b8a48e 0%, #8a7760 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: aa-figure 4s ease-in-out infinite alternate;
}
.scn-all-agree-virtue-reason .halo {
  position: absolute; top: 32%; left: 44%; width: 12%; height: 12%; background: radial-gradient(circle, #f5e8d8 0%, rgba(245,232,216,.3) 60%, transparent 100%); border-radius: 50%; animation: aa-halo 6s ease-in-out infinite alternate;
}
.scn-all-agree-virtue-reason .radial-ray {
  position: absolute; width: 2px; height: 80%; bottom: 40%; background: linear-gradient(180deg, rgba(240,220,180,.5) 0%, transparent 100%); transform-origin: bottom center; border-radius: 50%;
}
.scn-all-agree-virtue-reason .ray-1 { left: 40%; transform: rotate(-15deg); animation: aa-ray 7s ease-in-out infinite; }
.scn-all-agree-virtue-reason .ray-2 { left: 50%; transform: rotate(0deg); animation: aa-ray 7s ease-in-out infinite 1s; }
.scn-all-agree-virtue-reason .ray-3 { left: 60%; transform: rotate(15deg); animation: aa-ray 7s ease-in-out infinite 2s; }
.scn-all-agree-virtue-reason .shadow {
  position: absolute; bottom: 18%; left: 36%; width: 28%; height: 6%; background: radial-gradient(ellipse, rgba(0,0,0,.15) 0%, transparent 100%); animation: aa-shadow 8s ease-in-out infinite;
}
@keyframes aa-figure { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-4px) rotate(2deg) } 100% { transform: translateY(0) rotate(-2deg) } }
@keyframes aa-halo { 0% { transform: scale(1); opacity: .7 } 50% { transform: scale(1.1); opacity: 1 } 100% { transform: scale(.95); opacity: .8 } }
@keyframes aa-ray { 0% { opacity: .4 } 50% { opacity: .8 } 100% { opacity: .5 } }
@keyframes aa-shadow { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.2) } 100% { transform: scaleX(1) } }

/* passion-vicious-reason */
.scn-passion-vicious-reason {
  background: linear-gradient(180deg, #2c2622 0%, #1f1a16 50%, #14100c 100%),
              radial-gradient(ellipse at 50% 50%, #3d332c 0%, transparent 70%);
}
.scn-passion-vicious-reason .dark-bg {
  position: absolute; inset: 0; background: linear-gradient(90deg, #2e2824 0%, #1b1613 100%); border-radius: 0; animation: pv-bg-pulse 15s ease-in-out infinite alternate;
}
.scn-passion-vicious-reason .split-line {
  position: absolute; top: 20%; left: 49%; width: 2%; height: 60%; background: linear-gradient(180deg, #6a5a4a 0%, #8a6a4a 30%, #5a4a3a 100%); border-radius: 10%; box-shadow: 0 0 10px rgba(150,100,60,.4); animation: pv-split 5s ease-in-out infinite alternate;
}
.scn-passion-vicious-reason .figure-left {
  position: absolute; bottom: 25%; left: 30%; width: 12%; height: 30%; background: linear-gradient(180deg, #4a3e34 0%, #2e221a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pv-figure-left 4s ease-in-out infinite;
}
.scn-passion-vicious-reason .figure-right {
  position: absolute; bottom: 25%; right: 30%; width: 12%; height: 30%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pv-figure-right 5s ease-in-out infinite reverse;
}
.scn-passion-vicious-reason .chain {
  position: absolute; width: 4px; height: 15%; background: linear-gradient(180deg, #a09080 0%, #706050 100%); border-radius: 20%; transform-origin: top center; animation: pv-chain 6s ease-in-out infinite;
}
.scn-passion-vicious-reason .chain-1 { top: 35%; left: 35%; transform: rotate(12deg); animation-delay: 0s; }
.scn-passion-vicious-reason .chain-2 { top: 35%; right: 35%; transform: rotate(-8deg); animation-delay: 2s; }
.scn-passion-vicious-reason .spark {
  position: absolute; top: 42%; left: 48%; width: 8px; height: 8px; background: radial-gradient(circle, #f0c060 0%, #c08030 60%); border-radius: 50%; box-shadow: 0 0 30px 10px rgba(200,130,50,.7); animation: pv-spark 2s ease-in-out infinite alternate;
}
@keyframes pv-bg-pulse { 0% { opacity: .8 } 50% { opacity: .95 } 100% { opacity: .85 } }
@keyframes pv-split { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.2); box-shadow: 0 0 20px rgba(150,100,60,.6) } 100% { transform: scaleX(1) } }
@keyframes pv-figure-left { 0% { transform: translateX(0) rotate(0deg) } 33% { transform: translateX(-8px) rotate(-3deg) } 66% { transform: translateX(4px) rotate(2deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes pv-figure-right { 0% { transform: translateX(0) rotate(0deg) } 33% { transform: translateX(8px) rotate(3deg) } 66% { transform: translateX(-4px) rotate(-2deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes pv-chain { 0% { transform: rotate(12deg) scaleY(1) } 50% { transform: rotate(8deg) scaleY(1.1) } 100% { transform: rotate(12deg) scaleY(1) } }
@keyframes pv-spark { 0% { transform: scale(1); opacity: .8 } 100% { transform: scale(1.5); opacity: 1 } }

/* pythagoras-music-soothe */
.scn-pythagoras-music-soothe {
  background: linear-gradient(180deg, #f2e8d8 0%, #d8c8b0 40%, #b8a48a 100%),
              radial-gradient(ellipse at 50% 60%, #f5eee0 0%, transparent 60%);
}
.scn-pythagoras-music-soothe .room-warm {
  position: absolute; inset: 0; background: linear-gradient(135deg, #e8dccc 0%, #c8b8a2 100%); border-radius: 0; animation: pm-room 10s ease-in-out infinite alternate;
}
.scn-pythagoras-music-soothe .lyre {
  position: absolute; bottom: 30%; left: 40%; width: 20%; height: 30%; background: linear-gradient(180deg, #c0a880 0%, #a08860 100%); border-radius: 50% 50% 20% 20% / 80% 80% 20% 20%; box-shadow: 0 8px 20px rgba(0,0,0,.2); animation: pm-lyre 6s ease-in-out infinite;
}
.scn-pythagoras-music-soothe .string {
  position: absolute; bottom: 32%; width: 1px; background: linear-gradient(180deg, #6a5a4a 0%, #8a7a6a 50%, #6a5a4a 100%); border-radius: 50%; transform-origin: bottom center;
}
.scn-pythagoras-music-soothe .string-1 { left: 43%; height: 60%; transform: rotate(-5deg); animation: pm-string1 3s ease-in-out infinite; }
.scn-pythagoras-music-soothe .string-2 { left: 49%; height: 65%; animation: pm-string2 3.2s ease-in-out infinite; }
.scn-pythagoras-music-soothe .string-3 { left: 55%; height: 60%; transform: rotate(5deg); animation: pm-string3 2.8s ease-in-out infinite; }
.scn-pythagoras-music-soothe .wave {
  position: absolute; bottom: 10%; width: 40%; height: 8%; background: radial-gradient(ellipse, rgba(200,180,150,.2) 0%, transparent 80%); border-radius: 50%; animation: pm-wave 8s ease-in-out infinite;
}
.scn-pythagoras-music-soothe .wave-1 { left: 10%; animation-delay: 0s; }
.scn-pythagoras-music-soothe .wave-2 { right: 10%; animation-delay: 4s; }
.scn-pythagoras-music-soothe .glow-note {
  position: absolute; top: 20%; left: 60%; width: 10px; height: 10px; background: radial-gradient(circle, #f0d8a0 0%, rgba(240,216,160,.3) 70%); border-radius: 50%; box-shadow: 0 0 40px 15px rgba(240,216,160,.5); animation: pm-note 5s ease-in-out infinite alternate;
}
@keyframes pm-room { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes pm-lyre { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-3px) rotate(1deg) } 100% { transform: translateY(0) rotate(-1deg) } }
@keyframes pm-string1 { 0% { transform: rotate(-5deg) scaleY(1) } 50% { transform: rotate(-2deg) scaleY(1.02) } 100% { transform: rotate(-5deg) scaleY(1) } }
@keyframes pm-string2 { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.03) } 100% { transform: scaleY(1) } }
@keyframes pm-string3 { 0% { transform: rotate(5deg) scaleY(1) } 50% { transform: rotate(2deg) scaleY(1.02) } 100% { transform: rotate(5deg) scaleY(1) } }
@keyframes pm-wave { 0% { transform: scaleX(1) translateX(0) } 50% { transform: scaleX(1.15) translateX(10px) } 100% { transform: scaleX(1) translateX(0) } }
@keyframes pm-note { 0% { transform: translateY(0) scale(1); opacity: .7 } 50% { transform: translateY(-20px) scale(1.3); opacity: 1 } 100% { transform: translateY(0) scale(1); opacity: .7 } }

/* menander-alas-where-brains */
.scn-menander-alas-where-brains {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2a1a1a 40%, #1a0e0e 100%),
    radial-gradient(ellipse at 50% 100%, #2a1a1a 0%, transparent 80%);
  background-blend-mode: normal;
  position: relative;
  overflow: hidden;
}
.scn-menander-alas-where-brains .wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%);
  animation: mw-wall 6s ease-in-out infinite alternate;
}
.scn-menander-alas-where-brains .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(0deg, #1a1210 0%, #2a1e1a 100%);
  box-shadow: inset 0 20px 30px rgba(0,0,0,0.6);
}
.scn-menander-alas-where-brains .table {
  position: absolute; bottom: 25%; left: 50%; transform: translateX(-50%);
  width: 100px; height: 12px;
  background: linear-gradient(90deg, #3a2a1a 0%, #4a3a2a 50%, #3a2a1a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.scn-menander-alas-where-brains .candle {
  position: absolute; bottom: 37%; left: 50%; transform: translateX(-50%);
  width: 6px; height: 16px;
  background: linear-gradient(180deg, #d0a060 0%, #8a6a3a 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  animation: mw-candle 2s ease-in-out infinite alternate;
}
.scn-menander-alas-where-brains .glow {
  position: absolute; bottom: 37%; left: 50%; transform: translateX(-50%);
  width: 60px; height: 60px;
  background: radial-gradient(circle, rgba(200,160,80,0.6) 0%, rgba(200,160,80,0.1) 50%, transparent 100%);
  border-radius: 50%;
  animation: mw-glow 3s ease-in-out infinite alternate;
}
.scn-menander-alas-where-brains .figure {
  position: absolute; bottom: 23%; left: 45%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mw-figure 4s ease-in-out infinite;
}
.scn-menander-alas-where-brains .shadow {
  position: absolute; bottom: 0; left: 40%; width: 40px; height: 10px;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.5) 0%, transparent 100%);
  border-radius: 50%;
  animation: mw-shadow 5s ease-in-out infinite alternate;
}
@keyframes mw-wall {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes mw-candle {
  0% { transform: translateX(-50%) scaleY(1); opacity: 0.9; }
  50% { transform: translateX(-50%) scaleY(1.05); opacity: 1; }
  100% { transform: translateX(-50%) scaleY(0.95); opacity: 0.85; }
}
@keyframes mw-glow {
  0% { transform: translateX(-50%) scale(0.95); opacity: 0.5; }
  50% { transform: translateX(-50%) scale(1.1); opacity: 0.8; }
  100% { transform: translateX(-50%) scale(1); opacity: 0.6; }
}
@keyframes mw-figure {
  0% { transform: translateX(0) rotate(0deg); }
  30% { transform: translateX(4px) rotate(2deg); }
  60% { transform: translateX(-2px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes mw-shadow {
  0% { transform: scaleX(1); opacity: 0.4; }
  50% { transform: scaleX(1.2); opacity: 0.6; }
  100% { transform: scaleX(0.9); opacity: 0.3; }
}

/* creature-reason-more-violent-impulse */
.scn-creature-reason-more-violent-impulse {
  background:
    linear-gradient(180deg, #f0e8d0 0%, #e0d0b0 40%, #c8b898 100%),
    radial-gradient(ellipse at 50% 0%, #fff8e0 0%, transparent 60%);
  position: relative;
  overflow: hidden;
}
.scn-creature-reason-more-violent-impulse .bg-wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #f5edd5 0%, #e8dcc0 100%);
}
.scn-creature-reason-more-violent-impulse .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(0deg, #b8a888 0%, #d0bd9e 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.15);
  animation: cr-floor 8s ease-in-out infinite alternate;
}
.scn-creature-reason-more-violent-impulse .chair {
  position: absolute; bottom: 25%; left: 35%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%);
  border-radius: 10% 10% 30% 30% / 20% 20% 40% 40%;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.3);
}
.scn-creature-reason-more-violent-impulse .figure {
  position: absolute; bottom: 30%; left: 48%; width: 22px; height: 48px;
  background: linear-gradient(180deg, #3a3a4e 0%, #2a2a3e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 45% 45%;
  transform-origin: bottom center;
  animation: cr-figure 6s ease-in-out infinite;
}
.scn-creature-reason-more-violent-impulse .window {
  position: absolute; top: 10%; right: 15%; width: 60px; height: 80px;
  background: linear-gradient(180deg, #d0e8ff 0%, #b0d0f0 100%);
  border-radius: 10% 10% 5% 5% / 15% 15% 5% 5%;
  box-shadow: inset 0 0 10px rgba(255,255,255,0.6), 0 4px 8px rgba(0,0,0,0.2);
}
.scn-creature-reason-more-violent-impulse .sunbeam {
  position: absolute; top: 10%; right: 15%; width: 60px; height: 150px;
  background: linear-gradient(180deg, rgba(255,255,200,0.4) 0%, rgba(255,255,200,0) 100%);
  clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%);
  animation: cr-sunbeam 10s ease-in-out infinite alternate;
}
@keyframes cr-floor {
  0% { background-position: 0 0; }
  100% { background-position: 20px 0; }
}
@keyframes cr-figure {
  0% { transform: translateY(0) rotate(0deg); }
  40% { transform: translateY(-3px) rotate(1deg); }
  70% { transform: translateY(0) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes cr-sunbeam {
  0% { opacity: 0.5; transform: translateX(0); }
  50% { opacity: 0.8; transform: translateX(5px); }
  100% { opacity: 0.4; transform: translateX(-3px); }
}

/* twofold-nature-better-worse */
.scn-twofold-nature-better-worse {
  background:
    linear-gradient(180deg, #f5f0e5 0%, #e0d8c5 40%, #c8bda5 100%),
    radial-gradient(ellipse at 50% 0%, #fff8f0 0%, transparent 70%);
  position: relative;
  overflow: hidden;
}
.scn-twofold-nature-better-worse .bg-room {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #ede5d5 0%, #ddd5c0 100%);
  animation: tn-room 12s ease-in-out infinite alternate;
}
.scn-twofold-nature-better-worse .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(0deg, #b0a088 0%, #c8b898 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.1);
}
.scn-twofold-nature-better-worse .mirror-frame {
  position: absolute; top: 12%; left: 50%; transform: translateX(-50%);
  width: 70px; height: 100px;
  background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%);
  border-radius: 10% 10% 5% 5% / 15% 15% 5% 5%;
  box-shadow: 2px 2px 8px rgba(0,0,0,0.3);
}
.scn-twofold-nature-better-worse .mirror-glass {
  position: absolute; top: 15%; left: 50%; transform: translateX(-50%);
  width: 56px; height: 80px;
  background: linear-gradient(180deg, rgba(200,220,255,0.3) 0%, rgba(180,200,240,0.1) 100%);
  border-radius: 8% 8% 4% 4% / 12% 12% 4% 4%;
  box-shadow: inset 0 0 15px rgba(255,255,255,0.5);
}
.scn-twofold-nature-better-worse .figure {
  position: absolute; bottom: 25%; left: 40%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #3a3a4e 0%, #2a2a3e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 45% 45%;
  transform-origin: bottom center;
  animation: tn-figure 8s ease-in-out infinite;
}
.scn-twofold-nature-better-worse .reflection {
  position: absolute; bottom: 25%; right: 40%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #4a4a5e 0%, #3a3a4e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 45% 45%;
  transform-origin: bottom center;
  opacity: 0.7;
  animation: tn-reflection 8s ease-in-out infinite reverse;
}
@keyframes tn-room {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes tn-figure {
  0% { transform: translateX(0) rotate(0deg); }
  30% { transform: translateX(4px) rotate(2deg); }
  60% { transform: translateX(-2px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes tn-reflection {
  0% { transform: translateX(0) rotate(0deg) scaleX(-1); }
  30% { transform: translateX(-4px) rotate(-2deg) scaleX(-1); }
  60% { transform: translateX(2px) rotate(1deg) scaleX(-1); }
  100% { transform: translateX(0) rotate(0deg) scaleX(-1); }
}

/* reason-divine-rule */
.scn-reason-divine-rule {
  background:
    linear-gradient(180deg, #f8f4e8 0%, #e8e0d0 40%, #d0c8b0 100%),
    radial-gradient(ellipse at 50% 0%, #fff8f0 0%, transparent 60%);
  position: relative;
  overflow: hidden;
}
.scn-reason-divine-rule .bg-sanctum {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #f0ead8 0%, #e0d8c0 100%);
}
.scn-reason-divine-rule .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(0deg, #b8a888 0%, #d0bd9e 100%);
  box-shadow: inset 0 15px 25px rgba(0,0,0,0.1);
  animation: rd-floor 10s ease-in-out infinite alternate;
}
.scn-reason-divine-rule .pedestal {
  position: absolute; bottom: 22%; left: 50%; transform: translateX(-50%);
  width: 40px; height: 30px;
  background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 15% 15%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
.scn-reason-divine-rule .figure {
  position: absolute; bottom: 30%; left: 50%; transform: translateX(-50%);
  width: 24px; height: 55px;
  background: linear-gradient(180deg, #3a3a4e 0%, #2a2a3e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 45% 45%;
  transform-origin: bottom center;
  animation: rd-figure 5s ease-in-out infinite;
}
.scn-reason-divine-rule .pillar-light {
  position: absolute; top: 5%; left: 50%; transform: translateX(-50%);
  width: 30px; height: 100px;
  background: linear-gradient(180deg, rgba(255,240,200,0.8) 0%, rgba(255,240,200,0) 100%);
  clip-path: polygon(30% 0, 70% 0, 60% 100%, 40% 100%);
  animation: rd-light 4s ease-in-out infinite alternate;
}
.scn-reason-divine-rule .shadow-body {
  position: absolute; bottom: 20%; left: 50%; transform: translateX(-50%);
  width: 40px; height: 20px;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.3) 0%, transparent 100%);
  border-radius: 50%;
  animation: rd-shadow 7s ease-in-out infinite alternate;
}
@keyframes rd-floor {
  0% { background-position: 0 0; }
  100% { background-position: 15px 0; }
}
@keyframes rd-figure {
  0% { transform: translateX(-50%) translateY(0); }
  25% { transform: translateX(-50%) translateY(-4px); }
  50% { transform: translateX(-50%) translateY(0); }
  75% { transform: translateX(-50%) translateY(-2px); }
  100% { transform: translateX(-50%) translateY(0); }
}
@keyframes rd-light {
  0% { opacity: 0.6; transform: translateX(-50%) scaleY(0.95); }
  50% { opacity: 1; transform: translateX(-50%) scaleY(1.05); }
  100% { opacity: 0.7; transform: translateX(-50%) scaleY(1); }
}
@keyframes rd-shadow {
  0% { transform: translateX(-50%) scaleX(1); opacity: 0.3; }
  50% { transform: translateX(-50%) scaleX(1.2); opacity: 0.5; }
  100% { transform: translateX(-50%) scaleX(0.9); opacity: 0.4; }
}

.scn-father-example-mirror {
  background: linear-gradient(180deg, #f5e6d0 0%, #e0c8a8 50%, #c8a880 100%),
              radial-gradient(ellipse at 70% 30%, #fff4e0 0%, transparent 60%);
}
.scn-father-example-mirror .room { position:absolute; inset:10% 5% 5% 5%; background: linear-gradient(135deg, #d4b896 0%, #b89670 100%); border-radius:12px; box-shadow: inset 0 0 40px rgba(0,0,0,0.15); }
.scn-father-example-mirror .window { position:absolute; top:8%; right:12%; width:30%; height:35%; background: linear-gradient(180deg, #add8e6 0%, #87ceeb 100%); border-radius:4px; box-shadow: 0 0 30px 10px rgba(255,220,150,0.3); animation: fex-window 6s ease-in-out infinite alternate; }
.scn-father-example-mirror .mirror { position:absolute; left:30%; top:25%; width:22%; height:40%; background: linear-gradient(135deg, #e0d8d0 0%, #c0b8b0 100%); border-radius:4px; box-shadow: 0 0 20px rgba(200,180,140,0.5), inset 0 0 20px rgba(255,255,255,0.3); }
.scn-father-example-mirror .father { position:absolute; bottom:18%; left:35%; width:14%; height:40%; background: linear-gradient(180deg, #6b4c3a 0%, #4a332a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin:bottom center; animation: fex-father 8s ease-in-out infinite; }
.scn-father-example-mirror .son { position:absolute; bottom:15%; left:50%; width:10%; height:25%; background: linear-gradient(180deg, #a08060 0%, #806040 100%); border-radius: 50% 50% 40% 40% / 50% 50% 35% 35%; transform-origin:bottom center; animation: fex-son 8s ease-in-out infinite reverse; }
.scn-father-example-mirror .lamp { position:absolute; right:8%; bottom:20%; width:6%; height:12%; background: linear-gradient(180deg, #d4a050 0%, #b08030 100%); border-radius:6px; box-shadow: 0 -10px 30px 10px rgba(255,180,50,0.4); }
.scn-father-example-mirror .glow { position:absolute; inset:0; background: radial-gradient(ellipse at 70% 40%, rgba(255,200,100,0.2) 0%, transparent 60%); animation: fex-glow 4s ease-in-out infinite alternate; }
.scn-father-example-mirror .shadow { position:absolute; bottom:10%; left:30%; width:25%; height:10%; background: radial-gradient(ellipse, rgba(0,0,0,0.2) 0%, transparent 80%); animation: fex-shadow 8s ease-in-out infinite; }
@keyframes fex-window { 0% { opacity:0.7; box-shadow: 0 0 20px 5px rgba(255,220,150,0.2); } 50% { opacity:1; box-shadow: 0 0 40px 15px rgba(255,220,150,0.5); } 100% { opacity:0.8; box-shadow: 0 0 25px 8px rgba(255,220,150,0.3); } }
@keyframes fex-father { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(2px) rotate(1deg); } 100% { transform: translateX(-1px) rotate(0deg); } }
@keyframes fex-son { 0% { transform: translateX(0) rotate(2deg); } 50% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(1px) rotate(0deg); } }
@keyframes fex-glow { 0% { opacity:0.6; } 50% { opacity:0.9; } 100% { opacity:0.7; } }
@keyframes fex-shadow { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.1); } 100% { transform: scaleX(0.95); } }

.scn-fathers-teachers-wrongdoing {
  background: linear-gradient(180deg, #0e0e1a 0%, #1a1a2e 40%, #2a2a3e 100%),
              radial-gradient(ellipse at 50% 80%, #2a2a3e 0%, transparent 70%);
}
.scn-fathers-teachers-wrongdoing .walls { position:absolute; inset:5%; background: linear-gradient(135deg, #1a1a2a 0%, #12121c 100%); border-radius:8px; box-shadow: inset 0 0 30px rgba(0,0,0,0.6); }
.scn-fathers-teachers-wrongdoing .table { position:absolute; bottom:15%; left:25%; width:50%; height:8%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,0.5); }
.scn-fathers-teachers-wrongdoing .candle { position:absolute; bottom:23%; left:45%; width:3%; height:12%; background: linear-gradient(180deg, #e0b060 0%, #c08040 100%); border-radius:4px; box-shadow: 0 0 20px 8px rgba(200,120,40,0.5); animation: ftw-candle 2s ease-in-out infinite alternate; }
.scn-fathers-teachers-wrongdoing .old-man { position:absolute; bottom:20%; left:20%; width:15%; height:35%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin:bottom center; animation: ftw-oldman 6s ease-in-out infinite; }
.scn-fathers-teachers-wrongdoing .youth { position:absolute; bottom:15%; left:55%; width:12%; height:25%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 45% 45% 30% 30%; transform-origin:bottom center; animation: ftw-youth 6s ease-in-out infinite reverse; }
.scn-fathers-teachers-wrongdoing .shadow-layer { position:absolute; inset:0; background: linear-gradient(180deg, transparent 30%, rgba(0,0,0,0.4) 100%); animation: ftw-shadow 8s ease-in-out infinite; }
.scn-fathers-teachers-wrongdoing .flicker { position:absolute; inset:0; background: radial-gradient(ellipse at 45% 30%, rgba(200,120,40,0.08) 0%, transparent 50%); animation: ftw-flicker 0.8s infinite alternate; }
@keyframes ftw-candle { 0% { transform: scaleY(1); opacity:0.8; box-shadow: 0 0 15px 5px rgba(200,120,40,0.4); } 50% { transform: scaleY(1.05); opacity:1; box-shadow: 0 0 25px 10px rgba(200,120,40,0.7); } 100% { transform: scaleY(0.98); opacity:0.85; box-shadow: 0 0 18px 6px rgba(200,120,40,0.5); } }
@keyframes ftw-oldman { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(3px) rotate(2deg); } 100% { transform: translateX(-2px) rotate(0deg); } }
@keyframes ftw-youth { 0% { transform: translateX(0) rotate(3deg); } 50% { transform: translateX(-3px) rotate(-1deg); } 100% { transform: translateX(1px) rotate(0deg); } }
@keyframes ftw-shadow { 0% { opacity:0.6; } 50% { opacity:0.8; } 100% { opacity:0.5; } }
@keyframes ftw-flicker { 0% { opacity:0.3; } 100% { opacity:0.6; } }

.scn-love-offspring-brute-appeal {
  background: linear-gradient(180deg, #f0ece0 0%, #d8d0c0 50%, #c0b8a0 100%),
              radial-gradient(ellipse at 60% 20%, #fff8f0 0%, transparent 60%);
}
.scn-love-offspring-brute-appeal .study-bg { position:absolute; inset:8%; background: linear-gradient(135deg, #e8e0d0 0%, #d0c8b8 100%); border-radius:12px; box-shadow: inset 0 0 40px rgba(0,0,0,0.1); }
.scn-love-offspring-brute-appeal .bookshelf { position:absolute; left:10%; top:15%; width:15%; height:70%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius:4px; box-shadow: 4px 0 8px rgba(0,0,0,0.2); }
.scn-love-offspring-brute-appeal .desk { position:absolute; bottom:15%; left:30%; width:40%; height:10%; background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); border-radius:6px; box-shadow: 0 4px 10px rgba(0,0,0,0.3); }
.scn-love-offspring-brute-appeal .judge { position:absolute; bottom:25%; left:35%; width:12%; height:30%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin:bottom center; animation: lob-judge 10s ease-in-out infinite; }
.scn-love-offspring-brute-appeal .plaintiff { position:absolute; bottom:20%; left:55%; width:10%; height:25%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 40% 40% 30% 30%; transform-origin:bottom center; animation: lob-plaintiff 10s ease-in-out infinite reverse; }
.scn-love-offspring-brute-appeal .gavel { position:absolute; bottom:10%; left:40%; width:3%; height:8%; background: linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%); border-radius:2px; transform: rotate(-10deg); animation: lob-gavel 4s ease-in-out infinite; }
.scn-love-offspring-brute-appeal .scales { position:absolute; top:20%; right:15%; width:8%; height:15%; background: linear-gradient(180deg, #c0a880 0%, #a08860 100%); border-radius:6px; box-shadow: 0 0 10px rgba(0,0,0,0.2); animation: lob-scales 20s linear infinite; }
.scn-love-offspring-brute-appeal .light-ray { position:absolute; top:10%; left:30%; width:40%; height:60%; background: linear-gradient(135deg, rgba(255,255,240,0.3) 0%, transparent 80%); border-radius: 0 0 60% 60% / 0 0 40% 40%; animation: lob-ray 8s ease-in-out infinite alternate; }
@keyframes lob-judge { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(2px) rotate(1deg); } 100% { transform: translateX(-1px) rotate(0deg); } }
@keyframes lob-plaintiff { 0% { transform: translateX(0) rotate(2deg); } 50% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(1px) rotate(0deg); } }
@keyframes lob-gavel { 0% { transform: rotate(-15deg) translateX(0); } 50% { transform: rotate(-5deg) translateX(2px); } 100% { transform: rotate(-15deg) translateX(0); } }
@keyframes lob-scales { 0% { transform: rotate(0deg); } 50% { transform: rotate(5deg); } 100% { transform: rotate(0deg); } }
@keyframes lob-ray { 0% { opacity:0.4; transform: scaleX(1); } 50% { opacity:0.7; transform: scaleX(1.05); } 100% { opacity:0.5; transform: scaleX(0.95); } }

.scn-brutes-follow-nature {
  background: linear-gradient(180deg, #a0a8b0 0%, #c0c8d0 40%, #d8e0e8 100%),
              radial-gradient(ellipse at 50% 30%, #e0e8f0 0%, transparent 70%);
}
.scn-brutes-follow-nature .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #b0b8c0 0%, #c8d0d8 100%); animation: bfn-sky 20s ease-in-out infinite alternate; }
.scn-brutes-follow-nature .ground { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #5a6a4a 0%, #3a4a2a 100%); border-radius: 20% 40% 0 0 / 30% 50% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,0.2); }
.scn-brutes-follow-nature .tree { position:absolute; bottom:30%; left:20%; width:8%; height:60%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:6px; transform-origin:bottom center; animation: bfn-tree 15s ease-in-out infinite; }
.scn-brutes-follow-nature .brute-a { position:absolute; bottom:20%; left:35%; width:12%; height:20%; background: linear-gradient(180deg, #5a6a4a 0%, #3a4a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation: bfn-brute-a 12s ease-in-out infinite; }
.scn-brutes-follow-nature .brute-b { position:absolute; bottom:22%; left:50%; width:10%; height:18%; background: linear-gradient(180deg, #5a6a4a 0%, #3a4a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation: bfn-brute-b 14s ease-in-out infinite reverse; }
.scn-brutes-follow-nature .man { position:absolute; bottom:18%; right:20%; width:10%; height:30%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin:bottom center; animation: bfn-man 10s ease-in-out infinite; }
.scn-brutes-follow-nature .oil-slick { position:absolute; bottom:15%; left:55%; width:8%; height:4%; background: radial-gradient(ellipse, rgba(100,120,80,0.4) 0%, transparent 70%); border-radius:50%; animation: bfn-oil 20s linear infinite; }
.scn-brutes-follow-nature .mist { position:absolute; inset:0; background: radial-gradient(ellipse at 30% 60%, rgba(200,210,220,0.2) 0%, transparent 60%); animation: bfn-mist 25s ease-in-out infinite alternate; }
@keyframes bfn-sky { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes bfn-tree { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-1deg); } }
@keyframes bfn-brute-a { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(5px) rotate(2deg); } 100% { transform: translateX(-3px) rotate(0deg); } }
@keyframes bfn-brute-b { 0% { transform: translateX(0) rotate(2deg); } 50% { transform: translateX(-4px) rotate(-1deg); } 100% { transform: translateX(3px) rotate(0deg); } }
@keyframes bfn-man { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(2px) rotate(1deg); } 100% { transform: translateX(-1px) rotate(0deg); } }
@keyframes bfn-oil { 0% { transform: scale(1) rotate(0deg); opacity:0.5; } 50% { transform: scale(1.2) rotate(180deg); opacity:0.8; } 100% { transform: scale(0.9) rotate(360deg); opacity:0.4; } }
@keyframes bfn-mist { 0% { opacity:0.3; } 50% { opacity:0.6; } 100% { opacity:0.2; } }

.scn-friendly-speech-good-grief {
  background: 
    linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 60%, #1a0e05 100%),
    radial-gradient(ellipse at 50% 80%, #5a3a1a 0%, transparent 70%);
}
.scn-friendly-speech-good-grief .wall { position:absolute; inset:0; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); }
.scn-friendly-speech-good-grief .hearth { position:absolute; bottom:15%; left:20%; width:40%; height:30%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 40% 40% 20% 20%; box-shadow: inset 0 -8px 12px rgba(0,0,0,.6); }
.scn-friendly-speech-good-grief .fire-glow { position:absolute; bottom:20%; left:25%; width:30%; height:20%; background: radial-gradient(ellipse, #ffb040 0%, #d07020 30%, transparent 60%); border-radius: 50%; animation: fsg-fire 4s ease-in-out infinite alternate; box-shadow: 0 0 80px 30px #d07020; }
.scn-friendly-speech-good-grief .friend-a { position:absolute; bottom:20%; left:30%; width:16%; height:30%; background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fsg-sway-a 6s ease-in-out infinite; }
.scn-friendly-speech-good-grief .friend-b { position:absolute; bottom:20%; right:30%; width:16%; height:28%; background: linear-gradient(180deg, #2a1a0a 0%, #0a0500 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fsg-sway-b 7s ease-in-out infinite; }
.scn-friendly-speech-good-grief .candle { position:absolute; bottom:25%; left:45%; width:4%; height:12%; background: linear-gradient(180deg, #ffd080 0%, #c09040 100%); border-radius: 20%; box-shadow: 0 0 20px 6px #ffd080; animation: fsg-candle 2s ease-in-out infinite alternate; }
.scn-friendly-speech-good-grief .book { position:absolute; bottom:18%; left:38%; width:8%; height:6%; background: linear-gradient(135deg, #6a4a2a 0%, #4a2a1a 100%); border-radius: 4px; transform: rotate(5deg); box-shadow: 2px 2px 4px rgba(0,0,0,.4); animation: fsg-book 10s ease-in-out infinite; }
@keyframes fsg-fire { 0% { opacity:.7; transform: scale(1) } 50% { opacity:1; transform: scale(1.05) } 100% { opacity:.8; transform: scale(0.95) } }
@keyframes fsg-sway-a { 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 fsg-sway-b { 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 fsg-candle { 0% { opacity:.8; transform: translateY(0) scaleY(1) } 50% { opacity:1; transform: translateY(-1px) scaleY(1.05) } 100% { opacity:.7; transform: translateY(0) scaleY(0.95) } }
@keyframes fsg-book { 0% { transform: rotate(5deg) translateY(0) } 50% { transform: rotate(6deg) translateY(-1px) } 100% { transform: rotate(5deg) translateY(0) } }

.scn-when-friend-vehement-vehement {
  background: 
    linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 50%, #0a1a2a 100%),
    radial-gradient(ellipse at 50% 30%, #3a4a5a 0%, transparent 80%);
}
.scn-when-friend-vehement-vehement .bg { position:absolute; inset:0; background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%); }
.scn-when-friend-vehement-vehement .window { position:absolute; top:10%; right:10%; width:30%; height:40%; background: linear-gradient(135deg, #4a5a6a 0%, #2a3a4a 100%); border-radius: 10%; box-shadow: inset 0 0 20px rgba(255,255,255,.1); }
.scn-when-friend-vehement-vehement .moonlight { position:absolute; top:5%; right:15%; width:20%; height:20%; background: radial-gradient(circle, #aabbcc 0%, transparent 70%); border-radius: 50%; animation: wfv-moon 12s ease-in-out infinite alternate; }
.scn-when-friend-vehement-vehement .figure { position:absolute; bottom:15%; left:25%; width:18%; height:40%; background: linear-gradient(180deg, #2a3a3a 0%, #0a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wfv-gesture 5s ease-in-out infinite; }
.scn-when-friend-vehement-vehement .scroll { position:absolute; bottom:25%; left:20%; width:12%; height:8%; background: linear-gradient(135deg, #8a7a5a 0%, #6a5a3a 100%); border-radius: 2px; transform: rotate(-10deg); box-shadow: 1px 2px 4px rgba(0,0,0,.3); animation: wfv-scroll 8s ease-in-out infinite; }
.scn-when-friend-vehement-vehement .desk { position:absolute; bottom:10%; left:15%; width:60%; height:5%; background: linear-gradient(180deg, #3a4a3a 0%, #1a2a1a 100%); border-radius: 4px; box-shadow: 0 -2px 6px rgba(0,0,0,.5); }
@keyframes wfv-moon { 0% { opacity:.6; transform: scale(1) } 50% { opacity:1; transform: scale(1.02) } 100% { opacity:.7; transform: scale(0.98) } }
@keyframes wfv-gesture { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(8px) rotate(5deg) } 50% { transform: translateX(0) rotate(0deg) } 75% { transform: translateX(-8px) rotate(-5deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes wfv-scroll { 0% { transform: rotate(-10deg) translateY(0) } 50% { transform: rotate(-8deg) translateY(-2px) } 100% { transform: rotate(-10deg) translateY(0) } }

.scn-occasions-freedom-speech-friends {
  background: 
    linear-gradient(180deg, #3a3a2a 0%, #2a2a1a 50%, #1a1a0a 100%),
    radial-gradient(ellipse at 50% 60%, #5a4a3a 0%, transparent 70%);
}
.scn-occasions-freedom-speech-friends .bg { position:absolute; inset:0; background: linear-gradient(180deg, #3a3a2a 0%, #2a2a1a 100%); }
.scn-occasions-freedom-speech-friends .table { position:absolute; bottom:18%; left:20%; width:60%; height:10%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 40% 40% 20% 20%; box-shadow: 0 -4px 12px rgba(0,0,0,.5); }
.scn-occasions-freedom-speech-friends .friend-a { position:absolute; bottom:25%; left:25%; width:14%; height:30%; background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ofs-sit-a 8s ease-in-out infinite; }
.scn-occasions-freedom-speech-friends .friend-b { position:absolute; bottom:25%; left:45%; width:14%; height:30%; background: linear-gradient(180deg, #2a3a2a 0%, #0a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ofs-sit-b 9s ease-in-out infinite; }
.scn-occasions-freedom-speech-friends .friend-c { position:absolute; bottom:25%; right:25%; width:14%; height:30%; background: linear-gradient(180deg, #2a2a3a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ofs-sit-c 7s ease-in-out infinite; }
.scn-occasions-freedom-speech-friends .lamp { position:absolute; bottom:22%; left:38%; width:6%; height:12%; background: linear-gradient(180deg, #c0a070 0%, #806040 100%); border-radius: 20%; box-shadow: 0 0 30px 10px #c0a070; animation: ofs-lamp 3s ease-in-out infinite alternate; }
.scn-occasions-freedom-speech-friends .cup { position:absolute; bottom:15%; left:35%; width:4%; height:5%; background: linear-gradient(180deg, #6a5a3a 0%, #4a3a2a 100%); border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: ofs-cup 12s ease-in-out infinite; }
@keyframes ofs-sit-a { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-2px) rotate(1deg) } 50% { transform: translateY(0) rotate(0deg) } 75% { transform: translateY(-1px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes ofs-sit-b { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-1px) rotate(-1deg) } 50% { transform: translateY(0) rotate(0deg) } 75% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes ofs-sit-c { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-3px) rotate(2deg) } 50% { transform: translateY(0) rotate(0deg) } 75% { transform: translateY(-1px) rotate(-2deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes ofs-lamp { 0% { opacity:.8; transform: scaleY(1) } 50% { opacity:1; transform: scaleY(1.05) } 100% { opacity:.9; transform: scaleY(0.95) } }
@keyframes ofs-cup { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(3px) rotate(2deg) } 100% { transform: translateX(0) rotate(0deg) } }

.scn-reproof-after-abuse-humble {
  background: 
    linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, #0a0a1a 100%),
    radial-gradient(ellipse at 50% 40%, #3a3a4a 0%, transparent 70%);
}
.scn-reproof-after-abuse-humble .bg { position:absolute; inset:0; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); }
.scn-reproof-after-abuse-humble .door { position:absolute; top:10%; left:20%; width:30%; height:80%; background: linear-gradient(135deg, #3a2a2a 0%, #1a0a0a 100%); border-radius: 0 0 20% 20% / 0 0 10% 10%; box-shadow: inset 0 0 20px rgba(0,0,0,.4); }
.scn-reproof-after-abuse-humble .floor { position:absolute; bottom:0; left:0; right:0; height:15%; background: linear-gradient(180deg, #2a1a1a 0%, #0a0505 100%); }
.scn-reproof-after-abuse-humble .figure-standing { position:absolute; bottom:15%; right:30%; width:15%; height:40%; background: linear-gradient(180deg, #2a3a3a 0%, #0a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: rah-stand 6s ease-in-out infinite; }
.scn-reproof-after-abuse-humble .figure-kneeling { position:absolute; bottom:8%; left:35%; width:14%; height:25%; background: linear-gradient(180deg, #1a2a2a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: rah-kneel 5s ease-in-out infinite; }
.scn-reproof-after-abuse-humble .shadow { position:absolute; bottom:0; left:30%; width:40%; height:10%; background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 70%); animation: rah-shadow 8s ease-in-out infinite alternate; }
@keyframes rah-stand { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(-4px) rotate(-2deg) } 50% { transform: translateX(0) rotate(0deg) } 75% { transform: translateX(4px) rotate(2deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes rah-kneel { 0% { transform: translateY(0) scaleY(1) } 25% { transform: translateY(2px) scaleY(0.95) } 50% { transform: translateY(0) scaleY(1) } 75% { transform: translateY(-2px) scaleY(1.05) } 100% { transform: translateY(0) scaleY(1) } }
@keyframes rah-shadow { 0% { opacity:.5; transform: scaleX(1) } 50% { opacity:.8; transform: scaleX(1.1) } 100% { opacity:.4; transform: scaleX(0.9) } }

.scn-theano-arm-not-common {
  background: linear-gradient(180deg, #f5e6d0 0%, #e8d5b8 60%, #d4c0a0 100%),
              radial-gradient(ellipse at 30% 20%, rgba(255,230,180,0.4) 0%, transparent 60%);
}
.scn-theano-arm-not-common .ta-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #e8d5b8 0%, #d4c0a0 100%);
}
.scn-theano-arm-not-common .ta-window {
  position: absolute; top: 15%; left: 65%; width: 80px; height: 100px;
  background: radial-gradient(ellipse at 50% 50%, rgba(255,230,180,0.6) 0%, rgba(230,200,150,0.2) 70%);
  border-radius: 10%; box-shadow: inset 0 0 20px rgba(200,160,100,0.3);
  animation: ta-window 6s ease-in-out infinite alternate;
}
.scn-theano-arm-not-common .ta-figure {
  position: absolute; bottom: 10%; left: 40%; width: 60px; height: 140px;
  background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  transform-origin: bottom center;
  animation: ta-figure 4s ease-in-out infinite;
}
.scn-theano-arm-not-common .ta-shawl {
  position: absolute; bottom: 20%; left: 38%; width: 80px; height: 40px;
  background: radial-gradient(ellipse at 30% 50%, #b88a7a 0%, #9a7a6a 70%);
  border-radius: 50% / 30% 70% 50% 50%; opacity: 0.9;
  animation: ta-shawl 5s ease-in-out infinite alternate;
}
.scn-theano-arm-not-common .ta-arm {
  position: absolute; bottom: 30%; left: 48%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #c8b8a8 0%, #a89888 100%);
  border-radius: 30% 30% 30% 40%; transform-origin: 50% 20%;
  animation: ta-arm 3s ease-in-out infinite alternate;
}
.scn-theano-arm-not-common .ta-glow {
  position: absolute; top: 20%; left: 40%; width: 100px; height: 100px;
  background: radial-gradient(circle, rgba(255,230,180,0.3) 0%, transparent 60%);
  filter: blur(10px); animation: ta-glow 8s ease-in-out infinite alternate;
}
@keyframes ta-window { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes ta-figure { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(3px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes ta-shawl { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ta-arm { 0% { transform: rotate(0deg); } 50% { transform: rotate(10deg); } 100% { transform: rotate(0deg); } }
@keyframes ta-glow { 0% { opacity: 0.5; transform: scale(1); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: 0.6; transform: scale(1); } }

.scn-phidias-tortoise {
  background: linear-gradient(180deg, #d4c8b0 0%, #bfb09a 50%, #a89880 100%),
              radial-gradient(ellipse at 50% 30%, rgba(255,245,220,0.3) 0%, transparent 70%);
}
.scn-phidias-tortoise .pt-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #e0d4c0 0%, #c8b8a0 100%);
}
.scn-phidias-tortoise .pt-pedestal {
  position: absolute; bottom: 10%; left: 50%; transform: translateX(-50%); width: 120px; height: 30px;
  background: linear-gradient(180deg, #a89880 0%, #8a7a6a 100%);
  border-radius: 10%; box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
.scn-phidias-tortoise .pt-statue {
  position: absolute; bottom: 30%; left: 50%; transform: translateX(-50%); width: 60px; height: 110px;
  background: linear-gradient(180deg, #d4c4ac 0%, #b8a890 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  animation: pt-statue 6s ease-in-out infinite alternate;
}
.scn-phidias-tortoise .pt-tortoise {
  position: absolute; bottom: 14%; left: 42%; width: 40px; height: 20px;
  background: radial-gradient(ellipse at 50% 30%, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 50%; transform: rotate(-10deg);
  animation: pt-tortoise 10s linear infinite;
}
.scn-phidias-tortoise .pt-shadow {
  position: absolute; bottom: 10%; left: 50%; transform: translateX(-50%); width: 100px; height: 10px;
  background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.15) 0%, transparent 70%);
  animation: pt-shadow 6s ease-in-out infinite alternate;
}
.scn-phidias-tortoise .pt-column {
  position: absolute; top: 5%; left: 20%; width: 30px; height: 80%;
  background: linear-gradient(90deg, #c8b8a0 0%, #d4c4ac 30%, #b8a890 100%);
  border-radius: 5%; box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
@keyframes pt-statue { 0% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-2px); } 100% { transform: translateX(-50%) translateY(0); } }
@keyframes pt-tortoise { 0% { transform: rotate(-10deg) translateX(0); } 25% { transform: rotate(-5deg) translateX(2px); } 50% { transform: rotate(-10deg) translateX(0); } 75% { transform: rotate(-15deg) translateX(-2px); } 100% { transform: rotate(-10deg) translateX(0); } }
@keyframes pt-shadow { 0% { opacity: 0.5; transform: translateX(-50%) scaleX(1); } 50% { opacity: 1; transform: translateX(-50%) scaleX(1.1); } 100% { opacity: 0.6; transform: translateX(-50%) scaleX(1); } }

.scn-rich-honour-philosophers {
  background: linear-gradient(180deg, #e8dcc8 0%, #d4c8b0 60%, #c0b09a 100%),
              radial-gradient(ellipse at 40% 30%, rgba(255,240,200,0.3) 0%, transparent 60%);
}
.scn-rich-honour-philosophers .rh-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #f0e8d8 0%, #d8ccb8 100%);
}
.scn-rich-honour-philosophers .rh-philosopher {
  position: absolute; bottom: 15%; left: 25%; width: 50px; height: 120px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 25% 25% 20% 20% / 40% 40% 30% 30%;
  animation: rh-figure 5s ease-in-out infinite alternate;
}
.scn-rich-honour-philosophers .rh-rich1 {
  position: absolute; bottom: 15%; left: 55%; width: 55px; height: 130px;
  background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%);
  border-radius: 25% 25% 20% 20% / 40% 40% 30% 30%;
  animation: rh-figure 5s ease-in-out infinite alternate 1s;
}
.scn-rich-honour-philosophers .rh-rich2 {
  position: absolute; bottom: 15%; left: 72%; width: 50px; height: 125px;
  background: linear-gradient(180deg, #9a8a7a 0%, #7a6a5a 100%);
  border-radius: 25% 25% 20% 20% / 40% 40% 30% 30%;
  animation: rh-figure 5s ease-in-out infinite alternate 2s;
}
.scn-rich-honour-philosophers .rh-offering {
  position: absolute; bottom: 35%; left: 48%; width: 30px; height: 20px;
  background: radial-gradient(ellipse at 50% 30%, #c8a060 0%, #a88040 100%);
  border-radius: 20%; box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: rh-offering 4s ease-in-out infinite;
}
.scn-rich-honour-philosophers .rh-scroll {
  position: absolute; bottom: 20%; left: 20%; width: 40px; height: 15px;
  background: linear-gradient(180deg, #d4c0a0 0%, #b8a080 100%);
  border-radius: 30% / 50%; transform: rotate(-20deg);
  animation: rh-scroll 7s ease-in-out infinite alternate;
}
@keyframes rh-figure { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(2px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes rh-offering { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-3px) scale(1.05); } 100% { transform: translateY(0) scale(1); } }
@keyframes rh-scroll { 0% { transform: rotate(-20deg) translateX(0); } 50% { transform: rotate(-15deg) translateX(2px); } 100% { transform: rotate(-20deg) translateX(0); } }

.scn-three-kinds-of-union {
  background: linear-gradient(180deg, #e0d8c8 0%, #c8bca8 60%, #b0a490 100%),
              radial-gradient(ellipse at 50% 40%, rgba(240,230,200,0.3) 0%, transparent 70%);
}
.scn-three-kinds-of-union .tk-bg {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #d4c8b0 0%, #e8dcc8 50%, #c8bca8 100%);
}
.scn-three-kinds-of-union .tk-soldiers {
  position: absolute; bottom: 20%; left: 10%; width: 80px; height: 100px;
  background: repeating-linear-gradient(90deg, #7a6a5a 0px, #7a6a5a 12px, transparent 12px, transparent 18px);
  border-radius: 10% 10% 0 0;
  animation: tk-soldiers 4s linear infinite;
}
.scn-three-kinds-of-union .tk-house {
  position: absolute; bottom: 25%; left: 42%; width: 100px; height: 80px;
  background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%);
  clip-path: polygon(10% 100%, 10% 40%, 50% 10%, 90% 40%, 90% 100%);
  animation: tk-house 6s ease-in-out infinite alternate;
}
.scn-three-kinds-of-union .tk-animal {
  position: absolute; bottom: 18%; right: 12%; width: 70px; height: 90px;
  background: radial-gradient(ellipse at 40% 40%, #a89880 0%, #7a6a5a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  animation: tk-animal 5s ease-in-out infinite alternate;
}
.scn-three-kinds-of-union .tk-lines {
  position: absolute; top: 10%; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent 0%, #8a7a6a 20%, #8a7a6a 80%, transparent 100%);
  animation: tk-lines 8s linear infinite;
}
.scn-three-kinds-of-union .tk-label {
  position: absolute; top: 5%; left: 50%; transform: translateX(-50%); width: 120px; height: 30px;
  background: radial-gradient(ellipse at 50% 50%, rgba(180,160,140,0.4) 0%, transparent 70%);
}
@keyframes tk-soldiers { 0% { background-position: 0% 0%; } 100% { background-position: -18px 0%; } }
@keyframes tk-house { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes tk-animal { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(3px) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes tk-lines { 0% { opacity: 0.3; transform: scaleX(1); } 50% { opacity: 0.7; transform: scaleX(1.02); } 100% { opacity: 0.3; transform: scaleX(1); } }

/* Scene 1: true-friend-not-imitate-everything */
.scn-true-friend-not-imitate-everything { background: linear-gradient(180deg, #1a1a2e 0%, #2a202a 40%, #3a2a1e 100%), radial-gradient(ellipse at 50% 100%, #2a202a 0%, transparent 70%); }
.scn-true-friend-not-imitate-everything .bg-wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #2a202a 0%, #1a1a2e 100%); }
.scn-true-friend-not-imitate-everything .bg-floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #1e1814 0%, #0f0c0a 100%); }
.scn-true-friend-not-imitate-everything .window-night { position:absolute; top:15%; left:20%; width:80px; height:100px; background: radial-gradient(ellipse at 50% 50%, #1a2a3a 0%, #0a0a1a 100%); border:4px solid #3a3a4a; box-shadow: inset 0 0 20px rgba(0,0,0,.5); }
.scn-true-friend-not-imitate-everything .lamp-glow { position:absolute; bottom:45%; left:50%; width:60px; height:80px; background: radial-gradient(ellipse at 50% 0%, rgba(224,160,96,.6) 0%, transparent 60%); border-radius:50%; filter:blur(8px); animation: tf-lamp 4s ease-in-out infinite alternate; }
.scn-true-friend-not-imitate-everything .table { position:absolute; bottom:28%; left:40%; width:120px; height:20px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%); border-radius:4px; }
.scn-true-friend-not-imitate-everything .friend-figure { position:absolute; bottom:20%; left:35%; width:24px; height:70px; background: linear-gradient(180deg, #2a1a1a 0%, #0f0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(2deg); animation: tf-friend 6s ease-in-out infinite; }
.scn-true-friend-not-imitate-everything .flatterer-figure { position:absolute; bottom:20%; left:55%; width:24px; height:70px; background: linear-gradient(180deg, #2a1a1a 0%, #0f0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-1deg); animation: tf-flatterer 6s ease-in-out infinite 0.5s; }
@keyframes tf-lamp { 0% { opacity:.7; transform:scaleY(1); } 50% { opacity:.9; transform:scaleY(1.1); } 100% { opacity:.75; transform:scaleY(.95); } }
@keyframes tf-friend { 0% { transform: translateX(0) rotate(2deg); } 50% { transform: translateX(-2px) rotate(0deg); } 100% { transform: translateX(0) rotate(2deg); } }
@keyframes tf-flatterer { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(2px) rotate(0deg); } 100% { transform: translateX(0) rotate(-1deg); } }

/* Scene 2: poor-painters-wrinkles-moles */
.scn-poor-painters-wrinkles-moles { background: linear-gradient(180deg, #1a1a2a 0%, #2a1a1a 40%, #1a0f0a 100%), radial-gradient(ellipse at 30% 70%, #2a1a1a 0%, transparent 60%); }
.scn-poor-painters-wrinkles-moles .bg-studio { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a1a1a 0%, #1a0f0a 100%); }
.scn-poor-painters-wrinkles-moles .easel { position:absolute; bottom:30%; left:40%; width:8px; height:120px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:2px; transform:rotate(5deg); }
.scn-poor-painters-wrinkles-moles .canvas { position:absolute; bottom:35%; left:38%; width:70px; height:90px; background: linear-gradient(135deg, #3a2a1a 0%, #2a1a0a 100%); border:2px solid #4a3a2a; box-shadow: 0 4px 8px rgba(0,0,0,.6); }
.scn-poor-painters-wrinkles-moles .painter-back { position:absolute; bottom:15%; left:30%; width:40px; height:90px; background: linear-gradient(180deg, #2a1a1a 0%, #0f0a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-5deg); animation: pp-painter 8s ease-in-out infinite; }
.scn-poor-painters-wrinkles-moles .sitter-profile { position:absolute; bottom:15%; left:55%; width:30px; height:80px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0f0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(5deg); }
.scn-poor-painters-wrinkles-moles .palette { position:absolute; bottom:30%; left:25%; width:40px; height:30px; background: radial-gradient(circle at 30% 40%, #5a3a1a 0%, #3a2010 100%); border-radius:30% 50% 50% 30%; transform: rotate(-15deg); }
.scn-poor-painters-wrinkles-moles .lamp-dim { position:absolute; top:20%; right:20%; width:40px; height:50px; background: radial-gradient(ellipse at 50% 0%, rgba(200,150,80,.4) 0%, transparent 70%); filter:blur(6px); animation: pp-lamp 5s ease-in-out infinite alternate; }
@keyframes pp-painter { 0% { transform: translateY(0) rotate(-5deg); } 50% { transform: translateY(-2px) rotate(-3deg); } 100% { transform: translateY(0) rotate(-5deg); } }
@keyframes pp-lamp { 0% { opacity:.6; transform:scale(1); } 50% { opacity:.8; transform:scale(1.05); } 100% { opacity:.65; transform:scale(.95); } }

/* Scene 3: share-involuntary-ailments */
.scn-share-involuntary-ailments { background: linear-gradient(180deg, #0f0f1a 0%, #1a1a2a 40%, #2a1a1a 100%), radial-gradient(ellipse at 50% 80%, #2a1a1a 0%, transparent 60%); }
.scn-share-involuntary-ailments .bg-room { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #1a1a2a 0%, #0f0f1a 100%); }
.scn-share-involuntary-ailments .floor-dark { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #1a1410 0%, #0a0806 100%); }
.scn-share-involuntary-ailments .candle { position:absolute; bottom:35%; left:30%; width:10px; height:30px; background: linear-gradient(180deg, #e0a060 0%, #c08040 100%); border-radius:2px; box-shadow: 0 0 20px 8px rgba(200,120,40,.6); animation: sa-candle 3s ease-in-out infinite alternate; }
.scn-share-involuntary-ailments .figure-cane { position:absolute; bottom:20%; left:25%; width:22px; height:80px; background: linear-gradient(180deg, #2a1a1a 0%, #0f0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(15deg); animation: sa-cane 7s ease-in-out infinite; }
.scn-share-involuntary-ailments .figure-cane::after { content:''; position:absolute; bottom:-5px; left:50%; width:4px; height:40px; background: #4a3a2a; transform:translateX(-50%) rotate(-10deg); }
.scn-share-involuntary-ailments .figure-mimic { position:absolute; bottom:20%; left:55%; width:22px; height:80px; background: linear-gradient(180deg, #2a1a1a 0%, #0f0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(15deg); animation: sa-mimic 7s ease-in-out infinite 1s; }
.scn-share-involuntary-ailments .figure-mimic::after { content:''; position:absolute; bottom:-5px; left:50%; width:4px; height:30px; background: #3a2a1a; transform:translateX(-50%) rotate(-10deg); }
.scn-share-involuntary-ailments .shadow-pool { position:absolute; bottom:0; left:20%; width:60%; height:20%; background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,.7) 0%, transparent 70%); }
@keyframes sa-candle { 0% { transform: scale(1); opacity:.8; } 50% { transform: scale(1.02); opacity:1; } 100% { transform: scale(.98); opacity:.75; } }
@keyframes sa-cane { 0% { transform: translateX(0) rotate(15deg); } 50% { transform: translateX(-2px) rotate(13deg); } 100% { transform: translateX(0) rotate(15deg); } }
@keyframes sa-mimic { 0% { transform: translateX(0) rotate(15deg); } 50% { transform: translateX(2px) rotate(17deg); } 100% { transform: translateX(0) rotate(15deg); } }

/* Scene 4: man-turned-wife-out-flatterer-little-know */
.scn-man-turned-wife-out-flatterer-little-know { background: linear-gradient(180deg, #1a1a2a 0%, #2a1a1a 40%, #1a0f0a 100%), radial-gradient(ellipse at 50% 100%, #1a0f0a 0%, transparent 70%); }
.scn-man-turned-wife-out-flatterer-little-know .bg-interior { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a1a1a 0%, #1a0f0a 100%); }
.scn-man-turned-wife-out-flatterer-little-know .door-frame { position:absolute; bottom:10%; left:40%; width:120px; height:200px; border:6px solid #3a2a1a; border-radius:4px; background: transparent; }
.scn-man-turned-wife-out-flatterer-little-know .door-half { position:absolute; bottom:10%; left:40%; width:60px; height:200px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-right:2px solid #1a0f0a; transform-origin: left; animation: mt-door 5s ease-in-out infinite alternate; }
.scn-man-turned-wife-out-flatterer-little-know .wife-figure { position:absolute; bottom:15%; left:30%; width:22px; height:70px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0f0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-10deg); animation: mt-wife 4s ease-in-out infinite; }
.scn-man-turned-wife-out-flatterer-little-know .man-figure { position:absolute; bottom:15%; left:55%; width:26px; height:80px; background: linear-gradient(180deg, #2a1a1a 0%, #0f0a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(5deg); animation: mt-man 4s ease-in-out infinite; }
.scn-man-turned-wife-out-flatterer-little-know .letter { position:absolute; bottom:10%; left:45%; width:30px; height:20px; background: #5a4a3a; transform: rotate(-20deg); box-shadow: 0 2px 4px rgba(0,0,0,.5); animation: mt-letter 8s linear infinite; }
.scn-man-turned-wife-out-flatterer-little-know .lamp-warm { position:absolute; top:20%; right:15%; width:50px; height:60px; background: radial-gradient(ellipse at 50% 0%, rgba(200,150,80,.5) 0%, transparent 70%); filter:blur(8px); animation: mt-lamp 3s ease-in-out infinite alternate; }
@keyframes mt-door { 0% { transform: rotateY(0deg); } 50% { transform: rotateY(-20deg); } 100% { transform: rotateY(0deg); } }
@keyframes mt-wife { 0% { transform: translateX(0) rotate(-10deg); } 50% { transform: translateX(-4px) rotate(-12deg); } 100% { transform: translateX(0) rotate(-10deg); } }
@keyframes mt-man { 0% { transform: translateX(0) rotate(5deg); } 50% { transform: translateX(4px) rotate(3deg); } 100% { transform: translateX(0) rotate(5deg); } }
@keyframes mt-letter { 0% { transform: translateY(0) rotate(-20deg); opacity:.8; } 50% { transform: translateY(-2px) rotate(-20deg); opacity:1; } 100% { transform: translateY(0) rotate(-20deg); opacity:.8; } }
@keyframes mt-lamp { 0% { opacity:.7; transform:scale(1); } 50% { opacity:.9; transform:scale(1.05); } 100% { opacity:.75; transform:scale(.95); } }

/* entreaty-not-blows */
.scn-entreaty-not-blows {
  background: linear-gradient(180deg, #f5e6d0 0%, #e8d5b0 40%, #d4bfa0 100%), 
              radial-gradient(ellipse at 70% 30%, rgba(255,240,200,0.4) 0%, transparent 60%);
  background-blend-mode: overlay;
}
.scn-entreaty-not-blows .wall {
  position: absolute;
  inset: 0 0 35% 0;
  background: linear-gradient(180deg, #f0dcc0 0%, #e0c8a0 100%);
  box-shadow: inset 0 -20px 30px rgba(0,0,0,0.05);
}
.scn-entreaty-not-blows .window {
  position: absolute;
  top: 12%;
  left: 55%;
  width: 40%;
  height: 50%;
  background: linear-gradient(135deg, #b8d8f0 0%, #d0e8ff 70%);
  border-radius: 4px;
  box-shadow: inset 0 0 0 8px #c4a882, 0 4px 12px rgba(0,0,0,0.1);
}
.scn-entreaty-not-blows .desk {
  position: absolute;
  bottom: 12%;
  left: 20%;
  width: 60%;
  height: 18%;
  background: linear-gradient(180deg, #b8936a 0%, #9c7a55 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.scn-entreaty-not-blows .book {
  position: absolute;
  bottom: 22%;
  left: 35%;
  width: 12%;
  height: 10%;
  background: #6b4a2e;
  border-radius: 2px;
  transform: rotate(-5deg);
  box-shadow: 2px 2px 6px rgba(0,0,0,0.3);
  animation: ent-book-float 6s ease-in-out infinite;
}
.scn-entreaty-not-blows .hand-entreaty {
  position: absolute;
  bottom: 28%;
  left: 30%;
  width: 8%;
  height: 14%;
  background: radial-gradient(ellipse at 50% 100%, #dbb88a 0%, #c89f6e 70%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ent-hand-wave 4s ease-in-out infinite;
}
.scn-entreaty-not-blows .figure-child {
  position: absolute;
  bottom: 16%;
  left: 45%;
  width: 12%;
  height: 24%;
  background: linear-gradient(180deg, #e0c8a0 0%, #a08060 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ent-child-breathe 5s ease-in-out infinite;
}
.scn-entreaty-not-blows .sunbeam {
  position: absolute;
  top: 0;
  left: 55%;
  width: 30%;
  height: 80%;
  background: linear-gradient(135deg, rgba(255,245,180,0.2) 0%, transparent 100%);
  filter: blur(4px);
  animation: ent-sunbeam-dance 8s ease-in-out infinite alternate;
}

@keyframes ent-book-float {
  0%, 100% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-3px); }
}
@keyframes ent-hand-wave {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(12deg); }
  50% { transform: rotate(0deg); }
  75% { transform: rotate(-8deg); }
  100% { transform: rotate(0deg); }
}
@keyframes ent-child-breathe {
  0%, 100% { transform: scaleY(1) translateY(0); }
  50% { transform: scaleY(1.02) translateY(-2px); }
}
@keyframes ent-sunbeam-dance {
  0% { opacity: 0.3; transform: translateX(0) scaleX(1); }
  100% { opacity: 0.7; transform: translateX(10px) scaleX(1.1); }
}

/* censure-praise-alternate */
.scn-censure-praise-alternate {
  background: linear-gradient(180deg, #f2d8b8 0%, #e0c0a0 40%, #c8a888 100%), 
              radial-gradient(ellipse at 50% 50%, rgba(255,210,150,0.3) 0%, transparent 70%);
}
.scn-censure-praise-alternate .room-bg {
  position: absolute;
  inset: 0 0 30% 0;
  background: linear-gradient(180deg, #e8ccb0 0%, #d4b498 100%);
  box-shadow: inset 0 -30px 50px rgba(0,0,0,0.08);
}
.scn-censure-praise-alternate .cradle {
  position: absolute;
  bottom: 16%;
  left: 35%;
  width: 30%;
  height: 20%;
  background: linear-gradient(180deg, #b08860 0%, #906848 100%);
  border-radius: 30% 30% 40% 40% / 40% 40% 30% 30%;
  box-shadow: 0 6px 18px rgba(0,0,0,0.2);
  animation: cen-cradle-rock 4s ease-in-out infinite;
}
.scn-censure-praise-alternate .nurse-silhouette {
  position: absolute;
  bottom: 18%;
  left: 50%;
  width: 18%;
  height: 40%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cen-nurse-sway 6s ease-in-out infinite;
}
.scn-censure-praise-alternate .infant-arm {
  position: absolute;
  bottom: 22%;
  left: 46%;
  width: 6%;
  height: 8%;
  background: #c8a080;
  border-radius: 50%;
  animation: cen-arm-reach 3s ease-in-out infinite;
}
.scn-censure-praise-alternate .warm-glow {
  position: absolute;
  top: 15%;
  left: 40%;
  width: 20%;
  height: 30%;
  background: radial-gradient(circle, rgba(255,220,160,0.3) 0%, transparent 100%);
  animation: cen-glow-pulse 5s ease-in-out infinite alternate;
}
.scn-censure-praise-alternate .curtain {
  position: absolute;
  top: 0;
  right: 0;
  width: 18%;
  height: 100%;
  background: linear-gradient(180deg, #b89878 0%, #8a6a4a 100%);
  border-radius: 0 0 0 40%;
  filter: blur(2px);
  animation: cen-curtain-sway 8s ease-in-out infinite alternate;
}
.scn-censure-praise-alternate .lullaby-symbol {
  position: absolute;
  top: 30%;
  left: 20%;
  width: 4%;
  height: 4%;
  background: #ffd080;
  border-radius: 50%;
  box-shadow: 0 0 12px 4px rgba(255,208,128,0.5);
  animation: cen-note-dance 3s ease-in-out infinite;
}

@keyframes cen-cradle-rock {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(3deg); }
  50% { transform: rotate(0deg); }
  75% { transform: rotate(-3deg); }
  100% { transform: rotate(0deg); }
}
@keyframes cen-nurse-sway {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(4deg); }
}
@keyframes cen-arm-reach {
  0% { transform: translateX(0); }
  50% { transform: translateX(5px); }
  100% { transform: translateX(0); }
}
@keyframes cen-glow-pulse {
  0% { opacity: 0.4; transform: scale(1); }
  50% { opacity: 0.8; transform: scale(1.2); }
  100% { opacity: 0.4; transform: scale(1); }
}
@keyframes cen-curtain-sway {
  0% { transform: translateX(0); }
  100% { transform: translateX(-6px); }
}
@keyframes cen-note-dance {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-8px) scale(1.3); }
}

/* fathers-excessive-love-hate */
.scn-fathers-excessive-love-hate {
  background: linear-gradient(180deg, #2a1e14 0%, #1c120a 40%, #0e0804 100%), 
              radial-gradient(ellipse at 50% 60%, rgba(80,50,30,0.4) 0%, transparent 80%);
}
.scn-fathers-excessive-love-hate .study-wall {
  position: absolute;
  inset: 0 0 30% 0;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  box-shadow: inset 0 -20px 40px rgba(0,0,0,0.5);
}
.scn-fathers-excessive-love-hate .lamp-glow {
  position: absolute;
  top: 20%;
  left: 60%;
  width: 25%;
  height: 40%;
  background: radial-gradient(ellipse at 50% 0%, rgba(200,150,60,0.3) 0%, transparent 100%);
  animation: fat-lamp-flicker 6s ease-in-out infinite alternate;
}
.scn-fathers-excessive-love-hate .desk-item {
  position: absolute;
  bottom: 18%;
  left: 25%;
  width: 50%;
  height: 15%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a2210 100%);
  border-radius: 2px;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.6);
}
.scn-fathers-excessive-love-hate .father-figure {
  position: absolute;
  bottom: 22%;
  left: 35%;
  width: 20%;
  height: 40%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fat-father-lean 7s ease-in-out infinite;
}
.scn-fathers-excessive-love-hate .son-figure {
  position: absolute;
  bottom: 18%;
  left: 48%;
  width: 14%;
  height: 28%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1210 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: fat-son-flinch 4s ease-in-out infinite;
}
.scn-fathers-excessive-love-hate .shadow-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 40%, transparent 50%, rgba(0,0,0,0.4) 100%);
  pointer-events: none;
  animation: fat-shadow-dance 10s ease-in-out infinite alternate;
}
.scn-fathers-excessive-love-hate .book-pile {
  position: absolute;
  bottom: 12%;
  left: 40%;
  width: 20%;
  height: 10%;
  background: #4a2a0a;
  border-radius: 2px;
  box-shadow: 2px 2px 8px rgba(0,0,0,0.5);
  transform: rotate(8deg);
  animation: fat-book-shift 8s ease-in-out infinite;
}

@keyframes fat-lamp-flicker {
  0% { opacity: 0.5; transform: scaleY(1); }
  50% { opacity: 0.8; transform: scaleY(1.05); }
  100% { opacity: 0.6; transform: scaleY(1); }
}
@keyframes fat-father-lean {
  0%, 100% { transform: rotate(0deg); }
  30% { transform: rotate(5deg); }
  60% { transform: rotate(-2deg); }
}
@keyframes fat-son-flinch {
  0%, 100% { transform: translateY(0); }
  40% { transform: translateY(-4px); }
  80% { transform: translateY(2px); }
}
@keyframes fat-shadow-dance {
  0% { opacity: 0.3; }
  50% { opacity: 0.6; }
  100% { opacity: 0.4; }
}
@keyframes fat-book-shift {
  0% { transform: rotate(8deg) translateX(0); }
  50% { transform: rotate(6deg) translateX(4px); }
  100% { transform: rotate(8deg) translateX(0); }
}

/* moderate-rain-plant */
.scn-moderate-rain-plant {
  background: linear-gradient(180deg, #7a8a7a 0%, #6a7a6a 40%, #5a6a5a 100%), 
              radial-gradient(ellipse at 50% 40%, rgba(180,200,180,0.2) 0%, transparent 80%);
}
.scn-moderate-rain-plant .window-frame {
  position: absolute;
  inset: 5% 5% 5% 5%;
  border: 12px solid #4a5a4a;
  border-radius: 6px;
  box-shadow: inset 0 0 0 4px #3a4a3a;
}
.scn-moderate-rain-plant .window-pane {
  position: absolute;
  inset: 6% 6% 6% 6%;
  background: linear-gradient(135deg, #8aa0a0 0%, #a0b8b8 70%);
  opacity: 0.6;
  filter: blur(2px);
  animation: mod-pane-drip 12s linear infinite;
}
.scn-moderate-rain-plant .rain-streak-a {
  position: absolute;
  top: 5%;
  left: 30%;
  width: 2px;
  height: 30%;
  background: linear-gradient(180deg, transparent 0%, rgba(180,200,220,0.3) 50%, transparent 100%);
  animation: mod-rain-fall-a 1.5s linear infinite;
}
.scn-moderate-rain-plant .rain-streak-b {
  position: absolute;
  top: 5%;
  left: 65%;
  width: 2px;
  height: 30%;
  background: linear-gradient(180deg, transparent 0%, rgba(180,200,220,0.3) 50%, transparent 100%);
  animation: mod-rain-fall-b 2s linear infinite;
}
.scn-moderate-rain-plant .pot {
  position: absolute;
  bottom: 18%;
  left: 35%;
  width: 30%;
  height: 22%;
  background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%);
  border-radius: 6% 6% 12% 12% / 10% 10% 20% 20%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.scn-moderate-rain-plant .plant-stem {
  position: absolute;
  bottom: 38%;
  left: 49%;
  width: 2%;
  height: 20%;
  background: linear-gradient(180deg, #3a5a2a 0%, #2a4a1a 100%);
  border-radius: 2px;
  transform-origin: bottom center;
  animation: mod-stem-sway 4s ease-in-out infinite;
}
.scn-moderate-rain-plant .plant-leaf-a {
  position: absolute;
  bottom: 48%;
  left: 44%;
  width: 12%;
  height: 10%;
  background: radial-gradient(ellipse at 100% 50%, #4a7a3a 0%, #2a5a1a 100%);
  border-radius: 50% 0 50% 0;
  transform: rotate(-20deg);
  animation: mod-leaf-sway-a 5s ease-in-out infinite;
}
.scn-moderate-rain-plant .plant-leaf-b {
  position: absolute;
  bottom: 50%;
  left: 52%;
  width: 12%;
  height: 10%;
  background: radial-gradient(ellipse at 0% 50%, #4a7a3a 0%, #2a5a1a 100%);
  border-radius: 0 50% 0 50%;
  transform: rotate(20deg);
  animation: mod-leaf-sway-b 5s ease-in-out infinite;
}

@keyframes mod-pane-drip {
  0% { background-position: 0 0; opacity: 0.5; }
  50% { background-position: 0 5%; opacity: 0.7; }
  100% { background-position: 0 0; opacity: 0.5; }
}
@keyframes mod-rain-fall-a {
  0% { transform: translateY(-100%); opacity: 0; }
  20% { opacity: 1; }
  80% { opacity: 1; }
  100% { transform: translateY(300%); opacity: 0; }
}
@keyframes mod-rain-fall-b {
  0% { transform: translateY(-100%); opacity: 0; }
  30% { opacity: 1; }
  70% { opacity: 1; }
  100% { transform: translateY(300%); opacity: 0; }
}
@keyframes mod-stem-sway {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(3deg); }
}
@keyframes mod-leaf-sway-a {
  0%, 100% { transform: rotate(-20deg); }
  50% { transform: rotate(-15deg); }
}
@keyframes mod-leaf-sway-b {
  0%, 100% { transform: rotate(20deg); }
  50% { transform: rotate(15deg); }
}

.scn-ancient-faith-sufficient {
  background:
    linear-gradient(180deg, #f8e8d0 0%, #e8d0a0 40%, #d0b080 100%),
    radial-gradient(ellipse at 30% 70%, #ffe0b0 0%, transparent 70%);
}
.scn-ancient-faith-sufficient .window {
  position: absolute; inset: 5% 10% 40% 60%;
  background: linear-gradient(135deg, #ffefd0 0%, #ffe0a0 100%);
  border: 6px solid #b09070;
  border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(255,220,160,0.6), 0 0 40px rgba(200,160,100,0.3);
  animation: afs-glow 6s ease-in-out infinite alternate;
}
.scn-ancient-faith-sufficient .bookshelf {
  position: absolute; bottom: 20%; left: 5%; width: 20%; height: 60%;
  background: linear-gradient(90deg, #8a7050 0%, #a08060 100%);
  border-radius: 2px;
  box-shadow: 2px 0 8px rgba(0,0,0,0.2);
}
.scn-ancient-faith-sufficient .candle {
  position: absolute; bottom: 25%; left: 40%; width: 8px; height: 40px;
  background: linear-gradient(180deg, #ffe8c0 0%, #d0a060 100%);
  border-radius: 4px 4px 2px 2px;
  box-shadow: 0 0 20px 6px #ffd070;
  animation: afs-candle 3s ease-in-out infinite alternate;
}
.scn-ancient-faith-sufficient .figure {
  position: absolute; bottom: 15%; left: 45%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: afs-read 8s ease-in-out infinite;
}
.scn-ancient-faith-sufficient .book-open {
  position: absolute; bottom: 8%; left: 50%; width: 30px; height: 20px;
  background: linear-gradient(135deg, #f0e0c0 0%, #d0b090 100%);
  border-radius: 2px 2px 8px 8px;
  transform: rotate(-5deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: afs-book 10s ease-in-out infinite;
}
.scn-ancient-faith-sufficient .glow-ambient {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 30% 60%, rgba(255,200,120,0.3) 0%, transparent 50%);
  pointer-events: none;
  animation: afs-ambient 12s ease-in-out infinite alternate;
}
@keyframes afs-glow { 0%,100% { opacity:0.7; box-shadow:0 0 20px rgba(255,220,160,0.4); } 50% { opacity:1; box-shadow:0 0 40px rgba(255,200,100,0.7); } }
@keyframes afs-candle { 0%,100% { transform: scaleY(1); box-shadow:0 0 15px #ffd070; } 50% { transform: scaleY(0.95); box-shadow:0 0 25px #ffd070; } }
@keyframes afs-read { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(2deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-1px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes afs-book { 0%,100% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-3deg) translateY(-2px); } }
@keyframes afs-ambient { 0%,100% { opacity:0.5; } 50% { opacity:0.8; } }

.scn-question-love-as-god {
  background:
    linear-gradient(90deg, #f0e0c0 0%, #fff0e0 30%, #f0e0c0 70%, #e0c8a0 100%),
    radial-gradient(ellipse at 50% 80%, #ffecb0 0%, transparent 60%);
}
.scn-question-love-as-god .column-left {
  position: absolute; left: 10%; top: 5%; width: 20px; height: 90%;
  background: linear-gradient(90deg, #c8b090 0%, #e0c8a8 50%, #c8b090 100%);
  border-radius: 2px;
  box-shadow: 4px 0 12px rgba(0,0,0,0.15);
  animation: qlg-column 4s ease-in-out infinite alternate;
}
.scn-question-love-as-god .column-right {
  position: absolute; right: 10%; top: 5%; width: 20px; height: 90%;
  background: linear-gradient(90deg, #c8b090 0%, #e0c8a8 50%, #c8b090 100%);
  border-radius: 2px;
  box-shadow: -4px 0 12px rgba(0,0,0,0.15);
  animation: qlg-column 4s ease-in-out infinite alternate-reverse;
}
.scn-question-love-as-god .altar {
  position: absolute; bottom: 10%; left: 50%; transform: translateX(-50%);
  width: 60px; height: 30px;
  background: linear-gradient(180deg, #b09070 0%, #8a7050 100%);
  border-radius: 4px 4px 8px 8px;
  box-shadow: 0 -4px 10px rgba(0,0,0,0.3);
  animation: qlg-altar 3s ease-in-out infinite;
}
.scn-question-love-as-god .statue {
  position: absolute; bottom: 25%; left: 50%; transform: translateX(-50%);
  width: 40px; height: 70px;
  background: linear-gradient(180deg, #e8d8c0 0%, #c8b090 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 20px rgba(200,160,100,0.3);
  animation: qlg-statue 2s ease-in-out infinite alternate;
}
.scn-question-love-as-god .shadow-tremble {
  position: absolute; bottom: 0; left: 30%; width: 40%; height: 40px;
  background: linear-gradient(180deg, rgba(60,40,20,0.3) 0%, transparent 100%);
  filter: blur(6px);
  animation: qlg-tremble 0.5s ease-in-out infinite alternate;
}
.scn-question-love-as-god .ray-light {
  position: absolute; top: 0; left: 20%; width: 60%; height: 100%;
  background: linear-gradient(180deg, rgba(255,240,200,0.1) 0%, transparent 80%);
  clip-path: polygon(30% 0%, 70% 0%, 80% 100%, 20% 100%);
  animation: qlg-ray 2s ease-in-out infinite alternate;
}
.scn-question-love-as-god .ray-delay {
  left: 30%; width: 40%; animation: qlg-ray 2s ease-in-out 1s infinite alternate;
}
@keyframes qlg-column { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } }
@keyframes qlg-altar { 0%,100% { transform: translateX(-50%) scale(1); } 50% { transform: translateX(-50%) scale(0.98); } }
@keyframes qlg-statue { 0% { transform: translateX(-50%) rotate(-1deg); } 50% { transform: translateX(-50%) rotate(2deg); } 100% { transform: translateX(-50%) rotate(-0.5deg); } }
@keyframes qlg-tremble { 0% { transform: translate(0,0); opacity:0.7; } 100% { transform: translate(2px,-2px); opacity:0.4; } }
@keyframes qlg-ray { 0% { opacity:0.3; } 100% { opacity:0.7; } }

.scn-empedocles-friendship-love {
  background:
    linear-gradient(180deg, #f0d8b0 0%, #e0c090 30%, #d0a870 70%, #c09050 100%),
    radial-gradient(ellipse at 60% 40%, #ffe0a0 0%, transparent 60%);
}
.scn-empedocles-friendship-love .desk {
  position: absolute; bottom: 10%; left: 15%; width: 70%; height: 20px;
  background: linear-gradient(90deg, #8a6a4a 0%, #a08060 100%);
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.3);
}
.scn-empedocles-friendship-love .scroll {
  position: absolute; bottom: 20%; left: 25%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #f0e0c0 0%, #d0b090 100%);
  border-radius: 50% 50% 10% 10% / 60% 60% 10% 10%;
  transform: rotate(-15deg);
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
  animation: efl-scroll 6s ease-in-out infinite alternate;
}
.scn-empedocles-friendship-love .bust {
  position: absolute; bottom: 28%; left: 55%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #d0b8a0 0%, #b09070 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
  animation: efl-bust 8s ease-in-out infinite;
}
.scn-empedocles-friendship-love .lamp {
  position: absolute; bottom: 20%; left: 70%; width: 12px; height: 30px;
  background: linear-gradient(180deg, #ffe0a0 0%, #d0a060 100%);
  border-radius: 6px 6px 4px 4px;
  box-shadow: 0 0 30px 8px #ffd070;
  animation: efl-lamp 4s ease-in-out infinite alternate;
}
.scn-empedocles-friendship-love .window-open {
  position: absolute; top: 5%; right: 8%; width: 30%; height: 40%;
  background: linear-gradient(135deg, #ffe8c0 0%, #ffdca0 100%);
  border: 4px solid #a08060;
  border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(255,220,160,0.5), 0 0 40px rgba(200,160,100,0.2);
  animation: efl-window 12s ease-in-out infinite alternate;
}
.scn-empedocles-friendship-love .glow-soft {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 60% 40%, rgba(255,200,100,0.2) 0%, transparent 50%);
  pointer-events: none;
  animation: efl-glow 8s ease-in-out infinite alternate;
}
.scn-empedocles-friendship-love .leaf-drift {
  position: absolute; top: 20%; left: 50%; width: 12px; height: 8px;
  background: #c0a070;
  border-radius: 50% 0 50% 0;
  filter: blur(1px);
  animation: efl-leaf 15s linear infinite;
}
@keyframes efl-scroll { 0%,100% { transform: rotate(-15deg) translateY(0); } 50% { transform: rotate(-12deg) translateY(-3px); } }
@keyframes efl-bust { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes efl-lamp { 0% { box-shadow:0 0 20px 4px #ffd070; } 50% { box-shadow:0 0 40px 12px #ffd070; } 100% { box-shadow:0 0 25px 6px #ffd070; } }
@keyframes efl-window { 0%,100% { opacity:0.8; } 50% { opacity:1; } }
@keyframes efl-glow { 0%,100% { opacity:0.4; } 50% { opacity:0.7; } }
@keyframes efl-leaf { 0% { transform: translate(0,0) rotate(0deg); opacity:0; } 10% { opacity:1; } 90% { opacity:1; } 100% { transform: translate(-80px, 200px) rotate(360deg); opacity:0; } }

.scn-love-pedigree-aphrodite {
  background:
    linear-gradient(180deg, #f0d8c0 0%, #e0c0a0 30%, #d0a880 60%, #c09060 100%),
    radial-gradient(ellipse at 40% 50%, #ffd0a0 0%, transparent 70%);
}
.scn-love-pedigree-aphrodite .statue-aphrodite {
  position: absolute; bottom: 15%; left: 50%; transform: translateX(-50%);
  width: 40px; height: 80px;
  background: linear-gradient(180deg, #e8d0b8 0%, #c8a888 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 30px rgba(200,160,100,0.3);
  animation: lpa-statue 6s ease-in-out infinite alternate;
}
.scn-love-pedigree-aphrodite .shell {
  position: absolute; bottom: 10%; left: 20%; width: 30px; height: 20px;
  background: linear-gradient(135deg, #f0d0b0 0%, #d0a880 100%);
  border-radius: 50% 50% 30% 30%;
  transform: rotate(-10deg);
  box-shadow: 0 0 12px rgba(200,160,100,0.4);
  animation: lpa-shell 8s ease-in-out infinite;
}
.scn-love-pedigree-aphrodite .flower-left {
  position: absolute; bottom: 20%; left: 30%; width: 14px; height: 14px;
  background: radial-gradient(circle, #f0a080 0%, #d07050 60%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(200,80,50,0.3);
  animation: lpa-flower 4s ease-in-out infinite alternate;
}
.scn-love-pedigree-aphrodite .flower-right {
  position: absolute; bottom: 18%; right: 30%; width: 12px; height: 12px;
  background: radial-gradient(circle, #f0a080 0%, #d07050 60%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 8px rgba(200,80,50,0.3);
  animation: lpa-flower 4s ease-in-out 2s infinite alternate;
}
.scn-love-pedigree-aphrodite .dove-a {
  position: absolute; top: 20%; left: 30%; width: 20px; height: 12px;
  background: linear-gradient(135deg, #f0e0c0 0%, #d0b090 100%);
  border-radius: 50% 50% 30% 30%;
  transform: rotate(20deg);
  animation: lpa-dove 6s ease-in-out infinite;
}
.scn-love-pedigree-aphrodite .dove-b {
  position: absolute; top: 25%; right: 25%; width: 18px; height: 10px;
  background: linear-gradient(135deg, #f0e0c0 0%, #d0b090 100%);
  border-radius: 50% 50% 30% 30%;
  transform: rotate(-15deg);
  animation: lpa-dove 6s ease-in-out 3s infinite;
}
.scn-love-pedigree-aphrodite .drapery {
  position: absolute; bottom: 5%; left: 10%; width: 80%; height: 30px;
  background: linear-gradient(180deg, rgba(200,160,120,0.5) 0%, rgba(160,120,80,0.3) 100%);
  border-radius: 30% 30% 0 0;
  filter: blur(4px);
  animation: lpa-drape 10s ease-in-out infinite alternate;
}
@keyframes lpa-statue { 0%,100% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) rotate(1deg); } }
@keyframes lpa-shell { 0%,100% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(-8deg) translateY(-3px); } }
@keyframes lpa-flower { 0% { transform: scale(1); opacity:0.8; } 50% { transform: scale(1.1); opacity:1; } 100% { transform: scale(0.95); opacity:0.7; } }
@keyframes lpa-dove { 0%,100% { transform: rotate(20deg) translateY(0); } 50% { transform: rotate(30deg) translateY(-5px); } }
@keyframes lpa-drape { 0%,100% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-4px) scaleY(1.05); } }

/* milk-economy */
.scn-milk-economy {
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 50%, #1a1008 100%),
              radial-gradient(ellipse at 50% 100%, #4a3018 0%, transparent 70%);
}
.scn-milk-economy .bg-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(135deg, #5a4030 0%, #3a2a1a 100%); opacity:.9; animation: me-wall 14s ease-in-out infinite alternate; }
.scn-milk-economy .bg-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0f05 100%); border-radius: 20% 20% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,.6); }
.scn-milk-economy .figure { position:absolute; bottom:30%; left:45%; width:60px; height:100px; background: linear-gradient(180deg, #4a3020 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 50% 50% 40%; transform-origin: bottom center; animation: me-figure 5s ease-in-out infinite; }
.scn-milk-economy .bowl { position:absolute; bottom:32%; left:52%; width:40px; height:20px; background: radial-gradient(ellipse at 50% 30%, #a06830 0%, #603818 100%); border-radius: 50%; box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: me-bowl 3s ease-in-out infinite alternate; }
.scn-milk-economy .stream { position:absolute; height:6px; border-radius: 50%; filter: blur(3px); animation: me-stream 6s ease-in-out infinite; }
.scn-milk-economy .stream-a { bottom:38%; left:55%; width:60px; background: rgba(200,140,80,.6); transform: rotate(-15deg); }
.scn-milk-economy .stream-b { bottom:36%; left:48%; width:40px; background: rgba(180,120,60,.4); transform: rotate(10deg); animation-delay: 2s; }
.scn-milk-economy .candle { position:absolute; bottom:55%; left:30%; width:6px; height:40px; background: linear-gradient(180deg, #d0a070 0%, #805030 100%); border-radius: 2px; animation: me-candle 8s ease-in-out infinite; }
.scn-milk-economy .glow-spot { position:absolute; bottom:58%; left:32%; width:40px; height:40px; background: radial-gradient(circle, #ffd080 0%, transparent 70%); opacity:.6; animation: me-glow 4s ease-in-out infinite alternate; }
@keyframes me-wall { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes me-figure { 0%,100% { transform: translateX(0) rotate(0); } 50% { transform: translateX(4px) rotate(2deg); } }
@keyframes me-bowl { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-2px) scale(1.02); } 100% { transform: translateY(0) scale(1); } }
@keyframes me-stream { 0% { opacity:.4; transform: translateX(-10px); } 50% { opacity:.8; transform: translateX(5px); } 100% { opacity:.5; transform: translateX(10px); } }
@keyframes me-candle { 0%,100% { opacity:.7; } 50% { opacity:1; } }
@keyframes me-glow { 0% { opacity:.4; transform: scale(1); } 50% { opacity:.8; transform: scale(1.2); } 100% { opacity:.6; transform: scale(1.1); } }

/* newborn-wretchedness */
.scn-newborn-wretchedness {
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 50%, #1a1a2a 100%),
              radial-gradient(ellipse at 50% 60%, #4a4a5a 0%, transparent 70%);
}
.scn-newborn-wretchedness .bg-room { position:absolute; inset:0 0 20% 0; background: linear-gradient(135deg, #4a4a5a 0%, #2a2a3a 100%); animation: nw-room 12s ease-in-out infinite alternate; }
.scn-newborn-wretchedness .bed { position:absolute; bottom:20%; left:30%; right:30%; height:40px; background: linear-gradient(180deg, #5a5a6a 0%, #3a3a4a 100%); border-radius: 20px 20px 10px 10px; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-newborn-wretchedness .blanket { position:absolute; bottom:25%; left:33%; right:33%; height:30px; background: linear-gradient(180deg, #6a6a7a 0%, #4a4a5a 100%); border-radius: 50%; filter: blur(2px); animation: nw-blanket 6s ease-in-out infinite; }
.scn-newborn-wretchedness .bundle { position:absolute; bottom:28%; left:38%; right:38%; height:35px; background: radial-gradient(ellipse at 50% 50%, #7a7a8a 0%, #4a4a5a 100%); border-radius: 30% 30% 40% 40% / 50% 50% 60% 60%; animation: nw-bundle 4s ease-in-out infinite alternate; }
.scn-newborn-wretchedness .hand { position:absolute; bottom:32%; left:42%; width:15px; height:25px; background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: nw-hand 3s ease-in-out infinite; }
.scn-newborn-wretchedness .lamp { position:absolute; bottom:55%; left:20%; width:8px; height:35px; background: linear-gradient(180deg, #b09070 0%, #705040 100%); border-radius: 2px; }
.scn-newborn-wretchedness .shadow { position:absolute; bottom:20%; left:25%; right:25%; height:15px; background: radial-gradient(ellipse, rgba(0,0,0,.4) 0%, transparent 70%); filter: blur(4px); animation: nw-shadow 8s ease-in-out infinite; }
@keyframes nw-room { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes nw-blanket { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(2px) scale(1.05); } }
@keyframes nw-bundle { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes nw-hand { 0% { transform: rotate(0) translateX(0); } 30% { transform: rotate(10deg) translateX(3px); } 60% { transform: rotate(-5deg) translateX(-2px); } 100% { transform: rotate(0) translateX(0); } }
@keyframes nw-shadow { 0%,100% { opacity:.3; transform: scaleX(1); } 50% { opacity:.5; transform: scaleX(1.1); } }

/* breasts-high-kiss */
.scn-breasts-high-kiss {
  background: linear-gradient(180deg, #5a3020 0%, #3a1a10 50%, #1a0a08 100%),
              radial-gradient(ellipse at 50% 80%, #6a4030 0%, transparent 70%);
}
.scn-breasts-high-kiss .bg-dark { position:absolute; inset:0; background: linear-gradient(135deg, #4a2818 0%, #2a1208 100%); opacity:.95; }
.scn-breasts-high-kiss .mother-torso { position:absolute; bottom:20%; left:35%; right:35%; height:70px; background: linear-gradient(180deg, #8a5a3a 0%, #5a3018 100%); border-radius: 40% 40% 30% 30% / 70% 70% 40% 40%; animation: bh-torso 6s ease-in-out infinite; }
.scn-breasts-high-kiss .baby { position:absolute; bottom:48%; left:42%; right:42%; height:40px; background: radial-gradient(ellipse at 50% 40%, #9a6a4a 0%, #6a3a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 50% 50%; animation: bh-baby 4s ease-in-out infinite alternate; }
.scn-breasts-high-kiss .arms { position:absolute; bottom:38%; left:30%; right:30%; height:20px; background: linear-gradient(90deg, transparent 0%, #7a4a2a 20%, #7a4a2a 80%, transparent 100%); border-radius: 50%; filter: blur(2px); animation: bh-arms 5s ease-in-out infinite; }
.scn-breasts-high-kiss .breast { position:absolute; bottom:50%; left:44%; width:20px; height:20px; background: radial-gradient(circle at 50% 40%, #b08060 0%, #7a4a2a 100%); border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,.5); animation: bh-breast 3s ease-in-out infinite alternate; }
.scn-breasts-high-kiss .halo { position:absolute; bottom:40%; left:40%; right:40%; height:50px; background: radial-gradient(ellipse at 50% 30%, rgba(255,200,150,.4) 0%, transparent 70%); filter: blur(10px); animation: bh-halo 7s ease-in-out infinite; }
@keyframes bh-torso { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-3px) scale(1.02); } }
@keyframes bh-baby { 0% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(3px) rotate(3deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes bh-arms { 0% { opacity:.6; } 50% { opacity:.9; } 100% { opacity:.7; } }
@keyframes bh-breast { 0% { transform: scale(1); opacity:.8; } 50% { transform: scale(1.1); opacity:1; } 100% { transform: scale(1); opacity:.9; } }
@keyframes bh-halo { 0%,100% { opacity:.3; transform: scale(1); } 50% { opacity:.6; transform: scale(1.3); } }

/* first-mothers-no-law */
.scn-first-mothers-no-law {
  background: linear-gradient(180deg, #6a7a7a 0%, #4a5a5a 50%, #3a4a4a 100%),
              radial-gradient(ellipse at 50% 0%, #8a9a9a 0%, transparent 70%);
}
.scn-first-mothers-no-law .sky-overcast { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #7a8a8a 0%, #5a6a6a 100%); animation: fmn-sky 18s ease-in-out infinite alternate; }
.scn-first-mothers-no-law .ground { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #4a5a4a 0%, #2a3a2a 100%); border-radius: 10% 10% 0 0; }
.scn-first-mothers-no-law .mother-figure { position:absolute; bottom:30%; left:35%; width:50px; height:90px; background: linear-gradient(180deg, #3a4a3a 0%, #1a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 50% 50%; transform-origin: bottom center; animation: fmn-fig 8s ease-in-out infinite; }
.scn-first-mothers-no-law .father-figure { position:absolute; bottom:30%; right:35%; width:55px; height:95px; background: linear-gradient(180deg, #4a5a4a 0%, #2a3a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 50% 50%; transform-origin: bottom center; animation: fmn-fig 7s ease-in-out infinite reverse; }
.scn-first-mothers-no-law .tree { position:absolute; bottom:30%; left:10%; width:20px; height:50px; background: linear-gradient(180deg, #5a6a3a 0%, #3a4a2a 100%); border-radius: 20% 20% 0 0; transform-origin: bottom center; animation: fmn-tree 10s ease-in-out infinite; }
.scn-first-mothers-no-law .grass-blades { position:absolute; bottom:25%; left:0; right:0; height:20px; background: repeating-linear-gradient(90deg, #4a5a3a 0px, #4a5a3a 3px, transparent 3px, transparent 8px); filter: blur(1px); animation: fmn-grass 5s ease-in-out infinite; }
.scn-first-mothers-no-law .mists { position:absolute; bottom:40%; left:0; right:0; height:30px; background: linear-gradient(90deg, transparent, rgba(180,190,190,.3), transparent); filter: blur(10px); animation: fmn-mist 25s linear infinite; }
@keyframes fmn-sky { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes fmn-fig { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-5px) rotate(2deg); } }
@keyframes fmn-tree { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-1deg); } }
@keyframes fmn-grass { 0% { opacity:.6; } 50% { opacity:.9; } 100% { opacity:.7; } }
@keyframes fmn-mist { 0% { transform: translateX(-100px); } 100% { transform: translateX(100px); } }

/* cornelius-pulcher-mild-manners */
.scn-cornelius-pulcher-mild-manners {
  background:
    linear-gradient(180deg, #3b2e1e 0%, #2a1f12 40%, #1f160b 100%),
    radial-gradient(ellipse at 50% 60%, #4a3a2a 0%, transparent 70%);
}
.scn-cornelius-pulcher-mild-manners .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a1f12 0%, #1f160b 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.5);
}
.scn-cornelius-pulcher-mild-manners .bookshelf {
  position: absolute; left: 10%; top: 20%; width: 60%; height: 50%;
  background: linear-gradient(0deg, #5a3f2a 0%, #3f2b1a 100%);
  border-radius: 4px; box-shadow: inset 0 4px 8px rgba(0,0,0,0.6);
  transform-origin: bottom center; animation: cpmm-shelf 12s ease-in-out infinite;
}
.scn-cornelius-pulcher-mild-manners .desk {
  position: absolute; left: 30%; bottom: 20%; width: 40%; height: 8%;
  background: linear-gradient(0deg, #6f4e2e 0%, #4a3320 100%);
  border-radius: 2px; box-shadow: 0 6px 12px rgba(0,0,0,0.5);
}
.scn-cornelius-pulcher-mild-manners .book-a,
.scn-cornelius-pulcher-mild-manners .book-b {
  position: absolute; width: 8%; height: 18%; background: linear-gradient(180deg, #8b6b3f 0%, #5a3f2a 100%);
  border-radius: 2px; box-shadow: 2px 2px 4px rgba(0,0,0,0.4);
}
.scn-cornelius-pulcher-mild-manners .book-a {
  left: 42%; bottom: 28%; animation: cpmm-book 6s ease-in-out infinite;
}
.scn-cornelius-pulcher-mild-manners .book-b {
  left: 52%; bottom: 28%; animation: cpmm-book 6s ease-in-out infinite 1.5s;
}
.scn-cornelius-pulcher-mild-manners .candle {
  position: absolute; left: 48%; bottom: 30%; width: 3%; height: 12%;
  background: linear-gradient(0deg, #e8c88a 0%, #b8905a 30%, #5a3f2a 100%);
  border-radius: 50% 50% 20% 20%; box-shadow: 0 0 20px 6px rgba(232,200,138,0.4);
  transform-origin: bottom center; animation: cpmm-candle 4s ease-in-out infinite alternate;
}
.scn-cornelius-pulcher-mild-manners .figure {
  position: absolute; left: 35%; bottom: 20%; width: 10%; height: 25%;
  background: linear-gradient(180deg, #2a1f12 0%, #1a1208 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center; animation: cpmm-figure 9s ease-in-out infinite;
}
.scn-cornelius-pulcher-mild-manners .glow-round {
  position: absolute; left: 46%; bottom: 28%; width: 20%; height: 20%;
  background: radial-gradient(circle, #e8c88a 0%, transparent 70%);
  opacity: 0.15; border-radius: 50%; animation: cpmm-glow 3s ease-in-out infinite alternate;
}
@keyframes cpmm-shelf { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(1) } }
@keyframes cpmm-book { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes cpmm-candle { 0% { transform: scaleY(1) rotate(-2deg) } 50% { transform: scaleY(1.04) rotate(0deg) } 100% { transform: scaleY(1) rotate(2deg) } }
@keyframes cpmm-figure { 0% { transform: rotate(0deg) } 33% { transform: rotate(1deg) translateY(-1px) } 66% { transform: rotate(-1deg) translateY(1px) } 100% { transform: rotate(0deg) } }
@keyframes cpmm-glow { 0% { opacity: 0.1; transform: scale(0.95) } 100% { opacity: 0.2; transform: scale(1.05) } }

/* wild-beasts-use */
.scn-wild-beasts-use {
  background:
    linear-gradient(0deg, #1f160b 0%, #2a1f12 40%, #3b2e1e 100%),
    radial-gradient(ellipse at 50% 30%, #4a3a2a 0%, transparent 60%);
}
.scn-wild-beasts-use .cave-wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #2a1f12 0%, #1a1208 100%);
  clip-path: polygon(0% 0%, 100% 0%, 90% 100%, 10% 100%);
}
.scn-wild-beasts-use .fire {
  position: absolute; left: 40%; bottom: 35%; width: 20%; height: 25%;
  background: radial-gradient(circle, #e8c88a 0%, #b8905a 40%, transparent 70%);
  border-radius: 50%; animation: wbu-fire 3s ease-in-out infinite alternate;
}
.scn-wild-beasts-use .hunter {
  position: absolute; left: 30%; bottom: 20%; width: 14%; height: 40%;
  background: linear-gradient(180deg, #1a1208 0%, #0d0905 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center; animation: wbu-hunter 8s ease-in-out infinite;
}
.scn-wild-beasts-use .cloak {
  position: absolute; left: 28%; bottom: 20%; width: 20%; height: 35%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1f12 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 20% 20%;
  clip-path: polygon(0% 0%, 100% 0%, 85% 100%, 15% 100%);
  animation: wbu-cloak 10s ease-in-out infinite;
}
.scn-wild-beasts-use .spear {
  position: absolute; left: 48%; bottom: 30%; width: 2%; height: 45%;
  background: linear-gradient(180deg, #5a3f2a 0%, #2a1f12 100%);
  border-radius: 2px; transform-origin: bottom center; animation: wbu-spear 5s ease-in-out infinite alternate;
}
.scn-wild-beasts-use .skin {
  position: absolute; left: 55%; bottom: 20%; width: 25%; height: 20%;
  background: linear-gradient(180deg, #6f4e2e 0%, #4a3320 100%);
  border-radius: 30% 20% 10% 10%; animation: wbu-skin 7s ease-in-out infinite;
}
.scn-wild-beasts-use .bone {
  position: absolute; left: 60%; bottom: 25%; width: 8%; height: 15%;
  background: linear-gradient(180deg, #b8905a 0%, #8b6b3f 100%);
  border-radius: 40%; transform: rotate(15deg); animation: wbu-bone 11s ease-in-out infinite;
}
@keyframes wbu-fire { 0% { transform: scale(0.95); opacity: 0.7 } 50% { transform: scale(1.1); opacity: 1 } 100% { transform: scale(0.95); opacity: 0.8 } }
@keyframes wbu-hunter { 0% { transform: rotate(0deg) } 50% { transform: rotate(2deg) translateY(-1px) } 100% { transform: rotate(0deg) } }
@keyframes wbu-cloak { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.03) } 100% { transform: scaleX(1) } }
@keyframes wbu-spear { 0% { transform: rotate(-3deg) } 100% { transform: rotate(3deg) } }
@keyframes wbu-skin { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-2px) scaleY(1.02) } 100% { transform: translateY(0) scaleY(1) } }
@keyframes wbu-bone { 0% { transform: rotate(15deg) } 50% { transform: rotate(20deg) } 100% { transform: rotate(15deg) } }

/* husbandman-cultivate-barren-trees */
.scn-husbandman-cultivate-barren-trees {
  background:
    linear-gradient(0deg, #2a1f12 0%, #3b2e1e 30%, #4a3a2a 100%),
    radial-gradient(ellipse at 50% 80%, #5a4a3a 0%, transparent 60%);
}
.scn-husbandman-cultivate-barren-trees .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(0deg, #1f160b 0%, #2a1f12 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.4);
}
.scn-husbandman-cultivate-barren-trees .trunk {
  position: absolute; left: 50%; bottom: 15%; width: 6%; height: 60%;
  background: linear-gradient(0deg, #4a3320 0%, #2a1f12 100%);
  border-radius: 20% 20% 5% 5%; transform: translateX(-50%);
  animation: hcb-trunk 20s ease-in-out infinite;
}
.scn-husbandman-cultivate-barren-trees .branch-a,
.scn-husbandman-cultivate-barren-trees .branch-b {
  position: absolute; width: 4%; height: 30%;
  background: linear-gradient(180deg, #3f2b1a 0%, #2a1f12 100%);
  border-radius: 2px; transform-origin: bottom center;
}
.scn-husbandman-cultivate-barren-trees .branch-a {
  left: 48%; top: 20%; transform: rotate(-30deg); animation: hcb-branch 14s ease-in-out infinite;
}
.scn-husbandman-cultivate-barren-trees .branch-b {
  left: 54%; top: 30%; transform: rotate(25deg); animation: hcb-branch 14s ease-in-out infinite 7s;
}
.scn-husbandman-cultivate-barren-trees .farmer {
  position: absolute; left: 30%; bottom: 15%; width: 12%; height: 30%;
  background: linear-gradient(180deg, #1a1208 0%, #0d0905 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center; animation: hcb-farmer 8s ease-in-out infinite;
}
.scn-husbandman-cultivate-barren-trees .tool {
  position: absolute; left: 25%; bottom: 18%; width: 2%; height: 35%;
  background: linear-gradient(180deg, #5a3f2a 0%, #8b6b3f 100%);
  border-radius: 2px; transform: rotate(10deg); animation: hcb-tool 5s ease-in-out infinite alternate;
}
.scn-husbandman-cultivate-barren-trees .leaf-dust {
  position: absolute; left: 45%; top: 15%; width: 15%; height: 15%;
  background: radial-gradient(circle, rgba(139,107,63,0.4) 0%, transparent 70%);
  border-radius: 50%; animation: hcb-dust 9s ease-in-out infinite;
}
@keyframes hcb-trunk { 0% { transform: translateX(-50%) scaleX(1) } 50% { transform: translateX(-50%) scaleX(1.02) } 100% { transform: translateX(-50%) scaleX(1) } }
@keyframes hcb-branch { 0% { transform: rotate(-30deg) } 50% { transform: rotate(-25deg) } 100% { transform: rotate(-30deg) } }
@keyframes hcb-farmer { 0% { transform: rotate(0deg) } 33% { transform: rotate(1deg) translateY(-1px) } 66% { transform: rotate(-1deg) translateY(1px) } 100% { transform: rotate(0deg) } }
@keyframes hcb-tool { 0% { transform: rotate(10deg) } 100% { transform: rotate(15deg) } }
@keyframes hcb-dust { 0% { opacity: 0.3; transform: scale(0.9) } 50% { opacity: 0.6; transform: scale(1.1) } 100% { opacity: 0.3; transform: scale(0.9) } }

/* many-things-unpleasant-usable */
.scn-many-things-unpleasant-usable {
  background:
    linear-gradient(180deg, #1f160b 0%, #2a1f12 50%, #3b2e1e 100%),
    radial-gradient(ellipse at 50% 70%, #4a3a2a 0%, transparent 60%);
}
.scn-many-things-unpleasant-usable .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #1a1208 0%, #2a1f12 100%);
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.5);
}
.scn-many-things-unpleasant-usable .mat {
  position: absolute; left: 30%; bottom: 10%; width: 40%; height: 10%;
  background: linear-gradient(0deg, #4a3a2a 0%, #3b2e1e 100%);
  border-radius: 10%; box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: mtuu-mat 20s ease-in-out infinite;
}
.scn-many-things-unpleasant-usable .figure {
  position: absolute; left: 40%; bottom: 15%; width: 14%; height: 35%;
  background: linear-gradient(180deg, #2a1f12 0%, #1a1208 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center; animation: mtuu-figure 10s ease-in-out infinite;
}
.scn-many-things-unpleasant-usable .pile-a,
.scn-many-things-unpleasant-usable .pile-b {
  position: absolute; width: 12%; height: 15%;
  background: radial-gradient(ellipse, #5a6a2a 0%, #3b4a1e 100%);
  border-radius: 30% 30% 20% 20%; box-shadow: inset 0 4px 6px rgba(0,0,0,0.3);
}
.scn-many-things-unpleasant-usable .pile-a {
  left: 55%; bottom: 18%; animation: mtuu-pile 18s ease-in-out infinite;
}
.scn-many-things-unpleasant-usable .pile-b {
  left: 25%; bottom: 22%; animation: mtuu-pile 18s ease-in-out infinite -6s;
}
.scn-many-things-unpleasant-usable .vessel {
  position: absolute; left: 48%; bottom: 28%; width: 6%; height: 12%;
  background: linear-gradient(180deg, #6f4e2e 0%, #4a3320 100%);
  border-radius: 10% 10% 30% 30%; box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  animation: mtuu-vessel 8s ease-in-out infinite alternate;
}
.scn-many-things-unpleasant-usable .steam {
  position: absolute; left: 46%; bottom: 40%; width: 10%; height: 20%;
  background: radial-gradient(circle, rgba(200,180,160,0.2) 0%, transparent 80%);
  border-radius: 50%; filter: blur(4px); animation: mtuu-steam 5s ease-in-out infinite;
}
@keyframes mtuu-mat { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(1) } }
@keyframes mtuu-figure { 0% { transform: rotate(0deg) } 33% { transform: rotate(1deg) translateY(-2px) } 66% { transform: rotate(-1deg) translateY(2px) } 100% { transform: rotate(0deg) } }
@keyframes mtuu-pile { 0% { transform: translateY(0) scaleX(1) } 50% { transform: translateY(-2px) scaleX(1.03) } 100% { transform: translateY(0) scaleX(1) } }
@keyframes mtuu-vessel { 0% { transform: rotate(0deg) } 100% { transform: rotate(2deg) } }
@keyframes mtuu-steam { 0% { opacity: 0.1; transform: translateY(0) scale(0.9) } 50% { opacity: 0.4; transform: translateY(-10px) scale(1.1) } 100% { opacity: 0.1; transform: translateY(0) scale(0.9) } }

.scn-aristotle-different-account { background: linear-gradient(180deg, #f5e6d0 0%, #e6d5b8 40%), radial-gradient(ellipse at 70% 30%, #fce4b8 0%, transparent 60%); }
.scn-aristotle-different-account .bg { position:absolute; inset:0; background: linear-gradient(180deg, #fcf3e2 0%, #e8dcc4 100%); }
.scn-aristotle-different-account .bookshelf { position:absolute; top:10%; right:10%; width:30%; height:60%; background: linear-gradient(90deg, #9b7b5c 0%, #5a3d28 100%); border-radius:4px; box-shadow: inset 0 0 0 2px #7a5a3e; animation: arc-books 20s ease-in-out infinite alternate; }
.scn-aristotle-different-account .lamp { position:absolute; top:30%; left:30%; width:40px; height:60px; background: radial-gradient(circle, #fae088 0%, #d4a14a 100%); border-radius:30% 30% 10% 10%; box-shadow: 0 0 40px 15px #f0c060, 0 0 80px 30px rgba(240,192,96,0.3); animation: arc-lamp 4s ease-in-out infinite alternate; }
.scn-aristotle-different-account .desk { position:absolute; bottom:25%; left:15%; right:40%; height:8%; background: linear-gradient(180deg, #8a6a4a 0%, #5a3d28 100%); border-radius:4px; box-shadow: 0 4px 10px rgba(0,0,0,0.2); }
.scn-aristotle-different-account .scroll { position:absolute; bottom:35%; left:20%; width:12%; height:4%; background: linear-gradient(90deg, #e6d5b0 0%, #c4a882 50%, #b89973 100%); border-radius:50%; transform: rotate(-10deg); animation: arc-scroll 6s ease-in-out infinite; }
.scn-aristotle-different-account .figure { position:absolute; bottom:33%; left:15%; width:8%; height:30%; background: linear-gradient(180deg, #6e5742 0%, #3a2e22 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: arc-figure 8s ease-in-out infinite; }
@keyframes arc-books { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes arc-lamp { 0% { box-shadow: 0 0 30px 10px #f0c060, 0 0 60px 20px rgba(240,192,96,0.2); opacity:0.9; } 50% { box-shadow: 0 0 50px 20px #ffe080, 0 0 100px 40px rgba(255,224,128,0.4); opacity:1; } 100% { box-shadow: 0 0 35px 12px #f0c060, 0 0 70px 25px rgba(240,192,96,0.3); opacity:0.92; } }
@keyframes arc-scroll { 0% { transform: rotate(-10deg) translateX(0); } 50% { transform: rotate(-5deg) translateX(3px); } 100% { transform: rotate(-10deg) translateX(0); } }
@keyframes arc-figure { 0% { transform: rotate(0deg) scaleY(1); } 50% { transform: rotate(2deg) scaleY(1.01); } 100% { transform: rotate(0deg) scaleY(1); } }

.scn-dionysius-cause-version { background: linear-gradient(180deg, #e8dcc4 0%, #d4c4a8 50%), radial-gradient(ellipse at 30% 60%, #fce4b8 0%, transparent 70%); }
.scn-dionysius-cause-version .bg { position:absolute; inset:0; background: linear-gradient(180deg, #fcf3e2 0%, #e8dcc4 100%); }
.scn-dionysius-cause-version .window { position:absolute; top:15%; left:55%; width:25%; height:35%; background: linear-gradient(180deg, #c4d8f0 0%, #a0c0e0 100%); border: 6px solid #6e5a46; border-radius:4px; box-shadow: inset 0 0 30px rgba(255,255,255,0.2); animation: di-window 12s ease-in-out infinite alternate; }
.scn-dionysius-cause-version .table { position:absolute; bottom:25%; left:10%; right:40%; height:6%; background: linear-gradient(180deg, #8a6a4a 0%, #5a3d28 100%); border-radius:4px; box-shadow: 0 4px 10px rgba(0,0,0,0.2); }
.scn-dionysius-cause-version .lyre { position:absolute; bottom:40%; left:20%; width:10%; height:20%; background: linear-gradient(180deg, #c49a6a 0%, #8a6a4a 100%); border-radius:30% 30% 10% 10% / 50% 50% 20% 20%; transform: rotate(-5deg); animation: di-lyre 5s ease-in-out infinite; }
.scn-dionysius-cause-version .scroll { position:absolute; bottom:32%; left:40%; width:8%; height:3%; background: linear-gradient(90deg, #e6d5b0 0%, #c4a882 50%, #b89973 100%); border-radius:50%; transform: rotate(20deg); animation: di-scroll 8s ease-in-out infinite; }
.scn-dionysius-cause-version .hand { position:absolute; bottom:32%; left:30%; width:6%; height:10%; background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; animation: di-hand 4s ease-in-out infinite; }
@keyframes di-window { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes di-lyre { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-2deg) translateY(-2px); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes di-scroll { 0% { transform: rotate(20deg) translateX(0); } 50% { transform: rotate(15deg) translateX(4px); } 100% { transform: rotate(20deg) translateX(0); } }
@keyframes di-hand { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(3px) rotate(5deg); } 100% { transform: translateX(0) rotate(0deg); } }

.scn-theban-armour-gift { background: linear-gradient(180deg, #f0e0c8 0%, #dcc8a8 60%), radial-gradient(ellipse at 50% 40%, #f8e0b8 0%, transparent 60%); }
.scn-theban-armour-gift .bg { position:absolute; inset:0; background: linear-gradient(180deg, #fcf3e2 0%, #e8dcc4 100%); }
.scn-theban-armour-gift .pedestal { position:absolute; bottom:20%; left:30%; right:30%; height:6%; background: linear-gradient(180deg, #9b7b5c 0%, #5a3d28 100%); border-radius:4px; box-shadow: 0 6px 12px rgba(0,0,0,0.3); }
.scn-theban-armour-gift .armour-stand { position:absolute; bottom:26%; left:38%; right:38%; height:35%; background: linear-gradient(180deg, #8a6a4a 0%, #4a3528 100%); border-radius:10% 10% 20% 20% / 30% 30% 10% 10%; box-shadow: inset 0 0 10px rgba(0,0,0,0.4); animation: tag-stand 10s ease-in-out infinite alternate; }
.scn-theban-armour-gift .shield { position:absolute; bottom:40%; left:30%; width:14%; height:20%; background: radial-gradient(ellipse, #a0461a 0%, #5e1a1d 100%); border-radius:50%; border: 4px solid #8a6a4a; box-shadow: 0 4px 10px rgba(0,0,0,0.3); animation: tag-shield 6s ease-in-out infinite; }
.scn-theban-armour-gift .helmet { position:absolute; bottom:56%; left:40%; width:12%; height:14%; background: linear-gradient(180deg, #8a7a6a 0%, #4a3a2a 100%); border-radius:30% 30% 10% 10% / 60% 60% 20% 20%; box-shadow: 0 0 0 2px #6e5742; animation: tag-helmet 8s ease-in-out infinite; }
.scn-theban-armour-gift .figure-left { position:absolute; bottom:22%; left:12%; width:10%; height:40%; background: linear-gradient(180deg, #6e5742 0%, #3a2e22 100%); border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tag-figure-l 5s ease-in-out infinite; }
.scn-theban-armour-gift .figure-right { position:absolute; bottom:22%; right:12%; width:10%; height:40%; background: linear-gradient(180deg, #6e5742 0%, #3a2e22 100%); border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tag-figure-r 5s ease-in-out infinite 0.5s; }
@keyframes tag-stand { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes tag-shield { 0% { transform: rotate(0deg); } 50% { transform: rotate(5deg); } 100% { transform: rotate(0deg); } }
@keyframes tag-helmet { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes tag-figure-l { 0% { transform: rotate(0deg) scaleY(1); } 50% { transform: rotate(3deg) scaleY(1.02); } 100% { transform: rotate(0deg) scaleY(1); } }
@keyframes tag-figure-r { 0% { transform: rotate(0deg) scaleY(1); } 50% { transform: rotate(-3deg) scaleY(1.02); } 100% { transform: rotate(0deg) scaleY(1); } }

.scn-lovers-never-leave { background: linear-gradient(180deg, #e8dcc4 0%, #c4a882 70%), radial-gradient(ellipse at 50% 30%, #fce4b8 0%, transparent 50%); }
.scn-lovers-never-leave .bg { position:absolute; inset:0; background: linear-gradient(180deg, #fcf3e2 0%, #dcc8a8 100%); }
.scn-lovers-never-leave .ground { position:absolute; bottom:0; left:0; right:0; height:15%; background: linear-gradient(180deg, #8a6a4a 0%, #4a3528 100%); }
.scn-lovers-never-leave .figure-left { position:absolute; bottom:15%; left:20%; width:12%; height:50%; background: linear-gradient(180deg, #6e5742 0%, #3a2e22 100%); border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: lnl-fig-l 4s ease-in-out infinite; }
.scn-lovers-never-leave .figure-right { position:absolute; bottom:15%; right:20%; width:12%; height:50%; background: linear-gradient(180deg, #6e5742 0%, #3a2e22 100%); border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: lnl-fig-r 4s ease-in-out infinite 0.3s; }
.scn-lovers-never-leave .spear { position:absolute; bottom:40%; left:22%; width:2%; height:50%; background: linear-gradient(180deg, #a0461a 0%, #5e1a1d 100%); border-radius:10% 10% 0 0; transform: rotate(-15deg); animation: lnl-spear 3s ease-in-out infinite; }
.scn-lovers-never-leave .shield { position:absolute; bottom:35%; right:24%; width:12%; height:18%; background: radial-gradient(ellipse, #a0461a 0%, #5e1a1d 100%); border-radius:50%; border: 4px solid #8a6a4a; box-shadow: 0 4px 10px rgba(0,0,0,0.4); animation: lnl-shield 5s ease-in-out infinite; }
.scn-lovers-never-leave .sunray { position:absolute; top:5%; left:30%; right:30%; height:5%; background: linear-gradient(90deg, transparent 0%, #ffe080 50%, transparent 100%); border-radius:50%; filter: blur(8px); opacity:0.6; animation: lnl-sunray 10s ease-in-out infinite alternate; }
@keyframes lnl-fig-l { 0% { transform: rotate(0deg) scaleY(1); } 50% { transform: rotate(2deg) scaleY(1.02); } 100% { transform: rotate(0deg) scaleY(1); } }
@keyframes lnl-fig-r { 0% { transform: rotate(0deg) scaleY(1); } 50% { transform: rotate(-2deg) scaleY(1.02); } 100% { transform: rotate(0deg) scaleY(1); } }
@keyframes lnl-spear { 0% { transform: rotate(-15deg) translateX(0); } 50% { transform: rotate(-10deg) translateX(3px); } 100% { transform: rotate(-15deg) translateX(0); } }
@keyframes lnl-shield { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }
@keyframes lnl-sunray { 0% { opacity:0.4; transform: scaleX(0.8); } 50% { opacity:0.8; transform: scaleX(1.2); } 100% { opacity:0.5; transform: scaleX(0.9); } }

/* koloios-proverb - dim interior, two figures, lamp, shelf */
.scn-koloios-proverb {
  background:
    linear-gradient(180deg, #2a2a2a 0%, #1f1f1f 60%, #141414 100%),
    radial-gradient(ellipse at 50% 80%, #2a2a2a 0%, transparent 80%);
}
.scn-koloios-proverb .wall-bg { position: absolute; inset: 0; background: linear-gradient(180deg, #2e2e2e 0%, #1a1a1a 100%); }
.scn-koloios-proverb .shelf { position: absolute; bottom: 50%; left: 5%; right: 5%; height: 12px; background: linear-gradient(180deg, #3a3a3a, #2a2a2a); border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,0.6); }
.scn-koloios-proverb .bookstack { position: absolute; bottom: calc(50% + 12px); left: 20%; width: 40px; height: 50px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.5); }
.scn-koloios-proverb .lamp { position: absolute; bottom: 52%; right: 20%; width: 12px; height: 18px; background: radial-gradient(circle at 50% 20%, #c8a070 0%, #8a5a30 100%); border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%; box-shadow: 0 0 20px 6px rgba(200,160,112,0.4); animation: kp-glow 4s ease-in-out infinite alternate; }
.scn-koloios-proverb .figure-left { position: absolute; bottom: 42%; left: 25%; width: 28px; height: 60px; background: linear-gradient(180deg, #2a2a2a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: kp-figure-left 6s ease-in-out infinite; }
.scn-koloios-proverb .figure-right { position: absolute; bottom: 42%; right: 28%; width: 28px; height: 60px; background: linear-gradient(180deg, #2a2a2a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: kp-figure-right 6s ease-in-out infinite; }
.scn-koloios-proverb .shadow { position: absolute; bottom: 40%; left: 10%; right: 10%; height: 20px; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.3) 100%); filter: blur(4px); }
@keyframes kp-glow { 0% { box-shadow: 0 0 15px 4px rgba(200,160,112,0.3); opacity: 0.8; } 50% { box-shadow: 0 0 30px 10px rgba(200,160,112,0.6); opacity: 1; } 100% { box-shadow: 0 0 20px 6px rgba(200,160,112,0.4); opacity: 0.9; } }
@keyframes kp-figure-left { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(-2deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(-4px) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes kp-figure-right { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-4px) rotate(2deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(4px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0deg); } }

/* iliad-xxiii-77 - dim interior, brazier, shield, seated figure */
.scn-iliad-xxiii-77 {
  background:
    linear-gradient(180deg, #2e2a2a 0%, #1f1a1a 60%, #100c0c 100%),
    radial-gradient(ellipse at 30% 70%, #3a2a2a 0%, transparent 70%);
}
.scn-iliad-xxiii-77 .wall-bg { position: absolute; inset: 0; background: linear-gradient(180deg, #332e2e 0%, #1a1515 100%); }
.scn-iliad-xxiii-77 .brazier { position: absolute; bottom: 35%; left: 30%; width: 40px; height: 30px; background: radial-gradient(circle at 50% 40%, #c07040 0%, #6a3018 100%); border-radius: 50% 50% 0 0; box-shadow: 0 0 25px 8px rgba(192,112,64,0.5); animation: i23-fire 4s ease-in-out infinite alternate; }
.scn-iliad-xxiii-77 .shield { position: absolute; bottom: 55%; left: 60%; width: 50px; height: 50px; background: radial-gradient(circle at 40% 30%, #5a4a3a 0%, #2a1a0a 100%); border-radius: 50%; box-shadow: 0 4px 8px rgba(0,0,0,0.7), inset 0 2px 4px rgba(255,255,220,0.2); transform: rotate(-10deg); animation: i23-shield 12s ease-in-out infinite alternate; }
.scn-iliad-xxiii-77 .spear { position: absolute; bottom: 40%; left: 70%; width: 4px; height: 90px; background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); border-radius: 2px; transform: rotate(5deg); }
.scn-iliad-xxiii-77 .seated-figure { position: absolute; bottom: 25%; left: 50%; width: 40px; height: 70px; background: linear-gradient(180deg, #2a2222 0%, #0a0505 100%); border-radius: 50% 50% 45% 45% / 60% 60% 40% 40%; transform: translateX(-50%); animation: i23-seat 8s ease-in-out infinite; }
.scn-iliad-xxiii-77 .smoke { position: absolute; bottom: 55%; left: 28%; width: 30px; height: 30px; background: radial-gradient(circle, rgba(200,180,160,0.15) 0%, transparent 100%); filter: blur(8px); animation: i23-smoke 5s ease-in-out infinite; }
@keyframes i23-fire { 0% { transform: scale(1); opacity: 0.9; box-shadow: 0 0 20px 6px rgba(192,112,64,0.4); } 50% { transform: scale(1.08) translateY(-2px); opacity: 1; box-shadow: 0 0 35px 12px rgba(192,112,64,0.7); } 100% { transform: scale(0.95); opacity: 0.85; box-shadow: 0 0 18px 5px rgba(192,112,64,0.3); } }
@keyframes i23-shield { 0% { transform: rotate(-12deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-8deg); } }
@keyframes i23-seat { 0% { transform: translateX(-50%) rotate(0deg); } 25% { transform: translateX(-50%) rotate(1deg); } 50% { transform: translateX(-50%) rotate(0deg); } 75% { transform: translateX(-50%) rotate(-1deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes i23-smoke { 0% { transform: translateY(0) scale(1); opacity: 0.4; } 50% { transform: translateY(-15px) scale(1.5); opacity: 0.2; } 100% { transform: translateY(0) scale(1); opacity: 0.4; } }

/* on-education-xvii - library interior, desk, lamp, reader */
.scn-on-education-xvii {
  background:
    linear-gradient(180deg, #2a2a2a 0%, #1f1f1f 50%, #151515 100%),
    radial-gradient(ellipse at 60% 90%, #2a221a 0%, transparent 70%);
}
.scn-on-education-xvii .wall-bg { position: absolute; inset: 0; background: linear-gradient(180deg, #2e2a26 0%, #1a1612 100%); }
.scn-on-education-xvii .bookcase { position: absolute; bottom: 20%; left: 5%; width: 30%; height: 60%; background: linear-gradient(90deg, #2a1a0a 0%, #3a2a1a 50%, #2a1a0a 100%); border-radius: 2px; box-shadow: inset 0 0 10px rgba(0,0,0,0.8); }
.scn-on-education-xvii .desk { position: absolute; bottom: 10%; left: 35%; right: 10%; height: 18px; background: linear-gradient(180deg, #4a3a2a, #2a1a0a); border-radius: 2px; box-shadow: 0 4px 6px rgba(0,0,0,0.6); }
.scn-on-education-xvii .lamp { position: absolute; bottom: 15%; right: 20%; width: 14px; height: 22px; background: radial-gradient(circle at 50% 20%, #d4a06a 0%, #a07040 100%); border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%; box-shadow: 0 0 25px 8px rgba(212,160,106,0.4); animation: oe-glow 4s ease-in-out infinite alternate; }
.scn-on-education-xvii .seated-reader { position: absolute; bottom: 18%; left: 40%; width: 36px; height: 55px; background: linear-gradient(180deg, #1a1612 0%, #0a0806 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: oe-reader 7s ease-in-out infinite; }
.scn-on-education-xvii .scroll { position: absolute; bottom: 22%; left: 45%; width: 40px; height: 8px; background: linear-gradient(180deg, #8a7a5a, #5a4a2a); border-radius: 4px; transform: rotate(-10deg); animation: oe-scroll 5s ease-in-out infinite alternate; }
.scn-on-education-xvii .inkwell { position: absolute; bottom: 18%; left: 55%; width: 10px; height: 14px; background: radial-gradient(circle at 50% 30%, #1a1a1a 0%, #0a0a0a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; box-shadow: 0 2px 4px rgba(0,0,0,0.8); }
@keyframes oe-glow { 0% { box-shadow: 0 0 15px 4px rgba(212,160,106,0.3); opacity: 0.85; } 50% { box-shadow: 0 0 35px 12px rgba(212,160,106,0.6); opacity: 1; } 100% { box-shadow: 0 0 20px 6px rgba(212,160,106,0.4); opacity: 0.9; } }
@keyframes oe-reader { 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 oe-scroll { 0% { transform: rotate(-15deg); } 50% { transform: rotate(-5deg); } 100% { transform: rotate(-10deg); } }

/* proteus-horace - dim study, tapestry, desk, hand reaching */
.scn-proteus-horace {
  background:
    linear-gradient(180deg, #2a2a2e 0%, #1f1f22 60%, #141416 100%),
    radial-gradient(ellipse at 40% 70%, #2a2a30 0%, transparent 80%);
}
.scn-proteus-horace .wall-bg { position: absolute; inset: 0; background: linear-gradient(180deg, #2e2e32 0%, #1a1a1e 100%); }
.scn-proteus-horace .tapestry { position: absolute; bottom: 30%; left: 10%; width: 60%; height: 40%; background: linear-gradient(180deg, #3a2a3a 0%, #1a0a1a 100%); border-radius: 4px; box-shadow: 0 0 15px rgba(0,0,0,0.6); background-image: radial-gradient(circle at 30% 40%, #4a3a4a 2px, transparent 2px), radial-gradient(circle at 70% 60%, #4a3a4a 3px, transparent 3px); background-size: 20px 20px; animation: ph-tapestry 20s ease-in-out infinite alternate; }
.scn-proteus-horace .desk { position: absolute; bottom: 12%; left: 20%; right: 20%; height: 16px; background: linear-gradient(180deg, #3a2a2a 0%, #1a0a0a 100%); border-radius: 2px; box-shadow: 0 4px 6px rgba(0,0,0,0.6); }
.scn-proteus-horace .lamp { position: absolute; bottom: 18%; left: 25%; width: 12px; height: 20px; background: radial-gradient(circle at 50% 20%, #b8a080 0%, #7a604a 100%); border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%; box-shadow: 0 0 20px 6px rgba(184,160,128,0.3); animation: ph-glow 5s ease-in-out infinite alternate; }
.scn-proteus-horace .chair { position: absolute; bottom: 10%; right: 30%; width: 40px; height: 60px; background: linear-gradient(180deg, #2a2222 0%, #0a0505 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; }
.scn-proteus-horace .hand-reach { position: absolute; bottom: 22%; left: 35%; width: 30px; height: 40px; background: radial-gradient(ellipse at 50% 80%, #1a1a1a 0%, #0a0a0a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: ph-hand 6s ease-in-out infinite; }
.scn-proteus-horace .shadow { position: absolute; bottom: 10%; left: 10%; right: 10%; height: 20px; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.3) 100%); filter: blur(5px); }
@keyframes ph-tapestry { 0% { opacity: 0.8; background-position: 0 0; } 50% { opacity: 1; background-position: 5px 5px; } 100% { opacity: 0.85; background-position: 0 0; } }
@keyframes ph-glow { 0% { box-shadow: 0 0 12px 3px rgba(184,160,128,0.2); opacity: 0.8; } 50% { box-shadow: 0 0 30px 10px rgba(184,160,128,0.5); opacity: 1; } 100% { box-shadow: 0 0 18px 5px rgba(184,160,128,0.3); opacity: 0.9; } }
@keyframes ph-hand { 0% { transform: translateX(0) rotate(0deg) scale(1); } 25% { transform: translateX(8px) rotate(5deg) scale(1.05); } 50% { transform: translateX(12px) rotate(10deg) scale(1.1); } 75% { transform: translateX(4px) rotate(3deg) scale(1.02); } 100% { transform: translateX(0) rotate(0deg) scale(1); } }

/* wife-husband-gods */
.scn-wife-husband-gods { background: linear-gradient(180deg, #e8dcc8 0%, #cbb99a 50%, #a89070 100%), radial-gradient(ellipse at 30% 50%, #f0e4d0 0%, transparent 70%); }
.scn-wife-husband-gods .interior-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #d9ccb5 0%, #c4b39a 100%); }
.scn-wife-husband-gods .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #8b7760 0%, #6b5a48 100%); }
.scn-wife-husband-gods .door-left { position:absolute; bottom:25%; left:10%; width:30%; height:55%; background: linear-gradient(135deg, #7a6854 0%, #5a4a3a 100%); border-radius: 4% 4% 0 0; box-shadow: inset -8px 0 12px rgba(0,0,0,0.2); animation: wihg-door 8s ease-in-out infinite alternate; }
.scn-wife-husband-gods .door-right { position:absolute; bottom:25%; right:10%; width:30%; height:55%; background: linear-gradient(135deg, #7a6854 0%, #5a4a3a 100%); border-radius: 4% 4% 0 0; box-shadow: inset 8px 0 12px rgba(0,0,0,0.2); animation: wihg-door 8s ease-in-out infinite alternate-reverse; }
.scn-wife-husband-gods .altar { position:absolute; bottom:20%; left:50%; transform:translateX(-50%); width:50px; height:30px; background: linear-gradient(180deg, #a08060 0%, #705840 100%); border-radius: 6% 6% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.3); animation: wihg-altar 12s ease-in-out infinite; }
.scn-wife-husband-gods .god-symbol { position:absolute; bottom:30%; left:50%; transform:translateX(-50%); width:20px; height:20px; background: radial-gradient(circle, #f0c860 0%, #c89030 70%); border-radius:50%; box-shadow: 0 0 20px 6px #c89030, 0 0 40px 12px rgba(200,144,48,0.4); animation: wihg-glow 4s ease-in-out infinite alternate; }
.scn-wife-husband-gods .wife-figure { position:absolute; bottom:18%; left:40%; width:20px; height:40px; background: linear-gradient(180deg, #9a8070 0%, #604a3a 100%); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wihg-bow 6s ease-in-out infinite; }
@keyframes wihg-door { 0% { transform: perspective(800px) rotateY(0deg); } 50% { transform: perspective(800px) rotateY(-8deg); } 100% { transform: perspective(800px) rotateY(0deg); } }
@keyframes wihg-altar { 0% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-2px); } 100% { transform: translateX(-50%) translateY(0); } }
@keyframes wihg-glow { 0% { box-shadow: 0 0 16px 4px #c89030, 0 0 32px 8px rgba(200,144,48,0.3); opacity:0.8; } 50% { box-shadow: 0 0 30px 10px #f0c860, 0 0 60px 18px rgba(240,200,96,0.5); opacity:1; } 100% { box-shadow: 0 0 20px 5px #c89030, 0 0 40px 10px rgba(200,144,48,0.35); opacity:0.9; } }
@keyframes wihg-bow { 0%,100% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-3px) rotate(-4deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(3px) rotate(4deg); } }

/* meum-tuum-in-marriage */
.scn-meum-tuum-in-marriage { background: linear-gradient(180deg, #eae0d0 0%, #d0c0a8 50%, #b8a88c 100%), radial-gradient(ellipse at 70% 30%, #f8f0e0 0%, transparent 60%); }
.scn-meum-tuum-in-marriage .wall-bg { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #d9ccb8 0%, #c4b39a 100%); }
.scn-meum-tuum-in-marriage .table { position:absolute; bottom:20%; left:20%; right:20%; height:20%; background: linear-gradient(180deg, #a09078 0%, #7a6a54 100%); border-radius: 10% 10% 4% 4%; box-shadow: 0 6px 12px rgba(0,0,0,0.3); animation: meet-table 10s ease-in-out infinite alternate; }
.scn-meum-tuum-in-marriage .purse { position:absolute; bottom:24%; left:50%; transform:translateX(-50%); width:40px; height:24px; background: linear-gradient(135deg, #b89060 0%, #8a6a3a 100%); border-radius: 30% 30% 40% 40% / 40% 40% 30% 30%; box-shadow: 0 2px 6px rgba(0,0,0,0.3); animation: meet-purse 6s ease-in-out infinite; }
.scn-meum-tuum-in-marriage .meum { position:absolute; bottom:28%; left:42%; width:18px; height:18px; background: radial-gradient(circle, #d0b080 0%, #b09060 100%); border-radius:50%; opacity:0.6; filter: blur(1px); animation: meet-orbit 14s linear infinite; }
.scn-meum-tuum-in-marriage .tuum { position:absolute; bottom:28%; right:42%; width:18px; height:18px; background: radial-gradient(circle, #d0b080 0%, #b09060 100%); border-radius:50%; opacity:0.6; filter: blur(1px); animation: meet-orbit 14s linear infinite reverse; }
.scn-meum-tuum-in-marriage .husband-hand { position:absolute; bottom:26%; left:35%; width:14px; height:22px; background: linear-gradient(180deg, #c0a080 0%, #8a7050 100%); border-radius: 40% 40% 50% 50% / 50% 50% 40% 40%; transform-origin: bottom center; animation: meet-hand 5s ease-in-out infinite; }
.scn-meum-tuum-in-marriage .wife-hand { position:absolute; bottom:26%; right:35%; width:14px; height:22px; background: linear-gradient(180deg, #c0a080 0%, #8a7050 100%); border-radius: 40% 40% 50% 50% / 50% 50% 40% 40%; transform-origin: bottom center; animation: meet-hand 5s ease-in-out infinite 2.5s; }
.scn-meum-tuum-in-marriage .glow { position:absolute; bottom:28%; left:50%; transform:translateX(-50%); width:30px; height:30px; background: radial-gradient(circle, #f0d8a0 0%, transparent 70%); border-radius:50%; opacity:0.4; animation: meet-glow 3s ease-in-out infinite alternate; }
@keyframes meet-table { 0% { transform: perspective(600px) rotateX(2deg); } 50% { transform: perspective(600px) rotateX(-1deg); } 100% { transform: perspective(600px) rotateX(2deg); } }
@keyframes meet-purse { 0% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(0.95); } 100% { transform: translateX(-50%) scaleY(1); } }
@keyframes meet-orbit { 0% { transform: rotate(0deg) translateX(8px) rotate(0deg); } 100% { transform: rotate(360deg) translateX(8px) rotate(-360deg); } }
@keyframes meet-hand { 0%,100% { transform: rotate(0deg); } 25% { transform: rotate(-10deg); } 50% { transform: rotate(5deg); } 75% { transform: rotate(-5deg); } }
@keyframes meet-glow { 0% { opacity:0.3; transform: translateX(-50%) scale(1); } 50% { opacity:0.6; transform: translateX(-50%) scale(1.3); } 100% { opacity:0.3; transform: translateX(-50%) scale(1); } }

/* children-common-property */
.scn-children-common-property { background: linear-gradient(180deg, #f0e8d8 0%, #d8c8b0 50%, #b8a48c 100%), radial-gradient(ellipse at 50% 80%, #f8f0e0 0%, transparent 80%); }
.scn-children-common-property .room-bg { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #d9ccb8 0%, #c4b39a 100%); }
.scn-children-common-property .cradle { position:absolute; bottom:22%; left:50%; transform:translateX(-50%); width:70px; height:40px; background: linear-gradient(180deg, #b09878 0%, #8a7050 100%); border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%; box-shadow: 0 6px 10px rgba(0,0,0,0.2); animation: chpr-cradle 8s ease-in-out infinite; }
.scn-children-common-property .baby-blanket { position:absolute; bottom:24%; left:50%; transform:translateX(-50%); width:40px; height:18px; background: linear-gradient(180deg, #c8a888 0%, #a08060 100%); border-radius: 30% 30% 50% 50% / 40% 40% 20% 20%; animation: chpr-blanket 4s ease-in-out infinite alternate; }
.scn-children-common-property .coin { position:absolute; width:14px; height:14px; background: radial-gradient(circle, #e0c060 0%, #b89030 100%); border-radius:50%; box-shadow: 0 1px 3px rgba(0,0,0,0.2); }
.scn-children-common-property .coin-1 { bottom:18%; left:30%; animation: chpr-coin 6s ease-in-out infinite; }
.scn-children-common-property .coin-2 { bottom:15%; left:50%; animation: chpr-coin 6s ease-in-out infinite 2s; }
.scn-children-common-property .coin-3 { bottom:20%; left:65%; animation: chpr-coin 6s ease-in-out infinite 4s; }
.scn-children-common-property .mother-silhouette { position:absolute; bottom:18%; left:22%; width:22px; height:44px; background: linear-gradient(180deg, #9a8070 0%, #604a3a 100%); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; transform-origin: bottom center; animation: chpr-sway 5s ease-in-out infinite; }
.scn-children-common-property .father-silhouette { position:absolute; bottom:18%; right:22%; width:24px; height:46px; background: linear-gradient(180deg, #8a7050 0%, #504030 100%); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; transform-origin: bottom center; animation: chpr-sway 5s ease-in-out infinite 2.5s; }
@keyframes chpr-cradle { 0%,100% { transform: translateX(-50%) rotate(0deg); } 25% { transform: translateX(-50%) rotate(-3deg); } 75% { transform: translateX(-50%) rotate(3deg); } }
@keyframes chpr-blanket { 0% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(1.05); } 100% { transform: translateX(-50%) scaleY(1); } }
@keyframes chpr-coin { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(180deg); } }
@keyframes chpr-sway { 0%,100% { transform: rotate(0deg); } 25% { transform: rotate(-5deg); } 75% { transform: rotate(5deg); } }

/* helen-paris-odysseus-penelope */
.scn-helen-paris-odysseus-penelope { background: linear-gradient(180deg, #e0d8c8 0%, #c8b8a0 50%, #a89078 100%), radial-gradient(ellipse at 40% 30%, #f0e8d8 0%, transparent 70%); }
.scn-helen-paris-odysseus-penelope .chamber-bg { position:absolute; inset:0 0 15% 0; background: linear-gradient(180deg, #d9ccb8 0%, #c4b39a 100%); }
.scn-helen-paris-odysseus-penelope .divider { position:absolute; bottom:10%; left:50%; transform:translateX(-50%); width:2px; height:60%; background: linear-gradient(180deg, transparent 0%, #8a7050 20%, #8a7050 80%, transparent 100%); animation: hepo-divider 12s ease-in-out infinite alternate; }
.scn-helen-paris-odysseus-penelope .helen-figure { position:absolute; bottom:16%; left:20%; width:22px; height:44px; background: linear-gradient(180deg, #c88060 0%, #a05840 100%); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; transform-origin: bottom center; animation: hepo-figure 6s ease-in-out infinite; }
.scn-helen-paris-odysseus-penelope .paris-figure { position:absolute; bottom:16%; left:30%; width:24px; height:46px; background: linear-gradient(180deg, #b08060 0%, #8a6040 100%); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; transform-origin: bottom center; animation: hepo-figure 6s ease-in-out infinite 1.5s; }
.scn-helen-paris-odysseus-penelope .odysseus-figure { position:absolute; bottom:16%; right:30%; width:22px; height:44px; background: linear-gradient(180deg, #506080 0%, #304060 100%); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; transform-origin: bottom center; animation: hepo-figure 6s ease-in-out infinite 3s; }
.scn-helen-paris-odysseus-penelope .penelope-figure { position:absolute; bottom:16%; right:20%; width:20px; height:42px; background: linear-gradient(180deg, #608090 0%, #405060 100%); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; transform-origin: bottom center; animation: hepo-figure 6s ease-in-out infinite 4.5s; }
.scn-helen-paris-odysseus-penelope .wealth-symbol { position:absolute; bottom:30%; left:25%; width:12px; height:12px; background: radial-gradient(circle, #e0c060 0%, #b09030 100%); border-radius:50%; box-shadow: 0 0 8px 2px rgba(224,192,96,0.5); animation: hepo-sparkle 4s ease-in-out infinite alternate; }
.scn-helen-paris-odysseus-penelope .prudence-symbol { position:absolute; bottom:30%; right:25%; width:12px; height:12px; background: radial-gradient(circle, #a0b0c0 0%, #708090 100%); border-radius:50%; box-shadow: 0 0 8px 2px rgba(160,176,192,0.5); animation: hepo-sparkle 4s ease-in-out infinite alternate-reverse; }
@keyframes hepo-divider { 0% { opacity:0.3; } 50% { opacity:0.6; } 100% { opacity:0.3; } }
@keyframes hepo-figure { 0%,100% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-3px) rotate(-2deg); } 75% { transform: translateY(1px) rotate(1deg); } }
@keyframes hepo-sparkle { 0% { opacity:0.4; transform: scale(0.8); } 50% { opacity:1; transform: scale(1.2); } 100% { opacity:0.4; transform: scale(0.8); } }

.scn-plato-republic-361 {
  background:
    linear-gradient(180deg, #2a1f14 0%, #1a120a 50%, #0d0905 100%),
    radial-gradient(ellipse at 50% 30%, #4a3520 0%, transparent 70%);
  background-blend-mode: normal;
}
.scn-plato-republic-361 .wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #3b281a 0%, #1f140c 100%);
  animation: rep-wall 15s ease-in-out infinite alternate;
}
.scn-plato-republic-361 .bookcase {
  position: absolute; bottom: 30%; left: 8%;
  width: 32%; height: 50%;
  background: linear-gradient(90deg, #3b2a1a 0%, #4a3522 30%, #3b2a1a 100%);
  border-radius: 2px 2px 0 0;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.8);
  animation: rep-sway 8s ease-in-out infinite;
}
.scn-plato-republic-361 .desk {
  position: absolute; bottom: 8%; left: 15%;
  width: 70%; height: 18%;
  background: linear-gradient(180deg, #4a3520 0%, #2a1a0e 100%);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.5);
}
.scn-plato-republic-361 .lamp {
  position: absolute; bottom: 35%; left: 50%;
  width: 12%; height: 8%;
  background: radial-gradient(ellipse at 50% 30%, #f0c070 0%, #b08030 100%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: 0 0 40px 10px #c09040, 0 0 80px 20px rgba(192,144,64,0.3);
  animation: rep-lamp 3s ease-in-out infinite alternate;
}
.scn-plato-republic-361 .glow {
  position: absolute; bottom: 38%; left: 50%;
  width: 30%; height: 40%;
  background: radial-gradient(ellipse, #f0d090 0%, transparent 70%);
  opacity: 0.4;
  animation: rep-glow 4s ease-in-out infinite alternate;
}
.scn-plato-republic-361 .scroll {
  position: absolute; bottom: 12%; left: 40%;
  width: 8%; height: 5%;
  background: linear-gradient(180deg, #d4b080 0%, #a08050 100%);
  border-radius: 40% 40% 20% 20%;
  animation: rep-scroll 6s ease-in-out infinite;
}
.scn-plato-republic-361 .shadow {
  position: absolute; bottom: 7%; left: 30%;
  width: 40%; height: 2%;
  background: rgba(0,0,0,0.6);
  filter: blur(6px);
  animation: rep-shadow 8s ease-in-out infinite;
}
@keyframes rep-wall { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.95 } }
@keyframes rep-sway { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes rep-lamp { 0% { box-shadow: 0 0 30px 8px #c09040; opacity: 0.9 } 50% { box-shadow: 0 0 50px 15px #f0c070; opacity: 1 } 100% { box-shadow: 0 0 35px 10px #c09040; opacity: 0.92 } }
@keyframes rep-glow { 0% { transform: translateX(-2px) scale(1.05); opacity: 0.35 } 50% { transform: translateX(0) scale(1); opacity: 0.45 } 100% { transform: translateX(2px) scale(1.02); opacity: 0.4 } }
@keyframes rep-scroll { 0% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-1px) rotate(2deg) } 100% { transform: translateY(0) rotate(-1deg) } }
@keyframes rep-shadow { 0% { opacity: 0.5; transform: scaleX(0.95) } 50% { opacity: 0.65; transform: scaleX(1.05) } 100% { opacity: 0.55; transform: scaleX(0.98) } }

.scn-polypus-chameleon {
  background:
    linear-gradient(180deg, #2a2018 0%, #1a140e 50%, #0f0c08 100%),
    radial-gradient(ellipse at 40% 60%, #3a2c20 0%, transparent 70%);
}
.scn-polypus-chameleon .bg-wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #3a2a18 0%, #201810 100%);
  animation: cha-wall 20s ease-in-out infinite alternate;
}
.scn-polypus-chameleon .branch {
  position: absolute; bottom: 35%; left: 10%;
  width: 80%; height: 4%;
  background: linear-gradient(90deg, #2a1f0e 0%, #4a3520 40%, #2a1f0e 100%);
  border-radius: 40% 60% 30% 50%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
  animation: cha-branch 12s ease-in-out infinite;
}
.scn-polypus-chameleon .chameleon {
  position: absolute; bottom: 38%; left: 40%;
  width: 12%; height: 10%;
  background: radial-gradient(ellipse at 40% 50%, #5a6a3a 0%, #3a4a2a 70%, #1a2a12 100%);
  border-radius: 50% 30% 40% 40%;
  box-shadow: inset 0 -4px 8px rgba(0,0,0,0.5);
  animation: cha-body 6s ease-in-out infinite;
}
.scn-polypus-chameleon .tail {
  position: absolute; bottom: 38%; left: 48%;
  width: 8%; height: 12%;
  background: linear-gradient(180deg, #4a5a30 0%, #2a3a1a 100%);
  border-radius: 0 80% 60% 20%;
  transform-origin: left center;
  animation: cha-tail 3s ease-in-out infinite alternate;
}
.scn-polypus-chameleon .eye {
  position: absolute; bottom: 45%; left: 43%;
  width: 3%; height: 3%;
  background: radial-gradient(circle, #b0a060 0%, #806030 70%);
  border-radius: 50%;
  box-shadow: 0 0 8px 2px rgba(176,160,96,0.3);
  animation: cha-eye 2s ease-in-out infinite;
}
.scn-polypus-chameleon .leaf-a {
  position: absolute; bottom: 40%; left: 20%;
  width: 10%; height: 6%;
  background: linear-gradient(180deg, #4a5a30 0%, #2a3a1a 100%);
  border-radius: 60% 40% 40% 60%;
  transform: rotate(-15deg);
  animation: cha-leaf-a 10s ease-in-out infinite;
}
.scn-polypus-chameleon .leaf-b {
  position: absolute; bottom: 42%; left: 70%;
  width: 8%; height: 5%;
  background: linear-gradient(180deg, #3a4a28 0%, #1a2a14 100%);
  border-radius: 50% 50% 30% 70%;
  transform: rotate(20deg);
  animation: cha-leaf-b 14s ease-in-out infinite reverse;
}
@keyframes cha-wall { 0% { opacity: 0.85 } 50% { opacity: 0.95 } 100% { opacity: 0.9 } }
@keyframes cha-branch { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes cha-body { 0% { transform: scaleX(1) } 50% { transform: scaleX(0.95) translateX(2px) } 100% { transform: scaleX(1) } }
@keyframes cha-tail { 0% { transform: rotate(-20deg) } 100% { transform: rotate(20deg) } }
@keyframes cha-eye { 0% { transform: translate(0,0) scale(1) } 25% { transform: translate(2px,-1px) scale(0.9) } 50% { transform: translate(0,0) scale(1.1) } 75% { transform: translate(-1px,1px) scale(0.95) } 100% { transform: translate(0,0) scale(1) } }
@keyframes cha-leaf-a { 0% { transform: rotate(-15deg) translateY(0) } 50% { transform: rotate(-10deg) translateY(-2px) } 100% { transform: rotate(-15deg) translateY(0) } }
@keyframes cha-leaf-b { 0% { transform: rotate(20deg) translateY(0) } 50% { transform: rotate(25deg) translateY(-1px) } 100% { transform: rotate(20deg) translateY(0) } }

.scn-odyssey-xxii-1 {
  background:
    linear-gradient(180deg, #1a1410 0%, #2a1e14 40%, #0f0a06 100%),
    radial-gradient(ellipse at 50% 20%, #4a3018 0%, transparent 80%);
}
.scn-odyssey-xxii-1 .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a1e14 0%, #1a120c 100%);
  animation: od1-bg 18s ease-in-out infinite alternate;
}
.scn-odyssey-xxii-1 .podium {
  position: absolute; bottom: 12%; left: 35%;
  width: 30%; height: 20%;
  background: linear-gradient(180deg, #4a3520 0%, #2a1a0e 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 -4px 20px rgba(0,0,0,0.6);
}
.scn-odyssey-xxii-1 .figure {
  position: absolute; bottom: 25%; left: 40%;
  width: 20%; height: 30%;
  background: linear-gradient(180deg, #1a120c 0%, #0d0804 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  animation: od1-figure 5s ease-in-out infinite;
}
.scn-odyssey-xxii-1 .arm {
  position: absolute; bottom: 35%; left: 55%;
  width: 8%; height: 15%;
  background: linear-gradient(180deg, #1a120c 0%, #0d0804 100%);
  border-radius: 30% 30% 10% 10%;
  transform-origin: bottom center;
  animation: od1-arm 3s ease-in-out infinite alternate;
}
.scn-odyssey-xxii-1 .torch-left {
  position: absolute; bottom: 30%; left: 25%;
  width: 6%; height: 20%;
  background: linear-gradient(180deg, #5a3a1a 0%, #2a1a0a 100%);
  border-radius: 20% 20% 10% 10%;
  animation: od1-torch 4s ease-in-out infinite alternate;
}
.scn-odyssey-xxii-1 .torch-right {
  left: 69%;
  animation-delay: 2s;
}
.scn-odyssey-xxii-1 .fire-glow {
  position: absolute; bottom: 30%; left: 20%;
  width: 60%; height: 40%;
  background: radial-gradient(ellipse at 50% 100%, #c08040 0%, transparent 70%);
  opacity: 0.3;
  animation: od1-glow 3s ease-in-out infinite alternate;
}
.scn-odyssey-xxii-1 .crowd-silhouette {
  position: absolute; bottom: 8%; left: 10%;
  width: 80%; height: 12%;
  background: linear-gradient(180deg, #1a120c 0%, #0d0804 100%);
  border-radius: 50% 50% 0 0;
  animation: od1-crowd 8s ease-in-out infinite;
}
@keyframes od1-bg { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.92 } }
@keyframes od1-figure { 0% { transform: translateX(0) } 50% { transform: translateX(3px) } 100% { transform: translateX(-2px) } }
@keyframes od1-arm { 0% { transform: rotate(-20deg) } 100% { transform: rotate(20deg) } }
@keyframes od1-torch { 0% { transform: scaleY(0.95); opacity: 0.8 } 50% { transform: scaleY(1.05); opacity: 1 } 100% { transform: scaleY(0.98); opacity: 0.85 } }
@keyframes od1-glow { 0% { opacity: 0.25; transform: scaleX(0.98) } 50% { opacity: 0.35; transform: scaleX(1.02) } 100% { opacity: 0.28; transform: scaleX(0.99) } }
@keyframes od1-crowd { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-2px) scaleY(0.98) } 100% { transform: translateY(1px) scaleY(1.01) } }

.scn-odyssey-xvi-181 {
  background:
    linear-gradient(180deg, #1e1610 0%, #2a2018 40%, #0f0c08 100%),
    radial-gradient(ellipse at 50% 40%, #3a2818 0%, transparent 70%);
}
.scn-odyssey-xvi-181 .niche {
  position: absolute; bottom: 0; left: 15%;
  width: 70%; height: 90%;
  background: linear-gradient(180deg, #1a1410 0%, #2a1e14 40%, #0f0c08 100%);
  border-radius: 30% 30% 0 0;
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.8);
}
.scn-odyssey-xvi-181 .statue {
  position: absolute; bottom: 20%; left: 30%;
  width: 40%; height: 60%;
  background: linear-gradient(180deg, #3a2a1e 0%, #1a1410 100%);
  border-radius: 30% 30% 20% 20%;
  animation: od2-statue 12s ease-in-out infinite;
}
.scn-odyssey-xvi-181 .head {
  position: absolute; bottom: 72%; left: 38%;
  width: 24%; height: 18%;
  background: radial-gradient(ellipse at 40% 40%, #4a3520 0%, #2a1a0e 100%);
  border-radius: 50% 50% 40% 40%;
  transform-origin: center bottom;
  animation: od2-head 6s ease-in-out infinite alternate;
}
.scn-odyssey-xvi-181 .pedestal {
  position: absolute; bottom: 8%; left: 35%;
  width: 30%; height: 12%;
  background: linear-gradient(180deg, #4a3520 0%, #2a1a0e 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.5);
}
.scn-odyssey-xvi-181 .shadow-line {
  position: absolute; bottom: 20%; left: 20%;
  width: 60%; height: 2%;
  background: rgba(0,0,0,0.4);
  filter: blur(4px);
  animation: od2-shadow 10s ease-in-out infinite;
}
.scn-odyssey-xvi-181 .drape {
  position: absolute; bottom: 30%; left: 45%;
  width: 20%; height: 40%;
  background: linear-gradient(180deg, #3a2a1e 0%, #1a1410 100%);
  border-radius: 0 60% 40% 0;
  transform: skewX(-10deg);
  animation: od2-drape 7s ease-in-out infinite alternate;
}
@keyframes od2-statue { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes od2-head { 0% { transform: rotate(-3deg) } 50% { transform: rotate(4deg) } 100% { transform: rotate(-2deg) } }
@keyframes od2-shadow { 0% { opacity: 0.5; transform: scaleX(0.95) } 50% { opacity: 0.7; transform: scaleX(1.05) } 100% { opacity: 0.55; transform: scaleX(0.98) } }
@keyframes od2-drape { 0% { transform: skewX(-10deg) translateX(0) } 50% { transform: skewX(-8deg) translateX(2px) } 100% { transform: skewX(-10deg) translateX(-1px) } }

.scn-boy-love-bastard-brat {
  background:
    linear-gradient(180deg, #1e1a20 0%, #2c2428 30%, #3a2e30 60%, #1e181c 100%),
    radial-gradient(ellipse at 50% 80%, #4a3830 0%, transparent 60%);
}

.scn-boy-love-bastard-brat .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2c2428 0%, #1e1a20 100%);
}
.scn-boy-love-bastard-brat .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a1412 0%, #0e0b0a 100%);
}
.scn-boy-love-bastard-brat .lamp {
  position: absolute; bottom: 40%; left: 20%; width: 8px; height: 40px;
  background: linear-gradient(180deg, #c8a060 0%, #8c6a38 100%);
  border-radius: 4px 4px 0 0;
  transform: rotate(-5deg);
  box-shadow: 0 0 6px 2px #b08040;
}
.scn-boy-love-bastard-brat .lamp-glow {
  position: absolute; bottom: 35%; left: 16%; width: 60px; height: 80px;
  background: radial-gradient(ellipse, rgba(200,160,96,0.4) 0%, transparent 70%);
  filter: blur(8px);
  animation: blb-flicker 2s ease-in-out infinite alternate;
}
.scn-boy-love-bastard-brat .brat {
  position: absolute; bottom: 28%; left: 50%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #3a2a28 0%, #1e1412 100%);
  border-radius: 60% 60% 40% 40% / 70% 70% 30% 30%;
  transform: translateX(-50%);
  box-shadow: inset 0 -10px 8px rgba(0,0,0,0.6);
  animation: blb-brat-idle 4s ease-in-out infinite;
}
.scn-boy-love-bastard-brat .shadow {
  position: absolute; bottom: 20%; left: 44%; width: 60px; height: 20px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%);
  filter: blur(4px);
  animation: blb-shadow-pulse 3s ease-in-out infinite alternate;
}
.scn-boy-love-bastard-brat .dust {
  position: absolute; top: 20%; right: 30%; width: 4px; height: 4px;
  background: rgba(200,180,160,0.3);
  border-radius: 50%;
  filter: blur(2px);
  animation: blb-dust 12s linear infinite;
}
@keyframes blb-flicker {
  0% { opacity: 0.7; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.05); }
  100% { opacity: 0.8; transform: scale(0.95); }
}
@keyframes blb-brat-idle {
  0% { transform: translateX(-50%) rotate(0deg); }
  25% { transform: translateX(-48%) rotate(-2deg); }
  50% { transform: translateX(-50%) rotate(1deg); }
  75% { transform: translateX(-52%) rotate(-1deg); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes blb-shadow-pulse {
  0% { opacity: 0.4; transform: scaleX(1); }
  100% { opacity: 0.8; transform: scaleX(1.2); }
}
@keyframes blb-dust {
  0% { transform: translate(0,0) scale(1); opacity:0; }
  10% { opacity:0.3; }
  90% { opacity:0.1; }
  100% { transform: translate(-40px, -30px) scale(0.5); opacity:0; }
}

/* scene 2 */
.scn-boy-love-pretends-friendship {
  background:
    linear-gradient(180deg, #1a1618 0%, #2c2426 30%, #3e3234 60%, #1e181a 100%),
    radial-gradient(ellipse at 50% 70%, #4a3834 0%, transparent 60%);
}
.scn-boy-love-pretends-friendship .arch {
  position: absolute; top: 5%; left: 10%; right: 10%; height: 40%;
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  border: 2px solid #4a3a38;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.6);
  background: linear-gradient(180deg, transparent 60%, #2a2224 100%);
}
.scn-boy-love-pretends-friendship .column-left {
  position: absolute; bottom: 30%; left: 10%; width: 8px; height: 60%;
  background: linear-gradient(180deg, #4a3834 0%, #2e2422 100%);
  box-shadow: 2px 0 6px rgba(0,0,0,0.5);
}
.scn-boy-love-pretends-friendship .column-right {
  position: absolute; bottom: 30%; right: 10%; width: 8px; height: 60%;
  background: linear-gradient(180deg, #4a3834 0%, #2e2422 100%);
  box-shadow: -2px 0 6px rgba(0,0,0,0.5);
}
.scn-boy-love-pretends-friendship .elder {
  position: absolute; bottom: 28%; left: 32%; width: 36px; height: 56px;
  background: linear-gradient(180deg, #3a2e2c 0%, #1e1614 100%);
  border-radius: 60% 60% 40% 40% / 70% 70% 30% 30%;
  transform: rotate(-5deg);
  box-shadow: inset 0 -10px 8px rgba(0,0,0,0.5);
  animation: blp-elder 5s ease-in-out infinite;
}
.scn-boy-love-pretends-friendship .youth {
  position: absolute; bottom: 28%; right: 30%; width: 30px; height: 48px;
  background: linear-gradient(180deg, #3a2a26 0%, #1e1412 100%);
  border-radius: 60% 60% 40% 40% / 70% 70% 30% 30%;
  transform: rotate(3deg);
  box-shadow: inset 0 -10px 8px rgba(0,0,0,0.5);
  animation: blp-youth 4s ease-in-out infinite;
}
.scn-boy-love-pretends-friendship .table {
  position: absolute; bottom: 18%; left: 30%; right: 28%; height: 8px;
  background: linear-gradient(180deg, #4a3632 0%, #2e221e 100%);
  border-radius: 2px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.6);
}
.scn-boy-love-pretends-friendship .candle {
  position: absolute; bottom: 40%; left: 56%; width: 6px; height: 30px;
  background: linear-gradient(180deg, #d4b078 0%, #a08050 100%);
  border-radius: 2px;
  box-shadow: 0 0 8px 2px #c8a060;
  animation: blp-candle-flicker 1.5s ease-in-out infinite alternate;
}
.scn-boy-love-pretends-friendship .wax-drip {
  position: absolute; bottom: 25%; left: 52%; width: 2px; height: 15px;
  background: linear-gradient(180deg, #c8a060 0%, #a08050 100%);
  border-radius: 1px;
  opacity: 0.6;
  animation: blp-drip 6s ease-in-out infinite;
}
@keyframes blp-elder {
  0% { transform: rotate(-5deg) translateY(0); }
  30% { transform: rotate(-3deg) translateY(-2px); }
  60% { transform: rotate(-6deg) translateY(0); }
  100% { transform: rotate(-5deg) translateY(0); }
}
@keyframes blp-youth {
  0% { transform: rotate(3deg) translateY(0); }
  30% { transform: rotate(1deg) translateY(-1px); }
  60% { transform: rotate(4deg) translateY(0); }
  100% { transform: rotate(3deg) translateY(0); }
}
@keyframes blp-candle-flicker {
  0% { opacity:0.7; transform: scaleY(1); }
  50% { opacity:1; transform: scaleY(1.03); }
  100% { opacity:0.8; transform: scaleY(0.97); }
}
@keyframes blp-drip {
  0% { transform: translateY(0) scaleY(1); opacity:0.6; }
  50% { transform: translateY(8px) scaleY(1.2); opacity:0.3; }
  100% { transform: translateY(0) scaleY(1); opacity:0.6; }
}

/* scene 3 */
.scn-love-without-aphrodite {
  background:
    linear-gradient(180deg, #1c1a24 0%, #262a34 30%, #2e3640 60%, #1c1e28 100%),
    radial-gradient(ellipse at 50% 60%, #3a4060 0%, transparent 60%);
}
.scn-love-without-aphrodite .pedestal {
  position: absolute; bottom: 20%; left: 50%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #4a4a5a 0%, #2e2e3e 100%);
  transform: translateX(-50%);
  border-radius: 4px;
  box-shadow: 0 8px 16px rgba(0,0,0,0.6);
}
.scn-love-without-aphrodite .figure {
  position: absolute; bottom: 48%; left: 50%; width: 28px; height: 70px;
  background: linear-gradient(180deg, #3e3e4e 0%, #2a2a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  box-shadow: inset 0 -10px 8px rgba(0,0,0,0.4);
  animation: lwa-figure 6s ease-in-out infinite;
}
.scn-love-without-aphrodite .arm {
  position: absolute; bottom: 55%; left: 38%; width: 40px; height: 8px;
  background: linear-gradient(180deg, #3e3e4e 0%, #2a2a3a 100%);
  border-radius: 4px;
  transform: rotate(30deg);
  transform-origin: right center;
  box-shadow: inset 0 -2px 4px rgba(0,0,0,0.4);
  animation: lwa-arm 4s ease-in-out infinite alternate;
}
.scn-love-without-aphrodite .void {
  position: absolute; top: 15%; left: 40%; right: 40%; height: 30%;
  background: radial-gradient(ellipse, rgba(100,120,180,0.2) 0%, transparent 70%);
  filter: blur(10px);
  animation: lwa-void 8s ease-in-out infinite alternate;
}
.scn-love-without-aphrodite .shadow-layer {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.5) 100%);
}
.scn-love-without-aphrodite .particle {
  position: absolute; top: 30%; left: 20%; width: 4px; height: 4px;
  background: rgba(180,200,255,0.3);
  border-radius: 50%;
  filter: blur(2px);
  animation: lwa-particle 10s linear infinite;
}
@keyframes lwa-figure {
  0% { transform: translateX(-50%) rotate(0deg); }
  50% { transform: translateX(-48%) rotate(2deg); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes lwa-arm {
  0% { transform: rotate(20deg); }
  50% { transform: rotate(35deg); }
  100% { transform: rotate(25deg); }
}
@keyframes lwa-void {
  0% { opacity:0.1; transform: scale(1); }
  50% { opacity:0.3; transform: scale(1.1); }
  100% { opacity:0.15; transform: scale(0.95); }
}
@keyframes lwa-particle {
  0% { transform: translate(0,0) scale(1); opacity:0; }
  10% { opacity:0.4; }
  90% { opacity:0.1; }
  100% { transform: translate(60px, 40px) scale(0.5); opacity:0; }
}

/* scene 4 */
.scn-pisias-indignant {
  background:
    linear-gradient(180deg, #1a1418 0%, #241e22 30%, #342a2e 60%, #1e181c 100%),
    radial-gradient(ellipse at 50% 70%, #3a2a30 0%, transparent 60%);
}
.scn-pisias-indignant .chair {
  position: absolute; bottom: 15%; left: 20%; width: 50px; height: 80px;
  background: linear-gradient(180deg, #3a2a28 0%, #1e1412 100%);
  border-radius: 8px 8px 4px 4px;
  box-shadow: 0 8px 16px rgba(0,0,0,0.6);
}
.scn-pisias-indignant .desk {
  position: absolute; bottom: 20%; left: 40%; right: 5%; height: 10px;
  background: linear-gradient(180deg, #4a3632 0%, #2e221e 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.scn-pisias-indignant .pisias {
  position: absolute; bottom: 30%; left: 35%; width: 38px; height: 60px;
  background: linear-gradient(180deg, #3a2e2c 0%, #1e1614 100%);
  border-radius: 60% 60% 40% 40% / 70% 70% 30% 30%;
  transform: translateX(-50%);
  box-shadow: inset 0 -10px 8px rgba(0,0,0,0.5);
  animation: pis-body 3s ease-in-out infinite alternate;
}
.scn-pisias-indignant .arm-throw {
  position: absolute; bottom: 40%; left: 50%; width: 40px; height: 10px;
  background: linear-gradient(180deg, #3a2e2c 0%, #1e1614 100%);
  border-radius: 5px;
  transform: rotate(-40deg);
  transform-origin: left center;
  box-shadow: inset 0 -2px 4px rgba(0,0,0,0.4);
  animation: pis-arm 2s ease-in-out infinite alternate;
}
.scn-pisias-indignant .shadow-pool {
  position: absolute; bottom: 5%; left: 30%; right: 20%; height: 30px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 70%);
  filter: blur(6px);
  animation: pis-shadow 4s ease-in-out infinite alternate;
}
.scn-pisias-indignant .lamp-side {
  position: absolute; bottom: 45%; right: 15%; width: 6px; height: 50px;
  background: linear-gradient(180deg, #c8a060 0%, #8c6a38 100%);
  border-radius: 3px 3px 0 0;
  box-shadow: 0 0 10px 3px #b08040;
  animation: pis-lamp-flicker 2s ease-in-out infinite alternate;
}
.scn-pisias-indignant .scroll {
  position: absolute; bottom: 22%; left: 60%; width: 30px; height: 6px;
  background: linear-gradient(180deg, #c8b870 0%, #a09050 100%);
  border-radius: 2px;
  transform: rotate(-15deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  animation: pis-scroll 6s ease-in-out infinite;
}
@keyframes pis-body {
  0% { transform: translateX(-50%) rotate(0deg); }
  50% { transform: translateX(-48%) rotate(-2deg); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes pis-arm {
  0% { transform: rotate(-30deg); }
  50% { transform: rotate(-50deg); }
  100% { transform: rotate(-35deg); }
}
@keyframes pis-shadow {
  0% { opacity:0.4; transform: scaleX(1); }
  100% { opacity:0.8; transform: scaleX(1.2); }
}
@keyframes pis-lamp-flicker {
  0% { opacity:0.7; transform: scaleY(1); }
  50% { opacity:1; transform: scaleY(1.02); }
  100% { opacity:0.8; transform: scaleY(0.98); }
}
@keyframes pis-scroll {
  0% { transform: rotate(-15deg) translateY(0); }
  30% { transform: rotate(-10deg) translateY(-2px); }
  60% { transform: rotate(-18deg) translateY(0); }
  100% { transform: rotate(-15deg) translateY(0); }
}

/* Scene 1: short-sojourn-quick-return */
.scn-short-sojourn-quick-return {
  background: linear-gradient(180deg, #f5e6c0 0%, #e8d4a0 40%, #d4b87a 100%),
              radial-gradient(ellipse at 50% 20%, #fff8e0 0%, transparent 50%);
}
.scn-short-sojourn-quick-return .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #b0895a 0%, #8a6a3a 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,.3);
  animation: sqr-floor 8s ease-in-out infinite alternate;
}
.scn-short-sojourn-quick-return .wall {
  position: absolute; top: 0; left: 0; right: 0; bottom: 30%;
  background: linear-gradient(90deg, #f0e0c0 0%, #faf0e0 50%, #f0e0c0 100%);
}
.scn-short-sojourn-quick-return .doorway {
  position: absolute; bottom: 30%; left: 50%; width: 120px; height: 80%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e05 100%);
  border-radius: 8% 8% 0 0;
  box-shadow: inset 0 0 40px rgba(0,0,0,.6);
  animation: sqr-door 12s ease-in-out infinite alternate;
}
.scn-short-sojourn-quick-return .sunbeam {
  position: absolute; top: 0; left: 35%; width: 30%; height: 100%;
  background: linear-gradient(180deg, rgba(255,245,200,.5) 0%, transparent 80%);
  clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%);
  filter: blur(8px);
  animation: sqr-beam 6s ease-in-out infinite alternate;
}
.scn-short-sojourn-quick-return .suitcase {
  position: absolute; bottom: 5%; right: 20%; width: 60px; height: 40px;
  background: linear-gradient(135deg, #7a5a3a 0%, #5a3a1a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,.5);
  transform-origin: bottom center;
  animation: sqr-luggage 4s ease-in-out infinite;
}
.scn-short-sojourn-quick-return .hatrack {
  position: absolute; bottom: 30%; left: 10%; width: 8px; height: 120px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,.3);
}
.scn-short-sojourn-quick-return .dust {
  position: absolute; top: 20%; left: 20%; width: 4px; height: 4px;
  background: rgba(255,220,150,.4);
  border-radius: 50%;
  box-shadow: 20px 30px 0 rgba(255,220,150,.3), -10px 40px 0 rgba(255,220,150,.2), 50px 10px 0 rgba(255,220,150,.35);
  filter: blur(1px);
  animation: sqr-dust 20s linear infinite;
}
@keyframes sqr-floor { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes sqr-door { 0% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(.98) } 100% { transform: translateX(-50%) scaleY(1) } }
@keyframes sqr-beam { 0% { opacity:.3; transform: rotate(-2deg) } 50% { opacity:.6; transform: rotate(1deg) } 100% { opacity:.4; transform: rotate(-1deg) } }
@keyframes sqr-luggage { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes sqr-dust { 0% { transform: translate(0,0) } 100% { transform: translate(80px, -120px) } }

/* Scene 2: customs-for-infants */
.scn-customs-for-infants {
  background: linear-gradient(180deg, #fef8e8 0%, #f0e6d0 40%, #e0d0b8 100%),
              radial-gradient(ellipse at 30% 60%, #fffef5 0%, transparent 50%);
}
.scn-customs-for-infants .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #c8b08a 0%, #a08868 100%);
  border-radius: 30% 30% 0 0 / 50% 50% 0 0;
  box-shadow: inset 0 8px 16px rgba(0,0,0,.2);
  animation: cfi-floor 10s ease-in-out infinite alternate;
}
.scn-customs-for-infants .crib {
  position: absolute; bottom: 20%; left: 50%; width: 100px; height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #e8d4b0 0%, #c8b090 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 6px 12px rgba(0,0,0,.3);
  animation: cfi-crib 6s ease-in-out infinite alternate;
}
.scn-customs-for-infants .mobile {
  position: absolute; top: 15%; left: 50%; width: 80px; height: 80px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #f0e8c0 0%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 20px 5px rgba(255,255,200,.3);
  animation: cfi-mobile 14s linear infinite;
}
.scn-customs-for-infants .blanket {
  position: absolute; bottom: 18%; left: 40%; width: 70px; height: 30px;
  background: linear-gradient(135deg, #b0c8d8 0%, #88a0b8 100%);
  border-radius: 10% 10% 20% 20%;
  transform: rotate(5deg);
  box-shadow: 0 2px 4px rgba(0,0,0,.2);
  animation: cfi-blanket 8s ease-in-out infinite;
}
.scn-customs-for-infants .rattle {
  position: absolute; bottom: 10%; right: 25%; width: 20px; height: 8px;
  background: linear-gradient(90deg, #d0b050 0%, #c09030 100%);
  border-radius: 40%;
  box-shadow: 0 2px 6px rgba(0,0,0,.3);
  animation: cfi-rattle 3s ease-in-out infinite;
}
.scn-customs-for-infants .starlight {
  position: absolute; top: 5%; left: 20%; width: 6px; height: 6px;
  background: rgba(255,255,220,.6);
  border-radius: 50%;
  box-shadow: 30px 20px 0 rgba(255,255,220,.4), 60px 0 0 rgba(255,255,220,.3), -20px 30px 0 rgba(255,255,220,.5);
  animation: cfi-stars 20s linear infinite;
}
@keyframes cfi-floor { 0% { opacity:.95 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes cfi-crib { 0% { transform: translateX(-50%) } 50% { transform: translateX(-50%) translateY(-1px) } 100% { transform: translateX(-50%) } }
@keyframes cfi-mobile { 0% { transform: translateX(-50%) rotate(0deg) } 50% { transform: translateX(-50%) rotate(180deg) } 100% { transform: translateX(-50%) rotate(360deg) } }
@keyframes cfi-blanket { 0%,100% { transform: rotate(5deg) } 50% { transform: rotate(0deg) } }
@keyframes cfi-rattle { 0% { transform: translateX(0) rotate(-10deg) } 50% { transform: translateX(5px) rotate(10deg) } 100% { transform: translateX(0) rotate(-10deg) } }
@keyframes cfi-stars { 0% { transform: translate(0,0) } 100% { transform: translate(-40px, 80px) } }

/* Scene 3: believe-laws-internally-pure */
.scn-believe-laws-internally-pure {
  background: linear-gradient(180deg, #efe8e0 0%, #dcd0c0 40%, #c8bca8 100%),
              radial-gradient(ellipse at 60% 10%, #fffcf5 0%, transparent 40%);
}
.scn-believe-laws-internally-pure .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #b0a088 0%, #908068 100%);
  border-radius: 40% 40% 0 0 / 60% 60% 0 0;
  box-shadow: inset 0 6px 12px rgba(0,0,0,.2);
  animation: blip-floor 12s ease-in-out infinite alternate;
}
.scn-believe-laws-internally-pure .altar {
  position: absolute; bottom: 20%; left: 50%; width: 80px; height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #d0c0a8 0%, #b0a088 100%);
  border-radius: 6% 6% 3% 3%;
  box-shadow: 0 6px 12px rgba(0,0,0,.3);
  animation: blip-altar 8s ease-in-out infinite alternate;
}
.scn-believe-laws-internally-pure .scroll {
  position: absolute; bottom: 24%; left: 42%; width: 30px; height: 40px;
  background: linear-gradient(90deg, #f0e0c0 0%, #d8c8a8 100%);
  border-radius: 20% 10% 10% 20%;
  transform: rotate(-10deg);
  box-shadow: 0 2px 4px rgba(0,0,0,.2);
  animation: blip-scroll 10s ease-in-out infinite;
}
.scn-believe-laws-internally-pure .candle {
  position: absolute; bottom: 22%; left: 55%; width: 12px; height: 30px;
  background: linear-gradient(180deg, #f0ece0 0%, #c8b8a0 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 8px 2px rgba(255,200,100,.5);
  animation: blip-candle 5s ease-in-out infinite alternate;
}
.scn-believe-laws-internally-pure .incense {
  position: absolute; bottom: 28%; left: 48%; width: 4px; height: 20px;
  background: linear-gradient(180deg, #a08060 0%, #604020 100%);
  border-radius: 50% 50% 20% 20%;
  animation: blip-incense 4s ease-in-out infinite;
}
.scn-believe-laws-internally-pure .glow {
  position: absolute; top: 10%; left: 30%; width: 40%; height: 60%;
  background: radial-gradient(ellipse at 50% 30%, rgba(255,240,200,.3) 0%, transparent 70%);
  filter: blur(10px);
  animation: blip-glow 6s ease-in-out infinite alternate;
}
@keyframes blip-floor { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes blip-altar { 0% { transform: translateX(-50%) } 50% { transform: translateX(-50%) translateY(-1px) } 100% { transform: translateX(-50%) } }
@keyframes blip-scroll { 0%,100% { transform: rotate(-10deg) } 50% { transform: rotate(-5deg) } }
@keyframes blip-candle { 0% { opacity:.7; transform: scaleY(1) } 50% { opacity:1; transform: scaleY(1.05) } 100% { opacity:.8; transform: scaleY(1) } }
@keyframes blip-incense { 0% { transform: translateY(0) rotate(-2deg) } 50% { transform: translateY(-2px) rotate(2deg) } 100% { transform: translateY(0) rotate(-2deg) } }
@keyframes blip-glow { 0% { opacity:.2 } 50% { opacity:.5 } 100% { opacity:.3 } }

/* Scene 4: virtue-taught-deliberation */
.scn-virtue-taught-deliberation {
  background: linear-gradient(180deg, #e8e2d8 0%, #d4c8b8 40%, #c0b0a0 100%),
              radial-gradient(ellipse at 40% 50%, #fff8ee 0%, transparent 60%);
}
.scn-virtue-taught-deliberation .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #b8a890 0%, #988878 100%);
  border-radius: 30% 30% 0 0 / 40% 40% 0 0;
  box-shadow: inset 0 6px 12px rgba(0,0,0,.15);
  animation: vtd-floor 14s ease-in-out infinite alternate;
}
.scn-virtue-taught-deliberation .desk {
  position: absolute; bottom: 15%; left: 30%; width: 120px; height: 50px;
  background: linear-gradient(180deg, #c8b098 0%, #a88870 100%);
  border-radius: 4% 4% 8% 8%;
  box-shadow: 0 6px 12px rgba(0,0,0,.3);
  animation: vtd-desk 7s ease-in-out infinite;
}
.scn-virtue-taught-deliberation .chair {
  position: absolute; bottom: 10%; left: 45%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #b09888 0%, #907868 100%);
  border-radius: 30% 30% 10% 10% / 40% 40% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,.2);
  animation: vtd-chair 9s ease-in-out infinite alternate;
}
.scn-virtue-taught-deliberation .books {
  position: absolute; bottom: 20%; left: 32%; width: 80px; height: 20px;
  background: linear-gradient(90deg, #7a5a3a 0%, #5a3a1a 20%, #8a6040 40%, #6a4a2a 60%, #9a7050 80%, #4a2a0a 100%);
  border-radius: 4% 4% 8% 8%;
  box-shadow: 0 2px 6px rgba(0,0,0,.3);
  animation: vtd-books 12s ease-in-out infinite;
}
.scn-virtue-taught-deliberation .inkwell {
  position: absolute; bottom: 18%; left: 38%; width: 16px; height: 20px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a0a0a 100%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 2px 4px rgba(0,0,0,.5);
  animation: vtd-ink 5s ease-in-out infinite;
}
.scn-virtue-taught-deliberation .quill {
  position: absolute; bottom: 22%; left: 42%; width: 4px; height: 40px;
  background: linear-gradient(180deg, #e0d0b0 0%, #b09878 100%);
  border-radius: 50% 50% 20% 20%;
  transform: rotate(15deg);
  box-shadow: 0 2px 4px rgba(0,0,0,.2);
  animation: vtd-quill 4s ease-in-out infinite alternate;
}
.scn-virtue-taught-deliberation .lamp {
  position: absolute; top: 30%; left: 25%; width: 20px; height: 40px;
  background: radial-gradient(ellipse at 50% 20%, #f0e8c0 0%, transparent 50%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 30px 10px rgba(255,240,200,.4);
  animation: vtd-lamp 6s ease-in-out infinite alternate;
}
@keyframes vtd-floor { 0% { opacity:.95 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes vtd-desk { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes vtd-chair { 0% { transform: rotate(-1deg) } 50% { transform: rotate(1deg) } 100% { transform: rotate(-1deg) } }
@keyframes vtd-books { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes vtd-ink { 0%,100% { transform: scale(1) } 50% { transform: scale(1.02) } }
@keyframes vtd-quill { 0% { transform: rotate(15deg) } 50% { transform: rotate(20deg) } 100% { transform: rotate(15deg) } }
@keyframes vtd-lamp { 0% { opacity:.6; box-shadow: 0 0 20px 5px rgba(255,240,200,.3) } 50% { opacity:1; box-shadow: 0 0 40px 15px rgba(255,240,200,.6) } 100% { opacity:.7; box-shadow: 0 0 30px 10px rgba(255,240,200,.4) } }

/* women-various-excellence */
.scn-women-various-excellence {
  background: linear-gradient(180deg, #fce4b8 0%, #f5d49a 30%, #e8c680 70%), radial-gradient(ellipse at 30% 20%, #ffe6cc 0%, transparent 60%);
}
.scn-women-various-excellence .bg-warm {
  position: absolute; inset: 0; background: linear-gradient(135deg, rgba(250,230,200,0.4) 0%, transparent 50%); animation: wve-shimmer 12s ease-in-out infinite alternate;
}
.scn-women-various-excellence .window-frame {
  position: absolute; top: 5%; left: 50%; transform: translateX(-50%); width: 80%; height: 70%; border: 8px solid #8b6b4c; border-radius: 8px; box-shadow: inset 0 0 0 4px #a07b5a, 0 8px 24px rgba(0,0,0,0.2); background: transparent;
}
.scn-women-various-excellence .window-pane {
  position: absolute; top: 7%; left: 52%; transform: translateX(-50%); width: 74%; height: 64%; background: linear-gradient(135deg, #d8e8f0 0%, #b0c8d8 100%); border-radius: 4px; animation: wve-light-change 20s ease-in-out infinite;
}
.scn-women-various-excellence .curtain {
  position: absolute; top: 5%; width: 20%; height: 80%; background: linear-gradient(90deg, #c9a77a, #b8936a, #a5835e); border-radius: 0 0 20% 20%; filter: drop-shadow(4px 0 6px rgba(0,0,0,0.1));
}
.scn-women-various-excellence .curtain-l { left: 6%; transform-origin: left top; animation: wve-curtain-sway 8s ease-in-out infinite alternate; }
.scn-women-various-excellence .curtain-r { right: 6%; transform-origin: right top; animation: wve-curtain-sway 10s ease-in-out infinite alternate-reverse; }
.scn-women-various-excellence .figure-woman {
  position: absolute; bottom: 18%; left: 36%; width: 12%; height: 40%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wve-stand 6s ease-in-out infinite;
}
.scn-women-various-excellence .book {
  position: absolute; bottom: 16%; left: 44%; width: 6%; height: 4%; background: #5e4a3a; border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.3); animation: wve-book-breathe 4s ease-in-out infinite alternate;
}
.scn-women-various-excellence .lamp-glow {
  position: absolute; bottom: 30%; right: 26%; width: 8%; height: 8%; background: radial-gradient(circle, #ffe8a0 0%, #f0c060 40%, transparent 70%); border-radius: 50%; box-shadow: 0 0 40px 20px rgba(240,192,96,0.4); animation: wve-lamp-pulse 5s ease-in-out infinite alternate;
}
@keyframes wve-shimmer {
  0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.7; }
}
@keyframes wve-light-change {
  0% { opacity: 0.85; } 50% { opacity: 1; } 100% { opacity: 0.9; }
}
@keyframes wve-curtain-sway {
  0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-1deg); }
}
@keyframes wve-stand {
  0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); }
}
@keyframes wve-book-breathe {
  0% { transform: scaleY(1); } 50% { transform: scaleY(1.05); } 100% { transform: scaleY(1); }
}
@keyframes wve-lamp-pulse {
  0% { box-shadow: 0 0 30px 10px rgba(240,192,96,0.3); } 50% { box-shadow: 0 0 60px 30px rgba(240,192,96,0.6); } 100% { box-shadow: 0 0 40px 15px rgba(240,192,96,0.4); }
}

/* poetry-and-nature-adornment */
.scn-poetry-and-nature-adornment {
  background: linear-gradient(135deg, #fdf2e0 0%, #f4e0c0 50%, #e8d0a0 100%), radial-gradient(ellipse at 70% 20%, #fff5e6 0%, transparent 60%);
}
.scn-poetry-and-nature-adornment .bg-cream {
  position: absolute; inset: 0; background: linear-gradient(45deg, rgba(255,245,230,0.3) 0%, transparent 70%); animation: pan-shimmer 18s ease-in-out infinite alternate;
}
.scn-poetry-and-nature-adornment .vine {
  position: absolute; top: 20%; width: 10%; height: 80%; background: linear-gradient(180deg, #5c8a4a 0%, #3a6020 100%); border-radius: 20% 20% 0 0; filter: drop-shadow(2px 2px 4px rgba(0,0,0,0.1));
}
.scn-poetry-and-nature-adornment .vine-left { left: 8%; transform-origin: top left; animation: pan-vine-sway 12s ease-in-out infinite alternate; }
.scn-poetry-and-nature-adornment .vine-right { right: 8%; transform-origin: top right; animation: pan-vine-sway 14s ease-in-out infinite alternate-reverse; }
.scn-poetry-and-nature-adornment .scroll {
  position: absolute; bottom: 22%; left: 50%; transform: translateX(-50%); width: 18%; height: 30%; background: linear-gradient(180deg, #d4b88a 0%, #c4a87a 50%, #b8986a 100%); border-radius: 20% 20% 10% 10% / 30% 30% 20% 20%; box-shadow: 0 4px 12px rgba(0,0,0,0.15); animation: pan-scroll-unfurl 8s ease-in-out infinite;
}
.scn-poetry-and-nature-adornment .figure-poet {
  position: absolute; bottom: 15%; right: 25%; width: 14%; height: 50%; background: linear-gradient(180deg, #3a2a1a 0%, #24180a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pan-figure-bow 10s ease-in-out infinite;
}
.scn-poetry-and-nature-adornment .wreath {
  position: absolute; top: 28%; left: 24%; width: 18%; height: 18%; background: radial-gradient(circle, #7a9a5a 0%, #5c7a3a 60%, transparent 70%); border-radius: 50%; box-shadow: 0 0 0 10px #8aac6a, 0 0 0 18px #6a8a4a; animation: pan-wreath-float 15s ease-in-out infinite alternate;
}
.scn-poetry-and-nature-adornment .petal {
  position: absolute; width: 2%; height: 2%; background: #e0b080; border-radius: 50% 0 50% 0; animation: pan-petal-drift 12s linear infinite;
}
.scn-poetry-and-nature-adornment .petal-1 { top: 50%; left: 20%; animation-delay: 0s; }
.scn-poetry-and-nature-adornment .petal-2 { top: 60%; left: 70%; animation-delay: -6s; animation-direction: reverse; }
@keyframes pan-shimmer {
  0% { opacity: 0.5; } 50% { opacity: 1; } 100% { opacity: 0.6; }
}
@keyframes pan-vine-sway {
  0% { transform: rotate(-3deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-1deg); }
}
@keyframes pan-scroll-unfurl {
  0% { height: 20%; opacity: 0.8; } 50% { height: 30%; opacity: 1; } 100% { height: 25%; opacity: 0.9; }
}
@keyframes pan-figure-bow {
  0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-4px) rotate(2deg); } 100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes pan-wreath-float {
  0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(2px); }
}
@keyframes pan-petal-drift {
  0% { transform: translate(0,0) rotate(0); } 50% { transform: translate(30px, -20px) rotate(180deg); } 100% { transform: translate(60px, -40px) rotate(360deg); }
}

/* plato-xenocrates-graces */
.scn-plato-xenocrates-graces {
  background: linear-gradient(180deg, #d6c8a0 0%, #c4b488 40%, #b0a070 100%), radial-gradient(ellipse at 80% 30%, #e8d8b0 0%, transparent 70%);
}
.scn-plato-xenocrates-graces .bg-warm-dark {
  position: absolute; inset: 0; background: linear-gradient(135deg, rgba(180,160,120,0.3) 0%, transparent 60%); animation: pg-fade 20s ease-in-out infinite alternate;
}
.scn-plato-xenocrates-graces .column {
  position: absolute; top: 5%; width: 8%; height: 90%; background: linear-gradient(90deg, #8a7a5a, #a09070, #8a7a5a); border-radius: 4px; box-shadow: 0 0 8px rgba(0,0,0,0.15);
}
.scn-plato-xenocrates-graces .column-l { left: 10%; }
.scn-plato-xenocrates-graces .column-r { right: 10%; }
.scn-plato-xenocrates-graces .figure-plato {
  position: absolute; bottom: 12%; left: 25%; width: 14%; height: 55%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 45% 40% 40% / 55% 55% 40% 40%; transform-origin: bottom center; animation: pg-plato-gesture 10s ease-in-out infinite;
}
.scn-plato-xenocrates-graces .figure-xenocrates {
  position: absolute; bottom: 12%; right: 25%; width: 16%; height: 58%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 45% 55% 40% 40% / 55% 55% 40% 40%; transform-origin: bottom center; animation: pg-xeno-stand 8s ease-in-out infinite alternate;
}
.scn-plato-xenocrates-graces .altar {
  position: absolute; bottom: 8%; left: 50%; transform: translateX(-50%); width: 12%; height: 8%; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%); border-radius: 4px; box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}
.scn-plato-xenocrates-graces .grace-statue {
  position: absolute; bottom: 16%; left: 48%; width: 8%; height: 16%; background: linear-gradient(180deg, #b09878 0%, #907858 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; box-shadow: 0 0 12px rgba(200,180,140,0.4); animation: pg-grace-glow 6s ease-in-out infinite alternate;
}
@keyframes pg-fade {
  0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; }
}
@keyframes pg-plato-gesture {
  0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-3px) rotate(3deg); } 100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes pg-xeno-stand {
  0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(2px); }
}
@keyframes pg-grace-glow {
  0% { box-shadow: 0 0 8px rgba(200,180,140,0.3); } 50% { box-shadow: 0 0 20px rgba(200,180,140,0.7); } 100% { box-shadow: 0 0 12px rgba(200,180,140,0.4); }
}

/* early-passion-not-to-fear */
.scn-early-passion-not-to-fear {
  background: linear-gradient(180deg, #f0ead6 0%, #e0d5b0 40%, #c8ba90 100%), radial-gradient(ellipse at 40% 60%, #faf3e0 0%, transparent 60%);
}
.scn-early-passion-not-to-fear .bg-soft-light {
  position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,245,230,0.2) 0%, transparent 70%); animation: epf-warmth 24s ease-in-out infinite alternate;
}
.scn-early-passion-not-to-fear .window-top {
  position: absolute; top: 2%; left: 50%; transform: translateX(-50%); width: 70%; height: 20%; background: linear-gradient(180deg, #c0b090 0%, #a09070 100%); border-radius: 10px 10px 0 0; box-shadow: inset 0 4px 8px rgba(0,0,0,0.1);
}
.scn-early-passion-not-to-fear .windowsill {
  position: absolute; top: 20%; left: 50%; transform: translateX(-50%); width: 76%; height: 4%; background: linear-gradient(180deg, #b0a080, #a09070); border-radius: 0 0 4px 4px;
}
.scn-early-passion-not-to-fear .pot-plant {
  position: absolute; bottom: 30%; left: 20%; width: 14%; height: 30%; background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%); border-radius: 10% 10% 5% 5% / 20% 20% 10% 10%; box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}
.scn-early-passion-not-to-fear .graft-stem {
  position: absolute; bottom: 48%; left: 22%; width: 2%; height: 20%; background: #5c7a3a; border-radius: 2px; transform-origin: bottom center; animation: epf-stem-grow 12s ease-in-out infinite;
}
.scn-early-passion-not-to-fear .hand-grafting {
  position: absolute; bottom: 40%; left: 28%; width: 6%; height: 10%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%; transform: rotate(10deg); animation: epf-hand-move 8s ease-in-out infinite alternate;
}
.scn-early-passion-not-to-fear .leaf {
  position: absolute; width: 4%; height: 3%; background: #7a9a5a; border-radius: 50% 0 50% 0; animation: epf-leaf-flutter 5s ease-in-out infinite;
}
.scn-early-passion-not-to-fear .leaf-a { bottom: 52%; left: 20%; }
.scn-early-passion-not-to-fear .leaf-b { bottom: 48%; left: 30%; animation-delay: -2.5s; }
@keyframes epf-warmth {
  0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.8; }
}
@keyframes epf-stem-grow {
  0% { height: 15%; } 50% { height: 22%; } 100% { height: 18%; }
}
@keyframes epf-hand-move {
  0% { transform: rotate(5deg) translate(0,0); } 50% { transform: rotate(12deg) translate(2px, -2px); } 100% { transform: rotate(6deg) translate(0,0); }
}
@keyframes epf-leaf-flutter {
  0% { transform: rotate(0deg); } 50% { transform: rotate(20deg); } 100% { transform: rotate(-10deg); }
}

/* Scene 1: evil-tidings-disliked */
.scn-evil-tidings-disliked {
  background: linear-gradient(180deg, #1e1a16 0%, #2a221a 40%, #1a1410 100%),
              radial-gradient(ellipse at 50% 70%, #3a2a1a 0%, transparent 60%);
}
.scn-evil-tidings-disliked .bg {
  position:absolute; inset:0; background: linear-gradient(180deg, transparent 0%, #0e0a07 100%);
  animation: evt-fade 8s ease-in-out infinite alternate;
}
.scn-evil-tidings-disliked .wall-left {
  position:absolute; top:0; left:0; width:30%; height:100%;
  background: linear-gradient(90deg, #1a1410 0%, transparent 100%);
}
.scn-evil-tidings-disliked .wall-right {
  position:absolute; top:0; right:0; width:30%; height:100%;
  background: linear-gradient(270deg, #1a1410 0%, transparent 100%);
}
.scn-evil-tidings-disliked .table {
  position:absolute; bottom:18%; left:35%; width:30%; height:8%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e12 100%);
  border-radius:4% / 20%; box-shadow:0 4px 12px rgba(0,0,0,.5);
}
.scn-evil-tidings-disliked .cup {
  position:absolute; bottom:26%; left:48%; width:24px; height:18px;
  background: linear-gradient(180deg, #5a3a1a 0%, #2a1a0a 100%);
  border-radius:50% 50% 10% 10%; box-shadow:0 2px 8px rgba(0,0,0,.4);
  animation: evt-cup 4s ease-in-out infinite alternate;
}
.scn-evil-tidings-disliked .cup-glow {
  position:absolute; bottom:30%; left:48%; width:12px; height:12px;
  background: radial-gradient(circle, #ff8844 0%, #cc6622 60%, transparent 100%);
  border-radius:50%; box-shadow:0 0 20px 6px #cc6622;
  animation: evt-glow 3s ease-in-out infinite alternate;
}
.scn-evil-tidings-disliked .messenger {
  position:absolute; bottom:18%; left:42%; width:30px; height:60px;
  background: linear-gradient(180deg, #1a1612 0%, #0e0a07 100%);
  border-radius:50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: evt-fig 5s ease-in-out infinite;
}
.scn-evil-tidings-disliked .shadow {
  position:absolute; bottom:14%; left:40%; width:40px; height:6px;
  background: radial-gradient(ellipse, #000 0%, transparent 70%);
  animation: evt-shad 5s ease-in-out infinite;
}
@keyframes evt-fade { 0%,100% { opacity:.7 } 50% { opacity:.9 } }
@keyframes evt-cup { 0% { transform:translateX(0) rotate(-5deg) } 50% { transform:translateX(2px) rotate(5deg) } 100% { transform:translateX(0) rotate(-2deg) } }
@keyframes evt-glow { 0% { opacity:.4; transform:scale(.8) } 50% { opacity:1; transform:scale(1.2) } 100% { opacity:.6; transform:scale(.9) } }
@keyframes evt-fig { 0% { transform:translateX(0) rotate(0) } 25% { transform:translateX(2px) rotate(-2deg) } 50% { transform:translateX(-1px) rotate(2deg) } 75% { transform:translateX(2px) rotate(-1deg) } 100% { transform:translateX(0) rotate(0) } }
@keyframes evt-shad { 0%,100% { opacity:.4; transform:scaleX(1) } 50% { opacity:.7; transform:scaleX(1.3) } }

/* Scene 2: murderers-of-ibycus-cranes */
.scn-murderers-of-ibycus-cranes {
  background: linear-gradient(180deg, #0e1220 0%, #1a1e30 40%, #081020 100%),
              radial-gradient(ellipse at 50% 100%, #1a2a3a 0%, transparent 70%);
}
.scn-murderers-of-ibycus-cranes .sky {
  position:absolute; inset:0 0 50% 0;
  background: linear-gradient(180deg, #aabbcc 0%, transparent 100%);
  opacity:.15; animation: iby-sky 12s ease-in-out infinite alternate;
}
.scn-murderers-of-ibycus-cranes .theatre-step {
  position:absolute; bottom:30%; left:10%; right:10%; height:4%;
  background: linear-gradient(180deg, #2a2e36 0%, #181c22 100%);
  border-radius:50%; box-shadow:0 2px 4px rgba(0,0,0,.5);
}
.scn-murderers-of-ibycus-cranes .theatre-step + .theatre-step { bottom:24%; height:6%; background:#1e222a; }
.scn-murderers-of-ibycus-cranes .audience {
  position:absolute; bottom:20%; left:15%; right:15%; height:15%;
  background: radial-gradient(ellipse, #0e0e12 30%, transparent 100%);
}
.scn-murderers-of-ibycus-cranes .stage {
  position:absolute; bottom:8%; left:20%; right:20%; height:12%;
  background: linear-gradient(180deg, #2a1e14 0%, #1a120a 100%);
  border-radius:10% 10% 0 0; box-shadow:inset 0 -4px 8px rgba(0,0,0,.6);
}
.scn-murderers-of-ibycus-cranes .crane-a,
.scn-murderers-of-ibycus-cranes .crane-b {
  position:absolute; top:10%; width:20px; height:30px;
  background: linear-gradient(180deg, #d0d8e0 0%, #8090a0 100%);
  clip-path: polygon(0 100%, 50% 0, 100% 100%, 40% 60%, 60% 60%);
  filter: blur(1px); animation: iby-fly 25s linear infinite;
}
.scn-murderers-of-ibycus-cranes .crane-a { left:5%; }
.scn-murderers-of-ibycus-cranes .crane-b { left:30%; animation-delay:-8s; }
@keyframes iby-sky { 0%,100% { opacity:.1 } 50% { opacity:.2 } }
@keyframes iby-fly { 0% { transform:translateX(0) rotate(-10deg) scaleX(-1) } 50% { transform:translateX(40vw) rotate(5deg) scaleX(1) } 100% { transform:translateX(80vw) rotate(-5deg) scaleX(1) } }

/* Scene 3: traitor-talkative-unhired */
.scn-traitor-talkative-unhired {
  background: linear-gradient(0deg, #0e0a07 0%, #1a1410 50%, #0e0a07 100%),
              radial-gradient(ellipse at 50% 0%, #2a1e12 0%, transparent 80%);
}
.scn-traitor-talkative-unhired .room-bg {
  position:absolute; inset:0; background: linear-gradient(180deg, #121010 0%, #0a0808 100%);
  animation: trt-bg 6s ease-in-out infinite alternate;
}
.scn-traitor-talkative-unhired .floor {
  position:absolute; bottom:0; left:0; right:0; height:18%;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a07 100%);
}
.scn-traitor-talkative-unhired .roof-beam {
  position:absolute; top:12%; width:12%; height:4%;
  background: linear-gradient(90deg, #3a2a1a 0%, #2a1a0e 100%);
  border-radius:2px; box-shadow:0 2px 4px rgba(0,0,0,.6);
}
.scn-traitor-talkative-unhired .beam-left { left:20%; transform:rotate(15deg); }
.scn-traitor-talkative-unhired .beam-right { right:20%; transform:rotate(-15deg); }
.scn-traitor-talkative-unhired .traitor-figure {
  position:absolute; bottom:18%; left:45%; width:28px; height:50px;
  background: linear-gradient(180deg, #1a1612 0%, #0e0a07 100%);
  border-radius:50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin:bottom center;
  animation: trt-fig 4s ease-in-out infinite;
}
.scn-traitor-talkative-unhired .traitor-shadow {
  position:absolute; bottom:14%; left:42%; width:34px; height:5px;
  background: radial-gradient(ellipse, #000 0%, transparent 80%);
}
.scn-traitor-talkative-unhired .lantern {
  position:absolute; bottom:32%; left:38%; width:8px; height:14px;
  background: radial-gradient(circle at 50% 30%, #ff9933 0%, #cc6600 60%, transparent 100%);
  border-radius:20% 20% 10% 10%; box-shadow:0 0 16px 4px #cc6600;
  animation: trt-lamp 3s ease-in-out infinite alternate;
}
@keyframes trt-bg { 0%,100% { opacity:.8 } 50% { opacity:1 } }
@keyframes trt-fig { 0% { transform:translateX(0) rotate(0) } 30% { transform:translateX(2px) rotate(-3deg) } 60% { transform:translateX(-1px) rotate(2deg) } 100% { transform:translateX(0) rotate(0) } }
@keyframes trt-lamp { 0% { opacity:.6; transform:scale(.9) } 50% { opacity:1; transform:scale(1.1) } 100% { opacity:.8; transform:scale(1) } }

/* Scene 4: indictment-cure-talkativeness */
.scn-indictment-cure-talkativeness {
  background: linear-gradient(180deg, #1c1a18 0%, #2a2622 40%, #1c1a18 100%),
              radial-gradient(ellipse at 50% 60%, #2a221a 0%, transparent 70%);
}
.scn-indictment-cure-talkativeness .library-bg {
  position:absolute; inset:0; background: linear-gradient(180deg, #12100e 0%, #080705 100%);
}
.scn-indictment-cure-talkativeness .bookshelf {
  position:absolute; top:10%; left:5%; right:5%; height:45%;
  background: repeating-linear-gradient(0deg, #3a2e24 0px, #3a2e24 6px, #2a1e14 6px, #2a1e14 12px);
  border-radius:4px; box-shadow:inset 0 0 20px rgba(0,0,0,.5);
}
.scn-indictment-cure-talkativeness .desk {
  position:absolute; bottom:22%; left:30%; right:30%; height:8%;
  background: linear-gradient(180deg, #4a3220 0%, #2a1a0e 100%);
  border-radius:4% / 20%; box-shadow:0 4px 10px rgba(0,0,0,.4);
}
.scn-indictment-cure-talkativeness .candle {
  position:absolute; bottom:30%; left:48%; width:6px; height:16px;
  background: linear-gradient(180deg, #e8d8b0 0%, #d0b890 100%);
  border-radius:20% 20% 10% 10%;
}
.scn-indictment-cure-talkativeness .candle-glow {
  position:absolute; bottom:36%; left:48%; width:14px; height:14px;
  background: radial-gradient(circle, #ffdd88 0%, #ff9922 40%, transparent 100%);
  border-radius:50%; box-shadow:0 0 30px 10px #ff9922;
  animation: cur-glow 4s ease-in-out infinite alternate;
}
.scn-indictment-cure-talkativeness .reader {
  position:absolute; bottom:18%; left:40%; width:32px; height:55px;
  background: linear-gradient(180deg, #1a1612 0%, #0e0a07 100%);
  border-radius:50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cur-read 6s ease-in-out infinite;
}
.scn-indictment-cure-talkativeness .scroll {
  position:absolute; bottom:26%; left:49%; width:20px; height:6px;
  background: linear-gradient(90deg, #d4c4a0 0%, #b8a888 100%);
  border-radius:2px; box-shadow:0 1px 3px rgba(0,0,0,.3);
  animation: cur-scroll 3s ease-in-out infinite alternate;
}
@keyframes cur-glow { 0% { opacity:.5; transform:scale(.8) } 50% { opacity:1; transform:scale(1.1) } 100% { opacity:.7; transform:scale(.9) } }
@keyframes cur-read { 0% { transform:translateX(0) rotate(-1deg) } 25% { transform:translateX(2px) rotate(1deg) } 50% { transform:translateX(-2px) rotate(-2deg) } 75% { transform:translateX(1px) rotate(2deg) } 100% { transform:translateX(0) rotate(0) } }
@keyframes cur-scroll { 0% { transform:translateX(0) rotate(0) } 100% { transform:translateX(3px) rotate(5deg) } }

.scn-differences-in-judgements {
  background:
    linear-gradient(180deg, #e8e0d0 0%, #d0c8b8 30%, #b8b0a0 70%, #a09888 100%),
    radial-gradient(ellipse 60% 80% at 70% 10%, #fff8e8 0%, transparent 80%);
}
.scn-differences-in-judgements .wall {
  position: absolute; inset: 0; 
  background: linear-gradient(90deg, rgba(200,190,170,.3) 0%, transparent 40%, rgba(200,190,170,.3) 100%);
  animation: di-wall 20s ease-in-out infinite alternate;
}
.scn-differences-in-judgements .window-frame {
  position: absolute; top: 8%; left: 60%; width: 30%; height: 50%;
  border: 6px solid #8a7a6a; border-radius: 4px;
  background: #c8d8e8;
  box-shadow: inset 0 0 40px rgba(200,220,240,.6), 0 0 60px rgba(255,240,200,.3);
}
.scn-differences-in-judgements .window-light {
  position: absolute; top: 10%; left: 62%; width: 26%; height: 46%;
  background: linear-gradient(135deg, rgba(255,248,220,.9) 0%, rgba(200,220,240,.4) 100%);
  animation: di-light 8s ease-in-out infinite alternate;
}
.scn-differences-in-judgements .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #b0a090 0%, #887870 100%);
  border-radius: 30% 70% 0 0 / 20% 40% 0 0;
}
.scn-differences-in-judgements .chair {
  position: absolute; bottom: 20%; left: 35%; width: 60px; height: 80px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 4px 12px rgba(0,0,0,.3);
  animation: di-chair 12s ease-in-out infinite;
}
.scn-differences-in-judgements .figure-silhouette {
  position: absolute; bottom: 22%; left: 48%; width: 36px; height: 70px;
  background: linear-gradient(180deg, #3a3a3a 0%, #1a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: di-figure 8s ease-in-out infinite alternate;
}
.scn-differences-in-judgements .dust-a, .dust-b, .dust-c {
  position: absolute; width: 6px; height: 6px; background: rgba(220,210,190,.5);
  border-radius: 50%; filter: blur(2px);
}
.scn-differences-in-judgements .dust-a { top: 30%; left: 20%; animation: di-dust 25s linear infinite; }
.scn-differences-in-judgements .dust-b { top: 45%; left: 50%; animation: di-dust 35s linear infinite; animation-delay: -10s; }
.scn-differences-in-judgements .dust-c { top: 25%; left: 75%; animation: di-dust 30s linear infinite; animation-delay: -20s; }
@keyframes di-wall { 0% { opacity: .7; } 50% { opacity: 1; } 100% { opacity: .8; } }
@keyframes di-light { 0% { opacity: .6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.02); } 100% { opacity: .7; transform: scale(.98); } }
@keyframes di-chair { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes di-figure { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(-2deg); } 100% { transform: translateY(0) rotate(2deg); } }
@keyframes di-dust { 0% { transform: translateY(0) translateX(0) scale(1); opacity: .3; } 25% { transform: translateY(-30px) translateX(20px) scale(1.5); opacity: .6; } 50% { transform: translateY(-60px) translateX(-10px) scale(1); opacity: .4; } 75% { transform: translateY(-90px) translateX(30px) scale(1.2); opacity: .5; } 100% { transform: translateY(-120px) translateX(-20px) scale(.8); opacity: .2; } }

.scn-death-judgements-differ {
  background:
    linear-gradient(180deg, #2a2a3a 0%, #1a1a2e 40%, #0e0e1e 70%, #050510 100%),
    radial-gradient(ellipse 50% 60% at 50% 120%, #3a3a5a 0%, transparent 70%);
}
.scn-death-judgements-differ .room-shadow {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(0,0,0,.6) 0%, transparent 50%, rgba(0,0,0,.4) 100%);
  animation: dj-shadow 15s ease-in-out infinite alternate;
}
.scn-death-judgements-differ .lamp-stand {
  position: absolute; bottom: 20%; left: 30%; width: 12px; height: 60px;
  background: linear-gradient(90deg, #4a3a2a 0%, #6a5a4a 50%, #4a3a2a 100%);
  border-radius: 4px;
  box-shadow: 0 0 8px rgba(200,180,120,.3);
}
.scn-death-judgements-differ .lamp-glow {
  position: absolute; bottom: 45%; left: 30%; width: 40px; height: 40px;
  background: radial-gradient(circle, #f0d090 0%, #d0b070 30%, #806040 70%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px rgba(200,160,100,.4), 0 0 120px 40px rgba(200,160,100,.2);
  transform: translateX(-50%);
  animation: dj-lamp 4s ease-in-out infinite alternate;
}
.scn-death-judgements-differ .figure-reading {
  position: absolute; bottom: 28%; left: 45%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dj-figure 8s ease-in-out infinite alternate;
}
.scn-death-judgements-differ .book {
  position: absolute; bottom: 32%; left: 44%; width: 30px; height: 20px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4px; transform: rotate(-15deg);
  box-shadow: 0 2px 6px rgba(0,0,0,.5);
  animation: dj-book 6s ease-in-out infinite;
}
.scn-death-judgements-differ .shadow-veil {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.3) 60%, rgba(0,0,0,.7) 100%);
  pointer-events: none;
}
.scn-death-judgements-differ .ember-a, .ember-b {
  position: absolute; width: 4px; height: 4px; background: #f0c040; border-radius: 50%;
  filter: blur(3px); box-shadow: 0 0 10px 2px rgba(240,192,64,.6);
}
.scn-death-judgements-differ .ember-a { bottom: 60%; left: 28%; animation: dj-ember 3s ease-in-out infinite; }
.scn-death-judgements-differ .ember-b { bottom: 55%; left: 34%; animation: dj-ember 4s ease-in-out infinite; animation-delay: -1.5s; }
@keyframes dj-shadow { 0% { opacity: .6; } 50% { opacity: .8; } 100% { opacity: .5; } }
@keyframes dj-lamp { 0% { transform: translateX(-50%) scale(1); opacity: .8; } 50% { transform: translateX(-50%) scale(1.15); opacity: 1; } 100% { transform: translateX(-50%) scale(.9); opacity: .7; } }
@keyframes dj-figure { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes dj-book { 0%,100% { transform: rotate(-15deg) translateY(0); } 50% { transform: rotate(-12deg) translateY(-2px); } }
@keyframes dj-ember { 0% { transform: translateY(0) scale(1); opacity: .4; } 25% { transform: translateY(-8px) scale(1.8); opacity: .9; } 50% { transform: translateY(-16px) scale(1); opacity: .6; } 75% { transform: translateY(-24px) scale(1.4); opacity: .8; } 100% { transform: translateY(-32px) scale(.6); opacity: .2; } }

.scn-some-err-more-less {
  background:
    linear-gradient(180deg, #d8d0c0 0%, #c0b8a8 40%, #a8a098 70%, #908880 100%),
    radial-gradient(ellipse 70% 60% at 50% 30%, #f0e8d8 0%, transparent 70%);
}
.scn-some-err-more-less .study-wall {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(180,170,150,.2) 0%, transparent 50%, rgba(180,170,150,.2) 100%);
}
.scn-some-err-more-less .shelf {
  position: absolute; top: 12%; left: 5%; width: 90%; height: 8%;
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,.2);
}
.scn-some-err-more-less .scroll {
  position: absolute; top: 8%; left: 15%; width: 20px; height: 14px;
  background: linear-gradient(180deg, #d0c0a0 0%, #b8a888 100%);
  border-radius: 3px;
  box-shadow: 0 2px 6px rgba(0,0,0,.2);
  transform: rotate(-5deg);
  animation: se-scroll 12s ease-in-out infinite alternate;
}
.scn-some-err-more-less .desk {
  position: absolute; bottom: 15%; left: 20%; width: 60%; height: 25%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 8% 8% 12% 12% / 20% 20% 30% 30%;
  box-shadow: 0 6px 20px rgba(0,0,0,.3);
}
.scn-some-err-more-less .figure-left {
  position: absolute; bottom: 20%; left: 28%; width: 32px; height: 60px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: se-figure-l 8s ease-in-out infinite alternate;
}
.scn-some-err-more-less .figure-right {
  position: absolute; bottom: 20%; left: 52%; width: 36px; height: 64px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: se-figure-r 9s ease-in-out infinite alternate;
  animation-delay: -3s;
}
.scn-some-err-more-less .light-shaft {
  position: absolute; top: 0; left: 40%; width: 20%; height: 100%;
  background: linear-gradient(180deg, rgba(255,248,220,.4) 0%, rgba(255,248,220,.1) 60%, transparent 100%);
  clip-path: polygon(30% 0%, 70% 0%, 60% 100%, 40% 100%);
  opacity: .5;
  animation: se-shaft 8s ease-in-out infinite alternate;
}
.scn-some-err-more-less .inkwell {
  position: absolute; bottom: 32%; left: 45%; width: 10px; height: 14px;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0a0a 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 2px 6px rgba(0,0,0,.4);
}
@keyframes se-scroll { 0%,100% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-3deg) translateY(-1px); } }
@keyframes se-figure-l { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(-3deg); } 100% { transform: translateY(0) rotate(2deg); } }
@keyframes se-figure-r { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(2deg); } 100% { transform: translateY(0) rotate(-3deg); } }
@keyframes se-shaft { 0% { opacity: .3; transform: scaleY(1); } 50% { opacity: .6; transform: scaleY(1.05); } 100% { opacity: .4; transform: scaleY(.95); } }

.scn-chrysippus-anomaly-anger-blind {
  background:
    linear-gradient(180deg, #3a1a1a 0%, #2a0e0e 40%, #1a0505 70%, #0a0000 100%),
    radial-gradient(ellipse 60% 70% at 50% 0%, #5a2a2a 0%, transparent 70%);
}
.scn-chrysippus-anomaly-anger-blind .dark-room {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(0,0,0,.8) 0%, transparent 50%, rgba(0,0,0,.6) 100%);
  animation: ca-darkroom 12s ease-in-out infinite alternate;
}
.scn-chrysippus-anomaly-anger-blind .figure-torso {
  position: absolute; bottom: 18%; left: 50%; width: 50px; height: 80px;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a0e0e 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform: translateX(-50%);
  box-shadow: 0 8px 20px rgba(0,0,0,.6);
  animation: ca-torso 6s ease-in-out infinite alternate;
}
.scn-chrysippus-anomaly-anger-blind .arms-flung {
  position: absolute; bottom: 40%; left: 40%; width: 80px; height: 50px;
  background: transparent;
  border-top: 6px solid #3a1a1a;
  border-radius: 60% 60% 0 0;
  transform: translateX(-50%);
  animation: ca-arms 4s ease-in-out infinite alternate;
}
.scn-chrysippus-anomaly-anger-blind .blindfold {
  position: absolute; bottom: 60%; left: 50%; width: 30px; height: 12px;
  background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%);
  border-radius: 20% 20% 10% 10%;
  transform: translateX(-50%) rotate(-3deg);
  box-shadow: 0 2px 8px rgba(0,0,0,.5);
  animation: ca-blindfold 3s ease-in-out infinite alternate;
}
.scn-chrysippus-anomaly-anger-blind .ember-glow {
  position: absolute; bottom: 55%; left: 50%; width: 20px; height: 20px;
  background: radial-gradient(circle, #f08040 0%, #c04020 40%, #601010 70%, transparent 100%);
  border-radius: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 60px 20px rgba(240,128,64,.3), 0 0 120px 40px rgba(192,64,32,.15);
  animation: ca-ember 3s ease-in-out infinite alternate;
}
.scn-chrysippus-anomaly-anger-blind .shadow-slice {
  position: absolute; top: 20%; left: 20%; width: 60%; height: 30%;
  background: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.7) 20%, transparent 40%, rgba(0,0,0,.5) 60%, transparent 80%);
  clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%);
  animation: ca-slice 8s ease-in-out infinite alternate;
}
.scn-chrysippus-anomaly-anger-blind .sharp-light {
  position: absolute; top: 10%; left: 30%; width: 40%; height: 60%;
  background: linear-gradient(180deg, rgba(240,160,80,.15) 0%, rgba(240,160,80,.05) 40%, transparent 100%);
  clip-path: polygon(40% 0%, 60% 0%, 55% 100%, 45% 100%);
  animation: ca-light 5s ease-in-out infinite alternate;
}
@keyframes ca-darkroom { 0% { opacity: .8; } 50% { opacity: 1; } 100% { opacity: .6; } }
@keyframes ca-torso { 0% { transform: translateX(-50%) translateY(0) rotate(0deg); } 50% { transform: translateX(-50%) translateY(-2px) rotate(2deg); } 100% { transform: translateX(-50%) translateY(0) rotate(-2deg); } }
@keyframes ca-arms { 0% { transform: translateX(-50%) translateY(0) rotate(0deg); } 25% { transform: translateX(-50%) translateY(-4px) rotate(8deg); } 50% { transform: translateX(-50%) translateY(-8px) rotate(15deg); } 75% { transform: translateX(-50%) translateY(-4px) rotate(10deg); } 100% { transform: translateX(-50%) translateY(0) rotate(0deg); } }
@keyframes ca-blindfold { 0% { transform: translateX(-50%) rotate(-3deg) scale(1); } 50% { transform: translateX(-50%) rotate(2deg) scale(1.05); } 100% { transform: translateX(-50%) rotate(-1deg) scale(.95); } }
@keyframes ca-ember { 0% { transform: translateX(-50%) scale(1); opacity: .7; } 50% { transform: translateX(-50%) scale(1.3); opacity: 1; } 100% { transform: translateX(-50%) scale(.8); opacity: .5; } }
@keyframes ca-slice { 0% { opacity: .4; transform: skewX(0deg); } 50% { opacity: .8; transform: skewX(5deg); } 100% { opacity: .5; transform: skewX(-5deg); } }
@keyframes ca-light { 0% { opacity: .3; transform: scaleY(1); } 50% { opacity: .7; transform: scaleY(1.1); } 100% { opacity: .4; transform: scaleY(.9); } }

.scn-seizure-of-baccho {
  background: 
    linear-gradient(180deg, #f5e6c8 0%, #d9b382 40%, #b5895a 100%),
    radial-gradient(ellipse at 70% 60%, rgba(255, 220, 150, 0.3) 0%, transparent 60%);
}
.scn-seizure-of-baccho .door-frame {
  position:absolute; inset:15% 25% 10% 25%; border:12px solid #6b4a2e; border-radius:6px;
  background:#3a2a1a; box-shadow:inset 0 0 40px rgba(0,0,0,0.5);
  animation: sb-door 0.6s ease-in-out infinite alternate;
}
.scn-seizure-of-baccho .door-open {
  position:absolute; inset:15% 25% 10% 25%; clip-path:polygon(0 0,90% 0,100% 100%,0 100%);
  background: linear-gradient(135deg, #4a3520 0%, #2a1a0a 60%);
  animation: sb-dooropen 0.8s ease-in-out infinite alternate;
}
.scn-seizure-of-baccho .wall-light {
  position:absolute; inset:0; background: radial-gradient(ellipse at 60% 40%, rgba(255,235,180,0.25) 0%, transparent 70%);
  animation: sb-walllight 3s ease-in-out infinite alternate;
}
.scn-seizure-of-baccho .figure-baccho {
  position:absolute; bottom:15%; left:45%; width:24px; height:50px;
  background: linear-gradient(180deg, #d4a373 0%, #b5835a 50%, #8c6239 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: center 80%;
  animation: sb-baccho 0.5s ease-in-out infinite alternate;
}
.scn-seizure-of-baccho .hand-ismenodora {
  position:absolute; bottom:28%; left:42%; width:14px; height:20px;
  background: radial-gradient(circle at 40% 50%, #e8c9a0 0%, #c9a87c 100%);
  border-radius: 50% 50% 20% 20%;
  transform-origin: bottom right;
  animation: sb-hand 0.3s ease-in-out infinite alternate;
}
.scn-seizure-of-baccho .cloak {
  position:absolute; bottom:12%; left:38%; width:40px; height:55px;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a2a1a 100%);
  border-radius: 30% 50% 10% 10% / 40% 60% 20% 20%;
  clip-path: polygon(0 0, 100% 0, 70% 100%, 30% 100%);
  transform-origin: top center;
  animation: sb-cloak 1.2s ease-in-out infinite alternate;
}
@keyframes sb-door { 0% { transform: translateX(-2px); } 50% { transform: translateX(2px); } 100% { transform: translateX(0); } }
@keyframes sb-dooropen { 0% { clip-path: polygon(0 0,88% 0,100% 100%,0 100%); } 50% { clip-path: polygon(0 0,92% 0,100% 100%,0 100%); } 100% { clip-path: polygon(0 0,90% 0,100% 100%,0 100%); } }
@keyframes sb-walllight { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes sb-baccho { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(2px) rotate(1deg); } 100% { transform: translateX(-1px) rotate(0); } }
@keyframes sb-hand { 0% { transform: translateX(0) translateY(0) rotate(5deg); } 50% { transform: translateX(-2px) translateY(1px) rotate(-3deg); } 100% { transform: translateX(1px) translateY(0) rotate(2deg); } }
@keyframes sb-cloak { 0% { transform: translateX(-2px) rotate(-1deg); } 50% { transform: translateX(3px) rotate(2deg); } 100% { transform: translateX(0) rotate(0); } }

.scn-town-reaction {
  background: 
    linear-gradient(180deg, #f0e0c0 0%, #d9c8a8 40%, #c0a888 100%),
    radial-gradient(ellipse at 30% 50%, rgba(255,230,180,0.2) 0%, transparent 60%);
}
.scn-town-reaction .colonnade {
  position:absolute; inset:10% 5% 15% 5%;
  background: repeating-linear-gradient(90deg, #8b7355 0px, #8b7355 12px, transparent 12px, transparent 60px);
  mask-image: linear-gradient(180deg, #000 0%, #000 80%, transparent 100%);
  animation: tr-colonnade 12s linear infinite;
}
.scn-town-reaction .crowd-left {
  position:absolute; bottom:10%; left:5%; width:35%; height:30%;
  background: radial-gradient(ellipse at 30% 100%, #a08060 0%, transparent 80%);
  animation: tr-crowd 0.4s ease-in-out infinite alternate;
}
.scn-town-reaction .crowd-right {
  position:absolute; bottom:10%; right:5%; width:35%; height:30%;
  background: radial-gradient(ellipse at 70% 100%, #b09070 0%, transparent 80%);
  animation: tr-crowd 0.5s ease-in-out infinite alternate-reverse;
}
.scn-town-reaction .figure-speaker {
  position:absolute; bottom:15%; left:45%; width:22px; height:45px;
  background: linear-gradient(180deg, #c0a080 0%, #a08060 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: tr-speaker 0.3s ease-in-out infinite alternate;
}
.scn-town-reaction .shadow-stripe {
  position:absolute; inset:20% 0 0 0; background: linear-gradient(180deg, rgba(0,0,0,0.08) 0%, transparent 30%);
  animation: tr-stripe 5s ease-in-out infinite alternate;
}
.scn-town-reaction .glow-bg {
  position:absolute; inset:0; background: radial-gradient(ellipse at 50% 70%, rgba(255,240,200,0.15) 0%, transparent 60%);
  animation: tr-glow 7s ease-in-out infinite alternate;
}
@keyframes tr-colonnade { 0% { mask-position: 0 0; } 100% { mask-position: -60px 0; } }
@keyframes tr-crowd { 0% { transform: scaleY(1) translateY(0); } 50% { transform: scaleY(1.03) translateY(-1px); } 100% { transform: scaleY(0.98) translateY(1px); } }
@keyframes tr-speaker { 0% { transform: translateX(-1px) rotate(-3deg); } 50% { transform: translateX(1px) rotate(2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes tr-stripe { 0% { opacity:0.5; } 50% { opacity:1; } 100% { opacity:0.6; } }
@keyframes tr-glow { 0% { transform: scale(1); } 50% { transform: scale(1.02); } 100% { transform: scale(0.98); } }

.scn-zeuxippus-euripides-line {
  background: 
    linear-gradient(180deg, #f5e6d0 0%, #e0c8a8 40%, #c8a888 100%),
    radial-gradient(ellipse at 60% 50%, rgba(255,220,160,0.3) 0%, transparent 60%);
}
.scn-zeuxippus-euripides-line .figure-zeuxippus {
  position:absolute; bottom:20%; left:55%; width:24px; height:48px;
  background: linear-gradient(180deg, #c8a880 0%, #a08060 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ze-fig1 6s ease-in-out infinite alternate;
}
.scn-zeuxippus-euripides-line .figure-father {
  position:absolute; bottom:20%; right:55%; width:26px; height:48px;
  background: linear-gradient(180deg, #b89878 0%, #987858 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ze-fig2 6s ease-in-out infinite alternate-reverse;
}
.scn-zeuxippus-euripides-line .scroll {
  position:absolute; bottom:32%; left:45%; width:18px; height:28px;
  background: linear-gradient(135deg, #e8d4b0 0%, #c8b090 100%);
  border-radius: 10% 10% 10% 10%;
  transform: rotate(15deg);
  animation: ze-scroll 8s ease-in-out infinite;
}
.scn-zeuxippus-euripides-line .lamp {
  position:absolute; bottom:45%; left:30%; width:14px; height:18px;
  background: radial-gradient(circle at 50% 30%, #ffd080 0%, #b08040 70%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 20px 8px rgba(200,150,80,0.5);
  animation: ze-lamp 3s ease-in-out infinite alternate;
}
.scn-zeuxippus-euripides-line .wall-glow {
  position:absolute; inset:0; background: radial-gradient(ellipse at 35% 40%, rgba(255,230,180,0.2) 0%, transparent 70%);
  animation: ze-wglow 4s ease-in-out infinite alternate;
}
.scn-zeuxippus-euripides-line .shadow-soft {
  position:absolute; bottom:15%; left:15%; right:15%; height:20%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.1) 100%);
  animation: ze-shadow 10s ease-in-out infinite alternate;
}
@keyframes ze-fig1 { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(3px) rotate(1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes ze-fig2 { 0% { transform: translateX(0) rotate(1deg); } 50% { transform: translateX(-3px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes ze-scroll { 0% { transform: rotate(10deg) translateY(0); } 50% { transform: rotate(20deg) translateY(-2px); } 100% { transform: rotate(15deg) translateY(1px); } }
@keyframes ze-lamp { 0% { box-shadow: 0 0 15px 5px rgba(200,150,80,0.4); } 50% { box-shadow: 0 0 30px 12px rgba(255,200,100,0.7); } 100% { box-shadow: 0 0 20px 8px rgba(200,150,80,0.5); } }
@keyframes ze-wglow { 0% { opacity:0.6; transform: scale(0.98); } 50% { opacity:1; transform: scale(1.02); } 100% { opacity:0.7; transform: scale(0.99); } }
@keyframes ze-shadow { 0% { opacity:0.5; } 50% { opacity:0.8; } 100% { opacity:0.6; } }

.scn-pisias-rages {
  background: 
    linear-gradient(180deg, #4a3a2a 0%, #6a4a32 30%, #8a6040 60%, #5a4030 100%),
    radial-gradient(ellipse at 50% 80%, rgba(200,100,30,0.2) 0%, transparent 60%);
}
.scn-pisias-rages .figure-pisias {
  position:absolute; bottom:10%; left:40%; width:28px; height:60px;
  background: linear-gradient(180deg, #5a4020 0%, #3a2810 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pr-fig 0.2s ease-in-out infinite alternate;
}
.scn-pisias-rages .arm-raised {
  position:absolute; bottom:45%; left:42%; width:12px; height:35px;
  background: linear-gradient(180deg, #5a4020 0%, #3a2810 100%);
  border-radius: 40% 40% 10% 10%;
  transform-origin: bottom center;
  transform: rotate(-30deg);
  animation: pr-arm 0.15s ease-in-out infinite alternate;
}
.scn-pisias-rages .table {
  position:absolute; bottom:8%; left:25%; right:25%; height:6px;
  background: linear-gradient(90deg, #8a7050 0%, #a08060 50%, #8a7050 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: pr-table 1s ease-in-out infinite alternate;
}
.scn-pisias-rages .chair {
  position:absolute; bottom:14%; left:30%; width:18px; height:25px;
  background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%);
  border-radius: 10% 10% 0 0;
  transform-origin: bottom center;
  animation: pr-chair 0.8s ease-in-out infinite alternate;
}
.scn-pisias-rages .shadow-dark {
  position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, transparent 50%);
  animation: pr-shadow 3s ease-in-out infinite alternate;
}
.scn-pisias-rages .torch {
  position:absolute; bottom:30%; left:20%; width:10px; height:50px;
  background: linear-gradient(180deg, #8a6030 0%, #4a3010 100%);
  border-radius: 4px;
  animation: pr-torch 2s ease-in-out infinite alternate;
}
.scn-pisias-rages .flame {
  position:absolute; bottom:60%; left:19.5%; width:14px; height:18px;
  background: radial-gradient(circle at 50% 50%, #ff8000 0%, #ff4000 50%, transparent 100%);
  border-radius: 50%;
  filter: blur(3px);
  box-shadow: 0 0 20px 10px rgba(255,100,0,0.6);
  animation: pr-flame 0.1s ease-in-out infinite alternate;
}
@keyframes pr-fig { 0% { transform: translateX(-2px) rotate(4deg); } 50% { transform: translateX(3px) rotate(-3deg); } 100% { transform: translateX(1px) rotate(1deg); } }
@keyframes pr-arm { 0% { transform: rotate(-35deg) scaleY(0.95); } 50% { transform: rotate(-25deg) scaleY(1.05); } 100% { transform: rotate(-30deg) scaleY(1); } }
@keyframes pr-table { 0% { transform: translateY(-1px); } 50% { transform: translateY(0); } 100% { transform: translateY(1px); } }
@keyframes pr-chair { 0% { transform: rotate(0) translateX(0); } 50% { transform: rotate(3deg) translateX(2px); } 100% { transform: rotate(0) translateX(0); } }
@keyframes pr-shadow { 0% { opacity:0.3; } 50% { opacity:0.6; } 100% { opacity:0.4; } }
@keyframes pr-torch { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes pr-flame { 0% { transform: scale(1) translateY(0); opacity:0.9; } 50% { transform: scale(1.2) translateY(-2px); opacity:1; } 100% { transform: scale(0.9) translateY(1px); opacity:0.8; } }

.scn-bitch-pups-angry { background: linear-gradient(180deg, #1a1210 0%, #2a1c18 40%, #3a2822 100%), radial-gradient(ellipse at 50% 80%, #4a2e24 0%, transparent 70%); position: relative; overflow: hidden; }
.scn-bitch-pups-angry .den-wall { position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #2a1c18 0%, #1a1210 100%); border-radius: 0 0 60% 60% / 0 0 30% 30%; }
.scn-bitch-pups-angry .den-floor { position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #3a2822 0%, #1f1512 100%); border-radius: 40% 0 0 0 / 20% 0 0 0; }
.scn-bitch-pups-angry .dog-body { position: absolute; bottom: 25%; left: 30%; width: 80px; height: 50px; background: radial-gradient(ellipse at 40% 40%, #4a342e 0%, #2a1e1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 4px 12px rgba(0,0,0,0.6); animation: bi-body 6s ease-in-out infinite; }
.scn-bitch-pups-angry .pup { position: absolute; bottom: 20%; background: #3a2822; border-radius: 50%; box-shadow: inset 0 -2px 4px rgba(0,0,0,0.4); animation: bi-pup 4s ease-in-out infinite; }
.scn-bitch-pups-angry .pup-1 { left: 50%; width: 18px; height: 14px; animation-delay: 0s; }
.scn-bitch-pups-angry .pup-2 { left: 58%; width: 15px; height: 12px; animation-delay: 0.8s; }
.scn-bitch-pups-angry .pup-3 { left: 64%; width: 14px; height: 11px; animation-delay: 1.6s; }
.scn-bitch-pups-angry .stranger-shadow { position: absolute; bottom: 15%; right: 10%; width: 50px; height: 80px; background: linear-gradient(180deg, #0f0a08 0%, #1a1210 100%); border-radius: 30% 30% 10% 10% / 50% 50% 30% 30%; opacity: 0.7; animation: bi-stranger 8s ease-in-out infinite; }
.scn-bitch-pups-angry .eye-glow { position: absolute; bottom: 38%; left: 34%; width: 4px; height: 4px; background: #c8a040; border-radius: 50%; box-shadow: 0 0 8px 4px rgba(200,160,64,0.5); animation: bi-eye 2s ease-in-out infinite alternate; }
@keyframes bi-body { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes bi-pup { 0%,100% { transform: scale(1) translateY(0); } 50% { transform: scale(0.95) translateY(-2px); } }
@keyframes bi-stranger { 0% { transform: translateX(0) scale(1); opacity: 0.5; } 50% { transform: translateX(-15px) scale(1.05); opacity: 0.8; } 100% { transform: translateX(0) scale(1); opacity: 0.5; } }
@keyframes bi-eye { 0% { opacity: 0.6; box-shadow: 0 0 6px 2px rgba(200,160,64,0.3); } 100% { opacity: 1; box-shadow: 0 0 12px 6px rgba(200,160,64,0.6); } }

.scn-partridge-distraction { background: linear-gradient(180deg, #5b6770 0%, #7c8a94 40%, #9aabb0 100%), radial-gradient(ellipse at 50% 100%, #8c9da8 0%, transparent 70%); position: relative; overflow: hidden; }
.scn-partridge-distraction .sky { position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #6b7984 0%, #a2b2bc 100%); animation: pa-sky 15s ease-in-out infinite alternate; }
.scn-partridge-distraction .hills { position: absolute; bottom: 30%; left: 0; right: 0; height: 20%; background: linear-gradient(180deg, #4e5b60 0%, #3a444a 100%); border-radius: 30% 70% 0 0 / 50% 50% 0 0; box-shadow: inset 0 4px 12px rgba(0,0,0,0.3); }
.scn-partridge-distraction .grass { position: absolute; bottom: 12%; left: 0; right: 0; height: 20%; background: linear-gradient(180deg, #5b6b4a 0%, #3d4a30 100%); border-radius: 60% 40% 0 0 / 40% 30% 0 0; }
.scn-partridge-distraction .bird-body { position: absolute; bottom: 50%; left: 40%; width: 30px; height: 20px; background: radial-gradient(ellipse at 60% 40%, #8b7355 0%, #5c4b33 100%); border-radius: 50% 50% 40% 40% / 60% 50% 50% 40%; animation: pa-bird 3s ease-in-out infinite; }
.scn-partridge-distraction .bird-wing { position: absolute; bottom: 53%; left: 36%; width: 22px; height: 14px; background: #6b5a42; border-radius: 50% 0 0 50% / 60% 0 0 30%; transform-origin: right center; animation: pa-wing 0.5s ease-in-out infinite alternate; }
.scn-partridge-distraction .chick { position: absolute; bottom: 15%; background: #6b7a5a; border-radius: 50%; animation: pa-chick 4s ease-in-out infinite; }
.scn-partridge-distraction .chick-1 { left: 50%; width: 12px; height: 10px; animation-delay: 0s; }
.scn-partridge-distraction .chick-2 { left: 56%; width: 10px; height: 8px; animation-delay: 0.6s; }
.scn-partridge-distraction .hunter-silu { position: absolute; bottom: 22%; left: 10%; width: 30px; height: 70px; background: linear-gradient(180deg, #2a2e30 0%, #1a1c1e 100%); border-radius: 30% 30% 10% 10% / 50% 50% 30% 30%; opacity: 0.5; animation: pa-hunter 10s ease-in-out infinite; }
@keyframes pa-sky { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.75; } }
@keyframes pa-bird { 0% { transform: translate(0, 0) rotate(0deg); } 25% { transform: translate(10px, -5px) rotate(5deg); } 50% { transform: translate(20px, 0) rotate(0deg); } 75% { transform: translate(10px, -3px) rotate(-5deg); } 100% { transform: translate(0, 0) rotate(0deg); } }
@keyframes pa-wing { 0% { transform: rotate(-20deg); } 100% { transform: rotate(20deg); } }
@keyframes pa-chick { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-2px) scale(0.95); } }
@keyframes pa-hunter { 0% { transform: translateX(0); opacity: 0.5; } 50% { transform: translateX(30px); opacity: 0.7; } 100% { transform: translateX(0); opacity: 0.5; } }

.scn-hens-chicks-protection { background: linear-gradient(180deg, #d4c9a8 0%, #b8a77e 50%, #8a7a5a 100%), radial-gradient(ellipse at 50% 0, #e8dcc0 0%, transparent 70%); position: relative; overflow: hidden; }
.scn-hens-chicks-protection .barn-bg { position: absolute; inset: 0; background: linear-gradient(180deg, #c4b28a 0%, #9a8a6a 100%); opacity: 0.6; }
.scn-hens-chicks-protection .hen-body { position: absolute; bottom: 25%; left: 30%; width: 100px; height: 70px; background: radial-gradient(ellipse at 60% 40%, #c8a86e 0%, #a08050 100%); border-radius: 60% 40% 50% 50% / 50% 50% 40% 40%; box-shadow: 0 6px 16px rgba(0,0,0,0.2); animation: he-hen 5s ease-in-out infinite; }
.scn-hens-chicks-protection .hen-wing { position: absolute; bottom: 35%; left: 32%; width: 60px; height: 45px; background: #b89860; border-radius: 50% 0 0 50% / 60% 0 0 40%; transform-origin: right center; animation: he-wing 3s ease-in-out infinite alternate; }
.scn-hens-chicks-protection .chick-under { position: absolute; bottom: 18%; background: #d4b060; border-radius: 50%; box-shadow: inset 0 -2px 4px rgba(0,0,0,0.2); animation: he-chick 4s ease-in-out infinite; }
.scn-hens-chicks-protection .chick-a { left: 42%; width: 12px; height: 10px; animation-delay: 0s; }
.scn-hens-chicks-protection .chick-b { left: 48%; width: 10px; height: 8px; animation-delay: 0.5s; }
.scn-hens-chicks-protection .chick-on-back { position: absolute; bottom: 38%; background: #d4b060; border-radius: 50%; animation: he-chick 4s ease-in-out infinite; }
.scn-hens-chicks-protection .chick-c { left: 40%; width: 9px; height: 7px; animation-delay: 1s; }
.scn-hens-chicks-protection .chick-d { left: 44%; width: 8px; height: 6px; animation-delay: 1.5s; }
.scn-hens-chicks-protection .straw-pile { position: absolute; bottom: 5%; left: 20%; right: 20%; height: 20%; background: linear-gradient(180deg, #c8a040 0%, #a08030 100%); border-radius: 50% 50% 0 0 / 80% 80% 0 0; opacity: 0.5; animation: he-straw 8s ease-in-out infinite; }
@keyframes he-hen { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-4px) rotate(2deg); } }
@keyframes he-wing { 0% { transform: rotate(-10deg); } 100% { transform: rotate(25deg); } }
@keyframes he-chick { 0%,100% { transform: scale(1) translateY(0); } 50% { transform: scale(0.9) translateY(-3px); } }
@keyframes he-straw { 0% { transform: translateY(0); opacity: 0.4; } 50% { transform: translateY(-2px); opacity: 0.6; } 100% { transform: translateY(0); opacity: 0.4; } }

.scn-brutes-shame-humans { background: linear-gradient(180deg, #12100e 0%, #1a1612 30%, #2a221c 100%), radial-gradient(ellipse at 50% 30%, #3a2a1a 0%, transparent 70%); position: relative; overflow: hidden; }
.scn-brutes-shame-humans .cave-wall { position: absolute; inset: 0 0 25% 0; background: linear-gradient(180deg, #1e1814 0%, #2a221c 100%); border-radius: 0 0 40% 40% / 0 0 20% 20%; }
.scn-brutes-shame-humans .cave-ground { position: absolute; bottom: 0; left: 0; right: 0; height: 25%; background: linear-gradient(180deg, #3a2a1a 0%, #1e1410 100%); }
.scn-brutes-shame-humans .bear-body { position: absolute; bottom: 20%; left: 30%; width: 100px; height: 80px; background: radial-gradient(ellipse at 40% 40%, #4a3a2a 0%, #2a1e14 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 8px 20px rgba(0,0,0,0.7); animation: br-bear 7s ease-in-out infinite; }
.scn-brutes-shame-humans .bear-cub { position: absolute; bottom: 15%; background: #3a2a1a; border-radius: 50%; animation: br-cub 5s ease-in-out infinite; }
.scn-brutes-shame-humans .cub-1 { left: 48%; width: 22px; height: 18px; animation-delay: 0s; }
.scn-brutes-shame-humans .cub-2 { left: 56%; width: 18px; height: 15px; animation-delay: 0.7s; }
.scn-brutes-shame-humans .light-shaft { position: absolute; top: 0; left: 40%; width: 60px; height: 80%; background: linear-gradient(180deg, rgba(180,140,80,0.15) 0%, rgba(180,140,80,0.05) 100%); clip-path: polygon(30% 0, 70% 0, 60% 100%, 40% 100%); animation: br-light 6s ease-in-out infinite alternate; }
.scn-brutes-shame-humans .drip { position: absolute; top: 5%; width: 3px; height: 6px; background: #6a5a4a; border-radius: 0 0 50% 50%; animation: br-drip 2s ease-in infinite; }
.scn-brutes-shame-humans .drip-1 { left: 30%; animation-delay: 0s; }
.scn-brutes-shame-humans .drip-2 { left: 70%; animation-delay: 1.2s; }
@keyframes br-bear { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-5px) rotate(2deg); } }
@keyframes br-cub { 0%,100% { transform: scale(1) translateY(0); } 50% { transform: scale(0.95) translateY(-2px); } }
@keyframes br-light { 0% { opacity: 0.3; transform: scaleY(1); } 100% { opacity: 0.6; transform: scaleY(1.1); } }
@keyframes br-drip { 0% { transform: translateY(0); opacity: 1; } 100% { transform: translateY(80vh); opacity: 0; } }

/* monotony-variety – bright interior, calm */
.scn-monotony-variety {
  background: linear-gradient(180deg, #f8f4e4 0%, #e8dfc8 60%, #d4c9b0 100%), radial-gradient(ellipse at 30% 20%, #fff9e6 0%, transparent 70%);
}
.scn-monotony-variety .room {
  position: absolute; inset: 0; background: linear-gradient(180deg, #f0ead6 0%, transparent 100%);
}
.scn-monotony-variety .wall-panel {
  position: absolute; bottom: 20%; left: 10%; width: 80%; height: 50%;
  background: linear-gradient(180deg, #c8b89a 0%, #b0a080 100%);
  border-radius: 0 0 8px 8px; box-shadow: inset 0 4px 20px rgba(0,0,0,0.1);
  animation: mv-wall 20s ease-in-out infinite alternate;
}
.scn-monotony-variety .window-light {
  position: absolute; top: 8%; right: 15%; width: 100px; height: 120px;
  background: radial-gradient(ellipse at center, #fffbe0 0%, #f0e6c0 50%, transparent 100%);
  filter: blur(8px); opacity: 0.6;
  animation: mv-light 4s ease-in-out infinite alternate;
}
.scn-monotony-variety .instrument {
  position: absolute; bottom: 25%; left: 35%; width: 80px; height: 100px;
  background: linear-gradient(180deg, #8a6e4e 0%, #6a4e2e 100%);
  border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.3);
  animation: mv-instr 8s ease-in-out infinite;
}
.scn-monotony-variety .string {
  position: absolute; bottom: 55%; left: 35%; width: 2px; height: 70px;
  background: linear-gradient(180deg, #f0d890 0%, #c0a060 100%);
  transform-origin: top center;
  animation: mv-string 1.5s ease-in-out infinite;
}
.scn-monotony-variety .hand {
  position: absolute; bottom: 38%; left: 42%; width: 20px; height: 28px;
  background: linear-gradient(180deg, #d4a882 0%, #b88a68 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mv-hand 2s ease-in-out infinite;
}
.scn-monotony-variety .dust {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  background: radial-gradient(circle at 40% 30%, rgba(255,255,200,0.1) 0%, transparent 60%);
  filter: blur(2px);
  animation: mv-dust 12s ease-in-out infinite alternate;
}
@keyframes mv-wall { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.95 } }
@keyframes mv-light { 0% { opacity:0.4; transform: scale(0.95); } 50% { opacity:0.7; transform: scale(1.05); } 100% { opacity:0.5; transform: scale(1); } }
@keyframes mv-instr { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes mv-string { 0%,100% { transform: scaleX(1); } 50% { transform: scaleX(1.5); } }
@keyframes mv-hand { 0% { transform: translate(0,0) rotate(0deg); } 33% { transform: translate(5px,-2px) rotate(5deg); } 66% { transform: translate(-2px,0) rotate(-3deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes mv-dust { 0% { opacity:0.3; transform: translate(0,0); } 50% { opacity:0.6; transform: translate(5px,-3px); } 100% { opacity:0.4; transform: translate(-3px,2px); } }

/* general-knowledge-smattering – bright interior, calm */
.scn-general-knowledge-smattering {
  background: linear-gradient(180deg, #ebe1cc 0%, #d9ceb8 50%, #c5b89e 100%), radial-gradient(ellipse at 20% 40%, #fff8e0 0%, transparent 70%);
}
.scn-general-knowledge-smattering .bookshelf {
  position: absolute; top: 10%; left: 5%; width: 45%; height: 75%;
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 6px; box-shadow: inset 0 0 20px rgba(0,0,0,0.3);
}
.scn-general-knowledge-smattering .book {
  position: absolute; width: 12px; height: 40px;
  background: linear-gradient(90deg, #c05030 0%, #b04020 100%);
  border-radius: 2px;
  box-shadow: 1px 1px 4px rgba(0,0,0,0.2);
}
.scn-general-knowledge-smattering .book-a { top: 20%; left: 10%; height: 35px; background: linear-gradient(90deg, #5080a0 0%, #307090 100%); animation: gk-book-a 10s ease-in-out infinite; }
.scn-general-knowledge-smattering .book-b { top: 35%; left: 18%; height: 45px; background: linear-gradient(90deg, #a08040 0%, #806020 100%); animation: gk-book-b 8s ease-in-out infinite; }
.scn-general-knowledge-smattering .book-c { top: 55%; left: 12%; height: 30px; background: linear-gradient(90deg, #608050 0%, #407030 100%); animation: gk-book-c 12s ease-in-out infinite; }
.scn-general-knowledge-smattering .leaf {
  position: absolute; top: 45%; left: 35%; width: 60px; height: 50px;
  background: #f0e8d0; border-radius: 0 40% 40% 0 / 0 50% 50% 0;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.1);
  animation: gk-leaf 20s ease-in-out infinite alternate;
}
.scn-general-knowledge-smattering .desk {
  position: absolute; bottom: 12%; left: 30%; width: 50%; height: 10%;
  background: linear-gradient(180deg, #b09070 0%, #8a6e50 100%);
  border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.scn-general-knowledge-smattering .coffee {
  position: absolute; bottom: 20%; right: 15%; width: 20px; height: 24px;
  background: radial-gradient(circle at 50% 50%, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 40% 40% 30% 30%;
  animation: gk-steam 3s ease-in-out infinite;
}
@keyframes gk-book-a { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-5px) rotate(2deg); } }
@keyframes gk-book-b { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(3px) rotate(-3deg); } }
@keyframes gk-book-c { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes gk-leaf { 0% { transform: rotate(-2deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-1deg); } }
@keyframes gk-steam { 0% { opacity:0.1; transform: translateY(0) scale(1); } 50% { opacity:0.4; transform: translateY(-6px) scale(1.2); } 100% { opacity:0.2; transform: translateY(0) scale(1); } }

/* bion-penelope-maids – bright interior, funny */
.scn-bion-penelope-maids {
  background: linear-gradient(180deg, #e8dcc0 0%, #d4c8a8 50%, #b8a888 100%), radial-gradient(ellipse at 50% 30%, #fffbe0 0%, transparent 60%);
}
.scn-bion-penelope-maids .loom {
  position: absolute; bottom: 20%; left: 30%; width: 120px; height: 90px;
  background: linear-gradient(180deg, #8a7050 0%, #6a5030 100%);
  border-radius: 4px; box-shadow: 0 6px 16px rgba(0,0,0,0.3);
  animation: bp-loom 12s ease-in-out infinite alternate;
}
.scn-bion-penelope-maids .penelope {
  position: absolute; bottom: 25%; left: 35%; width: 30px; height: 55px;
  background: linear-gradient(180deg, #e0c8a0 0%, #c0a880 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: bp-penelope 6s ease-in-out infinite;
}
.scn-bion-penelope-maids .maid {
  position: absolute; bottom: 20%; width: 18px; height: 40px;
  background: linear-gradient(180deg, #d0b894 0%, #b09878 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  animation: bp-maid 4s ease-in-out infinite;
}
.scn-bion-penelope-maids .maid-a { left: 50%; animation-delay: 0s; }
.scn-bion-penelope-maids .maid-b { left: 60%; animation-delay: 2s; }
.scn-bion-penelope-maids .sultor {
  position: absolute; bottom: 15%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 20% 20%;
  animation: bp-sultor 5s ease-in-out infinite;
}
.scn-bion-penelope-maids .sultor-a { left: 20%; animation-delay: 0s; }
.scn-bion-penelope-maids .sultor-b { left: 70%; animation-delay: 2.5s; }
.scn-bion-penelope-maids .flower {
  position: absolute; width: 10px; height: 10px;
  background: radial-gradient(circle, #d07050 0%, #a05030 100%);
  border-radius: 50%;
  animation: bp-flower 3s ease-in-out infinite alternate;
}
.scn-bion-penelope-maids .flower-a { bottom: 30%; left: 45%; animation-delay: 0s; }
.scn-bion-penelope-maids .flower-b { bottom: 28%; left: 55%; animation-delay: 1.5s; }
@keyframes bp-loom { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }
@keyframes bp-penelope { 0%,100% { transform: translate(0,0) rotate(0deg); } 33% { transform: translate(2px,-1px) rotate(2deg); } 66% { transform: translate(-2px,0) rotate(-2deg); } }
@keyframes bp-maid { 0% { transform: translate(0,0) rotate(0deg); } 25% { transform: translate(4px,-3px) rotate(5deg); } 50% { transform: translate(0,0) rotate(0deg); } 75% { transform: translate(-4px,-2px) rotate(-5deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes bp-sultor { 0% { transform: translate(0,0) rotate(0deg) scale(1); } 30% { transform: translate(3px,-2px) rotate(3deg) scale(1.05); } 60% { transform: translate(-3px,0) rotate(-3deg) scale(0.95); } 100% { transform: translate(0,0) rotate(0deg) scale(1); } }
@keyframes bp-flower { 0% { opacity:0.6; transform: scale(0.8) rotate(0deg); } 50% { opacity:1; transform: scale(1.2) rotate(15deg); } 100% { opacity:0.8; transform: scale(0.9) rotate(-5deg); } }

/* philosophy-cure-soul – bright interior, warm */
.scn-philosophy-cure-soul {
  background: linear-gradient(180deg, #f5e6c0 0%, #e0c890 40%, #c8a870 100%), radial-gradient(ellipse at 60% 20%, #fffbe0 0%, #e0c080 70%, transparent 100%);
}
.scn-philosophy-cure-soul .study {
  position: absolute; inset: 0; background: linear-gradient(180deg, #f0dbb0 0%, transparent 100%);
}
.scn-philosophy-cure-soul .scroll {
  position: absolute; bottom: 30%; left: 40%; width: 80px; height: 40px;
  background: linear-gradient(180deg, #f0e0b0 0%, #d0c090 100%);
  border-radius: 10% 10% 50% 50% / 20% 20% 40% 40%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
  animation: pc-scroll 15s ease-in-out infinite alternate;
}
.scn-philosophy-cure-soul .figure {
  position: absolute; bottom: 25%; left: 30%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #d0b890 0%, #b09870 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: pc-figure 8s ease-in-out infinite;
}
.scn-philosophy-cure-soul .soul-glow {
  position: absolute; bottom: 40%; left: 50%; width: 30px; height: 30px;
  background: radial-gradient(circle, #ffd060 0%, #f0a030 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 8px #f0a030, 0 0 60px 16px rgba(240,160,48,0.4);
  animation: pc-glow 4s ease-in-out infinite alternate;
}
.scn-philosophy-cure-soul .medicine {
  position: absolute; bottom: 35%; left: 22%; width: 12px; height: 20px;
  background: linear-gradient(180deg, #b08060 0%, #906040 100%);
  border-radius: 30% 30% 10% 10% / 40% 40% 20% 20%;
  animation: pc-medicine 6s ease-in-out infinite;
}
.scn-philosophy-cure-soul .exercise {
  position: absolute; bottom: 20%; left: 55%; width: 16px; height: 20px;
  background: radial-gradient(circle at 30% 30%, #f0d080 0%, #c0a060 100%);
  border-radius: 50% 50% 0 0;
  animation: pc-exercise 5s ease-in-out infinite alternate;
}
@keyframes pc-scroll { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-5px) rotate(1deg); } 100% { transform: translateX(5px) rotate(-1deg); } }
@keyframes pc-figure { 0%,100% { transform: translate(0,0) rotate(0deg); } 33% { transform: translate(3px,-2px) rotate(2deg); } 66% { transform: translate(-3px,0) rotate(-2deg); } }
@keyframes pc-glow { 0% { opacity:0.7; transform: scale(0.95); } 50% { opacity:1; transform: scale(1.1); } 100% { opacity:0.8; transform: scale(1); } }
@keyframes pc-medicine { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-4px) rotate(5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes pc-exercise { 0% { opacity:0.6; transform: translateY(0) scale(0.9); } 50% { opacity:1; transform: translateY(-3px) scale(1.1); } 100% { opacity:0.7; transform: translateY(0) scale(0.95); } }

/* daphnaeus-stops-solon – warm interior, two figures, window light */
.scn-daphnaeus-stops-solon {
  background: linear-gradient(180deg, #d4a373 0%, #bc8f53 40%, #9e7a3a 100%),
              radial-gradient(ellipse at 70% 30%, #f0d9b5 0%, transparent 70%);
}
.scn-daphnaeus-stops-solon .wall-bg {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(135deg, #e6cba0 0%, #c9a06a 50%, #a67c44 100%);
  animation: dss-wall 20s ease-in-out infinite alternate;
}
.scn-daphnaeus-stops-solon .window-frame {
  position: absolute; top: 10%; left: 65%; width: 30%; height: 50%;
  background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%);
  border-radius: 4px; box-shadow: inset 0 0 20px rgba(0,0,0,0.3);
}
.scn-daphnaeus-stops-solon .window-glow {
  position: absolute; top: 12%; left: 67%; width: 26%; height: 46%;
  background: radial-gradient(circle at 50% 50%, #ffe8b0 0%, #f0c070 60%, transparent 100%);
  border-radius: 4px;
  animation: dss-glow 4s ease-in-out infinite alternate;
}
.scn-daphnaeus-stops-solon .figure-left {
  position: absolute; bottom: 18%; left: 18%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dss-figureL 6s ease-in-out infinite;
}
.scn-daphnaeus-stops-solon .figure-right {
  position: absolute; bottom: 18%; left: 50%; width: 42px; height: 82px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dss-figureR 6s ease-in-out infinite alternate;
}
.scn-daphnaeus-stops-solon .scroll-table {
  position: absolute; bottom: 15%; left: 30%; width: 100px; height: 10px;
  background: linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%);
  border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}
.scn-daphnaeus-stops-solon .lamp-dss {
  position: absolute; bottom: 30%; left: 10%; width: 14px; height: 20px;
  background: radial-gradient(circle at 50% 20%, #ffd080 0%, #b06020 70%);
  border-radius: 40% 40% 30% 30%; box-shadow: 0 0 20px 6px rgba(255,208,128,0.5);
  animation: dss-lamp 3s ease-in-out infinite alternate;
}
.scn-daphnaeus-stops-solon .shadow-dss {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.3) 100%);
}
@keyframes dss-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes dss-glow { 0% { opacity: 0.7; transform: scale(0.95); } 50% { opacity: 1; transform: scale(1.05); } 100% { opacity: 0.8; transform: scale(1); } }
@keyframes dss-figureL { 0% { transform: translateX(0) rotate(-2deg); } 30% { transform: translateX(4px) rotate(2deg); } 60% { transform: translateX(0) rotate(-1deg); } 100% { transform: translateX(-2px) rotate(0); } }
@keyframes dss-figureR { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(8px) rotate(3deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes dss-lamp { 0% { box-shadow: 0 0 15px 4px rgba(255,208,128,0.4); opacity: 0.8; } 50% { box-shadow: 0 0 30px 10px rgba(255,208,128,0.7); opacity: 1; } 100% { box-shadow: 0 0 20px 5px rgba(255,208,128,0.5); opacity: 0.9; } }

/* thigh-inspection-ridiculous – bright interior, comical inspection scene */
.scn-thigh-inspection-ridiculous {
  background: linear-gradient(180deg, #f5e6c8 0%, #e0c8a0 40%, #c8a878 100%),
              radial-gradient(circle at 50% 40%, #fff4e0 0%, transparent 60%);
}
.scn-thigh-inspection-ridiculous .room-wall {
  position: absolute; inset: 0 0 15% 0;
  background: linear-gradient(135deg, #f0e0c0 0%, #d8c098 100%);
  animation: tir-wall 15s ease-in-out infinite alternate;
}
.scn-thigh-inspection-ridiculous .altar {
  position: absolute; bottom: 12%; left: 35%; width: 120px; height: 40px;
  background: linear-gradient(180deg, #a08060 0%, #806040 100%);
  border-radius: 8px 8px 4px 4px; box-shadow: 0 6px 12px rgba(0,0,0,0.3);
}
.scn-thigh-inspection-ridiculous .inspector {
  position: absolute; bottom: 30%; left: 25%; width: 44px; height: 90px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tir-inspector 3s ease-in-out infinite alternate;
}
.scn-thigh-inspection-ridiculous .subject {
  position: absolute; bottom: 30%; left: 48%; width: 40px; height: 85px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tir-subject 4s ease-in-out infinite;
}
.scn-thigh-inspection-ridiculous .exposed-thigh {
  position: absolute; bottom: 38%; left: 52%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #c8a080 0%, #a08060 100%);
  border-radius: 40% 40% 30% 30%;
  animation: tir-thigh 2s ease-in-out infinite;
}
.scn-thigh-inspection-ridiculous .spectator-1 {
  position: absolute; bottom: 28%; left: 15%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a100a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tir-spectator 8s ease-in-out infinite;
}
.scn-thigh-inspection-ridiculous .spectator-2 {
  position: absolute; bottom: 28%; left: 60%; width: 28px; height: 68px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tir-spectator 8s ease-in-out infinite 2s;
}
.scn-thigh-inspection-ridiculous .lamp-tir {
  position: absolute; bottom: 45%; left: 10%; width: 16px; height: 24px;
  background: radial-gradient(circle at 50% 20%, #ffe080 0%, #c08030 70%);
  border-radius: 40%; box-shadow: 0 0 25px 8px rgba(255,224,128,0.6);
  animation: tir-lamp 3s ease-in-out infinite alternate;
}
@keyframes tir-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes tir-inspector { 0% { transform: translateX(0) rotate(-5deg); } 50% { transform: translateX(-10px) rotate(10deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes tir-subject { 0% { transform: translateX(0) rotate(2deg); } 30% { transform: translateX(5px) rotate(-3deg); } 60% { transform: translateX(-3px) rotate(1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes tir-thigh { 0% { opacity: 0.6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.15); } 100% { opacity: 0.7; transform: scale(0.95); } }
@keyframes tir-spectator { 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 tir-lamp { 0% { box-shadow: 0 0 20px 5px rgba(255,224,128,0.5); opacity: 0.8; } 50% { box-shadow: 0 0 35px 12px rgba(255,224,128,0.8); opacity: 1; } 100% { box-shadow: 0 0 25px 6px rgba(255,224,128,0.6); opacity: 0.9; } }

/* yield-favour-ancient-term – warm interior, kneeling and standing figure, flame */
.scn-yield-favour-ancient-term {
  background: linear-gradient(180deg, #c8a878 0%, #a8885a 40%, #8a6a3a 100%),
              radial-gradient(circle at 50% 60%, #f0d0a0 0%, transparent 60%);
}
.scn-yield-favour-ancient-term .hearth-bg {
  position: absolute; bottom: 0; left: 0; right: 0; height: 60%;
  background: linear-gradient(180deg, #9e7a4a 0%, #6a4a2a 100%);
  border-radius: 30% 70% 0 0 / 50% 50% 0 0;
}
.scn-yield-favour-ancient-term .kneeling-figure {
  position: absolute; bottom: 20%; left: 30%; width: 45px; height: 70px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform-origin: bottom center;
  animation: yfa-kneel 5s ease-in-out infinite;
}
.scn-yield-favour-ancient-term .standing-figure {
  position: absolute; bottom: 25%; left: 55%; width: 40px; height: 90px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: yfa-stand 6s ease-in-out infinite;
}
.scn-yield-favour-ancient-term .offering-hand {
  position: absolute; bottom: 35%; left: 42%; width: 12px; height: 16px;
  background: linear-gradient(180deg, #a08060 0%, #806040 100%);
  border-radius: 40% 40% 20% 20%;
  animation: yfa-hand 3s ease-in-out infinite alternate;
}
.scn-yield-favour-ancient-term .favour-flame {
  position: absolute; bottom: 28%; left: 45%; width: 8px; height: 20px;
  background: radial-gradient(circle at 50% 100%, #ffcc80 0%, #ff9933 60%, transparent 100%);
  border-radius: 50%; box-shadow: 0 0 20px 8px rgba(255,153,51,0.6);
  animation: yfa-flame 2s ease-in-out infinite alternate;
}
.scn-yield-favour-ancient-term .pillar-left {
  position: absolute; bottom: 0; left: 5%; width: 12px; height: 100%;
  background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%);
  border-radius: 4px;
}
.scn-yield-favour-ancient-term .pillar-right {
  position: absolute; bottom: 0; right: 5%; width: 12px; height: 100%;
  background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%);
  border-radius: 4px;
}
.scn-yield-favour-ancient-term .floor-tile {
  position: absolute; bottom: 0; left: 0; right: 0; height: 12%;
  background: repeating-linear-gradient(90deg, #7a6a4a 0px, #7a6a4a 30px, #6a5a3a 30px, #6a5a3a 60px);
  border-radius: 4px 4px 0 0;
}
@keyframes yfa-kneel { 0% { transform: translateY(0) rotate(2deg); } 50% { transform: translateY(-3px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes yfa-stand { 0% { transform: translateX(0) rotate(0); } 30% { transform: translateX(5px) rotate(3deg); } 60% { transform: translateX(0) rotate(-2deg); } 100% { transform: translateX(-3px) rotate(0); } }
@keyframes yfa-hand { 0% { transform: translateY(0) rotate(-5deg); } 100% { transform: translateY(-4px) rotate(5deg); } }
@keyframes yfa-flame { 0% { transform: scaleY(1) translateY(0); opacity: 0.8; } 50% { transform: scaleY(1.3) translateY(-2px); opacity: 1; } 100% { transform: scaleY(0.9) translateY(0); opacity: 0.7; } }

/* male-love-foul – dim interior, tense, two figures, single candle */
.scn-male-love-foul {
  background: linear-gradient(180deg, #1a1423 0%, #251a30 40%, #0f0c18 100%),
              radial-gradient(ellipse at 50% 30%, #2a1e3a 0%, transparent 70%);
}
.scn-male-love-foul .dark-wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #1a1220 0%, #0e0915 100%);
  animation: mlf-wall 12s ease-in-out infinite alternate;
}
.scn-male-love-foul .candle-glow {
  position: absolute; top: 25%; left: 50%; width: 100px; height: 100px;
  background: radial-gradient(circle at 50% 50%, rgba(120, 60, 30, 0.4) 0%, transparent 70%);
  transform: translate(-50%, -50%);
  animation: mlf-glow 3s ease-in-out infinite alternate;
}
.scn-male-love-foul .candle {
  position: absolute; top: 28%; left: 49%; width: 6px; height: 20px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 2px 2px 4px 4px;
}
.scn-male-love-foul .figure-kneeling {
  position: absolute; bottom: 20%; left: 35%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #1a1220 0%, #0a0510 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform-origin: bottom center;
  animation: mlf-kneel 8s ease-in-out infinite;
}
.scn-male-love-foul .figure-standing {
  position: absolute; bottom: 25%; left: 55%; width: 38px; height: 85px;
  background: linear-gradient(180deg, #1a1220 0%, #0a0510 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mlf-stand 6s ease-in-out infinite alternate;
}
.scn-male-love-foul .shadow-bars {
  position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background: repeating-linear-gradient(0deg, transparent 0px, transparent 20px, rgba(0,0,0,0.3) 20px, rgba(0,0,0,0.3) 22px);
  pointer-events: none;
}
.scn-male-love-foul .dust-particles {
  position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background: radial-gradient(circle at 20% 30%, rgba(200,180,150,0.03) 0%, transparent 50%),
              radial-gradient(circle at 70% 60%, rgba(200,180,150,0.02) 0%, transparent 40%);
  animation: mlf-dust 15s linear infinite;
}
@keyframes mlf-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes mlf-glow { 0% { opacity: 0.6; transform: translate(-50%, -50%) scale(1); } 50% { opacity: 1; transform: translate(-50%, -50%) scale(1.2); } 100% { opacity: 0.7; transform: translate(-50%, -50%) scale(0.9); } }
@keyframes mlf-kneel { 0% { transform: translateX(0) rotate(0); } 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 mlf-stand { 0% { transform: translateX(0) rotate(-3deg); } 100% { transform: translateX(8px) rotate(3deg); } }
@keyframes mlf-dust { 0% { background-position: 0 0, 0 0; } 100% { background-position: -200px 100px, 150px -50px; } }

/* imitate-surgeons-operation-foment */
.scn-imitate-surgeons-operation-foment {
  background: 
    radial-gradient(ellipse at 50% 40%, #3a2a1a 0%, #1a1410 60%, #0e0a08 100%),
    linear-gradient(180deg, #2c2018 0%, #1a1410 50%, #0e0a08 100%);
}
.scn-imitate-surgeons-operation-foment .bg-wall { position:absolute; inset:0; background:linear-gradient(180deg, #3a2a1a 0%, #1a1410 100%); animation: srf-wall 8s ease-in-out infinite alternate; }
.scn-imitate-surgeons-operation-foment .table { position:absolute; bottom:22%; left:20%; right:20%; height:8%; background:linear-gradient(180deg, #5a3a2a 0%, #3a2218 100%); border-radius: 6px 6px 0 0; box-shadow: 0 4px 12px rgba(0,0,0,.6); }
.scn-imitate-surgeons-operation-foment .figure-surgeon { position:absolute; bottom:30%; left:35%; width:22px; height:40px; background:linear-gradient(180deg, #2a1a12 0%, #1a0e08 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin:bottom center; animation: srf-surgeon 6s ease-in-out infinite; }
.scn-imitate-surgeons-operation-foment .figure-patient { position:absolute; bottom:20%; left:50%; width:40px; height:30px; background:linear-gradient(180deg, #3a2a1a 0%, #1a1410 100%); border-radius: 50% 50% 30% 30%; transform:translateX(-50%); }
.scn-imitate-surgeons-operation-foment .lamp { position:absolute; top:15%; left:50%; width:10px; height:20px; background:radial-gradient(ellipse at 50% 100%, #e0a050 0%, #c08030 50%, transparent 100%); transform:translateX(-50%); box-shadow: 0 0 40px 20px rgba(192,128,48,.4); animation: srf-lamp 4s ease-in-out infinite alternate; }
.scn-imitate-surgeons-operation-foment .hand-foment { position:absolute; bottom:30%; left:48%; width:14px; height:12px; background:radial-gradient(circle, #d0a070 0%, #8a5a3a 100%); border-radius:50%; box-shadow: 0 0 20px 6px rgba(200,160,100,.5); animation: srf-hand 5s ease-in-out infinite; }
.scn-imitate-surgeons-operation-foment .drape { position:absolute; top:0; left:10%; width:80%; height:30%; background:linear-gradient(180deg, #4a3222 0%, #2a1a10 100%); border-radius:0 0 20% 20%; opacity:.6; box-shadow: 0 8px 20px rgba(0,0,0,.5); }
@keyframes srf-wall { 0% { opacity:.8 } 50% { opacity:.95 } 100% { opacity:.8 } }
@keyframes srf-surgeon { 0% { transform: translateX(0) rotate(0) } 30% { transform: translateX(-2px) rotate(2deg) } 60% { transform: translateX(2px) rotate(-2deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes srf-lamp { 0% { box-shadow:0 0 30px 15px rgba(192,128,48,.3); } 50% { box-shadow:0 0 50px 25px rgba(224,160,80,.5); } 100% { box-shadow:0 0 30px 15px rgba(192,128,48,.3); } }
@keyframes srf-hand { 0%,100% { transform: translateY(0) scale(1); opacity:.8; } 50% { transform: translateY(-3px) scale(1.05); opacity:1; } }

/* plato-laws-v-731 */
.scn-plato-laws-v-731 {
  background: 
    radial-gradient(ellipse at 50% 60%, #3a3228 0%, #1e1814 60%, #0a0806 100%),
    linear-gradient(90deg, #3a3228 0%, #2a2218 50%, #1a1410 100%);
}
.scn-plato-laws-v-731 .bg-temple { position:absolute; inset:0; background:linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%); animation: plv-fade 10s ease-in-out infinite alternate; }
.scn-plato-laws-v-731 .column-left { position:absolute; left:15%; bottom:0; width:8%; height:70%; background:linear-gradient(90deg, #6a5a4a 0%, #4a3a2a 50%, #3a2a1a 100%); border-radius: 4px 4px 0 0; box-shadow: 0 4px 10px rgba(0,0,0,.4); }
.scn-plato-laws-v-731 .column-right { position:absolute; right:15%; bottom:0; width:8%; height:70%; background:linear-gradient(90deg, #3a2a1a 0%, #4a3a2a 50%, #6a5a4a 100%); border-radius: 4px 4px 0 0; box-shadow: 0 4px 10px rgba(0,0,0,.4); }
.scn-plato-laws-v-731 .doorway { position:absolute; left:30%; right:30%; bottom:10%; height:50%; background:radial-gradient(ellipse at 50% 100%, #2a1e14 0%, #1a120e 100%); border-radius: 30% 30% 0 0 / 50% 50% 0 0; }
.scn-plato-laws-v-731 .inscription { position:absolute; top:30%; left:50%; width:60px; height:30px; transform:translateX(-50%); background:linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%); border-radius: 6px; box-shadow: inset 0 2px 4px rgba(0,0,0,.6), 0 0 8px 2px rgba(200,180,140,.2); animation: plv-insc 14s ease-in-out infinite; }
.scn-plato-laws-v-731 .figure-crouch { position:absolute; bottom:10%; left:42%; width:16px; height:26px; background:linear-gradient(180deg, #2a1e12 0%, #1a1008 100%); border-radius: 50% 50% 30% 30% / 40% 40% 60% 60%; transform-origin:bottom center; animation: plv-crouch 8s ease-in-out infinite; }
.scn-plato-laws-v-731 .stone-step { position:absolute; bottom:5%; left:35%; right:35%; height:5%; background:linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 4px; }
@keyframes plv-fade { 0% { opacity:.75 } 50% { opacity:.9 } 100% { opacity:.75 } }
@keyframes plv-insc { 0%,100% { box-shadow: inset 0 2px 4px rgba(0,0,0,.6), 0 0 8px 2px rgba(200,180,140,.1); } 50% { box-shadow: inset 0 2px 4px rgba(0,0,0,.6), 0 0 14px 5px rgba(200,180,140,.4); } }
@keyframes plv-crouch { 0% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-2px) rotate(3deg); } 75% { transform: translateY(1px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0); } }

/* cicero-de-amicitia-xviii */
.scn-cicero-de-amicitia-xviii {
  background: 
    radial-gradient(ellipse at 50% 30%, #4a3a2a 0%, #2a1e14 50%, #0e0a06 100%),
    linear-gradient(180deg, #3a2a1e 0%, #1a1410 100%);
}
.scn-cicero-de-amicitia-xviii .bg-room { position:absolute; inset:0; background:linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%); animation: cdf-room 12s ease-in-out infinite alternate; }
.scn-cicero-de-amicitia-xviii .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background:linear-gradient(180deg, #3a2a1a 0%, #1a1410 100%); }
.scn-cicero-de-amicitia-xviii .table-small { position:absolute; bottom:18%; left:50%; width:70px; height:20px; transform:translateX(-50%); background:linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 8px 8px 4px 4px; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-cicero-de-amicitia-xviii .figure-a { position:absolute; bottom:22%; left:30%; width:20px; height:34px; background:linear-gradient(180deg, #2a1a12 0%, #1a0e08 100%); border-radius: 45% 40% 35% 35% / 55% 55% 35% 35%; transform-origin:bottom center; animation: cdf-figa 6s ease-in-out infinite; }
.scn-cicero-de-amicitia-xviii .figure-b { position:absolute; bottom:22%; right:30%; width:20px; height:34px; background:linear-gradient(180deg, #2a1a12 0%, #1a0e08 100%); border-radius: 40% 45% 35% 35% / 55% 55% 35% 35%; transform-origin:bottom center; animation: cdf-figb 6s ease-in-out infinite reverse; }
.scn-cicero-de-amicitia-xviii .lamp-oil { position:absolute; top:20%; left:50%; width:8px; height:16px; background:radial-gradient(circle at 50% 0%, #e0a060 0%, #c08040 60%, transparent 100%); transform:translateX(-50%); box-shadow: 0 0 30px 15px rgba(192,128,64,.4); animation: cdf-lamp 4s ease-in-out infinite alternate; }
.scn-cicero-de-amicitia-xviii .cup { position:absolute; bottom:22%; left:50%; width:10px; height:12px; transform:translateX(-50%) translateY(-8px); background:linear-gradient(180deg, #8a6a4a 0%, #5a3a2a 100%); border-radius: 0 0 30% 30%; }
@keyframes cdf-room { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes cdf-figa { 0% { transform: translateX(0) rotate(0); } 30% { transform: translateX(3px) rotate(3deg); } 70% { transform: translateX(-2px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes cdf-figb { 0% { transform: translateX(0) rotate(0); } 30% { transform: translateX(-3px) rotate(-3deg); } 70% { transform: translateX(2px) rotate(2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes cdf-lamp { 0% { box-shadow:0 0 20px 10px rgba(192,128,64,.3); } 50% { box-shadow:0 0 40px 20px rgba(224,160,80,.5); } 100% { box-shadow:0 0 20px 10px rgba(192,128,64,.3); } }

/* homer-odyssey-wash-hands */
.scn-homer-odyssey-wash-hands {
  background: 
    radial-gradient(ellipse at 50% 50%, #4a3a2e 0%, #2a1e16 50%, #0e0a06 100%),
    linear-gradient(180deg, #3a2a1e 0%, #1a1410 100%);
}
.scn-homer-odyssey-wash-hands .bg-hall { position:absolute; inset:0; background:linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%); animation: how-hall 10s ease-in-out infinite alternate; }
.scn-homer-odyssey-wash-hands .basin { position:absolute; bottom:28%; left:50%; width:50px; height:30px; transform:translateX(-50%); background:linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); border-radius: 0 0 20% 20% / 0 0 30% 30%; box-shadow: inset 0 4px 8px rgba(0,0,0,.5), 0 4px 8px rgba(0,0,0,.4); }
.scn-homer-odyssey-wash-hands .water-stream { position:absolute; bottom:55%; left:50%; width:4px; height:40px; transform:translateX(-50%); background:linear-gradient(180deg, rgba(200,180,160,.6) 0%, rgba(200,180,160,.2) 100%); border-radius: 2px; animation: how-stream 3s ease-in-out infinite alternate; }
.scn-homer-odyssey-wash-hands .hands { position:absolute; bottom:32%; left:50%; width:24px; height:20px; transform:translateX(-50%); background:linear-gradient(180deg, #8a6a4a 0%, #5a3a2a 100%); border-radius: 50% 50% 20% 20%; animation: how-hands 5s ease-in-out infinite; }
.scn-homer-odyssey-wash-hands .servant-arm { position:absolute; bottom:40%; right:40%; width:8px; height:40px; background:linear-gradient(180deg, #2a1a12 0%, #1a0e08 100%); border-radius: 4px; transform-origin:bottom center; transform: rotate(-30deg); animation: how-arm 6s ease-in-out infinite; }
.scn-homer-odyssey-wash-hands .pitcher { position:absolute; bottom:48%; right:36%; width:18px; height:30px; background:linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 8px rgba(0,0,0,.5); }
.scn-homer-odyssey-wash-hands .table-basin { position:absolute; bottom:20%; left:30%; right:30%; height:8%; background:linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 6px; box-shadow: 0 4px 10px rgba(0,0,0,.4); }
@keyframes how-hall { 0% { opacity:.8 } 50% { opacity:.95 } 100% { opacity:.75 } }
@keyframes how-stream { 0% { opacity:.8; transform: translateX(-50%) scaleY(1); } 50% { opacity:1; transform: translateX(-50%) scaleY(1.1); } 100% { opacity:.7; transform: translateX(-50%) scaleY(.9); } }
@keyframes how-hands { 0%,100% { transform: translateX(-50%) translateY(0) rotate(0); } 25% { transform: translateX(-54%) translateY(-2px) rotate(5deg); } 75% { transform: translateX(-46%) translateY(-1px) rotate(-5deg); } }
@keyframes how-arm { 0% { transform: rotate(-30deg); } 30% { transform: rotate(-20deg); } 70% { transform: rotate(-40deg); } 100% { transform: rotate(-30deg); } }

/* Scene: philosophy-blessings */
.scn-philosophy-blessings { 
  background: linear-gradient(180deg, #e8d5b8 0%, #c9a87c 40%, #a07a52 100%), radial-gradient(ellipse at 30% 20%, #f5e6d0 0%, transparent 60%);
}
.scn-philosophy-blessings .wall { 
  position: absolute; inset: 0 0 45% 0; 
  background: linear-gradient(180deg, #dbbca0 0%, #c9a87c 100%); 
  border-bottom: 4px solid #8a6238; 
  animation: pb-wall 20s ease-in-out infinite alternate;
}
.scn-philosophy-blessings .floor { 
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%; 
  background: linear-gradient(180deg, #8a6238 0%, #6a4a2a 100%); 
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.3);
}
.scn-philosophy-blessings .desk { 
  position: absolute; bottom: 30%; left: 25%; width: 50%; height: 20%; 
  background: linear-gradient(180deg, #b08050 0%, #8a6030 100%); 
  border-radius: 4px 4px 10px 10px; 
  box-shadow: 0 8px 20px rgba(0,0,0,0.4); 
  animation: pb-desk 12s ease-in-out infinite;
}
.scn-philosophy-blessings .scroll { 
  position: absolute; bottom: 38%; left: 40%; width: 20%; height: 8%; 
  background: linear-gradient(180deg, #f0e0c0 0%, #d4b896 100%); 
  border-radius: 0 0 50% 50% / 0 0 100% 100%; 
  transform: rotate(-2deg); 
  box-shadow: 0 2px 8px rgba(0,0,0,0.2); 
  animation: pb-scroll 8s ease-in-out infinite;
}
.scn-philosophy-blessings .lamp { 
  position: absolute; bottom: 42%; left: 30%; width: 12%; height: 20%; 
  background: linear-gradient(180deg, #c07040 0%, #a05830 100%); 
  border-radius: 40% 40% 10% 10%; 
  animation: pb-lamp 6s ease-in-out infinite alternate;
}
.scn-philosophy-blessings .glow { 
  position: absolute; bottom: 50%; left: 28%; width: 16%; height: 20%; 
  background: radial-gradient(circle at 50% 30%, #fce8c0 0%, #f0d0a0 50%, transparent 100%); 
  opacity: 0.6; 
  filter: blur(10px); 
  animation: pb-glow 4s ease-in-out infinite alternate;
}
.scn-philosophy-blessings .figure { 
  position: absolute; bottom: 30%; left: 55%; width: 14%; height: 30%; 
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); 
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; 
  transform-origin: bottom center; 
  animation: pb-figure 10s ease-in-out infinite;
}
.scn-philosophy-blessings .book-1 { 
  position: absolute; bottom: 36%; left: 48%; width: 8%; height: 6%; 
  background: #8a4a3a; 
  border-radius: 2px; 
  transform: rotate(-15deg); 
  box-shadow: 2px 2px 6px rgba(0,0,0,0.3); 
  animation: pb-book1 14s ease-in-out infinite;
}
.scn-philosophy-blessings .book-2 { 
  position: absolute; bottom: 36%; left: 52%; width: 10%; height: 8%; 
  background: #5e3a2a; 
  border-radius: 2px; 
  transform: rotate(5deg); 
  box-shadow: 2px 2px 6px rgba(0,0,0,0.3); 
  animation: pb-book2 12s ease-in-out infinite alternate;
}
@keyframes pb-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes pb-desk { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes pb-scroll { 0% { transform: rotate(-2deg) translateY(0); } 50% { transform: rotate(-2deg) translateY(-1px); } 100% { transform: rotate(-2deg) translateY(0); } }
@keyframes pb-lamp { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-2deg); } }
@keyframes pb-glow { 0% { opacity: 0.4; transform: scale(1); } 50% { opacity: 0.7; transform: scale(1.1); } 100% { opacity: 0.5; transform: scale(0.95); } }
@keyframes pb-figure { 0%,100% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(2%) rotate(1deg); } 75% { transform: translateX(-2%) rotate(-1deg); } }
@keyframes pb-book1 { 0%,100% { transform: rotate(-15deg) translateY(0); } 50% { transform: rotate(-15deg) translateY(-1px); } }
@keyframes pb-book2 { 0% { transform: rotate(5deg) translateY(0); } 100% { transform: rotate(5deg) translateY(-2px); } }

/* Scene: three-kinds-of-life */
.scn-three-kinds-of-life { 
  background: linear-gradient(180deg, #d9c9b0 0%, #b8a88a 50%, #9a886a 100%), radial-gradient(ellipse at 50% 30%, #ede0d0 0%, transparent 70%);
}
.scn-three-kinds-of-life .bg { 
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, #c8b89a 0%, #a89878 100%); 
  animation: tkl-bg 30s ease-in-out infinite alternate;
}
.scn-three-kinds-of-life .arch { 
  position: absolute; top: 10%; width: 20%; height: 70%; 
  border-radius: 50% 50% 0 0; 
  background: linear-gradient(180deg, #d4c4a8 0%, #b8a88a 100%); 
  box-shadow: inset 0 -20px 30px rgba(0,0,0,0.15);
}
.scn-three-kinds-of-life .arch-left { left: 10%; animation: tkl-arch-l 20s ease-in-out infinite; }
.scn-three-kinds-of-life .arch-center { left: 40%; animation: tkl-arch-c 25s ease-in-out infinite; }
.scn-three-kinds-of-life .arch-right { right: 10%; animation: tkl-arch-r 20s ease-in-out infinite reverse; }
.scn-three-kinds-of-life .panel { 
  position: absolute; top: 25%; width: 16%; height: 50%; 
  background: linear-gradient(180deg, #e8dcc8 0%, #cdb898 100%); 
  border-radius: 4px; 
  box-shadow: inset 0 4px 10px rgba(0,0,0,0.1);
}
.scn-three-kinds-of-life .panel-left { left: 12%; animation: tkl-panel-l 15s ease-in-out infinite; }
.scn-three-kinds-of-life .panel-center { left: 42%; animation: tkl-panel-c 18s ease-in-out infinite; }
.scn-three-kinds-of-life .panel-right { right: 12%; animation: tkl-panel-r 15s ease-in-out infinite alternate; }
.scn-three-kinds-of-life .statue { 
  position: absolute; bottom: 20%; width: 10%; height: 30%; 
  background: linear-gradient(180deg, #a89878 0%, #7a6a5a 100%); 
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
}
.scn-three-kinds-of-life .statue-left { left: 17%; animation: tkl-statue-l 12s ease-in-out infinite; }
.scn-three-kinds-of-life .statue-center { left: 47%; animation: tkl-statue-c 14s ease-in-out infinite; }
.scn-three-kinds-of-life .statue-right { right: 17%; animation: tkl-statue-r 12s ease-in-out infinite alternate; }
@keyframes tkl-bg { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes tkl-arch-l { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes tkl-arch-c { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-2px) scale(1.02); } 100% { transform: translateY(0) scale(1); } }
@keyframes tkl-arch-r { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes tkl-panel-l { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.95; } }
@keyframes tkl-panel-c { 0%,100% { transform: scale(1); } 50% { transform: scale(1.03); } }
@keyframes tkl-panel-r { 0% { opacity: 0.95; } 100% { opacity: 0.85; } }
@keyframes tkl-statue-l { 0%,100% { transform: rotate(0deg); } 50% { transform: rotate(1deg); } }
@keyframes tkl-statue-c { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes tkl-statue-r { 0% { transform: rotate(0deg); } 50% { transform: rotate(-1deg); } 100% { transform: rotate(0deg); } }

/* Scene: examples-of-combined-life */
.scn-examples-of-combined-life { 
  background: linear-gradient(180deg, #e0d0b8 0%, #c8b898 40%, #a89070 100%), radial-gradient(ellipse at 50% 50%, #f0e4d0 0%, transparent 60%);
}
.scn-examples-of-combined-life .wall { 
  position: absolute; inset: 0 0 40% 0; 
  background: linear-gradient(180deg, #d4c4a8 0%, #b8a888 100%); 
  border-bottom: 3px solid #9a886a; 
  animation: ecl-wall 25s ease-in-out infinite alternate;
}
.scn-examples-of-combined-life .table { 
  position: absolute; bottom: 20%; left: 10%; width: 80%; height: 25%; 
  background: linear-gradient(180deg, #c8a878 0%, #a88858 100%); 
  border-radius: 8px 8px 20px 20px; 
  box-shadow: 0 10px 30px rgba(0,0,0,0.3); 
  animation: ecl-table 15s ease-in-out infinite;
}
.scn-examples-of-combined-life .cup { 
  position: absolute; bottom: 30%; width: 8%; height: 12%; 
  background: linear-gradient(180deg, #d0b090 0%, #b89870 100%); 
  border-radius: 30% 30% 10% 10%; 
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}
.scn-examples-of-combined-life .cup-1 { left: 20%; animation: ecl-cup1 10s ease-in-out infinite; }
.scn-examples-of-combined-life .cup-2 { left: 38%; animation: ecl-cup2 12s ease-in-out infinite reverse; }
.scn-examples-of-combined-life .cup-3 { left: 56%; animation: ecl-cup3 11s ease-in-out infinite; }
.scn-examples-of-combined-life .cup-4 { left: 74%; animation: ecl-cup4 13s ease-in-out infinite alternate; }
.scn-examples-of-combined-life .hand { 
  position: absolute; bottom: 30%; left: 48%; width: 6%; height: 10%; 
  background: linear-gradient(180deg, #c8a888 0%, #a88868 100%); 
  border-radius: 40% 40% 20% 20%; 
  transform-origin: bottom center; 
  animation: ecl-hand 8s ease-in-out infinite;
}
.scn-examples-of-combined-life .wreath { 
  position: absolute; bottom: 48%; left: 35%; width: 30%; height: 8%; 
  background: radial-gradient(ellipse at 50% 50%, #8a7a5a 0%, #6a5a3a 100%); 
  border-radius: 50%; 
  box-shadow: 0 0 20px rgba(138,122,90,0.4); 
  animation: ecl-wreath 20s ease-in-out infinite;
}
@keyframes ecl-wall { 0% { opacity: 0.85; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes ecl-table { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes ecl-cup1 { 0% { transform: rotate(0deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(0deg); } }
@keyframes ecl-cup2 { 0% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(-2deg) translateY(-1px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes ecl-cup3 { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes ecl-cup4 { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ecl-hand { 0%,100% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } }
@keyframes ecl-wreath { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.05) rotate(2deg); } 100% { transform: scale(1) rotate(0deg); } }

/* Scene: exercise-gymnasium */
.scn-exercise-gymnasium { 
  background: linear-gradient(180deg, #c8d8e0 0%, #a8b8c8 40%, #8898a8 100%), radial-gradient(ellipse at 50% 80%, #d0e0e8 0%, transparent 60%);
}
.scn-exercise-gymnasium .sky { 
  position: absolute; inset: 0 0 30% 0; 
  background: linear-gradient(180deg, #d8e8f0 0%, #b8c8d8 100%); 
  animation: eg-sky 30s ease-in-out infinite alternate;
}
.scn-exercise-gymnasium .columns { 
  position: absolute; bottom: 20%; width: 6%; height: 60%; 
  background: linear-gradient(180deg, #e0d8d0 0%, #c4b8b0 100%); 
  border-radius: 4px; 
  box-shadow: 0 0 20px rgba(0,0,0,0.1);
}
.scn-exercise-gymnasium .column-1 { left: 15%; animation: eg-col1 25s ease-in-out infinite; }
.scn-exercise-gymnasium .column-2 { left: 47%; animation: eg-col2 22s ease-in-out infinite reverse; }
.scn-exercise-gymnasium .column-3 { right: 15%; animation: eg-col3 28s ease-in-out infinite; }
.scn-exercise-gymnasium .ground { 
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%; 
  background: linear-gradient(180deg, #b0a890 0%, #908070 100%); 
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.2);
}
.scn-exercise-gymnasium .figure { 
  position: absolute; bottom: 10%; left: 40%; width: 20%; height: 35%; 
  background: linear-gradient(180deg, #c8b098 0%, #a08870 100%); 
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; 
  transform-origin: bottom center; 
  animation: eg-figure 8s ease-in-out infinite;
}
.scn-exercise-gymnasium .discus { 
  position: absolute; bottom: 25%; left: 55%; width: 10%; height: 6%; 
  background: radial-gradient(circle at 50% 50%, #d0c0b0 0%, #b0a090 100%); 
  border-radius: 50%; 
  box-shadow: 0 4px 10px rgba(0,0,0,0.3); 
  animation: eg-discus 6s ease-in-out infinite;
}
.scn-exercise-gymnasium .shadow { 
  position: absolute; bottom: 8%; left: 38%; width: 24%; height: 4%; 
  background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.3) 0%, transparent 100%); 
  animation: eg-shadow 8s ease-in-out infinite;
}
@keyframes eg-sky { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes eg-col1 { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes eg-col2 { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-2px) scale(1.01); } 100% { transform: translateY(0) scale(1); } }
@keyframes eg-col3 { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@keyframes eg-figure { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(5%) rotate(3deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(-5%) rotate(-3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes eg-discus { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-10px) rotate(180deg); } 100% { transform: translateY(0) rotate(360deg); } }
@keyframes eg-shadow { 0%,100% { transform: scaleX(1); opacity: 0.5; } 50% { transform: scaleX(1.2); opacity: 0.7; } }

/* suetonius-nero-21 */
.scn-suetonius-nero-21 { background: linear-gradient(180deg, #1e1410 0%, #2a1b15 40%, #1f1310 100%), radial-gradient(ellipse at 50% 60%, #3d2a1e 0%, transparent 70%); }
.scn-suetonius-nero-21 .wall        { position:absolute; inset:0; background: linear-gradient(135deg, #2a1f1a 0%, #1c1512 100%); }
.scn-suetonius-nero-21 .window      { position:absolute; top:12%; left:10%; width:80px; height:120px; background: linear-gradient(180deg, #0d1f2e 0%, #1c3044 100%); border-radius:4px; box-shadow: inset 0 0 0 3px #1c1512; }
.scn-suetonius-nero-21 .shelf-books { position:absolute; top:8%; right:8%; width:100px; height:140px; background: linear-gradient(180deg, #3a2a1e 0%, #241b14 100%); border-radius:2px; box-shadow: inset 0 0 0 2px #1f1510, 0 4px 8px rgba(0,0,0,.4); }
.scn-suetonius-nero-21 .lamp-glow  { position:absolute; bottom:30%; left:50%; width:40%; height:30%; transform:translate(-50%,0); background: radial-gradient(ellipse at 50% 30%, #e8b068 0%, transparent 70%); opacity:.6; mix-blend-mode:screen; animation: suN21-glow 6s ease-in-out infinite alternate; }
.scn-suetonius-nero-21 .lamp-body  { position:absolute; bottom:34%; left:50%; width:20px; height:40px; transform:translateX(-50%); background: linear-gradient(180deg, #8a6a3a 0%, #523a1a 100%); border-radius:50% 50% 20% 20%; box-shadow: 0 0 20px #c08040; }
.scn-suetonius-nero-21 .figure-seated { position:absolute; bottom:21%; left:45%; width:50px; height:80px; background: linear-gradient(135deg, #241f18 0%, #150e0a 100%); border-radius:50% 50% 30% 30% / 40% 40% 30% 30%; transform-origin: bottom; animation: suN21-read 4s ease-in-out infinite; }
.scn-suetonius-nero-21 .desk       { position:absolute; bottom:14%; left:30%; width:180px; height:20px; background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%); border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-suetonius-nero-21 .scroll     { position:absolute; bottom:18%; left:40%; width:60px; height:10px; background: linear-gradient(90deg, #c8a870 0%, #b89860 50%, #a88850 100%); border-radius:50%; animation: suN21-scroll 8s ease-in-out infinite; }
.scn-suetonius-nero-21 .dust       { position:absolute; top:20%; left:20%; width:60px; height:60px; background: radial-gradient(circle, rgba(255,220,160,.15) 0%, transparent 70%); filter:blur(4px); animation: suN21-dust 12s linear infinite; }
@keyframes suN21-glow   { 0%,100% { opacity:.3; transform:translate(-50%,0) scale(1); } 50% { opacity:.7; transform:translate(-50%,-4px) scale(1.05); } }
@keyframes suN21-read   { 0%,100% { transform:rotate(-2deg); } 50% { transform:rotate(2deg); } }
@keyframes suN21-scroll { 0%,100% { transform:rotate(-3deg); } 50% { transform:rotate(4deg) translateY(-1px); } }
@keyframes suN21-dust   { 0% { transform:translate(0,0) scale(1); opacity:.2; } 50% { transform:translate(40px,-20px) scale(1.3); opacity:.5; } 100% { transform:translate(0,0) scale(1); opacity:.2; } }

/* contentedness-mind-xii */
.scn-contentedness-mind-xii { background: linear-gradient(180deg, #1a1412 0%, #2c201c 50%, #1a1410 100%), radial-gradient(ellipse at 40% 70%, #3a2a20 0%, transparent 60%); }
.scn-contentedness-mind-xii .wall          { position:absolute; inset:0; background: linear-gradient(135deg, #221a18 0%, #15100d 100%); }
.scn-contentedness-mind-xii .niche-statue  { position:absolute; top:12%; left:15%; width:60px; height:100px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1f15 100%); border-radius:30% 30% 0 0 / 40% 40% 0 0; box-shadow: 0 8px 16px rgba(0,0,0,.5); }
.scn-contentedness-mind-xii .couch        { position:absolute; bottom:10%; left:20%; width:200px; height:60px; background: linear-gradient(180deg, #3a2a1e 0%, #1a100a 100%); border-radius:40% 40% 20% 20%; box-shadow: inset 0 -4px 8px rgba(0,0,0,.4); }
.scn-contentedness-mind-xii .figure-reclining { position:absolute; bottom:18%; left:25%; width:80px; height:60px; background: linear-gradient(135deg, #2a221c 0%, #180e0a 100%); border-radius:50% 50% 30% 30%; transform-origin:40% 100%; animation: cmX-rest 6s ease-in-out infinite; }
.scn-contentedness-mind-xii .lamp-angle   { position:absolute; bottom:28%; right:18%; width:24px; height:50px; background: linear-gradient(180deg, #7a5a32 0%, #4a3218 100%); border-radius:30% 30% 10% 10%; transform:rotate(15deg); }
.scn-contentedness-mind-xii .lamp-light   { position:absolute; bottom:26%; right:10%; width:40%; height:30%; background: radial-gradient(ellipse at 50% 20%, #e8b868 0%, transparent 60%); mix-blend-mode:screen; opacity:.5; animation: cmX-light 8s ease-in-out infinite alternate; }
.scn-contentedness-mind-xii .book-stand   { position:absolute; bottom:14%; left:55%; width:40px; height:60px; background: linear-gradient(180deg, #4a3a28 0%, #221a10 100%); border-radius:4px 4px 0 0; box-shadow: 0 4px 6px rgba(0,0,0,.3); }
@keyframes cmX-rest { 0%,100% { transform:rotate(-1deg) translateY(0); } 50% { transform:rotate(2deg) translateY(-2px); } }
@keyframes cmX-light { 0% { opacity:.3; } 50% { opacity:.6; } 100% { opacity:.4; } }

/* contentedness-mind-xii-bis */
.scn-contentedness-mind-xii-bis { background: linear-gradient(180deg, #1c1410 0%, #2a1f18 45%, #1a120e 100%), radial-gradient(ellipse at 50% 50%, #3d2a1e 0%, transparent 70%); }
.scn-contentedness-mind-xii-bis .desk-surface { position:absolute; bottom:12%; left:10%; width:80%; height:20px; background: linear-gradient(180deg, #3a2818 0%, #1c120a 100%); border-radius:2px; box-shadow: 0 6px 10px rgba(0,0,0,.5); }
.scn-contentedness-mind-xii-bis .hand-writing { position:absolute; bottom:18%; left:35%; width:40px; height:60px; background: linear-gradient(180deg, #2a201a 0%, #140e0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 30% 30%; transform-origin: 50% 100%; animation: cmXb-hand 4s ease-in-out infinite; }
.scn-contentedness-mind-xii-bis .candle       { position:absolute; bottom:24%; left:50%; width:16px; height:40px; background: linear-gradient(180deg, #d0b080 0%, #b89860 100%); border-radius:4px 4px 2px 2px; }
.scn-contentedness-mind-xii-bis .candle-glow  { position:absolute; bottom:30%; left:50%; width:40px; height:50px; transform:translate(-50%,0); background: radial-gradient(circle, #ffd080 0%, #e8a040 40%, transparent 70%); mix-blend-mode:screen; animation: cmXb-glow 3s ease-in-out infinite alternate; }
.scn-contentedness-mind-xii-bis .inkwell      { position:absolute; bottom:14%; left:30%; width:20px; height:18px; background: radial-gradient(circle at 40% 30%, #4a3a2a 0%, #1a120a 100%); border-radius:40% 40% 20% 20%; }
.scn-contentedness-mind-xii-bis .papers       { position:absolute; bottom:14%; left:55%; width:80px; height:6px; background: linear-gradient(90deg, #c8b090 0%, #b89878 50%, #a88860 100%); border-radius:2px; transform:rotate(-5deg); }
.scn-contentedness-mind-xii-bis .chair-back   { position:absolute; bottom:20%; right:15%; width:40px; height:80px; background: linear-gradient(180deg, #3a281c 0%, #1a100a 100%); border-radius:20% 20% 10% 10%; }
@keyframes cmXb-hand { 0%,100% { transform:rotate(-10deg) translateX(2px); } 50% { transform:rotate(15deg) translateX(-2px); } }
@keyframes cmXb-glow { 0% { opacity:.3; transform:translate(-50%,0) scale(1); } 100% { opacity:.7; transform:translate(-50%,-6px) scale(1.2); } }

/* ptolemy-physcon-torture */
.scn-ptolemy-physcon-torture { background: linear-gradient(180deg, #1a1410 0%, #2a1c14 40%, #110a06 100%), radial-gradient(ellipse at 60% 40%, #3d2a1a 0%, transparent 70%); }
.scn-ptolemy-physcon-torture .wall-stone     { position:absolute; inset:0; background: linear-gradient(135deg, #2a221c 0%, #18120e 100%); }
.scn-ptolemy-physcon-torture .rack-frame     { position:absolute; bottom:20%; left:20%; width:60%; height:60px; border:3px solid #4a3a2a; border-radius:4px; background: #1a120e; box-shadow: inset 0 0 0 2px #3a2a1e; }
.scn-ptolemy-physcon-torture .rack-drum      { position:absolute; bottom:24%; left:50%; width:30px; height:30px; background: radial-gradient(circle at 50% 40%, #6a5a4a 0%, #3a2a1a 100%); border-radius:50%; transform:translateX(-50%); animation: ptPh-drum 6s linear infinite; }
.scn-ptolemy-physcon-torture .chain          { position:absolute; bottom:16%; left:30%; width:4px; height:80px; background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); border-radius:2px; transform:rotate(10deg); animation: ptPh-chain 8s ease-in-out infinite; }
.scn-ptolemy-physcon-torture .figure-examiner { position:absolute; bottom:12%; right:20%; width:40px; height:90px; background: linear-gradient(180deg, #2a221c 0%, #160e0a 100%); border-radius:30% 30% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom; animation: ptPh-examiner 5s ease-in-out infinite; }
.scn-ptolemy-physcon-torture .torch          { position:absolute; bottom:18%; left:10%; width:12px; height:50px; background: linear-gradient(180deg, #5a3a20 0%, #2a1a0a 100%); border-radius:20% 20% 10% 10%; }
.scn-ptolemy-physcon-torture .torch-glow     { position:absolute; bottom:20%; left:10%; width:80px; height:100px; background: radial-gradient(ellipse at 50% 30%, #c08040 0%, #8a5a20 40%, transparent 70%); mix-blend-mode:screen; opacity:.6; animation: ptPh-glow 4s ease-in-out infinite alternate; }
.scn-ptolemy-physcon-torture .shadow-blot    { position:absolute; bottom:0; left:30%; width:50%; height:20%; background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,.6) 0%, transparent 80%); }
@keyframes ptPh-drum     { 0% { transform:translateX(-50%) rotate(0deg); } 100% { transform:translateX(-50%) rotate(360deg); } }
@keyframes ptPh-chain    { 0%,100% { transform:rotate(10deg) translateY(0); } 50% { transform:rotate(-5deg) translateY(-4px); } }
@keyframes ptPh-examiner { 0%,100% { transform:rotate(-3deg); } 50% { transform:rotate(3deg) translateY(-2px); } }
@keyframes ptPh-glow     { 0% { opacity:.3; } 50% { opacity:.7; } 100% { opacity:.4; } }

/* scene: exercise-moderate-study */
.scn-exercise-moderate-study { background: linear-gradient(180deg, #f7ead8 0%, #ddd0b8 100%), radial-gradient(ellipse at 70% 30%, #fff8ec 0%, transparent 60%); }
.scn-exercise-moderate-study .wall { position:absolute; inset:0; background: linear-gradient(180deg, #eee3d0 0%, #d6c8b0 100%); }
.scn-exercise-moderate-study .window { position:absolute; top:8%; left:60%; width:90px; height:110px; background: linear-gradient(180deg, #c0d0e0 0%, #a0b8d0 100%); border: 6px solid #b09878; border-radius:4px; box-shadow: inset 0 0 20px rgba(255,255,200,.3); animation: si1-window 12s ease-in-out infinite alternate; }
.scn-exercise-moderate-study .desk { position:absolute; bottom:18%; left:10%; right:30%; height:30px; background: linear-gradient(180deg, #c49a6c 0%, #a07a50 100%); border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,.2); }
.scn-exercise-moderate-study .books { position:absolute; bottom:28%; left:14%; width:40px; height:50px; background: linear-gradient(180deg, #b08040 0%, #8a6030 100%); border-radius:2px; box-shadow: 4px 0 0 #9a7048, 8px 0 0 #7a5a38; animation: si1-books 8s ease-in-out infinite; }
.scn-exercise-moderate-study .lamp { position:absolute; bottom:38%; left:20%; width:20px; height:40px; background: linear-gradient(180deg, #c0a070 0%, #907050 100%); border-radius:40% 40% 10% 10%; transform-origin: bottom center; animation: si1-lamp 4s ease-in-out infinite alternate; }
.scn-exercise-moderate-study .glow { position:absolute; bottom:35%; left:18%; width:50px; height:50px; background: radial-gradient(circle, #ffe8b0 0%, #f0c880 40%, transparent 70%); border-radius:50%; filter: blur(6px); animation: si1-glow 3s ease-in-out infinite alternate; }
.scn-exercise-moderate-study .figure { position:absolute; bottom:20%; left:28%; 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: si1-figure 6s ease-in-out infinite; }
@keyframes si1-window { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes si1-books { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes si1-lamp { 0% { transform: rotate(-3deg) } 100% { transform: rotate(3deg) } }
@keyframes si1-glow { 0% { opacity:.6; transform: scale(1) } 50% { opacity:1; transform: scale(1.15) } 100% { opacity:.7; transform: scale(1) } }
@keyframes si1-figure { 0% { transform: translateY(0) rotate(0) } 25% { transform: translateY(-1px) rotate(-2deg) } 50% { transform: translateY(0) rotate(0) } 75% { transform: translateY(-2px) rotate(2deg) } 100% { transform: translateY(0) rotate(0) } }

/* scene: war-training-spare-body */
.scn-war-training-spare-body { background: linear-gradient(180deg, #6a7a8a 0%, #4a5a6a 40%, #2a3a4a 100%), radial-gradient(ellipse at 50% 100%, #3a4a5a 0%, transparent 70%); }
.scn-war-training-spare-body .sky { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #7a8a9a 0%, #5a6a7a 100%); animation: si2-sky 8s ease-in-out infinite alternate; }
.scn-war-training-spare-body .ground { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #4a5a3a 0%, #2a3a2a 100%); border-radius: 20% 20% 0 0 / 40% 40% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,.4); }
.scn-war-training-spare-body .warrior { position:absolute; bottom:28%; left:40%; width:30px; height:80px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: si2-warrior 2s ease-in-out infinite; }
.scn-war-training-spare-body .spear { position:absolute; bottom:30%; left:55%; width:4px; height:90px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%); transform-origin: bottom center; border-radius:2px; animation: si2-spear 1.5s ease-in-out infinite; }
.scn-war-training-spare-body .wind-lines { position:absolute; top:20%; left:10%; width:150px; height:2px; background: rgba(200,200,220,.15); border-radius:50%; filter: blur(2px); animation: si2-wind 4s linear infinite; }
.scn-war-training-spare-body .wind-lines::after { content:''; position:absolute; top:30px; left:-20px; width:120px; height:2px; background: rgba(200,200,220,.1); border-radius:50%; animation: si2-wind 5s linear infinite reverse; }
.scn-war-training-spare-body .cloud { position:absolute; top:12%; left:70%; width:80px; height:16px; background: rgba(180,190,200,.3); border-radius:50%; filter: blur(8px); animation: si2-cloud 25s linear infinite; }
@keyframes si2-sky { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.7 } }
@keyframes si2-warrior { 0% { transform: translateY(0) rotate(-5deg) } 25% { transform: translateY(-3px) rotate(0) } 50% { transform: translateY(0) rotate(5deg) } 75% { transform: translateY(-2px) rotate(0) } 100% { transform: translateY(0) rotate(-5deg) } }
@keyframes si2-spear { 0% { transform: rotate(-10deg) } 50% { transform: rotate(10deg) } 100% { transform: rotate(-10deg) } }
@keyframes si2-wind { 0% { transform: translateX(-50px) opacity:0 } 50% { opacity:.3 } 100% { transform: translateX(100vw); opacity:0 } }
@keyframes si2-cloud { 0% { transform: translateX(0) } 100% { transform: translateX(-120vw) } }

/* scene: objection-poor-plebeian */
.scn-objection-poor-plebeian { background: linear-gradient(180deg, #f0e6d8 0%, #d8cec0 100%), radial-gradient(ellipse at 50% 30%, #fff8f0 0%, transparent 60%); }
.scn-objection-poor-plebeian .wall { position:absolute; inset:0; background: linear-gradient(180deg, #f2e8da 0%, #dcd0c2 100%); }
.scn-objection-poor-plebeian .col-left { position:absolute; top:10%; left:8%; width:16px; height:70%; background: linear-gradient(180deg, #c0a888 0%, #a08868 100%); border-radius:8px 8px 0 0; box-shadow: 4px 0 8px rgba(0,0,0,.15); }
.scn-objection-poor-plebeian .col-right { position:absolute; top:10%; right:8%; width:16px; height:70%; background: linear-gradient(180deg, #c0a888 0%, #a08868 100%); border-radius:8px 8px 0 0; box-shadow: -4px 0 8px rgba(0,0,0,.15); }
.scn-objection-poor-plebeian .speaker { position:absolute; bottom:25%; left:40%; width:30px; height:70px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: si3-speaker 5s ease-in-out infinite; }
.scn-objection-poor-plebeian .audience { position:absolute; bottom:22%; left:15%; right:15%; height:40%; background: linear-gradient(180deg, rgba(40,30,20,.6) 0%, rgba(20,15,10,.4) 100%); border-radius:30% 30% 0 0; filter: blur(2px); animation: si3-audience 6s ease-in-out infinite; }
.scn-objection-poor-plebeian .floor { position:absolute; bottom:0; left:0; right:0; height:22%; background: linear-gradient(180deg, #b8a890 0%, #9a8a78 100%); border-radius:10% 10% 0 0; }
@keyframes si3-speaker { 0% { transform: translateY(0) rotate(0) } 30% { transform: translateY(-2px) rotate(2deg) } 60% { transform: translateY(-1px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes si3-audience { 0% { opacity:.6 } 50% { opacity:.8 } 100% { opacity:.6 } }

/* scene: best-education-for-all */
.scn-best-education-for-all { background: linear-gradient(180deg, #faf0e0 0%, #e8dcc8 100%), radial-gradient(circle at 60% 20%, #fffbe8 0%, transparent 50%); }
.scn-best-education-for-all .room { position:absolute; inset:0; background: linear-gradient(180deg, #f5ecd8 0%, #dfd3be 100%); }
.scn-best-education-for-all .window { position:absolute; top:6%; left:70%; width:80px; height:100px; background: linear-gradient(180deg, #c8d8e8 0%, #a8c0d8 100%); border:5px solid #b09a80; border-radius:4px; box-shadow: inset 0 0 15px rgba(255,255,200,.2); animation: si4-window 10s ease-in-out infinite alternate; }
.scn-best-education-for-all .board { position:absolute; top:10%; left:15%; right:50%; height:35%; background: linear-gradient(180deg, #3a4a3a 0%, #2a3a2a 100%); border:4px solid #8a7a60; border-radius:4px; box-shadow: 0 4px 12px rgba(0,0,0,.2); }
.scn-best-education-for-all .desk { position:absolute; bottom:20%; left:5%; right:5%; height:25px; background: linear-gradient(180deg, #c8a880 0%, #a88860 100%); border-radius:4px; box-shadow: 0 2px 6px rgba(0,0,0,.15); }
.scn-best-education-for-all .teacher { position:absolute; bottom:20%; left:20%; width:28px; height:70px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: si4-teacher 4s ease-in-out infinite; }
.scn-best-education-for-all .pupil1 { position:absolute; bottom:20%; left:45%; width:20px; height:50px; background: linear-gradient(180deg, #3a4a5a 0%, #1a2a3a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: si4-pupil 5s ease-in-out infinite; }
.scn-best-education-for-all .pupil2 { position:absolute; bottom:20%; left:70%; width:20px; height:50px; background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: si4-pupil 5s ease-in-out infinite 2s; }
@keyframes si4-window { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes si4-teacher { 0% { transform: translateY(0) rotate(0) } 25% { transform: translateY(-2px) rotate(-3deg) } 50% { transform: translateY(0) rotate(0) } 75% { transform: translateY(-1px) rotate(3deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes si4-pupil { 0% { transform: translateY(0) rotate(0) } 30% { transform: translateY(-1px) rotate(-2deg) } 60% { transform: translateY(0) rotate(2deg) } 100% { transform: translateY(0) rotate(0) } }

.scn-aristippus-victory-sleep { background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 50%, #1a0f05 100%), radial-gradient(ellipse at 30% 60%, #5a3a1a 0%, transparent 70%); }
.scn-aristippus-victory-sleep .room-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(90deg, #4a3a2a 0%, #3a2a1a 50%, #2a1a0a 100%); border-radius: 0 0 30% 30%; animation: as-wall 25s ease-in-out infinite; }
.scn-aristippus-victory-sleep .room-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0f05 100%); box-shadow: inset 0 10px 20px rgba(0,0,0,.6); }
.scn-aristippus-victory-sleep .window-moon { position:absolute; top:8%; left:65%; width:70px; height:90px; background: linear-gradient(180deg, #1a1a3a 0%, #0a0a2a 100%); border-radius: 10% 10% 20% 20% / 5% 5% 10% 10%; box-shadow: inset 0 0 20px rgba(200,200,255,.15); border:2px solid #3a2a2a; }
.scn-aristippus-victory-sleep .lamp-glow { position:absolute; bottom:35%; left:30%; width:20px; height:30px; background: radial-gradient(circle at 50% 50%, #e8c060 0%, #b08030 50%, transparent 70%); border-radius: 50%; box-shadow: 0 0 40px 15px rgba(232,192,96,.6), 0 0 80px 30px rgba(232,192,96,.3); animation: as-lamp 4s ease-in-out infinite alternate; }
.scn-aristippus-victory-sleep .victor-fig { position:absolute; bottom:30%; left:45%; width:30px; height:70px; background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 50%, #1a0f05 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: as-victor 3s ease-in-out infinite; }
.scn-aristippus-victory-sleep .vanquished-fig { position:absolute; bottom:20%; left:15%; width:40px; height:30px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 30% 30% 60% 60%; transform: rotate(15deg); animation: as-sleep 8s ease-in-out infinite; }
.scn-aristippus-victory-sleep .pillow { position:absolute; bottom:20%; left:12%; width:50px; height:18px; background: radial-gradient(ellipse at 50% 50%, #6a5a4a 0%, #3a2a1a 100%); border-radius: 50%; box-shadow: 0 5px 10px rgba(0,0,0,.5); }
.scn-aristippus-victory-sleep .scroll-drop { position:absolute; bottom:36%; left:60%; width:12px; height:16px; background: linear-gradient(180deg, #b89860 0%, #8a7040 100%); border-radius: 20% 20% 40% 40%; transform: rotate(-20deg); animation: as-scroll 5s ease-in-out infinite; }
@keyframes as-wall { 0%,100% { opacity:.9 } 50% { opacity:1 } }
@keyframes as-lamp { 0% { transform: scale(1); opacity:.9 } 50% { transform: scale(1.1); opacity:1 } 100% { transform: scale(.95); opacity:.85 } }
@keyframes as-victor { 0%,100% { transform: translateY(0) scaleY(1) rotate(0deg) } 50% { transform: translateY(-5px) scaleY(1.05) rotate(3deg) } }
@keyframes as-sleep { 0%,100% { transform: rotate(15deg) translateY(0) } 50% { transform: rotate(18deg) translateY(-2px) } }
@keyframes as-scroll { 0%,100% { transform: rotate(-20deg) translateX(0) } 50% { transform: rotate(-25deg) translateX(3px) } }

.scn-homer-first-line-confidence { background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, #0a0a1a 100%), radial-gradient(ellipse at 70% 40%, #1a1a3a 0%, transparent 80%); }
.scn-homer-first-line-confidence .study-wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%); border-radius: 0 0 20% 20%; }
.scn-homer-first-line-confidence .desk { position:absolute; bottom:20%; left:25%; right:25%; height:8%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 5% 5% 10% 10%; box-shadow: 0 6px 12px rgba(0,0,0,.5); }
.scn-homer-first-line-confidence .candle-flame { position:absolute; bottom:30%; left:35%; width:10px; height:18px; background: linear-gradient(180deg, #f0e080 0%, #e0a030 50%, #802000 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; box-shadow: 0 0 20px 6px #e0a030, 0 0 40px 12px rgba(224,160,48,.4); animation: ho-flame 2s ease-in-out infinite; }
.scn-homer-first-line-confidence .homer-fig { position:absolute; bottom:10%; left:40%; width:35px; height:65px; background: linear-gradient(180deg, #3a3a2a 0%, #1a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ho-homer 6s ease-in-out infinite alternate; }
.scn-homer-first-line-confidence .papyrus { position:absolute; bottom:20%; left:30%; width:50px; height:20px; background: linear-gradient(135deg, #d8c8a0 0%, #b8a880 50%, #a09070 100%); border-radius: 10% 10% 5% 5%; transform: rotate(5deg); box-shadow: 0 3px 6px rgba(0,0,0,.3); }
.scn-homer-first-line-confidence .inkwell { position:absolute; bottom:22%; left:42%; width:12px; height:14px; background: radial-gradient(circle, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40%; border:1px solid #4a4a5a; }
.scn-homer-first-line-confidence .quill { position:absolute; bottom:25%; left:45%; width:4px; height:30px; background: linear-gradient(180deg, #d0c0a0 0%, #a09070 100%); border-radius: 20% 20% 5% 5%; transform: rotate(-30deg); animation: ho-quill 3s ease-in-out infinite alternate; }
@keyframes ho-flame { 0%,100% { transform: scaleY(1) scaleX(1); opacity:.9 } 50% { transform: scaleY(1.2) scaleX(.8); opacity:1 } }
@keyframes ho-homer { 0%,100% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(2deg) } }
@keyframes ho-quill { 0% { transform: rotate(-30deg) translateX(0) } 100% { transform: rotate(-20deg) translateX(2px) } }

.scn-actions-utility-vs-show { background: linear-gradient(180deg, #2a1a2a 0%, #1a0a1a 50%, #0a050a 100%), radial-gradient(ellipse at 40% 60%, #3a1a3a 0%, transparent 70%); }
.scn-actions-utility-vs-show .alcove-bg { position:absolute; inset:10% 10% 15% 10%; background: linear-gradient(135deg, #3a2a3a 0%, #2a1a2a 100%); border-radius: 30% 20% 40% 20% / 20% 30% 30% 20%; box-shadow: inset 0 0 40px rgba(0,0,0,.7); }
.scn-actions-utility-vs-show .curtains { position:absolute; top:0; left:5%; right:5%; height:20%; background: linear-gradient(180deg, #5a3a4a 0%, #3a1a2a 100%); border-radius: 0 0 40% 40% / 0 0 60% 60%; box-shadow: 0 10px 20px rgba(0,0,0,.5); animation: ac-curtain 12s ease-in-out infinite alternate; }
.scn-actions-utility-vs-show .divan { position:absolute; bottom:15%; left:20%; right:20%; height:10%; background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 8px 16px rgba(0,0,0,.6); }
.scn-actions-utility-vs-show .lamp-dim { position:absolute; bottom:35%; left:45%; width:16px; height:20px; background: radial-gradient(circle, #d0a070 0%, #804030 50%, transparent 70%); border-radius: 50%; box-shadow: 0 0 30px 10px rgba(208,160,112,.5), 0 0 60px 20px rgba(208,160,112,.2); animation: ac-lamp 6s ease-in-out infinite; }
.scn-actions-utility-vs-show .lover-a { position:absolute; bottom:12%; left:42%; width:30px; height:50px; background: linear-gradient(180deg, #3a2a3a 0%, #1a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ac-lover-a 5s ease-in-out infinite; }
.scn-actions-utility-vs-show .lover-b { position:absolute; bottom:12%; left:35%; width:28px; height:48px; background: linear-gradient(180deg, #4a3a4a 0%, #2a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ac-lover-b 5s ease-in-out infinite reverse; }
.scn-actions-utility-vs-show .embrace-shadow { position:absolute; bottom:12%; left:36%; width:36px; height:30px; background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.4) 0%, transparent 70%); border-radius: 50%; filter: blur(6px); animation: ac-shadow 5s ease-in-out infinite; }
@keyframes ac-curtain { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.03) } }
@keyframes ac-lamp { 0%,100% { opacity:.8 } 50% { opacity:1 } }
@keyframes ac-lover-a { 0%,100% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(-2px) rotate(-3deg) } }
@keyframes ac-lover-b { 0%,100% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(2px) rotate(3deg) } }
@keyframes ac-shadow { 0%,100% { opacity:.6 } 50% { opacity:.8 } }

.scn-silent-good-deed-progress { background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 50%, #1a0f05 100%), radial-gradient(ellipse at 50% 30%, #5a3a20 0%, transparent 70%); }
.scn-silent-good-deed-progress .pillar-bg { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 0 0 10% 10%; }
.scn-silent-good-deed-progress .floor-stone { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #1a0f05 0%, #0a0502 100%); box-shadow: inset 0 10px 30px rgba(0,0,0,.7); }
.scn-silent-good-deed-progress .lightbeam { position:absolute; top:0; left:40%; right:40%; bottom:40%; background: linear-gradient(180deg, rgba(255,200,100,.12) 0%, transparent 100%); clip-path: polygon(30% 0%, 70% 0%, 80% 100%, 20% 100%); animation: sd-beam 8s ease-in-out infinite alternate; }
.scn-silent-good-deed-progress .giver-hand { position:absolute; bottom:30%; left:45%; width:18px; height:30px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(20deg); animation: sd-hand 4s ease-in-out infinite; }
.scn-silent-good-deed-progress .receiver-hand { position:absolute; bottom:25%; left:35%; width:16px; height:28px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-10deg); animation: sd-hand 4s ease-in-out infinite reverse; }
.scn-silent-good-deed-progress .coin { position:absolute; bottom:32%; left:43%; width:8px; height:8px; background: radial-gradient(circle, #d0a050 0%, #b08030 50%, #806020 100%); border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,.5); animation: sd-coin 4s ease-in-out infinite; }
.scn-silent-good-deed-progress .basket { position:absolute; bottom:22%; left:60%; width:30px; height:18px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 30% 30% 40% 40% / 50% 50% 30% 30%; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-silent-good-deed-progress .shadow-figure { position:absolute; bottom:20%; left:5%; width:80px; height:100px; background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.3) 0%, transparent 70%); filter: blur(8px); animation: sd-shadow 10s ease-in-out infinite; }
@keyframes sd-beam { 0%,100% { opacity:.3 } 50% { opacity:.6 } }
@keyframes sd-hand { 0%,100% { transform: rotate(20deg) translateY(0) } 50% { transform: rotate(25deg) translateY(-3px) } }
@keyframes sd-coin { 0%,100% { transform: translateY(0) scale(1) } 50% { transform: translateY(-3px) scale(1.05) } }
@keyframes sd-shadow { 0%,100% { opacity:.5 } 50% { opacity:.7 } }

.scn-imitate-great-examples {
  background: linear-gradient(180deg, #f2dbb0 0%, #dbb080 40%, #b8945a 100%), radial-gradient(ellipse at 50% 20%, #ffeca0 0%, transparent 60%);
}
.scn-imitate-great-examples .wall {
  position:absolute; inset:0 0 20% 0; background: linear-gradient(90deg, #dbb080 0%, #c8a060 40%, #c89550 100%); border-radius:0 0 20% 20%; box-shadow: inset 0 4px 10px rgba(0,0,0,.15);
}
.scn-imitate-great-examples .window {
  position:absolute; top:8%; left:50%; width:120px; height:160px; transform:translateX(-50%); background: linear-gradient(135deg, #fff8e0 0%, #ffe080 50%, #f5c060 100%); border-radius:4px 4px 2px 2px; box-shadow: 0 0 30px 10px #ffe8a0, 0 0 70px 20px rgba(255,232,160,.5); animation: igx-win 8s ease-in-out infinite alternate;
}
.scn-imitate-great-examples .desk {
  position:absolute; bottom:22%; left:30%; width:180px; height:30px; background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%); border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,.4), inset 0 2px 4px rgba(255,255,200,.1);
}
.scn-imitate-great-examples .book {
  position:absolute; bottom:32%; left:35%; width:60px; height:45px; background: linear-gradient(135deg, #b08040 0%, #804020 70%); border-radius:2px; transform: rotate(-5deg); box-shadow: 2px 4px 6px rgba(0,0,0,.5); animation: igx-book 12s ease-in-out infinite alternate;
}
.scn-imitate-great-examples .figure {
  position:absolute; bottom:28%; left:30%; width:40px; height:80px; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: igx-figure 9s ease-in-out infinite;
}
.scn-imitate-great-examples .lamp {
  position:absolute; bottom:48%; left:56%; width:14px; height:40px; background: linear-gradient(180deg, #b08050 0%, #805030 100%); border-radius:4px 4px 0 0; transform: rotate(8deg); box-shadow: 4px 0 8px rgba(0,0,0,.3);
}
.scn-imitate-great-examples .glow {
  position:absolute; bottom:42%; left:55%; width:60px; height:60px; background: radial-gradient(circle, rgba(255,200,80,.6) 0%, transparent 70%); border-radius:50%; mix-blend-mode: screen; animation: igx-glow 5s ease-in-out infinite alternate;
}
@keyframes igx-win { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes igx-book { 0% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(-3deg) translateY(-2px) } 100% { transform: rotate(-4deg) translateY(0) } }
@keyframes igx-figure { 0%,100% { transform: translateX(0) rotate(0) } 25% { transform: translateX(2px) rotate(3deg) } 50% { transform: translateX(0) rotate(0) } 75% { transform: translateX(-2px) rotate(-3deg) } }
@keyframes igx-glow { 0% { transform: scale(1); opacity:.5 } 50% { transform: scale(1.2); opacity:.8 } 100% { transform: scale(1); opacity:.6 } }

.scn-govern-tongue-silence {
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 60%, #2e2e4e 100%), radial-gradient(ellipse at 50% 100%, #3e3e5e 0%, transparent 70%);
}
.scn-govern-tongue-silence .bg-deep {
  position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1a 100%); border-radius:0 0 40% 40%; box-shadow: inset 0 8px 20px rgba(0,0,0,.6);
}
.scn-govern-tongue-silence .floor {
  position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%); box-shadow: inset 0 8px 20px rgba(0,0,0,.5);
}
.scn-govern-tongue-silence .arch {
  position:absolute; top:10%; left:50%; width:160px; height:200px; transform:translateX(-50%); background: linear-gradient(180deg, #3a3a5e 0%, #2a2a4e 70%); border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%; box-shadow: inset 0 0 40px rgba(0,0,0,.4);
}
.scn-govern-tongue-silence .figure {
  position:absolute; bottom:28%; left:50%; width:50px; height:90px; transform:translateX(-50%); background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: gts-figure 14s ease-in-out infinite alternate;
}
.scn-govern-tongue-silence .hand {
  position:absolute; bottom:52%; left:44%; width:14px; height:24px; background: #2a2a3a; border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%; transform: rotate(20deg); box-shadow: 2px 2px 4px rgba(0,0,0,.5); animation: gts-hand 8s ease-in-out infinite alternate;
}
.scn-govern-tongue-silence .candle {
  position:absolute; bottom:18%; left:42%; width:8px; height:30px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%); border-radius:2px; box-shadow: 0 4px 8px rgba(0,0,0,.3);
}
.scn-govern-tongue-silence .shadow {
  position:absolute; bottom:8%; left:38%; width:60px; height:40px; background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 70%); animation: gts-shadow 10s ease-in-out infinite alternate;
}
@keyframes gts-figure { 0% { transform: translateX(-50%) translateY(0) } 50% { transform: translateX(-50%) translateY(-4px) } 100% { transform: translateX(-50%) translateY(0) } }
@keyframes gts-hand { 0% { transform: rotate(20deg) translateX(0) } 50% { transform: rotate(15deg) translateX(-2px) } 100% { transform: rotate(22deg) translateX(0) } }
@keyframes gts-shadow { 0% { opacity:.3; transform: scale(1) } 50% { opacity:.5; transform: scale(1.1) } 100% { opacity:.3; transform: scale(1) } }

.scn-no-repent-silence {
  background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 60%, #1e1e2e 100%), radial-gradient(ellipse at 50% 30%, #2a2a3a 0%, transparent 60%);
}
.scn-no-repent-silence .bg-dark {
  position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #0e0e1a 0%, #1a1a2a 100%); border-radius:0 0 30% 30%; box-shadow: inset 0 10px 30px rgba(0,0,0,.7);
}
.scn-no-repent-silence .spotlight {
  position:absolute; top:0; left:35%; width:120px; height:100%; background: linear-gradient(180deg, rgba(120,120,140,.15) 0%, transparent 100%); clip-path: polygon(0% 0%, 100% 0%, 60% 100%, 40% 100%); animation: nrs-spot 6s ease-in-out infinite alternate;
}
.scn-no-repent-silence .figure {
  position:absolute; bottom:24%; left:38%; width:50px; height:85px; background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: nrs-figure 4s ease-in-out infinite;
}
.scn-no-repent-silence .hand-mouth {
  position:absolute; bottom:46%; left:42%; width:16px; height:20px; background: #1a1a2e; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-10deg); box-shadow: 2px 2px 6px rgba(0,0,0,.6); animation: nrs-hand 5s ease-in-out infinite;
}
.scn-no-repent-silence .chain {
  position:absolute; bottom:18%; left:34%; width:4px; height:70px; background: repeating-linear-gradient(0deg, #5a5a6a 0px, #5a5a6a 4px, transparent 4px, transparent 8px); animation: nrs-chain 10s ease-in-out infinite;
}
.scn-no-repent-silence .clock {
  position:absolute; top:10%; right:12%; width:40px; height:40px; background: radial-gradient(circle, #4a4a5a 0%, #2a2a3a 70%); border-radius:50%; box-shadow: inset 0 0 10px rgba(0,0,0,.5), 0 0 10px rgba(0,0,0,.3); animation: nrs-clock 12s linear infinite;
}
.scn-no-repent-silence .pulse {
  position:absolute; top:50%; left:50%; width:100px; height:100px; transform:translate(-50%,-50%); background: radial-gradient(circle, rgba(180,60,60,.15) 0%, transparent 70%); border-radius:50%; animation: nrs-pulse 3s ease-in-out infinite;
}
@keyframes nrs-spot { 0% { opacity:.4 } 50% { opacity:.7 } 100% { opacity:.5 } }
@keyframes nrs-figure { 0%,100% { transform: translateX(0) translateY(0) } 25% { transform: translateX(-3px) translateY(-1px) } 50% { transform: translateX(0) translateY(0) } 75% { transform: translateX(3px) translateY(1px) } }
@keyframes nrs-hand { 0% { transform: rotate(-10deg) } 50% { transform: rotate(-20deg) } 100% { transform: rotate(-8deg) } }
@keyframes nrs-chain { 0% { transform: translateY(0) } 50% { transform: translateY(3px) } 100% { transform: translateY(0) } }
@keyframes nrs-clock { 0% { transform: rotate(0) } 100% { transform: rotate(360deg) } }
@keyframes nrs-pulse { 0% { transform: translate(-50%,-50%) scale(1); opacity:.3 } 50% { transform: translate(-50%,-50%) scale(1.3); opacity:.6 } 100% { transform: translate(-50%,-50%) scale(1); opacity:.3 } }

.scn-sotaides-ptolemy-marriage {
  background: linear-gradient(180deg, #0a0a14 0%, #141420 60%, #0e0e1a 100%), radial-gradient(ellipse at 50% 40%, #1a1a28 0%, transparent 70%);
}
.scn-sotaides-ptolemy-marriage .cell-wall {
  position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #1a1a28 0%, #0e0e1a 100%); box-shadow: inset 0 10px 30px rgba(0,0,0,.8);
}
.scn-sotaides-ptolemy-marriage .floor {
  position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #141420 0%, #0a0a14 100%); box-shadow: inset 0 8px 20px rgba(0,0,0,.7);
}
.scn-sotaides-ptolemy-marriage .bars {
  position:absolute; top:5%; left:50%; width:100px; height:90%; transform:translateX(-50%); background: repeating-linear-gradient(0deg, #3a3a4e 0px, #3a3a4e 4px, transparent 4px, transparent 18px); box-shadow: 0 0 20px rgba(0,0,0,.5); animation: spm-bars 15s ease-in-out infinite alternate;
}
.scn-sotaides-ptolemy-marriage .figure {
  position:absolute; bottom:18%; left:50%; width:40px; height:80px; transform:translateX(-50%); background: linear-gradient(180deg, #1a1a28 0%, #0a0a14 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: spm-figure 6s ease-in-out infinite;
}
.scn-sotaides-ptolemy-marriage .torch {
  position:absolute; bottom:8%; left:20%; width:10px; height:50px; background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%); border-radius:2px; box-shadow: 0 0 20px 2px #c06040, 0 0 40px 4px rgba(192,96,64,.3); animation: spm-torch 4s ease-in-out infinite alternate;
}
.scn-sotaides-ptolemy-marriage .shadow-bars {
  position:absolute; top:5%; left:50%; width:100px; height:90%; transform:translateX(-50%); background: repeating-linear-gradient(0deg, rgba(0,0,0,.4) 0px, rgba(0,0,0,.4) 4px, transparent 4px, transparent 18px); animation: spm-shadow-bars 15s ease-in-out infinite alternate;
}
.scn-sotaides-ptolemy-marriage .shadow-figure {
  position:absolute; bottom:8%; left:46%; width:60px; height:30px; background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 70%); animation: spm-shadow-fig 6s ease-in-out infinite;
}
@keyframes spm-bars { 0% { opacity:.6 } 50% { opacity:.8 } 100% { opacity:.7 } }
@keyframes spm-figure { 0%,100% { transform: translateX(-50%) translateY(0) } 25% { transform: translateX(-50%) translateY(-2px) } 50% { transform: translateX(-50%) translateY(0) } 75% { transform: translateX(-50%) translateY(2px) } }
@keyframes spm-torch { 0% { box-shadow: 0 0 10px 2px #c06040, 0 0 20px 4px rgba(192,96,64,.3); } 50% { box-shadow: 0 0 25px 5px #d07050, 0 0 50px 10px rgba(208,112,80,.4); } 100% { box-shadow: 0 0 12px 3px #c06040, 0 0 24px 5px rgba(192,96,64,.3); } }
@keyframes spm-shadow-bars { 0% { opacity:.3 } 50% { opacity:.5 } 100% { opacity:.4 } }
@keyframes spm-shadow-fig { 0% { transform: scale(1); opacity:.4 } 50% { transform: scale(1.1); opacity:.6 } 100% { transform: scale(1); opacity:.4 } }

.scn-quintilian-x-1-78 { background: linear-gradient(180deg, #3a2a1a 0%, #4a3a2a 40%, #2a1a0a 100%), radial-gradient(ellipse at 50% 30%, #4a3a2a 0%, transparent 70%); }
.scn-quintilian-x-1-78 .wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); animation: q78-wall 12s ease-in-out infinite alternate; }
.scn-quintilian-x-1-78 .desk { position:absolute; bottom:18%; left:15%; right:15%; height:20%; background: linear-gradient(180deg, #6a4a2a 0%, #4a3a1a 100%); border-radius: 4% 4% 0 0; box-shadow: 0 8px 16px rgba(0,0,0,.6); animation: q78-desk 8s ease-in-out infinite; }
.scn-quintilian-x-1-78 .candle { position:absolute; bottom:38%; left:35%; width:8px; height:32px; background: linear-gradient(180deg, #d0b080 0%, #a08050 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 20px 6px #c08040; animation: q78-candle 4s ease-in-out infinite alternate; }
.scn-quintilian-x-1-78 .book { position:absolute; bottom:24%; left:45%; width:60px; height:40px; background: linear-gradient(180deg, #8a6a4a 0%, #5a3a1a 100%); border-radius: 6% 6% 10% 10%; transform: rotate(-3deg); box-shadow: 2px 4px 8px rgba(0,0,0,.5); animation: q78-book 10s ease-in-out infinite; }
.scn-quintilian-x-1-78 .fountain { position:absolute; bottom:24%; left:20%; width:40px; height:50px; background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%); border-radius: 60% 60% 30% 30% / 80% 80% 20% 20%; box-shadow: inset 0 6px 12px rgba(0,0,0,.4); animation: q78-fountain 14s ease-in-out infinite; }
.scn-quintilian-x-1-78 .pool { position:absolute; bottom:18%; left:20%; width:60px; height:10px; background: radial-gradient(ellipse, #6a5a4a 0%, transparent 70%); border-radius: 50%; animation: q78-pool 6s ease-in-out infinite alternate; }
@keyframes q78-wall { 0% { opacity: .85 } 50% { opacity: .95 } 100% { opacity: .8 } }
@keyframes q78-desk { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes q78-candle { 0% { box-shadow: 0 0 14px 4px #c08040; opacity: .9 } 50% { box-shadow: 0 0 28px 8px #f0c060; opacity: 1 } 100% { box-shadow: 0 0 18px 4px #b07030; opacity: .85 } }
@keyframes q78-book { 0% { transform: rotate(-3deg) translateY(0) } 50% { transform: rotate(1deg) translateY(-1px) } 100% { transform: rotate(-3deg) translateY(0) } }
@keyframes q78-fountain { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(1) } }
@keyframes q78-pool { 0% { width: 60px; opacity: .7 } 50% { width: 64px; opacity: .9 } 100% { width: 58px; opacity: .6 } }

.scn-iliad-xiv-214 { background: linear-gradient(180deg, #2a2a1a 0%, #3a3a2a 40%, #1a1a0a 100%), radial-gradient(ellipse at 50% 40%, #3a3a2a 0%, transparent 60%); }
.scn-iliad-xiv-214 .backdrop { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); animation: i14-backdrop 15s ease-in-out infinite alternate; }
.scn-iliad-xiv-214 .table { position:absolute; bottom:15%; left:20%; right:20%; height:18%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 10% 10% 0 0; box-shadow: 0 8px 12px rgba(0,0,0,.6); animation: i14-table 9s ease-in-out infinite; }
.scn-iliad-xiv-214 .hand { position:absolute; bottom:30%; left:45%; width:40px; height:50px; background: linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%); border-radius: 60% 60% 40% 40% / 70% 70% 30% 30%; transform-origin: bottom center; box-shadow: 2px 4px 8px rgba(0,0,0,.4); animation: i14-hand 5s ease-in-out infinite; }
.scn-iliad-xiv-214 .bird { position:absolute; bottom:34%; left:47%; width:16px; height:14px; background: radial-gradient(circle, #6a5a3a 0%, #4a3a1a 100%); border-radius: 50% 50% 30% 30%; box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: i14-bird 3s ease-in-out infinite; }
.scn-iliad-xiv-214 .candle { position:absolute; bottom:38%; left:30%; width:8px; height:28px; background: linear-gradient(180deg, #e0c080 0%, #b08040 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 24px 8px #c08040; animation: i14-candle 4s ease-in-out infinite alternate; }
.scn-iliad-xiv-214 .shadow { position:absolute; bottom:15%; left:38%; width:80px; height:12px; background: radial-gradient(ellipse, rgba(0,0,0,.3) 0%, transparent 70%); border-radius: 50%; animation: i14-shadow 7s ease-in-out infinite; }
@keyframes i14-backdrop { 0% { opacity: .8 } 50% { opacity: .95 } 100% { opacity: .75 } }
@keyframes i14-table { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes i14-hand { 0% { transform: rotate(-2deg) translateY(0) } 50% { transform: rotate(2deg) translateY(-2px) scaleX(.98) } 100% { transform: rotate(-2deg) translateY(0) } }
@keyframes i14-bird { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-2px) scale(1.05) } 100% { transform: translateY(0) scale(1) } }
@keyframes i14-candle { 0% { box-shadow: 0 0 18px 4px #b08040; opacity: .9 } 50% { box-shadow: 0 0 32px 10px #f0c060; opacity: 1 } 100% { box-shadow: 0 0 22px 5px #a07030; opacity: .85 } }
@keyframes i14-shadow { 0% { width: 80px; opacity: .5 } 50% { width: 84px; opacity: .7 } 100% { width: 78px; opacity: .4 } }

.scn-homer-odyssey-xix-494 { background: linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 40%, #1a0a00 100%), radial-gradient(ellipse at 50% 30%, #3a2a1a 0%, transparent 70%); }
.scn-homer-odyssey-xix-494 .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); animation: od19-floor 12s ease-in-out infinite alternate; }
.scn-homer-odyssey-xix-494 .basin { position:absolute; bottom:25%; left:30%; width:50px; height:40px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%; box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: od19-basin 8s ease-in-out infinite; }
.scn-homer-odyssey-xix-494 .foot { position:absolute; bottom:28%; left:32%; width:18px; height:14px; background: linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%; transform: rotate(15deg); animation: od19-foot 6s ease-in-out infinite; }
.scn-homer-odyssey-xix-494 .nurse { position:absolute; bottom:22%; left:50%; width:30px; height:60px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 2px 4px 8px rgba(0,0,0,.4); animation: od19-nurse 10s ease-in-out infinite; }
.scn-homer-odyssey-xix-494 .lamp { position:absolute; bottom:40%; left:60%; width:10px; height:20px; background: linear-gradient(180deg, #e0c080 0%, #b08040 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 30px 8px #c08040; animation: od19-lamp 4s ease-in-out infinite alternate; }
.scn-homer-odyssey-xix-494 .chair { position:absolute; bottom:8%; left:55%; width:40px; height:50px; background: linear-gradient(180deg, #5a3a1a 0%, #3a2a0a 100%); border-radius: 10% 10% 30% 30% / 20% 20% 40% 40%; box-shadow: 0 6px 12px rgba(0,0,0,.6); animation: od19-chair 14s ease-in-out infinite; }
@keyframes od19-floor { 0% { opacity: .8 } 50% { opacity: .95 } 100% { opacity: .75 } }
@keyframes od19-basin { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-3px) rotate(-2deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes od19-foot { 0% { transform: rotate(15deg) translateY(0) } 50% { transform: rotate(12deg) translateY(-1px) } 100% { transform: rotate(15deg) translateY(0) } }
@keyframes od19-nurse { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes od19-lamp { 0% { box-shadow: 0 0 20px 4px #b08040; opacity: .9 } 50% { box-shadow: 0 0 36px 12px #f0c060; opacity: 1 } 100% { box-shadow: 0 0 24px 6px #a07030; opacity: .85 } }
@keyframes od19-chair { 0% { transform: scaleY(1) translateY(0) } 50% { transform: scaleY(1.02) translateY(-2px) } 100% { transform: scaleY(1) translateY(0) } }

.scn-tacitus-annals-i-3 { background: linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 40%, #1a0a00 100%), radial-gradient(ellipse at 50% 30%, #3a2a1a 0%, transparent 70%); }
.scn-tacitus-annals-i-3 .wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); animation: ta3-wall 12s ease-in-out infinite alternate; }
.scn-tacitus-annals-i-3 .desk { position:absolute; bottom:18%; left:10%; right:10%; height:20%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 4% 4% 0 0; box-shadow: 0 8px 16px rgba(0,0,0,.6); animation: ta3-desk 8s ease-in-out infinite; }
.scn-tacitus-annals-i-3 .scroll { position:absolute; bottom:28%; left:25%; width:50px; height:30px; background: linear-gradient(180deg, #8a6a4a 0%, #5a3a1a 100%); border-radius: 10% 10% 20% 20% / 20% 20% 30% 30%; transform: rotate(-2deg); box-shadow: 2px 4px 8px rgba(0,0,0,.5); animation: ta3-scroll 10s ease-in-out infinite; }
.scn-tacitus-annals-i-3 .bust { position:absolute; bottom:28%; left:60%; width:24px; height:48px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; box-shadow: 2px 4px 8px rgba(0,0,0,.4); animation: ta3-bust 14s ease-in-out infinite; }
.scn-tacitus-annals-i-3 .lamp { position:absolute; bottom:38%; left:40%; width:10px; height:22px; background: linear-gradient(180deg, #e0c080 0%, #b08040 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 28px 8px #c08040; animation: ta3-lamp 4s ease-in-out infinite alternate; }
.scn-tacitus-annals-i-3 .chair { position:absolute; bottom:12%; left:55%; width:40px; height:40px; background: linear-gradient(180deg, #5a3a1a 0%, #3a2a0a 100%); border-radius: 10% 10% 20% 20% / 30% 30% 20% 20%; box-shadow: 0 6px 12px rgba(0,0,0,.6); animation: ta3-chair 11s ease-in-out infinite; }
@keyframes ta3-wall { 0% { opacity: .8 } 50% { opacity: .95 } 100% { opacity: .75 } }
@keyframes ta3-desk { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes ta3-scroll { 0% { transform: rotate(-2deg) translateY(0) } 50% { transform: rotate(1deg) translateY(-1px) } 100% { transform: rotate(-2deg) translateY(0) } }
@keyframes ta3-bust { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-3px) scale(1.02) } 100% { transform: translateY(0) scale(1) } }
@keyframes ta3-lamp { 0% { box-shadow: 0 0 18px 4px #b08040; opacity: .9 } 50% { box-shadow: 0 0 34px 10px #f0c060; opacity: 1 } 100% { box-shadow: 0 0 22px 5px #a07030; opacity: .85 } }
@keyframes ta3-chair { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0) } }

.scn-kingfisher-nest {
  background:
    linear-gradient(180deg, #7a8a7a 0%, #5a6a5a 40%, #3a4a3a 100%),
    radial-gradient(ellipse at 50% 0%, #8a9a8a 0%, transparent 60%);
}
.scn-kingfisher-nest .sky-overcast {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #8a9a8a 0%, #6a7a6a 60%, #4a5a4a 100%);
  animation: kf-sky 15s ease-in-out infinite alternate;
}
.scn-kingfisher-nest .sea {
  position: absolute; bottom: 0; left: 0; right: 0; height: 55%;
  background: linear-gradient(180deg, #4a5a5a 0%, #2a3a3a 100%);
  animation: kf-sea 6s ease-in-out infinite alternate;
}
.scn-kingfisher-nest .cliff {
  position: absolute; bottom: 30%; left: 20%; width: 60%; height: 40%;
  background: linear-gradient(135deg, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0;
  box-shadow: inset 0 -10px 20px rgba(0,0,0,.4);
}
.scn-kingfisher-nest .nest {
  position: absolute; bottom: 38%; left: 50%; width: 60px; height: 40px;
  transform: translateX(-50%) rotate(-5deg);
  background: radial-gradient(ellipse at 50% 60%, #5a4a2a 0%, #3a2a1a 80%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: kf-nest 4s ease-in-out infinite;
}
.scn-kingfisher-nest .nest-rim {
  position: absolute; bottom: 38%; left: 50%; width: 72px; height: 16px;
  transform: translateX(-50%) rotate(-5deg);
  background: linear-gradient(90deg, #4a3a1a 0%, #6a5a2a 50%, #3a2a0a 100%);
  border-radius: 50%;
  box-shadow: 0 4px 6px rgba(0,0,0,.3);
  animation: kf-rim 4s ease-in-out infinite;
}
.scn-kingfisher-nest .figure {
  position: absolute; bottom: 50%; left: 55%; width: 12px; height: 20px;
  background: linear-gradient(180deg, #1a3a4a 0%, #0a1a2a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  animation: kf-figure 8s ease-in-out infinite alternate;
}
.scn-kingfisher-nest .wave-a {
  position: absolute; bottom: 20%; left: 0; width: 100%; height: 20px;
  background: linear-gradient(90deg, transparent 0%, #3a5a5a 50%, transparent 100%);
  filter: blur(4px);
  animation: kf-wave-a 5s ease-in-out infinite alternate;
}
.scn-kingfisher-nest .wave-b {
  position: absolute; bottom: 10%; left: 0; width: 100%; height: 16px;
  background: linear-gradient(90deg, transparent 0%, #2a4a4a 50%, transparent 100%);
  filter: blur(3px);
  animation: kf-wave-b 7s ease-in-out infinite alternate;
}
@keyframes kf-sky { 0% { opacity: .7 } 50% { opacity: .9 } 100% { opacity: .75 } }
@keyframes kf-sea { 0% { transform: translateY(0) } 50% { transform: translateY(4px) } 100% { transform: translateY(0) } }
@keyframes kf-nest { 0%,100% { transform: translateX(-50%) rotate(-5deg) } 50% { transform: translateX(-50%) rotate(5deg) } }
@keyframes kf-rim { 0%,100% { transform: translateX(-50%) rotate(-5deg) scale(1) } 50% { transform: translateX(-50%) rotate(5deg) scale(1.05) } }
@keyframes kf-figure { 0% { transform: translate(0,0) rotate(0) } 50% { transform: translate(8px,-4px) rotate(-5deg) } 100% { transform: translate(16px,0) rotate(0) } }
@keyframes kf-wave-a { 0% { transform: translateX(-20px) } 100% { transform: translateX(20px) } }
@keyframes kf-wave-b { 0% { transform: translateX(10px) } 100% { transform: translateX(-10px) } }

.scn-cats-kittens-entrails {
  background:
    linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%),
    radial-gradient(ellipse at 50% 30%, #3a2a1a 0%, transparent 60%);
}
.scn-cats-kittens-entrails .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #3a2a1a 0%, #1a0a0a 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,.6);
}
.scn-cats-kittens-entrails .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0500 100%);
}
.scn-cats-kittens-entrails .window {
  position: absolute; top: 20%; left: 50%; width: 60px; height: 80px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 50%, #4a3a2a 0%, #1a1a0a 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,.5), 0 0 30px rgba(74,58,42,.3);
  animation: ck-window 10s ease-in-out infinite alternate;
}
.scn-cats-kittens-entrails .cat-mother {
  position: absolute; bottom: 28%; left: 50%; width: 40px; height: 30px;
  transform: translateX(-55%);
  background: linear-gradient(180deg, #2a1a1a 0%, #0a0500 100%);
  border-radius: 60% 40% 40% 60% / 50% 50% 50% 50%;
  animation: ck-mother 6s ease-in-out infinite;
}
.scn-cats-kittens-entrails .kitten-1,
.scn-cats-kittens-entrails .kitten-2,
.scn-cats-kittens-entrails .kitten-3 {
  position: absolute; bottom: 26%; width: 16px; height: 14px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
}
.scn-cats-kittens-entrails .kitten-1 { left: 35%; animation: ck-kitten1 4s ease-in-out infinite; }
.scn-cats-kittens-entrails .kitten-2 { left: 45%; animation: ck-kitten2 5s ease-in-out infinite; }
.scn-cats-kittens-entrails .kitten-3 { left: 60%; animation: ck-kitten3 4.5s ease-in-out infinite; }
.scn-cats-kittens-entrails .shadow {
  position: absolute; bottom: 24%; left: 30%; width: 60%; height: 10px;
  background: radial-gradient(ellipse, rgba(0,0,0,.4) 0%, transparent 70%);
  animation: ck-shadow 6s ease-in-out infinite;
}
@keyframes ck-window { 0% { opacity: .6; box-shadow: 0 0 20px rgba(74,58,42,.2); } 50% { opacity: 1; box-shadow: 0 0 40px rgba(74,58,42,.5); } 100% { opacity: .7; box-shadow: 0 0 25px rgba(74,58,42,.3); } }
@keyframes ck-mother { 0%,100% { transform: translateX(-55%) rotate(0) scale(1); } 25% { transform: translateX(-50%) rotate(3deg) scale(1.02); } 75% { transform: translateX(-58%) rotate(-3deg) scale(0.98); } }
@keyframes ck-kitten1 { 0%,100% { transform: translate(0,0); } 50% { transform: translate(3px,-2px); } }
@keyframes ck-kitten2 { 0%,100% { transform: translate(0,0) rotate(0); } 50% { transform: translate(-2px,1px) rotate(-10deg); } }
@keyframes ck-kitten3 { 0%,100% { transform: translate(0,0); } 50% { transform: translate(4px,0) scale(1.1); } }
@keyframes ck-shadow { 0%,100% { opacity: .5; transform: scaleX(1); } 50% { opacity: .8; transform: scaleX(1.2); } }

.scn-lion-whelps-bargain {
  background:
    linear-gradient(180deg, #5a5a3a 0%, #4a4a2a 40%, #2a2a1a 100%),
    radial-gradient(ellipse at 50% 0%, #6a6a4a 0%, transparent 70%);
}
.scn-lion-whelps-bargain .sky {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #7a7a5a 0%, #5a5a3a 100%);
  animation: lw-sky 20s ease-in-out infinite alternate;
}
.scn-lion-whelps-bargain .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  box-shadow: inset 0 10px 30px rgba(0,0,0,.5);
}
.scn-lion-whelps-bargain .lion {
  position: absolute; bottom: 30%; left: 30%; width: 70px; height: 50px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 60% 40% 30% 30% / 50% 50% 40% 40%;
  box-shadow: inset 0 -10px 20px rgba(0,0,0,.4);
  animation: lw-lion 8s ease-in-out infinite;
}
.scn-lion-whelps-bargain .man-1,
.scn-lion-whelps-bargain .man-2 {
  position: absolute; bottom: 30%;
  width: 24px; height: 50px;
  background: linear-gradient(180deg, #2a2a1a 0%, #1a1a0a 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%;
  animation: lw-men 6s ease-in-out infinite alternate;
}
.scn-lion-whelps-bargain .man-1 { left: 60%; }
.scn-lion-whelps-bargain .man-2 { left: 70%; }
.scn-lion-whelps-bargain .spear {
  position: absolute; bottom: 50%; left: 65%; width: 4px; height: 60px;
  transform: rotate(-15deg);
  background: linear-gradient(180deg, #4a3a1a 0%, #2a1a0a 100%);
  animation: lw-spear 4s ease-in-out infinite;
}
.scn-lion-whelps-bargain .dust {
  position: absolute; bottom: 15%; left: 40%; width: 80px; height: 20px;
  background: radial-gradient(ellipse, rgba(74,58,42,.4) 0%, transparent 70%);
  filter: blur(6px);
  animation: lw-dust 12s ease-in-out infinite alternate;
}
@keyframes lw-sky { 0% { opacity: .7 } 50% { opacity: .85 } 100% { opacity: .75 } }
@keyframes lw-lion { 0%,100% { transform: translateX(-50%) scale(1) rotate(0); } 25% { transform: translateX(-50%) scale(1.02) rotate(-2deg); } 75% { transform: translateX(-45%) scale(0.98) rotate(2deg); } }
@keyframes lw-men { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes lw-spear { 0%,100% { transform: rotate(-15deg) translate(0,0); } 50% { transform: rotate(-10deg) translate(2px,-4px); } }
@keyframes lw-dust { 0% { opacity: .3; transform: scaleX(1); } 50% { opacity: .6; transform: scaleX(1.3); } 100% { opacity: .4; transform: scaleX(0.9); } }

.scn-bird-feeding-young {
  background:
    linear-gradient(180deg, #6a7a6a 0%, #5a6a5a 50%, #3a4a3a 100%),
    radial-gradient(ellipse at 50% 0%, #8a9a8a 0%, transparent 60%);
}
.scn-bird-feeding-young .bg-sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #8a9a8a 0%, #5a6a5a 100%);
  animation: bf-sky 15s ease-in-out infinite alternate;
}
.scn-bird-feeding-young .branch {
  position: absolute; bottom: 40%; left: 0; right: 0; height: 8px;
  background: linear-gradient(90deg, #4a3a2a 0%, #3a2a1a 50%, #2a1a0a 100%);
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0,0,0,.3);
}
.scn-bird-feeding-young .nest {
  position: absolute; bottom: 40%; left: 50%; width: 50px; height: 30px;
  transform: translateX(-50%) translateY(-18px);
  background: radial-gradient(ellipse at 50% 70%, #5a4a2a 0%, #3a2a1a 80%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: bf-nest 6s ease-in-out infinite;
}
.scn-bird-feeding-young .parent-bird {
  position: absolute; bottom: 50%; left: 55%; width: 30px; height: 24px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a4a2a 0%, #1a2a0a 100%);
  border-radius: 50% 40% 30% 40% / 50% 50% 40% 50%;
  animation: bf-parent 4s ease-in-out infinite alternate;
}
.scn-bird-feeding-young .chick-1,
.scn-bird-feeding-young .chick-2 {
  position: absolute; bottom: 40%; width: 14px; height: 12px;
  background: linear-gradient(180deg, #6a5a3a 0%, #4a3a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
}
.scn-bird-feeding-young .chick-1 { left: 44%; animation: bf-chick1 3s ease-in-out infinite; }
.scn-bird-feeding-young .chick-2 { left: 52%; animation: bf-chick2 3.5s ease-in-out infinite; }
.scn-bird-feeding-young .food {
  position: absolute; bottom: 50%; left: 56%; width: 6px; height: 6px;
  background: radial-gradient(circle, #7a6a3a 0%, #5a4a1a 100%);
  border-radius: 50%;
  animation: bf-food 2s ease-in-out infinite;
}
.scn-bird-feeding-young .leaf-a,
.scn-bird-feeding-young .leaf-b {
  position: absolute; bottom: 52%; width: 20px; height: 12px;
  background: linear-gradient(135deg, #4a6a3a 0%, #2a4a1a 100%);
  border-radius: 50% 20% 50% 20% / 50% 30% 50% 30%;
  transform-origin: bottom center;
}
.scn-bird-feeding-young .leaf-a { left: 30%; animation: bf-leaf-a 12s ease-in-out infinite; }
.scn-bird-feeding-young .leaf-b { left: 65%; animation: bf-leaf-b 14s ease-in-out infinite; }
@keyframes bf-sky { 0% { opacity: .75 } 50% { opacity: .9 } 100% { opacity: .8 } }
@keyframes bf-nest { 0%,100% { transform: translateX(-50%) translateY(-18px) rotate(0); } 50% { transform: translateX(-50%) translateY(-16px) rotate(3deg); } }
@keyframes bf-parent { 0% { transform: translateX(-50%) rotate(0) scale(1); } 50% { transform: translateX(-45%) rotate(-5deg) scale(1.02); } 100% { transform: translateX(-50%) rotate(0) scale(1); } }
@keyframes bf-chick1 { 0%,100% { transform: translate(0,0); } 50% { transform: translate(2px,-1px); } }
@keyframes bf-chick2 { 0%,100% { transform: translate(0,0); } 50% { transform: translate(-2px,1px); } }
@keyframes bf-food { 0%,100% { transform: scale(1); opacity: .8; } 50% { transform: scale(1.5); opacity: 1; } }
@keyframes bf-leaf-a { 0% { transform: rotate(0); } 50% { transform: rotate(8deg); } 100% { transform: rotate(0); } }
@keyframes bf-leaf-b { 0% { transform: rotate(0); } 50% { transform: rotate(-10deg); } 100% { transform: rotate(0); } }

/* Scene 1: lice-leave-dying-flatterers-decamp - dark mood, dim interior */
.scn-lice-leave-dying-flatterers-decamp {
  background: linear-gradient(160deg, #1a1a2e 0%, #0d0d1a 50%, #1e1e2a 100%), radial-gradient(ellipse at 30% 60%, #2a2a3e 0%, transparent 70%);
}
.scn-lice-leave-dying-flatterers-decamp .bg {
  position:absolute; inset:0; background: radial-gradient(ellipse at 20% 80%, rgba(60,40,30,0.4) 0%, transparent 60%);
}
.scn-lice-leave-dying-flatterers-decamp .bed {
  position:absolute; bottom:10%; left:10%; right:10%; height:20%; background: linear-gradient(180deg, #3a2a2a 0%, #1a1212 100%); border-radius: 10% 10% 20% 20%; box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
}
.scn-lice-leave-dying-flatterers-decamp .figure {
  position:absolute; bottom:15%; left:30%; width:25%; height:18%; background: linear-gradient(180deg, #2a1e1e 0%, #0f0a0a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: si-lice-breath 4s ease-in-out infinite alternate;
}
.scn-lice-leave-dying-flatterers-decamp .window {
  position:absolute; top:15%; left:70%; width:12%; height:20%; background: radial-gradient(circle, rgba(120,100,80,0.5) 0%, rgba(60,50,40,0.2) 100%); border-radius: 5% 5% 10% 10%; box-shadow: 0 0 30px rgba(120,100,80,0.3); animation: si-lice-glow 6s ease-in-out infinite alternate;
}
.scn-lice-leave-dying-flatterers-decamp .lice {
  position:absolute; width:8px; height:8px; background: radial-gradient(circle, #3a2a2a 0%, #1a1010 100%); border-radius: 50%; opacity:0.8;
}
.scn-lice-leave-dying-flatterers-decamp .l1 {
  bottom:25%; left:28%; animation: si-lice-crawl 8s ease-in-out infinite;
}
.scn-lice-leave-dying-flatterers-decamp .l2 {
  bottom:22%; left:35%; animation: si-lice-crawl 12s ease-in-out infinite reverse;
  animation-delay: -2s;
}
.scn-lice-leave-dying-flatterers-decamp .l3 {
  bottom:20%; left:40%; animation: si-lice-crawl 14s ease-in-out infinite;
  animation-delay: -5s;
}
.scn-lice-leave-dying-flatterers-decamp .shadow-veil {
  position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, transparent 40%, rgba(0,0,0,0.5) 100%); pointer-events:none;
}

@keyframes si-lice-breath {
  0% { transform: scaleY(1) translateY(0); }
  50% { transform: scaleY(0.97) translateY(-2px); }
  100% { transform: scaleY(1.02) translateY(1px); }
}
@keyframes si-lice-glow {
  0%,100% { opacity:0.6; box-shadow: 0 0 20px rgba(120,100,80,0.2); }
  50% { opacity:1; box-shadow: 0 0 50px rgba(150,130,110,0.4); }
}
@keyframes si-lice-crawl {
  0% { transform: translate(0,0); opacity:0.8; }
  20% { transform: translate(10px, -15px); }
  40% { transform: translate(25px, -5px); }
  60% { transform: translate(40px, -20px); }
  80% { transform: translate(55px, -10px); }
  100% { transform: translate(70px, -25px); opacity:0.2; }
}

/* Scene 2: friend-not-disagreeable-pleasant - calm, dim interior */
.scn-friend-not-disagreeable-pleasant {
  background: linear-gradient(180deg, #2a2a2e 0%, #1e1e24 30%, #15151a 100%), radial-gradient(ellipse at 50% 60%, #3a3a44 0%, transparent 80%);
}
.scn-friend-not-disagreeable-pleasant .bg {
  position:absolute; inset:0; background: radial-gradient(ellipse at 50% 70%, rgba(80,70,60,0.3) 0%, transparent 70%);
}
.scn-friend-not-disagreeable-pleasant .table {
  position:absolute; bottom:15%; left:25%; right:25%; height:8%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%); border-radius: 10% 10% 5% 5%; box-shadow: 0 4px 12px rgba(0,0,0,0.5);
}
.scn-friend-not-disagreeable-pleasant .chair-left {
  position:absolute; bottom:20%; left:20%; width:15%; height:20%; background: linear-gradient(180deg, #3a2a1e 0%, #1a1212 100%); border-radius: 20% 20% 5% 5%; transform-origin: bottom center; animation: si-frie-sway 6s ease-in-out infinite;
}
.scn-friend-not-disagreeable-pleasant .chair-right {
  position:absolute; bottom:20%; right:20%; width:15%; height:20%; background: linear-gradient(180deg, #3a2a1e 0%, #1a1212 100%); border-radius: 20% 20% 5% 5%; animation: si-frie-sway 7s ease-in-out infinite reverse;
}
.scn-friend-not-disagreeable-pleasant .lamp {
  position:absolute; bottom:40%; left:48%; width:4%; height:25%; background: linear-gradient(180deg, #5a4a3a 0%, #2a1e14 100%); border-radius: 10% 10% 5% 5%; transform-origin: bottom center; animation: si-frie-lamp 4s ease-in-out infinite alternate;
}
.scn-friend-not-disagreeable-pleasant .halo {
  position:absolute; bottom:45%; left:42%; width:16%; height:30%; background: radial-gradient(ellipse, rgba(200,170,120,0.15) 0%, transparent 70%); border-radius: 50%; pointer-events:none;
}
.scn-friend-not-disagreeable-pleasant .figure-left {
  position:absolute; bottom:25%; left:24%; width:12%; height:30%; background: linear-gradient(180deg, #1e1a16 0%, #0e0c0a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: si-frie-breathe 5s ease-in-out infinite alternate;
}
.scn-friend-not-disagreeable-pleasant .figure-right {
  position:absolute; bottom:25%; right:24%; width:12%; height:30%; background: linear-gradient(180deg, #1e1a16 0%, #0e0c0a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: si-frie-breathe 5.5s ease-in-out infinite alternate reverse;
}

@keyframes si-frie-sway {
  0%,100% { transform: rotate(-1deg); }
  50% { transform: rotate(1deg); }
}
@keyframes si-frie-lamp {
  0% { transform: rotate(-2deg); }
  100% { transform: rotate(2deg); }
}
@keyframes si-frie-breathe {
  0% { transform: scaleY(1); }
  100% { transform: scaleY(0.98) translateY(-1px); }
}

/* Scene 3: spurious-gold-flatterer-imitates-pleasantness - calm, dim interior */
.scn-spurious-gold-flatterer-imitates-pleasantness {
  background: linear-gradient(180deg, #2a2622 0%, #1a1814 40%, #22201c 100%), radial-gradient(ellipse at 50% 50%, #3a342e 0%, transparent 80%);
}
.scn-spurious-gold-flatterer-imitates-pleasantness .bg {
  position:absolute; inset:0; background: radial-gradient(ellipse at 50% 60%, rgba(60,50,40,0.3) 0%, transparent 70%);
}
.scn-spurious-gold-flatterer-imitates-pleasantness .table {
  position:absolute; bottom:20%; left:20%; right:20%; height:10%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%); border-radius: 10% 10% 5% 5%; box-shadow: 0 6px 18px rgba(0,0,0,0.5);
}
.scn-spurious-gold-flatterer-imitates-pleasantness .coin-real {
  position:absolute; bottom:32%; left:35%; width:10%; padding-bottom:10%; background: radial-gradient(circle at 40% 40%, #d4a040 0%, #b8860b 50%, #8b6914 100%); border-radius: 50%; box-shadow: 0 4px 20px rgba(212,160,64,0.5); animation: si-spur-real 8s ease-in-out infinite;
}
.scn-spurious-gold-flatterer-imitates-pleasantness .coin-fake {
  position:absolute; bottom:32%; right:35%; width:10%; padding-bottom:10%; background: radial-gradient(circle at 40% 40%, #a89870 0%, #8c7a50 50%, #6b5e3a 100%); border-radius: 50%; box-shadow: 0 2px 10px rgba(140,122,80,0.3); animation: si-spur-fake 8s ease-in-out infinite;
}
.scn-spurious-gold-flatterer-imitates-pleasantness .glow-real {
  position:absolute; bottom:30%; left:33%; width:14%; padding-bottom:14%; background: radial-gradient(circle, rgba(212,160,64,0.2) 0%, transparent 80%); border-radius: 50%; pointer-events:none;
}
.scn-spurious-gold-flatterer-imitates-pleasantness .glow-fake {
  position:absolute; bottom:30%; right:33%; width:14%; padding-bottom:14%; background: radial-gradient(circle, rgba(160,140,100,0.1) 0%, transparent 80%); border-radius: 50%; pointer-events:none;
}
.scn-spurious-gold-flatterer-imitates-pleasantness .hand {
  position:absolute; bottom:35%; left:28%; width:8%; padding-bottom:15%; background: linear-gradient(180deg, #2a1e18 0%, #1a1210 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: si-spur-hand 6s ease-in-out infinite alternate;
}

@keyframes si-spur-real {
  0%,100% { transform: rotate(0deg); box-shadow: 0 4px 20px rgba(212,160,64,0.5); }
  50% { transform: rotate(5deg); box-shadow: 0 6px 30px rgba(212,160,64,0.7); }
}
@keyframes si-spur-fake {
  0%,100% { transform: rotate(0deg); box-shadow: 0 2px 10px rgba(140,122,80,0.3); }
  50% { transform: rotate(-5deg); box-shadow: 0 3px 15px rgba(140,122,80,0.4); }
}
@keyframes si-spur-hand {
  0% { transform: rotate(3deg) translateY(0); }
  100% { transform: rotate(-3deg) translateY(-2px); }
}

/* Scene 4: distinguish-flatterer-friend-difficult - calm, dim interior */
.scn-distinguish-flatterer-friend-difficult {
  background: linear-gradient(180deg, #2a2a30 0%, #1e1e24 40%, #16161a 100%), radial-gradient(ellipse at 50% 60%, #3a3a44 0%, transparent 80%);
}
.scn-distinguish-flatterer-friend-difficult .bg {
  position:absolute; inset:0; background: radial-gradient(ellipse at 50% 50%, rgba(60,55,50,0.3) 0%, transparent 70%);
}
.scn-distinguish-flatterer-friend-difficult .figure-left {
  position:absolute; bottom:15%; left:20%; width:20%; height:40%; background: linear-gradient(180deg, #1e1a18 0%, #0e0c0a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: si-dist-breathe 5s ease-in-out infinite alternate;
}
.scn-distinguish-flatterer-friend-difficult .figure-right {
  position:absolute; bottom:15%; right:20%; width:20%; height:40%; background: linear-gradient(180deg, #1e1a18 0%, #0e0c0a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: si-dist-breathe 5.5s ease-in-out infinite alternate reverse;
}
.scn-distinguish-flatterer-friend-difficult .shadow-mark {
  position:absolute; bottom:15%; right:20%; width:20%; height:40%; background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, transparent 50%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; pointer-events:none; opacity:0.5;
}
.scn-distinguish-flatterer-friend-difficult .divider {
  position:absolute; bottom:20%; left:50%; width:2px; height:30%; background: linear-gradient(180deg, rgba(200,180,160,0.2) 0%, transparent 80%); transform: translateX(-50%);
}
.scn-distinguish-flatterer-friend-difficult .light {
  position:absolute; bottom:30%; left:40%; width:20%; height:30%; background: radial-gradient(ellipse, rgba(180,160,140,0.1) 0%, transparent 70%); border-radius: 50%; animation: si-dist-light 7s ease-in-out infinite alternate;
}

@keyframes si-dist-breathe {
  0% { transform: scaleY(1) translateY(0); }
  100% { transform: scaleY(0.97) translateY(-2px); }
}
@keyframes si-dist-light {
  0% { opacity:0.5; }
  100% { opacity:1; }
}

.scn-evil-degrees-reason { background: linear-gradient(180deg, #1a1a2e 0%, #2a1f3a 50%, #1e1e30 100%), radial-gradient(ellipse at 50% 100%, #2a1f3a 30%, transparent 70%); }
.scn-evil-degrees-reason .bg-deep { position:absolute; inset:0; background: linear-gradient(180deg, #1a1a2e 0%, transparent 40%); }
.scn-evil-degrees-reason .wall { position:absolute; inset:25% 10% 15% 10%; background: linear-gradient(180deg, #3a2a3e 0%, #2a1e30 100%); border-radius: 10px 10px 0 0; }
.scn-evil-degrees-reason .lamp { position:absolute; bottom:55%; left:15%; width:12px; height:20px; background: linear-gradient(180deg, #8a6a3a 0%, #5a3a1a 100%); border-radius: 40% 40% 10% 10%; box-shadow: 0 0 20px 8px #b08040; animation: edr-lamp 4s ease-in-out infinite alternate; }
.scn-evil-degrees-reason .halo { position:absolute; bottom:50%; left:12%; width:80px; height:80px; background: radial-gradient(circle, rgba(200,160,80,0.3) 0%, transparent 70%); animation: edr-halo 6s ease-in-out infinite alternate; }
.scn-evil-degrees-reason .figure { position:absolute; bottom:22%; left:25%; width:20px; height:40px; background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: edr-figure 5s ease-in-out infinite; }
.scn-evil-degrees-reason .shadow { position:absolute; bottom:18%; left:40%; width:30px; height:50px; background: rgba(0,0,0,0.5); border-radius: 50%; filter: blur(8px); animation: edr-shadow 8s ease-in-out infinite alternate; }
.scn-evil-degrees-reason .floor { position:absolute; bottom:15%; left:5%; right:5%; height:8%; background: linear-gradient(180deg, #1a1a1a 0%, #0e0e0e 100%); border-radius: 4px; }
@keyframes edr-lamp { 0% { opacity:0.8; transform: scaleY(1); } 50% { opacity:1; transform: scaleY(1.05); } 100% { opacity:0.85; transform: scaleY(0.98); } }
@keyframes edr-halo { 0% { opacity:0.2; transform: scale(0.9); } 50% { opacity:0.4; transform: scale(1.1); } 100% { opacity:0.25; transform: scale(0.95); } }
@keyframes edr-figure { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 50% { transform: translateX(3px) translateY(-2px) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(-1deg); } }
@keyframes edr-shadow { 0% { width:30px; height:50px; opacity:0.6; } 50% { width:20px; height:35px; opacity:0.3; } 100% { width:10px; height:20px; opacity:0.1; } }

.scn-mariner-philosophy-progress { background: linear-gradient(180deg, #1a2a2e 0%, #2a3a3e 50%, #1e2e32 100%), radial-gradient(ellipse at 50% 100%, #2a3a3e 30%, transparent 70%); }
.scn-mariner-philosophy-progress .bg-deep { position:absolute; inset:0; background: linear-gradient(180deg, #1a2a2e 0%, transparent 40%); }
.scn-mariner-philosophy-progress .wall { position:absolute; inset:30% 10% 10% 10%; background: linear-gradient(180deg, #2a3a3e 0%, #1a2a2e 100%); border-radius: 10px 10px 0 0; }
.scn-mariner-philosophy-progress .step { position:absolute; left:50%; width:40px; height:12px; background: linear-gradient(180deg, #4a5a5e 0%, #2a3a3e 100%); border-radius: 3px; transform: translateX(-50%); box-shadow: 0 2px 4px rgba(0,0,0,0.4); }
.scn-mariner-philosophy-progress .step-1 { bottom:28%; animation: mpp-step1 6s ease-in-out infinite; }
.scn-mariner-philosophy-progress .step-2 { bottom:20%; animation: mpp-step2 6s ease-in-out infinite; }
.scn-mariner-philosophy-progress .step-3 { bottom:12%; animation: mpp-step3 6s ease-in-out infinite; }
.scn-mariner-philosophy-progress .figure { position:absolute; bottom:12%; left:48%; width:18px; height:36px; background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mpp-figure 6s ease-in-out infinite; }
.scn-mariner-philosophy-progress .gradient-marker { position:absolute; bottom:8%; left:45%; width:20px; height:4px; background: linear-gradient(90deg, #6a7a7e 0%, transparent 100%); animation: mpp-marker 6s ease-in-out infinite; }
@keyframes mpp-step1 { 0% { opacity:0.4; transform: translateX(-50%) scale(0.9); } 50% { opacity:0.8; transform: translateX(-50%) scale(1.1); } 100% { opacity:0.4; transform: translateX(-50%) scale(0.9); } }
@keyframes mpp-step2 { 0% { opacity:0.6; transform: translateX(-50%) scale(0.95); } 50% { opacity:1; transform: translateX(-50%) scale(1.05); } 100% { opacity:0.6; transform: translateX(-50%) scale(0.95); } }
@keyframes mpp-step3 { 0% { opacity:0.8; transform: translateX(-50%) scale(1); } 50% { opacity:1; transform: translateX(-50%) scale(1.08); } 100% { opacity:0.8; transform: translateX(-50%) scale(0.98); } }
@keyframes mpp-figure { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 50% { transform: translateX(8px) translateY(-4px) rotate(2deg); } 100% { transform: translateX(16px) translateY(0) rotate(-2deg); } }
@keyframes mpp-marker { 0% { opacity:0.3; width:20px; } 50% { opacity:0.7; width:30px; } 100% { opacity:0.3; width:20px; } }

.scn-habit-virtue-increase { background: linear-gradient(180deg, #1a1e2e 0%, #2a2e3e 50%, #1e2232 100%), radial-gradient(ellipse at 50% 100%, #2a2e3e 30%, transparent 70%); }
.scn-habit-virtue-increase .bg-deep { position:absolute; inset:0; background: linear-gradient(180deg, #1a1e2e 0%, transparent 40%); }
.scn-habit-virtue-increase .wall { position:absolute; inset:30% 10% 20% 10%; background: linear-gradient(180deg, #2a2e3e 0%, #1a1e2e 100%); border-radius: 10px; }
.scn-habit-virtue-increase .table { position:absolute; bottom:20%; left:5%; right:5%; height:6%; background: linear-gradient(180deg, #3a3e4e 0%, #2a2e3e 100%); border-radius: 4px; box-shadow: 0 -2px 6px rgba(0,0,0,0.3); }
.scn-habit-virtue-increase .pile { position:absolute; bottom:26%; left:35%; width:40px; height:20px; background: linear-gradient(180deg, #6a6e7e 0%, #4a4e5e 100%); border-radius: 50% 50% 10% 10% / 60% 60% 10% 10%; transform-origin: bottom center; animation: hvi-pile 7s ease-in-out infinite alternate; }
.scn-habit-virtue-increase .figure { position:absolute; bottom:20%; left:20%; width:20px; height:40px; background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: hvi-figure 5s ease-in-out infinite; }
.scn-habit-virtue-increase .arm { position:absolute; bottom:35%; left:25%; width:24px; height:6px; background: linear-gradient(90deg, #1a1a2a 0%, #2a2e3e 100%); border-radius: 20px; transform-origin: left center; animation: hvi-arm 3s ease-in-out infinite; }
.scn-habit-virtue-increase .coin { position:absolute; bottom:45%; left:45%; width:8px; height:8px; background: radial-gradient(circle, #8a8e9e 0%, #6a6e7e 100%); border-radius: 50%; animation: hvi-coin 4s ease-in-out infinite; }
.scn-habit-virtue-increase .glow { position:absolute; bottom:30%; left:30%; width:80px; height:80px; background: radial-gradient(circle, rgba(200,200,220,0.2) 0%, transparent 70%); animation: hvi-glow 8s ease-in-out infinite alternate; }
@keyframes hvi-pile { 0% { height:20px; width:40px; transform: scaleY(1); } 50% { height:30px; width:50px; transform: scaleY(1.2); } 100% { height:20px; width:40px; transform: scaleY(1); } }
@keyframes hvi-figure { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes hvi-arm { 0% { transform: rotate(-30deg); } 50% { transform: rotate(10deg); } 100% { transform: rotate(-30deg); } }
@keyframes hvi-coin { 0% { opacity:0; transform: translateY(0); } 30% { opacity:1; transform: translateY(20px); } 70% { opacity:1; transform: translateY(30px); } 100% { opacity:0; transform: translateY(40px); } }
@keyframes hvi-glow { 0% { opacity:0.2; transform: scale(0.9); } 50% { opacity:0.4; transform: scale(1.1); } 100% { opacity:0.2; transform: scale(0.9); } }

.scn-planets-stationary-philosophy-motion { background: linear-gradient(180deg, #0e122e 0%, #1a1e3a 50%, #0e1232 100%), radial-gradient(ellipse at 50% 100%, #1a1e3a 30%, transparent 70%); }
.scn-planets-stationary-philosophy-motion .bg-deep { position:absolute; inset:0; background: linear-gradient(180deg, #0e122e 0%, transparent 40%); }
.scn-planets-stationary-philosophy-motion .wall { position:absolute; inset:25% 10% 15% 10%; background: linear-gradient(180deg, #1a1e3a 0%, #0e1232 100%); border-radius: 10px; }
.scn-planets-stationary-philosophy-motion .window { position:absolute; top:10%; left:35%; width:50px; height:70px; background: linear-gradient(180deg, #0a0e2e 0%, #1a1e4e 100%); border-radius: 10px; box-shadow: inset 0 0 20px rgba(255,255,200,0.2); border: 2px solid #2a2e4e; }
.scn-planets-stationary-philosophy-motion .planet { position:absolute; top:12%; left:42%; width:20px; height:20px; background: radial-gradient(circle, #4a6eae 0%, #2a4e8e 100%); border-radius: 50%; box-shadow: 0 0 10px 4px rgba(74,110,174,0.5); animation: psp-planet 12s ease-in-out infinite alternate; }
.scn-planets-stationary-philosophy-motion .scale { position:absolute; bottom:35%; left:25%; width:60px; height:30px; transform-origin: center 10px; animation: psp-scale 6s ease-in-out infinite; }
.scn-planets-stationary-philosophy-motion .scale::before { content:''; position:absolute; top:0; left:10px; width:40px; height:2px; background: #4a4e6e; border-radius: 2px; }
.scn-planets-stationary-philosophy-motion .scale::after { content:''; position:absolute; top:0; left:10px; width:2px; height:20px; background: #4a4e6e; }
.scn-planets-stationary-philosophy-motion .pendulum { position:absolute; bottom:38%; left:55%; width:4px; height:40px; background: #4a4e6e; transform-origin: top center; animation: psp-pendulum 3s ease-in-out infinite; }
.scn-planets-stationary-philosophy-motion .pendulum::after { content:''; position:absolute; bottom:0; left:-4px; width:12px; height:12px; background: radial-gradient(circle, #6a7e9e 0%, #4a5e7e 100%); border-radius: 50%; }
.scn-planets-stationary-philosophy-motion .figure { position:absolute; bottom:20%; right:20%; width:18px; height:36px; background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: psp-figure 8s ease-in-out infinite; }
.scn-planets-stationary-philosophy-motion .glow { position:absolute; bottom:15%; right:18%; width:60px; height:60px; background: radial-gradient(circle, rgba(150,170,220,0.15) 0%, transparent 70%); animation: psp-glow 10s ease-in-out infinite alternate; }
@keyframes psp-planet { 0% { transform: translateY(0) scale(1); opacity:0.7; } 50% { transform: translateY(-5px) scale(1.05); opacity:1; } 100% { transform: translateY(0) scale(1); opacity:0.7; } }
@keyframes psp-scale { 0% { transform: rotate(0deg); } 50% { transform: rotate(15deg); } 100% { transform: rotate(0deg); } }
@keyframes psp-pendulum { 0% { transform: rotate(-15deg); } 50% { transform: rotate(15deg); } 100% { transform: rotate(-15deg); } }
@keyframes psp-figure { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-3px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes psp-glow { 0% { opacity:0.2; transform: scale(0.9); } 50% { opacity:0.4; transform: scale(1.1); } 100% { opacity:0.2; transform: scale(0.9); } }

.scn-sophocles-fragm-162 {
  background: linear-gradient(180deg, #1e1814 0%, #2b211a 50%, #1a1411 100%);
  background: radial-gradient(ellipse at 50% 100%, #2a1e14 0%, transparent 70%);
}
.scn-sophocles-fragm-162 .room-bg {
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, #2f251f 0%, #1e1814 100%);
  opacity: 0.8; animation: sf-room 12s ease-in-out infinite alternate;
}
.scn-sophocles-fragm-162 .desk {
  position: absolute; bottom: 8%; left: 20%; width: 60%; height: 20%;
  background: linear-gradient(180deg, #4a3525 0%, #2e1e12 100%);
  border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.6);
  animation: sf-desk 6s ease-in-out infinite;
}
.scn-sophocles-fragm-162 .candle {
  position: absolute; bottom: 28%; left: 42%; width: 6px; height: 36px;
  background: linear-gradient(180deg, #d4b07a 0%, #b08a5a 100%);
  border-radius: 2px 2px 0 0; box-shadow: 0 0 8px rgba(200,160,100,0.3);
  animation: sf-candle 4s ease-in-out infinite;
}
.scn-sophocles-fragm-162 .candle-light {
  position: absolute; bottom: 38%; left: 39%; width: 20px; height: 20px;
  background: radial-gradient(circle, #ffd27a 0%, #b08040 50%, transparent 100%);
  border-radius: 50%; filter: blur(4px);
  animation: sf-candle-light 3s ease-in-out infinite alternate;
}
.scn-sophocles-fragm-162 .scroll {
  position: absolute; bottom: 10%; left: 28%; width: 40%; height: 14%;
  background: linear-gradient(180deg, #d6c09e 0%, #b8a080 100%);
  border-radius: 60% 60% 10% 10% / 80% 80% 20% 20%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4); animation: sf-scroll 8s ease-in-out infinite alternate;
}
.scn-sophocles-fragm-162 .inkwell {
  position: absolute; bottom: 14%; left: 65%; width: 16px; height: 20px;
  background: linear-gradient(180deg, #3a2a22 0%, #1e1410 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5); animation: sf-inkwell 5s ease-in-out infinite;
}
.scn-sophocles-fragm-162 .hand-silhouette {
  position: absolute; bottom: 12%; left: 35%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #1a1411 0%, #0e0a08 100%);
  border-radius: 50% 40% 30% 40% / 60% 50% 40% 50%;
  transform-origin: bottom center; animation: sf-hand 4s ease-in-out infinite;
}

@keyframes sf-room { 0% { opacity:0.7; } 50% { opacity:0.9; } 100% { opacity:0.75; } }
@keyframes sf-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes sf-candle { 0% { transform: scaleY(1) rotate(-1deg); } 50% { transform: scaleY(1.02) rotate(1deg); } 100% { transform: scaleY(1) rotate(-1deg); } }
@keyframes sf-candle-light { 0% { opacity:0.7; transform: scale(0.9); } 50% { opacity:1; transform: scale(1.1); } 100% { opacity:0.8; transform: scale(1); } }
@keyframes sf-scroll { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-3px) scaleX(1.02); } 100% { transform: translateY(0) scaleX(1); } }
@keyframes sf-inkwell { 0% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-1px) rotate(3deg); } 100% { transform: translateY(0) rotate(-3deg); } }
@keyframes sf-hand { 0% { transform: translateX(0) rotate(5deg); } 50% { transform: translateX(8px) rotate(-5deg); } 100% { transform: translateX(0) rotate(5deg); } }

.scn-publicola-p-105 {
  background: linear-gradient(180deg, #1a1a1a 0%, #252020 50%, #1c1818 100%);
  background: radial-gradient(ellipse at 50% 100%, #2a1e1e 0%, transparent 70%);
}
.scn-publicola-p-105 .room-wall {
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, #2a2828 0%, #1e1c1c 100%);
  animation: pp-wall 15s ease-in-out infinite alternate;
}
.scn-publicola-p-105 .pedestal {
  position: absolute; bottom: 18%; left: 42%; width: 12%; height: 30%;
  background: linear-gradient(180deg, #3a3228 0%, #241e1a 100%);
  border-radius: 4px 4px 0 0; box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  animation: pp-pedestal 10s ease-in-out infinite;
}
.scn-publicola-p-105 .bust {
  position: absolute; bottom: 40%; left: 39%; width: 18%; height: 30%;
  background: linear-gradient(180deg, #4a3a2e 0%, #2a1e14 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: pp-bust 8s ease-in-out infinite alternate;
}
.scn-publicola-p-105 .shadow-wall {
  position: absolute; bottom: 0; left: 0; right: 0; height: 60%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.3) 100%);
  animation: pp-shadow 12s ease-in-out infinite alternate;
}
.scn-publicola-p-105 .window-ray {
  position: absolute; top: 20%; left: 10%; width: 30%; height: 60%;
  background: linear-gradient(135deg, rgba(200,180,160,0.15) 0%, transparent 80%);
  clip-path: polygon(0% 0%, 100% 10%, 100% 90%, 0% 100%);
  animation: pp-ray 20s ease-in-out infinite alternate;
}
.scn-publicola-p-105 .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 18%;
  background: linear-gradient(180deg, #2a221e 0%, #1a1412 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0;
  animation: pp-floor 6s ease-in-out infinite;
}

@keyframes pp-pedestal { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes pp-bust { 0% { transform: scale(1) rotate(-1deg); } 50% { transform: scale(1.01) rotate(1deg); } 100% { transform: scale(1) rotate(-1deg); } }
@keyframes pp-shadow { 0% { opacity:0.5; } 50% { opacity:0.7; } 100% { opacity:0.5; } }
@keyframes pp-ray { 0% { opacity:0.3; transform: scaleY(1); } 50% { opacity:0.6; transform: scaleY(0.95); } 100% { opacity:0.3; transform: scaleY(1); } }
@keyframes pp-floor { 0% { transform: translateY(0); } 50% { transform: translateY(1px); } 100% { transform: translateY(0); } }
/* wall animation defined directly on element */
@keyframes pp-wall { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.85; } }

.scn-pausanias-x-24 {
  background: linear-gradient(180deg, #1e1a18 0%, #2a221e 50%, #201c1a 100%);
  background: radial-gradient(ellipse at 50% 80%, #2a1e1a 0%, transparent 70%);
}
.scn-pausanias-x-24 .chamber {
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, #2a2420 0%, #1e1a18 100%);
  animation: px-chamber 18s ease-in-out infinite alternate;
}
.scn-pausanias-x-24 .altar {
  position: absolute; bottom: 20%; left: 35%; width: 30%; height: 16%;
  background: linear-gradient(180deg, #3a2e24 0%, #261e16 100%);
  border-radius: 10% 10% 0 0; box-shadow: 0 4px 10px rgba(0,0,0,0.6);
  animation: px-altar 10s ease-in-out infinite;
}
.scn-pausanias-x-24 .flame {
  position: absolute; bottom: 36%; left: 46%; width: 8%; height: 20%;
  background: linear-gradient(180deg, #d4a04a 0%, #b08030 50%, #e0b060 100%);
  border-radius: 50% 50% 20% 20% / 80% 80% 30% 30%;
  filter: blur(2px); animation: px-flame 3s ease-in-out infinite alternate;
}
.scn-pausanias-x-24 .flame-glow {
  position: absolute; bottom: 30%; left: 40%; width: 20%; height: 30%;
  background: radial-gradient(circle, rgba(200,140,60,0.6) 0%, transparent 70%);
  border-radius: 50%; filter: blur(6px);
  animation: px-flame-glow 4s ease-in-out infinite alternate;
}
.scn-pausanias-x-24 .column-left {
  position: absolute; bottom: 10%; left: 10%; width: 6%; height: 60%;
  background: linear-gradient(180deg, #4a3e34 0%, #2e241e 100%);
  border-radius: 10% 10% 0 0; box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: px-column 20s ease-in-out infinite alternate;
}
.scn-pausanias-x-24 .column-right {
  position: absolute; bottom: 10%; right: 10%; width: 6%; height: 60%;
  background: linear-gradient(180deg, #4a3e34 0%, #2e241e 100%);
  border-radius: 10% 10% 0 0; box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: px-column 20s ease-in-out infinite alternate-reverse;
}
.scn-pausanias-x-24 .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 10%;
  background: linear-gradient(180deg, #2a221e 0%, #1c1814 100%);
  animation: px-floor 8s ease-in-out infinite;
}

@keyframes px-chamber { 0% { opacity:0.7; } 50% { opacity:0.9; } 100% { opacity:0.75; } }
@keyframes px-altar { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes px-flame { 0% { transform: scaleY(1) scaleX(1); } 50% { transform: scaleY(1.1) scaleX(0.8); } 100% { transform: scaleY(1) scaleX(1); } }
@keyframes px-flame-glow { 0% { opacity:0.5; transform: scale(0.9); } 50% { opacity:0.8; transform: scale(1.1); } 100% { opacity:0.5; transform: scale(0.9); } }
@keyframes px-column { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.98); } 100% { transform: scaleY(1); } }
@keyframes px-floor { 0% { transform: translateY(0); } 50% { transform: translateY(1px); } 100% { transform: translateY(0); } }

.scn-catullus-tumidus-95 {
  background: linear-gradient(180deg, #1a1614 0%, #2a221e 50%, #1e1a18 100%);
  background: radial-gradient(ellipse at 50% 100%, #2a1e1a 0%, transparent 70%);
}
.scn-catullus-tumidus-95 .study-wall {
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, #2a2420 0%, #1c1816 100%);
  animation: ct-wall 20s ease-in-out infinite alternate;
}
.scn-catullus-tumidus-95 .table {
  position: absolute; bottom: 12%; left: 20%; width: 60%; height: 22%;
  background: linear-gradient(180deg, #4a3528 0%, #2e1e16 100%);
  border-radius: 6px; box-shadow: 0 4px 10px rgba(0,0,0,0.5);
  animation: ct-table 8s ease-in-out infinite;
}
.scn-catullus-tumidus-95 .lamp {
  position: absolute; bottom: 34%; left: 45%; width: 10px; height: 40px;
  background: linear-gradient(180deg, #d4a85a 0%, #b08040 100%);
  border-radius: 2px 2px 0 0; box-shadow: 0 0 8px rgba(200,160,80,0.3);
  animation: ct-lamp 5s ease-in-out infinite;
}
.scn-catullus-tumidus-95 .lamp-glow {
  position: absolute; bottom: 34%; left: 41%; width: 18%; height: 30%;
  background: radial-gradient(circle, #d4a85a 0%, rgba(180,120,60,0.4) 50%, transparent 100%);
  border-radius: 50%; filter: blur(8px);
  animation: ct-lamp-glow 4s ease-in-out infinite alternate;
}
.scn-catullus-tumidus-95 .figure-writer {
  position: absolute; bottom: 16%; left: 30%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #1a1412 0%, #0e0a08 100%);
  border-radius: 50% 40% 30% 40% / 60% 50% 40% 50%;
  transform-origin: bottom center; animation: ct-figure 6s ease-in-out infinite;
}
.scn-catullus-tumidus-95 .scroll-large {
  position: absolute; bottom: 14%; left: 38%; width: 30%; height: 10%;
  background: linear-gradient(180deg, #d4be9e 0%, #b8a080 100%);
  border-radius: 40% 40% 20% 20% / 80% 80% 30% 30%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: ct-scroll 8s ease-in-out infinite alternate;
}
.scn-catullus-tumidus-95 .shadow {
  position: absolute; bottom: 0; left: 25%; width: 50%; height: 20%;
  background: linear-gradient(180deg, rgba(0,0,0,0.2) 0%, transparent 100%);
  filter: blur(6px); animation: ct-shadow 10s ease-in-out infinite alternate;
}

@keyframes ct-wall { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes ct-table { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes ct-lamp { 0% { transform: scaleY(1) rotate(-2deg); } 50% { transform: scaleY(1.02) rotate(2deg); } 100% { transform: scaleY(1) rotate(-2deg); } }
@keyframes ct-lamp-glow { 0% { opacity:0.6; transform: scale(0.9); } 50% { opacity:0.9; transform: scale(1.1); } 100% { opacity:0.6; transform: scale(0.9); } }
@keyframes ct-figure { 0% { transform: translateX(0) rotate(3deg); } 50% { transform: translateX(5px) rotate(-3deg); } 100% { transform: translateX(0) rotate(3deg); } }
@keyframes ct-scroll { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-2px) scaleX(1.05); } 100% { transform: translateY(0) scaleX(1); } }
@keyframes ct-shadow { 0% { opacity:0.3; } 50% { opacity:0.5; } 100% { opacity:0.3; } }

.scn-dining-together {
  background:
    linear-gradient(180deg, #302018 0%, #4a3328 40%, #2a1a10 100%),
    radial-gradient(ellipse at 50% 100%, #5a4030 0%, transparent 70%);
}
.scn-dining-together .bg-wall     { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #5a3a28 0%, #3a2218 100%); box-shadow: inset 0 0 60px rgba(0,0,0,.3); }
.scn-dining-together .table       { position:absolute; bottom:10%; left:15%; right:15%; height:8%; background: linear-gradient(180deg, #7a5a3a 0%, #4a2a18 100%); border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,.5); animation: dt1-table 6s ease-in-out infinite; }
.scn-dining-together .figure-left { position:absolute; bottom:18%; left:20%; width:20px; height:50px; background: linear-gradient(180deg, #5a3a28 0%, #3a2218 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dt1-figure-l 4s ease-in-out infinite; }
.scn-dining-together .figure-right{ position:absolute; bottom:18%; right:20%; width:18px; height:48px; background: linear-gradient(180deg, #8a6a4a 0%, #5a3a28 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dt1-figure-r 4s ease-in-out infinite alternate; }
.scn-dining-together .candle      { position:absolute; bottom:20%; left:50%; width:6px; height:12px; transform:translateX(-50%); background: linear-gradient(180deg, #ffe0a0 0%, #d08040 100%); border-radius: 40%; box-shadow: 0 0 20px 6px #e09050, 0 0 40px 12px rgba(224,144,80,.4); animation: dt1-candle 2s ease-in-out infinite alternate; }
.scn-dining-together .plate       { position:absolute; bottom:12%; left:42%; width:30px; height:6px; background: radial-gradient(ellipse, #b09070 0%, #8a6a4a 100%); border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,.3); animation: dt1-plate 8s ease-in-out infinite; }
@keyframes dt1-table      { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(.96) } }
@keyframes dt1-figure-l   { 0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(2px) rotate(0) } 50% { transform: translateX(0) rotate(1deg) } 75% { transform: translateX(-2px) rotate(0) } 100% { transform: translateX(0) rotate(-1deg) } }
@keyframes dt1-figure-r   { 0%,100% { transform: scaleY(1) translateX(0) } 50% { transform: scaleY(1.02) translateX(-1px) } }
@keyframes dt1-candle     { 0% { opacity:.7; box-shadow: 0 0 12px 4px #e09050 } 50% { opacity:1; box-shadow: 0 0 28px 8px #ffb060 } 100% { opacity:.8; box-shadow: 0 0 16px 5px #e09050 } }
@keyframes dt1-plate      { 0% { transform: rotate(-2deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-2deg) } }

.scn-persian-kings-wives-banquets {
  background:
    linear-gradient(180deg, #1a1028 0%, #2a1a38 50%, #1a0a20 100%),
    radial-gradient(ellipse at 50% 80%, #3a2048 0%, transparent 70%);
}
.scn-persian-kings-wives-banquets .bg-hall        { position:absolute; inset:0; background: linear-gradient(180deg, rgba(40,20,60,.6) 0%, transparent 100%); }
.scn-persian-kings-wives-banquets .throne         { position:absolute; bottom:10%; left:10%; width:60px; height:80px; background: linear-gradient(180deg, #6a4a30 0%, #3a2018 100%); border-radius: 10% 10% 20% 20% / 30% 30% 40% 40%; box-shadow: 0 8px 20px rgba(0,0,0,.7); animation: pkb2-throne 12s ease-in-out infinite; }
.scn-persian-kings-wives-banquets .king-sil       { position:absolute; bottom:18%; left:14%; width:24px; height:50px; background: linear-gradient(180deg, #2a1a10 0%, #0a0502 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pkb2-king 6s ease-in-out infinite; }
.scn-persian-kings-wives-banquets .queen-sil      { position:absolute; bottom:18%; left:24%; width:22px; height:46px; background: linear-gradient(180deg, #3a2a18 0%, #1a0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pkb2-queen 6s ease-in-out infinite alternate; }
.scn-persian-kings-wives-banquets .banquet-table  { position:absolute; bottom:8%; left:15%; right:20%; height:6%; background: linear-gradient(180deg, #8a6a44 0%, #5a3a20 100%); border-radius: 4px; box-shadow: 0 3px 10px rgba(0,0,0,.5); }
.scn-persian-kings-wives-banquets .goblet         { position:absolute; bottom:14%; right:22%; width:10px; height:16px; background: linear-gradient(180deg, #c0a070 0%, #806040 100%); border-radius: 0 0 30% 30%; box-shadow: 0 0 8px 2px rgba(160,120,80,.3); animation: pkb2-goblet 5s ease-in-out infinite; }
@keyframes pkb2-throne { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(.97) translateY(1px) } }
@keyframes pkb2-king   { 0% { transform: rotate(-1deg) } 25% { transform: rotate(0) translateY(-1px) } 50% { transform: rotate(1deg) } 75% { transform: rotate(0) translateY(0) } 100% { transform: rotate(-1deg) } }
@keyframes pkb2-queen  { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.02) } 100% { transform: scaleX(1) } }
@keyframes pkb2-goblet { 0%,100% { transform: rotate(-3deg) translateY(0) } 50% { transform: rotate(3deg) translateY(-1px) } }

.scn-kings-make-artists {
  background:
    linear-gradient(180deg, #e8dcc8 0%, #c4b49a 50%, #a09078 100%),
    radial-gradient(ellipse at 70% 80%, #d0c0a0 0%, transparent 60%);
}
.scn-kings-make-artists .bg-room        { position:absolute; inset:0; background: linear-gradient(180deg, rgba(200,180,150,.2) 0%, transparent 100%); }
.scn-kings-make-artists .window         { position:absolute; top:5%; left:5%; width:40%; height:35%; background: radial-gradient(ellipse at 30% 40%, #fff8e0 0%, #d0c0a0 100%); border-radius: 10px; box-shadow: inset 0 0 20px rgba(0,0,0,.1), 0 0 40px 10px rgba(255,248,224,.3); animation: kma3-window 12s ease-in-out infinite alternate; }
.scn-kings-make-artists .desk           { position:absolute; bottom:15%; left:10%; right:10%; height:12%; background: linear-gradient(180deg, #8a7050 0%, #604830 100%); border-radius: 4px; box-shadow: 0 6px 12px rgba(0,0,0,.2); }
.scn-kings-make-artists .figure-seated  { position:absolute; bottom:27%; left:18%; width:20px; height:52px; background: linear-gradient(180deg, #4a3a28 0%, #2a1a10 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: kma3-figure 8s ease-in-out infinite; }
.scn-kings-make-artists .book           { position:absolute; bottom:18%; left:38%; width:16px; height:20px; background: linear-gradient(180deg, #a08060 0%, #705040 100%); border-radius: 6px; transform: rotate(-10deg); animation: kma3-book 10s ease-in-out infinite alternate; }
.scn-kings-make-artists .scroll         { position:absolute; bottom:16%; right:20%; width:10px; height:14px; background: linear-gradient(180deg, #d0b890 0%, #a08860 100%); border-radius: 0 0 40% 40%; animation: kma3-scroll 7s ease-in-out infinite; }
@keyframes kma3-window   { 0% { opacity:.85; box-shadow: inset 0 0 20px rgba(0,0,0,.1), 0 0 30px 8px rgba(255,248,224,.2) } 50% { opacity:1; box-shadow: inset 0 0 30px rgba(0,0,0,.05), 0 0 60px 16px rgba(255,248,224,.5) } 100% { opacity:.9; box-shadow: inset 0 0 20px rgba(0,0,0,.1), 0 0 40px 10px rgba(255,248,224,.3) } }
@keyframes kma3-figure   { 0% { transform: translateY(0) rotate(-1deg) } 25% { transform: translateY(-2px) rotate(0) } 50% { transform: translateY(0) rotate(1deg) } 75% { transform: translateY(-1px) rotate(0) } 100% { transform: translateY(0) rotate(-1deg) } }
@keyframes kma3-book     { 0%,100% { transform: rotate(-10deg) scaleX(1) } 50% { transform: rotate(-7deg) scaleX(1.02) } }
@keyframes kma3-scroll   { 0% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(5deg) translateY(-1px) } 100% { transform: rotate(-5deg) translateY(0) } }

.scn-lacedaemonian-maiden {
  background:
    linear-gradient(180deg, #1a1a28 0%, #2a2a3a 50%, #1a1a28 100%),
    radial-gradient(ellipse at 50% 30%, #3a3a4a 0%, transparent 70%);
}
.scn-lacedaemonian-maiden .bg-chamber    { position:absolute; inset:0; background: linear-gradient(180deg, rgba(30,30,40,.8) 0%, transparent 100%); }
.scn-lacedaemonian-maiden .column        { position:absolute; left:5%; top:5%; bottom:10%; width:8%; background: linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 100%); border-radius: 4px; box-shadow: inset 0 0 10px rgba(0,0,0,.3); }
.scn-lacedaemonian-maiden .figure-man    { position:absolute; bottom:15%; left:35%; width:22px; height:56px; background: linear-gradient(180deg, #3a3a4a 0%, #1a1a28 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: lm4-man 5s ease-in-out infinite; }
.scn-lacedaemonian-maiden .figure-maiden { position:absolute; bottom:15%; right:35%; width:20px; height:52px; background: linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: lm4-maiden 5s ease-in-out infinite alternate; }
.scn-lacedaemonian-maiden .floor         { position:absolute; bottom:0; left:0; right:0; height:10%; background: linear-gradient(180deg, #2a2a38 0%, #1a1a24 100%); }
.scn-lacedaemonian-maiden .lamp-glow     { position:absolute; bottom:22%; left:50%; width:8px; height:8px; transform:translateX(-50%); background: radial-gradient(circle, #e0c080 0%, #b09050 100%); border-radius: 50%; box-shadow: 0 0 30px 10px rgba(192,160,96,.6), 0 0 50px 20px rgba(192,160,96,.3); animation: lm4-lamp 3s ease-in-out infinite alternate; }
@keyframes lm4-man    { 0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(1px) rotate(0) } 50% { transform: translateX(0) rotate(1deg) } 75% { transform: translateX(-1px) rotate(0) } 100% { transform: translateX(0) rotate(-1deg) } }
@keyframes lm4-maiden { 0%,100% { transform: translateX(0) scaleY(1) } 50% { transform: translateX(1px) scaleY(1.02) } }
@keyframes lm4-lamp   { 0% { opacity:.7; box-shadow: 0 0 20px 6px rgba(192,160,96,.4) } 50% { opacity:1; box-shadow: 0 0 40px 14px rgba(192,160,96,.7) } 100% { opacity:.8; box-shadow: 0 0 25px 8px rgba(192,160,96,.5) } }

/* ===== plato-inspired-poet (pip) ===== */
.scn-plato-inspired-poet {
  background: linear-gradient(180deg, #f9f2d9 0%, #eed7a0 50%, #d9b66b 100%),
              radial-gradient(ellipse at 30% 20%, #fff8e0 0%, transparent 50%);
}
.scn-plato-inspired-poet .wall { position:absolute; inset:0; background: linear-gradient(135deg, #eed7a0 0%, #deb887 80%), radial-gradient(circle at 70% 40%, #f5deb3 0%, transparent 40%); opacity:0.6; }
.scn-plato-inspired-poet .window { position:absolute; top:8%; left:20%; width:30%; height:50%; background: linear-gradient(135deg, #87ceeb 0%, #b0d4f0 100%); border-radius:4px; box-shadow: inset 0 0 30px #fffacd; animation: pip-window 10s ease-in-out infinite alternate; }
.scn-plato-inspired-poet .sunrays { position:absolute; top:8%; left:20%; width:35%; height:60%; background: linear-gradient(45deg, rgba(255,255,200,0.3) 0%, transparent 60%); filter: blur(8px); animation: pip-rays 15s linear infinite; }
.scn-plato-inspired-poet .desk { position:absolute; bottom:22%; left:38%; width:40%; height:6%; background: linear-gradient(180deg, #b08858 0%, #8b6914 100%); border-radius:2px; box-shadow: 0 4px 6px rgba(0,0,0,0.2); }
.scn-plato-inspired-poet .poet { position:absolute; bottom:22%; left:45%; width:14%; height:30%; background: linear-gradient(180deg, #2a1a0a 0%, #0c0a06 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: pip-poet 4s ease-in-out infinite; }
.scn-plato-inspired-poet .scroll { position:absolute; bottom:22%; left:57%; width:8%; height:18%; background: linear-gradient(135deg, #ffe4b5 0%, #deb887 100%); border-radius: 0 0 10% 10%; transform: rotate(15deg); animation: pip-scroll 6s ease-in-out infinite alternate; }
.scn-plato-inspired-poet .muse { position:absolute; top:20%; right:15%; width:18%; height:30%; background: radial-gradient(circle, rgba(255,215,0,0.4) 0%, transparent 70%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; box-shadow: 0 0 60px 20px rgba(255,215,0,0.2); animation: pip-muse 8s ease-in-out infinite alternate; }
@keyframes pip-window { 0% { opacity:0.6; box-shadow: inset 0 0 20px #fffacd; } 50% { opacity:1; box-shadow: inset 0 0 50px #fffacd, 0 0 30px rgba(255,250,205,0.4); } 100% { opacity:0.7; box-shadow: inset 0 0 25px #fffacd; } }
@keyframes pip-rays { 0% { transform: skewX(-5deg) translateX(0); opacity:0.3; } 50% { transform: skewX(5deg) translateX(10px); opacity:0.6; } 100% { transform: skewX(-5deg) translateX(0); opacity:0.3; } }
@keyframes pip-poet { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(1deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes pip-scroll { 0% { transform: rotate(15deg) scaleY(1); } 50% { transform: rotate(12deg) scaleY(1.05); } 100% { transform: rotate(15deg) scaleY(1); } }
@keyframes pip-muse { 0% { opacity:0.3; transform: scale(0.95) translateY(0); } 50% { opacity:0.7; transform: scale(1.05) translateY(-5px); } 100% { opacity:0.3; transform: scale(0.95) translateY(0); } }

/* ===== stoics-use-praise-rebuke (sup) ===== */
.scn-stoics-use-praise-rebuke {
  background: linear-gradient(180deg, #fef9e7 0%, #fae5c3 50%, #ebd5a0 100%),
              radial-gradient(ellipse at 50% 30%, #fff8dc 0%, transparent 40%);
}
.scn-stoics-use-praise-rebuke .room { position:absolute; inset:0; background: linear-gradient(135deg, #f5deb3 0%, #e6c98e 100%); opacity:0.5; }
.scn-stoics-use-praise-rebuke .teacher { position:absolute; bottom:25%; left:35%; width:15%; height:35%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1510 100%); border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%; transform-origin: bottom center; animation: sup-teacher 6s ease-in-out infinite; }
.scn-stoics-use-praise-rebuke .youth-praised { position:absolute; bottom:25%; left:55%; width:12%; height:28%; background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; animation: sup-praised 5s ease-in-out infinite; }
.scn-stoics-use-praise-rebuke .youth-rebuked { position:absolute; bottom:25%; right:20%; width:12%; height:24%; background: linear-gradient(180deg, #4a3a2a 0%, #1a1510 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform: scaleX(-1); animation: sup-rebuked 5s ease-in-out infinite; }
.scn-stoics-use-praise-rebuke .lectern { position:absolute; bottom:25%; left:51%; width:6%; height:40%; background: linear-gradient(180deg, #8b6914 0%, #6b4914 100%); border-radius: 2px 2px 0 0; box-shadow: 0 4px 6px rgba(0,0,0,0.2); }
.scn-stoics-use-praise-rebuke .light-beam { position:absolute; top:5%; left:40%; width:20%; height:60%; background: linear-gradient(135deg, rgba(255,255,224,0.3) 0%, transparent 60%); filter: blur(10px); animation: sup-beam 12s ease-in-out infinite alternate; }
@keyframes sup-teacher { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-2px) rotate(1deg); } 60% { transform: translateY(0) rotate(0deg); } 100% { transform: translateY(1px) rotate(-1deg); } }
@keyframes sup-praised { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-3px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes sup-rebuked { 0% { transform: scaleX(-1) translateY(0) scaleY(0.95); } 50% { transform: scaleX(-1) translateY(2px) scaleY(0.90); } 100% { transform: scaleX(-1) translateY(0) scaleY(0.95); } }
@keyframes sup-beam { 0% { opacity:0.2; transform: skewY(0deg); } 50% { opacity:0.5; transform: skewY(5deg); } 100% { opacity:0.2; transform: skewY(0deg); } }

/* ===== diogenes-plato-pain (dpp) ===== */
.scn-diogenes-plato-pain {
  background: linear-gradient(180deg, #f9e6c8 0%, #ebd1a0 50%, #d9b87a 100%),
              radial-gradient(ellipse at 40% 20%, #fff8dc 0%, transparent 50%);
}
.scn-diogenes-plato-pain .bg { position:absolute; inset:0; background: linear-gradient(135deg, #f0d9b5 0%, #dfc298 100%); opacity:0.6; }
.scn-diogenes-plato-pain .diogenes { position:absolute; bottom:25%; left:30%; width:14%; height:35%; background: linear-gradient(180deg, #4a3a2a 0%, #1a1510 100%); border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%; transform-origin: bottom center; animation: dpp-diogenes 4s ease-in-out infinite; }
.scn-diogenes-plato-pain .plato { position:absolute; bottom:25%; right:30%; width:16%; height:40%; background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%); border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%; animation: dpp-plato 5s ease-in-out infinite; }
.scn-diogenes-plato-pain .lantern { position:absolute; bottom:42%; left:33%; width:6%; height:6%; background: radial-gradient(circle, #ffd700 0%, #b8860b 70%); border-radius: 50%; box-shadow: 0 0 20px 8px rgba(255,215,0,0.6), 0 0 40px 15px rgba(255,215,0,0.3); animation: dpp-lantern 3s ease-in-out infinite alternate; }
.scn-diogenes-plato-pain .scroll-plato { position:absolute; bottom:30%; right:38%; width:8%; height:16%; background: linear-gradient(135deg, #f5deb3 0%, #deb887 100%); border-radius: 0 0 8% 8%; transform: rotate(-10deg); animation: dpp-scroll 7s ease-in-out infinite alternate; }
.scn-diogenes-plato-pain .shadow-spot { position:absolute; bottom:25%; left:25%; width:50%; height:8%; background: radial-gradient(ellipse, rgba(0,0,0,0.2) 0%, transparent 70%); filter: blur(4px); animation: dpp-spot 6s ease-in-out infinite; }
@keyframes dpp-diogenes { 0% { transform: translateY(0) rotate(2deg); } 25% { transform: translateY(-3px) rotate(0deg); } 50% { transform: translateY(1px) rotate(-2deg); } 75% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(2deg); } }
@keyframes dpp-plato { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-4px) scaleY(1.03); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes dpp-lantern { 0% { opacity:0.7; box-shadow: 0 0 20px 8px rgba(255,215,0,0.6), 0 0 40px 15px rgba(255,215,0,0.3); } 100% { opacity:1; box-shadow: 0 0 30px 12px rgba(255,215,0,0.8), 0 0 60px 25px rgba(255,215,0,0.4); } }
@keyframes dpp-scroll { 0% { transform: rotate(-10deg) scaleY(1); } 50% { transform: rotate(-8deg) scaleY(1.04); } 100% { transform: rotate(-10deg) scaleY(1); } }
@keyframes dpp-spot { 0% { transform: scaleX(1); opacity:0.5; } 50% { transform: scaleX(1.2); opacity:0.8; } 100% { transform: scaleX(1); opacity:0.5; } }

/* ===== emotions-handles-of-philosophy (ehp) ===== */
.scn-emotions-handles-of-philosophy {
  background: linear-gradient(180deg, #fef4e0 0%, #f2dcb6 50%, #e0c68a 100%),
              radial-gradient(ellipse at 60% 30%, #fff5e0 0%, transparent 50%);
}
.scn-emotions-handles-of-philosophy .backdrop { position:absolute; inset:0; background: linear-gradient(135deg, #f5e1c0 0%, #e6cc9e 100%); opacity:0.5; }
.scn-emotions-handles-of-philosophy .philosopher { position:absolute; bottom:20%; left:40%; width:18%; height:40%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1510 100%); border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%; transform-origin: bottom center; animation: ehp-philo 6s ease-in-out infinite; }
.scn-emotions-handles-of-philosophy .youth-shame { position:absolute; bottom:20%; left:20%; width:12%; height:26%; background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; animation: ehp-shame 5s ease-in-out infinite; }
.scn-emotions-handles-of-philosophy .youth-desire { position:absolute; bottom:20%; right:20%; width:12%; height:30%; background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; animation: ehp-desire 5s ease-in-out infinite alternate; }
.scn-emotions-handles-of-philosophy .handle-shame { position:absolute; bottom:35%; left:32%; width:4%; height:8%; background: linear-gradient(135deg, #b0864a 0%, #8a6630 100%); border-radius: 40%; box-shadow: 0 0 10px 2px rgba(176,134,74,0.4); animation: ehp-handle1 8s ease-in-out infinite alternate; }
.scn-emotions-handles-of-philosophy .handle-desire { position:absolute; bottom:35%; right:32%; width:4%; height:8%; background: linear-gradient(135deg, #c89650 0%, #a07638 100%); border-radius: 40%; box-shadow: 0 0 10px 2px rgba(200,150,80,0.4); animation: ehp-handle2 8s ease-in-out infinite alternate-reverse; }
.scn-emotions-handles-of-philosophy .glow-aura { position:absolute; bottom:15%; left:35%; width:30%; height:30%; background: radial-gradient(circle, rgba(255,215,0,0.15) 0%, transparent 70%); filter: blur(20px); animation: ehp-glow 10s ease-in-out infinite alternate; }
@keyframes ehp-philo { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-2px) rotate(1deg); } 60% { transform: translateY(1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ehp-shame { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(3px) scaleY(0.9); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes ehp-desire { 0% { transform: translateY(0) scaleY(1) rotate(-2deg); } 50% { transform: translateY(-4px) scaleY(1.05) rotate(2deg); } 100% { transform: translateY(0) scaleY(1) rotate(-2deg); } }
@keyframes ehp-handle1 { 0% { opacity:0.3; transform: translateX(0); } 50% { opacity:0.8; transform: translateX(8px); } 100% { opacity:0.3; transform: translateX(0); } }
@keyframes ehp-handle2 { 0% { opacity:0.3; transform: translateX(0); } 50% { opacity:0.8; transform: translateX(-8px); } 100% { opacity:0.3; transform: translateX(0); } }
@keyframes ehp-glow { 0% { opacity:0.2; transform: scale(0.9); } 50% { opacity:0.5; transform: scale(1.2); } 100% { opacity:0.2; transform: scale(0.9); } }

.scn-thucydides-envy-important-matters {
  background: linear-gradient(165deg, #2b1f1a 0%, #1c1412 60%, #3a2a20 100%);
  background-blend-mode: multiply;
}
.scn-thucydides-envy-important-matters .bg-wall {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 30%, #3a2a20 0%, #1c1412 100%);
  animation: thi-wall 20s ease-in-out infinite alternate;
}
.scn-thucydides-envy-important-matters .desk {
  position: absolute; bottom: 10%; left: 15%; right: 50%; height: 5%;
  background: linear-gradient(180deg, #5a3f2e 0%, #3a281c 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.scn-thucydides-envy-important-matters .book {
  position: absolute; bottom: 16%; left: 22%; width: 30px; height: 20px;
  background: linear-gradient(135deg, #8b6b42 0%, #5a3f2e 100%);
  border-radius: 2px;
  transform: rotate(-5deg);
}
.scn-thucydides-envy-important-matters .figure-sage {
  position: absolute; bottom: 12%; left: 18%; width: 24px; height: 48px;
  background: linear-gradient(180deg, #3a2a20 0%, #1c1412 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: thi-sage 6s ease-in-out infinite;
}
.scn-thucydides-envy-important-matters .figure-disciple {
  position: absolute; bottom: 14%; left: 38%; width: 20px; height: 42px;
  background: linear-gradient(180deg, #4a3528 0%, #2a1e18 100%);
  border-radius: 30% 30% 35% 35% / 50% 50% 30% 30%;
  transform: scaleX(-1);
  animation: thi-disciple 8s ease-in-out infinite alternate;
}
.scn-thucydides-envy-important-matters .lamp-base {
  position: absolute; bottom: 18%; left: 52%; width: 8px; height: 14px;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a3020 100%);
  border-radius: 20% 20% 10% 10%;
  transform: translateX(-50%);
}
.scn-thucydides-envy-important-matters .lamp-glow {
  position: absolute; bottom: 30%; left: 52%; width: 20px; height: 30px;
  background: radial-gradient(circle, #d49a5a 0%, #b0763a 40%, transparent 70%);
  border-radius: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 30px 10px rgba(180, 118, 58, 0.5);
  animation: thi-lamp 3s ease-in-out infinite alternate;
}
@keyframes thi-wall {
  0%   { opacity: 1; }
  50%  { opacity: 0.8; }
  100% { opacity: 1; }
}
@keyframes thi-sage {
  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 thi-disciple {
  0%,100% { transform: scaleX(-1) translateX(0); }
  50%  { transform: scaleX(-1) translateX(4px); }
}
@keyframes thi-lamp {
  0%   { opacity: 0.7; box-shadow: 0 0 20px 5px rgba(180,118,58,0.4); }
  50%  { opacity: 1;   box-shadow: 0 0 40px 15px rgba(180,118,58,0.6); }
  100% { opacity: 0.8; box-shadow: 0 0 25px 8px rgba(180,118,58,0.5); }
}

.scn-observe-good-points-praise-first {
  background: linear-gradient(180deg, #f2e8d5 0%, #e4d5b8 50%, #cbb38a 100%);
}
.scn-observe-good-points-praise-first .room-bg {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 60% 40%, #fff8e7 0%, #d9c5a8 100%);
  opacity: 0.8;
}
.scn-observe-good-points-praise-first .window {
  position: absolute; top: 15%; left: 55%; width: 80px; height: 100px;
  background: linear-gradient(180deg, #b8d4e8 0%, #d6e8f0 100%);
  border: 4px solid #7a5e3a;
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(255,255,200,0.5);
  animation: obs-window 12s ease-in-out infinite alternate;
}
.scn-observe-good-points-praise-first .sunbeam {
  position: absolute; top: 20%; left: 58%; width: 120px; height: 200px;
  background: linear-gradient(180deg, rgba(255,240,180,0.4) 0%, transparent 100%);
  transform: rotate(-15deg);
  transform-origin: top left;
  animation: obs-beam 8s ease-in-out infinite alternate;
}
.scn-observe-good-points-praise-first .figure-praiser {
  position: absolute; bottom: 15%; left: 30%; width: 22px; height: 48px;
  background: linear-gradient(180deg, #8b7355 0%, #5a4735 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: obs-praiser 5s ease-in-out infinite;
}
.scn-observe-good-points-praise-first .figure-listener {
  position: absolute; bottom: 18%; left: 18%; width: 20px; height: 44px;
  background: linear-gradient(180deg, #7a6045 0%, #4a3828 100%);
  border-radius: 30% 30% 35% 35% / 50% 50% 30% 30%;
  transform: scaleX(-1);
  animation: obs-listener 7s ease-in-out infinite alternate;
}
.scn-observe-good-points-praise-first .plant {
  position: absolute; bottom: 10%; left: 50%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #4a7a3a 0%, #2a4a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform: rotate(-10deg);
  animation: obs-plant 15s ease-in-out infinite;
}
.scn-observe-good-points-praise-first .table {
  position: absolute; bottom: 10%; left: 20%; right: 35%; height: 4%;
  background: linear-gradient(180deg, #8b6b42 0%, #5a3f2e 100%);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}
@keyframes obs-window {
  0%,100% { background: linear-gradient(180deg, #b8d4e8 0%, #d6e8f0 100%); }
  50%  { background: linear-gradient(180deg, #c4e0f0 0%, #e0f0f8 100%); }
}
@keyframes obs-beam {
  0%   { opacity: 0.3; transform: rotate(-15deg) scaleY(1); }
  50%  { opacity: 0.7; transform: rotate(-10deg) scaleY(1.1); }
  100% { opacity: 0.4; transform: rotate(-18deg) scaleY(0.9); }
}
@keyframes obs-praiser {
  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 obs-listener {
  0%,100% { transform: scaleX(-1) translateX(0); }
  50%  { transform: scaleX(-1) translateX(3px); }
}
@keyframes obs-plant {
  0%,100% { transform: rotate(-10deg); }
  50%  { transform: rotate(5deg); }
}

.scn-nestor-agamemnon-lofty-passion {
  background: linear-gradient(180deg, #1a1620 0%, #2a2030 40%, #3a2a40 100%);
}
.scn-nestor-agamemnon-lofty-passion .hall-bg {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 20%, #4a3a5a 0%, #1a1620 100%);
  animation: nes-bg 20s ease-in-out infinite alternate;
}
.scn-nestor-agamemnon-lofty-passion .pillar-left {
  position: absolute; top: 5%; bottom: 5%; left: 8%; width: 12px;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1e1a 100%);
  border-radius: 4px;
  box-shadow: 2px 0 6px rgba(0,0,0,0.5);
}
.scn-nestor-agamemnon-lofty-passion .pillar-right {
  position: absolute; top: 5%; bottom: 5%; right: 8%; width: 12px;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1e1a 100%);
  border-radius: 4px;
  box-shadow: -2px 0 6px rgba(0,0,0,0.5);
}
.scn-nestor-agamemnon-lofty-passion .throne {
  position: absolute; bottom: 12%; left: 35%; right: 35%; height: 30px;
  background: linear-gradient(180deg, #6a5a3a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 5% 5% / 30% 30% 10% 10%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  transform: perspective(400px) rotateX(10deg);
}
.scn-nestor-agamemnon-lofty-passion .figure-nestor {
  position: absolute; bottom: 18%; left: 20%; width: 20px; height: 46px;
  background: linear-gradient(180deg, #6a5a4a 0%, #3a2a20 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: nes-nestor 8s ease-in-out infinite alternate;
}
.scn-nestor-agamemnon-lofty-passion .figure-agamemnon {
  position: absolute; bottom: 18%; left: 55%; width: 24px; height: 52px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e12 100%);
  border-radius: 30% 30% 35% 35% / 50% 50% 25% 25%;
  animation: nes-agamemnon 6s ease-in-out infinite;
}
.scn-nestor-agamemnon-lofty-passion .torch {
  position: absolute; bottom: 45%; left: 45%; width: 6px; height: 20px;
  background: linear-gradient(180deg, #a06830 0%, #4a2a10 100%);
  border-radius: 20%;
}
.scn-nestor-agamemnon-lofty-passion .torch::after {
  content: '';
  position: absolute; bottom: 80%; left: 50%; width: 16px; height: 20px;
  background: radial-gradient(circle, #d49a5a 0%, #b0763a 40%, transparent 70%);
  transform: translateX(-50%);
  border-radius: 50%;
  box-shadow: 0 0 20px 6px rgba(180,118,58,0.5);
  animation: nes-torch 2s ease-in-out infinite alternate;
}
@keyframes nes-bg {
  0%,100% { opacity: 0.8; }
  50%  { opacity: 1; }
}
@keyframes nes-nestor {
  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 nes-agamemnon {
  0%,100% { transform: translateX(0) rotate(0deg); }
  50%  { transform: translateX(3px) rotate(-1deg); }
}
@keyframes nes-torch {
  0%   { opacity: 0.6; box-shadow: 0 0 15px 3px rgba(180,118,58,0.4); }
  50%  { opacity: 1;   box-shadow: 0 0 30px 10px rgba(180,118,58,0.6); }
  100% { opacity: 0.7; box-shadow: 0 0 20px 5px rgba(180,118,58,0.5); }
}

.scn-high-spirited-cowardice-imputation {
  background: linear-gradient(180deg, #0f0f1a 0%, #1a1420 40%, #2a1e30 100%);
}
.scn-high-spirited-cowardice-imputation .bg-deep {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 60%, #3a2a4a 0%, #0f0f1a 100%);
  animation: high-bg 30s ease-in-out infinite alternate;
}
.scn-high-spirited-cowardice-imputation .column {
  position: absolute; top: 5%; bottom: 5%; left: 50%; width: 8px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e12 100%);
  border-radius: 4px;
  transform: translateX(-50%);
  box-shadow: 0 0 12px rgba(0,0,0,0.7);
}
.scn-high-spirited-cowardice-imputation .figure-hero {
  position: absolute; bottom: 12%; left: 30%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #3a2a20 0%, #1c1412 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: high-hero 5s ease-in-out infinite;
}
.scn-high-spirited-cowardice-imputation .figure-accuser {
  position: absolute; bottom: 15%; left: 55%; width: 18px; height: 40px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e12 100%);
  border-radius: 35% 35% 30% 30% / 50% 50% 25% 25%;
  transform: scaleX(-1);
  animation: high-accuser 7s ease-in-out infinite alternate;
}
.scn-high-spirited-cowardice-imputation .shadow-cloak {
  position: absolute; bottom: 10%; left: 50%; width: 40px; height: 60px;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.7) 0%, transparent 60%);
  border-radius: 50%;
  transform: translateX(-30px);
  animation: high-cloak 10s ease-in-out infinite alternate;
}
.scn-high-spirited-cowardice-imputation .lantern {
  position: absolute; bottom: 45%; left: 40%; width: 6px; height: 12px;
  background: linear-gradient(180deg, #7a5a3a 0%, #3a2a1a 100%);
  border-radius: 20%;
}
.scn-high-spirited-cowardice-imputation .lantern::after {
  content: '';
  position: absolute; bottom: 80%; left: 50%; width: 14px; height: 18px;
  background: radial-gradient(circle, #d49a5a 0%, #b0763a 40%, transparent 70%);
  transform: translateX(-50%);
  border-radius: 50%;
  box-shadow: 0 0 15px 4px rgba(180,118,58,0.4);
  animation: high-lantern 3s ease-in-out infinite alternate;
}
@keyframes high-bg {
  0%,100% { opacity: 0.7; }
  50%  { opacity: 1; }
}
@keyframes high-hero {
  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 high-accuser {
  0%,100% { transform: scaleX(-1) translateX(0); }
  50%  { transform: scaleX(-1) translateX(3px); }
}
@keyframes high-cloak {
  0%,100% { transform: translateX(-30px) scaleX(1); }
  50%  { transform: translateX(-20px) scaleX(1.1); }
}
@keyframes high-lantern {
  0%   { opacity: 0.6; box-shadow: 0 0 10px 2px rgba(180,118,58,0.3); }
  50%  { opacity: 1;   box-shadow: 0 0 25px 8px rgba(180,118,58,0.5); }
  100% { opacity: 0.7; box-shadow: 0 0 15px 4px rgba(180,118,58,0.4); }
}

.scn-virtue-musical-mean { background: linear-gradient(135deg, #f9f3e6 0%, #e8dcc8 50%, #d4c4a8 100%), radial-gradient(ellipse at 60% 40%, #fff6e5 0%, transparent 60%); }
.scn-virtue-musical-mean .wall { position:absolute; inset:0; background: linear-gradient(180deg, #fdf6ef 0%, #efe3d1 100%); }
.scn-virtue-musical-mean .window { position:absolute; top:15%; left:38%; width:120px; height:160px; background: linear-gradient(180deg, #cfe4f0 0%, #aac6d6 100%); border:6px solid #c8b89a; border-radius:4px; box-shadow:inset 0 0 40px rgba(255,255,240,0.6); }
.scn-virtue-musical-mean .pedestal { position:absolute; bottom:22%; left:50%; width:80px; height:20px; transform:translateX(-50%); background: linear-gradient(180deg, #b8a080 0%, #8a6e4e 100%); border-radius:4px 4px 0 0; box-shadow:0 4px 8px rgba(60,40,20,0.3); }
.scn-virtue-musical-mean .lyre { position:absolute; bottom:calc(22% + 20px); left:50%; width:28px; height:60px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 40%, #c8a060 0%, #a07848 60%, #684828 100%); border-radius:50% 50% 20% 20%; box-shadow:0 0 12px rgba(200,160,96,0.4); animation: vmm-lyre 6s ease-in-out infinite alternate; }
.scn-virtue-musical-mean .candle { position:absolute; bottom:22%; left:30%; width:12px; height:40px; background: linear-gradient(180deg, #f0e0b0 0%, #d0b080 100%); border-radius:4px; }
.scn-virtue-musical-mean .glow { position:absolute; bottom:26%; left:28%; width:40px; height:40px; background: radial-gradient(circle, #ffe8a0 0%, rgba(255,232,160,0.3) 60%, transparent 100%); border-radius:50%; animation: vmm-glow 4s ease-in-out infinite alternate; }
@keyframes vmm-lyre { 0% { transform:translateX(-50%) scale(1) rotate(0deg); } 50% { transform:translateX(-50%) scale(1.02) rotate(2deg); } 100% { transform:translateX(-50%) scale(0.98) rotate(-2deg); } }
@keyframes vmm-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-examples-of-mean { background: linear-gradient(180deg, #f7efe0 0%, #e6d4b8 50%, #cdb392 100%), radial-gradient(ellipse at 30% 70%, #fff3e0 0%, transparent 60%); }
.scn-examples-of-mean .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #d4bea0 0%, #b39878 100%); border-radius:0 0 20px 20px; }
.scn-examples-of-mean .center-figure { position:absolute; bottom:35%; left:50%; width:40px; height:90px; transform:translateX(-50%); background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%); border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; animation: eom-figure 5s ease-in-out infinite alternate; }
.scn-examples-of-mean .left-figure { position:absolute; bottom:35%; left:25%; width:30px; height:70px; transform:translateX(-50%); background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%); border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; filter:brightness(0.7); animation: eom-figure-left 6s ease-in-out infinite alternate; }
.scn-examples-of-mean .right-figure { position:absolute; bottom:35%; left:75%; width:38px; height:85px; transform:translateX(-50%); background: linear-gradient(180deg, #9a8a7a 0%, #6a5a4a 100%); border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; filter:brightness(1.2); animation: eom-figure-right 7s ease-in-out infinite alternate; }
.scn-examples-of-mean .halo-center { position:absolute; bottom:55%; left:50%; width:80px; height:40px; transform:translateX(-50%); background: radial-gradient(ellipse, rgba(255,240,200,0.5) 0%, transparent 70%); border-radius:50%; animation: eom-halo 4s ease-in-out infinite alternate; }
@keyframes eom-figure { 0% { transform:translateX(-50%) scale(1) rotate(0deg); } 50% { transform:translateX(-50%) scale(1.03) rotate(1deg); } 100% { transform:translateX(-50%) scale(0.97) rotate(-1deg); } }
@keyframes eom-figure-left { 0% { transform:translateX(-50%) scale(0.9) rotate(-2deg); } 50% { transform:translateX(-50%) scale(0.85) rotate(0deg); } 100% { transform:translateX(-50%) scale(0.88) rotate(3deg); } }
@keyframes eom-figure-right { 0% { transform:translateX(-50%) scale(1.1) rotate(2deg); } 50% { transform:translateX(-50%) scale(1.15) rotate(0deg); } 100% { transform:translateX(-50%) scale(1.08) rotate(-3deg); } }
@keyframes eom-halo { 0% { opacity:0.6; transform:translateX(-50%) scale(0.9); } 50% { opacity:1; transform:translateX(-50%) scale(1.1); } 100% { opacity:0.7; transform:translateX(-50%) scale(0.95); } }

.scn-temperance-continence-difference { background: linear-gradient(90deg, #faf3e8 0%, #eee4d0 50%, #dad0b8 100%), radial-gradient(ellipse at 50% 40%, #fff8ec 0%, transparent 70%); }
.scn-temperance-continence-difference .bg-inner { position:absolute; inset:10% 5% 10% 5%; background: linear-gradient(180deg, #f5edd8 0%, #e6dac0 100%); border-radius:16px; box-shadow:inset 0 0 30px rgba(0,0,0,0.05); }
.scn-temperance-continence-difference .chariot-left { position:absolute; bottom:25%; left:30%; width:50px; height:30px; transform:translateX(-50%); background: linear-gradient(180deg, #b8a080 0%, #8a6e4e 100%); border-radius:30% 30% 10% 10%; animation: tcd-chariot-l 5s ease-in-out infinite alternate; }
.scn-temperance-continence-difference .chariot-right { position:absolute; bottom:25%; left:70%; width:50px; height:30px; transform:translateX(-50%); background: linear-gradient(180deg, #b8a080 0%, #8a6e4e 100%); border-radius:30% 30% 10% 10%; animation: tcd-chariot-r 5s ease-in-out infinite alternate; }
.scn-temperance-continence-difference .horse-calm { position:absolute; bottom:30%; left:30%; width:70px; height:40px; transform:translateX(-50%); background: radial-gradient(ellipse at 40% 50%, #a09880 0%, #706850 100%); border-radius:40% 60% 30% 50% / 50% 60% 40% 40%; animation: tcd-horse-calm 8s ease-in-out infinite; }
.scn-temperance-continence-difference .horse-wild { position:absolute; bottom:30%; left:70%; width:80px; height:45px; transform:translateX(-50%); background: radial-gradient(ellipse at 40% 50%, #c0b098 0%, #8a7a60 100%); border-radius:50% 50% 30% 40% / 50% 60% 30% 50%; animation: tcd-horse-wild 3s ease-in-out infinite; }
.scn-temperance-continence-difference .reins-calm { position:absolute; bottom:28%; left:30%; width:30px; height:2px; transform:translateX(-50%) rotate(-20deg); background:#b8a080; animation: tcd-reins-calm 5s ease-in-out infinite alternate; }
.scn-temperance-continence-difference .reins-wild { position:absolute; bottom:28%; left:70%; width:30px; height:2px; transform:translateX(-50%) rotate(25deg); background:#b8a080; animation: tcd-reins-wild 3s ease-in-out infinite alternate; }
@keyframes tcd-chariot-l { 0% { transform:translateX(-50%) rotate(0deg); } 50% { transform:translateX(-50%) rotate(2deg); } 100% { transform:translateX(-50%) rotate(0deg); } }
@keyframes tcd-chariot-r { 0% { transform:translateX(-50%) rotate(0deg); } 50% { transform:translateX(-50%) rotate(-3deg); } 100% { transform:translateX(-50%) rotate(0deg); } }
@keyframes tcd-horse-calm { 0% { transform:translateX(-50%) rotate(0deg); } 50% { transform:translateX(-50%) rotate(1deg); } 100% { transform:translateX(-50%) rotate(-1deg); } }
@keyframes tcd-horse-wild { 0% { transform:translateX(-50%) rotate(-5deg) scale(1); } 50% { transform:translateX(-50%) rotate(5deg) scale(1.05); } 100% { transform:translateX(-50%) rotate(-4deg) scale(0.95); } }
@keyframes tcd-reins-calm { 0% { opacity:0.7; transform:translateX(-50%) rotate(-20deg); } 50% { opacity:1; transform:translateX(-50%) rotate(-30deg); } 100% { opacity:0.7; transform:translateX(-50%) rotate(-20deg); } }
@keyframes tcd-reins-wild { 0% { opacity:1; transform:translateX(-50%) rotate(25deg); } 50% { opacity:0.3; transform:translateX(-50%) rotate(40deg); } 100% { opacity:1; transform:translateX(-50%) rotate(25deg); } }

.scn-temperance-quiet-passions { background: linear-gradient(180deg, #eadec8 0%, #d6c8ae 50%, #bfae8e 100%), radial-gradient(ellipse at 70% 30%, #fff8e0 0%, transparent 60%); }
.scn-temperance-quiet-passions .sky { position:absolute; inset:0 0 60% 0; background: linear-gradient(180deg, #d4dcc8 0%, #b8c0a8 100%); }
.scn-temperance-quiet-passions .ground { position:absolute; bottom:0; left:0; right:0; height:60%; background: linear-gradient(180deg, #b8a888 0%, #8a7a5e 100%); border-radius:40% 60% 0 0 / 20% 30% 0 0; }
.scn-temperance-quiet-passions .horse { position:absolute; bottom:28%; left:38%; width:80px; height:45px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 50%, #a89878 0%, #786858 100%); border-radius:40% 50% 30% 40% / 50% 60% 40% 50%; animation: tqp-horse 10s ease-in-out infinite alternate; }
.scn-temperance-quiet-passions .rider { position:absolute; bottom:38%; left:38%; width:20px; height:40px; transform:translateX(-50%); background: linear-gradient(180deg, #5a5048 0%, #3a3028 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; animation: tqp-rider 10s ease-in-out infinite alternate; }
.scn-temperance-quiet-passions .tree { position:absolute; bottom:48%; right:15%; width:60px; height:100px; background: linear-gradient(180deg, #6a8a5a 0%, #4a6a3a 100%); border-radius:50% 50% 20% 20% / 70% 70% 20% 20%; transform-origin:bottom center; animation: tqp-tree 30s ease-in-out infinite alternate; }
.scn-temperance-quiet-passions .sun { position:absolute; top:10%; right:20%; width:50px; height:50px; background: radial-gradient(circle, #ffe8a0 0%, #f0d080 50%, transparent 100%); border-radius:50%; animation: tqp-sun 20s ease-in-out infinite alternate; }
@keyframes tqp-horse { 0% { transform:translateX(-50%) rotate(0deg); } 50% { transform:translateX(-50%) rotate(2deg) scale(1.01); } 100% { transform:translateX(-50%) rotate(-2deg) scale(0.99); } }
@keyframes tqp-rider { 0% { transform:translateX(-50%) rotate(0deg); } 50% { transform:translateX(-50%) rotate(2deg) translateY(-2px); } 100% { transform:translateX(-50%) rotate(-1deg) translateY(1px); } }
@keyframes tqp-tree { 0% { transform:rotate(0deg); } 50% { transform:rotate(3deg); } 100% { transform:rotate(-3deg); } }
@keyframes tqp-sun { 0% { opacity:0.8; transform:scale(0.95); } 50% { opacity:1; transform:scale(1.05); } 100% { opacity:0.85; transform:scale(0.98); } }

.scn-aesop-grief-god {
  background:
    linear-gradient(180deg, #f8e8d0 0%, #d4b88a 40%, #a8855a 100%),
    radial-gradient(ellipse at 50% 30%, #fff2d8 0%, transparent 60%);
}
.scn-aesop-grief-god .bg-glow {
  position: absolute; inset: 0 0 30% 0;
  background: radial-gradient(ellipse at 50% 100%, #ffebc0 0%, transparent 60%);
  animation: ag-glow 6s ease-in-out infinite alternate;
}
.scn-aesop-grief-god .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #a8855a 0%, #7a6540 100%);
  border-radius: 30% 30% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.3);
}
.scn-aesop-grief-god .throne {
  position: absolute; bottom: 15%; left: 50%; transform: translateX(-50%);
  width: 60px; height: 80px;
  background: linear-gradient(180deg, #c8a060 0%, #a08040 50%, #705028 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.4);
  animation: ag-sway 8s ease-in-out infinite;
}
.scn-aesop-grief-god .zeus {
  position: absolute; bottom: 20%; left: 45%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #e8d8b0 0%, #c8b890 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: ag-figure 6s ease-in-out infinite;
}
.scn-aesop-grief-god .grief {
  position: absolute; bottom: 18%; left: 55%; width: 18px; height: 40px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a20 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: ag-figure 6s ease-in-out infinite reverse;
}
.scn-aesop-grief-god .column {
  position: absolute; bottom: 10%; width: 18px; height: 90%;
  background: linear-gradient(180deg, #d4c0a0 0%, #b8a080 50%, #9a8060 100%);
  border-radius: 8% 8% 5% 5%;
  box-shadow: inset -4px 0 8px rgba(0,0,0,0.2);
}
.scn-aesop-grief-god .column.left { left: 10%; }
.scn-aesop-grief-god .column.right { right: 10%; }
.scn-aesop-grief-god .light-beam {
  position: absolute; top: 0; left: 40%; width: 20%; height: 60%;
  background: linear-gradient(180deg, rgba(255,240,200,0.4) 0%, transparent 100%);
  filter: blur(12px);
  animation: ag-beam 10s ease-in-out infinite alternate;
}
@keyframes ag-glow { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes ag-sway { 0%, 100% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) rotate(1deg) translateY(-2px); } }
@keyframes ag-figure { 0%, 100% { transform: translateX(0) rotate(0); } 50% { transform: translateX(2px) rotate(2deg) translateY(-1px); } }
@keyframes ag-beam { 0% { opacity: 0.3; transform: scaleY(1); } 100% { opacity: 0.6; transform: scaleY(1.05); } }

.scn-keep-grief-out-of-doors {
  background:
    linear-gradient(180deg, #f2e6d0 0%, #d4c4a8 40%, #b8a88a 100%),
    radial-gradient(ellipse at 50% 0%, #fff4e0 0%, transparent 60%);
}
.scn-keep-grief-out-of-doors .bg-light { display: none; } /* handled by parent */
.scn-keep-grief-out-of-doors .wall {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #d4c0a8 0%, #c8b498 30%, #b8a488 50%, #c8b498 70%, #d4c0a8 100%);
  animation: kg-wall 20s ease-in-out infinite alternate;
}
.scn-keep-grief-out-of-doors .door {
  position: absolute; bottom: 20%; left: 50%; transform: translateX(-50%);
  width: 80px; height: 120px;
  background: linear-gradient(180deg, #a06040 0%, #7a4a2a 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: inset -6px 0 12px rgba(0,0,0,0.4);
}
.scn-keep-grief-out-of-doors .guard {
  position: absolute; bottom: 20%; left: 45%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 40% 40%;
  animation: kg-guard 4s ease-in-out infinite;
}
.scn-keep-grief-out-of-doors .window {
  position: absolute; bottom: 40%; left: 30%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #b8d0e0 0%, #8ab0c8 100%);
  border-radius: 6% 6% 4% 4%;
  box-shadow: inset 0 0 12px rgba(0,0,0,0.2);
  animation: kg-window 7s ease-in-out infinite alternate;
}
.scn-keep-grief-out-of-doors .light-stream {
  position: absolute; top: 0; left: 30%; width: 15%; height: 100%;
  background: linear-gradient(180deg, rgba(255,240,200,0.15) 0%, transparent 100%);
  filter: blur(10px);
  animation: kg-stream 12s linear infinite;
}
.scn-keep-grief-out-of-doors .threshold {
  position: absolute; bottom: 18%; left: 44%; width: 12%; height: 4px;
  background: #8a7a6a;
  box-shadow: 0 0 6px rgba(0,0,0,0.3);
}
@keyframes kg-wall { 0% { opacity: 0.9; } 100% { opacity: 1; } }
@keyframes kg-guard { 0%, 100% { transform: translateX(0) rotate(0); } 50% { transform: translateX(3px) rotate(1deg) translateY(-2px); } }
@keyframes kg-window { 0% { opacity: 0.7; transform: scaleY(1); } 100% { opacity: 1; transform: scaleY(1.02); } }
@keyframes kg-stream { 0% { transform: translateX(-10%); } 50% { transform: translateX(10%); } 100% { transform: translateX(-10%); } }

.scn-body-health-helps-soul {
  background:
    linear-gradient(180deg, #f0e6d8 0%, #d6c8b4 40%, #b8a690 100%),
    radial-gradient(ellipse at 50% 30%, #fff8ec 0%, transparent 60%);
}
.scn-body-health-helps-soul .wall {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #d8c8b8 0%, #c8b8a8 50%, #d8c8b8 100%);
}
.scn-body-health-helps-soul .window {
  position: absolute; top: 10%; left: 35%; width: 30%; height: 30%;
  background: linear-gradient(180deg, #c8dce8 0%, #a8c0d0 100%);
  border-radius: 6% 6% 4% 4%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.15);
  animation: bh-window 8s ease-in-out infinite alternate;
}
.scn-body-health-helps-soul .tub {
  position: absolute; bottom: 15%; left: 25%; width: 50%; height: 20%;
  background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%);
  border-radius: 50% 50% 10% 10% / 80% 80% 20% 20%;
  box-shadow: inset 0 -8px 20px rgba(0,0,0,0.3);
}
.scn-body-health-helps-soul .water {
  position: absolute; bottom: 16%; left: 27%; width: 46%; height: 15%;
  background: linear-gradient(180deg, #7ab8c8 0%, #4a90a8 100%);
  border-radius: 50% 50% 10% 10% / 60% 60% 20% 20%;
  animation: bh-water 6s ease-in-out infinite alternate;
}
.scn-body-health-helps-soul .figure {
  position: absolute; bottom: 20%; left: 40%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #d4c0b0 0%, #b8a090 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: bh-figure 7s ease-in-out infinite;
}
.scn-body-health-helps-soul .steam {
  position: absolute; bottom: 35%; left: 40%; width: 20%; height: 20%;
  background: radial-gradient(ellipse, rgba(255,255,255,0.3) 0%, transparent 60%);
  filter: blur(8px);
  animation: bh-steam 5s ease-in-out infinite alternate;
}
.scn-body-health-helps-soul .towel {
  position: absolute; bottom: 15%; right: 10%; width: 12px; height: 30px;
  background: linear-gradient(180deg, #d0c0b0 0%, #b8a898 100%);
  border-radius: 10% 10% 8% 8%;
  transform: rotate(10deg);
  animation: bh-towel 4s ease-in-out infinite;
}
@keyframes bh-window { 0% { opacity: 0.8; } 100% { opacity: 1; } }
@keyframes bh-water { 0% { opacity: 0.7; transform: scaleY(1); } 50% { opacity: 0.9; transform: scaleY(1.03); } 100% { opacity: 0.8; transform: scaleY(1); } }
@keyframes bh-figure { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3px) rotate(2deg); } }
@keyframes bh-steam { 0% { opacity: 0.3; transform: translateY(0) scale(1); } 50% { opacity: 0.5; transform: translateY(-5px) scale(1.1); } 100% { opacity: 0.2; transform: translateY(0) scale(1); } }
@keyframes bh-towel { 0%, 100% { transform: rotate(10deg); } 50% { transform: rotate(15deg); } }

.scn-bad-women-visits {
  background:
    linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 40%, #0d0606 100%),
    radial-gradient(ellipse at 50% 30%, #3a2020 0%, transparent 60%);
}
.scn-bad-women-visits .wall {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #1a1010 0%, #281818 50%, #1a1010 100%);
}
.scn-bad-women-visits .table {
  position: absolute; bottom: 15%; left: 30%; width: 40%; height: 8%;
  background: linear-gradient(180deg, #3a2a22 0%, #1a1210 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.5);
}
.scn-bad-women-visits .candle {
  position: absolute; bottom: 22%; left: 48%; width: 6px; height: 16px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a1a 100%);
  border-radius: 20% 20% 5% 5%;
}
.scn-bad-women-visits .candle::after {
  content: ''; position: absolute; top: -6px; left: -3px; width: 12px; height: 12px;
  background: radial-gradient(circle, #ffa060 0%, #ff8040 50%, transparent 100%);
  filter: blur(2px);
  animation: bw-flame 2s ease-in-out infinite alternate;
}
.scn-bad-women-visits .woman {
  position: absolute; bottom: 20%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #2a2020 0%, #0a0808 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 40% 40%;
  animation: bw-woman 5s ease-in-out infinite;
}
.scn-bad-women-visits .woman1 { left: 20%; animation-delay: 0s; }
.scn-bad-women-visits .woman2 { left: 45%; animation-delay: -1.2s; }
.scn-bad-women-visits .woman3 { left: 65%; animation-delay: -2.5s; }
.scn-bad-women-visits .shadow {
  position: absolute; bottom: 0; left: 15%; width: 70%; height: 30%;
  background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.6) 0%, transparent 70%);
  filter: blur(6px);
  animation: bw-shadow 8s ease-in-out infinite alternate;
}
@keyframes bw-flame { 0% { transform: scaleY(1) rotate(0deg); } 50% { transform: scaleY(1.2) rotate(3deg); } 100% { transform: scaleY(0.9) rotate(-2deg); } }
@keyframes bw-woman { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3px) rotate(2deg); } }
@keyframes bw-shadow { 0% { opacity: 0.5; transform: scaleX(1); } 50% { opacity: 0.7; transform: scaleX(1.05); } 100% { opacity: 0.4; transform: scaleX(0.95); } }

.scn-laugh-and-jest-wife {
  background: linear-gradient(180deg, #f5deb3 0%, #e8c58a 40%, #d4a373 100%),
              radial-gradient(ellipse at 50% 20%, #fff8dc 0%, transparent 60%);
}
.scn-laugh-and-jest-wife .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #f0d9b5 0%, #e3c28a 100%);
  box-shadow: inset 0 0 40px rgba(200,150,80,0.3);
}
.scn-laugh-and-jest-wife .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(0deg, #b89060 0%, #c8a070 100%);
  border-radius: 10% 10% 0 0 / 20% 20% 0 0;
}
.scn-laugh-and-jest-wife .window {
  position: absolute; top: 12%; left: 25%; width: 50px; height: 70px;
  background: linear-gradient(180deg, #fff8dc 0%, #f5e6c6 100%);
  border: 4px solid #8b6f47;
  border-radius: 4px;
  box-shadow: 0 0 30px 10px rgba(255,248,220,0.4), inset 0 0 10px #fff8dc;
  animation: ljw-window 6s ease-in-out infinite alternate;
}
.scn-laugh-and-jest-wife .sunbeam {
  position: absolute; top: 25%; left: 28%; width: 120px; height: 60px;
  background: linear-gradient(135deg, rgba(255,248,220,0.6) 0%, transparent 100%);
  filter: blur(8px);
  transform: rotate(-15deg);
  animation: ljw-sunbeam 12s ease-in-out infinite;
}
.scn-laugh-and-jest-wife .woman {
  position: absolute; bottom: 20%; left: 45%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #8b5e3c 0%, #6b4226 70%, #5a3520 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ljw-woman 4s ease-in-out infinite;
}
.scn-laugh-and-jest-wife .oil-jar {
  position: absolute; bottom: 28%; left: 35%; width: 20px; height: 25px;
  background: radial-gradient(circle at 50% 30%, #c8a070 0%, #a07848 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  box-shadow: 0 4px 6px rgba(0,0,0,0.3);
  animation: ljw-jar 5s ease-in-out infinite alternate;
}
.scn-laugh-and-jest-wife .shadow {
  position: absolute; bottom: 17%; left: 40%; width: 60px; height: 10px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.2) 0%, transparent 60%);
  filter: blur(4px);
  animation: ljw-shadow 4s ease-in-out infinite;
}
@keyframes ljw-window {
  0% { opacity: 0.8; box-shadow: 0 0 20px 5px rgba(255,248,220,0.3); }
  50% { opacity: 1; box-shadow: 0 0 40px 15px rgba(255,248,220,0.6); }
  100% { opacity: 0.9; box-shadow: 0 0 25px 8px rgba(255,248,220,0.4); }
}
@keyframes ljw-sunbeam {
  0% { transform: rotate(-15deg) translateX(0); opacity: 0.5; }
  50% { transform: rotate(-10deg) translateX(10px); opacity: 0.8; }
  100% { transform: rotate(-18deg) translateX(-5px); opacity: 0.6; }
}
@keyframes ljw-woman {
  0% { transform: translateY(0) rotate(-1deg); }
  25% { transform: translateY(-2px) rotate(2deg); }
  50% { transform: translateY(0) rotate(-1deg); }
  75% { transform: translateY(-1px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes ljw-jar {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-2px) scale(1.02); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes ljw-shadow {
  0% { transform: scaleX(0.8); opacity: 0.3; }
  50% { transform: scaleX(1.2); opacity: 0.5; }
  100% { transform: scaleX(0.9); opacity: 0.4; }
}

.scn-poets-artificial-avoidance {
  background: linear-gradient(180deg, #f0e6d0 0%, #d9c8a0 40%, #bfa87a 100%),
              radial-gradient(circle at 30% 20%, #fff5e0 0%, transparent 60%);
}
.scn-poets-artificial-avoidance .wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #e8dcc8 0%, #d4c4a8 100%);
  box-shadow: inset 0 0 30px rgba(200,180,140,0.3);
}
.scn-poets-artificial-avoidance .shelf {
  position: absolute; top: 15%; left: 5%; right: 5%; height: 8px;
  background: linear-gradient(90deg, #8b7355 0%, #a08460 50%, #8b7355 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
.scn-poets-artificial-avoidance .scroll {
  position: absolute; top: 10%; left: 15%; width: 30px; height: 20px;
  background: linear-gradient(180deg, #f5e6c6 0%, #e0cfa0 100%);
  border-radius: 30% 30% 5% 5% / 40% 40% 5% 5%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: paa-scroll 8s ease-in-out infinite;
}
.scn-poets-artificial-avoidance .desk {
  position: absolute; bottom: 25%; left: 20%; right: 20%; height: 12px;
  background: linear-gradient(180deg, #9a7c58 0%, #7a6040 100%);
  border-radius: 4px;
  box-shadow: 0 6px 10px rgba(0,0,0,0.15);
}
.scn-poets-artificial-avoidance .orator {
  position: absolute; bottom: 22%; left: 45%; width: 32px; height: 60px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 90%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: paa-orator 5s ease-in-out infinite alternate;
}
.scn-poets-artificial-avoidance .gesture {
  position: absolute; bottom: 50%; left: 55%; width: 20px; height: 15px;
  background: radial-gradient(circle, #4a3a2a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 20% 20% / 50% 50% 20% 20%;
  transform-origin: bottom left;
  animation: paa-gesture 3s ease-in-out infinite;
}
.scn-poets-artificial-avoidance .light-ray {
  position: absolute; top: 5%; left: 10%; width: 80px; height: 100px;
  background: linear-gradient(135deg, rgba(255,245,224,0.5) 0%, transparent 100%);
  filter: blur(10px);
  transform: rotate(20deg);
  animation: paa-ray 10s ease-in-out infinite alternate;
}
@keyframes paa-scroll {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-3px) rotate(2deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes paa-orator {
  0% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-1px) rotate(3deg); }
  100% { transform: translateY(0) rotate(-2deg); }
}
@keyframes paa-gesture {
  0% { transform: rotate(-20deg) translateX(0); }
  50% { transform: rotate(10deg) translateX(5px); }
  100% { transform: rotate(-15deg) translateX(0); }
}
@keyframes paa-ray {
  0% { opacity: 0.3; transform: rotate(20deg) scaleX(1); }
  50% { opacity: 0.7; transform: rotate(25deg) scaleX(1.1); }
  100% { opacity: 0.4; transform: rotate(15deg) scaleX(0.9); }
}

.scn-austere-wife-make-best {
  background: linear-gradient(180deg, #2a2018 0%, #3a2a1a 30%, #5a4030 60%, #4a3020 100%),
              radial-gradient(circle at 50% 60%, #8a6040 0%, transparent 50%);
}
.scn-austere-wife-make-best .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a2018 100%);
  box-shadow: inset 0 0 30px rgba(0,0,0,0.5);
}
.scn-austere-wife-make-best .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #1a1410 0%, #2a2018 100%);
  border-radius: 20% 20% 0 0 / 30% 30% 0 0;
}
.scn-austere-wife-make-best .candle {
  position: absolute; bottom: 35%; left: 20%; width: 8px; height: 25px;
  background: linear-gradient(180deg, #e8c88a 0%, #b08040 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 0 20px 6px rgba(200,150,60,0.5), 0 0 40px 12px rgba(200,150,60,0.2);
  animation: awm-candle 4s ease-in-out infinite alternate;
}
.scn-austere-wife-make-best .husband {
  position: absolute; bottom: 20%; left: 30%; width: 36px; height: 80px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 35% 35% / 60% 60% 35% 35%;
  transform-origin: bottom center;
  animation: awm-husband 7s ease-in-out infinite;
}
.scn-austere-wife-make-best .wife {
  position: absolute; bottom: 20%; right: 30%; width: 32px; height: 75px;
  background: linear-gradient(180deg, #4a3020 0%, #3a2010 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: awm-wife 7s ease-in-out infinite reverse;
}
.scn-austere-wife-make-best .drapery {
  position: absolute; bottom: 18%; left: 45%; width: 50px; height: 60px;
  background: radial-gradient(ellipse at 50% 30%, #5a4030 0%, transparent 60%);
  border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%;
  filter: blur(3px);
  animation: awm-drape 6s ease-in-out infinite;
}
.scn-austere-wife-make-best .shadow {
  position: absolute; bottom: 15%; left: 25%; right: 25%; height: 8px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 60%);
  filter: blur(4px);
  animation: awm-shadow 7s ease-in-out infinite;
}
@keyframes awm-candle {
  0% { opacity: 0.7; box-shadow: 0 0 15px 4px rgba(200,150,60,0.4); }
  50% { opacity: 1; box-shadow: 0 0 25px 8px rgba(200,150,60,0.6); }
  100% { opacity: 0.8; box-shadow: 0 0 18px 5px rgba(200,150,60,0.5); }
}
@keyframes awm-husband {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes awm-wife {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-1px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(1deg); }
}
@keyframes awm-drape {
  0% { transform: scaleY(1); opacity: 0.4; }
  50% { transform: scaleY(1.05); opacity: 0.6; }
  100% { transform: scaleY(0.95); opacity: 0.5; }
}
@keyframes awm-shadow {
  0% { transform: scaleX(0.9); opacity: 0.3; }
  50% { transform: scaleX(1.1); opacity: 0.5; }
  100% { transform: scaleX(0.95); opacity: 0.4; }
}

.scn-egyptian-women-no-shoes {
  background: linear-gradient(180deg, #f0e6c0 0%, #e0d0a0 40%, #c8b080 100%),
              radial-gradient(circle at 50% 30%, #fff8e8 0%, transparent 70%);
}
.scn-egyptian-women-no-shoes .wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #e8d8b0 0%, #dcc8a0 100%);
  box-shadow: inset 0 0 30px rgba(180,150,100,0.3);
}
.scn-egyptian-women-no-shoes .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(0deg, #b89868 0%, #c8a878 100%);
  border-radius: 5% 5% 0 0 / 10% 10% 0 0;
}
.scn-egyptian-women-no-shoes .window {
  position: absolute; top: 10%; left: 60%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #fff8dc 0%, #f5e6c6 100%);
  border: 3px solid #8b6f47;
  border-radius: 3px;
  box-shadow: 0 0 20px 5px rgba(255,248,220,0.3), inset 0 0 8px #fff8dc;
  animation: ewn-window 8s ease-in-out infinite alternate;
}
.scn-egyptian-women-no-shoes .cushion {
  position: absolute; bottom: 20%; left: 30%; width: 60px; height: 30px;
  background: linear-gradient(180deg, #d4a373 0%, #c89060 100%);
  border-radius: 30% 30% 10% 10% / 40% 40% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
  animation: ewn-cushion 6s ease-in-out infinite;
}
.scn-egyptian-women-no-shoes .woman {
  position: absolute; bottom: 18%; left: 35%; width: 28px; height: 65px;
  background: linear-gradient(180deg, #6b4226 0%, #4a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ewn-woman 5s ease-in-out infinite alternate;
}
.scn-egyptian-women-no-shoes .jewelry {
  position: absolute; bottom: 30%; left: 37%; width: 12px; height: 8px;
  background: radial-gradient(circle, #ffd700 0%, #b8860b 100%);
  border-radius: 50%;
  box-shadow: 0 0 8px 2px rgba(255,215,0,0.4), 0 0 16px 4px rgba(255,215,0,0.2);
  animation: ewn-jewel 4s ease-in-out infinite alternate;
}
.scn-egyptian-women-no-shoes .shadows {
  position: absolute; bottom: 15%; left: 20%; right: 20%; height: 8px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.2) 0%, transparent 50%);
  filter: blur(5px);
  animation: ewn-shadows 5s ease-in-out infinite;
}
@keyframes ewn-window {
  0% { opacity: 0.85; box-shadow: 0 0 15px 4px rgba(255,248,220,0.3); }
  50% { opacity: 1; box-shadow: 0 0 30px 10px rgba(255,248,220,0.5); }
  100% { opacity: 0.9; box-shadow: 0 0 20px 6px rgba(255,248,220,0.4); }
}
@keyframes ewn-cushion {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-2px) scale(1.03); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes ewn-woman {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes ewn-jewel {
  0% { opacity: 0.6; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.1); }
  100% { opacity: 0.8; transform: scale(1); }
}
@keyframes ewn-shadows {
  0% { transform: scaleX(0.8); opacity: 0.3; }
  50% { transform: scaleX(1.2); opacity: 0.5; }
  100% { transform: scaleX(0.9); opacity: 0.4; }
}

/* parents-not-too-harsh */
.scn-parents-not-too-harsh { background: linear-gradient(180deg, #2c2516 0%, #4a3b2a 40%, #3a2e1e 100%), radial-gradient(ellipse at 50% 0%, #5a4b3a 0%, transparent 70%); }
.scn-parents-not-too-harsh .wall    { position:absolute; inset: 0 0 30% 0; background: linear-gradient(135deg, #4a3b2a 0%, #3a2e1e 100%); border-radius: 0 0 10% 10%; box-shadow: inset 0 -20px 40px rgba(0,0,0,.3); }
.scn-parents-not-too-harsh .floor   { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2c2516 0%, #1e1810 100%); border-radius: 10% 10% 0 0; }
.scn-parents-not-too-harsh .window  { position:absolute; top:15%; left:10%; width:25%; height:40%; background: linear-gradient(180deg, rgba(255,220,150,.15) 0%, rgba(255,200,120,.05) 100%); border:6px solid #3a2e1e; border-radius: 4px; box-shadow: inset 0 0 30px rgba(255,200,100,.1); animation: pnh-window 8s ease-in-out infinite alternate; }
.scn-parents-not-too-harsh .lamp    { position:absolute; top:50%; left:70%; width:12px; height:18px; background: radial-gradient(circle, #ffd080 0%, #b08040 80%); border-radius: 50% 50% 0 0; box-shadow: 0 0 40px 10px rgba(255,200,100,.4); animation: pnh-lamp 4s ease-in-out infinite alternate; }
.scn-parents-not-too-harsh .father  { position:absolute; bottom:30%; left:35%; width:22px; height:48px; background: linear-gradient(180deg, #2a2218 0%, #1a1410 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pnh-figure 6s ease-in-out infinite; }
.scn-parents-not-too-harsh .son     { position:absolute; bottom:30%; left:28%; width:16px; height:34px; background: linear-gradient(180deg, #2a2218 0%, #1a1410 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pnh-figure 7s ease-in-out infinite reverse; }
.scn-parents-not-too-harsh .rug     { position:absolute; bottom:30%; left:25%; width:50%; height:8%; background: linear-gradient(135deg, #6a5040 0%, #4a3828 50%, #5a4430 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 4px 10px rgba(0,0,0,.4); }
.scn-parents-not-too-harsh .bookcase{ position:absolute; top:20%; right:5%; width:18%; height:50%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2e1e 100%); border-radius: 4px; box-shadow: inset 0 0 10px rgba(0,0,0,.5); }
@keyframes pnh-window { 0% { opacity:.6; box-shadow: inset 0 0 20px rgba(255,200,100,.05) } 50% { opacity:.9; box-shadow: inset 0 0 40px rgba(255,200,100,.15) } 100% { opacity:.7; box-shadow: inset 0 0 25px rgba(255,200,100,.08) } }
@keyframes pnh-lamp   { 0% { transform: rotate(-3deg); box-shadow: 0 0 30px 8px rgba(255,200,100,.3) } 50% { transform: rotate(3deg); box-shadow: 0 0 50px 15px rgba(255,200,100,.5) } 100% { transform: rotate(-2deg); box-shadow: 0 0 35px 10px rgba(255,200,100,.4) } }
@keyframes pnh-figure { 0%,100% { transform: translateY(0) rotate(-1deg) } 25% { transform: translateY(-2px) rotate(1deg) } 50% { transform: translateY(0) rotate(-1deg) scaleY(1.01) } 75% { transform: translateY(-1px) rotate(0deg) } }

/* hot-temper-better-sullen */
.scn-hot-temper-better-sullen { background: linear-gradient(180deg, #2a1a10 0%, #4a2a18 30%, #6a3a1a 60%, #3a1a0a 100%), radial-gradient(ellipse at 50% 40%, #8a4a2a 0%, transparent 70%); }
.scn-hot-temper-better-sullen .wall      { position:absolute; inset: 0 0 25% 0; background: linear-gradient(135deg, #3a2a1a 0%, #2a1a0e 100%); border-radius: 0 0 8% 8%; }
.scn-hot-temper-better-sullen .floor     { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #2a1a0e 0%, #1a0e06 100%); border-radius: 8% 8% 0 0; }
.scn-hot-temper-better-sullen .fireplace{ position:absolute; bottom:25%; left:50%; width:30%; height:40%; transform:translateX(-50%); background: linear-gradient(180deg, #4a2a18 0%, #2a1a0e 100%); border-radius: 10% 10% 0 0; box-shadow: 0 -10px 20px rgba(0,0,0,.5); }
.scn-hot-temper-better-sullen .fire     { position:absolute; bottom:25%; left:50%; width:20%; height:20%; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 100%, #ff8040 0%, #ff5020 30%, #b02010 60%, transparent 100%); border-radius: 50%; animation: htb-fire 2s ease-in-out infinite alternate; box-shadow: 0 0 40px 15px #ff5020; }
.scn-hot-temper-better-sullen .father   { position:absolute; bottom:25%; left:35%; width:24px; height:50px; background: linear-gradient(180deg, #1a120e 0%, #0e0a08 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: htb-father 4s ease-in-out infinite; }
.scn-hot-temper-better-sullen .son      { position:absolute; bottom:25%; left:55%; width:18px; height:38px; background: linear-gradient(180deg, #1a120e 0%, #0e0a08 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: htb-son 3s ease-in-out infinite reverse; }
.scn-hot-temper-better-sullen .chair    { position:absolute; bottom:25%; left:28%; width:20px; height:30px; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0e 100%); border-radius: 10% 10% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,.4); }
.scn-hot-temper-better-sullen .shadow   { position:absolute; bottom:25%; left:30%; width:40%; height:5%; background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 100%); filter: blur(4px); animation: htb-shadow 4s ease-in-out infinite alternate; }
@keyframes htb-fire   { 0% { transform: translateX(-50%) scaleY(.8); opacity:.7 } 50% { transform: translateX(-50%) scaleY(1.1); opacity:1 } 100% { transform: translateX(-50%) scaleY(.9); opacity:.8 } }
@keyframes htb-father { 0%,100% { transform: translateY(0) rotate(-2deg) scaleX(1) } 25% { transform: translateY(-3px) rotate(3deg) scaleX(1.02) } 50% { transform: translateY(0) rotate(-1deg) scaleX(1) } 75% { transform: translateY(-2px) rotate(1deg) scaleX(1.01) } }
@keyframes htb-son    { 0%,100% { transform: translateY(0) rotate(1deg) scaleX(1) } 30% { transform: translateY(-2px) rotate(-2deg) scaleX(.98) } 70% { transform: translateY(0) rotate(1deg) scaleX(1) } }
@keyframes htb-shadow { 0% { opacity:.5; transform: scaleX(.8) } 50% { opacity:.8; transform: scaleX(1.2) } 100% { opacity:.6; transform: scaleX(.9) } }

/* father-wink-at-faults */
.scn-father-wink-at-faults { background: linear-gradient(180deg, #3a2a1a 0%, #5a3a2a 30%, #4a2a18 60%, #2a1a0e 100%), radial-gradient(ellipse at 50% 20%, #6a4a3a 0%, transparent 70%); }
.scn-father-wink-at-faults .wall     { position:absolute; inset: 0 0 30% 0; background: linear-gradient(135deg, #4a3a2a 0%, #3a2a1a 100%); border-radius: 0 0 12% 12%; }
.scn-father-wink-at-faults .floor    { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0e 100%); border-radius: 12% 12% 0 0; }
.scn-father-wink-at-faults .table    { position:absolute; bottom:30%; left:40%; width:30%; height:12%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 10% 10% 0 0; box-shadow: 0 4px 10px rgba(0,0,0,.4); }
.scn-father-wink-at-faults .lamp     { position:absolute; bottom:42%; left:55%; width:10px; height:16px; background: radial-gradient(circle, #ffd080 0%, #c08040 80%); border-radius: 50% 50% 0 0; box-shadow: 0 0 30px 8px rgba(255,200,100,.5); animation: fwa-lamp 3s ease-in-out infinite alternate; }
.scn-father-wink-at-faults .wine-cup{ position:absolute; bottom:42%; left:45%; width:8px; height:12px; background: linear-gradient(180deg, #804020 0%, #602818 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 2px 6px rgba(0,0,0,.3); animation: fwa-cup 5s ease-in-out infinite; }
.scn-father-wink-at-faults .father   { position:absolute; bottom:30%; left:35%; width:22px; height:48px; background: linear-gradient(180deg, #2a2218 0%, #1a1410 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fwa-father 4s ease-in-out infinite; }
.scn-father-wink-at-faults .son      { position:absolute; bottom:30%; left:50%; width:16px; height:34px; background: linear-gradient(180deg, #2a2218 0%, #1a1410 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fwa-son 6s ease-in-out infinite reverse; }
.scn-father-wink-at-faults .curtain  { position:absolute; top:0; left:0; width:20%; height:100%; background: linear-gradient(135deg, #5a4a3a 0%, #4a3a2a 100%); border-radius: 0 30% 0 0; opacity:.9; }
@keyframes fwa-lamp  { 0% { box-shadow: 0 0 20px 5px rgba(255,200,100,.3); transform: rotate(-5deg) } 50% { box-shadow: 0 0 40px 12px rgba(255,200,100,.6); transform: rotate(5deg) } 100% { box-shadow: 0 0 25px 8px rgba(255,200,100,.4); transform: rotate(-3deg) } }
@keyframes fwa-cup   { 0%,100% { transform: rotate(-2deg) translateY(0) } 30% { transform: rotate(2deg) translateY(-1px) } 60% { transform: rotate(-1deg) translateY(0) } }
@keyframes fwa-father{ 0%,100% { transform: translateY(0) rotate(-1deg) scaleY(1) } 20% { transform: translateY(-2px) rotate(2deg) scaleY(1.01) } 50% { transform: translateY(0) rotate(-1deg) scaleY(1) } 80% { transform: translateY(-1px) rotate(1deg) scaleY(1.01) } }
@keyframes fwa-son   { 0%,100% { transform: translateY(0) rotate(1deg) scaleX(1) } 25% { transform: translateY(-1px) rotate(-2deg) scaleX(.98) } 60% { transform: translateY(0) rotate(1deg) scaleX(1) } }

/* marriage-restraint */
.scn-marriage-restraint { background: linear-gradient(180deg, #f5f2e8 0%, #e8e0d0 30%, #d8d0c0 60%, #c8c0b0 100%), radial-gradient(ellipse at 50% 100%, #d0c8b8 0%, transparent 70%); }
.scn-marriage-restraint .wall    { position:absolute; inset: 0 0 20% 0; background: linear-gradient(135deg, #e8e0d0 0%, #d8d0c0 100%); border-radius: 0 0 5% 5%; }
.scn-marriage-restraint .floor   { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #d8d0c0 0%, #c8c0b0 100%); border-radius: 5% 5% 0 0; }
.scn-marriage-restraint .window  { position:absolute; top:10%; left:5%; width:30%; height:50%; background: linear-gradient(180deg, rgba(255,255,255,.6) 0%, rgba(200,220,255,.3) 100%); border:8px solid #c0b8a8; border-radius: 6px; box-shadow: inset 0 0 30px rgba(200,220,255,.2); }
.scn-marriage-restraint .sunbeam { position:absolute; top:10%; left:5%; width:30%; height:70%; background: linear-gradient(135deg, rgba(255,255,220,.15) 0%, transparent 80%); clip-path: polygon(0% 0%, 100% 0%, 85% 100%, 0% 100%); animation: mr-beam 10s ease-in-out infinite alternate; }
.scn-marriage-restraint .father  { position:absolute; bottom:20%; left:40%; width:24px; height:50px; background: linear-gradient(180deg, #2a2518 0%, #1a1510 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mr-figure 7s ease-in-out infinite; }
.scn-marriage-restraint .son     { position:absolute; bottom:20%; left:52%; width:18px; height:38px; background: linear-gradient(180deg, #2a2518 0%, #1a1510 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mr-figure 8s ease-in-out infinite reverse; }
.scn-marriage-restraint .scroll  { position:absolute; bottom:30%; left:38%; width:8px; height:14px; background: linear-gradient(180deg, #f0e8d8 0%, #d8d0c0 100%); border-radius: 20% 20% 10% 10%; transform: rotate(-15deg); box-shadow: 0 2px 6px rgba(0,0,0,.2); animation: mr-scroll 12s ease-in-out infinite; }
.scn-marriage-restraint .table   { position:absolute; bottom:20%; left:35%; width:30%; height:10%; background: linear-gradient(180deg, #c0b8a8 0%, #a09888 100%); border-radius: 10% 10% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,.3); }
.scn-marriage-restraint .chair   { position:absolute; bottom:20%; left:30%; width:16px; height:24px; background: linear-gradient(180deg, #a09888 0%, #908878 100%); border-radius: 10% 10% 0 0; }
@keyframes mr-beam  { 0% { opacity:.3; transform: translateX(-5%) } 50% { opacity:.6; transform: translateX(5%) } 100% { opacity:.4; transform: translateX(-3%) } }
@keyframes mr-figure{ 0%,100% { transform: translateY(0) rotate(-1deg) } 30% { transform: translateY(-2px) rotate(1deg) } 70% { transform: translateY(0) rotate(-1deg) } }
@keyframes mr-scroll{ 0%,100% { transform: rotate(-15deg) translateY(0) } 50% { transform: rotate(-10deg) translateY(-2px) } }

.scn-painters-light-shade-censure-praise {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #16162a 30%, #0e0e1e 70%, #0a0a12 100%),
    radial-gradient(ellipse at 30% 50%, #2a2a3e 0%, transparent 70%);
}
.scn-painters-light-shade-censure-praise .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  animation: plsc-wall 20s ease-in-out infinite alternate;
}
.scn-painters-light-shade-censure-praise .easel {
  position: absolute; bottom: 25%; left: 35%;
  width: 4px; height: 60px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 2px;
  transform: rotate(2deg);
  animation: plsc-easel 6s ease-in-out infinite;
}
.scn-painters-light-shade-censure-praise .canvas {
  position: absolute; bottom: 26%; left: 33%;
  width: 50px; height: 40px;
  background: linear-gradient(135deg, #3a2a1a 0%, #2a1a0a 50%, #1a0a00 100%);
  border: 2px solid #4a3a2a;
  border-radius: 2px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.6);
  animation: plsc-canvas 8s ease-in-out infinite alternate;
}
.scn-painters-light-shade-censure-praise .sketch {
  position: absolute; bottom: 36%; left: 38%;
  width: 20px; height: 15px;
  background: radial-gradient(circle, #8a7a5a 10%, transparent 70%);
  opacity: 0.4;
  filter: blur(2px);
  animation: plsc-sketch 5s ease-in-out infinite alternate;
}
.scn-painters-light-shade-censure-praise .light-source {
  position: absolute; top: 10%; right: 20%;
  width: 8px; height: 8px;
  background: radial-gradient(circle, #ffd080 0%, #c08040 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(192,128,64,0.3);
  animation: plsc-light 4s ease-in-out infinite alternate;
}
.scn-painters-light-shade-censure-praise .shadow {
  position: absolute; bottom: 15%; left: 25%;
  width: 60px; height: 30px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.8) 0%, transparent 70%);
  filter: blur(8px);
  animation: plsc-shadow 7s ease-in-out infinite;
}
.scn-painters-light-shade-censure-praise .figure {
  position: absolute; bottom: 20%; left: 20%;
  width: 16px; height: 40px;
  background: linear-gradient(180deg, #2a2a3a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: plsc-figure 12s ease-in-out infinite alternate;
}
.scn-painters-light-shade-censure-praise .palette {
  position: absolute; bottom: 30%; left: 48%;
  width: 14px; height: 10px;
  background: linear-gradient(135deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: plsc-palette 5s ease-in-out infinite;
}
@keyframes plsc-wall { 0% { opacity:0.9 } 50% { opacity:0.7 } 100% { opacity:1 } }
@keyframes plsc-easel { 0%,100% { transform: rotate(2deg) } 50% { transform: rotate(-1deg) } }
@keyframes plsc-canvas { 0% { transform: scale(1) } 50% { transform: scale(1.02) } 100% { transform: scale(0.98) } }
@keyframes plsc-sketch { 0% { opacity:0.3; transform: translate(0,0) } 50% { opacity:0.6; transform: translate(2px,-1px) } 100% { opacity:0.4; transform: translate(-1px,1px) } }
@keyframes plsc-light { 0% { transform: scale(1); opacity:0.8 } 50% { transform: scale(1.3); opacity:1 } 100% { transform: scale(0.9); opacity:0.6 } }
@keyframes plsc-shadow { 0% { transform: translate(0,0); opacity:0.7 } 50% { transform: translate(10px,-5px); opacity:0.9 } 100% { transform: translate(-5px,2px); opacity:0.5 } }
@keyframes plsc-figure { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(-8px) rotate(-4deg) } 100% { transform: translateX(4px) rotate(2deg) } }
@keyframes plsc-palette { 0%,100% { transform: rotate(0deg) } 50% { transform: rotate(15deg) } }

.scn-flatterer-censure-self-praise-others {
  background:
    linear-gradient(180deg, #2a1a2a 0%, #1a0a1a 40%, #0e0a0e 100%),
    radial-gradient(ellipse at 50% 100%, #3a2a3a 0%, transparent 80%);
}
.scn-flatterer-censure-self-praise-others .floor {
  position: absolute; bottom:0; left:0; right:0; height:20%;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  animation: fcs-floor 15s ease-in-out infinite alternate;
}
.scn-flatterer-censure-self-praise-others .backdrop {
  position: absolute; inset:0 0 20% 0;
  background: radial-gradient(ellipse at 30% 60%, #3a2a3a 0%, transparent 60%);
  opacity:0.5;
}
.scn-flatterer-censure-self-praise-others .figure {
  position: absolute; bottom:22%; left:50%; transform:translateX(-50%);
  width: 20px; height: 50px;
  background: linear-gradient(180deg, #2a2a2a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  animation: fcs-figure 4s ease-in-out infinite;
}
.scn-flatterer-censure-self-praise-others .arm-left {
  position: absolute; bottom:38%; left:45%; transform-origin: top center;
  width: 4px; height: 18px;
  background: #1a1a1a;
  border-radius: 2px 2px 50% 50%;
  animation: fcs-arm-left 3s ease-in-out infinite alternate;
}
.scn-flatterer-censure-self-praise-others .arm-right {
  position: absolute; bottom:38%; left:51%; transform-origin: top center;
  width: 4px; height: 18px;
  background: #1a1a1a;
  border-radius: 2px 2px 50% 50%;
  animation: fcs-arm-right 3.5s ease-in-out infinite alternate;
}
.scn-flatterer-censure-self-praise-others .shadow-self {
  position: absolute; bottom:22%; left:52%; transform:translateX(-50%);
  width: 18px; height: 45px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.7) 0%, transparent 70%);
  filter: blur(6px);
  animation: fcs-shadow 4.5s ease-in-out infinite;
}
.scn-flatterer-censure-self-praise-others .glow {
  position: absolute; top:15%; left:42%;
  width: 6px; height: 6px;
  background: radial-gradient(circle, #b09070 0%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(176,144,112,0.2);
  animation: fcs-glow 6s ease-in-out infinite alternate;
}
@keyframes fcs-floor { 0% { opacity:0.7 } 50% { opacity:0.9 } 100% { opacity:0.6 } }
@keyframes fcs-figure { 0% { transform: translateX(-50%) translateY(0) rotate(0deg) } 25% { transform: translateX(-50%) translateY(-2px) rotate(3deg) } 50% { transform: translateX(-50%) translateY(-4px) rotate(-2deg) } 75% { transform: translateX(-50%) translateY(-1px) rotate(2deg) } 100% { transform: translateX(-50%) translateY(0) rotate(0deg) } }
@keyframes fcs-arm-left { 0% { transform: rotate(10deg) } 100% { transform: rotate(-40deg) } }
@keyframes fcs-arm-right { 0% { transform: rotate(-10deg) } 100% { transform: rotate(30deg) } }
@keyframes fcs-shadow { 0% { transform: translateX(-50%) scale(1) } 50% { transform: translateX(-50%) scale(1.2) } 100% { transform: translateX(-50%) scale(0.9) } }
@keyframes fcs-glow { 0% { opacity:0.4 } 50% { opacity:0.8 } 100% { opacity:0.5 } }

.scn-king-mithridates-surgeon {
  background:
    linear-gradient(180deg, #1a0a0a 0%, #2a1a1a 30%, #3a2a2a 60%, #1a0a0a 100%),
    radial-gradient(ellipse at 50% 20%, #4a3a3a 0%, transparent 70%);
}
.scn-king-mithridates-surgeon .bed {
  position: absolute; bottom:15%; left:10%; right:10%; height:20%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 8% 8% 0 0;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.5);
}
.scn-king-mithridates-surgeon .patient {
  position: absolute; bottom:13%; left:25%; width:50px; height:30px;
  background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  animation: km-patient 10s ease-in-out infinite;
}
.scn-king-mithridates-surgeon .king {
  position: absolute; bottom:18%; right:28%; width:22px; height:45px;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform: rotate(-5deg);
  animation: km-king 8s ease-in-out infinite alternate;
}
.scn-king-mithridates-surgeon .knife {
  position: absolute; bottom:28%; right:36%;
  width: 2px; height: 14px;
  background: linear-gradient(180deg, #8a8a8a 0%, #6a6a6a 50%, #4a4a4a 100%);
  border-radius: 1px;
  transform: rotate(30deg);
  animation: km-knife 4s ease-in-out infinite alternate;
}
.scn-king-mithridates-surgeon .lamp {
  position: absolute; top:10%; left:50%; transform:translateX(-50%);
  width: 10px; height: 14px;
  background: radial-gradient(ellipse at 50% 100%, #c08040 0%, transparent 70%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 30px 10px rgba(192,128,64,0.3);
  animation: km-lamp 5s ease-in-out infinite alternate;
}
.scn-king-mithridates-surgeon .drape {
  position: absolute; top:0; right:0; width:30px; height:100%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 0 0 0 30%;
  filter: blur(2px);
  opacity:0.6;
  animation: km-drape 20s ease-in-out infinite;
}
.scn-king-mithridates-surgeon .blood-drop {
  position: absolute; bottom:25%; left:38%; width:4px; height:4px;
  background: radial-gradient(circle, #5e1a1d 0%, transparent 100%);
  border-radius: 50%;
  animation: km-blood 7s ease-in-out infinite;
}
@keyframes km-patient { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-3px) scale(1.05) } 100% { transform: translateY(0) scale(1) } }
@keyframes km-king { 0% { transform: rotate(-5deg) translateX(0) } 50% { transform: rotate(2deg) translateX(-5px) } 100% { transform: rotate(-3deg) translateX(2px) } }
@keyframes km-knife { 0% { transform: rotate(30deg) } 50% { transform: rotate(60deg) } 100% { transform: rotate(25deg) } }
@keyframes km-lamp { 0% { opacity:0.6; transform: translateX(-50%) scale(1) } 50% { opacity:1; transform: translateX(-50%) scale(1.2) } 100% { opacity:0.7; transform: translateX(-50%) scale(0.9) } }
@keyframes km-drape { 0% { transform: translateX(0) } 50% { transform: translateX(-5px) } 100% { transform: translateX(3px) } }
@keyframes km-blood { 0% { transform: translate(0,0); opacity:0.8 } 50% { transform: translate(2px,8px); opacity:0.2 } 100% { transform: translate(-1px,0); opacity:0.6 } }

.scn-providence-aspects-caution {
  background:
    linear-gradient(180deg, #1a2a3a 0%, #2a3a4a 40%, #1a2a3a 100%),
    radial-gradient(ellipse at 50% 50%, #3a4a5a 0%, transparent 80%);
}
.scn-providence-aspects-caution .bg {
  position: absolute; inset:0;
  background: radial-gradient(circle at 40% 50%, #2a3a4a 0%, transparent 60%);
  animation: pa-bg 12s ease-in-out infinite alternate;
}
.scn-providence-aspects-caution .mirror {
  position: absolute; bottom:20%; left:50%; transform:translateX(-50%);
  width: 40px; height: 50px;
  background: linear-gradient(135deg, #4a5a6a 0%, #5a6a7a 50%, #4a5a6a 100%);
  border: 2px solid #6a7a8a;
  border-radius: 4px;
  box-shadow: 0 0 20px rgba(90,106,122,0.5);
  animation: pa-mirror 8s ease-in-out infinite;
}
.scn-providence-aspects-caution .face-a {
  position: absolute; bottom:25%; left:43%;
  width: 12px; height: 16px;
  background: radial-gradient(circle, #3a4a5a 0%, #2a3a4a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: pa-face-a 5s ease-in-out infinite alternate;
}
.scn-providence-aspects-caution .face-b {
  position: absolute; bottom:30%; left:53%;
  width: 10px; height: 14px;
  background: radial-gradient(circle, #4a5a6a 0%, #2a3a4a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  animation: pa-face-b 6s ease-in-out infinite alternate;
}
.scn-providence-aspects-caution .face-c {
  position: absolute; bottom:35%; left:48%;
  width: 8px; height: 12px;
  background: radial-gradient(circle, #5a6a7a 0%, #3a4a5a 100%);
  border-radius: 50% 50% 30% 30% / 50% 50% 30% 30%;
  animation: pa-face-c 7s ease-in-out infinite alternate;
}
.scn-providence-aspects-caution .sparkle {
  position: absolute; top:20%; left:30%;
  width: 3px; height: 3px;
  background: #8a9aaa;
  border-radius: 50%;
  box-shadow: 0 0 6px 2px #8a9aaa;
  animation: pa-sparkle 4s ease-in-out infinite;
}
.scn-providence-aspects-caution .halo {
  position: absolute; top:15%; left:50%; transform:translateX(-50%);
  width: 20px; height: 20px;
  background: radial-gradient(circle, #6a7a8a 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(4px);
  animation: pa-halo 10s ease-in-out infinite alternate;
}
@keyframes pa-bg { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.6 } }
@keyframes pa-mirror { 0% { transform: translateX(-50%) scale(1) } 50% { transform: translateX(-50%) scale(1.05) } 100% { transform: translateX(-50%) scale(0.95) } }
@keyframes pa-face-a { 0% { transform: translate(0,0) rotate(0deg) } 50% { transform: translate(-2px,-1px) rotate(5deg) } 100% { transform: translate(2px,1px) rotate(-5deg) } }
@keyframes pa-face-b { 0% { transform: translate(0,0) scale(1) } 50% { transform: translate(3px,1px) scale(0.9) } 100% { transform: translate(-3px,-1px) scale(1.1) } }
@keyframes pa-face-c { 0% { opacity:0.6 } 50% { opacity:1 } 100% { opacity:0.4 } }
@keyframes pa-sparkle { 0%,100% { opacity:0; transform: scale(0.5) } 50% { opacity:1; transform: scale(1.5) } }
@keyframes pa-halo { 0% { opacity:0.3; transform: translateX(-50%) scale(1) } 50% { opacity:0.7; transform: translateX(-50%) scale(1.2) } 100% { opacity:0.4; transform: translateX(-50%) scale(0.8) } }

.scn-pb {
  background: linear-gradient(180deg, #3a2214 0%, #1f1208 40%, #0d0805 100%),
              radial-gradient(ellipse at 60% 60%, #8a4a2a 0%, transparent 60%);
  position: relative; overflow: hidden; height: 100%;
}
.scn-pb .wall { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #4a2e1a 0%, #2e1c0e 70%); animation: pb-wall 8s ease-in-out infinite alternate; }
.scn-pb .torch { position:absolute; bottom:30%; left:72%; width:8px; height:60px; background: linear-gradient(180deg, #603020 0%, #2a180a 100%); border-radius:4px; transform:rotate(-5deg); animation: pb-torch 1.5s ease-in-out infinite alternate; }
.scn-pb .torch-glow { position:absolute; bottom:35%; left:71%; width:40px; height:40px; background: radial-gradient(circle, #e0a050 0%, #a06020 40%, transparent 70%); border-radius:50%; filter:blur(6px); animation: pb-glow 1.2s ease-in-out infinite alternate; }
.scn-pb .bulk-shadow { position:absolute; bottom:20%; left:15%; width:45%; height:50%; background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.6) 0%, transparent 70%); animation: pb-shadow 5s ease-in-out infinite alternate; }
.scn-pb .bull { position:absolute; bottom:22%; left:22%; width:120px; height:80px; background: linear-gradient(170deg, #4a3a2a 0%, #2a1e12 60%, #1a1008 100%); border-radius:40% 60% 20% 40% / 50% 70% 30% 50%; box-shadow: inset 0 -8px 12px rgba(0,0,0,0.5); transform-origin: bottom center; animation: pb-bull 6s ease-in-out infinite; }
.scn-pb .bull-head { position:absolute; bottom:35%; left:30%; width:40px; height:36px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e12 100%); border-radius:50% 30% 40% 50% / 60% 40% 60% 40%; box-shadow: inset 0 -4px 6px rgba(0,0,0,0.5); transform-origin: 50% 100%; animation: pb-head 3s ease-in-out infinite alternate; }
.scn-pb .figure { position:absolute; bottom:18%; left:55%; width:28px; height:60px; background: linear-gradient(180deg, #6a3a2a 0%, #4a2820 40%, #2a1810 100%); border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; box-shadow: inset 0 -6px 8px rgba(0,0,0,0.3); animation: pb-figure 4s ease-in-out infinite; }
.scn-pb .figure-dress { position:absolute; bottom:16%; left:54%; width:32px; height:30px; background: linear-gradient(180deg, #803030 0%, #602828 100%); border-radius:40% 40% 10% 10%; opacity:0.8; animation: pb-dress 4s ease-in-out infinite; }
@keyframes pb-wall { 0% { opacity:0.7; } 50% { opacity:0.85; } 100% { opacity:0.7; } }
@keyframes pb-torch { 0% { transform:rotate(-5deg) scaleY(1); } 50% { transform:rotate(-3deg) scaleY(1.02); } 100% { transform:rotate(-6deg) scaleY(0.98); } }
@keyframes pb-glow { 0% { opacity:0.6; transform:scale(1); } 50% { opacity:1; transform:scale(1.3); } 100% { opacity:0.7; transform:scale(1.1); } }
@keyframes pb-shadow { 0% { opacity:0.4; } 50% { opacity:0.6; } 100% { opacity:0.45; } }
@keyframes pb-bull { 0% { transform:translateX(0) rotate(-1deg); } 50% { transform:translateX(4px) rotate(1deg); } 100% { transform:translateX(0) rotate(-1deg); } }
@keyframes pb-head { 0% { transform:rotate(-8deg); } 50% { transform:rotate(4deg); } 100% { transform:rotate(-8deg); } }
@keyframes pb-figure { 0% { transform:translateX(0) rotate(1deg); } 50% { transform:translateX(-2px) rotate(-1deg); } 100% { transform:translateX(0) rotate(1deg); } }
@keyframes pb-dress { 0% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-2px) rotate(2deg); } 100% { transform:translateY(0) rotate(0); } }

.scn-khw {
  background: linear-gradient(180deg, #4a3a2a 0%, #302218 40%, #1a1008 100%),
              radial-gradient(ellipse at 50% 30%, #685040 0%, transparent 70%);
  position: relative; overflow: hidden; height: 100%;
}
.scn-khw .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%); border-radius:20% 20% 0 0; box-shadow: inset 0 6px 10px rgba(0,0,0,0.5); }
.scn-khw .back-wall { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e12 100%); }
.scn-khw .horse-body { position:absolute; bottom:30%; left:30%; width:100px; height:60px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:50% 40% 30% 50% / 60% 50% 50% 60%; box-shadow: inset 0 -6px 10px rgba(0,0,0,0.4); transform-origin: 30% 100%; animation: khw-horse-body 8s ease-in-out infinite; }
.scn-khw .horse-neck { position:absolute; bottom:50%; left:50%; width:24px; height:40px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:30% 30% 20% 20% / 40% 40% 30% 30%; transform-origin: bottom center; animation: khw-horse-neck 8s ease-in-out infinite; }
.scn-khw .horse-leg-front { position:absolute; bottom:22%; left:48%; width:12px; height:30px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0e 100%); border-radius:20% 20% 10% 10%; transform-origin: top center; animation: khw-leg 6s ease-in-out infinite; }
.scn-khw .rider { position:absolute; bottom:48%; left:42%; width:20px; height:34px; background: linear-gradient(180deg, #503828 0%, #2a1a10 100%); border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; animation: khw-rider 8s ease-in-out infinite; }
.scn-khw .rider-arm { position:absolute; bottom:56%; left:38%; width:16px; height:6px; background: linear-gradient(180deg, #503828 0%, #2a1a10 100%); border-radius:30% 50% 30% 50%; transform-origin: right center; animation: khw-arm 4s ease-in-out infinite alternate; }
.scn-khw .lamp { position:absolute; bottom:50%; left:70%; width:8px; height:14px; background: linear-gradient(180deg, #a08040 0%, #604020 100%); border-radius:30% 30% 10% 10%; box-shadow: 0 0 6px 2px rgba(160,128,64,0.5); }
.scn-khw .lamp-glow { position:absolute; bottom:52%; left:68%; width:40px; height:40px; background: radial-gradient(circle, #c0a060 0%, #806030 40%, transparent 70%); border-radius:50%; filter:blur(8px); animation: khw-lamp-glow 3s ease-in-out infinite alternate; }
@keyframes khw-horse-body { 0% { transform:translateX(0) rotate(0); } 50% { transform:translateX(2px) rotate(-1deg); } 100% { transform:translateX(0) rotate(0); } }
@keyframes khw-horse-neck { 0% { transform:rotate(3deg); } 50% { transform:rotate(-2deg); } 100% { transform:rotate(3deg); } }
@keyframes khw-leg { 0% { transform:rotate(0) translateY(0); } 25% { transform:rotate(5deg) translateY(0); } 75% { transform:rotate(-3deg) translateY(-1px); } 100% { transform:rotate(0) translateY(0); } }
@keyframes khw-rider { 0% { transform:translateX(0) rotate(0); } 50% { transform:translateX(1px) rotate(-1deg); } 100% { transform:translateX(0) rotate(0); } }
@keyframes khw-arm { 0% { transform:rotate(10deg); } 50% { transform:rotate(-10deg); } 100% { transform:rotate(10deg); } }
@keyframes khw-lamp-glow { 0% { opacity:0.6; transform:scale(1); } 50% { opacity:1; transform:scale(1.2); } 100% { opacity:0.7; transform:scale(1.05); } }

.scn-mwv {
  background: linear-gradient(180deg, #0a1a2a 0%, #152030 40%, #202a3a 100%),
              radial-gradient(ellipse at 50% 0%, #304060 0%, transparent 60%);
  position: relative; overflow: hidden; height: 100%;
}
.scn-mwv .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #0a1a2a 0%, #1a2a3a 100%); animation: mwv-sky 12s ease-in-out infinite alternate; }
.scn-mwv .window-frame { position:absolute; bottom:20%; left:50%; width:140px; height:120px; transform:translateX(-50%); background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); border-radius:8% 8% 4% 4%; box-shadow: inset 0 0 20px rgba(0,0,0,0.6); }
.scn-mwv .curtain-left { position:absolute; bottom:20%; left:50%; width:60px; height:120px; transform:translateX(-100%); background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%); border-radius:20% 0 0 20%; animation: mwv-curtain 10s ease-in-out infinite alternate; }
.scn-mwv .curtain-right { position:absolute; bottom:20%; left:50%; width:60px; height:120px; background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%); border-radius:0 20% 20% 0; animation: mwv-curtain 10s ease-in-out infinite alternate-reverse; }
.scn-mwv .moon { position:absolute; bottom:55%; left:55%; width:36px; height:36px; background: radial-gradient(circle at 40% 40%, #d0d0e0 0%, #a0a0c0 60%, #8080a0 100%); border-radius:50%; box-shadow: 0 0 30px 10px rgba(160,160,200,0.5); animation: mwv-moon 20s ease-in-out infinite alternate; }
.scn-mwv .moon-glow { position:absolute; bottom:53%; left:53%; width:80px; height:80px; background: radial-gradient(circle, rgba(160,160,200,0.3) 0%, transparent 70%); border-radius:50%; filter:blur(12px); animation: mwv-moon-glow 10s ease-in-out infinite alternate; }
.scn-mwv .woman-silhouette { position:absolute; bottom:22%; left:50%; transform:translateX(-50%); width:24px; height:52px; background: linear-gradient(180deg, #0a0a1a 0%, #02020a 100%); border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; animation: mwv-woman 6s ease-in-out infinite; }
.scn-mwv .shadow-on-floor { position:absolute; bottom:8%; left:45%; width:60px; height:10px; background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,0.5) 0%, transparent 70%); animation: mwv-shadow 6s ease-in-out infinite; }
@keyframes mwv-sky { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes mwv-curtain { 0% { transform:translateX(0); } 50% { transform:translateX(-6px); } 100% { transform:translateX(0); } }
@keyframes mwv-moon { 0% { transform:translateY(0) scale(1); } 50% { transform:translateY(-4px) scale(1.02); } 100% { transform:translateY(0) scale(0.98); } }
@keyframes mwv-moon-glow { 0% { opacity:0.5; transform:scale(1); } 50% { opacity:0.8; transform:scale(1.1); } 100% { opacity:0.6; transform:scale(0.95); } }
@keyframes mwv-woman { 0% { transform:translateX(-50%) rotate(0); } 50% { transform:translateX(-50%) translateY(-1px) rotate(-2deg); } 100% { transform:translateX(-50%) rotate(0); } }
@keyframes mwv-shadow { 0% { opacity:0.3; } 50% { opacity:0.5; } 100% { opacity:0.35; } }

.scn-mnp {
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0e 40%, #1a0e06 100%),
              radial-gradient(ellipse at 50% 40%, #604030 0%, transparent 60%);
  position: relative; overflow: hidden; height: 100%;
}
.scn-mnp .room-bg { position:absolute; inset:0 0 10% 0; background: linear-gradient(135deg, #4a3a2a 0%, #2a1a0e 100%); }
.scn-mnp .bed { position:absolute; bottom:8%; left:10%; width:150px; height:40px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:10% 10% 20% 20%; box-shadow: 0 4px 12px rgba(0,0,0,0.4); }
.scn-mnp .woman-body { position:absolute; bottom:30%; left:40%; width:22px; height:44px; background: linear-gradient(180deg, #5a3828 0%, #3a2214 100%); border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; animation: mnp-body 4s ease-in-out infinite; }
.scn-mnp .woman-arm { position:absolute; bottom:38%; left:37%; width:16px; height:6px; background: linear-gradient(180deg, #5a3828 0%, #3a2214 100%); border-radius:30% 50% 30% 50%; transform-origin: right center; animation: mnp-arm 3s ease-in-out infinite alternate; }
.scn-mnp .garment { position:absolute; bottom:32%; left:50%; width:30px; height:20px; background: linear-gradient(180deg, #b87878 0%, #906060 100%); border-radius:40% 40% 10% 10%; transform-origin: top center; animation: mnp-garment 5s ease-in-out infinite; }
.scn-mnp .garment-fold { position:absolute; bottom:34%; left:52%; width:14px; height:14px; background: linear-gradient(180deg, #b87878 0%, #a06868 100%); border-radius:40% 60% 30% 30%; animation: mnp-fold 5s ease-in-out infinite; }
.scn-mnp .candle { position:absolute; bottom:20%; left:70%; width:8px; height:30px; background: linear-gradient(180deg, #c0a060 0%, #a08040 100%); border-radius:4px; }
.scn-mnp .candle-flame { position:absolute; bottom:30%; left:69%; width:8px; height:12px; background: radial-gradient(circle at 50% 50%, #e0a040 0%, #c08030 50%, transparent 80%); border-radius:50% 50% 30% 30%; animation: mnp-flame 0.8s ease-in-out infinite alternate; }
.scn-mnp .candle-glow { position:absolute; bottom:25%; left:65%; width:60px; height:60px; background: radial-gradient(circle, #c0a060 0%, #806030 40%, transparent 70%); border-radius:50%; filter:blur(8px); animation: mnp-glow 2s ease-in-out infinite alternate; }
@keyframes mnp-body { 0% { transform:translateX(0) rotate(0); } 50% { transform:translateX(-2px) rotate(-1deg); } 100% { transform:translateX(0) rotate(0); } }
@keyframes mnp-arm { 0% { transform:rotate(15deg); } 50% { transform:rotate(0deg); } 100% { transform:rotate(12deg); } }
@keyframes mnp-garment { 0% { transform:rotate(0) translateY(0); } 50% { transform:rotate(-3deg) translateY(-2px); } 100% { transform:rotate(0) translateY(0); } }
@keyframes mnp-fold { 0% { transform:rotate(0) translate(0,0); } 50% { transform:rotate(5deg) translate(2px,-1px); } 100% { transform:rotate(0) translate(0,0); } }
@keyframes mnp-flame { 0% { transform:scaleY(1) rotate(0); } 50% { transform:scaleY(1.1) rotate(3deg); } 100% { transform:scaleY(0.9) rotate(-3deg); } }
@keyframes mnp-glow { 0% { opacity:0.5; transform:scale(1); } 50% { opacity:0.8; transform:scale(1.2); } 100% { opacity:0.6; transform:scale(1.05); } }

/* Scene 1: lovers-fancy-neglect-excuses */
.scn-lovers-fancy-neglect-excuses {
  background: linear-gradient(180deg, #0f0e1e 0%, #1a1830 40%, #2a2140 100%),
              radial-gradient(ellipse at 50% 60%, #2a2140 0%, transparent 70%);
}
.scn-lovers-fancy-neglect-excuses .room { position:absolute; inset:0; background: linear-gradient(135deg, #12101f 0%, #0a0912 100%); }
.scn-lovers-fancy-neglect-excuses .desk { position:absolute; bottom:10%; left:15%; right:15%; height:20%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%); border-radius: 4px 4px 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,.6); }
.scn-lovers-fancy-neglect-excuses .figure { position:absolute; bottom:8%; left:25%; width:24px; height:50px; background: linear-gradient(180deg, #1a1a2e 0%, #0e0d1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ln-figure 6s ease-in-out infinite; }
.scn-lovers-fancy-neglect-excuses .lamp { position:absolute; bottom:25%; left:45%; width:10px; height:20px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 6px 2px rgba(200,160,80,.5); }
.scn-lovers-fancy-neglect-excuses .lamp-light { position:absolute; bottom:22%; left:40%; width:30px; height:35px; background: radial-gradient(ellipse, rgba(200,160,80,.4) 0%, transparent 70%); border-radius: 50%; filter: blur(4px); animation: ln-glow 4s ease-in-out infinite alternate; }
.scn-lovers-fancy-neglect-excuses .papers { position:absolute; bottom:12%; left:20%; width:40px; height:5px; background: #2a2018; border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,.4); transform: rotate(-5deg); animation: ln-papers 10s ease-in-out infinite; }
.scn-lovers-fancy-neglect-excuses .hourglass { position:absolute; bottom:29%; left:60%; width:8px; height:16px; background: linear-gradient(180deg, #806040 0%, #403020 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 4px rgba(0,0,0,.5); animation: ln-hourglass 12s ease-in-out infinite; }
.scn-lovers-fancy-neglect-excuses .shadow-strip { position:absolute; bottom:0; left:0; right:0; height:15%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.5) 100%); }
@keyframes ln-figure { 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 ln-glow { 0% { opacity: 0.6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.15); } 100% { opacity: 0.7; transform: scale(0.95); } }
@keyframes ln-papers { 0%,100% { transform: rotate(-5deg) translateX(0); } 50% { transform: rotate(3deg) translateX(4px); } }
@keyframes ln-hourglass { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(0.9); } }

/* Scene 2: euripides-moderate-friendships */
.scn-euripides-moderate-friendships {
  background: linear-gradient(180deg, #1c1a2c 0%, #2a2840 40%, #3a3450 100%),
              radial-gradient(ellipse at 50% 70%, #3a3450 0%, transparent 60%);
}
.scn-euripides-moderate-friendships .room { position:absolute; inset:0; background: linear-gradient(135deg, #1e1c30 0%, #14121e 100%); }
.scn-euripides-moderate-friendships .table { position:absolute; bottom:15%; left:20%; right:20%; height:18%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 6px 6px 0 0; box-shadow: 0 -2px 10px rgba(0,0,0,.5); }
.scn-euripides-moderate-friendships .figure-left { position:absolute; bottom:12%; left:28%; width:22px; height:46px; background: linear-gradient(180deg, #1e1e34 0%, #121124 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: em-figure-left 8s ease-in-out infinite; }
.scn-euripides-moderate-friendships .figure-right { position:absolute; bottom:12%; right:28%; width:22px; height:46px; background: linear-gradient(180deg, #1e1e34 0%, #121124 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: em-figure-right 8s ease-in-out infinite reverse; }
.scn-euripides-moderate-friendships .candle { position:absolute; bottom:25%; left:48%; width:6px; height:18px; background: linear-gradient(180deg, #e0c080 0%, #c8a050 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 6px 1px rgba(200,160,80,.6); }
.scn-euripides-moderate-friendships .candle-glow { position:absolute; bottom:23%; left:44%; width:24px; height:30px; background: radial-gradient(ellipse, rgba(200,160,80,.35) 0%, transparent 70%); border-radius: 50%; filter: blur(3px); animation: em-glow 5s ease-in-out infinite alternate; }
.scn-euripides-moderate-friendships .book { position:absolute; bottom:20%; left:38%; width:30px; height:22px; background: #3a2a1a; border-radius: 2px; box-shadow: 0 2px 8px rgba(0,0,0,.5); transform: rotate(-10deg); animation: em-book 14s ease-in-out infinite; }
@keyframes em-figure-left { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-1px) rotate(3deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-1px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes em-figure-right { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-1px) rotate(-3deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-1px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes em-glow { 0% { opacity: 0.5; transform: scale(1); } 50% { opacity: 0.9; transform: scale(1.2); } 100% { opacity: 0.6; transform: scale(0.9); } }
@keyframes em-book { 0%,100% { transform: rotate(-10deg) translateX(0); } 50% { transform: rotate(5deg) translateX(3px); } }

/* Scene 3: share-friend-injuries-enmities */
.scn-share-friend-injuries-enmities {
  background: linear-gradient(180deg, #0d0b14 0%, #18162a 40%, #1e1a30 100%),
              radial-gradient(ellipse at 50% 50%, #2a2440 0%, transparent 80%);
}
.scn-share-friend-injuries-enmities .room { position:absolute; inset:0; background: linear-gradient(135deg, #12101e 0%, #080612 100%); }
.scn-share-friend-injuries-enmities .figure-standing { position:absolute; bottom:10%; left:35%; width:22px; height:52px; background: linear-gradient(180deg, #1e1e34 0%, #0e0e1e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sf-standing 7s ease-in-out infinite; }
.scn-share-friend-injuries-enmities .figure-kneeling { position:absolute; bottom:5%; left:50%; width:20px; height:36px; background: linear-gradient(180deg, #1a1a2e 0%, #0a0a18 100%); border-radius: 50% 50% 40% 40% / 50% 50% 30% 30%; transform-origin: bottom center; animation: sf-kneeling 9s ease-in-out infinite; }
.scn-share-friend-injuries-enmities .bandage { position:absolute; bottom:18%; left:48%; width:12px; height:4px; background: #4a3a30; border-radius: 2px; transform: rotate(30deg); animation: sf-bandage 6s ease-in-out infinite; }
.scn-share-friend-injuries-enmities .ground { position:absolute; bottom:0; left:0; right:0; height:10%; background: linear-gradient(180deg, #1a1628 0%, #0a0810 100%); }
.scn-share-friend-injuries-enmities .shadow-left { position:absolute; bottom:2%; left:30%; width:30px; height:20px; background: rgba(0,0,0,.4); border-radius: 50%; filter: blur(6px); animation: sf-shadow 10s ease-in-out infinite alternate; }
.scn-share-friend-injuries-enmities .shadow-right { position:absolute; bottom:2%; right:25%; width:35px; height:25px; background: rgba(0,0,0,.3); border-radius: 50%; filter: blur(5px); animation: sf-shadow 12s ease-in-out infinite alternate-reverse; }
@keyframes sf-standing { 0% { transform: translateY(0) rotate(0deg); } 33% { transform: translateY(-2px) rotate(2deg); } 66% { transform: translateY(0) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes sf-kneeling { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-1px) rotate(4deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-1px) rotate(-3deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes sf-bandage { 0%,100% { opacity: 0.8; transform: rotate(30deg) scaleX(1); } 50% { opacity: 1; transform: rotate(40deg) scaleX(1.1); } }
@keyframes sf-shadow { 0% { opacity: 0.3; transform: scale(1); } 50% { opacity: 0.6; transform: scale(1.1); } 100% { opacity: 0.2; transform: scale(0.9); } }

/* Scene 4: creons-daughter-gold-riches-flame */
.scn-creons-daughter-gold-riches-flame {
  background: linear-gradient(180deg, #1a0c04 0%, #2a1408 40%, #0a0402 100%),
              radial-gradient(ellipse at 50% 30%, #4a2008 0%, transparent 70%);
}
.scn-creons-daughter-gold-riches-flame .bg-deep { position:absolute; inset:0; background: linear-gradient(135deg, #0a0402 0%, #1a0c04 100%); }
.scn-creons-daughter-gold-riches-flame .bg-mid { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #3a1a06 0%, transparent 100%); }
.scn-creons-daughter-gold-riches-flame .figure { position:absolute; bottom:15%; left:44%; width:28px; height:58px; background: linear-gradient(180deg, #0e0804 0%, #1a0c06 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cd-figure 5s ease-in-out infinite; }
.scn-creons-daughter-gold-riches-flame .flame-base { position:absolute; bottom:15%; left:40%; width:20%; height:30%; background: radial-gradient(ellipse at 50% 100%, #e05010 0%, #b03000 40%, transparent 70%); filter: blur(8px); animation: cd-base 3s ease-in-out infinite alternate; }
.scn-creons-daughter-gold-riches-flame .flame-tongue-1 { position:absolute; bottom:25%; left:44%; width:12px; height:40px; background: radial-gradient(ellipse at 50% 0%, #ff6000 0%, #c84000 50%, transparent 80%); border-radius: 50%; filter: blur(3px); animation: cd-tongue1 2s ease-in-out infinite alternate; }
.scn-creons-daughter-gold-riches-flame .flame-tongue-2 { position:absolute; bottom:28%; left:38%; width:10px; height:35px; background: radial-gradient(ellipse at 50% 0%, #ff8030 0%, #c85000 50%, transparent 80%); border-radius: 50%; filter: blur(3px); animation: cd-tongue2 2.5s ease-in-out infinite alternate-reverse; }
.scn-creons-daughter-gold-riches-flame .ember { position:absolute; top:10%; left:30%; width:4px; height:4px; background: #ffa040; border-radius: 50%; box-shadow: 0 0 6px 2px rgba(255,160,64,.8); animation: cd-ember 4s linear infinite; }
.scn-creons-daughter-gold-riches-flame .glow { position:absolute; bottom:10%; left:35%; right:35%; height:40%; background: radial-gradient(ellipse, rgba(255,100,20,.3) 0%, transparent 70%); filter: blur(10px); animation: cd-glow 6s ease-in-out infinite alternate; }
@keyframes cd-figure { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-2px) rotate(3deg); } 60% { transform: translateY(0) rotate(-2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes cd-base { 0% { transform: scaleY(1) translateY(0); opacity: 0.6; } 50% { transform: scaleY(1.2) translateY(-4px); opacity: 1; } 100% { transform: scaleY(0.9) translateY(2px); opacity: 0.8; } }
@keyframes cd-tongue1 { 0% { transform: scaleY(1) translateY(0); } 100% { transform: scaleY(1.4) translateY(-8px); } }
@keyframes cd-tongue2 { 0% { transform: scaleY(1) translateY(0); } 100% { transform: scaleY(1.3) translateY(-6px); } }
@keyframes cd-ember { 0% { transform: translateY(0) translateX(0); opacity: 1; } 50% { transform: translateY(-20px) translateX(10px); opacity: 0.8; } 100% { transform: translateY(-40px) translateX(-10px); opacity: 0; } }
@keyframes cd-glow { 0% { opacity: 0.5; transform: scale(1); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: 0.7; transform: scale(0.9); } }

/* diversion-write-silence */
.scn-diversion-write-silence {
  background: 
    linear-gradient(180deg, #1a1a1a 0%, #2a1f1a 40%, #1f1410 100%),
    radial-gradient(ellipse at 30% 70%, #2a1f1a 0%, #0f0a08 70%);
}
.scn-diversion-write-silence .bg-wall {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #1f1f1f 0%, #2a221a 100%);
  animation: dws-wall 20s ease-in-out infinite alternate;
}
.scn-diversion-write-silence .desk {
  position: absolute; bottom: 0; left: 10%; right: 10%; height: 55%;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%);
  border-radius: 2% 2% 0 0;
  box-shadow: inset 0 4px 12px rgba(0,0,0,.7);
  animation: dws-desk 15s ease-in-out infinite;
}
.scn-diversion-write-silence .lamp {
  position: absolute; bottom: 50%; left: 25%; width: 30px; height: 50px;
  background: radial-gradient(ellipse at 50% 20%, #d4a060 0%, #7a5020 60%, #3a2010 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  transform-origin: bottom center;
  animation: dws-lamp 4s ease-in-out infinite alternate;
}
.scn-diversion-write-silence .paper {
  position: absolute; bottom: 20%; left: 35%; width: 80px; height: 60px;
  background: linear-gradient(180deg, #f5edd8 0%, #d9c8a0 100%);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,.5);
  animation: dws-paper 10s ease-in-out infinite;
}
.scn-diversion-write-silence .inkwell {
  position: absolute; bottom: 18%; left: 60%; width: 18px; height: 22px;
  background: radial-gradient(circle at 50% 40%, #2a1a10 0%, #0a0500 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  box-shadow: 0 2px 4px rgba(0,0,0,.6);
  animation: dws-ink 8s ease-in-out infinite;
}
.scn-diversion-write-silence .hand {
  position: absolute; bottom: 22%; left: 38%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #6a5030 0%, #3a2818 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: 50% 80%;
  animation: dws-hand 3s ease-in-out infinite alternate;
}
.scn-diversion-write-silence .glow-pool {
  position: absolute; bottom: 10%; left: 20%; width: 100px; height: 60px;
  background: radial-gradient(ellipse, rgba(200,160,80,.15) 0%, transparent 70%);
  filter: blur(10px);
  animation: dws-glow 6s ease-in-out infinite alternate;
}
@keyframes dws-wall { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .7 } }
@keyframes dws-desk { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes dws-lamp { 0% { transform: rotate(-3deg) scaleY(1) } 50% { transform: rotate(3deg) scaleY(1.02) } 100% { transform: rotate(-2deg) scaleY(1) } }
@keyframes dws-paper { 0%,100% { transform: translate(0,0) rotate(-1deg) } 50% { transform: translate(1px,-1px) rotate(1deg) } }
@keyframes dws-ink { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes dws-hand { 0% { transform: rotate(0deg) translateX(0) } 50% { transform: rotate(5deg) translateX(2px) } 100% { transform: rotate(-2deg) translateX(0) } }
@keyframes dws-glow { 0% { opacity: .5; transform: scaleX(1) } 100% { opacity: .8; transform: scaleX(1.1) } }

/* footnote-garrulity-chattering */
.scn-footnote-garrulity-chattering {
  background: 
    linear-gradient(180deg, #1a1a1a 0%, #221a1a 40%, #141010 100%),
    radial-gradient(ellipse at 50% 60%, #2a1a1a 0%, transparent 70%);
}
.scn-footnote-garrulity-chattering .room-back {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #1f1717 0%, #2a1a1a 100%);
  animation: fgc-back 30s ease-in-out infinite alternate;
}
.scn-footnote-garrulity-chattering .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #2a1a10 0%, #1a0a05 100%);
  border-radius: 30% 70% 0 0 / 20% 40% 0 0;
}
.scn-footnote-garrulity-chattering .chair {
  position: absolute; bottom: 28%; left: 30%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1f1410 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 10% 10%;
  box-shadow: 2px 0 6px rgba(0,0,0,.5);
  animation: fgc-chair 8s ease-in-out infinite;
}
.scn-footnote-garrulity-chattering .figure {
  position: absolute; bottom: 30%; left: 32%; width: 30px; height: 60px;
  background: radial-gradient(ellipse at 50% 60%, #2a1a10 0%, #0a0500 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fgc-figure 5s ease-in-out infinite;
}
.scn-footnote-garrulity-chattering .table {
  position: absolute; bottom: 22%; left: 20%; width: 50px; height: 20px;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%);
  border-radius: 4px;
  animation: fgc-table 12s ease-in-out infinite alternate;
}
.scn-footnote-garrulity-chattering .chatter-1,
.scn-footnote-garrulity-chattering .chatter-2,
.scn-footnote-garrulity-chattering .chatter-3 {
  position: absolute; width: 8px; height: 8px;
  background: radial-gradient(circle, rgba(200,180,140,.6) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(2px);
  animation: fgc-chatter 6s ease-in-out infinite;
}
.scn-footnote-garrulity-chattering .chatter-1 { bottom: 40%; left: 45%; animation-delay: 0s; }
.scn-footnote-garrulity-chattering .chatter-2 { bottom: 42%; left: 55%; animation-delay: 1.5s; width: 5px; height: 5px; }
.scn-footnote-garrulity-chattering .chatter-3 { bottom: 38%; left: 50%; animation-delay: 3s; width: 6px; height: 6px; }
@keyframes fgc-back { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.01) } }
@keyframes fgc-chair { 0%,100% { transform: rotate(0deg) } 50% { transform: rotate(1deg) translateY(-1px) } }
@keyframes fgc-figure { 0% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-2px) rotate(2deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes fgc-table { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes fgc-chatter { 0% { opacity: 0; transform: translate(0,0) scale(0.8) } 50% { opacity: .8; transform: translate(10px,-10px) scale(1.2) } 100% { opacity: 0; transform: translate(20px,-20px) scale(0.5) } }

/* semi-circular-place */
.scn-semi-circular-place {
  background: 
    linear-gradient(180deg, #1a1a1a 0%, #221a1a 40%, #141010 100%),
    radial-gradient(ellipse at 50% 30%, #2a1f1a 0%, transparent 70%);
}
.scn-semi-circular-place .stage-bg {
  position: absolute; inset: 15% 5% 20% 5%;
  background: linear-gradient(180deg, #2a1f1a 0%, #1a1410 100%);
  border-radius: 50% / 30% 30% 60% 60%;
  box-shadow: inset 0 0 40px rgba(0,0,0,.7);
  animation: scp-stage 25s ease-in-out infinite alternate;
}
.scn-semi-circular-place .seats {
  position: absolute; bottom: 15%; left: 10%; right: 10%; height: 30%;
  background: repeating-linear-gradient(90deg, transparent 0px, transparent 15px, #2a1a12 15px, #2a1a12 20px);
  border-radius: 50% / 100% 100% 0 0;
  animation: scp-seats 20s ease-in-out infinite;
}
.scn-semi-circular-place .seat-left {
  position: absolute; bottom: 18%; left: 15%; width: 25px; height: 20px;
  background: linear-gradient(180deg, #3a2218 0%, #1f1008 100%);
  border-radius: 30% 30% 10% 10%;
  transform: rotate(-10deg);
  animation: scp-seat 12s ease-in-out infinite;
}
.scn-semi-circular-place .seat-right {
  position: absolute; bottom: 18%; right: 15%; width: 25px; height: 20px;
  background: linear-gradient(180deg, #3a2218 0%, #1f1008 100%);
  border-radius: 30% 30% 10% 10%;
  transform: rotate(10deg);
  animation: scp-seat 12s ease-in-out infinite reverse;
}
.scn-semi-circular-place .stage-light {
  position: absolute; top: 20%; left: 40%; width: 30px; height: 40px;
  background: radial-gradient(ellipse at 50% 100%, rgba(240,200,140,.3) 0%, transparent 70%);
  filter: blur(5px);
  animation: scp-light 4s ease-in-out infinite alternate;
}
.scn-semi-circular-place .curtain {
  position: absolute; top: 0; left: 0; width: 20%; height: 70%;
  background: linear-gradient(180deg, #3a1818 0%, #1a0a0a 100%);
  border-radius: 0 30% 30% 0;
  box-shadow: 2px 0 8px rgba(0,0,0,.6);
  animation: scp-curtain 18s ease-in-out infinite alternate;
}
@keyframes scp-stage { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.01) scaleY(1.005) } 100% { transform: scaleX(0.99) } }
@keyframes scp-seats { 0%,100% { opacity: .9 } 50% { opacity: 1 } }
@keyframes scp-seat { 0%,100% { transform: rotate(-10deg) translateY(0) } 50% { transform: rotate(-12deg) translateY(-2px) } }
@keyframes scp-light { 0% { opacity: .6; transform: scaleY(1) } 100% { opacity: 1; transform: scaleY(1.2) } }
@keyframes scp-curtain { 0%,100% { transform: translateX(0) } 50% { transform: translateX(2px) } }

/* euripides-bacchae-385 */
.scn-euripides-bacchae-385 {
  background: 
    linear-gradient(180deg, #1a1a1a 0%, #1f1410 50%, #141010 100%),
    radial-gradient(ellipse at 40% 50%, #1f1410 0%, transparent 60%);
}
.scn-euripides-bacchae-385 .backdrop {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #1f1410 0%, #1a0a08 100%);
  animation: eb-back 30s ease-in-out infinite alternate;
}
.scn-euripides-bacchae-385 .mask {
  position: absolute; bottom: 30%; left: 30%; width: 50px; height: 60px;
  background: radial-gradient(ellipse at 50% 30%, #6a4030 0%, #2a1810 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  box-shadow: 0 4px 8px rgba(0,0,0,.6);
  transform-origin: 50% 80%;
  animation: eb-mask 6s ease-in-out infinite alternate;
}
.scn-euripides-bacchae-385 .scroll {
  position: absolute; bottom: 20%; left: 50%; width: 70px; height: 30px;
  background: linear-gradient(180deg, #d9c8a0 0%, #b8a480 100%);
  border-radius: 0 0 10% 10%;
  box-shadow: 0 2px 4px rgba(0,0,0,.4);
  animation: eb-scroll 10s ease-in-out infinite;
}
.scn-euripides-bacchae-385 .stand {
  position: absolute; bottom: 10%; left: 55%; width: 8px; height: 40px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1f1410 100%);
  border-radius: 10%;
  transform: rotate(5deg);
  animation: eb-stand 8s ease-in-out infinite;
}
.scn-euripides-bacchae-385 .shadow-cast {
  position: absolute; bottom: 5%; left: 20%; width: 90px; height: 20px;
  background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 70%);
  filter: blur(6px);
  animation: eb-shadow 12s ease-in-out infinite alternate;
}
.scn-euripides-bacchae-385 .accent-light {
  position: absolute; top: 25%; left: 30%; width: 40px; height: 20px;
  background: radial-gradient(ellipse, rgba(200,160,80,.15) 0%, transparent 70%);
  filter: blur(8px);
  animation: eb-accent 5s ease-in-out infinite alternate;
}
@keyframes eb-back { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.01) } }
@keyframes eb-mask { 0% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(5deg) translateY(-3px) } 100% { transform: rotate(-3deg) translateY(0) } }
@keyframes eb-scroll { 0%,100% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(1deg) } }
@keyframes eb-stand { 0%,100% { transform: rotate(5deg) } 50% { transform: rotate(7deg) } }
@keyframes eb-shadow { 0% { opacity: .4; transform: scaleX(1) } 100% { opacity: .7; transform: scaleX(1.1) } }
@keyframes eb-accent { 0% { opacity: .3; transform: scaleY(1) } 100% { opacity: .6; transform: scaleY(1.3) } }

/* Scene: cheerfull-not-rail */
.scn-cheerfull-not-rail { background: linear-gradient(180deg, #f2e6d0 0%, #e0c8a8 50%, #c8a87c 100%), radial-gradient(ellipse at 20% 80%, #f0d8b8 0%, transparent 70%); }
.scn-cheerfull-not-rail .window { position:absolute; top:8%; left:10%; width:30%; height:35%; background: linear-gradient(180deg, #fff8e0 0%, #f0e0c0 100%); border:4px solid #8a6a4a; border-radius:4% 4% 2% 2%; box-shadow: inset 0 0 30px rgba(255,240,180,0.6), 0 4px 12px rgba(0,0,0,0.15); animation: chr-window 10s ease-in-out infinite alternate; }
.scn-cheerfull-not-rail .fireplace { position:absolute; bottom:20%; left:50%; width:20%; height:30%; transform:translateX(-50%); background: linear-gradient(180deg, #5a3a2a 0%, #3a2212 100%); border-radius:6% 6% 2% 2%; box-shadow: inset 0 -10px 20px rgba(0,0,0,0.5); }
.scn-cheerfull-not-rail .armchair { position:absolute; bottom:12%; left:32%; width:18%; height:22%; background: radial-gradient(ellipse at 50% 40%, #8a5a3a 0%, #5a3018 100%); border-radius:30% 30% 20% 20%; transform:rotate(-2deg); box-shadow: 0 4px 8px rgba(0,0,0,0.3); }
.scn-cheerfull-not-rail .figure { position:absolute; bottom:14%; left:37%; width:8%; height:20%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: chr-figure 6s ease-in-out infinite; }
.scn-cheerfull-not-rail .cat { position:absolute; bottom:10%; left:45%; width:6%; height:10%; background: linear-gradient(180deg, #704a2a 0%, #4a2a1a 100%); border-radius:50% 50% 40% 40%; animation: chr-cat 4s ease-in-out infinite; }
.scn-cheerfull-not-rail .glow { position:absolute; bottom:25%; left:50%; width:12%; height:15%; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 30%, #ffa040 0%, #ff8020 40%, transparent 80%); opacity:0.7; animation: chr-glow 2s ease-in-out infinite alternate; }
.scn-cheerfull-not-rail .bookshelf { position:absolute; top:10%; right:8%; width:15%; height:55%; background: linear-gradient(180deg, #6a4a2a 0%, #4a2a12 100%); border-radius:2% 2% 0 0; box-shadow: inset 0 0 20px rgba(0,0,0,0.5); }
.scn-cheerfull-not-rail .rug { position:absolute; bottom:0; left:20%; width:60%; height:10%; background: radial-gradient(ellipse at 50% 0%, #a07050 0%, #704030 100%); border-radius:50% 50% 0 0; opacity:0.9; }
@keyframes chr-window { 0% { opacity:0.8; transform:scale(1); } 50% { opacity:1; transform:scale(0.98); } 100% { opacity:0.9; transform:scale(1.02); } }
@keyframes chr-figure { 0% { transform:rotate(-3deg) translateY(0); } 25% { transform:rotate(2deg) translateY(-2px); } 50% { transform:rotate(-1deg) translateY(0); } 75% { transform:rotate(4deg) translateY(-1px); } 100% { transform:rotate(-2deg) translateY(0); } }
@keyframes chr-cat { 0% { transform:translateX(0) rotate(0); } 50% { transform:translateX(10px) rotate(5deg); } 100% { transform:translateX(0) rotate(-5deg); } }
@keyframes chr-glow { 0% { opacity:0.5; transform:scale(0.9); } 50% { opacity:0.8; transform:scale(1.1); } 100% { opacity:0.6; transform:scale(0.95); } }

/* Scene: past-book-one-erasure */
.scn-past-book-one-erasure { background: linear-gradient(180deg, #f0e8d8 0%, #d8c8b0 50%, #b8a888 100%), radial-gradient(ellipse at 30% 60%, #f8e8d0 0%, transparent 70%); }
.scn-past-book-one-erasure .window { position:absolute; top:5%; left:5%; width:25%; height:40%; background: linear-gradient(180deg, #fff8e0 0%, #e8d8c0 100%); border:3px solid #7a5a3a; border-radius:4% 4% 2% 2%; box-shadow: inset 0 0 20px rgba(255,240,200,0.5), 0 4px 8px rgba(0,0,0,0.1); animation: pbe-window 12s ease-in-out infinite alternate; }
.scn-past-book-one-erasure .bookshelf { position:absolute; top:5%; right:5%; width:12%; height:70%; background: linear-gradient(180deg, #6a4a2a 0%, #4a2a12 100%); border-radius:2% 2% 0 0; }
.scn-past-book-one-erasure .desk { position:absolute; bottom:15%; left:20%; width:40%; height:20%; background: linear-gradient(180deg, #8a6a3a 0%, #6a4a2a 100%); border-radius:2% 2% 1% 1%; box-shadow: 0 -4px 10px rgba(0,0,0,0.3); }
.scn-past-book-one-erasure .book { position:absolute; bottom:22%; left:30%; width:12%; height:10%; background: linear-gradient(180deg, #5a3018 0%, #3a2010 100%); border-radius:2% 2% 1% 1%; transform:rotate(-2deg); animation: pbe-book 8s ease-in-out infinite; }
.scn-past-book-one-erasure .candle { position:absolute; bottom:25%; left:25%; width:4%; height:12%; background: linear-gradient(180deg, #e0c080 0%, #c09860 100%); border-radius:50% 50% 20% 20%; box-shadow: inset 0 0 8px rgba(255,200,100,0.5); }
.scn-past-book-one-erasure .glow { position:absolute; bottom:28%; left:25%; width:6%; height:8%; background: radial-gradient(ellipse at 50% 30%, #ffd060 0%, #ffa020 50%, transparent 80%); opacity:0.8; animation: pbe-glow 2s ease-in-out infinite alternate; }
.scn-past-book-one-erasure .figure { position:absolute; bottom:18%; left:20%; width:10%; height:25%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pbe-figure 10s ease-in-out infinite; }
@keyframes pbe-window { 0% { opacity:0.8; transform:scale(1); } 50% { opacity:1; transform:scale(1.02); } 100% { opacity:0.9; transform:scale(0.98); } }
@keyframes pbe-book { 0% { transform:rotate(-2deg) translateY(0); } 25% { transform:rotate(1deg) translateY(-2px); } 50% { transform:rotate(-3deg) translateY(0); } 75% { transform:rotate(2deg) translateY(-1px); } 100% { transform:rotate(-2deg) translateY(0); } }
@keyframes pbe-glow { 0% { opacity:0.6; transform:scale(0.9); } 50% { opacity:1; transform:scale(1.2); } 100% { opacity:0.7; transform:scale(1); } }
@keyframes pbe-figure { 0% { transform:rotate(-2deg) translateY(0); } 50% { transform:rotate(2deg) translateY(-3px); } 100% { transform:rotate(-1deg) translateY(0); } }

/* Scene: happiness-right-calculations */
.scn-happiness-right-calculations { background: linear-gradient(180deg, #f0e8d8 0%, #d8c8b0 50%, #b8a888 100%), radial-gradient(ellipse at 70% 30%, #f8e8d0 0%, transparent 70%); }
.scn-happiness-right-calculations .window { position:absolute; top:8%; left:8%; width:30%; height:35%; background: linear-gradient(180deg, #fff8e0 0%, #e8d8c0 100%); border:3px solid #7a5a3a; border-radius:4% 4% 2% 2%; box-shadow: inset 0 0 20px rgba(255,240,200,0.5); animation: hrc-window 10s ease-in-out infinite alternate; }
.scn-happiness-right-calculations .desk { position:absolute; bottom:15%; left:15%; width:50%; height:18%; background: linear-gradient(180deg, #8a6a3a 0%, #6a4a2a 100%); border-radius:2% 2% 1% 1%; }
.scn-happiness-right-calculations .abacus { position:absolute; bottom:22%; left:30%; width:16%; height:8%; background: linear-gradient(180deg, #5a3018 0%, #3a2010 100%); border-radius:4% 4% 2% 2%; animation: hrc-abacus 6s ease-in-out infinite; }
.scn-happiness-right-calculations .plant { position:absolute; bottom:15%; right:10%; width:10%; height:25%; background: radial-gradient(ellipse at 50% 80%, #2a5a2a 0%, #1a3a1a 100%); border-radius:50% 50% 20% 20%; animation: hrc-plant 8s ease-in-out infinite; }
.scn-happiness-right-calculations .chair { position:absolute; bottom:12%; left:20%; width:15%; height:20%; background: radial-gradient(ellipse at 50% 40%, #6a4a2a 0%, #4a2a12 100%); border-radius:30% 30% 20% 20%; transform:rotate(2deg); }
.scn-happiness-right-calculations .teacup { position:absolute; bottom:20%; left:40%; width:5%; height:6%; background: radial-gradient(ellipse at 50% 30%, #f0e0c0 0%, #c0a080 100%); border-radius:30% 30% 10% 10%; box-shadow: 0 2px 4px rgba(0,0,0,0.2); animation: hrc-teacup 4s ease-in-out infinite; }
.scn-happiness-right-calculations .figure { position:absolute; bottom:16%; left:25%; width:8%; height:20%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: hrc-figure 12s ease-in-out infinite; }
@keyframes hrc-window { 0% { opacity:0.8; transform:scale(1); } 50% { opacity:1; transform:scale(0.98); } 100% { opacity:0.9; transform:scale(1.01); } }
@keyframes hrc-abacus { 0% { transform:translateX(0) rotate(0); } 25% { transform:translateX(-4px) rotate(-2deg); } 50% { transform:translateX(2px) rotate(1deg); } 75% { transform:translateX(-1px) rotate(-1deg); } 100% { transform:translateX(0) rotate(0); } }
@keyframes hrc-plant { 0% { transform:rotate(-1deg); } 50% { transform:rotate(3deg); } 100% { transform:rotate(-2deg); } }
@keyframes hrc-teacup { 0% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-2px) rotate(2deg); } 100% { transform:translateY(0) rotate(0); } }
@keyframes hrc-figure { 0% { transform:rotate(-3deg) translateY(0); } 25% { transform:rotate(2deg) translateY(-2px); } 50% { transform:rotate(-1deg) translateY(0); } 75% { transform:rotate(3deg) translateY(-1px); } 100% { transform:rotate(-2deg) translateY(0); } }

/* Scene: monstrous-rail-against-lot */
.scn-monstrous-rail-against-lot { background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 50%, #1a0a00 100%), radial-gradient(ellipse at 30% 50%, #5a3a2a 0%, transparent 70%), radial-gradient(ellipse at 70% 30%, #4a2a1a 0%, transparent 50%); }
.scn-monstrous-rail-against-lot .window { position:absolute; top:5%; left:10%; width:35%; height:40%; background: linear-gradient(180deg, #e0c080 0%, #b09060 100%); border:4px solid #2a1a0a; border-radius:4% 4% 2% 2%; box-shadow: inset 0 0 30px rgba(255,200,100,0.4), 0 4px 12px rgba(0,0,0,0.5); animation: mrl-window 8s ease-in-out infinite alternate; }
.scn-monstrous-rail-against-lot .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); box-shadow: inset 0 10px 20px rgba(0,0,0,0.8); }
.scn-monstrous-rail-against-lot .figure { position:absolute; bottom:20%; left:40%; width:12%; height:35%; background: linear-gradient(180deg, #1a0a00 0%, #0a0000 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mrl-figure 1s ease-in-out infinite; }
.scn-monstrous-rail-against-lot .mirror { position:absolute; bottom:25%; right:15%; width:15%; height:25%; background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); border:3px solid #4a3a2a; border-radius:4% 4% 2% 2%; box-shadow: inset 0 0 30px rgba(200,180,160,0.3); animation: mrl-mirror 3s ease-in-out infinite alternate; }
.scn-monstrous-rail-against-lot .candle { position:absolute; bottom:30%; left:30%; width:3%; height:10%; background: linear-gradient(180deg, #c0a080 0%, #a08060 100%); border-radius:50% 50% 20% 20%; }
.scn-monstrous-rail-against-lot .shadow { position:absolute; bottom:0; left:35%; width:20%; height:40%; background: radial-gradient(ellipse at 50% 0%, #0a0000 0%, transparent 70%); opacity:0.8; animation: mrl-shadow 2s ease-in-out infinite alternate; }
.scn-monstrous-rail-against-lot .clock { position:absolute; top:10%; right:10%; width:12%; height:12%; background: radial-gradient(ellipse at 50% 50%, #4a3a2a 0%, #2a1a0a 100%); border-radius:50%; border:3px solid #6a4a2a; animation: mrl-clock 2s ease-in-out infinite; }
@keyframes mrl-window { 0% { opacity:0.6; transform:scale(1); } 50% { opacity:0.9; transform:scale(1.03); } 100% { opacity:0.7; transform:scale(0.98); } }
@keyframes mrl-figure { 0% { transform:rotate(-2deg) translateY(0) scaleX(1); } 25% { transform:rotate(1deg) translateY(-1px) scaleX(1.02); } 50% { transform:rotate(-3deg) translateY(0) scaleX(0.98); } 75% { transform:rotate(2deg) translateY(-1px) scaleX(1.01); } 100% { transform:rotate(-2deg) translateY(0) scaleX(1); } }
@keyframes mrl-mirror { 0% { transform:rotate(-2deg); } 50% { transform:rotate(1deg); } 100% { transform:rotate(-3deg); } }
@keyframes mrl-shadow { 0% { transform:scaleY(1); opacity:0.7; } 50% { transform:scaleY(1.1); opacity:0.9; } 100% { transform:scaleY(0.95); opacity:0.8; } }
@keyframes mrl-clock { 0% { transform:rotate(0); } 50% { transform:rotate(15deg); } 100% { transform:rotate(0); } }

/* Scene: bion-sprouting-beards - funny, bright interior */
.scn-bion-sprouting-beards {
  background: linear-gradient(180deg, #f5e6d0 0%, #e0c8a8 40%, #c8b090 100%),
              radial-gradient(ellipse at 70% 30%, #fff8e0 0%, transparent 60%);
}
.scn-bion-sprouting-beards .wall   { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #ede0c8 0%, #d4c4a8 100%); }
.scn-bion-sprouting-beards .floor  { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #b8a080 0%, #8a7050 100%); }
.scn-bion-sprouting-beards .window { position:absolute; top:10%; left:70%; width:60px; height:80px; background: linear-gradient(180deg, #b0d4f0 0%, #80b8e0 100%); border-radius:4px; box-shadow: inset 0 0 0 6px #c8b090, 0 0 20px rgba(255,255,200,0.4); animation: bio-window 8s ease-in-out infinite alternate; }
.scn-bion-sprouting-beards .desk   { position:absolute; bottom:30%; left:30%; width:120px; height:40px; background: linear-gradient(180deg, #8a6a4a 0%, #5a3a2a 100%); border-radius:4px 4px 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.3); }
.scn-bion-sprouting-beards .sophist { position:absolute; bottom:30%; left:38%; width:28px; height:60px; background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: bio-sophist 6s ease-in-out infinite; }
.scn-bion-sprouting-beards .beard-vine { position:absolute; bottom:42%; left:38%; width:20px; height:40px; background: linear-gradient(180deg, #7a8a3a 0%, #5a6a2a 100%); border-radius: 0 0 50% 50% / 0 0 80% 80%; transform-origin: top center; animation: bio-vine 4s ease-in-out infinite alternate; }
.scn-bion-sprouting-beards .scroll { position:absolute; bottom:32%; left:48%; width:40px; height:10px; background: #e0c090; border-radius:2px; box-shadow: 0 2px 4px rgba(0,0,0,0.2); animation: bio-scroll 10s ease infinite; }
.scn-bion-sprouting-beards .leaf-1 { position:absolute; bottom:50%; left:36%; width:10px; height:14px; background: radial-gradient(ellipse, #9aba4a 0%, #6a8a2a 100%); border-radius: 50% 0 50% 0; animation: bio-leaf 3s ease-in-out infinite alternate; }
.scn-bion-sprouting-beards .leaf-2 { position:absolute; bottom:48%; left:42%; width:8px; height:12px; background: radial-gradient(ellipse, #8aaa3a 0%, #5a7a1a 100%); border-radius: 0 50% 0 50%; animation: bio-leaf2 3.5s ease-in-out infinite alternate reverse; }
@keyframes bio-window { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes bio-sophist { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-4px) rotate(2deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes bio-vine { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.3) rotate(5deg); } 100% { transform: scaleY(0.8) rotate(-3deg); } }
@keyframes bio-scroll { 0%,100% { transform: translateX(0); } 50% { transform: translateX(10px); } }
@keyframes bio-leaf { 0% { transform: translate(0,0) rotate(0deg) scale(1); } 50% { transform: translate(8px,-6px) rotate(30deg) scale(1.2); } 100% { transform: translate(0,0) rotate(0deg) scale(1); } }
@keyframes bio-leaf2 { 0% { transform: translate(0,0) rotate(0deg) scale(1); } 50% { transform: translate(-6px,-4px) rotate(-20deg) scale(1.1); } 100% { transform: translate(0,0) rotate(0deg) scale(1); } }

/* Scene: women-love-constant-in-grave - warm, dim interior */
.scn-women-love-constant-in-grave {
  background: linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 40%, #4a3a2a 100%),
              radial-gradient(ellipse at 50% 80%, #6a4a2a 0%, transparent 70%);
}
.scn-women-love-constant-in-grave .bg-wall { position:absolute; inset:0; background: linear-gradient(180deg, #2a1a0a 0%, #1a120a 100%); }
.scn-women-love-constant-in-grave .monument { position:absolute; bottom:20%; left:50%; width:100px; height:120px; transform:translateX(-50%); background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:10% 10% 5% 5% / 20% 20% 5% 5%; box-shadow: 0 8px 16px rgba(0,0,0,0.6); }
.scn-women-love-constant-in-grave .veiled-figure { position:absolute; bottom:30%; left:45%; width:24px; height:60px; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; opacity:0.8; animation: wlc-mourn 8s ease-in-out infinite; }
.scn-women-love-constant-in-grave .flower { position:absolute; bottom:22%; left:48%; width:8px; height:12px; background: radial-gradient(ellipse, #b87878 0%, #5e1a1d 100%); border-radius: 50% 50% 0 0; animation: wlc-flower 10s ease-in-out infinite alternate; }
.scn-women-love-constant-in-grave .candle { position:absolute; bottom:30%; left:60%; width:6px; height:40px; background: linear-gradient(180deg, #e0c080 0%, #8a6a40 100%); border-radius:2px; box-shadow: 0 0 20px 4px rgba(200,150,60,0.3); animation: wlc-candle 4s ease-in-out infinite; }
.scn-women-love-constant-in-grave .shadow { position:absolute; bottom:20%; left:30%; width:80px; height:20px; background: rgba(0,0,0,0.4); filter:blur(8px); border-radius:50%; animation: wlc-shadow 12s ease-in-out infinite; }
.scn-women-love-constant-in-grave .mote-1 { position:absolute; top:30%; left:40%; width:4px; height:4px; background: rgba(220,200,160,0.5); border-radius:50%; animation: wlc-mote 20s linear infinite; }
.scn-women-love-constant-in-grave .mote-2 { position:absolute; top:50%; left:60%; width:6px; height:6px; background: rgba(200,180,140,0.3); border-radius:50%; animation: wlc-mote 25s linear infinite 5s; }
@keyframes wlc-mourn { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-6px) rotate(2deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes wlc-flower { 0% { transform: scale(1) rotate(0deg); opacity:0.7; } 50% { transform: scale(1.2) rotate(15deg); opacity:1; } 100% { transform: scale(0.9) rotate(-5deg); opacity:0.6; } }
@keyframes wlc-candle { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-3px) scaleX(1.05); box-shadow: 0 0 30px 8px rgba(200,150,60,0.5); } 100% { transform: translateY(0) scaleX(1); box-shadow: 0 0 20px 4px rgba(200,150,60,0.3); } }
@keyframes wlc-shadow { 0% { transform: translateX(0) scale(1); opacity:0.4; } 50% { transform: translateX(10px) scale(1.1); opacity:0.6; } 100% { transform: translateX(0) scale(1); opacity:0.4; } }
@keyframes wlc-mote { 0% { transform: translate(0,0) scale(1); opacity:0; } 20% { opacity:0.8; } 50% { transform: translate(30px, -40px) scale(0.5); opacity:0.5; } 80% { opacity:0.2; } 100% { transform: translate(60px, -80px) scale(0); opacity:0; } }

/* Scene: empone-story-beginning - tense, dim interior */
.scn-empone-story-beginning {
  background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 40%, #1a1a2a 100%),
              radial-gradient(ellipse at 40% 60%, #3a3a4a 0%, transparent 70%);
}
.scn-empone-story-beginning .chamber-bg { position:absolute; inset:0; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); }
.scn-empone-story-beginning .table { position:absolute; bottom:25%; left:35%; width:100px; height:20px; background: linear-gradient(180deg, #3a3a2a 0%, #1a1a0a 100%); border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,0.5); }
.scn-empone-story-beginning .lamp { position:absolute; bottom:40%; left:42%; width:10px; height:14px; background: radial-gradient(ellipse, #8a6a40 0%, #4a3a20 100%); border-radius:50%; box-shadow: 0 0 30px 12px rgba(200,150,60,0.3); animation: emp-lamp 5s ease-in-out infinite; }
.scn-empone-story-beginning .figure-julius { position:absolute; bottom:25%; left:25%; width:28px; height:60px; background: linear-gradient(180deg, #2a2a3a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: emp-julius 6s ease-in-out infinite; }
.scn-empone-story-beginning .figure-sabinus { position:absolute; bottom:25%; left:55%; width:26px; height:58px; background: linear-gradient(180deg, #2a2a3a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: emp-sabinus 6s ease-in-out infinite 0.5s; }
.scn-empone-story-beginning .hidden-door { position:absolute; bottom:0; right:10%; width:40px; height:80px; background: linear-gradient(180deg, #2a2a3a 0%, #0a0a1a 100%); border-radius: 4px 4px 0 0; box-shadow: inset 2px 0 8px rgba(0,0,0,0.6); animation: emp-door 12s ease-in-out infinite; }
.scn-empone-story-beginning .glow-shift { position:absolute; inset:0; background: radial-gradient(ellipse at 40% 40%, rgba(200,150,60,0.08) 0%, transparent 60%); animation: emp-glow 8s ease-in-out infinite alternate; }
@keyframes emp-lamp { 0% { box-shadow: 0 0 20px 6px rgba(200,150,60,0.2); } 50% { box-shadow: 0 0 40px 16px rgba(200,150,60,0.5); } 100% { box-shadow: 0 0 20px 6px rgba(200,150,60,0.2); } }
@keyframes emp-julius { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-5px) rotate(3deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes emp-sabinus { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-4px) rotate(-3deg); } 100% { transform: translateY(0) rotate(2deg); } }
@keyframes emp-door { 0% { transform: translateX(0); opacity:0.7; } 50% { transform: translateX(10px); opacity:1; } 100% { transform: translateX(0); opacity:0.7; } }
@keyframes emp-glow { 0% { opacity:0.6; } 50% { opacity:1; } 100% { opacity:0.5; } }

/* Scene: sabinus-hides-underground - tense, dark */
.scn-sabinus-hides-underground {
  background: linear-gradient(180deg, #0a0a12 0%, #12121a 30%, #0a0a0a 100%),
              radial-gradient(ellipse at 50% 70%, #1a1a2a 0%, transparent 80%);
}
.scn-sabinus-hides-underground .cave-bg { position:absolute; inset:0; background: linear-gradient(180deg, #0a0a12 0%, #050510 100%); }
.scn-sabinus-hides-underground .stalactite { position:absolute; top:0; left:20%; width:12px; height:60px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 0 0 50% 50%; transform-origin: top center; animation: sab-stal 20s ease-in-out infinite; }
.scn-sabinus-hides-underground .lantern { position:absolute; bottom:40%; left:55%; width:14px; height:20px; background: radial-gradient(ellipse, #b08040 0%, #5a3a20 100%); border-radius: 30% 30% 20% 20%; box-shadow: 0 0 40px 20px rgba(180,120,60,0.2); animation: sab-lantern 6s ease-in-out infinite; }
.scn-sabinus-hides-underground .figure-sabinus { position:absolute; bottom:20%; left:30%; width:24px; height:54px; background: linear-gradient(180deg, #2a2a3a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sab-descent 12s ease-in-out infinite; }
.scn-sabinus-hides-underground .freedman-1 { position:absolute; bottom:20%; left:45%; width:22px; height:50px; background: linear-gradient(180deg, #2a2a3a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sab-freed 12s ease-in-out infinite 2s; }
.scn-sabinus-hides-underground .freedman-2 { position:absolute; bottom:20%; left:60%; width:22px; height:50px; background: linear-gradient(180deg, #2a2a3a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sab-freed 12s ease-in-out infinite 4s; }
.scn-sabinus-hides-underground .ladder { position:absolute; bottom:0; left:20%; width:8px; height:100px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-left: 4px solid #1a1a2a; border-right: 4px solid #1a1a2a; border-radius:2px; box-shadow: 0 0 6px rgba(0,0,0,0.6); animation: sab-ladder 15s ease-in-out infinite; }
@keyframes sab-stal { 0% { transform: scaleY(1) rotate(0deg); } 50% { transform: scaleY(1.1) rotate(3deg); } 100% { transform: scaleY(0.9) rotate(-2deg); } }
@keyframes sab-lantern { 0% { box-shadow: 0 0 30px 10px rgba(180,120,60,0.15); } 50% { box-shadow: 0 0 60px 30px rgba(180,120,60,0.35); } 100% { box-shadow: 0 0 30px 10px rgba(180,120,60,0.15); } }
@keyframes sab-descent { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-8px) rotate(4deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes sab-freed { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-6px) rotate(-3deg); } 100% { transform: translateY(0) rotate(2deg); } }
@keyframes sab-ladder { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-4px) scaleX(1.02); } 100% { transform: translateY(0) scaleX(1); } }

/* Scene 1 - pathics vile */
.scn-pathics-vile {
  background: linear-gradient(180deg, #1a1a1a 0%, #2a2020 40%, #1e1418 100%),
              radial-gradient(ellipse at 30% 20%, #3a2a2a 0%, transparent 70%);
}
.scn-pathics-vile .wall { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #2a1e1e 0%, #140e0e 100%); }
.scn-pathics-vile .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(0deg, #1a1212 0%, #221616 100%); box-shadow: inset 0 10px 20px #000; }
.scn-pathics-vile .figure-sat { position:absolute; bottom:22%; left:50%; transform:translateX(-50%); width:28px; height:42px; background: linear-gradient(180deg, #1a1212 0%, #0a0808 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: pv-figure 6s ease-in-out infinite; }
.scn-pathics-vile .mirror-broken { position:absolute; bottom:38%; left:20%; width:40px; height:50px; background: linear-gradient(135deg, #3a3a3a 0%, #2a2a2a 100%); border-radius: 8% 8% 30% 30%; clip-path: polygon(10% 0%, 90% 5%, 100% 60%, 70% 100%, 30% 90%, 0% 50%); animation: pv-mirror 12s ease-in-out infinite; }
.scn-pathics-vile .lantern-dim { position:absolute; bottom:32%; left:38%; width:6px; height:6px; background: radial-gradient(circle, #8a6a4a 0%, #3a2a1a 100%); border-radius:50%; box-shadow: 0 0 18px 4px #6a4a2a; animation: pv-lantern 4s ease-in-out infinite; }
.scn-pathics-vile .shadow-cast { position:absolute; bottom:20%; left:50%; transform:translateX(-50%); width:70px; height:20px; background: radial-gradient(ellipse at 50% 100%, #0a0808 0%, transparent 100%); animation: pv-shadow 8s ease-in-out infinite; }

@keyframes pv-figure {
  0% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-3px) rotate(-1deg); }
  100% { transform: translateX(-50%) translateY(0) rotate(0); }
}
@keyframes pv-mirror {
  0% { opacity:0.7; transform: rotate(0deg); }
  50% { opacity:1; transform: rotate(2deg); }
  100% { opacity:0.8; transform: rotate(-1deg); }
}
@keyframes pv-lantern {
  0% { opacity:0.5; box-shadow: 0 0 12px 2px #6a4a2a; }
  50% { opacity:0.9; box-shadow: 0 0 28px 8px #8a6a4a; }
  100% { opacity:0.6; box-shadow: 0 0 15px 3px #6a4a2a; }
}
@keyframes pv-shadow {
  0% { opacity:0.3; transform: translateX(-50%) scale(1); }
  50% { opacity:0.6; transform: translateX(-50%) scale(1.05); }
  100% { opacity:0.4; transform: translateX(-50%) scale(0.98); }
}

/* Scene 2 - seduced take vengeance */
.scn-seduced-take-vengeance {
  background: linear-gradient(135deg, #0e0e1a 0%, #1a121e 30%, #2a1820 100%),
              radial-gradient(ellipse at 70% 30%, #3a1a1a 0%, transparent 80%);
}
.scn-seduced-take-vengeance .wall.shadowed { position:absolute; inset:0 0 15% 0; background: linear-gradient(180deg, #1a141e 0%, #0e0a12 100%); }
.scn-seduced-take-vengeance .figure-avenger { position:absolute; bottom:20%; left:35%; width:30px; height:50px; background: linear-gradient(180deg, #1a141e 0%, #0a0612 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: stv-figure 2s ease-in-out infinite; }
.scn-seduced-take-vengeance .dagger-held { position:absolute; bottom:35%; left:41%; width:4px; height:20px; background: linear-gradient(180deg, #5a3a3a 0%, #2a1010 100%); border-radius: 2px; transform-origin: bottom center; animation: stv-dagger 1.5s ease-in-out infinite; }
.scn-seduced-take-vengeance .candle-flicker { position:absolute; bottom:28%; left:60%; width:6px; height:12px; background: linear-gradient(180deg, #8a6a4a 0%, #3a2a1a 100%); border-radius: 2px 2px 0 0; animation: stv-candle 3s ease-in-out infinite; }
.scn-seduced-take-vengeance .shadow-victim { position:absolute; bottom:18%; left:60%; width:40px; height:35px; background: radial-gradient(ellipse at 50% 0%, #0a0612 0%, transparent 100%); animation: stv-shadow 4s ease-in-out infinite; }
.scn-seduced-take-vengeance .curtain { position:absolute; top:0; right:0; width:20%; height:60%; background: linear-gradient(90deg, #2a1a1a 0%, #1a0e0e 100%); border-radius: 0 0 0 20px; animation: stv-curtain 8s ease-in-out infinite; }

@keyframes stv-figure {
  0% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes stv-dagger {
  0% { transform: rotate(-10deg) scaleY(0.9); }
  50% { transform: rotate(15deg) scaleY(1.1); }
  100% { transform: rotate(0deg) scaleY(1); }
}
@keyframes stv-candle {
  0% { opacity:0.7; transform: scaleY(1); }
  50% { opacity:1; transform: scaleY(1.2); }
  100% { opacity:0.8; transform: scaleY(0.95); }
}
@keyframes stv-shadow {
  0% { opacity:0.2; transform: scale(1); }
  50% { opacity:0.5; transform: scale(1.1); }
  100% { opacity:0.3; transform: scale(0.95); }
}
@keyframes stv-curtain {
  0% { transform: translateX(0); }
  50% { transform: translateX(-5px); }
  100% { transform: translateX(2px); }
}

/* Scene 3 - women friendship beginning */
.scn-women-friendship-beginning {
  background: linear-gradient(180deg, #fef2e0 0%, #fde8c8 40%, #fce0b0 100%),
              radial-gradient(ellipse at 50% 0%, #fff5e0 0%, transparent 70%);
}
.scn-women-friendship-beginning .window-bright { position:absolute; top:8%; left:30%; width:40%; height:55%; background: linear-gradient(180deg, #d4e8f0 0%, #b8d4e0 100%); border-radius: 10px 10px 0 0; box-shadow: inset 0 0 30px rgba(255,255,200,0.3); }
.scn-women-friendship-beginning .sunbeam { position:absolute; top:0; left:38%; width:24%; height:100%; background: linear-gradient(180deg, rgba(255,245,210,0.4) 0%, rgba(255,245,210,0.1) 100%); filter: blur(10px); animation: wfb-sunbeam 12s ease-in-out infinite; }
.scn-women-friendship-beginning .figure-left { position:absolute; bottom:18%; left:35%; width:22px; height:40px; background: linear-gradient(180deg, #d4b896 0%, #b89c7a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: wfb-figures 4s ease-in-out infinite; }
.scn-women-friendship-beginning .figure-right { position:absolute; bottom:18%; left:45%; width:22px; height:40px; background: linear-gradient(180deg, #c8a880 0%, #a88c64 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: wfb-figures 4s ease-in-out infinite reverse; }
.scn-women-friendship-beginning .flowers { position:absolute; bottom:30%; left:25%; width:30px; height:20px; background: radial-gradient(circle at 30% 30%, #e8a0a0 0%, #c08080 100%); border-radius: 50%; box-shadow: 0 4px 8px rgba(0,0,0,0.1); animation: wfb-flowers 6s ease-in-out infinite; }
.scn-women-friendship-beginning .table { position:absolute; bottom:14%; left:30%; right:30%; height:8%; background: linear-gradient(180deg, #b89870 0%, #8a7050 100%); border-radius: 4px; }

@keyframes wfb-sunbeam {
  0% { opacity:0.3; transform: translateX(0); }
  50% { opacity:0.7; transform: translateX(5px); }
  100% { opacity:0.4; transform: translateX(-3px); }
}
@keyframes wfb-figures {
  0% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-4px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes wfb-flowers {
  0% { transform: scale(1) rotate(0deg); }
  50% { transform: scale(1.1) rotate(10deg); }
  100% { transform: scale(1) rotate(0deg); }
}

/* Scene 4 - women folly madness */
.scn-women-folly-madness {
  background: linear-gradient(180deg, #f0f4f8 0%, #d8e0ea 50%, #c0c8d4 100%),
              radial-gradient(ellipse at 50% 30%, #ffffff 0%, transparent 80%);
}
.scn-women-folly-madness .wall.harsh { position:absolute; inset:0 40% 0 0; background: linear-gradient(90deg, #e8ecf0 0%, #d0d8e0 100%); }
.scn-women-folly-madness .window-glare { position:absolute; top:5%; right:5%; width:25%; height:50%; background: linear-gradient(135deg, #ffffff 0%, #d0e0ee 100%); border-radius: 10px; box-shadow: inset 0 0 40px rgba(255,255,255,0.8); animation: wfm-window 5s ease-in-out infinite; }
.scn-women-folly-madness .figure-desperate { position:absolute; bottom:20%; left:25%; width:30px; height:48px; background: linear-gradient(180deg, #5a4e4a 0%, #2a221e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: wfm-desperate 0.8s ease-in-out infinite; }
.scn-women-folly-madness .figure-boy { position:absolute; bottom:22%; left:60%; width:20px; height:36px; background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; opacity:0.6; animation: wfm-boy 4s ease-in-out infinite; }
.scn-women-folly-madness .mirror { position:absolute; bottom:25%; left:70%; width:30px; height:40px; background: linear-gradient(135deg, #c8d0d8 0%, #a0a8b0 100%); border-radius: 10%; box-shadow: inset 0 0 10px rgba(0,0,0,0.2); animation: wfm-mirror 6s ease-in-out infinite; }
.scn-women-folly-madness .letter-shake { position:absolute; bottom:38%; left:35%; width:12px; height:16px; background: linear-gradient(180deg, #e8e0c0 0%, #c8c0a0 100%); transform: rotate(10deg); animation: wfm-letter 0.6s ease-in-out infinite; }

@keyframes wfm-window {
  0% { opacity:0.7; transform: scaleY(1); }
  50% { opacity:1; transform: scaleY(1.05); }
  100% { opacity:0.8; transform: scaleY(0.98); }
}
@keyframes wfm-desperate {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-2px) rotate(3deg); }
  50% { transform: translateY(0) rotate(-3deg); }
  75% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes wfm-boy {
  0% { opacity:0.3; transform: translateY(0); }
  50% { opacity:0.9; transform: translateY(-5px); }
  100% { opacity:0.5; transform: translateY(0); }
}
@keyframes wfm-mirror {
  0% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(5deg) scale(1.02); }
  100% { transform: rotate(0deg) scale(0.98); }
}
@keyframes wfm-letter {
  0% { transform: rotate(10deg) translateX(0); }
  25% { transform: rotate(8deg) translateX(-1px); }
  50% { transform: rotate(12deg) translateX(1px); }
  75% { transform: rotate(9deg) translateX(-1px); }
  100% { transform: rotate(10deg) translateX(0); }
}

/* strong-stomachs-digest-serpents – calm dim interior, warm amber */
.scn-strong-stomachs-digest-serpents {
  background: linear-gradient(180deg, #2a1f12 0%, #3d2a1c 40%, #4a3422 100%), radial-gradient(ellipse at 50% 60%, #6b4c34 0%, transparent 70%);
}
.scn-strong-stomachs-digest-serpents .room { position:absolute; inset:0; background: linear-gradient(180deg, transparent 0%, #1e140b 100%); }
.scn-strong-stomachs-digest-serpents .table { position:absolute; bottom:15%; left:25%; width:50%; height:8%; background: linear-gradient(180deg, #5c422e 0%, #3a2a1a 100%); border-radius:4% 4% 8% 8%; box-shadow:0 6px 20px rgba(0,0,0,.6); }
.scn-strong-stomachs-digest-serpents .bowl { position:absolute; bottom:18%; left:40%; width:20%; height:12%; background: radial-gradient(circle at 50% 30%, #7a5a3a 0%, #4a3422 60%, #2a1a0e 100%); border-radius:50% 50% 40% 40%; box-shadow:inset 0 -4px 10px rgba(0,0,0,.5); }
.scn-strong-stomachs-digest-serpents .serpent-a { position:absolute; bottom:22%; left:44%; width:8%; height:16%; background: linear-gradient(180deg, #3a5a2a 0%, #1a3a1a 100%); border-radius:40% 40% 50% 50% / 30% 30% 60% 60%; transform-origin:bottom center; animation: ssds-serpent 5s ease-in-out infinite; }
.scn-strong-stomachs-digest-serpents .serpent-b { position:absolute; bottom:22%; left:50%; width:8%; height:14%; background: linear-gradient(180deg, #4a6a3a 0%, #2a4a2a 100%); border-radius:40% 40% 50% 50% / 30% 30% 60% 60%; transform-origin:bottom center; animation: ssds-serpent 5s ease-in-out infinite; animation-delay:1s; }
.scn-strong-stomachs-digest-serpents .steam { position:absolute; bottom:28%; left:43%; width:14%; height:20%; background: radial-gradient(circle, rgba(255,220,180,.3) 0%, transparent 70%); filter:blur(4px); animation: ssds-steam 8s ease-in-out infinite; }
.scn-strong-stomachs-digest-serpents .fire-glow { position:absolute; bottom:16%; left:36%; width:28%; height:18%; background: radial-gradient(circle at 50% 40%, #ffa060 0%, #8a4a20 40%, transparent 80%); opacity:0.6; animation: ssds-fire 3s ease-in-out infinite alternate; }
@keyframes ssds-serpent { 0% { transform: scaleY(1) rotate(0deg) translateY(0); } 50% { transform: scaleY(1.2) rotate(5deg) translateY(-4px); } 100% { transform: scaleY(1) rotate(-3deg) translateY(0); } }
@keyframes ssds-steam { 0% { transform: translateY(0) scale(1); opacity:0.5; } 50% { transform: translateY(-20px) scale(1.2); opacity:0.2; } 100% { transform: translateY(-40px) scale(1.5); opacity:0; } }
@keyframes ssds-fire { 0% { opacity:0.4; transform: scale(0.95); } 50% { opacity:0.7; transform: scale(1.05); } 100% { opacity:0.5; transform: scale(1); } }

/* enemy-pries-all-affairs – tense dim interior, cool with sharp warm slit */
.scn-enemy-pries-all-affairs {
  background: linear-gradient(180deg, #141820 0%, #1c2430 50%, #10141a 100%), radial-gradient(ellipse at 30% 50%, #2a3040 0%, transparent 70%);
}
.scn-enemy-pries-all-affairs .room { position:absolute; inset:0; background: linear-gradient(90deg, #0a0e14 0%, transparent 30%, transparent 70%, #0a0e14 100%); }
.scn-enemy-pries-all-affairs .window-slit { position:absolute; top:20%; left:70%; width:4%; height:30%; background: linear-gradient(180deg, #1a2a3a 0%, #4a6080 100%); box-shadow:0 0 20px 6px rgba(100,150,220,.3); animation: epaa-slit 2s ease-in-out infinite alternate; }
.scn-enemy-pries-all-affairs .eye-gleam { position:absolute; top:32%; left:71%; width:2%; height:3%; background: radial-gradient(circle, #a0c0ff 0%, #4060a0 60%, transparent 100%); border-radius:50%; box-shadow:0 0 12px 4px rgba(100,150,255,.5); animation: epaa-eye 2s ease-in-out infinite; }
.scn-enemy-pries-all-affairs .spy-figure { position:absolute; bottom:10%; left:68%; width:10%; height:35%; background: linear-gradient(180deg, #1a1a22 0%, #0a0a12 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation: epaa-figure 4s ease-in-out infinite; }
.scn-enemy-pries-all-affairs .candle { position:absolute; bottom:10%; left:20%; width:3%; height:10%; background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%); border-radius:10%; box-shadow:0 0 10px 2px #ffa060; animation: epaa-candle 2s ease-in-out infinite alternate; }
.scn-enemy-pries-all-affairs .shadow-dart { position:absolute; bottom:0; left:30%; width:40%; height:60%; background: linear-gradient(180deg, transparent 0%, #05080a 100%); opacity:0.4; animation: epaa-shadow 3s ease-in-out infinite; }
@keyframes epaa-slit { 0% { opacity:0.6; box-shadow:0 0 10px 2px rgba(100,150,220,.2); } 50% { opacity:1; box-shadow:0 0 30px 10px rgba(100,150,220,.5); } 100% { opacity:0.7; box-shadow:0 0 15px 4px rgba(100,150,220,.3); } }
@keyframes epaa-eye { 0%,100% { transform: scale(1); opacity:0.8; } 50% { transform: scale(1.5); opacity:1; } }
@keyframes epaa-figure { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(2px) rotate(2deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(-2px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes epaa-candle { 0% { box-shadow:0 0 8px 2px #ff8040; } 50% { box-shadow:0 0 16px 6px #ffa060; } 100% { box-shadow:0 0 10px 3px #ff8040; } }
@keyframes epaa-shadow { 0% { opacity:0.2; transform: scaleY(0.9); } 50% { opacity:0.5; transform: scaleY(1.1); } 100% { opacity:0.3; transform: scaleY(1); } }

/* states-sobered-by-wars – calm dim interior, warm study */
.scn-states-sobered-by-wars {
  background: linear-gradient(180deg, #2b2218 0%, #3d3024 40%, #4a3a2a 100%), radial-gradient(ellipse at 60% 30%, #6b543a 0%, transparent 60%);
}
.scn-states-sobered-by-wars .room { position:absolute; inset:0; background: linear-gradient(180deg, #1a150e 0%, transparent 100%); }
.scn-states-sobered-by-wars .bookshelf { position:absolute; top:10%; left:10%; width:15%; height:60%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e12 100%); border-radius:4%; box-shadow:inset 0 4px 10px #1a120a; }
.scn-states-sobered-by-wars .desk { position:absolute; bottom:15%; left:30%; width:40%; height:12%; background: linear-gradient(180deg, #5a4432 0%, #3a2a1a 100%); border-radius:6% 6% 10% 10%; box-shadow:0 6px 20px rgba(0,0,0,.5); }
.scn-states-sobered-by-wars .lamp { position:absolute; bottom:25%; left:50%; width:8%; height:18%; background: linear-gradient(180deg, #7a5a2a 0%, #3a2a0e 100%); border-radius:20% 20% 10% 10%; box-shadow:0 0 30px 8px #c89040; animation: ssbw-lamp 4s ease-in-out infinite alternate; }
.scn-states-sobered-by-wars .globe { position:absolute; bottom:30%; left:42%; width:12%; height:14%; background: radial-gradient(circle at 40% 30%, #6a8a6a 0%, #3a5a3a 60%, #1a2a1a 100%); border-radius:50%; box-shadow:0 4px 12px rgba(0,0,0,.4); animation: ssbw-globe 12s linear infinite; }
.scn-states-sobered-by-wars .chair { position:absolute; bottom:5%; left:35%; width:20%; height:20%; background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%); border-radius:30% 30% 20% 20% / 40% 40% 30% 30%; transform-origin:bottom center; animation: ssbw-chair 6s ease-in-out infinite; }
@keyframes ssbw-lamp { 0% { box-shadow:0 0 20px 4px #c08030; } 50% { box-shadow:0 0 40px 12px #e8a040; } 100% { box-shadow:0 0 25px 6px #c08030; } }
@keyframes ssbw-globe { 0% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(180deg) scale(1.05); } 100% { transform: rotate(360deg) scale(1); } }
@keyframes ssbw-chair { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(-1deg); } }

/* actors-competition-with-enemies – calm dim interior, stage with competition */
.scn-actors-competition-with-enemies {
  background: linear-gradient(180deg, #1a1a20 0%, #2a2830 50%, #1c1c24 100%), radial-gradient(ellipse at 50% 60%, #3a3a50 0%, transparent 70%);
}
.scn-actors-competition-with-enemies .stage-back { position:absolute; inset:0; background: linear-gradient(180deg, #2a2a38 0%, #1a1a24 100%); border-radius:0 0 20% 20% / 0 0 10% 10%; }
.scn-actors-competition-with-enemies .curtain-left { position:absolute; top:0; left:0; width:20%; height:100%; background: linear-gradient(180deg, #5a2030 0%, #3a1020 100%); border-radius:0 40% 40% 0 / 0 60% 60% 0; transform-origin:left; animation: acwe-curtain 10s ease-in-out infinite; }
.scn-actors-competition-with-enemies .curtain-right { position:absolute; top:0; right:0; width:20%; height:100%; background: linear-gradient(180deg, #5a2030 0%, #3a1020 100%); border-radius:40% 0 0 40% / 60% 0 0 60%; transform-origin:right; animation: acwe-curtain 10s ease-in-out infinite reverse; }
.scn-actors-competition-with-enemies .actor-a { position:absolute; bottom:25%; left:30%; width:12%; height:35%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 30% 30%; transform-origin:bottom center; animation: acwe-actor-a 5s ease-in-out infinite; }
.scn-actors-competition-with-enemies .actor-b { position:absolute; bottom:25%; right:30%; width:12%; height:35%; background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 30% 30%; transform-origin:bottom center; animation: acwe-actor-b 5s ease-in-out infinite; animation-delay:2.5s; }
.scn-actors-competition-with-enemies .footlight { position:absolute; bottom:22%; left:45%; width:10%; height:4%; background: radial-gradient(circle at 50% 80%, #ffd0a0 0%, #a06030 60%, transparent 100%); border-radius:50%; box-shadow:0 0 20px 6px #d08040; animation: acwe-footlight 2s ease-in-out infinite alternate; }
@keyframes acwe-curtain { 0% { transform: scaleX(1); } 50% { transform: scaleX(0.9); } 100% { transform: scaleX(1); } }
@keyframes acwe-actor-a { 0% { transform: translateY(0) rotate(-2deg); } 30% { transform: translateY(-8px) rotate(0deg); } 50% { transform: translateY(0) rotate(3deg); } 70% { transform: translateY(-6px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes acwe-actor-b { 0% { transform: translateY(0) rotate(2deg); } 30% { transform: translateY(-6px) rotate(0deg); } 50% { transform: translateY(0) rotate(-3deg); } 70% { transform: translateY(-8px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes acwe-footlight { 0% { opacity:0.5; box-shadow:0 0 10px 2px #c07030; } 50% { opacity:0.8; box-shadow:0 0 30px 10px #e0a050; } 100% { opacity:0.6; box-shadow:0 0 15px 4px #d08040; } }

/* fetters-walk-analogy */
.scn-fetters-walk-analogy {
  background:
    linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 40%, #1a1208 100%),
    radial-gradient(ellipse at 50% 30%, #4a3a2a 0%, transparent 70%);
}
.scn-fetters-walk-analogy .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 12% 12% 0 0 / 20% 20% 0 0;
  animation: fw-wall 8s ease-in-out infinite alternate;
}
.scn-fetters-walk-analogy .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 0 0 40% 40% / 0 0 20% 20%;
}
.scn-fetters-walk-analogy .candle {
  position: absolute; bottom: 45%; left: 22%; width: 10px; height: 24px;
  background: linear-gradient(180deg, #deb887 0%, #8b7355 100%);
  border-radius: 40% 40% 10% 10%;
  transform-origin: bottom center;
  animation: fw-candle 4s ease-in-out infinite;
}
.scn-fetters-walk-analogy .glow {
  position: absolute; bottom: 46%; left: 22%; width: 60px; height: 60px;
  background: radial-gradient(circle, #f4a460 0%, #d2691e 40%, transparent 70%);
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(0.8);
  animation: fw-glow 2.5s ease-in-out infinite alternate;
}
.scn-fetters-walk-analogy .figure {
  position: absolute; bottom: 25%; left: 50%; width: 20px; height: 48px;
  background: linear-gradient(180deg, #1a1208 0%, #0a0804 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: fw-figure 5s ease-in-out infinite;
}
.scn-fetters-walk-analogy .chain {
  position: absolute; bottom: 20%; left: 48%; width: 30px; height: 6px;
  background: repeating-linear-gradient(90deg, #8b7355 0px, #8b7355 6px, transparent 6px, transparent 10px);
  border-radius: 2px;
  animation: fw-chain 2s steps(4) infinite;
}
.scn-fetters-walk-analogy .shadow {
  position: absolute; bottom: 18%; left: 40%; width: 60px; height: 10px;
  background: rgba(0,0,0,0.5);
  border-radius: 50%;
  filter: blur(4px);
  animation: fw-shadow 5s ease-in-out infinite;
}
@keyframes fw-wall { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes fw-candle { 0%,100% { transform: rotate(-2deg) } 50% { transform: rotate(3deg) } }
@keyframes fw-glow { 0% { opacity: 0.7; transform: translate(-50%,-50%) scale(0.8) } 50% { opacity: 1; transform: translate(-50%,-50%) scale(1) } 100% { opacity: 0.75; transform: translate(-50%,-50%) scale(0.85) } }
@keyframes fw-figure { 0% { transform: translateX(0) translateY(0) rotate(0) } 25% { transform: translateX(10px) translateY(-4px) rotate(8deg) } 50% { transform: translateX(20px) translateY(0) rotate(0) } 75% { transform: translateX(30px) translateY(-3px) rotate(-6deg) } 100% { transform: translateX(40px) translateY(0) rotate(0) } }
@keyframes fw-chain { 0% { transform: translateX(0) } 50% { transform: translateX(8px) } 100% { transform: translateX(0) } }
@keyframes fw-shadow { 0%,100% { transform: translateX(0) scaleX(1) } 50% { transform: translateX(20px) scaleX(1.3) } }

/* apelles-quick-painting */
.scn-apelles-quick-painting {
  background:
    linear-gradient(180deg, #f5f0e0 0%, #e8dcc8 40%, #d4c4b0 100%),
    radial-gradient(ellipse at 80% 40%, #fff8ee 0%, transparent 60%);
}
.scn-apelles-quick-painting .studio-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #e8dcc8 0%, #d4c4b0 100%);
  border-radius: 20% 50% 0 0 / 30% 40% 0 0;
}
.scn-apelles-quick-painting .canvas {
  position: absolute; bottom: 30%; left: 30%; width: 80px; height: 90px;
  background: linear-gradient(135deg, #f5f0e0 0%, #c8b89e 100%);
  border: 2px solid #b8a48a;
  border-radius: 2px;
  transform-origin: center;
  animation: aqp-canvas 3s ease-in-out infinite alternate;
}
.scn-apelles-quick-painting .easel {
  position: absolute; bottom: 20%; left: 28%; width: 10px; height: 100px;
  background: linear-gradient(180deg, #a08468 0%, #7a6248 100%);
  border-radius: 2px;
}
.scn-apelles-quick-painting .painter {
  position: absolute; bottom: 26%; left: 55%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #b8a48a 0%, #8a7054 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: aqp-painter 4s ease-in-out infinite;
}
.scn-apelles-quick-painting .palette {
  position: absolute; bottom: 30%; left: 65%; width: 20px; height: 14px;
  background: linear-gradient(180deg, #8b5e3c 0%, #6b4226 100%);
  border-radius: 60% 40% 50% 50%;
  animation: aqp-palette 2s ease-in-out infinite;
}
.scn-apelles-quick-painting .paint-splatter {
  position: absolute; bottom: 35%; left: 38%; width: 12px; height: 8px;
  background: radial-gradient(circle, #b87878 0%, #8b5e3c 70%);
  border-radius: 50%;
  filter: blur(2px);
  animation: aqp-splatter 1.5s steps(3) infinite;
}
.scn-apelles-quick-painting .brush {
  position: absolute; bottom: 28%; left: 60%; width: 20px; height: 4px;
  background: linear-gradient(90deg, #d4c4b0 0%, #a08468 100%);
  border-radius: 2px;
  transform-origin: right center;
  animation: aqp-brush 3s ease-in-out infinite alternate;
}
@keyframes aqp-canvas { 0% { transform: scale(1) rotate(-1deg) } 50% { transform: scale(1.02) rotate(1deg) } 100% { transform: scale(1) rotate(-0.5deg) } }
@keyframes aqp-painter { 0% { transform: translateY(0) rotate(0) } 30% { transform: translateY(-6px) rotate(-8deg) } 60% { transform: translateY(2px) rotate(5deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes aqp-palette { 0%,100% { transform: rotate(-15deg) } 50% { transform: rotate(20deg) } }
@keyframes aqp-splatter { 0% { transform: scale(1) translate(0,0) } 33% { transform: scale(1.5) translate(4px,-3px) } 66% { transform: scale(0.8) translate(-2px,2px) } 100% { transform: scale(1) translate(0,0) } }
@keyframes aqp-brush { 0% { transform: rotate(-30deg) } 100% { transform: rotate(10deg) } }

/* avoid-bombastic-finical */
.scn-avoid-bombastic-finical {
  background:
    linear-gradient(180deg, #e8e0d0 0%, #d8d0c0 40%, #c8c0b0 100%),
    radial-gradient(ellipse at 30% 50%, #f0e8d8 0%, transparent 70%);
}
.scn-avoid-bombastic-finical .study-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #d8d0c0 0%, #c8c0b0 100%);
  border-radius: 0 0 20% 20% / 0 0 10% 10%;
}
.scn-avoid-bombastic-finical .desk {
  position: absolute; bottom: 25%; left: 20%; right: 20%; height: 20%;
  background: linear-gradient(180deg, #b8a88a 0%, #988868 100%);
  border-radius: 4% 4% 2% 2% / 8% 8% 4% 4%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
.scn-avoid-bombastic-finical .bookstack {
  position: absolute; bottom: 30%; left: 25%; width: 24px; height: 30px;
  background: repeating-linear-gradient(0deg, #6b5a42 0px, #6b5a42 4px, #4a3a28 4px, #4a3a28 8px, #3a2a18 8px, #3a2a18 12px, #5a4a32 12px, #5a4a32 16px, #7a6a52 16px, #7a6a52 20px, #2a1a08 20px, #2a1a08 24px);
  border-radius: 2px;
  box-shadow: 2px 2px 4px rgba(0,0,0,0.3);
  animation: abf-stack 6s ease-in-out infinite alternate;
}
.scn-avoid-bombastic-finical .inkwell {
  position: absolute; bottom: 31%; left: 60%; width: 14px; height: 16px;
  background: radial-gradient(circle, #4a3a28 0%, #2a1a08 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  box-shadow: inset 0 -2px 4px #1a0a00;
  animation: abf-ink 8s ease-in-out infinite;
}
.scn-avoid-bombastic-finical .parchment {
  position: absolute; bottom: 30%; left: 35%; width: 40px; height: 26px;
  background: linear-gradient(135deg, #f0e8d8 0%, #e0d0b8 100%);
  border-radius: 2px;
  box-shadow: 1px 1px 3px rgba(0,0,0,0.15);
  transform-origin: top left;
  animation: abf-parchment 12s ease-in-out infinite alternate;
}
.scn-avoid-bombastic-finical .reader {
  position: absolute; bottom: 22%; left: 45%; width: 18px; height: 32px;
  background: linear-gradient(180deg, #c8b8a0 0%, #a89880 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: abf-reader 4s ease-in-out infinite;
}
.scn-avoid-bombastic-finical .window-light {
  position: absolute; top: 10%; right: 20%; width: 70px; height: 90px;
  background: linear-gradient(135deg, rgba(255,255,240,0.6) 0%, rgba(255,255,240,0.1) 100%);
  border-radius: 10% 30% 10% 10% / 20% 30% 10% 10%;
  filter: blur(8px);
  animation: abf-light 15s ease-in-out infinite alternate;
}
.scn-avoid-bombastic-finical .dust-motes {
  position: absolute; top: 20%; left: 30%; width: 100px; height: 80px;
  background: radial-gradient(circle at 20% 40%, rgba(255,255,240,0.15) 0%, transparent 50%),
              radial-gradient(circle at 70% 60%, rgba(255,255,240,0.1) 0%, transparent 40%);
  filter: blur(2px);
  animation: abf-dust 20s linear infinite;
}
@keyframes abf-stack { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(0.5deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes abf-ink { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes abf-parchment { 0% { transform: rotate(0) scale(1) } 50% { transform: rotate(1deg) scale(1.01) } 100% { transform: rotate(0) scale(1) } }
@keyframes abf-reader { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(2deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes abf-light { 0% { opacity: 0.6; transform: scale(1) } 50% { opacity: 0.8; transform: scale(1.02) } 100% { opacity: 0.6; transform: scale(1) } }
@keyframes abf-dust { 0% { transform: translateY(0) } 100% { transform: translateY(-40px) } }

/* speech-bold-safety */
.scn-speech-bold-safety {
  background:
    linear-gradient(180deg, #e8e0c8 0%, #d8d0b8 40%, #c8c0a8 100%),
    radial-gradient(ellipse at 50% 70%, #fff8e8 0%, transparent 60%);
}
.scn-speech-bold-safety .hall-wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #d8d0b8 0%, #c8c0a8 100%);
  border-radius: 0 0 60% 60% / 0 0 30% 30%;
}
.scn-speech-bold-safety .podium {
  position: absolute; bottom: 25%; left: 50%; width: 28px; height: 20px;
  background: linear-gradient(180deg, #b8a88a 0%, #988868 100%);
  border-radius: 4px 4px 2px 2px;
  transform: translateX(-50%);
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
.scn-speech-bold-safety .speaker {
  position: absolute; bottom: 35%; left: 50%; width: 20px; height: 36px;
  background: linear-gradient(180deg, #2a2a1a 0%, #1a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%;
  transform: translateX(-50%) scale(0.95);
  transform-origin: bottom center;
  animation: sbs-speaker 6s ease-in-out infinite alternate;
}
.scn-speech-bold-safety .audience-left {
  position: absolute; bottom: 22%; left: 15%; width: 50px; height: 20px;
  background: radial-gradient(ellipse at 30% 50%, #3a3a2a 0%, #1a1a0a 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  filter: blur(2px);
  animation: sbs-audience 8s ease-in-out infinite;
}
.scn-speech-bold-safety .audience-right {
  position: absolute; bottom: 22%; right: 15%; width: 50px; height: 20px;
  background: radial-gradient(ellipse at 70% 50%, #3a3a2a 0%, #1a1a0a 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  filter: blur(2px);
  animation: sbs-audience 8s ease-in-out infinite reverse;
}
.scn-speech-bold-safety .beam-light {
  position: absolute; top: 10%; left: 45%; width: 30px; height: 60%;
  background: linear-gradient(180deg, rgba(255,248,220,0.4) 0%, transparent 80%);
  transform: skewX(-10deg);
  filter: blur(6px);
  animation: sbs-beam 10s ease-in-out infinite alternate;
}
.scn-speech-bold-safety .shadow-pair {
  position: absolute; bottom: 20%; left: 20%; right: 20%; height: 10px;
  background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,0.3) 0%, transparent 80%);
  filter: blur(6px);
  animation: sbs-shadow 7s ease-in-out infinite alternate;
}
@keyframes sbs-speaker { 0% { transform: translateX(-50%) rotate(0) } 50% { transform: translateX(-50%) rotate(2deg) translateY(-2px) } 100% { transform: translateX(-50%) rotate(0) } }
@keyframes sbs-audience { 0% { transform: scale(1) } 50% { transform: scale(1.02) } 100% { transform: scale(1) } }
@keyframes sbs-beam { 0% { opacity: 0.3; transform: skewX(-10deg) } 50% { opacity: 0.5; transform: skewX(-5deg) } 100% { opacity: 0.4; transform: skewX(-10deg) } }
@keyframes sbs-shadow { 0% { opacity: 0.3; transform: scaleX(1) } 50% { opacity: 0.5; transform: scaleX(1.2) } 100% { opacity: 0.3; transform: scaleX(1) } }

.scn-umpires-chosen { background: linear-gradient(180deg, #f5edd6 0%, #e8dcc4 50%, #d4c4a8 100%), radial-gradient(ellipse at 40% 30%, #fff8e0 0%, transparent 60%); }
.scn-umpires-chosen .bg-light { position:absolute; inset:0; background: linear-gradient(135deg, rgba(255,245,215,0.6) 0%, transparent 50%); animation: uc-shimmer 8s ease-in-out infinite alternate; }
.scn-umpires-chosen .window { position:absolute; top:8%; left:15%; width:30%; height:45%; background: linear-gradient(135deg, #b0d0e8 0%, #d8eaf0 100%); border-radius: 4px; box-shadow: inset 0 0 30px rgba(255,240,200,0.5); animation: uc-window 6s ease-in-out infinite; }
.scn-umpires-chosen .table { position:absolute; bottom:15%; left:50%; width:55%; height:12%; transform:translateX(-50%); background: linear-gradient(180deg, #8b6b4a 0%, #5a3d28 100%); border-radius: 8px 8px 4px 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.3); }
.scn-umpires-chosen .figure-left { position:absolute; bottom:20%; left:35%; width:30px; height:80px; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: uc-breathe 4s ease-in-out infinite; }
.scn-umpires-chosen .figure-right { position:absolute; bottom:20%; right:35%; width:28px; height:78px; background: linear-gradient(180deg, #7a5a4a 0%, #4a3a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: uc-breathe 4s ease-in-out infinite reverse; }
.scn-umpires-chosen .scroll { position:absolute; top:52%; left:50%; width:40px; height:20px; transform:translateX(-50%); background: linear-gradient(180deg, #e0c8a0 0%, #c8a870 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 2px 6px rgba(0,0,0,0.2); animation: uc-scroll 9s ease-in-out infinite; }
.scn-umpires-chosen .lamp { position:absolute; top:12%; left:70%; width:12px; height:20px; background: radial-gradient(ellipse at 50% 100%, #ffe080 0%, #c09840 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 40px 15px rgba(255,224,128,0.6), 0 0 80px 30px rgba(255,224,128,0.2); animation: uc-glow 3s ease-in-out infinite alternate; }
@keyframes uc-shimmer { 0% { opacity:0.5 } 50% { opacity:0.8 } 100% { opacity:0.6 } }
@keyframes uc-window { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(1) } }
@keyframes uc-breathe { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-2px) scaleY(1.01) } 100% { transform: translateY(0) scaleY(1) } }
@keyframes uc-scroll { 0% { transform: translateX(-50%) rotate(0deg) } 33% { transform: translateX(-50%) rotate(1deg) } 66% { transform: translateX(-50%) rotate(-1deg) } 100% { transform: translateX(-50%) rotate(0deg) } }
@keyframes uc-glow { 0% { box-shadow: 0 0 30px 10px rgba(255,224,128,0.4); } 50% { box-shadow: 0 0 60px 25px rgba(255,224,128,0.8); } 100% { box-shadow: 0 0 35px 12px rgba(255,224,128,0.5); } }

.scn-protogenes-inveighs-ismenodora { background: linear-gradient(180deg, #1a1a2e 0%, #2c2238 40%, #3a2a4a 100%), radial-gradient(ellipse at 50% 100%, #4a3a5a 0%, transparent 70%); }
.scn-protogenes-inveighs-ismenodora .bg-dark { position:absolute; inset:0; background: radial-gradient(ellipse at 60% 50%, #3a2a4a 0%, transparent 80%); animation: pi-pulse 9s ease-in-out infinite alternate; }
.scn-protogenes-inveighs-ismenodora .candle { position:absolute; top:20%; left:20%; width:8px; height:30px; background: linear-gradient(180deg, #ffd680 0%, #b08040 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 30px 10px rgba(255,214,128,0.5), 0 0 60px 20px rgba(255,214,128,0.2); animation: pi-flicker 0.8s ease-in-out infinite; }
.scn-protogenes-inveighs-ismenodora .protogenes { position:absolute; bottom:18%; left:40%; width:32px; height:80px; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: pi-anger 2.5s ease-in-out infinite; }
.scn-protogenes-inveighs-ismenodora .shadow { position:absolute; bottom:10%; left:30%; width:60px; height:20px; background: rgba(0,0,0,0.5); border-radius: 50%; filter: blur(8px); animation: pi-shadow 2.5s ease-in-out infinite; }
.scn-protogenes-inveighs-ismenodora .chair { position:absolute; bottom:15%; right:20%; width:40px; height:50px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 10% 10% 30% 30%; box-shadow: 0 4px 8px rgba(0,0,0,0.5); }
.scn-protogenes-inveighs-ismenodora .table-edge { position:absolute; bottom:20%; left:10%; width:80%; height:4px; background: #5a4a3a; border-radius: 2px; animation: pi-table 4s ease-in-out infinite; }
@keyframes pi-pulse { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes pi-flicker { 0% { transform: scaleY(1); opacity:0.9 } 25% { transform: scaleY(1.02) rotate(1deg); opacity:1 } 50% { transform: scaleY(0.98) rotate(-1deg); opacity:0.8 } 75% { transform: scaleY(1.01); opacity:1 } 100% { transform: scaleY(1); opacity:0.9 } }
@keyframes pi-anger { 0% { transform: translateX(0) rotate(0deg) } 30% { transform: translateX(8px) rotate(3deg) } 60% { transform: translateX(-4px) rotate(-2deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes pi-shadow { 0% { transform: translateX(0) scaleX(1) } 30% { transform: translateX(10px) scaleX(1.1) } 60% { transform: translateX(-5px) scaleX(0.9) } 100% { transform: translateX(0) scaleX(1) } }
@keyframes pi-table { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.05) } 100% { transform: scaleY(1) } }

.scn-protogenes-replies-love-vs-lust { background: linear-gradient(180deg, #f0e8d8 0%, #e0d0b8 40%, #c8b898 100%), radial-gradient(ellipse at 60% 30%, #fff8e8 0%, transparent 60%); }
.scn-protogenes-replies-love-vs-lust .wall { position:absolute; inset:0; background: linear-gradient(90deg, #e0d0b8 0%, #f0e8d8 50%, #e0d0b8 100%); animation: pr-shimmer 7s ease-in-out infinite alternate; }
.scn-protogenes-replies-love-vs-lust .window-light { position:absolute; top:10%; right:12%; width:35%; height:40%; background: linear-gradient(135deg, #c0d8f0 0%, #e0f0f8 100%); border-radius: 6px; box-shadow: inset 0 0 50px rgba(255,255,200,0.3); animation: pr-window 5s ease-in-out infinite; }
.scn-protogenes-replies-love-vs-lust .figure-a { position:absolute; bottom:20%; left:30%; width:30px; height:78px; background: linear-gradient(180deg, #7a5a3a 0%, #4a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: pr-speak 3.5s ease-in-out infinite; }
.scn-protogenes-replies-love-vs-lust .figure-b { position:absolute; bottom:20%; right:30%; width:28px; height:80px; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: pr-listen 4s ease-in-out infinite; }
.scn-protogenes-replies-love-vs-lust .arm-gesture { position:absolute; bottom:55%; left:38%; width:24px; height:6px; background: #5a3a2a; border-radius: 50%; transform-origin: left center; animation: pr-arm 3.5s ease-in-out infinite; }
.scn-protogenes-replies-love-vs-lust .podium { position:absolute; bottom:15%; left:50%; width:50px; height:30px; transform:translateX(-50%); background: linear-gradient(180deg, #8b6b4a 0%, #5a3d28 100%); border-radius: 4px; box-shadow: 0 3px 8px rgba(0,0,0,0.2); }
.scn-protogenes-replies-love-vs-lust .scroll-b { position:absolute; top:55%; left:20%; width:30px; height:15px; background: linear-gradient(180deg, #e0c8a0 0%, #c8a870 100%); border-radius: 10% 10% 20% 20%; transform: rotate(-10deg); animation: pr-scroll 10s linear infinite; }
@keyframes pr-shimmer { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes pr-window { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.01) } 100% { transform: scaleX(1) } }
@keyframes pr-speak { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-2px) rotate(2deg) } 50% { transform: translateY(0) rotate(0deg) } 75% { transform: translateY(-3px) rotate(-2deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes pr-listen { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes pr-arm { 0% { transform: rotate(-20deg) } 30% { transform: rotate(30deg) } 60% { transform: rotate(-10deg) } 100% { transform: rotate(-20deg) } }
@keyframes pr-scroll { 0% { transform: translateY(0) rotate(-10deg) } 50% { transform: translateY(2px) rotate(-12deg) } 100% { transform: translateY(0) rotate(-10deg) } }

.scn-natural-desire-vs-excess { background: linear-gradient(180deg, #0f0f1a 0%, #1a1a2e 40%, #2a2a3e 100%), radial-gradient(ellipse at 50% 100%, #3a3a4e 0%, transparent 70%); }
.scn-natural-desire-vs-excess .bg-deep { position:absolute; inset:0; background: radial-gradient(ellipse at 40% 60%, #1a1a2e 0%, transparent 80%); animation: nd-sway 8s ease-in-out infinite alternate; }
.scn-natural-desire-vs-excess .torch { position:absolute; top:8%; left:10%; width:10px; height:35px; background: linear-gradient(180deg, #ff8840 0%, #b05020 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 40px 15px rgba(255,136,64,0.6), 0 0 80px 30px rgba(255,136,64,0.3); animation: nd-torch 0.9s ease-in-out infinite; }
.scn-natural-desire-vs-excess .figure-c { position:absolute; bottom:18%; left:35%; width:30px; height:85px; background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: nd-reach 3s ease-in-out infinite; }
.scn-natural-desire-vs-excess .goblet { position:absolute; bottom:30%; left:50%; width:18px; height:28px; transform:translateX(-50%); background: linear-gradient(180deg, #704828 0%, #3a2010 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 4px 12px rgba(0,0,0,0.5); animation: nd-goblet 4s ease-in-out infinite; }
.scn-natural-desire-vs-excess .overflow { position:absolute; bottom:28%; left:48%; width:26px; height:10px; background: linear-gradient(90deg, transparent 0%, #a06030 30%, #c07040 50%, #a06030 70%, transparent 100%); border-radius: 50%; filter: blur(3px); animation: nd-spill 4s ease-in-out infinite; }
.scn-natural-desire-vs-excess .chain { position:absolute; bottom:15%; right:20%; width:40px; height:60px; border: 3px solid #5a4a3a; border-bottom: none; border-radius: 30% 30% 0 0; animation: nd-chain 2.5s ease-in-out infinite; }
@keyframes nd-sway { 0% { opacity:0.6 } 50% { opacity:0.9 } 100% { opacity:0.7 } }
@keyframes nd-torch { 0% { transform: scaleY(1) rotate(-2deg); opacity:0.9 } 25% { transform: scaleY(1.03) rotate(2deg); opacity:1 } 50% { transform: scaleY(0.97) rotate(-1deg); opacity:0.8 } 75% { transform: scaleY(1.02); opacity:1 } 100% { transform: scaleY(1) rotate(-2deg); opacity:0.9 } }
@keyframes nd-reach { 0% { transform: translateY(0) translateX(0) } 40% { transform: translateY(-5px) translateX(8px) } 60% { transform: translateY(-3px) translateX(10px) } 100% { transform: translateY(0) translateX(0) } }
@keyframes nd-goblet { 0% { transform: translateX(-50%) rotate(0deg) } 30% { transform: translateX(-50%) rotate(3deg) } 60% { transform: translateX(-50%) rotate(-2deg) } 100% { transform: translateX(-50%) rotate(0deg) } }
@keyframes nd-spill { 0% { transform: translateX(0) scaleY(1) } 40% { transform: translateX(10px) scaleY(1.2) } 60% { transform: translateX(15px) scaleY(1) } 100% { transform: translateX(0) scaleY(1) } }
@keyframes nd-chain { 0% { transform: rotate(0deg) } 50% { transform: rotate(5deg) } 100% { transform: rotate(0deg) } }

/* impiety-abyss */
.scn-impiety-abyss {
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e0a 30%, #0a0505 60%, #050505 100%),
              radial-gradient(ellipse at 30% 20%, #5a3a2a 0%, transparent 60%);
}
.scn-impiety-abyss .room-back { position:absolute; inset:0 0 35% 0; background: linear-gradient(135deg, #5a3a2a 0%, #3a2a1a 40%, #1a0e0a 100%); animation: ima-flicker 8s ease-in-out infinite alternate; }
.scn-impiety-abyss .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(0deg, #1a0e0a 0%, #3a2a1a 100%); box-shadow: inset 0 20px 40px rgba(0,0,0,.8); }
.scn-impiety-abyss .abyss { position:absolute; bottom:20%; left:20%; width:60%; height:15%; background: radial-gradient(ellipse at 50% 100%, #000 0%, #050505 60%, #0a0505 100%); border-radius: 50% 50% 0 0; box-shadow: 0 -10px 30px rgba(0,0,0,.9); animation: ima-abyss-pulse 6s ease-in-out infinite; }
.scn-impiety-abyss .figure-edge { position:absolute; bottom:33%; left:45%; width:30px; height:80px; background: linear-gradient(180deg, #1a0e0a 0%, #0a0505 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ima-stand-tilt 4s ease-in-out infinite; }
.scn-impiety-abyss .lantern { position:absolute; bottom:40%; left:48%; width:8px; height:12px; background: radial-gradient(circle, #d09050 0%, #b07040 70%); border-radius: 40%; box-shadow: 0 0 20px 4px #b07040, 0 0 40px 8px rgba(176,112,64,.5); animation: ima-glow-swing 3s ease-in-out infinite alternate; }
.scn-impiety-abyss .shadow-rim { position:absolute; bottom:34%; left:44%; width:32px; height:40px; background: radial-gradient(ellipse at 50% 100%, transparent 0%, #0a0505 70%); filter: blur(2px); animation: ima-rim-pulse 5s ease-in-out infinite; }
.scn-impiety-abyss .dust-spark { position:absolute; top:20%; left:10%; width:4px; height:4px; background: #d09050; border-radius: 50%; box-shadow: 0 0 6px 2px #d09050; filter: blur(1px); animation: ima-drift-up 12s linear infinite; }
.scn-impiety-abyss .spark2 { left:80%; top:30%; animation-delay: 7s; width:3px; height:3px; }

@keyframes ima-flicker { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.75 } }
@keyframes ima-abyss-pulse { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.08) } 100% { transform: scaleY(.95) } }
@keyframes ima-stand-tilt { 0% { transform: rotate(-2deg) translateX(0) } 25% { transform: rotate(1deg) translateX(2px) } 50% { transform: rotate(-3deg) translateX(-1px) } 75% { transform: rotate(2deg) translateX(1px) } 100% { transform: rotate(-1deg) translateX(0) } }
@keyframes ima-glow-swing { 0% { transform: rotate(-5deg) } 50% { transform: rotate(5deg) } 100% { transform: rotate(-3deg) } }
@keyframes ima-rim-pulse { 0% { opacity:.6 } 50% { opacity:1 } 100% { opacity:.5 } }
@keyframes ima-drift-up { 0% { transform: translateY(0) scale(1); opacity:.4 } 50% { opacity:.8 } 100% { transform: translateY(-100px) scale(.3); opacity:0 } }

/* ares-god-passion */
.scn-ares-god-passion {
  background: linear-gradient(180deg, #e8dcc8 0%, #d4c4a8 40%, #c0b090 100%),
              radial-gradient(ellipse at 70% 30%, #f5ecd0 0%, transparent 70%);
}
.scn-ares-god-passion .temple-wall { position:absolute; inset:0; background: linear-gradient(90deg, #b0a080 0%, #d4c4a8 30%, #c8b898 70%, #a89878 100%); }
.scn-ares-god-passion .pedestal { position:absolute; bottom:15%; left:35%; width:30%; height:8%; background: linear-gradient(180deg, #a89878 0%, #887868 100%); border-radius: 4% 4% 0 0; box-shadow: 0 4px 12px rgba(0,0,0,.2); }
.scn-ares-god-passion .statue { position:absolute; bottom:22%; left:42%; width:16%; height:50%; background: linear-gradient(180deg, #d8c8a8 0%, #b8a888 40%, #a09070 100%); border-radius: 30% 30% 15% 15% / 50% 50% 30% 30%; transform-origin: bottom center; animation: agp-sway 10s ease-in-out infinite; }
.scn-ares-god-passion .statue-arm { position:absolute; bottom:38%; left:48%; width:10%; height:30%; background: linear-gradient(180deg, #c8b898 0%, #a89878 100%); border-radius: 20% 20% 30% 30%; transform: rotate(15deg); transform-origin: top left; animation: agp-arm 12s ease-in-out infinite; }
.scn-ares-god-passion .sunbeam { position:absolute; top:0; left:55%; width:20%; height:100%; background: linear-gradient(180deg, rgba(245,236,208,.6) 0%, rgba(200,190,160,.1) 100%); clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%); animation: agp-beam 8s ease-in-out infinite; }
.scn-ares-god-passion .sun-glow { position:absolute; top:5%; left:50%; width:30%; height:20%; background: radial-gradient(circle, #f5ecd0 0%, transparent 70%); animation: agp-glow-pulse 5s ease-in-out infinite alternate; }
.scn-ares-god-passion .motes { position:absolute; top:10%; left:10%; width:6px; height:6px; background: #f5ecd0; border-radius: 50%; box-shadow: 0 0 8px 2px #f5ecd0; filter: blur(2px); }
.scn-ares-god-passion .float-a { animation: agp-float 14s linear infinite; }
.scn-ares-god-passion .float-b { left:70%; top:30%; width:4px; height:4px; animation: agp-float 18s linear infinite reverse; }
.scn-ares-god-passion .shadow-cut { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(0deg, rgba(80,60,40,.3) 0%, transparent 100%); }

@keyframes agp-sway { 0% { transform: rotate(0) } 50% { transform: rotate(1deg) scale(1.005) } 100% { transform: rotate(0) } }
@keyframes agp-arm { 0% { transform: rotate(15deg) } 50% { transform: rotate(12deg) } 100% { transform: rotate(16deg) } }
@keyframes agp-beam { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.6 } }
@keyframes agp-glow-pulse { 0% { opacity:.5; transform: scale(1) } 50% { opacity:1; transform: scale(1.1) } 100% { opacity:.6; transform: scale(.95) } }
@keyframes agp-float { 0% { transform: translate(0,0) scale(1); opacity:.5 } 25% { transform: translate(30px, -20px) scale(1.3) } 50% { transform: translate(60px, -10px) scale(.9) } 75% { transform: translate(90px, -30px) scale(1.1) } 100% { transform: translate(120px, 10px) scale(1); opacity:.3 } }

/* hunting-deer-god */
.scn-hunting-deer-god {
  background: linear-gradient(180deg, #6a7a6a 0%, #4a5a4a 40%, #2a3a2a 100%),
              radial-gradient(ellipse at 50% 20%, #7a8a7a 0%, transparent 80%);
}
.scn-hunting-deer-god .forest-fog { position:absolute; inset:0; background: linear-gradient(180deg, rgba(90,105,90,.4) 0%, rgba(40,55,40,.6) 100%); animation: hdg-fog-shift 20s ease-in-out infinite alternate; }
.scn-hunting-deer-god .ground-mist { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(0deg, rgba(60,75,60,.5) 0%, transparent 100%); animation: hdg-mist 30s ease-in-out infinite; }
.scn-hunting-deer-god .tree-trunk { position:absolute; bottom:0; width:12%; height:100%; background: linear-gradient(90deg, #1a2a1a 0%, #2a3a2a 30%, #1a2a1a 100%); border-radius: 10% 10% 0 0; }
.scn-hunting-deer-god .left { left:5%; width:10%; }
.scn-hunting-deer-god .right { right:8%; width:14%; }
.scn-hunting-deer-god .deer-silhouette { position:absolute; bottom:35%; left:30%; width:70px; height:60px; background: linear-gradient(180deg, #1a2a1a 0%, #0a1a0a 100%); border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%; clip-path: polygon(30% 0, 45% 0, 50% 20%, 55% 0, 70% 0, 65% 30%, 80% 40%, 75% 60%, 60% 70%, 40% 70%, 25% 60%, 20% 40%, 35% 30%); animation: hdg-deer-browse 7s ease-in-out infinite; }
.scn-hunting-deer-god .hunter-silhouette { position:absolute; bottom:30%; left:60%; width:30px; height:70px; background: linear-gradient(180deg, #0a1a0a 0%, #050505 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: hdg-hunter-crouch 12s ease-in-out infinite; }
.scn-hunting-deer-god .trap-snare { position:absolute; bottom:30%; left:45%; width:20px; height:30px; background: radial-gradient(circle at 50% 0%, #2a3a2a 0%, transparent 50%); border: 2px solid #1a2a1a; border-radius: 50% 50% 0 0; animation: hdg-snare-tremble 3s ease-in-out infinite; }
.scn-hunting-deer-god .leaf-shake { position:absolute; top:20%; left:15%; width:50px; height:30px; background: linear-gradient(180deg, #3a4a3a 0%, transparent 100%); clip-path: polygon(0 50%, 20% 0, 40% 30%, 60% 10%, 80% 40%, 100% 20%, 90% 60%, 70% 80%, 40% 70%, 10% 90%); animation: hdg-leaf 4s ease-in-out infinite; }

@keyframes hdg-fog-shift { 0% { opacity:.6 } 50% { opacity:.8 } 100% { opacity:.5 } }
@keyframes hdg-mist { 0% { transform: translateY(0) } 50% { transform: translateY(-5px) } 100% { transform: translateY(2px) } }
@keyframes hdg-deer-browse { 0% { transform: translate(0,0) rotate(-2deg) } 33% { transform: translate(5px, -3px) rotate(1deg) } 66% { transform: translate(-3px, -1px) rotate(-1deg) } 100% { transform: translate(0,0) rotate(0) } }
@keyframes hdg-hunter-crouch { 0% { transform: scaleY(1) } 50% { transform: scaleY(.9) translateY(2px) } 100% { transform: scaleY(1) } }
@keyframes hdg-snare-tremble { 0% { transform: translate(0,0) rotate(0) } 25% { transform: translate(2px,0) rotate(3deg) } 50% { transform: translate(-1px,0) rotate(-2deg) } 75% { transform: translate(1px,0) rotate(1deg) } 100% { transform: translate(0,0) rotate(0) } }
@keyframes hdg-leaf { 0% { transform: translate(0,0) scale(1) } 50% { transform: translate(10px, -5px) scale(1.2) rotate(10deg) } 100% { transform: translate(-5px, 0) scale(.9) rotate(-5deg) } }

/* chase-of-friendship-no-god */
.scn-chase-of-friendship-no-god {
  background: linear-gradient(180deg, #d4c8b0 0%, #c0b090 40%, #a89878 100%),
              radial-gradient(ellipse at 80% 50%, #e0d4c0 0%, transparent 60%);
}
.scn-chase-of-friendship-no-god .hall-back { position:absolute; inset:0; background: linear-gradient(90deg, #b0a080 0%, #c8b898 30%, #b8a888 70%, #a09070 100%); animation: cof-perspective 12s ease-in-out infinite; }
.scn-chase-of-friendship-no-god .column-left { position:absolute; top:0; left:10%; width:8%; height:100%; background: linear-gradient(90deg, #a89878 0%, #b8a888 40%, #a89878 100%); box-shadow: 4px 0 12px rgba(0,0,0,.2); }
.scn-chase-of-friendship-no-god .column-right { position:absolute; top:0; right:10%; width:8%; height:100%; background: linear-gradient(90deg, #a89878 0%, #b8a888 40%, #a89878 100%); box-shadow: -4px 0 12px rgba(0,0,0,.2); }
.scn-chase-of-friendship-no-god .runner-a { position:absolute; bottom:20%; left:15%; width:25px; height:70px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e0a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: cof-run-a 2s ease-in-out infinite; }
.scn-chase-of-friendship-no-god .runner-b { position:absolute; bottom:20%; left:55%; width:25px; height:70px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: cof-run-b 2.3s ease-in-out infinite; }
.scn-chase-of-friendship-no-god .sweat-drop { position:absolute; bottom:40%; left:12%; width:4px; height:6px; background: radial-gradient(circle, #c8b898 0%, transparent 100%); border-radius: 50%; animation: cof-drop 1.5s ease-in-out infinite; }
.scn-chase-of-friendship-no-god .arch-shadow { position:absolute; top:0; left:0; right:0; height:30%; background: linear-gradient(180deg, rgba(60,40,20,.4) 0%, transparent 100%); animation: cof-shadow 6s ease-in-out infinite alternate; }
.scn-chase-of-friendship-no-god .speed-lines { position:absolute; top:30%; left:0; right:0; height:40%; background: repeating-linear-gradient(90deg, rgba(80,60,40,.2) 0px, transparent 2px, transparent 8px); animation: cof-lines 1s linear infinite; }

@keyframes cof-perspective { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.02) } 100% { transform: scaleX(1) } }
@keyframes cof-run-a { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(10px) rotate(-3deg) scaleY(0.95) } 50% { transform: translateX(20px) rotate(2deg) } 75% { transform: translateX(30px) rotate(-1deg) scaleY(1.02) } 100% { transform: translateX(40px) rotate(0) } }
@keyframes cof-run-b { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(8px) rotate(2deg) scaleY(0.95) } 50% { transform: translateX(16px) rotate(-3deg) } 75% { transform: translateX(24px) rotate(1deg) scaleY(1.02) } 100% { transform: translateX(32px) rotate(0) } }
@keyframes cof-drop { 0% { transform: translateY(0) scale(1); opacity:.6 } 50% { transform: translateY(20px) scale(.5); opacity:0 } 100% { transform: translateY(0) scale(1); opacity:.6 } }
@keyframes cof-shadow { 0% { opacity:.3 } 50% { opacity:.6 } 100% { opacity:.4 } }
@keyframes cof-lines { 0% { transform: translateX(0) } 100% { transform: translateX(-20px) } }

.scn-odyssey-x-329 { background: linear-gradient(180deg, #2a1e14 0%, #3d2a1c 30%, #4a3420 60%, #2a1e14 100%), radial-gradient(ellipse at 30% 60%, #6a4a2e 0%, transparent 70%); }
.scn-odyssey-x-329 .wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #3d2a1c 0%, #2a1e14 100%); animation: odx-wall 15s ease-in-out infinite alternate; }
.scn-odyssey-x-329 .floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #4a3420 0%, #1e140c 100%); box-shadow: inset 0 8px 12px rgba(0,0,0,.6); }
.scn-odyssey-x-329 .shelf { position:absolute; top:10%; left:10%; width:20%; height:45%; background: linear-gradient(180deg, #5a4028 0%, #3a2818 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.4); animation: odx-shelf 12s ease-in-out infinite alternate; }
.scn-odyssey-x-329 .desk { position:absolute; bottom:20%; left:35%; width:40%; height:18%; background: linear-gradient(180deg, #6a4a2e 0%, #4a3420 100%); border-radius: 2px; box-shadow: 0 -4px 6px rgba(0,0,0,.3); }
.scn-odyssey-x-329 .lamp { position:absolute; bottom:38%; left:38%; width:14px; height:24px; background: linear-gradient(180deg, #c07030 0%, #804020 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 20px 6px #b06030, 0 0 40px 12px rgba(176,96,48,.4); animation: odx-lamp 4s ease-in-out infinite alternate; }
.scn-odyssey-x-329 .figure { position:absolute; bottom:20%; left:50%; width:24px; height:50px; background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform: translateX(-50%); animation: odx-figure 6s ease-in-out infinite; }
.scn-odyssey-x-329 .book { position:absolute; bottom:26%; left:40%; width:30px; height:6px; background: linear-gradient(180deg, #8a6040 0%, #5a4028 100%); border-radius: 1px; transform: rotate(5deg); box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: odx-book 9s ease-in-out infinite alternate; }
@keyframes odx-wall { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes odx-shelf { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-2px) scale(1.02) } 100% { transform: translateY(1px) scale(.98) } }
@keyframes odx-lamp { 0% { box-shadow:0 0 18px 4px #b06030,0 0 36px 8px rgba(176,96,48,.3); opacity:.9 } 50% { box-shadow:0 0 30px 8px #d08040,0 0 60px 16px rgba(208,128,64,.5); opacity:1 } 100% { box-shadow:0 0 22px 5px #b06030,0 0 44px 10px rgba(176,96,48,.35); opacity:.85 } }
@keyframes odx-figure { 0% { transform: translateX(-50%) translateY(0) rotate(0deg) } 25% { transform: translateX(-48%) translateY(-2px) rotate(1deg) } 50% { transform: translateX(-50%) translateY(-1px) rotate(-1deg) } 75% { transform: translateX(-52%) translateY(0) rotate(0deg) } 100% { transform: translateX(-50%) translateY(-1px) rotate(1deg) } }
@keyframes odx-book { 0% { transform: rotate(5deg) scale(1) } 50% { transform: rotate(8deg) scale(1.05) } 100% { transform: rotate(3deg) scale(.98) } }

.scn-pythagorean-saying-pittacus { background: linear-gradient(180deg, #1e1814 0%, #2c221c 30%, #3a2c22 60%, #1e1814 100%), radial-gradient(ellipse at 60% 50%, #4a3626 0%, transparent 70%); }
.scn-pythagorean-saying-pittacus .wall-pys { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #2c221c 0%, #1e1814 100%); animation: pys-wall 18s ease-in-out infinite alternate; }
.scn-pythagorean-saying-pittacus .floor-pys { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #3a2c22 0%, #1a1410 100%); box-shadow: inset 0 6px 10px rgba(0,0,0,.5); }
.scn-pythagorean-saying-pittacus .column-pys { position:absolute; top:5%; left:20%; width:8%; height:75%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2c22 100%); border-radius: 10% / 20%; box-shadow: 0 4px 8px rgba(0,0,0,.4); animation: pys-column 20s ease-in-out infinite alternate; }
.scn-pythagorean-saying-pittacus .candle-pys { position:absolute; bottom:35%; left:50%; width:10px; height:30px; background: linear-gradient(180deg, #c0a080 0%, #8a6040 100%); border-radius: 10% 10% 5% 5%; box-shadow: 0 0 12px 3px #b09070; animation: pys-candle 5s ease-in-out infinite alternate; }
.scn-pythagorean-saying-pittacus .scroll-pys { position:absolute; bottom:30%; left:45%; width:40px; height:10px; background: linear-gradient(180deg, #b8a080 0%, #8a7050 100%); border-radius: 50% / 20%; transform: rotate(-10deg); box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: pys-scroll 8s ease-in-out infinite; }
.scn-pythagorean-saying-pittacus .chair-pys { position:absolute; bottom:15%; left:60%; width:30px; height:40px; background: linear-gradient(180deg, #4a3626 0%, #2a1e14 100%); border-radius: 10% 10% 30% 30%; box-shadow: 0 4px 6px rgba(0,0,0,.5); animation: pys-chair 12s ease-in-out infinite alternate; }
@keyframes pys-wall { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes pys-column { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-3px) scaleY(1.02) } 100% { transform: translateY(2px) scaleY(.98) } }
@keyframes pys-candle { 0% { box-shadow:0 0 10px 2px #b09070,0 0 20px 5px rgba(176,144,112,.3); opacity:.9 } 50% { box-shadow:0 0 18px 5px #d0b090,0 0 40px 12px rgba(208,176,144,.5); opacity:1 } 100% { box-shadow:0 0 14px 3px #b09070,0 0 28px 8px rgba(176,144,112,.35); opacity:.85 } }
@keyframes pys-scroll { 0% { transform: rotate(-10deg) scale(1) translateY(0) } 50% { transform: rotate(-7deg) scale(1.05) translateY(-2px) } 100% { transform: rotate(-13deg) scale(.98) translateY(1px) } }
@keyframes pys-chair { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(1px) rotate(-1deg) } }

.scn-homer-lines-iliad-xiv-195 { background: linear-gradient(180deg, #14181c 0%, #1c242a 30%, #242c34 60%, #14181c 100%), radial-gradient(ellipse at 40% 30%, #3a4a52 0%, transparent 70%); }
.scn-homer-lines-iliad-xiv-195 .wall-hll { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #1c242a 0%, #14181c 100%); animation: hll-wall 16s ease-in-out infinite alternate; }
.scn-homer-lines-iliad-xiv-195 .floor-hll { position:absolute; bottom:0; left:0; right:0; height:45%; background: linear-gradient(180deg, #242c34 0%, #0c1014 100%); box-shadow: inset 0 6px 10px rgba(0,0,0,.5); }
.scn-homer-lines-iliad-xiv-195 .window-hll { position:absolute; top:15%; right:15%; width:18%; height:35%; background: linear-gradient(180deg, #2a3a42 0%, #1a242a 100%); border-radius: 4px; box-shadow: inset 0 0 20px 5px rgba(20,30,40,.6); border: 3px solid #3a4a52; animation: hll-window 20s ease-in-out infinite alternate; }
.scn-homer-lines-iliad-xiv-195 .table-hll { position:absolute; bottom:20%; left:30%; width:40%; height:12%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%); border-radius: 4px; box-shadow: 0 -4px 6px rgba(0,0,0,.4); }
.scn-homer-lines-iliad-xiv-195 .candle-hll { position:absolute; bottom:32%; left:35%; width:8px; height:28px; background: linear-gradient(180deg, #c0a080 0%, #8a6040 100%); border-radius: 10% 10% 5% 5%; box-shadow: 0 0 16px 4px #b09070, 0 0 32px 8px rgba(176,144,112,.4); animation: hll-candle 4s ease-in-out infinite alternate; }
.scn-homer-lines-iliad-xiv-195 .book-hll { position:absolute; bottom:22%; left:40%; width:28px; height:8px; background: linear-gradient(180deg, #8a7050 0%, #5a4028 100%); border-radius: 1px; transform: rotate(-4deg); box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: hll-book 10s ease-in-out infinite alternate; }
.scn-homer-lines-iliad-xiv-195 .hand-hll { position:absolute; bottom:18%; left:37%; width:12px; height:20px; background: linear-gradient(180deg, #b8a090 0%, #8a7060 100%); border-radius: 40% 40% 50% 50% / 30% 30% 50% 50%; transform: rotate(30deg); animation: hll-hand 6s ease-in-out infinite; }
@keyframes hll-wall { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes hll-window { 0% { box-shadow: inset 0 0 20px 5px rgba(20,30,40,.6), 0 0 0 0 rgba(100,120,140,0) } 50% { box-shadow: inset 0 0 25px 8px rgba(20,30,40,.4), 0 0 10px 2px rgba(100,120,140,.2) } 100% { box-shadow: inset 0 0 18px 4px rgba(20,30,40,.7), 0 0 0 0 } }
@keyframes hll-candle { 0% { box-shadow:0 0 14px 3px #b09070,0 0 28px 6px rgba(176,144,112,.3); opacity:.9 } 50% { box-shadow:0 0 24px 6px #d0b090,0 0 48px 14px rgba(208,176,144,.5); opacity:1 } 100% { box-shadow:0 0 18px 4px #b09070,0 0 36px 10px rgba(176,144,112,.35); opacity:.85 } }
@keyframes hll-book { 0% { transform: rotate(-4deg) scale(1) } 50% { transform: rotate(-6deg) scale(1.04) } 100% { transform: rotate(-2deg) scale(.97) } }
@keyframes hll-hand { 0% { transform: rotate(30deg) translateY(0) } 25% { transform: rotate(32deg) translateY(-2px) } 50% { transform: rotate(28deg) translateY(-1px) } 75% { transform: rotate(31deg) translateY(0) } 100% { transform: rotate(30deg) translateY(-1px) } }

.scn-hesiod-works-days-235 { background: linear-gradient(180deg, #1a1410 0%, #2a1e14 30%, #3a2818 60%, #1a1410 100%), radial-gradient(ellipse at 50% 70%, #5a3820 0%, transparent 70%); }
.scn-hesiod-works-days-235 .wall-hwd { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #2a1e14 0%, #1a1410 100%); animation: hwd-wall 14s ease-in-out infinite alternate; }
.scn-hesiod-works-days-235 .floor-hwd { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #3a2818 0%, #140e0a 100%); box-shadow: inset 0 8px 12px rgba(0,0,0,.5); }
.scn-hesiod-works-days-235 .fireplace-hwd { position:absolute; bottom:20%; left:50%; width:30%; height:40%; background: linear-gradient(180deg, #4a3420 0%, #2a1e14 100%); border-radius: 10% 10% 0 0; transform: translateX(-50%); box-shadow: 0 -4px 8px rgba(0,0,0,.4); }
.scn-hesiod-works-days-235 .fire-hwd { position:absolute; bottom:22%; left:50%; width:20%; height:18%; background: radial-gradient(ellipse at 50% 100%, #d08040 0%, #a06020 40%, #402010 100%); transform: translateX(-50%); border-radius: 50% 50% 30% 30%; box-shadow: 0 0 30px 10px #b07030, 0 0 60px 20px rgba(176,112,48,.4); animation: hwd-fire 3s ease-in-out infinite alternate; }
.scn-hesiod-works-days-235 .mantle-hwd { position:absolute; bottom:60%; left:50%; width:32%; height:4%; background: linear-gradient(180deg, #5a4028 0%, #3a2818 100%); transform: translateX(-50%); border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,.3); }
.scn-hesiod-works-days-235 .kettle-hwd { position:absolute; bottom:40%; left:35%; width:16px; height:20px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%); border-radius: 20% 20% 40% 40%; box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: hwd-kettle 10s ease-in-out infinite alternate; }
.scn-hesiod-works-days-235 .chair-hwd { position:absolute; bottom:15%; left:30%; width:30px; height:35px; background: linear-gradient(180deg, #3a2818 0%, #1a1410 100%); border-radius: 10% 10% 30% 30%; box-shadow: 0 4px 6px rgba(0,0,0,.5); animation: hwd-chair 12s ease-in-out infinite alternate; }
.scn-hesiod-works-days-235 .smoke-hwd { position:absolute; top:10%; left:52%; width:20px; height:40px; background: radial-gradient(ellipse at 50% 50%, rgba(200,180,160,.3) 0%, transparent 100%); filter: blur(8px); animation: hwd-smoke 8s ease-in-out infinite; }
@keyframes hwd-wall { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes hwd-fire { 0% { box-shadow:0 0 25px 8px #b07030,0 0 50px 16px rgba(176,112,48,.3); opacity:.9; transform: translateX(-50%) scale(1) } 50% { box-shadow:0 0 40px 14px #d08040,0 0 80px 26px rgba(208,128,64,.5); opacity:1; transform: translateX(-50%) scale(1.05) } 100% { box-shadow:0 0 30px 10px #b07030,0 0 60px 20px rgba(176,112,48,.35); opacity:.85; transform: translateX(-50%) scale(.97) } }
@keyframes hwd-kettle { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(2deg) } 100% { transform: translateY(1px) rotate(-1deg) } }
@keyframes hwd-chair { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(1px) rotate(-1deg) } }
@keyframes hwd-smoke { 0% { transform: translateY(0) scale(1); opacity:.3 } 50% { transform: translateY(-15px) scale(1.5); opacity:.1 } 100% { transform: translateY(-30px) scale(2); opacity:0 } }

.scn-judgement-transfer-to-action {
  background: linear-gradient(180deg, #f5e6cc 0%, #e3cba3 40%, #cbaa77 100%),
              radial-gradient(ellipse at 70% 60%, #fff8e7 0%, transparent 60%);
}
.scn-judgement-transfer-to-action .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #f0dbb6 0%, #dbb68a 100%);
  box-shadow: inset 0 4px 12px rgba(0,0,0,0.1);
}
.scn-judgement-transfer-to-action .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #b8965c 0%, #8a7040 100%);
  border-top: 2px solid #a08050;
}
.scn-judgement-transfer-to-action .window {
  position: absolute; top: 12%; left: 10%; width: 40%; height: 50%;
  background: linear-gradient(135deg, #fff8e0 0%, #ffe8b0 50%, #f0c880 100%);
  border-radius: 4px; box-shadow: inset 0 0 30px #fff6cc;
  animation: jta-window 6s ease-in-out infinite alternate;
}
.scn-judgement-transfer-to-action .chair {
  position: absolute; bottom: 28%; left: 15%; width: 40px; height: 30px;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 4% 4%; box-shadow: 2px 4px 8px rgba(0,0,0,0.3);
  animation: jta-chair 4s ease-in-out infinite;
}
.scn-judgement-transfer-to-action .figure.step {
  position: absolute; bottom: 26%; left: 45%; width: 20px; height: 36px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: jta-walk 5s ease-in-out infinite;
}
.scn-judgement-transfer-to-action .door {
  position: absolute; bottom: 28%; right: 8%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #8a6a4a 0%, #5a3a1a 100%);
  border-radius: 2px; box-shadow: inset 0 2px 6px rgba(0,0,0,0.5);
  animation: jta-door 8s ease-in-out infinite;
}
.scn-judgement-transfer-to-action .sunbeam {
  position: absolute; top: 10%; left: 45%; width: 30%; height: 60%;
  background: linear-gradient(180deg, rgba(255,248,200,0.4) 0%, transparent 100%);
  filter: blur(8px); animation: jta-beam 10s ease-in-out infinite alternate;
}
@keyframes jta-window { 0% { opacity:0.9; transform: scaleX(1); } 50% { opacity:1; transform: scaleX(1.02); } 100% { opacity:0.95; transform: scaleX(0.98); } }
@keyframes jta-chair { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(1deg); } }
@keyframes jta-walk { 0% { transform: translateX(-10px) rotate(-2deg); } 25% { transform: translateX(0) rotate(1deg); } 50% { transform: translateX(10px) rotate(-1deg); } 75% { transform: translateX(20px) rotate(2deg); } 100% { transform: translateX(30px) rotate(0); } }
@keyframes jta-door { 0%,100% { transform: scaleX(1) translateX(0); } 50% { transform: scaleX(0.1) translateX(12px); } }
@keyframes jta-beam { 0% { opacity:0.3; transform: translateY(0); } 50% { opacity:0.6; transform: translateY(-8px); } 100% { opacity:0.4; transform: translateY(4px); } }

.scn-alcibiades-philosopher-moved-tears {
  background: linear-gradient(180deg, #2a1e18 0%, #1a100a 50%, #0f0804 100%),
              radial-gradient(ellipse at 50% 70%, #4a3020 0%, transparent 70%);
}
.scn-alcibiades-philosopher-moved-tears .room-wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #2c221c 0%, #1a120e 100%);
  box-shadow: inset 0 0 20px rgba(0,0,0,0.8);
}
.scn-alcibiades-philosopher-moved-tears .floor-planks {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: repeating-linear-gradient(90deg, #1a120e 0px, #221812 4px, #1a120e 8px);
  border-top: 2px solid #302018;
}
.scn-alcibiades-philosopher-moved-tears .candle {
  position: absolute; bottom: 30%; left: 30%; width: 6px; height: 16px;
  background: linear-gradient(180deg, #d4a060 0%, #8a6020 100%);
  border-radius: 2px; box-shadow: 0 0 20px 6px #e08030;
  animation: aph-candle 3s ease-in-out infinite alternate;
}
.scn-alcibiades-philosopher-moved-tears .philosopher {
  position: absolute; bottom: 30%; left: 25%; width: 20px; height: 35px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom;
  animation: aph-sit 6s ease-in-out infinite;
}
.scn-alcibiades-philosopher-moved-tears .listener {
  position: absolute; bottom: 22%; left: 55%; width: 18px; height: 28px;
  background: linear-gradient(180deg, #2a1a10 0%, #0a0500 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform: translateX(-10px) rotate(5deg);
  animation: aph-kneel 9s ease-in-out infinite;
}
.scn-alcibiades-philosopher-moved-tears .tear {
  position: absolute; bottom: 30%; left: 58%; width: 4px; height: 6px;
  background: radial-gradient(circle, #80c8e8 0%, transparent 100%);
  border-radius: 50%;
  animation: aph-tear 4s ease-in-out infinite;
}
.scn-alcibiades-philosopher-moved-tears .glow-halo {
  position: absolute; bottom: 28%; left: 28%; width: 40px; height: 40px;
  background: radial-gradient(circle, rgba(224,128,48,0.3) 0%, transparent 70%);
  filter: blur(6px);
  animation: aph-halo 2s ease-in-out infinite alternate;
}
@keyframes aph-candle { 0% { opacity:0.8; transform: scaleY(1); } 50% { opacity:1; transform: scaleY(1.1); } 100% { opacity:0.85; transform: scaleY(0.95); } }
@keyframes aph-sit { 0%,100% { transform: rotate(0) translateY(0); } 50% { transform: rotate(2deg) translateY(-2px); } }
@keyframes aph-kneel { 0%,100% { transform: translateX(-10px) rotate(5deg); } 50% { transform: translateX(-15px) rotate(0); } }
@keyframes aph-tear { 0% { opacity:0; transform: translateY(0); } 30% { opacity:1; transform: translateY(4px); } 60% { opacity:0.8; transform: translateY(10px); } 100% { opacity:0; transform: translateY(20px); } }
@keyframes aph-halo { 0% { opacity:0.5; transform: scale(1); } 50% { opacity:0.8; transform: scale(1.2); } 100% { opacity:0.6; transform: scale(0.9); } }

.scn-love-good-men-adapt-model {
  background: linear-gradient(180deg, #fff8ec 0%, #f0dbc3 40%, #d4b48c 100%),
              radial-gradient(ellipse at 30% 30%, #fffef5 0%, transparent 50%);
}
.scn-love-good-men-adapt-model .light-wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #f7ecd8 0%, #e6d4b8 100%);
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.05);
}
.scn-love-good-men-adapt-model .window-left {
  position: absolute; top: 10%; left: 5%; width: 45%; height: 55%;
  background: linear-gradient(135deg, #fffce8 0%, #ffe8b8 50%, #f5d088 100%);
  border-radius: 4px; box-shadow: inset 0 0 30px #fff6cc;
  animation: lgm-window 8s ease-in-out infinite alternate;
}
.scn-love-good-men-adapt-model .desk {
  position: absolute; bottom: 30%; left: 15%; width: 50px; height: 8px;
  background: linear-gradient(180deg, #8a6a4a 0%, #5a3a1a 100%);
  border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: lgm-desk 10s ease-in-out infinite;
}
.scn-love-good-men-adapt-model .model-seated {
  position: absolute; bottom: 28%; left: 20%; width: 22px; height: 38px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom;
  animation: lgm-model 7s ease-in-out infinite;
}
.scn-love-good-men-adapt-model .admirer-stand {
  position: absolute; bottom: 26%; right: 20%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  animation: lgm-admirer 12s ease-in-out infinite;
}
.scn-love-good-men-adapt-model .book {
  position: absolute; bottom: 32%; left: 22%; width: 12px; height: 16px;
  background: linear-gradient(180deg, #b08a5a 0%, #8a6a3a 100%);
  border-radius: 2px; box-shadow: 1px 1px 3px rgba(0,0,0,0.3);
  animation: lgm-book 5s ease-in-out infinite;
}
.scn-love-good-men-adapt-model .sun-ray {
  position: absolute; top: 8%; left: 30%; width: 20%; height: 70%;
  background: linear-gradient(180deg, rgba(255,254,240,0.4) 0%, transparent 100%);
  filter: blur(6px);
  animation: lgm-ray 14s ease-in-out infinite alternate;
}
@keyframes lgm-window { 0% { opacity:0.9; transform: scaleX(1); } 50% { opacity:1; transform: scaleX(1.015); } 100% { opacity:0.93; transform: scaleX(0.985); } }
@keyframes lgm-desk { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes lgm-model { 0% { transform: rotate(0) translateY(0); } 30% { transform: rotate(1deg) translateY(-2px); } 60% { transform: rotate(-1deg) translateY(-1px); } 100% { transform: rotate(0) translateY(0); } }
@keyframes lgm-admirer { 0% { transform: translateX(0); } 25% { transform: translateX(4px); } 50% { transform: translateX(0); } 75% { transform: translateX(-4px); } 100% { transform: translateX(0); } }
@keyframes lgm-book { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(2deg); } }
@keyframes lgm-ray { 0% { opacity:0.3; transform: scaleY(1); } 50% { opacity:0.6; transform: scaleY(1.05); } 100% { opacity:0.4; transform: scaleY(0.95); } }

.scn-enthusiasm-trouble-undeterred {
  background: linear-gradient(180deg, #f2d29b 0%, #e0b87a 40%, #c8965a 100%),
              radial-gradient(ellipse at 50% 40%, #ffe8b0 0%, transparent 70%);
}
.scn-enthusiasm-trouble-undeterred .gold-wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #ecd5b0 0%, #d4b890 100%);
  box-shadow: inset 0 4px 10px rgba(0,0,0,0.1);
}
.scn-enthusiasm-trouble-undeterred .stone-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #a08060 0%, #7a5a3a 100%);
  border-top: 2px solid #b09070;
}
.scn-enthusiasm-trouble-undeterred .doorway {
  position: absolute; bottom: 30%; left: 38%; width: 24%; height: 50%;
  background: linear-gradient(180deg, #c0a080 0%, #907050 100%);
  border-radius: 8px 8px 0 0;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.3);
  animation: etu-door 12s ease-in-out infinite;
}
.scn-enthusiasm-trouble-undeterred .figure-walk {
  position: absolute; bottom: 28%; left: 48%; width: 20px; height: 38px;
  background: linear-gradient(180deg, #4a3520 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: etu-walk 6s ease-in-out infinite;
}
.scn-enthusiasm-trouble-undeterred .shadow-chains {
  position: absolute; bottom: 38%; left: 50%; width: 30px; height: 20px;
  background: rgba(0,0,0,0.3);
  border-radius: 50%;
  filter: blur(4px);
  animation: etu-chains 8s ease-in-out infinite alternate;
}
.scn-enthusiasm-trouble-undeterred .light-rays {
  position: absolute; top: 5%; left: 40%; width: 30%; height: 90%;
  background: linear-gradient(180deg, rgba(255,248,200,0.5) 0%, transparent 70%);
  filter: blur(10px);
  animation: etu-rays 10s ease-in-out infinite alternate;
}
.scn-enthusiasm-trouble-undeterred .dust-motes {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 30% 40%, rgba(255,240,180,0.08) 0%, transparent 50%),
              radial-gradient(circle at 70% 60%, rgba(255,240,180,0.05) 0%, transparent 50%);
  animation: etu-dust 20s ease-in-out infinite alternate;
}
@keyframes etu-door { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(1.02) translateY(-3px); } }
@keyframes etu-walk { 0% { transform: translateX(-15px) rotate(-2deg); } 25% { transform: translateX(0) rotate(1deg); } 50% { transform: translateX(15px) rotate(-1deg); } 75% { transform: translateX(30px) rotate(2deg); } 100% { transform: translateX(45px) rotate(0); } }
@keyframes etu-chains { 0% { opacity:0.3; transform: translateY(0) scale(1); } 50% { opacity:0.6; transform: translateY(-10px) scale(0.8); } 100% { opacity:0.4; transform: translateY(0) scale(1); } }
@keyframes etu-rays { 0% { opacity:0.4; } 50% { opacity:0.8; } 100% { opacity:0.5; } }
@keyframes etu-dust { 0% { opacity:0.2; transform: translateY(0); } 50% { opacity:0.5; transform: translateY(-10px); } 100% { opacity:0.3; transform: translateY(5px); } }

.scn-flatterer-service-sweat-noise {
  background: linear-gradient(180deg, #0e0d0a 0%, #1c1510 40%, #2a1f14 70%, #1a1210 100%),
              radial-gradient(ellipse at 50% 80%, #3a2a1a 0%, transparent 60%);
}
.scn-flatterer-service-sweat-noise .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #1a1512 0%, #2a1f18 50%, #3a2a20 100%);
  border-radius: 0 0 12% 12%;
  animation: fssn-wall 12s ease-in-out infinite alternate;
}
.scn-flatterer-service-sweat-noise .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a1410 0%, #0f0c0a 100%);
  border-top: 2px solid #2a1f18;
}
.scn-flatterer-service-sweat-noise .figure-run {
  position: absolute; bottom: 22%; left: 40%; width: 20px; height: 48px;
  background: linear-gradient(180deg, #0f0d0c 0%, #1a1410 50%, #0f0d0c 100%);
  border-radius: 45% 45% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: fssn-run 3.5s ease-in-out infinite;
}
.scn-flatterer-service-sweat-noise .sweat {
  position: absolute; width: 6px; height: 6px;
  background: radial-gradient(circle, #c8a880 0%, #8a6a50 100%);
  border-radius: 50%;
  opacity: 0.7;
  animation: fssn-drip 2s ease-in-out infinite;
}
.scn-flatterer-service-sweat-noise .sweat-a {
  top: 18%; left: 48%;
  animation-delay: 0s;
}
.scn-flatterer-service-sweat-noise .sweat-b {
  top: 22%; left: 52%;
  animation-delay: 0.7s;
}
.scn-flatterer-service-sweat-noise .noise-line {
  position: absolute; height: 2px; background: #c8a880; opacity: 0.3;
  border-radius: 50%;
  animation: fssn-noise 1.2s ease-in-out infinite;
}
.scn-flatterer-service-sweat-noise .noise-1 {
  top: 30%; left: 28%; width: 40px;
  animation-delay: 0s;
}
.scn-flatterer-service-sweat-noise .noise-2 {
  top: 26%; left: 56%; width: 60px;
  animation-delay: 0.4s;
}
.scn-flatterer-service-sweat-noise .lamp-glow {
  position: absolute; top: 10%; left: 75%; width: 16px; height: 16px;
  background: radial-gradient(circle, #d4a060 0%, #a07030 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 15px rgba(180,120,50,0.4), 0 0 60px 30px rgba(180,120,50,0.2);
  animation: fssn-glow 4s ease-in-out infinite alternate;
}
@keyframes fssn-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes fssn-run {
  0% { transform: translateX(0) rotate(-3deg); }
  30% { transform: translateX(12px) rotate(2deg); }
  60% { transform: translateX(24px) rotate(-1deg); }
  100% { transform: translateX(36px) rotate(-2deg); }
}
@keyframes fssn-drip {
  0% { transform: translateY(0) scale(1); opacity: 0.7; }
  50% { transform: translateY(8px) scale(0.6); opacity: 0.3; }
  100% { transform: translateY(18px) scale(0.2); opacity: 0; }
}
@keyframes fssn-noise {
  0% { transform: scaleX(0.5); opacity: 0.1; }
  50% { transform: scaleX(1.2); opacity: 0.5; }
  100% { transform: scaleX(0.3); opacity: 0; }
}
@keyframes fssn-glow {
  0% { box-shadow: 0 0 25px 10px rgba(180,120,50,0.3), 0 0 50px 20px rgba(180,120,50,0.1); opacity: 0.8; }
  50% { box-shadow: 0 0 40px 18px rgba(200,140,60,0.5), 0 0 80px 30px rgba(200,140,60,0.2); opacity: 1; }
  100% { box-shadow: 0 0 30px 12px rgba(180,120,50,0.35), 0 0 60px 24px rgba(180,120,50,0.15); opacity: 0.9; }
}

.scn-importunity-facile-promises-honourable-service {
  background: linear-gradient(180deg, #12100e 0%, #1e1814 40%, #2a201a 70%, #1c1612 100%),
              radial-gradient(ellipse at 70% 60%, #3a2a1a 0%, transparent 70%);
}
.scn-importunity-facile-promises-honourable-service .room-bg {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #1a1512 0%, #2a1f16 50%, #1a1510 100%);
  border-radius: 0 0 10% 10%;
}
.scn-importunity-facile-promises-honourable-service .table {
  position: absolute; bottom: 22%; left: 30%; right: 30%; height: 10%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0e 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 4px 12px rgba(0,0,0,0.5);
}
.scn-importunity-facile-promises-honourable-service .candle {
  position: absolute; bottom: 30%; left: 48%; width: 8px; height: 24px;
  background: linear-gradient(180deg, #c8a060 0%, #a07840 100%);
  border-radius: 2px;
  box-shadow: 0 0 20px 8px rgba(200,160,96,0.5);
  animation: ifph-candle 6s ease-in-out infinite alternate;
}
.scn-importunity-facile-promises-honourable-service .figure-friend {
  position: absolute; bottom: 28%; left: 20%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #0f0d0c 0%, #1a1410 50%, #0f0d0c 100%);
  border-radius: 45% 45% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: ifph-stand 8s ease-in-out infinite;
}
.scn-importunity-facile-promises-honourable-service .hand-pledge {
  position: absolute; bottom: 44%; left: 30%; width: 10px; height: 16px;
  background: linear-gradient(180deg, #1a1410 0%, #0f0d0c 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  transform-origin: bottom left;
  animation: ifph-pledge 4s ease-in-out infinite;
}
.scn-importunity-facile-promises-honourable-service .window-sill {
  position: absolute; top: 10%; right: 12%; width: 60px; height: 4px;
  background: linear-gradient(90deg, #2a1f16 0%, #3a2a1a 50%, #4a3a2a 100%);
  border-radius: 2px;
}
.scn-importunity-facile-promises-honourable-service .window-light {
  position: absolute; top: 14%; right: 16%; width: 30px; height: 50px;
  background: linear-gradient(180deg, rgba(200,180,120,0.2) 0%, rgba(200,180,120,0.05) 100%);
  border-radius: 4px;
  box-shadow: 0 0 20px 8px rgba(200,180,120,0.1);
  animation: ifph-softlight 10s ease-in-out infinite alternate;
}
@keyframes ifph-candle { 0% { transform: scaleY(1); opacity: 0.9; } 50% { transform: scaleY(1.05); opacity: 1; } 100% { transform: scaleY(0.95); opacity: 0.8; } }
@keyframes ifph-stand { 0% { transform: rotate(-1deg); } 50% { transform: rotate(1deg); } 100% { transform: rotate(-0.5deg); } }
@keyframes ifph-pledge {
  0% { transform: rotate(0deg) translateY(0); }
  30% { transform: rotate(15deg) translateY(-2px); }
  60% { transform: rotate(5deg) translateY(-1px); }
  100% { transform: rotate(0deg) translateY(0); }
}
@keyframes ifph-softlight { 0% { opacity: 0.3; } 50% { opacity: 0.6; } 100% { opacity: 0.4; } }

.scn-flatterer-cries-off-dangerous {
  background: linear-gradient(180deg, #080605 0%, #14100c 40%, #1c1410 70%, #0a0806 100%),
              radial-gradient(ellipse at 30% 50%, #2a1a0e 0%, transparent 60%);
}
.scn-flatterer-cries-off-dangerous .cave-wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #0f0b08 0%, #1a120e 50%, #0f0b08 100%);
  border-radius: 0 0 30% 30% / 0 0 100% 100%;
}
.scn-flatterer-cries-off-dangerous .floor-dark {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #0a0805 0%, #050302 100%);
}
.scn-flatterer-cries-off-dangerous .shadow-blade {
  position: absolute; bottom: 38%; left: 10%; width: 8px; height: 60px;
  background: linear-gradient(180deg, #2a1a0e 0%, #0a0805 100%);
  border-radius: 40% 40% 0 0;
  transform: rotate(-15deg);
  box-shadow: 0 0 12px 4px rgba(42,26,14,0.6);
  animation: fcd-blade 5s ease-in-out infinite;
}
.scn-flatterer-cries-off-dangerous .figure-cower {
  position: absolute; bottom: 24%; left: 48%; width: 22px; height: 44px;
  background: linear-gradient(180deg, #0f0d0c 0%, #1a1410 50%, #0f0d0c 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 20% 20%;
  transform-origin: bottom center;
  animation: fcd-cower 3s ease-in-out infinite;
}
.scn-flatterer-cries-off-dangerous .excuse-scroll {
  position: absolute; bottom: 34%; left: 56%; width: 8px; height: 18px;
  background: linear-gradient(180deg, #8a6a4a 0%, #6a4a30 100%);
  border-radius: 2px;
  transform: rotate(25deg);
  animation: fcd-scroll 4s ease-in-out infinite alternate;
}
.scn-flatterer-cries-off-dangerous .dust-mote {
  position: absolute; width: 4px; height: 4px;
  background: radial-gradient(circle, rgba(200,180,160,0.5) 0%, transparent 100%);
  border-radius: 50%;
  animation: fcd-dust 8s linear infinite;
}
.scn-flatterer-cries-off-dangerous .mote-a {
  top: 30%; left: 20%;
  animation-delay: 0s;
}
.scn-flatterer-cries-off-dangerous .mote-b {
  top: 50%; left: 70%;
  animation-delay: 3.2s;
}
@keyframes fcd-blade {
  0% { transform: rotate(-15deg) translateY(0); opacity: 0.6; }
  50% { transform: rotate(-10deg) translateY(-5px); opacity: 1; }
  100% { transform: rotate(-15deg) translateY(0); opacity: 0.7; }
}
@keyframes fcd-cower {
  0% { transform: scale(1) rotate(0deg); }
  25% { transform: scale(0.95) rotate(-5deg) translateX(2px); }
  50% { transform: scale(0.9) rotate(-8deg) translateX(4px); }
  75% { transform: scale(0.95) rotate(-5deg) translateX(2px); }
  100% { transform: scale(1) rotate(0deg); }
}
@keyframes fcd-scroll {
  0% { transform: rotate(25deg) translateY(0); }
  100% { transform: rotate(30deg) translateY(-3px); }
}
@keyframes fcd-dust {
  0% { transform: translateY(0) scale(1); opacity: 0.4; }
  50% { transform: translateY(-20px) scale(0.5); opacity: 0.1; }
  100% { transform: translateY(-40px) scale(0); opacity: 0; }
}

.scn-flatterer-behaviour-to-other-friends {
  background: linear-gradient(180deg, #100e0c 0%, #1c1612 40%, #2a1f18 70%, #1a140e 100%),
              radial-gradient(ellipse at 60% 70%, #3a2a1a 0%, transparent 60%);
}
.scn-flatterer-behaviour-to-other-friends .interior-bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #1a1510 0%, #2a1f16 50%, #1a1410 100%);
  border-radius: 0 0 8% 8%;
}
.scn-flatterer-behaviour-to-other-friends .divider-line {
  position: absolute; top: 20%; left: 50%; width: 2px; height: 60%;
  background: linear-gradient(180deg, transparent 0%, #3a2a1a 20%, #3a2a1a 80%, transparent 100%);
  opacity: 0.4;
}
.scn-flatterer-behaviour-to-other-friends .friend-left {
  position: absolute; bottom: 30%; left: 15%; width: 20px; height: 46px;
  background: linear-gradient(180deg, #0f0d0c 0%, #1a1410 50%, #0f0d0c 100%);
  border-radius: 45% 45% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: fbof-stand-l 6s ease-in-out infinite;
}
.scn-flatterer-behaviour-to-other-friends .friend-right {
  position: absolute; bottom: 30%; right: 15%; width: 20px; height: 46px;
  background: linear-gradient(180deg, #0f0d0c 0%, #1a1410 50%, #0f0d0c 100%);
  border-radius: 45% 45% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: fbof-stand-r 6s ease-in-out infinite alternate;
}
.scn-flatterer-behaviour-to-other-friends .flatterer-whisper {
  position: absolute; bottom: 30%; left: 42%; width: 20px; height: 44px;
  background: linear-gradient(180deg, #0a0808 0%, #120e0c 50%, #0a0808 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 20% 20%;
  transform-origin: bottom center;
  animation: fbof-whisper 4s ease-in-out infinite;
  z-index: 2;
}
.scn-flatterer-behaviour-to-other-friends .shadow-glow {
  position: absolute; bottom: 30%; left: 38%; width: 30px; height: 60px;
  background: radial-gradient(ellipse, rgba(58,42,26,0.4) 0%, transparent 70%);
  border-radius: 50%;
  animation: fbof-shadow 7s ease-in-out infinite alternate;
}
@keyframes fbof-stand-l {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(-2deg); }
  100% { transform: rotate(0deg); }
}
@keyframes fbof-stand-r {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(2deg); }
  100% { transform: rotate(0deg); }
}
@keyframes fbof-whisper {
  0% { transform: translateX(0) rotate(0deg); }
  30% { transform: translateX(6px) rotate(5deg); }
  60% { transform: translateX(12px) rotate(3deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes fbof-shadow {
  0% { opacity: 0.3; transform: scale(1); }
  50% { opacity: 0.6; transform: scale(1.1); }
  100% { opacity: 0.4; transform: scale(0.95); }
}

/* mutual-respect-vital - warm bright interior */
.scn-mutual-respect-vital {
  background: 
    linear-gradient(180deg, #f7e8d0 0%, #e3c9a0 40%, #c6a67a 100%),
    radial-gradient(ellipse at 70% 30%, #fff5e0 0%, transparent 50%);
}
.scn-mutual-respect-vital .room-bg { position:absolute; inset:0; background: linear-gradient(130deg, #dabb8c 0%, #b8956a 70%); animation: mrv-bg 20s ease-in-out infinite alternate; }
.scn-mutual-respect-vital .window { position:absolute; top:10%; right:10%; width:120px; height:90px; background: linear-gradient(180deg, #b8d4f0 0%, #7fa8c8 100%); border:4px solid #654321; border-radius:4px; box-shadow:0 0 30px 10px rgba(255,240,200,0.5); animation: mrv-window 8s ease-in-out infinite; }
.scn-mutual-respect-vital .table { position:absolute; bottom:30%; left:20%; right:20%; height:8%; background: linear-gradient(180deg, #8b5e3c 0%, #5a3a1e 100%); border-radius:6px; transform:perspective(300px) rotateX(10deg); box-shadow:0 4px 10px rgba(0,0,0,0.3); }
.scn-mutual-respect-vital .figure-left { position:absolute; bottom:32%; left:28%; width:24px; height:60px; background: linear-gradient(180deg, #2c221a 0%, #0f0b06 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mrv-figure-left 6s ease-in-out infinite; }
.scn-mutual-respect-vital .figure-right { position:absolute; bottom:32%; right:28%; width:24px; height:60px; background: linear-gradient(180deg, #2c221a 0%, #0f0b06 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mrv-figure-right 6s ease-in-out infinite reverse; }
.scn-mutual-respect-vital .light-glow { position:absolute; top:15%; left:50%; width:100px; height:100px; transform:translate(-50%,0); background: radial-gradient(circle, #ffe0a0 0%, transparent 70%); mix-blend-mode: overlay; animation: mrv-glow 5s ease-in-out infinite alternate; }
.scn-mutual-respect-vital .furniture { position:absolute; bottom:25%; left:45%; width:20px; height:40px; background: #4a2e1a; border-radius:2px; box-shadow:0 0 8px rgba(0,0,0,0.3); animation: mrv-furn 12s ease-in-out infinite; }
@keyframes mrv-bg { 0% { opacity:0.85 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes mrv-window { 0%,100% { box-shadow:0 0 20px 5px rgba(255,240,200,0.4); } 50% { box-shadow:0 0 40px 15px rgba(255,240,200,0.7); } }
@keyframes mrv-figure-left { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(3px) rotate(2deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes mrv-figure-right { 0% { transform: translateX(0) rotate(2deg); } 50% { transform: translateX(-3px) rotate(-2deg); } 100% { transform: translateX(0) rotate(2deg); } }
@keyframes mrv-glow { 0% { opacity:0.6; transform: translate(-50%,0) scale(1); } 50% { opacity:1; transform: translate(-50%,-5px) scale(1.05); } 100% { opacity:0.7; transform: translate(-50%,0) scale(1); } }
@keyframes mrv-furn { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }

/* lais-hippolochus - tense dim interior with sea view */
.scn-lais-hippolochus {
  background: 
    linear-gradient(180deg, #1b1a2e 0%, #2c2640 40%, #3a2e4e 100%),
    radial-gradient(ellipse at 20% 50%, #4a3a5e 0%, transparent 60%);
}
.scn-lais-hippolochus .tower-wall { position:absolute; inset:0; background: linear-gradient(130deg, #2a2338 0%, #1f1a2c 100%); }
.scn-lais-hippolochus .sea-window { position:absolute; top:15%; left:10%; width:140px; height:100px; background: linear-gradient(180deg, #2a5a6a 0%, #143340 100%); border:5px solid #4a3a4a; border-radius:2px; box-shadow:inset 0 0 20px #0a1a2a; animation: lhi-sea 12s ease-in-out infinite; }
.scn-lais-hippolochus .lais-figure { position:absolute; bottom:25%; left:30%; width:30px; height:70px; background: linear-gradient(180deg, #1f1a2e 0%, #0d0a18 100%); border-radius:50% 50% 45% 45% / 60% 60% 45% 45%; transform-origin: bottom center; animation: lhi-lais 3s ease-in-out infinite; }
.scn-lais-hippolochus .hippolochus-shadow { position:absolute; bottom:25%; right:20%; width:28px; height:65px; background: linear-gradient(180deg, #1c1729 0%, #0a0814 100%); border-radius:50% 50% 40% 40% / 55% 55% 40% 40%; opacity:0.8; animation: lhi-shadow 5s ease-in-out infinite; }
.scn-lais-hippolochus .candle { position:absolute; top:55%; left:55%; width:6px; height:30px; background: linear-gradient(180deg, #f0d080 0%, #8a5a2a 100%); border-radius:2px; transform:rotate(8deg); animation: lhi-candle 2s ease-in-out infinite alternate; }
.scn-lais-hippolochus .curtain { position:absolute; top:0; left:5%; width:30px; height:100%; background: linear-gradient(180deg, #5a3a4a 0%, #2a1a2a 100%); border-radius:0 10px 10px 0; animation: lhi-curtain 15s ease-in-out infinite; }
.scn-lais-hippolochus .floor-shadow { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, transparent 0%, #0d0a18 100%); }
@keyframes lhi-sea { 0%,100% { opacity:0.7 } 50% { opacity:1 } }
@keyframes lhi-lais { 0% { transform: translateX(0) rotate(-1deg); } 30% { transform: translateX(-2px) rotate(2deg); } 60% { transform: translateX(2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes lhi-shadow { 0%,100% { transform: translateX(0) scaleY(1); } 50% { transform: translateX(-1px) scaleY(1.02); } }
@keyframes lhi-candle { 0% { opacity:0.8; filter:brightness(0.8) blur(0); } 50% { opacity:1; filter:brightness(1.2) blur(1px); } 100% { opacity:0.85; filter:brightness(0.9) blur(0); } }
@keyframes lhi-curtain { 0%,100% { transform: translateX(0); } 50% { transform: translateX(3px); } }

/* servant-girls-refuse-masters - calm dim interior with doorway */
.scn-servant-girls-refuse-masters {
  background: 
    linear-gradient(180deg, #2e2720 0%, #3d3228 40%, #4a3c30 100%),
    radial-gradient(ellipse at 40% 60%, #5a4a3a 0%, transparent 70%);
}
.scn-servant-girls-refuse-masters .doorway-frame { position:absolute; top:10%; left:35%; width:140px; height:100px; background: linear-gradient(180deg, #3a2e24 0%, #1f1812 100%); border:6px solid #5a4a34; border-radius:0 0 8px 8px; box-shadow:inset 0 0 30px #0a0806; }
.scn-servant-girls-refuse-masters .floor-planks { position:absolute; bottom:0; left:0; right:0; height:25%; background: repeating-linear-gradient(90deg, #3a2e22 0px, #3a2e22 20px, #4a3c2e 20px, #4a3c2e 40px); }
.scn-servant-girls-refuse-masters .servant-girl { position:absolute; bottom:15%; left:28%; width:20px; height:55px; background: linear-gradient(180deg, #2a221a 0%, #0e0a06 100%); border-radius:50% 50% 40% 40% / 55% 55% 40% 40%; transform-origin: bottom center; animation: sgr-girl 7s ease-in-out infinite; }
.scn-servant-girls-refuse-masters .master-shadow { position:absolute; bottom:10%; right:25%; width:28px; height:60px; background: linear-gradient(180deg, #1c1610 0%, #080604 100%); border-radius:50% 50% 40% 40% / 50% 50% 40% 40%; opacity:0.6; animation: sgr-master 10s ease-in-out infinite; }
.scn-servant-girls-refuse-masters .candle-glow { position:absolute; top:35%; left:20%; width:80px; height:80px; background: radial-gradient(circle, #f0d090 0%, transparent 70%); mix-blend-mode: overlay; animation: sgr-candle 6s ease-in-out infinite alternate; }
.scn-servant-girls-refuse-masters .wall-texture { position:absolute; top:0; left:0; right:0; bottom:25%; background: linear-gradient(130deg, #4a3e32 0%, #2e241e 100%); }
.scn-servant-girls-refuse-masters .rug { position:absolute; bottom:18%; left:20%; right:20%; height:6%; background: linear-gradient(90deg, #6a4a3a 0%, #8a6a4a 50%, #6a4a3a 100%); border-radius:10px; }
@keyframes sgr-girl { 0%,100% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(4px) rotate(1deg); } }
@keyframes sgr-master { 0%,100% { transform: translateX(0) scaleY(1); } 50% { transform: translateX(-2px) scaleY(1.03); } }
@keyframes sgr-candle { 0% { opacity:0.5; transform:scale(1); } 50% { opacity:0.8; transform:scale(1.05); } 100% { opacity:0.6; transform:scale(0.95); } }

/* noble-woman-prefers-bears - warm dim cave interior */
.scn-noble-woman-prefers-bears {
  background: 
    linear-gradient(180deg, #1c1208 0%, #2e1e0e 40%, #3a2a1a 100%),
    radial-gradient(ellipse at 50% 70%, #4a3420 0%, transparent 60%);
}
.scn-noble-woman-prefers-bears .cave-wall { position:absolute; inset:0; background: linear-gradient(130deg, #1a1008 0%, #2a1e12 100%); }
.scn-noble-woman-prefers-bears .bear-silhouette { position:absolute; bottom:20%; left:25%; width:50px; height:80px; background: #0d0804; border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: nwp-bear 8s ease-in-out infinite; }
.scn-noble-woman-prefers-bears .woman-figure { position:absolute; bottom:18%; right:30%; width:22px; height:55px; background: linear-gradient(180deg, #1c140e 0%, #0a0604 100%); border-radius:50% 50% 40% 40% / 55% 55% 40% 40%; transform-origin: bottom center; animation: nwp-woman 6s ease-in-out infinite; }
.scn-noble-woman-prefers-bears .fire-pit { position:absolute; bottom:5%; left:50%; width:60px; height:40px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 30%, #d06020 0%, #8a3010 40%, #2a1208 100%); border-radius:50%; animation: nwp-fire 3s ease-in-out infinite; }
.scn-noble-woman-prefers-bears .glow-light { position:absolute; top:30%; left:30%; width:150px; height:150px; background: radial-gradient(circle, #d08030 0%, transparent 70%); mix-blend-mode: overlay; animation: nwp-glow 7s ease-in-out infinite alternate; }
.scn-noble-woman-prefers-bears .dragon-shadow { position:absolute; bottom:20%; right:10%; width:40px; height:70px; background: #0a0604; border-radius:30% 50% 20% 40% / 40% 50% 30% 40%; opacity:0.5; animation: nwp-dragon 12s ease-in-out infinite; }
.scn-noble-woman-prefers-bears .ground { position:absolute; bottom:0; left:0; right:0; height:8%; background: linear-gradient(180deg, #2a1a0e 0%, #1a0e06 100%); }
@keyframes nwp-bear { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } }
@keyframes nwp-woman { 0%,100% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(2px) rotate(1deg); } }
@keyframes nwp-fire { 0% { transform: translateX(-50%) scaleX(1) scaleY(1); } 25% { transform: translateX(-50%) scaleX(1.05) scaleY(1.1); } 50% { transform: translateX(-50%) scaleX(0.95) scaleY(0.9); } 75% { transform: translateX(-50%) scaleX(1.02) scaleY(1.05); } 100% { transform: translateX(-50%) scaleX(1) scaleY(1); } }
@keyframes nwp-glow { 0% { opacity:0.4; transform:scale(1); } 50% { opacity:0.7; transform:scale(1.1); } 100% { opacity:0.5; transform:scale(0.9); } }
@keyframes nwp-dragon { 0%,100% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-2px) rotate(3deg); } }

/* silent-flattery-painting */
.scn-silent-flattery-painting {
  background: linear-gradient(135deg, #2a1e14 0%, #3a2a1a 40%, #1e1410 100%), radial-gradient(ellipse at 30% 50%, #4a3a2a 0%, transparent 70%);
}
.scn-silent-flattery-painting .canvas {
  position: absolute;
  top: 20%; left: 30%;
  width: 30%; height: 40%;
  background: linear-gradient(180deg, #6a5a3a 0%, #4a3a2a 100%);
  border-radius: 2%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.6);
  animation: sfp-canvas 20s ease-in-out infinite;
}
.scn-silent-flattery-painting .easel {
  position: absolute;
  bottom: 18%; left: 28%;
  width: 34%; height: 12%;
  background: linear-gradient(180deg, #5a4030 0%, #3a2820 100%);
  border-radius: 4% 4% 10% 10%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.5);
  animation: sfp-easel 12s ease-in-out infinite;
}
.scn-silent-flattery-painting .painter-silhouette {
  position: absolute;
  bottom: 20%; left: 42%;
  width: 14%; height: 40%;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sfp-painter 6s ease-in-out infinite;
}
.scn-silent-flattery-painting .window-light {
  position: absolute;
  top: 10%; left: 60%;
  width: 20%; height: 35%;
  background: radial-gradient(ellipse, rgba(200,180,150,0.3) 0%, transparent 70%);
  border-radius: 10%;
  animation: sfp-window 15s ease-in-out infinite alternate;
}
.scn-silent-flattery-painting .paint-shelf {
  position: absolute;
  bottom: 35%; left: 15%;
  width: 18%; height: 4%;
  background: linear-gradient(90deg, #4a3020 0%, #5a4030 100%);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
}
.scn-silent-flattery-painting .brush-stroke {
  position: absolute;
  top: 35%; left: 35%;
  width: 8%; height: 2%;
  background: #9a7a5a;
  border-radius: 50%;
  transform: rotate(-20deg);
  filter: blur(1px);
  animation: sfp-brush 4s ease-in-out infinite;
}
.scn-silent-flattery-painting .dust-mote-a,
.scn-silent-flattery-painting .dust-mote-b {
  position: absolute;
  width: 3px; height: 3px;
  background: rgba(240,220,180,0.5);
  border-radius: 50%;
  filter: blur(1px);
}
.scn-silent-flattery-painting .dust-mote-a {
  top: 15%; left: 50%;
  animation: sfp-dust-a 18s linear infinite;
}
.scn-silent-flattery-painting .dust-mote-b {
  top: 25%; left: 70%;
  animation: sfp-dust-b 22s linear infinite;
}
@keyframes sfp-canvas {
  0%,100% { transform: rotate(0deg); }
  50% { transform: rotate(0.5deg); }
}
@keyframes sfp-easel {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes sfp-painter {
  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 sfp-window {
  0% { opacity: 0.3; transform: scaleY(1); }
  100% { opacity: 0.7; transform: scaleY(1.05); }
}
@keyframes sfp-brush {
  0%,100% { transform: rotate(-20deg) translateX(0); }
  50% { transform: rotate(-15deg) translateX(5px); }
}
@keyframes sfp-dust-a {
  0% { transform: translate(0, 0); opacity: 0.4; }
  50% { transform: translate(30px, -20px); opacity: 0.1; }
  100% { transform: translate(60px, 0); opacity: 0.4; }
}
@keyframes sfp-dust-b {
  0% { transform: translate(0, 0); opacity: 0.3; }
  50% { transform: translate(-20px, -30px); opacity: 0.05; }
  100% { transform: translate(-40px, 0); opacity: 0.3; }
}

/* apelles-megabyzus-painter */
.scn-apelles-megabyzus-painter {
  background: linear-gradient(180deg, #2b1c12 0%, #3d281a 40%, #1a0f0a 100%), radial-gradient(ellipse at 60% 40%, #7a5a3a 0%, transparent 60%);
}
.scn-apelles-megabyzus-painter .easel-big {
  position: absolute;
  top: 15%; left: 25%;
  width: 35%; height: 50%;
  background: linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%);
  border-radius: 3%;
  box-shadow: 0 10px 30px rgba(0,0,0,0.7);
  animation: amb-easel 25s ease-in-out infinite;
}
.scn-apelles-megabyzus-painter .apelles-silhouette {
  position: absolute;
  bottom: 10%; left: 30%;
  width: 12%; height: 45%;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: amb-painter 8s ease-in-out infinite;
}
.scn-apelles-megabyzus-painter .megabyzus-throne {
  position: absolute;
  bottom: 5%; right: 15%;
  width: 25%; height: 55%;
  background: linear-gradient(180deg, #5a4030 0%, #3a2820 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 10% 10%;
  box-shadow: 0 6px 15px rgba(0,0,0,0.5);
  animation: amb-throne 12s ease-in-out infinite;
}
.scn-apelles-megabyzus-painter .grinder-boy {
  position: absolute;
  bottom: 15%; left: 55%;
  width: 10%; height: 25%;
  background: linear-gradient(180deg, #2a1e14 0%, #1a1410 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: amb-grinder 6s ease-in-out infinite alternate;
}
.scn-apelles-megabyzus-painter .pigment-pile {
  position: absolute;
  bottom: 10%; left: 50%;
  width: 8%; height: 6%;
  background: linear-gradient(180deg, #a08060 0%, #806040 100%);
  border-radius: 50%;
  filter: blur(2px);
  animation: amb-pigment 4s ease-in-out infinite;
}
.scn-apelles-megabyzus-painter .lamp-glow {
  position: absolute;
  top: 5%; left: 45%;
  width: 30%; height: 40%;
  background: radial-gradient(ellipse, rgba(255,200,120,0.3) 0%, transparent 70%);
  border-radius: 50%;
  animation: amb-lamp 10s ease-in-out infinite alternate;
}
.scn-apelles-megabyzus-painter .fabric-drape {
  position: absolute;
  top: 10%; right: 5%;
  width: 18%; height: 30%;
  background: linear-gradient(90deg, #6a4a3a 0%, #8a5a4a 100%);
  border-radius: 40% 10% 20% 10% / 50% 20% 30% 20%;
  transform: skewX(-10deg);
  box-shadow: 0 4px 10px rgba(0,0,0,0.4);
  animation: amb-drape 18s ease-in-out infinite;
}
@keyframes amb-easel {
  0%,100% { transform: rotate(0deg); }
  50% { transform: rotate(0.8deg); }
}
@keyframes amb-painter {
  0%,100% { transform: translateX(0) rotate(0deg); }
  33% { transform: translateX(4px) rotate(-3deg); }
  66% { transform: translateX(-4px) rotate(3deg); }
}
@keyframes amb-throne {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}
@keyframes amb-grinder {
  0% { transform: translateX(0) rotate(0deg); }
  100% { transform: translateX(8px) rotate(8deg); }
}
@keyframes amb-pigment {
  0%,100% { transform: scale(1); }
  50% { transform: scale(1.1); }
}
@keyframes amb-lamp {
  0% { opacity: 0.6; }
  100% { opacity: 1; }
}
@keyframes amb-drape {
  0%,100% { transform: skewX(-10deg) translateX(0); }
  50% { transform: skewX(-8deg) translateX(5px); }
}

/* stoics-wise-man-rich-king */
.scn-stoics-wise-man-rich-king {
  background: linear-gradient(180deg, #2e1c14 0%, #402820 40%, #1a100a 100%), radial-gradient(ellipse at 50% 30%, #6a4a3a 0%, transparent 60%);
}
.scn-stoics-wise-man-rich-king .throne-back {
  position: absolute;
  top: 5%; left: 35%;
  width: 40%; height: 70%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2818 100%);
  border-radius: 30% 30% 10% 10% / 40% 40% 10% 10%;
  box-shadow: 0 10px 30px rgba(0,0,0,0.7);
  animation: swr-throne 20s ease-in-out infinite;
}
.scn-stoics-wise-man-rich-king .king-figure {
  position: absolute;
  bottom: 15%; left: 42%;
  width: 16%; height: 50%;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: swr-king 8s ease-in-out infinite;
}
.scn-stoics-wise-man-rich-king .crown-gleam {
  position: absolute;
  top: 12%; left: 48%;
  width: 6%; height: 4%;
  background: radial-gradient(circle, #ffd080 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(1px);
  animation: swr-crown 3s ease-in-out infinite alternate;
}
.scn-stoics-wise-man-rich-king .flatterer-left,
.scn-stoics-wise-man-rich-king .flatterer-right {
  position: absolute;
  bottom: 15%;
  width: 10%; height: 35%;
  background: linear-gradient(180deg, #3a2820 0%, #2a1e14 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
}
.scn-stoics-wise-man-rich-king .flatterer-left {
  left: 20%;
  animation: swr-flatter 10s ease-in-out infinite;
}
.scn-stoics-wise-man-rich-king .flatterer-right {
  right: 20%;
  animation: swr-flatter 10s ease-in-out infinite reverse;
}
.scn-stoics-wise-man-rich-king .palace-column {
  position: absolute;
  top: 0; left: 10%;
  width: 6%; height: 100%;
  background: linear-gradient(90deg, #6a5a3a 0%, #8a7050 50%, #6a5a3a 100%);
  border-radius: 5%;
  box-shadow: 0 0 20px rgba(0,0,0,0.3);
}
.scn-stoics-wise-man-rich-king .lantern-pair {
  position: absolute;
  top: 25%; left: 15%;
  width: 4%; height: 6%;
  background: radial-gradient(circle, #ffc060 0%, #a07020 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 5px rgba(255,192,96,0.4);
  animation: swr-lantern 6s ease-in-out infinite alternate;
}
@keyframes swr-throne {
  0%,100% { transform: rotate(0deg); }
  50% { transform: rotate(0.5deg); }
}
@keyframes swr-king {
  0%,100% { transform: translateY(0) rotate(0deg); }
  33% { transform: translateY(-3px) rotate(2deg); }
  66% { transform: translateY(-1px) rotate(-2deg); }
}
@keyframes swr-crown {
  0% { opacity: 0.6; transform: scale(1); }
  100% { opacity: 1; transform: scale(1.2); }
}
@keyframes swr-flatter {
  0%,100% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(10px) rotate(10deg); }
}
@keyframes swr-lantern {
  0% { opacity: 0.7; transform: scaleY(1); }
  100% { opacity: 1; transform: scaleY(1.1); }
}

/* outspokenness-armour-friend */
.scn-outspokenness-armour-friend {
  background: linear-gradient(135deg, #2a1c14 0%, #3a281a 40%, #1a0f0a 100%), radial-gradient(ellipse at 40% 60%, #4a3a2a 0%, transparent 70%);
}
.scn-outspokenness-armour-friend .armour-torso {
  position: absolute;
  top: 30%; left: 30%;
  width: 20%; height: 35%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 6px 15px rgba(0,0,0,0.6);
  animation: oaf-armour 15s ease-in-out infinite;
}
.scn-outspokenness-armour-friend .helmet-crest {
  position: absolute;
  top: 20%; left: 33%;
  width: 14%; height: 15%;
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 50% 50% 20% 20%;
  animation: oaf-helmet 8s ease-in-out infinite;
}
.scn-outspokenness-armour-friend .friend-figure {
  position: absolute;
  bottom: 15%; right: 25%;
  width: 12%; height: 40%;
  background: linear-gradient(180deg, #2a1e14 0%, #1a1410 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: oaf-friend 10s ease-in-out infinite;
}
.scn-outspokenness-armour-friend .spear-shaft {
  position: absolute;
  top: 10%; left: 38%;
  width: 2%; height: 60%;
  background: linear-gradient(180deg, #8a7050 0%, #6a5040 100%);
  border-radius: 10%;
  transform: rotate(15deg);
  transform-origin: bottom center;
  animation: oaf-spear 12s ease-in-out infinite;
}
.scn-outspokenness-armour-friend .shield-rim {
  position: absolute;
  top: 45%; left: 20%;
  width: 12%; height: 16%;
  background: radial-gradient(circle, #7a6a5a 0%, #4a3a2a 100%);
  border-radius: 50%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.5);
  animation: oaf-shield 20s ease-in-out infinite;
}
.scn-outspokenness-armour-friend .battle-drape {
  position: absolute;
  top: 5%; right: 10%;
  width: 15%; height: 25%;
  background: linear-gradient(90deg, #5a4030 0%, #7a5a4a 100%);
  border-radius: 40% 10% 20% 10% / 50% 20% 30% 20%;
  transform: skewX(10deg);
  box-shadow: 0 4px 10px rgba(0,0,0,0.4);
  animation: oaf-drape 18s ease-in-out infinite;
}
.scn-outspokenness-armour-friend .dust-particles {
  position: absolute;
  top: 50%; left: 50%;
  width: 4px; height: 4px;
  background: rgba(200,170,130,0.3);
  border-radius: 50%;
  filter: blur(1px);
  animation: oaf-dust 25s linear infinite;
}
@keyframes oaf-armour {
  0%,100% { transform: rotate(0deg) scaleY(1); }
  50% { transform: rotate(1deg) scaleY(1.02); }
}
@keyframes oaf-helmet {
  0%,100% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(3deg) translateY(-2px); }
}
@keyframes oaf-friend {
  0%,100% { transform: translateX(0) rotate(0deg); }
  33% { transform: translateX(-5px) rotate(2deg); }
  66% { transform: translateX(3px) rotate(-2deg); }
}
@keyframes oaf-spear {
  0%,100% { transform: rotate(15deg); }
  50% { transform: rotate(18deg); }
}
@keyframes oaf-shield {
  0%,100% { transform: rotate(0deg); }
  50% { transform: rotate(5deg); }
}
@keyframes oaf-drape {
  0%,100% { transform: skewX(10deg) translateX(0); }
  50% { transform: skewX(8deg) translateX(-4px); }
}
@keyframes oaf-dust {
  0% { transform: translate(0, 0) scale(1); opacity: 0.4; }
  50% { transform: translate(20px, -30px) scale(0.5); opacity: 0.05; }
  100% { transform: translate(40px, -10px) scale(0.2); opacity: 0.15; }
}

/* thero-chopped-thumb – dim interior, tense */
.scn-thero-chopped-thumb {
  background: 
    linear-gradient(180deg, #1e1a18 0%, #2a2420 40%, #1c1614 100%),
    radial-gradient(ellipse at 60% 50%, #3a2e28 0%, transparent 70%);
}
.scn-thero-chopped-thumb .bg-wall {
  position: absolute; inset: 10% 5% 30% 10%;
  background: linear-gradient(90deg, #3a3028 0%, #4a3c34 50%, #2e2620 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.6);
}
.scn-thero-chopped-thumb .figure {
  position: absolute; bottom: 20%; left: 30%; width: 24px; height: 60px;
  background: linear-gradient(180deg, #1a1614 0%, #2c2420 50%, #100c0a 100%);
  border-radius: 50% 30% 40% 40% / 60% 40% 40% 40%;
  transform-origin: bottom center;
  animation: th1-figure 4s ease-in-out infinite;
}
.scn-thero-chopped-thumb .sword {
  position: absolute; bottom: 40%; left: 38%; width: 4px; height: 36px;
  background: linear-gradient(180deg, #b0a090 0%, #807060 60%, #605040 100%);
  border-radius: 2px;
  transform-origin: bottom center;
  animation: th1-sword 6s ease-in-out infinite alternate;
}
.scn-thero-chopped-thumb .thumb {
  position: absolute; bottom: 22%; left: 42%; width: 6px; height: 8px;
  background: radial-gradient(circle, #c8553d 0%, #8a3a24 100%);
  border-radius: 50%;
  transform-origin: center;
  animation: th1-thumb 0.8s ease-out infinite alternate;
}
.scn-thero-chopped-thumb .blood-drop {
  position: absolute; bottom: 20%; left: 44%; width: 3px; height: 6px;
  background: radial-gradient(circle, #c8553d 0%, #7a2a1a 100%);
  border-radius: 50%;
  animation: th1-drop 1.2s ease-in infinite;
}
.scn-thero-chopped-thumb .shadow-floor {
  position: absolute; bottom: 18%; left: 25%; right: 25%; height: 12px;
  background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.5) 0%, transparent 100%);
  filter: blur(4px);
}
.scn-thero-chopped-thumb .flicker-light {
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse at 50% 40%, rgba(200,150,100,0.15) 0%, transparent 60%);
  animation: th1-flicker 0.3s steps(2) infinite;
}
@keyframes th1-figure {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(2px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes th1-sword {
  0% { transform: rotate(10deg) scaleY(1); opacity: 0.7; }
  100% { transform: rotate(-5deg) scaleY(1.1); opacity: 1; }
}
@keyframes th1-thumb {
  0% { transform: scale(1); opacity: 0.9; }
  100% { transform: scale(1.3); opacity: 0.6; }
}
@keyframes th1-drop {
  0% { transform: translateY(0) scale(1); opacity: 0.8; }
  50% { transform: translateY(20px) scale(0.6); opacity: 0.4; }
  100% { transform: translateY(40px) scale(0.2); opacity: 0; }
}
@keyframes th1-flicker {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}

/* warlike-nations-amorous – bright interior, warm */
.scn-warlike-nations-amorous {
  background:
    linear-gradient(180deg, #f5e8d8 0%, #e8d4b8 50%, #d4bc9e 100%),
    radial-gradient(ellipse at 50% 70%, #eedcc0 0%, transparent 80%);
}
.scn-warlike-nations-amorous .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #b8a080 0%, #8a7050 100%);
  border-radius: 20% 20% 0 0 / 10% 10% 0 0;
}
.scn-warlike-nations-amorous .backdrop {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #d4c4b0 0%, #c0b098 50%, #b0a088 100%);
}
.scn-warlike-nations-amorous .figure-left {
  position: absolute; bottom: 28%; left: 20%; width: 28px; height: 56px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 50%, #3a2a1a 100%);
  border-radius: 40% 50% 40% 40% / 60% 50% 40% 40%;
  transform-origin: bottom center;
  animation: wa2-embrace-left 6s ease-in-out infinite;
}
.scn-warlike-nations-amorous .figure-right {
  position: absolute; bottom: 28%; left: 35%; width: 28px; height: 56px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 50%, #2a1a0a 100%);
  border-radius: 50% 40% 40% 40% / 50% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wa2-embrace-right 6s ease-in-out infinite;
}
.scn-warlike-nations-amorous .hearth-fire {
  position: absolute; bottom: 35%; left: 50%; width: 40px; height: 50px;
  background: radial-gradient(ellipse at 50% 70%, #ffb060 0%, #d08030 40%, #8a3a0a 100%);
  border-radius: 50%;
  filter: blur(4px);
  animation: wa2-fire 2s ease-in-out infinite alternate;
}
.scn-warlike-nations-amorous .wreath {
  position: absolute; bottom: 50%; left: 28%; width: 20px; height: 20px;
  background: linear-gradient(135deg, #7a8a4a 0%, #5a6a2a 100%);
  border-radius: 50%;
  border: 2px solid #9aaa5a;
  transform: rotate(15deg);
  animation: wa2-wreath 4s ease-in-out infinite;
}
.scn-warlike-nations-amorous .spear {
  position: absolute; bottom: 30%; right: 20%; width: 3px; height: 60px;
  background: linear-gradient(180deg, #9a8a7a 0%, #6a5a4a 50%, #4a3a2a 100%);
  border-radius: 2px;
  transform: rotate(-10deg);
  transform-origin: bottom center;
  animation: wa2-spear 5s ease-in-out infinite alternate;
}
@keyframes wa2-embrace-left {
  0% { transform: translateX(0) rotate(0deg) scaleY(1); }
  50% { transform: translateX(-3px) rotate(2deg) scaleY(1.02); }
  100% { transform: translateX(0) rotate(0deg) scaleY(1); }
}
@keyframes wa2-embrace-right {
  0% { transform: translateX(0) rotate(0deg) scaleY(1); }
  50% { transform: translateX(3px) rotate(-2deg) scaleY(1.02); }
  100% { transform: translateX(0) rotate(0deg) scaleY(1); }
}
@keyframes wa2-fire {
  0% { transform: scale(1) translateY(0); opacity: 0.8; }
  100% { transform: scale(1.15) translateY(-5px); opacity: 1; }
}
@keyframes wa2-wreath {
  0% { transform: rotate(15deg) scale(1); }
  50% { transform: rotate(20deg) scale(1.05); }
  100% { transform: rotate(15deg) scale(1); }
}
@keyframes wa2-spear {
  0% { transform: rotate(-10deg) translateY(0); }
  100% { transform: rotate(-5deg) translateY(-3px); }
}

/* euclamus-hero – tense, overcast */
.scn-euclamus-hero {
  background:
    linear-gradient(180deg, #5a5a6e 0%, #4a4a5e 40%, #3a3a4e 70%, #2a2a3e 100%),
    radial-gradient(ellipse at 50% 80%, #3a3a4e 0%, transparent 60%);
}
.scn-euclamus-hero .sky {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #5a5a6e 0%, #4a4a5e 100%);
  animation: eu3-sky 15s ease-in-out infinite alternate;
}
.scn-euclamus-hero .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #3a3a2a 0%, #2a2a1a 80%, #1a1a0a 100%);
  border-radius: 60% 40% 0 0 / 30% 20% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.7);
}
.scn-euclamus-hero .hero {
  position: absolute; bottom: 30%; left: 20%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 50%, #1a1a2a 100%);
  border-radius: 50% 40% 40% 40% / 60% 50% 40% 40%;
  transform-origin: bottom center;
  animation: eu3-hero 5s ease-in-out infinite;
}
.scn-euclamus-hero .enemy {
  position: absolute; bottom: 28%; left: 45%; width: 28px; height: 50px;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 60%, #1a1a2a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: eu3-enemy 4s ease-in-out infinite alternate;
}
.scn-euclamus-hero .spear {
  position: absolute; bottom: 40%; left: 25%; width: 4px; height: 50px;
  background: linear-gradient(180deg, #b0a090 0%, #706050 100%);
  border-radius: 2px;
  transform: rotate(5deg);
  animation: eu3-spear 3s ease-in-out infinite alternate;
}
.scn-euclamus-hero .shield {
  position: absolute; bottom: 35%; left: 10%; width: 22px; height: 30px;
  background: radial-gradient(ellipse at 50% 40%, #6a5a5a 0%, #3a2a2a 100%);
  border-radius: 50%;
  border: 2px solid #8a7a6a;
  animation: eu3-shield 6s ease-in-out infinite;
}
.scn-euclamus-hero .laurel-wreath {
  position: absolute; bottom: 60%; left: 18%; width: 16px; height: 16px;
  background: linear-gradient(135deg, #7a8a4a 0%, #5a6a2a 100%);
  border-radius: 50%;
  border: 2px solid #9aaa5a;
  transform: rotate(-10deg);
  animation: eu3-wreath 7s ease-in-out infinite;
}
@keyframes eu3-sky {
  0% { opacity: 0.8; }
  50% { opacity: 0.95; }
  100% { opacity: 0.7; }
}
@keyframes eu3-hero {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes eu3-enemy {
  0% { transform: rotate(0deg) translateY(0); opacity: 1; }
  100% { transform: rotate(10deg) translateY(8px); opacity: 0.5; }
}
@keyframes eu3-spear {
  0% { transform: rotate(5deg) translateY(0); }
  100% { transform: rotate(10deg) translateY(-4px); }
}
@keyframes eu3-shield {
  0% { transform: scale(1); }
  50% { transform: scale(1.05); }
  100% { transform: scale(1); }
}
@keyframes eu3-wreath {
  0% { transform: rotate(-10deg) scale(1); }
  50% { transform: rotate(-5deg) scale(1.1); opacity: 0.9; }
  100% { transform: rotate(-10deg) scale(1); }
}

/* heracles-loves-many – bright interior, warm */
.scn-heracles-loves-many {
  background:
    linear-gradient(180deg, #f0e4d8 0%, #e0d0c0 40%, #d0bcac 100%),
    radial-gradient(ellipse at 50% 60%, #f0e4d8 0%, transparent 70%);
}
.scn-heracles-loves-many .background {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(135deg, #e8d8c8 0%, #d8c4b0 100%);
}
.scn-heracles-loves-many .tomb {
  position: absolute; bottom: 25%; left: 30%; width: 80px; height: 60px;
  background: linear-gradient(180deg, #c0b0a0 0%, #a09080 50%, #807060 100%);
  border-radius: 8% 8% 4% 4% / 10% 10% 5% 5%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  animation: he4-tomb 12s ease-in-out infinite alternate;
}
.scn-heracles-loves-many .altar {
  position: absolute; bottom: 28%; left: 50%; width: 30px; height: 20px;
  background: linear-gradient(180deg, #a09080 0%, #807060 100%);
  border-radius: 4px;
  transform: translateX(-50%);
}
.scn-heracles-loves-many .figure-priest {
  position: absolute; bottom: 25%; left: 40%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 50%, #2a1a0a 100%);
  border-radius: 50% 40% 40% 40% / 60% 50% 40% 40%;
  transform-origin: bottom center;
  animation: he4-priest 5s ease-in-out infinite;
}
.scn-heracles-loves-many .figure-hero {
  position: absolute; bottom: 25%; left: 55%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 50%, #1a0a00 100%);
  border-radius: 40% 50% 40% 40% / 60% 50% 40% 40%;
  transform-origin: bottom center;
  animation: he4-hero 6s ease-in-out infinite;
}
.scn-heracles-loves-many .flame {
  position: absolute; bottom: 30%; left: 50%; width: 14px; height: 24px;
  background: radial-gradient(ellipse at 50% 80%, #ffc080 0%, #d08030 40%, #8a3a0a 100%);
  border-radius: 50%;
  filter: blur(3px);
  transform: translateX(-50%);
  animation: he4-flame 1.5s ease-in-out infinite alternate;
}
.scn-heracles-loves-many .offering-bowl {
  position: absolute; bottom: 25%; left: 50%; width: 18px; height: 10px;
  background: radial-gradient(ellipse at 50% 30%, #c0b098 0%, #8a7a6a 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  transform: translateX(-50%) translateY(10px);
  animation: he4-bowl 8s ease-in-out infinite;
}
@keyframes he4-tomb {
  0% { transform: scale(1) translateY(0); }
  50% { transform: scale(1.02) translateY(-2px); }
  100% { transform: scale(1) translateY(0); }
}
@keyframes he4-priest {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(2px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes he4-hero {
  0% { transform: translateX(0) rotate(0deg) scaleY(1); }
  50% { transform: translateX(-2px) rotate(-1deg) scaleY(1.02); }
  100% { transform: translateX(0) rotate(0deg) scaleY(1); }
}
@keyframes he4-flame {
  0% { transform: translateX(-50%) scale(1) translateY(0); opacity: 0.8; }
  100% { transform: translateX(-50%) scale(1.2) translateY(-3px); opacity: 1; }
}
@keyframes he4-bowl {
  0% { transform: translateX(-50%) translateY(10px) rotate(0deg); }
  50% { transform: translateX(-50%) translateY(12px) rotate(2deg); }
  100% { transform: translateX(-50%) translateY(10px) rotate(0deg); }
}

/* ===== domestic-hearth-pair-friendships ===== */
.scn-domestic-hearth-pair-friendships {
  background: linear-gradient(180deg, #1a1512 0%, #2a201a 40%, #3c2a1e 100%),
              radial-gradient(ellipse at 50% 80%, #6a4020 0%, transparent 70%);
}
.scn-domestic-hearth-pair-friendships .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a221c 0%, #1e1813 100%);
  border-radius: 0 0 20% 20%;
  animation: dhp-wall 12s ease-in-out infinite alternate;
}
.scn-domestic-hearth-pair-friendships .hearth {
  position: absolute; bottom: 15%; left: 50%; width: 140px; height: 90px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2a1a 0%, #1e1410 100%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: inset 0 8px 15px rgba(0,0,0,0.6);
  animation: dhp-hearth 8s ease-in-out infinite alternate;
}
.scn-domestic-hearth-pair-friendships .fire {
  position: absolute; bottom: 30%; left: 50%; width: 40px; height: 50px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #c8553d 0%, #8a3a1a 60%, transparent 80%);
  border-radius: 50%;
  filter: blur(3px);
  animation: dhp-fire 2s ease-in-out infinite alternate;
}
.scn-domestic-hearth-pair-friendships .glow {
  position: absolute; bottom: 30%; left: 50%; width: 100px; height: 80px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #ffa060 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(20px);
  animation: dhp-glow 3s ease-in-out infinite alternate;
}
.scn-domestic-hearth-pair-friendships .figure-left {
  position: absolute; bottom: 12%; left: 30%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #2a1e16 0%, #1a120e 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: dhp-figure-l 5s ease-in-out infinite;
}
.scn-domestic-hearth-pair-friendships .figure-right {
  position: absolute; bottom: 12%; right: 30%; width: 30px; height: 65px;
  background: linear-gradient(180deg, #2a1e16 0%, #1a120e 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: dhp-figure-r 5s ease-in-out infinite;
}
.scn-domestic-hearth-pair-friendships .mantle {
  position: absolute; bottom: 40%; left: 50%; width: 120px; height: 12px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #5a3a2a 0%, #7a4a2e 50%, #5a3a2a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.3);
}
@keyframes dhp-wall { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes dhp-hearth { 0% { transform: translateX(-50%) scaleX(1) } 50% { transform: translateX(-50%) scaleX(1.02) } 100% { transform: translateX(-50%) scaleX(0.98) } }
@keyframes dhp-fire { 0% { transform: translateX(-50%) scale(1) rotate(-2deg) } 50% { transform: translateX(-50%) scale(1.1) rotate(0deg) } 100% { transform: translateX(-50%) scale(0.95) rotate(2deg) } }
@keyframes dhp-glow { 0% { opacity: 0.5; transform: translateX(-50%) scale(0.9) } 50% { opacity: 0.8; transform: translateX(-50%) scale(1.1) } 100% { opacity: 0.6; transform: translateX(-50%) scale(1) } }
@keyframes dhp-figure-l { 0% { transform: translateX(0) translateY(0) rotate(-2deg) } 25% { transform: translateX(2px) translateY(-2px) rotate(1deg) } 50% { transform: translateX(0) translateY(0) rotate(-1deg) } 75% { transform: translateX(-2px) translateY(-1px) rotate(2deg) } 100% { transform: translateX(0) translateY(0) rotate(0deg) } }
@keyframes dhp-figure-r { 0% { transform: translateX(0) translateY(0) rotate(2deg) } 25% { transform: translateX(-2px) translateY(-2px) rotate(-1deg) } 50% { transform: translateX(0) translateY(0) rotate(1deg) } 75% { transform: translateX(2px) translateY(-1px) rotate(-2deg) } 100% { transform: translateX(0) translateY(0) rotate(0deg) } }

/* ===== love-few-strong-rivers ===== */
.scn-love-few-strong-rivers {
  background: linear-gradient(180deg, #1f1a14 0%, #2a2018 40%, #3c2e22 100%),
              radial-gradient(ellipse at 50% 20%, #806040 0%, transparent 60%);
}
.scn-love-few-strong-rivers .wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #2a2018 0%, #1e1812 100%);
  animation: lfs-wall 15s ease-in-out infinite alternate;
}
.scn-love-few-strong-rivers .window-frame {
  position: absolute; top: 8%; left: 50%; width: 180px; height: 150px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2a1a 0%, #1e140e 100%);
  border: 8px solid #4a3422;
  border-radius: 6px;
  box-shadow: inset 0 0 0 4px #6a4a2e;
}
.scn-love-few-strong-rivers .river-scene {
  position: absolute; top: 10%; left: 50%; width: 160px; height: 130px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6a8070 0%, #4a6050 50%, #3a4a3a 100%),
              repeating-linear-gradient(90deg, transparent, transparent 30px, rgba(255,255,200,0.1) 30px, rgba(255,255,200,0.1) 31px);
  border-radius: 4px;
  animation: lfs-river 20s linear infinite;
}
.scn-love-few-strong-rivers .figure-looking {
  position: absolute; bottom: 12%; left: 50%; width: 28px; height: 75px;
  transform: translateX(-50%) translateY(-10px);
  background: linear-gradient(180deg, #2a1e16 0%, #1a120e 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  animation: lfs-figure 6s ease-in-out infinite;
}
.scn-love-few-strong-rivers .table {
  position: absolute; bottom: 5%; left: 50%; width: 100px; height: 20px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #4a3422 0%, #5a3a2a 50%, #4a3422 100%);
  border-radius: 6px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}
.scn-love-few-strong-rivers .candle {
  position: absolute; bottom: 22%; left: 60%; width: 6px; height: 18px;
  background: linear-gradient(180deg, #d0b080 0%, #b09060 100%);
  border-radius: 2px;
  box-shadow: 0 0 10px 2px #ffd080;
  animation: lfs-candle 3s ease-in-out infinite alternate;
}
@keyframes lfs-wall { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes lfs-river { 0% { background-position: 0 0 } 100% { background-position: 60px 0 } }
@keyframes lfs-figure { 0% { transform: translateX(-50%) translateY(0) rotate(0deg) } 33% { transform: translateX(-50%) translateY(-2px) rotate(1deg) } 66% { transform: translateX(-50%) translateY(0) rotate(-1deg) } 100% { transform: translateX(-50%) translateY(0) rotate(0deg) } }
@keyframes lfs-candle { 0% { transform: scaleY(0.9); opacity: 0.8 } 50% { transform: scaleY(1.1); opacity: 1 } 100% { transform: scaleY(1); opacity: 0.9 } }

/* ===== one-eminent-friend-bushel-salt ===== */
.scn-one-eminent-friend-bushel-salt {
  background: linear-gradient(180deg, #1c1712 0%, #2a2018 40%, #3a2a1e 100%),
              radial-gradient(ellipse at 50% 40%, #806040 0%, transparent 70%);
}
.scn-one-eminent-friend-bushel-salt .bg {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #2a2018 0%, #1e1812 100%);
  border-radius: 0 0 30% 30%;
  animation: oes-bg 14s ease-in-out infinite alternate;
}
.scn-one-eminent-friend-bushel-salt .table {
  position: absolute; bottom: 5%; left: 50%; width: 160px; height: 24px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #4a3422 0%, #5a4030 50%, #4a3422 100%);
  border-radius: 8px;
  box-shadow: 0 6px 10px rgba(0,0,0,0.5);
}
.scn-one-eminent-friend-bushel-salt .bushel {
  position: absolute; bottom: 15%; left: 50%; width: 60px; height: 50px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6a4a2e 0%, #3a2a1a 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 10% 10%;
  box-shadow: inset 0 -10px 15px rgba(0,0,0,0.4);
  animation: oes-bushel 8s ease-in-out infinite alternate;
}
.scn-one-eminent-friend-bushel-salt .salt-pile {
  position: absolute; bottom: 26%; left: 50%; width: 30px; height: 12px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #f0f0e8 0%, #d0d0c0 60%, transparent 80%);
  border-radius: 50%;
  filter: blur(2px);
  animation: oes-salt 5s ease-in-out infinite alternate;
}
.scn-one-eminent-friend-bushel-salt .hand {
  position: absolute; bottom: 20%; left: 40%; width: 20px; height: 35px;
  background: linear-gradient(180deg, #2a1e16 0%, #1a120e 100%);
  border-radius: 50% 30% 20% 20% / 60% 40% 30% 30%;
  transform: rotate(-15deg);
  transform-origin: bottom center;
  animation: oes-hand 4s ease-in-out infinite;
}
.scn-one-eminent-friend-bushel-salt .candle {
  position: absolute; bottom: 38%; left: 30%; width: 6px; height: 22px;
  background: linear-gradient(180deg, #d0b080 0%, #b09060 100%);
  border-radius: 2px;
  box-shadow: 0 0 8px 2px #ffd080;
  animation: oes-candle 3s ease-in-out infinite alternate;
}
.scn-one-eminent-friend-bushel-salt .candleglow {
  position: absolute; bottom: 35%; left: 30%; width: 50px; height: 50px;
  transform: translate(-50%, 50%);
  background: radial-gradient(circle, #ffd080 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(15px);
  animation: oes-glow 4s ease-in-out infinite alternate;
}
@keyframes oes-bg { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes oes-bushel { 0% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(0.95) } 100% { transform: translateX(-50%) scaleY(1.02) } }
@keyframes oes-salt { 0% { opacity: 0.6; transform: translateX(-50%) scale(0.9) } 50% { opacity: 1; transform: translateX(-50%) scale(1.1) } 100% { opacity: 0.7; transform: translateX(-50%) scale(1) } }
@keyframes oes-hand { 0% { transform: rotate(-15deg) translate(0,0) } 25% { transform: rotate(-10deg) translate(3px, -2px) } 50% { transform: rotate(-18deg) translate(0,0) } 75% { transform: rotate(-12deg) translate(-2px, -1px) } 100% { transform: rotate(-15deg) translate(0,0) } }
@keyframes oes-candle { 0% { transform: scaleY(0.85); opacity: 0.8 } 50% { transform: scaleY(1.15); opacity: 1 } 100% { transform: scaleY(1); opacity: 0.9 } }
@keyframes oes-glow { 0% { opacity: 0.4; transform: translate(-50%, 50%) scale(0.8) } 50% { opacity: 0.7; transform: translate(-50%, 50%) scale(1.2) } 100% { opacity: 0.5; transform: translate(-50%, 50%) scale(1) } }

/* ===== three-requirements-friendship ===== */
.scn-three-requirements-friendship {
  background: linear-gradient(180deg, #1a1510 0%, #2a1f18 40%, #3c2a1e 100%),
              radial-gradient(ellipse at 50% 60%, #705030 0%, transparent 60%);
}
.scn-three-requirements-friendship .wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #2a1f18 0%, #1e1812 100%);
  animation: trf-wall 16s ease-in-out infinite alternate;
}
.scn-three-requirements-friendship .table {
  position: absolute; bottom: 5%; left: 50%; width: 200px; height: 22px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #4a3422 0%, #5a4030 50%, #4a3422 100%);
  border-radius: 10px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
}
.scn-three-requirements-friendship .book {
  position: absolute; bottom: 18%; left: 35%; width: 40px; height: 30px;
  transform: translateX(-50%) rotate(-5deg);
  background: linear-gradient(135deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 4px;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.3);
  animation: trf-book 10s ease-in-out infinite alternate;
}
.scn-three-requirements-friendship .cup {
  position: absolute; bottom: 16%; left: 50%; width: 30px; height: 28px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #8a7050 0%, #6a5040 100%);
  border-radius: 30% 30% 10% 10% / 40% 40% 10% 10%;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.3);
  animation: trf-cup 8s ease-in-out infinite alternate;
}
.scn-three-requirements-friendship .tool {
  position: absolute; bottom: 18%; left: 65%; width: 36px; height: 20px;
  transform: translateX(-50%) rotate(10deg);
  background: linear-gradient(90deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 20% 20% 40% 40% / 30% 30% 50% 50%;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.3);
  animation: trf-tool 9s ease-in-out infinite alternate;
}
.scn-three-requirements-friendship .beam {
  position: absolute; top: 20%; left: 50%; width: 120px; height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, transparent 0%, rgba(255,210,160,0.1) 30%, transparent 100%);
  border-radius: 50%;
  filter: blur(30px);
  animation: trf-beam 12s ease-in-out infinite alternate;
}
.scn-three-requirements-friendship .candle {
  position: absolute; bottom: 30%; left: 50%; width: 6px; height: 20px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #d0b080 0%, #b09060 100%);
  border-radius: 2px;
  box-shadow: 0 0 12px 4px #ffd080;
  animation: trf-candle 3s ease-in-out infinite alternate;
}
@keyframes trf-wall { 0% { opacity: 0.85 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes trf-book { 0% { transform: translateX(-50%) rotate(-5deg) scale(1) } 50% { transform: translateX(-50%) rotate(-3deg) scale(1.02) } 100% { transform: translateX(-50%) rotate(-6deg) scale(0.98) } }
@keyframes trf-cup { 0% { transform: translateX(-50%) scale(1) } 50% { transform: translateX(-50%) scale(1.03) translateY(-1px) } 100% { transform: translateX(-50%) scale(0.97) } }
@keyframes trf-tool { 0% { transform: translateX(-50%) rotate(10deg) scale(1) } 50% { transform: translateX(-50%) rotate(12deg) scale(1.02) } 100% { transform: translateX(-50%) rotate(8deg) scale(0.98) } }
@keyframes trf-beam { 0% { opacity: 0.3 } 50% { opacity: 0.6 } 100% { opacity: 0.4 } }
@keyframes trf-candle { 0% { transform: translateX(-50%) scaleY(0.9); opacity: 0.8 } 50% { transform: translateX(-50%) scaleY(1.1); opacity: 1 } 100% { transform: translateX(-50%) scaleY(1); opacity: 0.9 } }

.scn-ismenodora-love-baccho { background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 40%, #0a0808 100%), radial-gradient(ellipse at 30% 50%, #4a352a 0%, transparent 60%); }
.scn-ismenodora-love-baccho .wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #3a2a22 0%, #2a1e18 100%); }
.scn-ismenodora-love-baccho .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #1a1410 0%, #0a0806 100%); border-radius: 20% 20% 0 0 / 10% 10% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,.6); }
.scn-ismenodora-love-baccho .window { position:absolute; top:15%; left:55%; width:80px; height:100px; background: radial-gradient(ellipse at 50% 50%, #4a6a8a 0%, #1a2a3a 70%); border-radius: 4px; border: 4px solid #2a1e18; box-shadow: inset 0 0 30px rgba(74,106,138,.3); }
.scn-ismenodora-love-baccho .table { position:absolute; bottom:30%; left:30%; width:120px; height:20px; background: linear-gradient(180deg, #4a3528 0%, #2a1e14 100%); border-radius: 6px; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-ismenodora-love-baccho .candle { position:absolute; bottom:40%; left:36%; width:8px; height:50px; background: linear-gradient(180deg, #e8d4b0 0%, #b89870 100%); border-radius: 2px; }
.scn-ismenodora-love-baccho .figure { position:absolute; bottom:24%; left:20%; width:30px; height:70px; background: linear-gradient(180deg, #1a1210 0%, #0a0806 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ilb-figure 5s ease-in-out infinite; }
.scn-ismenodora-love-baccho .shadow { position:absolute; bottom:25%; left:22%; width:100px; height:30px; background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 70%); animation: ilb-shadow 5s ease-in-out infinite; }
.scn-ismenodora-love-baccho .drapes { position:absolute; top:0; left:50%; width:60px; height:120px; background: linear-gradient(180deg, #4a2a2a 0%, #2a1414 100%); border-radius: 0 0 20px 20px; filter: blur(2px); animation: ilb-drapes 8s ease-in-out infinite alternate; }
@keyframes ilb-figure { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-4px) rotate(2deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes ilb-shadow { 0% { opacity: 0.6; } 50% { opacity: 0.8; transform: scale(1.05); } 100% { opacity: 0.6; } }
@keyframes ilb-drapes { 0% { transform: scaleY(1); opacity: 0.8; } 50% { transform: scaleY(1.05); opacity: 1; } 100% { transform: scaleY(1); opacity: 0.8; } }

.scn-mother-looks-askance { background: linear-gradient(180deg, #1a1412 0%, #0e0a08 50%, #050302 100%), radial-gradient(ellipse at 70% 30%, #2a1e1a 0%, transparent 60%); }
.scn-mother-looks-askance .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 100%); }
.scn-mother-looks-askance .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #1a1210 0%, #0a0806 100%); box-shadow: inset 0 10px 20px rgba(0,0,0,.7); }
.scn-mother-looks-askance .doorway { position:absolute; bottom:20%; right:15%; width:60px; height:100px; background: #050302; border-radius: 30px 30px 0 0; box-shadow: inset 0 0 20px rgba(0,0,0,.8); }
.scn-mother-looks-askance .window { position:absolute; top:10%; left:20%; width:90px; height:120px; background: radial-gradient(ellipse at 50% 50%, #3a5a7a 0%, #0a1a2a 70%); border: 4px solid #1a1210; border-radius: 4px; box-shadow: inset 0 0 40px rgba(58,90,122,.3); }
.scn-mother-looks-askance .lamp { position:absolute; bottom:40%; left:45%; width:10px; height:8px; background: radial-gradient(circle, #d4b88a 0%, #b89870 70%); border-radius: 50%; box-shadow: 0 0 20px 6px rgba(212,184,138,.5); animation: mla-lamp 3s ease-in-out infinite alternate; }
.scn-mother-looks-askance .mother { position:absolute; bottom:22%; left:30%; width:28px; height:70px; background: linear-gradient(180deg, #2a1e1a 0%, #0e0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mla-turn 5s ease-in-out infinite; }
.scn-mother-looks-askance .baccho { position:absolute; bottom:22%; right:10%; width:30px; height:75px; background: linear-gradient(180deg, #1a1410 0%, #080604 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: mla-step 6s ease-in-out infinite; }
.scn-mother-looks-askance .shadow { position:absolute; bottom:22%; left:28%; width:80px; height:30px; background: radial-gradient(ellipse, rgba(0,0,0,.7) 0%, transparent 70%); animation: mla-shad 5s ease-in-out infinite; }
@keyframes mla-lamp { 0% { opacity: .7; transform: scale(0.95); } 50% { opacity: 1; transform: scale(1.05); } 100% { opacity: .8; transform: scale(1); } }
@keyframes mla-turn { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(5px) rotate(-3deg); } 50% { transform: translateX(0) rotate(0); } 75% { transform: translateX(-5px) rotate(3deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes mla-step { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes mla-shad { 0% { opacity: .5; transform: scaleX(1); } 50% { opacity: .8; transform: scaleX(1.1); } 100% { opacity: .5; transform: scaleX(1); } }

.scn-baccho-submits-decision { background: linear-gradient(180deg, #2a221a 0%, #1a1410 40%, #0a0806 100%), radial-gradient(ellipse at 50% 100%, #3a2a1e 0%, transparent 70%); }
.scn-baccho-submits-decision .wall { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #3a2a1e 0%, #2a1e14 100%); }
.scn-baccho-submits-decision .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #1a1410 0%, #0a0806 100%); border-radius: 30% 30% 0 0 / 20% 20% 0 0; }
.scn-baccho-submits-decision .table { position:absolute; bottom:30%; left:20%; right:20%; height:12px; background: linear-gradient(180deg, #5a4030 0%, #3a2820 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-baccho-submits-decision .lamp { position:absolute; bottom:48%; left:50%; width:14px; height:14px; transform: translateX(-50%); background: radial-gradient(circle, #e8d4b0 0%, #b89a70 70%); border-radius: 50%; box-shadow: 0 0 30px 10px rgba(232,212,176,.4); animation: bsd-lamp 4s ease-in-out infinite alternate; }
.scn-baccho-submits-decision .baccho { position:absolute; bottom:22%; left:50%; width:30px; height:70px; transform: translateX(-50%); background: linear-gradient(180deg, #1a1410 0%, #0a0806 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: bsd-bow 6s ease-in-out infinite; }
.scn-baccho-submits-decision .pisias { position:absolute; bottom:22%; left:20%; width:30px; height:72px; background: linear-gradient(180deg, #2a1e1a 0%, #0e0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: bsd-turn 8s ease-in-out infinite; }
.scn-baccho-submits-decision .anthemion { position:absolute; bottom:22%; right:20%; width:30px; height:74px; background: linear-gradient(180deg, #2a1e1a 0%, #0e0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: bsd-turn 8s ease-in-out infinite reverse; }
.scn-baccho-submits-decision .documents { position:absolute; bottom:30%; left:40%; width:30px; height:4px; background: #baa88a; border-radius: 1px; animation: bsd-paper 9s ease-in-out infinite; }
@keyframes bsd-lamp { 0% { transform: translateX(-50%) scale(1); opacity: .8; } 50% { transform: translateX(-50%) scale(1.05); opacity: 1; } 100% { transform: translateX(-50%) scale(0.95); opacity: .9; } }
@keyframes bsd-bow { 0% { transform: translateX(-50%) rotate(0); } 50% { transform: translateX(-50%) rotate(-5deg); } 100% { transform: translateX(-50%) rotate(0); } }
@keyframes bsd-turn { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(3px) rotate(2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes bsd-paper { 0% { filter: blur(0); } 50% { filter: blur(1px); } 100% { filter: blur(0); } }

.scn-pisias-objects-anthemion-defends { background: linear-gradient(180deg, #1a1612 0%, #0e0a08 40%, #050302 100%), radial-gradient(ellipse at 50% 40%, #2a1e18 0%, transparent 60%); }
.scn-pisias-objects-anthemion-defends .wall { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #2a1e18 0%, #1a1410 100%); }
.scn-pisias-objects-anthemion-defends .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #1a1410 0%, #0a0806 100%); box-shadow: inset 0 10px 20px rgba(0,0,0,.8); }
.scn-pisias-objects-anthemion-defends .column { position:absolute; bottom:20%; left:50%; width:20px; height:100px; transform: translateX(-50%); background: linear-gradient(180deg, #4a3a28 0%, #2a1e14 100%); border-radius: 4px; box-shadow: 2px 0 8px rgba(0,0,0,.5); }
.scn-pisias-objects-anthemion-defends .lamp { position:absolute; bottom:45%; left:50%; width:12px; height:12px; transform: translateX(-50%); background: radial-gradient(circle, #c8a88a 0%, #a08060 70%); border-radius: 50%; box-shadow: 0 0 25px 8px rgba(200,168,138,.4); animation: poad-lamp 3s ease-in-out infinite alternate; }
.scn-pisias-objects-anthemion-defends .pisias { position:absolute; bottom:15%; left:30%; width:30px; height:75px; background: linear-gradient(180deg, #2a1e1a 0%, #0e0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: poad-gesture 4s ease-in-out infinite; }
.scn-pisias-objects-anthemion-defends .anthemion { position:absolute; bottom:15%; right:30%; width:30px; height:75px; background: linear-gradient(180deg, #2a1e1a 0%, #0e0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: poad-gesture 4s ease-in-out infinite reverse; }
.scn-pisias-objects-anthemion-defends .shadow-a { position:absolute; bottom:15%; left:28%; width:80px; height:20px; background: radial-gradient(ellipse, rgba(0,0,0,.7) 0%, transparent 70%); animation: poad-shad 4s ease-in-out infinite; }
.scn-pisias-objects-anthemion-defends .shadow-b { position:absolute; bottom:15%; right:28%; width:80px; height:20px; background: radial-gradient(ellipse, rgba(0,0,0,.7) 0%, transparent 70%); animation: poad-shad 4s ease-in-out infinite reverse; }
@keyframes poad-lamp { 0% { transform: translateX(-50%) scale(0.95); opacity: .8; } 50% { transform: translateX(-50%) scale(1.05); opacity: 1; } 100% { transform: translateX(-50%) scale(0.95); opacity: .8; } }
@keyframes poad-gesture { 0% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-5px) rotate(10deg); } 50% { transform: translateY(0) rotate(0); } 75% { transform: translateY(-3px) rotate(-5deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes poad-shad { 0% { opacity: .4; } 50% { opacity: .8; } 100% { opacity: .4; } }

/* intermissions-philosophy-zeal – calm dim interior */
.scn-intermissions-philosophy-zeal {
  background: linear-gradient(180deg, #1a1410 0%, #2b221c 60%, #1f1814 100%);
  box-shadow: inset 0 0 80px rgba(0,0,0,0.6);
}
.scn-intermissions-philosophy-zeal .wall {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #3d2e24 0%, #2b1f18 100%);
}
.scn-intermissions-philosophy-zeal .desk {
  position: absolute; bottom: 18%; left: 10%; right: 10%; height: 12%;
  background: linear-gradient(180deg, #5a4034 0%, #3a2a20 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,0.7);
}
.scn-intermissions-philosophy-zeal .lamp-base {
  position: absolute; bottom: 28%; left: 50%; width: 20px; height: 6px;
  background: #6a5040;
  border-radius: 50%;
  transform: translateX(-50%);
}
.scn-intermissions-philosophy-zeal .lamp-glow {
  position: absolute; bottom: 30%; left: 50%; width: 100px; height: 100px;
  background: radial-gradient(circle at 50% 50%, rgba(255,200,100,0.6) 0%, rgba(255,200,100,0.2) 40%, transparent 70%);
  transform: translate(-50%, 50%);
  animation: iz-glow 4s ease-in-out infinite alternate;
}
.scn-intermissions-philosophy-zeal .book {
  position: absolute; bottom: 20%; left: 40%; width: 30px; height: 20px;
  background: linear-gradient(135deg, #8a6a4a 0%, #5a4030 100%);
  border-radius: 2px;
  transform: rotate(-5deg);
  box-shadow: 0 4px 6px rgba(0,0,0,0.5);
  animation: iz-book 9s ease-in-out infinite;
}
.scn-intermissions-philosophy-zeal .figure {
  position: absolute; bottom: 20%; left: 30%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #2a1e16 0%, #1a120e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: iz-figure 6s ease-in-out infinite alternate;
}
.scn-intermissions-philosophy-zeal .window-frame {
  position: absolute; top: 6%; right: 8%; width: 80px; height: 100px;
  background: #2a1e16;
  border: 4px solid #4a3428;
  border-radius: 6px;
}
.scn-intermissions-philosophy-zeal .moonlight {
  position: absolute; top: 6%; right: 8%; width: 72px; height: 92px;
  background: linear-gradient(180deg, rgba(180,200,255,0.1) 0%, transparent 100%);
  animation: iz-moon 20s ease-in-out infinite alternate;
}
@keyframes iz-glow { 0% { opacity: 0.5; transform: translate(-50%, 50%) scale(1); } 100% { opacity: 0.9; transform: translate(-50%, 50%) scale(1.1); } }
@keyframes iz-book { 0%,100% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-3deg) translateY(-1px); } }
@keyframes iz-figure { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes iz-moon { 0% { opacity: 0.2; } 50% { opacity: 0.5; } 100% { opacity: 0.3; } }

/* winged-simplicity-progress – warm bright interior */
.scn-winged-simplicity-progress {
  background: linear-gradient(180deg, #f5e8d0 0%, #e8d5b0 40%, #d4b48a 100%), radial-gradient(ellipse at 50% 0%, #fff8e0 0%, transparent 70%);
}
.scn-winged-simplicity-progress .room-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #f0dcc0 0%, #dcc8a8 100%);
}
.scn-winged-simplicity-progress .window {
  position: absolute; top: 10%; left: 10%; width: 120px; height: 150px;
  background: linear-gradient(180deg, #9fc9f0 0%, #c0dff0 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(255,230,180,0.3);
  animation: ws-window 8s ease-in-out infinite alternate;
}
.scn-winged-simplicity-progress .sunbeam {
  position: absolute; top: 10%; left: 10%; width: 120px; height: 200px;
  background: linear-gradient(180deg, rgba(255,245,200,0.4) 0%, transparent 100%);
  transform-origin: top left;
  animation: ws-beam 12s ease-in-out infinite alternate;
}
.scn-winged-simplicity-progress .figure-body {
  position: absolute; bottom: 20%; left: 45%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #4a3a28 0%, #2a1e12 100%);
  border-radius: 40% 40% 50% 50% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ws-figure 5s ease-in-out infinite alternate;
}
.scn-winged-simplicity-progress .wing-left {
  position: absolute; bottom: 40%; left: 36%; width: 50px; height: 30px;
  background: linear-gradient(135deg, #b8a080 0%, #8a7050 100%);
  border-radius: 60% 40% 30% 70% / 50% 50% 50% 50%;
  transform-origin: right bottom;
  animation: ws-wing-l 2s ease-in-out infinite alternate;
}
.scn-winged-simplicity-progress .wing-right {
  position: absolute; bottom: 40%; right: 36%; width: 50px; height: 30px;
  background: linear-gradient(225deg, #b8a080 0%, #8a7050 100%);
  border-radius: 40% 60% 70% 30% / 50% 50% 50% 50%;
  transform-origin: left bottom;
  animation: ws-wing-r 2.3s ease-in-out infinite alternate;
}
.scn-winged-simplicity-progress .path {
  position: absolute; bottom: 12%; left: 20%; right: 20%; height: 8px;
  background: linear-gradient(180deg, #c8b08a 0%, #a88c68 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: ws-path 15s ease-in-out infinite;
}
.scn-winged-simplicity-progress .dust-motes {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 30% 20%, rgba(255,255,200,0.15) 0%, transparent 30%), radial-gradient(circle at 70% 40%, rgba(255,255,200,0.1) 0%, transparent 30%);
  animation: ws-dust 20s linear infinite;
}
@keyframes ws-window { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes ws-beam { 0% { transform: rotate(-5deg) scaleX(0.9); } 50% { transform: rotate(0deg) scaleX(1); } 100% { transform: rotate(5deg) scaleX(0.9); } }
@keyframes ws-figure { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-4px) rotate(1deg); } 100% { transform: translateY(0) rotate(2deg); } }
@keyframes ws-wing-l { 0% { transform: rotate(0deg) scaleY(1); } 100% { transform: rotate(-20deg) scaleY(0.8); } }
@keyframes ws-wing-r { 0% { transform: rotate(0deg) scaleY(1); } 100% { transform: rotate(20deg) scaleY(0.8); } }
@keyframes ws-path { 0%,100% { transform: scaleX(1); } 50% { transform: scaleX(1.1); } }
@keyframes ws-dust { 0% { background-position: 0% 0%; } 100% { background-position: 50% 100%; } }

/* hunger-thirst-philosophy – warm bright interior */
.scn-hunger-thirst-philosophy {
  background: linear-gradient(180deg, #f5dcc0 0%, #e8c8a0 50%, #d4a880 100%);
}
.scn-hunger-thirst-philosophy .table-top {
  position: absolute; bottom: 18%; left: 8%; right: 8%; height: 14%;
  background: linear-gradient(180deg, #c8a070 0%, #a88050 100%);
  border-radius: 6px 6px 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,0.3);
}
.scn-hunger-thirst-philosophy .table-leg {
  position: absolute; bottom: 8%; left: 12%; width: 8px; height: 10%;
  background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%);
  border-radius: 2px;
  box-shadow: 0 0 4px rgba(0,0,0,0.4);
}
.scn-hunger-thirst-philosophy .plate {
  position: absolute; bottom: 24%; left: 25%; width: 80px; height: 16px;
  background: radial-gradient(ellipse, #e0d0b0 0%, #c0a880 100%);
  border-radius: 50%;
  box-shadow: 0 3px 6px rgba(0,0,0,0.2);
}
.scn-hunger-thirst-philosophy .bread {
  position: absolute; bottom: 28%; left: 28%; width: 40px; height: 30px;
  background: linear-gradient(135deg, #d4a060 0%, #a87a40 100%);
  border-radius: 30% 20% 40% 30% / 50% 40% 60% 50%;
  transform: rotate(10deg);
  animation: ht-bread 6s ease-in-out infinite;
}
.scn-hunger-thirst-philosophy .goblet {
  position: absolute; bottom: 24%; left: 55%; width: 24px; height: 40px;
  background: linear-gradient(180deg, #e0c090 0%, #b09060 100%);
  border-radius: 0 0 20% 20% / 0 0 40% 40%;
  box-shadow: 0 4px 6px rgba(0,0,0,0.3);
  animation: ht-goblet 8s ease-in-out infinite alternate;
}
.scn-hunger-thirst-philosophy .hand-reaching {
  position: absolute; bottom: 28%; left: 38%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #e8c8a0 0%, #c8a880 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom left;
  animation: ht-hand 4s ease-in-out infinite alternate;
}
.scn-hunger-thirst-philosophy .tablecloth-fold {
  position: absolute; bottom: 18%; left: 8%; right: 8%; height: 4px;
  background: linear-gradient(90deg, #f0dcc0 0%, #e0c8a0 50%, #f0dcc0 100%);
  border-radius: 50%;
  animation: ht-fold 12s ease-in-out infinite;
}
.scn-hunger-thirst-philosophy .candle {
  position: absolute; bottom: 30%; left: 70%; width: 6px; height: 40px;
  background: linear-gradient(180deg, #f0e0c0 0%, #d4b890 100%);
  border-radius: 2px;
}
.scn-hunger-thirst-philosophy .candle-glow {
  position: absolute; bottom: 50%; left: 70%; width: 50px; height: 50px;
  background: radial-gradient(circle, rgba(255,220,150,0.5) 0%, transparent 70%);
  transform: translate(-50%, -50%);
  animation: ht-candle 3s ease-in-out infinite alternate;
}
@keyframes ht-bread { 0%,100% { transform: rotate(10deg); } 50% { transform: rotate(15deg) translateY(-1px); } }
@keyframes ht-goblet { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }
@keyframes ht-hand { 0% { transform: rotate(-20deg) translateY(0); } 50% { transform: rotate(-10deg) translateY(-2px); } 100% { transform: rotate(-15deg) translateY(-1px); } }
@keyframes ht-fold { 0%,100% { opacity: 0.6; } 50% { opacity: 1; } }
@keyframes ht-candle { 0% { opacity: 0.4; transform: translate(-50%, -50%) scale(0.8); } 50% { opacity: 0.8; transform: translate(-50%, -50%) scale(1.1); } 100% { opacity: 0.5; transform: translate(-50%, -50%) scale(0.9); } }

/* hesiod-definition-progress – calm dim interior */
.scn-hesiod-definition-progress {
  background: linear-gradient(180deg, #1e1a14 0%, #2e2620 60%, #1a1410 100%);
}
.scn-hesiod-definition-progress .study-wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #2a221c 0%, #1a1410 100%);
}
.scn-hesiod-definition-progress .bookshelf {
  position: absolute; top: 8%; left: 5%; width: 30%; height: 60%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e12 100%);
  border-radius: 4px;
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.5);
}
.scn-hesiod-definition-progress .scroll {
  position: absolute; bottom: 24%; left: 45%; width: 60px; height: 40px;
  background: linear-gradient(180deg, #d4c8a0 0%, #a89870 100%);
  border-radius: 0% 0% 40% 40% / 0% 0% 100% 100%;
  transform: rotate(5deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: hd-scroll 10s ease-in-out infinite;
}
.scn-hesiod-definition-progress .desk-lamp {
  position: absolute; bottom: 26%; left: 30%; width: 12px; height: 20px;
  background: linear-gradient(180deg, #8a6a4a 0%, #5a4030 100%);
  border-radius: 4px;
}
.scn-hesiod-definition-progress .lamp-light {
  position: absolute; bottom: 30%; left: 30%; width: 80px; height: 80px;
  background: radial-gradient(circle at 50% 30%, rgba(255,200,100,0.5) 0%, transparent 70%);
  transform: translate(-50%, 0);
  animation: hd-light 5s ease-in-out infinite alternate;
}
.scn-hesiod-definition-progress .figure-reading {
  position: absolute; bottom: 18%; left: 35%; width: 26px; height: 50px;
  background: linear-gradient(180deg, #2a1e16 0%, #1a120e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: hd-figure 7s ease-in-out infinite alternate;
}
.scn-hesiod-definition-progress .open-book {
  position: absolute; bottom: 20%; left: 40%; width: 40px; height: 24px;
  background: linear-gradient(135deg, #a89870 0%, #8a7a5a 100%);
  border-radius: 2px;
  box-shadow: inset 0 0 4px rgba(0,0,0,0.4);
  animation: hd-book 9s ease-in-out infinite;
}
.scn-hesiod-definition-progress .inkwell {
  position: absolute; bottom: 22%; left: 28%; width: 14px; height: 16px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform: rotate(-10deg);
}
@keyframes hd-scroll { 0%,100% { transform: rotate(5deg) translateY(0); } 50% { transform: rotate(3deg) translateY(-2px); } }
@keyframes hd-light { 0% { opacity: 0.4; } 50% { opacity: 0.9; transform: translate(-50%, 0) scale(1.05); } 100% { opacity: 0.6; transform: translate(-50%, 0) scale(0.95); } }
@keyframes hd-figure { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes hd-book { 0%,100% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(2deg) scale(1.02); } }

.scn-love-king-ruler {
  background: linear-gradient(180deg, #f5e6c8 0%, #e0c090 30%, #c8a060 60%, #a08040 100%), radial-gradient(ellipse at 70% 40%, #ffdd99 0%, transparent 60%);
}
.scn-love-king-ruler .bg { position:absolute; inset:0 0 20% 0; background:linear-gradient(135deg, #d4b888, #b89060); }
.scn-love-king-ruler .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background:linear-gradient(180deg, #8a6a3a, #6a5030); border-radius: 50% 50% 0 0 / 20% 20% 0 0; box-shadow:0 -4px 12px rgba(0,0,0,0.3); }
.scn-love-king-ruler .chariot { position:absolute; bottom:18%; left:30%; width:40%; height:18%; background:linear-gradient(135deg, #c8a060, #a08040); border-radius:30% 30% 10% 10%; box-shadow:0 6px 12px rgba(0,0,0,0.4); animation: lkr-chariot 6s ease-in-out infinite; }
.scn-love-king-ruler .crown { position:absolute; bottom:33%; left:45%; width:10%; height:8%; background:linear-gradient(135deg, #f0d080, #c89030); border-radius:30% 30% 0 0; box-shadow:0 0 16px #ffd060; animation: lkr-crown 3s ease-in-out infinite alternate; }
.scn-love-king-ruler .horse-left { position:absolute; bottom:20%; left:18%; width:18%; height:16%; background:linear-gradient(135deg, #d4c4a0, #b8a080); border-radius:40% 40% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom left; animation: lkr-horse 4s ease-in-out infinite alternate; }
.scn-love-king-ruler .horse-right { position:absolute; bottom:20%; right:18%; width:18%; height:16%; background:linear-gradient(135deg, #d4c4a0, #b8a080); border-radius:40% 40% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom right; animation: lkr-horse 4s ease-in-out infinite alternate-reverse; }
.scn-love-king-ruler .rays { position:absolute; top:5%; left:30%; width:40%; height:30%; background:radial-gradient(ellipse at 50% 50%, rgba(255,220,160,0.6) 0%, transparent 70%); filter:blur(8px); animation: lkr-rays 8s ease-in-out infinite; }
.scn-love-king-ruler .shadow { position:absolute; bottom:0; left:25%; width:50%; height:10%; background:radial-gradient(ellipse, rgba(0,0,0,0.3) 0%, transparent 80%); animation: lkr-shadow 6s ease-in-out infinite; }
@keyframes lkr-chariot { 0% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-3px) rotate(1deg); } 100% { transform:translateY(0) rotate(0); } }
@keyframes lkr-crown { 0% { transform:translateY(0) scale(1); opacity:0.8; } 100% { transform:translateY(-4px) scale(1.05); opacity:1; } }
@keyframes lkr-horse { 0% { transform:translate(0,0) rotate(-2deg); } 100% { transform:translate(6px,-2px) rotate(2deg); } }
@keyframes lkr-rays { 0% { opacity:0.5; transform:scale(1); } 50% { opacity:0.8; transform:scale(1.2); } 100% { opacity:0.5; transform:scale(1); } }
@keyframes lkr-shadow { 0% { transform:scaleX(1); opacity:0.3; } 50% { transform:scaleX(1.1); opacity:0.5; } 100% { transform:scaleX(1); opacity:0.3; } }

.scn-soclarus-complaint-evasion {
  background: linear-gradient(180deg, #f0ece0 0%, #e0d8c8 40%, #c8b898 80%, #a89878 100%), radial-gradient(ellipse at 30% 40%, #fff5e0 0%, transparent 60%);
}
.scn-soclarus-complaint-evasion .wall { position:absolute; inset:0 0 30% 0; background:linear-gradient(270deg, #d8d0b8, #c0b090); }
.scn-soclarus-complaint-evasion .window { position:absolute; top:8%; left:60%; width:25%; height:25%; background:linear-gradient(180deg, #fff8e0, #f0e0b0); border-radius:4px; box-shadow:inset 0 0 20px rgba(255,220,160,0.4); animation: sce-window 12s ease-in-out infinite alternate; }
.scn-soclarus-complaint-evasion .table { position:absolute; bottom:20%; left:25%; width:50%; height:10%; background:linear-gradient(180deg, #a08060, #806040); border-radius:4px; box-shadow:0 4px 8px rgba(0,0,0,0.3); }
.scn-soclarus-complaint-evasion .scroll { position:absolute; bottom:24%; left:35%; width:30%; height:6%; background:linear-gradient(135deg, #f0e0c0, #d0b890); border-radius:50% 50% 0 0 / 100% 100% 0 0; transform-origin: bottom center; animation: sce-scroll 5s ease-in-out infinite; }
.scn-soclarus-complaint-evasion .figure-left { position:absolute; bottom:10%; left:20%; width:15%; height:35%; background:linear-gradient(180deg, #3a2a1a, #1a1008); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: sce-figL 4s ease-in-out infinite alternate; }
.scn-soclarus-complaint-evasion .figure-right { position:absolute; bottom:10%; right:20%; width:15%; height:38%; background:linear-gradient(180deg, #4a3a2a, #2a1a10); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: sce-figR 4s ease-in-out infinite alternate; }
.scn-soclarus-complaint-evasion .light-beam { position:absolute; top:8%; left:60%; width:25%; height:50%; background:linear-gradient(180deg, rgba(255,230,180,0.3) 0%, transparent 80%); transform:skewX(10deg); filter:blur(6px); animation: sce-beam 6s ease-in-out infinite; }
@keyframes sce-window { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes sce-scroll { 0% { transform:translate(0,0) rotate(-2deg); } 50% { transform:translate(2px,-3px) rotate(0deg); } 100% { transform:translate(0,0) rotate(2deg); } }
@keyframes sce-figL { 0% { transform:translate(0,0) rotate(0); } 100% { transform:translate(-3px,-2px) rotate(3deg); } }
@keyframes sce-figR { 0% { transform:translate(0,0) rotate(0); } 100% { transform:translate(3px,-2px) rotate(-3deg); } }
@keyframes sce-beam { 0% { opacity:0.2; transform:skewX(10deg) translateX(0); } 50% { opacity:0.5; transform:skewX(10deg) translateX(5%); } 100% { opacity:0.2; transform:skewX(10deg) translateX(0); } }

.scn-egyptian-love-and-sun {
  background: linear-gradient(180deg, #f5e6c0 0%, #d4c090 30%, #b8a070 60%, #a08050 100%), radial-gradient(ellipse at 50% 10%, #ffeecc 0%, transparent 70%);
}
.scn-egyptian-love-and-sun .temple-bg { position:absolute; inset:0 0 20% 0; background:linear-gradient(135deg, #c8b090, #a08860); }
.scn-egyptian-love-and-sun .pillar-left { position:absolute; bottom:0; left:5%; width:8%; height:80%; background:linear-gradient(180deg, #d4c098, #b89870); border-radius:2px; box-shadow:0 0 10px rgba(0,0,0,0.2); }
.scn-egyptian-love-and-sun .pillar-right { position:absolute; bottom:0; right:5%; width:8%; height:80%; background:linear-gradient(180deg, #d4c098, #b89870); border-radius:2px; box-shadow:0 0 10px rgba(0,0,0,0.2); }
.scn-egyptian-love-and-sun .sun-disk { position:absolute; top:10%; left:45%; width:10%; height:10%; background:radial-gradient(circle, #ffdd66 0%, #eeb933 40%, #c89020 80%); border-radius:50%; box-shadow:0 0 40px 12px #ffdd66, 0 0 80px 20px rgba(238,185,51,0.4); animation: els-sun 8s ease-in-out infinite alternate; }
.scn-egyptian-love-and-sun .eros-statue { position:absolute; bottom:20%; left:25%; width:12%; height:25%; background:linear-gradient(180deg, #e0d0b0, #c0a880); border-radius:30% 30% 20% 20% / 40% 40% 20% 20%; box-shadow:0 4px 8px rgba(0,0,0,0.3); transform-origin: bottom center; animation: els-statue 6s ease-in-out infinite; }
.scn-egyptian-love-and-sun .aphrodite-statue { position:absolute; bottom:20%; right:25%; width:12%; height:28%; background:linear-gradient(180deg, #e0d0b0, #c0a880); border-radius:30% 30% 20% 20% / 40% 40% 20% 20%; box-shadow:0 4px 8px rgba(0,0,0,0.3); transform-origin: bottom center; animation: els-statue 6s ease-in-out infinite alternate; }
.scn-egyptian-love-and-sun .offering { position:absolute; bottom:18%; left:43%; width:14%; height:4%; background:linear-gradient(135deg, #d4a040, #b08030); border-radius:20% 20% 0 0; box-shadow:0 2px 6px rgba(0,0,0,0.3); animation: els-offer 5s ease-in-out infinite alternate; }
@keyframes els-sun { 0% { transform:scale(1) rotate(0); box-shadow:0 0 40px 12px #ffdd66, 0 0 80px 20px rgba(238,185,51,0.4); } 50% { transform:scale(1.1) rotate(10deg); box-shadow:0 0 50px 18px #ffdd66, 0 0 100px 30px rgba(238,185,51,0.5); } 100% { transform:scale(1) rotate(0); box-shadow:0 0 40px 12px #ffdd66, 0 0 80px 20px rgba(238,185,51,0.4); } }
@keyframes els-statue { 0% { transform:translateY(0) rotate(-1deg); } 50% { transform:translateY(-2px) rotate(1deg); } 100% { transform:translateY(0) rotate(-1deg); } }
@keyframes els-offer { 0% { transform:translateX(0) scale(1); } 100% { transform:translateX(4px) scale(1.05); } }

.scn-love-sun-cloud-anger {
  background: linear-gradient(180deg, #b8a890 0%, #9a8878 20%, #7a6858 40%, #5a4a3a 60%, #3a2a1a 100%), radial-gradient(ellipse at 60% 30%, #c8b090 0%, transparent 60%);
}
.scn-love-sun-cloud-anger .sky { position:absolute; inset:0 0 30% 0; background:linear-gradient(270deg, #8a7a6a, #6a5a4a); animation: lsc-sky 15s ease-in-out infinite alternate; }
.scn-love-sun-cloud-anger .cloud1 { position:absolute; top:5%; left:10%; width:30%; height:12%; background:linear-gradient(180deg, rgba(200,180,160,0.6) 0%, rgba(160,140,120,0.2) 100%); border-radius:50%; filter:blur(10px); animation: lsc-cloud1 25s linear infinite; }
.scn-love-sun-cloud-anger .cloud2 { position:absolute; top:15%; right:10%; width:25%; height:10%; background:linear-gradient(180deg, rgba(200,180,160,0.5) 0%, rgba(160,140,120,0.1) 100%); border-radius:50%; filter:blur(8px); animation: lsc-cloud2 30s linear infinite reverse; }
.scn-love-sun-cloud-anger .sun { position:absolute; top:12%; left:50%; width:12%; height:12%; background:radial-gradient(circle, #ffcc55 0%, #e8a030 60%, #c08020 100%); border-radius:50%; box-shadow:0 0 30px 10px #e8a030, 0 0 60px 20px rgba(200,128,32,0.3); animation: lsc-sun 8s ease-in-out infinite alternate; }
.scn-love-sun-cloud-anger .ground { position:absolute; bottom:0; left:0; right:0; height:30%; background:linear-gradient(180deg, #4a3a2a, #2a1a0a); border-radius:60% 40% 0 0 / 30% 20% 0 0; }
.scn-love-sun-cloud-anger .figure-left { position:absolute; bottom:25%; left:25%; width:12%; height:25%; background:linear-gradient(180deg, #1a1810, #0a0a08); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: lsc-figL 4s ease-in-out infinite alternate; }
.scn-love-sun-cloud-anger .figure-right { position:absolute; bottom:25%; right:25%; width:12%; height:25%; background:linear-gradient(180deg, #2a2018, #0a0808); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: lsc-figR 4s ease-in-out infinite alternate; }
.scn-love-sun-cloud-anger .mist { position:absolute; bottom:20%; left:5%; width:90%; height:20%; background:linear-gradient(135deg, rgba(200,180,160,0.2) 0%, transparent 80%); filter:blur(12px); animation: lsc-mist 10s ease-in-out infinite alternate; }
@keyframes lsc-sky { 0% { opacity:0.7; } 50% { opacity:0.9; } 100% { opacity:0.6; } }
@keyframes lsc-cloud1 { 0% { transform:translateX(-30px); } 100% { transform:translateX(120vw); } }
@keyframes lsc-cloud2 { 0% { transform:translateX(0); } 50% { transform:translateX(-20px); } 100% { transform:translateX(0); } }
@keyframes lsc-sun { 0% { transform:scale(0.9); opacity:0.7; box-shadow:0 0 20px 6px #e8a030, 0 0 40px 12px rgba(200,128,32,0.2); } 50% { transform:scale(1.1); opacity:1; box-shadow:0 0 40px 14px #e8a030, 0 0 80px 24px rgba(200,128,32,0.4); } 100% { transform:scale(0.95); opacity:0.8; box-shadow:0 0 25px 8px #e8a030, 0 0 50px 16px rgba(200,128,32,0.3); } }
@keyframes lsc-figL { 0% { transform:translate(0,0) rotate(-5deg); } 100% { transform:translate(8px,-3px) rotate(5deg); } }
@keyframes lsc-figR { 0% { transform:translate(0,0) rotate(3deg); } 100% { transform:translate(-8px,-2px) rotate(-3deg); } }
@keyframes lsc-mist { 0% { opacity:0.2; transform:translateX(0); } 50% { opacity:0.4; transform:translateX(10px); } 100% { opacity:0.2; transform:translateX(0); } }

/* Scene 1: continence-remorse */
.scn-continence-remorse {
  background:
    linear-gradient(180deg, #f5ead0 0%, #e3d5b8 40%, #cbb695 100%),
    radial-gradient(ellipse at 50% 80%, rgba(255,220,160,0.3) 0%, transparent 70%);
}
.scn-continence-remorse .wall   { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #f5ead0 0%, #e3d5b8 100%); }
.scn-continence-remorse .floor  { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #b8a58a 0%, #8a765a 100%); border-radius: 20% 20% 0 0 / 10% 10% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,0.15); animation: co-floor 20s ease-in-out infinite alternate; }
.scn-continence-remorse .window { position:absolute; top:10%; left:50%; width:80px; height:90px; transform:translateX(-50%); background: linear-gradient(180deg, #d4e8f0 0%, #b0c8d8 100%); border: 4px solid #a09070; border-radius: 2px; box-shadow: inset 0 0 20px rgba(180,200,220,0.5); animation: co-window 8s ease-in-out infinite alternate; }
.scn-continence-remorse .desk   { position:absolute; bottom:22%; left:30%; right:30%; height:12%; background: linear-gradient(180deg, #7a6a4a 0%, #5a4a2a 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.3); transform: perspective(400px) rotateX(10deg); animation: co-desk 12s ease-in-out infinite; }
.scn-continence-remorse .figure { position:absolute; bottom:28%; left:40%; width:20px; height:40px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 45% 45% / 60% 60% 40% 40%; transform-origin: bottom center; animation: co-figure 6s ease-in-out infinite; }
.scn-continence-remorse .lamp   { position:absolute; bottom:32%; left:58%; width:10px; height:18px; background: linear-gradient(180deg, #c0a060 0%, #806030 100%); border-radius: 4px 4px 2px 2px; box-shadow: 0 0 12px 4px rgba(200,160,80,0.6); animation: co-lamp 4s ease-in-out infinite alternate; }
.scn-continence-remorse .book   { position:absolute; bottom:22%; left:36%; width:16px; height:10px; background: #5a4a30; border-radius: 1px; transform: rotate(-5deg); box-shadow: 2px 2px 4px rgba(0,0,0,0.3); animation: co-book 15s ease-in-out infinite; }
@keyframes co-floor   { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes co-window  { 0% { opacity: 0.7; box-shadow: inset 0 0 10px rgba(180,200,220,0.3); } 50% { opacity: 1; box-shadow: inset 0 0 30px rgba(180,200,220,0.8); } 100% { opacity: 0.8; box-shadow: inset 0 0 15px rgba(180,200,220,0.4); } }
@keyframes co-desk    { 0% { transform: perspective(400px) rotateX(10deg) translateY(0); } 50% { transform: perspective(400px) rotateX(10deg) translateY(-1px); } 100% { transform: perspective(400px) rotateX(10deg) translateY(0); } }
@keyframes co-figure  { 0% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(-2deg) translateY(-1px); } 50% { transform: rotate(1deg) translateY(-2px); } 75% { transform: rotate(-1deg) translateY(-1px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes co-lamp    { 0% { box-shadow: 0 0 8px 2px rgba(200,160,80,0.4); opacity:0.8; } 50% { box-shadow: 0 0 20px 6px rgba(200,160,80,0.8); opacity:1; } 100% { box-shadow: 0 0 12px 4px rgba(200,160,80,0.5); opacity:0.9; } }
@keyframes co-book    { 0% { transform: rotate(-5deg) translateX(0); } 50% { transform: rotate(-3deg) translateX(2px); } 100% { transform: rotate(-5deg) translateX(0); } }

/* Scene 2: xenocrates-philosophers-do-willingly */
.scn-xenocrates-philosophers-do-willingly {
  background:
    linear-gradient(180deg, #f0e0c0 0%, #d8c8a0 50%, #b8a078 100%),
    radial-gradient(ellipse at 30% 70%, rgba(255,200,120,0.25) 0%, transparent 60%);
}
.scn-xenocrates-philosophers-do-willingly .bg-wall     { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #f0e0c0 0%, #d8c8a0 100%); }
.scn-xenocrates-philosophers-do-willingly .bookshelf   { position:absolute; top:8%; left:6%; width:20%; height:60%; background: linear-gradient(180deg, #6a5a3a 0%, #4a3a1a 100%); border-radius: 2px; box-shadow: 2px 2px 8px rgba(0,0,0,0.3); display:flex; flex-direction:column; justify-content:space-evenly; padding:4px; animation: xe-shelf 25s ease-in-out infinite; }
.scn-xenocrates-philosophers-do-willingly .bookshelf::before { content:''; display:block; height:10%; background:#8a7a5a; margin:2px 0; border-radius:1px; }
.scn-xenocrates-philosophers-do-willingly .bookshelf::after  { content:''; display:block; height:10%; background:#7a6a4a; margin:2px 0; border-radius:1px; }
.scn-xenocrates-philosophers-do-willingly .desk       { position:absolute; bottom:28%; left:25%; right:25%; height:10%; background: linear-gradient(180deg, #7a6a4a 0%, #5a4a2a 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.3); transform: perspective(400px) rotateX(8deg); animation: xe-desk 10s ease-in-out infinite; }
.scn-xenocrates-philosophers-do-willingly .philosopher{ position:absolute; bottom:30%; left:35%; width:22px; height:45px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 65% 65% 35% 35%; transform-origin: bottom center; animation: xe-phil 7s ease-in-out infinite; }
.scn-xenocrates-philosophers-do-willingly .dog        { position:absolute; bottom:25%; left:55%; width:18px; height:12px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: center; animation: xe-dog 9s ease-in-out infinite; }
.scn-xenocrates-philosophers-do-willingly .lamp       { position:absolute; bottom:32%; left:60%; width:8px; height:16px; background: linear-gradient(180deg, #c8a860 0%, #886030 100%); border-radius: 3px 3px 1px 1px; box-shadow: 0 0 14px 4px rgba(200,160,80,0.6); animation: xe-lamp 4s ease-in-out infinite alternate; }
.scn-xenocrates-philosophers-do-willingly .scroll     { position:absolute; bottom:22%; left:42%; width:20px; height:6px; background: #d8c8a0; border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,0.2); animation: xe-scroll 20s linear infinite; }
@keyframes xe-shelf   { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes xe-desk    { 0% { transform: perspective(400px) rotateX(8deg) translateY(0); } 50% { transform: perspective(400px) rotateX(8deg) translateY(-1px); } 100% { transform: perspective(400px) rotateX(8deg) translateY(0); } }
@keyframes xe-phil    { 0% { transform: rotate(0deg) translateY(0); } 30% { transform: rotate(-3deg) translateY(-1px); } 60% { transform: rotate(2deg) translateY(-2px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes xe-dog     { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(10deg); } 50% { transform: translateX(8px) rotate(-5deg); } 75% { transform: translateX(4px) rotate(5deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes xe-lamp    { 0% { box-shadow: 0 0 8px 2px rgba(200,160,80,0.4); opacity:0.8; } 50% { box-shadow: 0 0 22px 6px rgba(200,160,80,0.8); opacity:1; } 100% { box-shadow: 0 0 10px 3px rgba(200,160,80,0.5); opacity:0.9; } }
@keyframes xe-scroll  { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(10px) rotate(5deg); } 100% { transform: translateX(0) rotate(0deg); } }

/* Scene 3: passion-reason-different */
.scn-passion-reason-different {
  background:
    linear-gradient(180deg, #eaeaf0 0%, #c8d0dc 50%, #a8b4c4 100%),
    radial-gradient(ellipse at 50% 50%, rgba(255,255,255,0.2) 0%, transparent 70%);
}
.scn-passion-reason-different .bg           { position:absolute; inset:0; background: linear-gradient(180deg, #eaeaf0 0%, #a8b4c4 100%); }
.scn-passion-reason-different .partition    { position:absolute; inset:10% 45% 10% 45%; background: linear-gradient(180deg, #8a9aaa 0%, #6a7a8a 100%); width:10%; left:45%; border-radius: 4px; box-shadow: 2px 0 8px rgba(0,0,0,0.1), -2px 0 8px rgba(0,0,0,0.1); animation: pa-part 20s ease-in-out infinite; }
.scn-passion-reason-different .shadow-left  { position:absolute; bottom:20%; left:12%; width:30%; height:40%; background: linear-gradient(180deg, rgba(120,130,140,0.3) 0%, rgba(80,90,100,0.1) 100%); border-radius: 40% 60% 0 0 / 80% 70% 0 0; filter: blur(8px); animation: pa-shade 12s ease-in-out infinite alternate; }
.scn-passion-reason-different .shadow-right { position:absolute; bottom:20%; right:12%; width:30%; height:40%; background: linear-gradient(180deg, rgba(140,130,120,0.3) 0%, rgba(100,90,80,0.1) 100%); border-radius: 60% 40% 0 0 / 70% 80% 0 0; filter: blur(8px); animation: pa-shade 12s ease-in-out infinite alternate-reverse; }
.scn-passion-reason-different .figure-left  { position:absolute; bottom:28%; left:18%; width:20px; height:45px; background: linear-gradient(180deg, #3a4a5a 0%, #1a2a3a 100%); border-radius: 50% 50% 40% 40% / 65% 65% 35% 35%; transform-origin: bottom center; animation: pa-figure 8s ease-in-out infinite; }
.scn-passion-reason-different .figure-right { position:absolute; bottom:28%; right:18%; width:20px; height:45px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 65% 65% 35% 35%; transform-origin: bottom center; animation: pa-figure 8s ease-in-out infinite -4s; }
.scn-passion-reason-different .light        { position:absolute; top:15%; left:50%; width:60px; height:60px; transform:translateX(-50%); background: radial-gradient(circle, rgba(255,255,240,0.6) 0%, rgba(255,255,240,0) 100%); border-radius: 50%; filter: blur(30px); animation: pa-light 10s ease-in-out infinite alternate; }
@keyframes pa-part   { 0% { height: 80%; top:10%; } 50% { height: 70%; top:15%; } 100% { height: 80%; top:10%; } }
@keyframes pa-shade  { 0% { opacity: 0.5; transform: scale(1); } 100% { opacity: 0.8; transform: scale(1.02); } }
@keyframes pa-figure { 0% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(2deg) translateY(-2px); } 50% { transform: rotate(-1deg) translateY(-3px); } 75% { transform: rotate(1deg) translateY(-1px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes pa-light  { 0% { opacity: 0.6; transform: translateX(-50%) scale(0.8); } 50% { opacity: 1; transform: translateX(-50%) scale(1.1); } 100% { opacity: 0.7; transform: translateX(-50%) scale(0.9); } }

/* Scene 4: opinion-depraved-judgements */
.scn-opinion-depraved-judgements {
  background:
    linear-gradient(180deg, #d0d8e0 0%, #b0bcc8 40%, #8898a8 100%),
    radial-gradient(ellipse at 50% 20%, rgba(220,230,240,0.3) 0%, transparent 60%);
}
.scn-opinion-depraved-judgements .bg          { position:absolute; inset:0; background: linear-gradient(180deg, #d0d8e0 0%, #8898a8 100%); }
.scn-opinion-depraved-judgements .mirror      { position:absolute; bottom:20%; left:50%; width:80px; height:100px; transform:translateX(-50%); background: linear-gradient(180deg, #c0d0e0 0%, #a0b0c0 100%); border: 3px solid #707880; border-radius: 4px; box-shadow: 0 0 20px rgba(0,0,0,0.1), inset 0 0 30px rgba(255,255,255,0.2); animation: op-mirror 15s ease-in-out infinite; }
.scn-opinion-depraved-judgements .figure      { position:absolute; bottom:22%; left:50%; width:22px; height:48px; transform:translateX(-50%); background: linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 100%); border-radius: 50% 50% 40% 40% / 65% 65% 35% 35%; transform-origin: bottom center; animation: op-figure 6s ease-in-out infinite; }
.scn-opinion-depraved-judgements .shadow-anger{ position:absolute; bottom:22%; left:30%; width:20px; height:40px; background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; filter: blur(4px); opacity:0.5; animation: op-shadow 10s ease-in-out infinite; }
.scn-opinion-depraved-judgements .shadow-fear { position:absolute; bottom:22%; right:30%; width:20px; height:40px; background: linear-gradient(180deg, #2a3a5a 0%, #0a1a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; filter: blur(4px); opacity:0.5; animation: op-shadow 10s ease-in-out infinite -3s; }
.scn-opinion-depraved-judgements .shadow-desire{ position:absolute; bottom:22%; left:38%; width:20px; height:40px; background: linear-gradient(180deg, #3a4a2a 0%, #1a2a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; filter: blur(4px); opacity:0.5; animation: op-shadow 10s ease-in-out infinite -6s; }
.scn-opinion-depraved-judgements .glow        { position:absolute; top:10%; left:50%; width:120px; height:60px; transform:translateX(-50%); background: radial-gradient(ellipse, rgba(255,255,255,0.2) 0%, transparent 100%); filter: blur(40px); animation: op-glow 8s ease-in-out infinite alternate; }
@keyframes op-mirror { 0% { transform: translateX(-50%) scale(1); } 50% { transform: translateX(-50%) scale(1.02); } 100% { transform: translateX(-50%) scale(1); } }
@keyframes op-figure { 0% { transform: translateX(-50%) rotate(0deg) translateY(0); } 20% { transform: translateX(-50%) rotate(1deg) translateY(-1px); } 40% { transform: translateX(-50%) rotate(-2deg) translateY(-2px); } 60% { transform: translateX(-50%) rotate(1deg) translateY(-1px); } 80% { transform: translateX(-50%) rotate(0deg) translateY(0); } 100% { transform: translateX(-50%) rotate(0deg) translateY(0); } }
@keyframes op-shadow { 0% { transform: translateX(0) scale(1); opacity:0.5; } 50% { transform: translateX(5px) scale(1.1); opacity:0.8; } 100% { transform: translateX(0) scale(1); opacity:0.5; } }
@keyframes op-glow   { 0% { opacity: 0.3; transform: translateX(-50%) scale(0.8); } 50% { opacity: 0.6; transform: translateX(-50%) scale(1.1); } 100% { opacity: 0.4; transform: translateX(-50%) scale(0.9); } }

.scn-father-interposes {
  background: 
    linear-gradient(180deg, #e8d5b0 0%, #d4b890 40%, #c4a070 100%),
    radial-gradient(ellipse at 60% 30%, #f0e0c0 0%, transparent 70%);
}

.scn-father-interposes .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #d4b890 0%, #b89870 100%);
  animation: fi-room 20s ease-in-out infinite alternate;
}

.scn-father-interposes .window-light {
  position: absolute; top: 8%; left: 15%; width: 30%; height: 50%;
  background: linear-gradient(180deg, #fff8e0 0%, #f0e0b0 70%, transparent 100%);
  clip-path: polygon(0 0, 100% 0, 90% 100%, 10% 100%);
  animation: fi-light 6s ease-in-out infinite alternate;
}

.scn-father-interposes .father {
  position: absolute; bottom: 18%; left: 25%; width: 16%; height: 52%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform-origin: bottom center;
  animation: fi-figure 4s ease-in-out infinite;
}

.scn-father-interposes .protogenes {
  position: absolute; bottom: 18%; right: 20%; width: 14%; height: 48%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 65% 65% 40% 40%;
  transform-origin: bottom center;
  animation: fi-figure 4.5s ease-in-out infinite reverse;
}

.scn-father-interposes .hand-clasp {
  position: absolute; bottom: 45%; left: 33%; width: 8%; height: 6%;
  background: radial-gradient(ellipse, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: fi-clasp 3s ease-in-out infinite alternate;
}

.scn-father-interposes .floor-shadow {
  position: absolute; bottom: 0; left: 10%; width: 80%; height: 20%;
  background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.25) 60%, transparent 100%);
  filter: blur(4px);
  animation: fi-shadow 8s ease-in-out infinite alternate;
}

.scn-father-interposes .dust-motes {
  position: absolute; top: 20%; left: 30%; width: 40%; height: 40%;
  background: radial-gradient(circle at 50% 50%, rgba(255,240,200,0.4) 0%, transparent 70%);
  filter: blur(8px);
  animation: fi-dust 12s ease-in-out infinite;
}

@keyframes fi-room {
  0% { opacity: 0.9; filter: brightness(1); }
  50% { opacity: 1; filter: brightness(1.05); }
  100% { opacity: 0.95; filter: brightness(0.98); }
}

@keyframes fi-light {
  0% { opacity: 0.7; transform: scaleX(1); }
  50% { opacity: 1; transform: scaleX(1.03); }
  100% { opacity: 0.8; transform: scaleX(0.97); }
}

@keyframes fi-figure {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}

@keyframes fi-clasp {
  0% { transform: scale(1); }
  50% { transform: scale(1.08); }
  100% { transform: scale(0.95); }
}

@keyframes fi-shadow {
  0% { opacity: 0.6; transform: translateY(0); }
  50% { opacity: 0.8; transform: translateY(3px); }
  100% { opacity: 0.5; transform: translateY(-2px); }
}

@keyframes fi-dust {
  0% { transform: translate(0,0); opacity: 0.3; }
  33% { transform: translate(5px, -8px); opacity: 0.6; }
  66% { transform: translate(-3px, 4px); opacity: 0.4; }
  100% { transform: translate(2px, -5px); opacity: 0.3; }
}

/* -------------------------------------------- */

.scn-pisias-brass-like-daphnaeus {
  background: 
    linear-gradient(180deg, #1a0a0a 0%, #2a1a0a 30%, #3a2a1a 60%, #1a0a0a 100%),
    radial-gradient(ellipse at 50% 60%, #4a3a1a 0%, transparent 70%);
}

.scn-pisias-brass-like-daphnaeus .forge-glow {
  position: absolute; bottom: 20%; left: 30%; width: 40%; height: 40%;
  background: radial-gradient(circle at 50% 50%, #b88840 0%, #8a6020 40%, transparent 80%);
  box-shadow: 0 0 80px 30px rgba(184,136,64,0.4);
  animation: pb-glow 3s ease-in-out infinite alternate;
}

.scn-pisias-brass-like-daphnaeus .anvil {
  position: absolute; bottom: 15%; left: 45%; width: 12%; height: 14%;
  background: linear-gradient(180deg, #4a4a4a 0%, #2a2a2a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
  animation: pb-anvil 5s ease-in-out infinite alternate;
}

.scn-pisias-brass-like-daphnaeus .daphnaeus {
  position: absolute; bottom: 18%; left: 35%; width: 14%; height: 50%;
  background: linear-gradient(180deg, #6a5a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 20px 5px rgba(184,136,64,0.3);
  animation: pb-daph 4s ease-in-out infinite;
}

.scn-pisias-brass-like-daphnaeus .pisias {
  position: absolute; bottom: 18%; right: 15%; width: 13%; height: 48%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 65% 65% 40% 40%;
  animation: pb-pisias 4.5s ease-in-out infinite reverse;
}

.scn-pisias-brass-like-daphnaeus .molten-brass {
  position: absolute; bottom: 28%; left: 42%; width: 8%; height: 6%;
  background: radial-gradient(circle, #d8a050 0%, #b08030 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px #d8a050;
  animation: pb-molten 2s ease-in-out infinite;
}

.scn-pisias-brass-like-daphnaeus .sparks {
  position: absolute; top: 40%; left: 38%; width: 20%; height: 30%;
  background: radial-gradient(circle at 50% 0%, #ffcc66 0%, transparent 60%);
  filter: blur(3px);
  animation: pb-sparks 1.5s ease-in-out infinite;
}

.scn-pisias-brass-like-daphnaeus .shadow-wall {
  position: absolute; top: 0; right: 0; width: 30%; height: 100%;
  background: linear-gradient(180deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.3) 100%);
  animation: pb-shadow 8s ease-in-out infinite alternate;
}

@keyframes pb-glow {
  0% { opacity: 0.5; transform: scale(0.95); }
  50% { opacity: 1; transform: scale(1.1); }
  100% { opacity: 0.7; transform: scale(1); }
}

@keyframes pb-anvil {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(0.97); }
  100% { transform: scaleY(1.02); }
}

@keyframes pb-daph {
  0% { transform: translateY(0) rotate(0deg); }
  33% { transform: translateY(-3px) rotate(1deg); }
  66% { transform: translateY(1px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}

@keyframes pb-pisias {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(2px) rotate(-2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}

@keyframes pb-molten {
  0% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(1.3); opacity: 1; }
  100% { transform: scale(1); opacity: 0.7; }
}

@keyframes pb-sparks {
  0% { transform: translateY(0) rotate(0deg); opacity: 0; }
  20% { opacity: 0.8; }
  40% { transform: translateY(-10px) rotate(20deg); opacity: 0.3; }
  60% { transform: translateY(5px) rotate(-10deg); opacity: 0.6; }
  80% { transform: translateY(-15px) rotate(30deg); opacity: 0.1; }
  100% { transform: translateY(0) rotate(0deg); opacity: 0; }
}

@keyframes pb-shadow {
  0% { opacity: 0.6; }
  50% { opacity: 0.8; }
  100% { opacity: 0.5; }
}

/* -------------------------------------------- */

.scn-pisias-guard-wealth {
  background: 
    linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 40%, #2a1a0a 80%, #1a0a0a 100%),
    radial-gradient(ellipse at 30% 60%, #1a1a1a 0%, transparent 70%);
}

.scn-pisias-guard-wealth .room-dark {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1a1a1a, #0a0a0a);
  animation: pg-room 15s ease-in-out infinite alternate;
}

.scn-pisias-guard-wealth .treasure-chest {
  position: absolute; bottom: 20%; left: 40%; width: 18%; height: 20%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a2a0a 100%);
  border-radius: 5% 5% 3% 3%;
  box-shadow: 0 0 20px 5px rgba(120,80,40,0.5), inset 0 2px 4px rgba(0,0,0,0.6);
  animation: pg-chest 6s ease-in-out infinite alternate;
}

.scn-pisias-guard-wealth .pisias {
  position: absolute; bottom: 16%; left: 22%; width: 14%; height: 50%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform-origin: bottom center;
  animation: pg-pisias 4s ease-in-out infinite;
}

.scn-pisias-guard-wealth .baccho {
  position: absolute; bottom: 20%; right: 20%; width: 12%; height: 44%;
  background: linear-gradient(180deg, #2a2a1a 0%, #0a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 10px 2px rgba(0,0,0,0.4);
  animation: pg-baccho 4.2s ease-in-out infinite reverse;
}

.scn-pisias-guard-wealth .coin-spill {
  position: absolute; bottom: 14%; left: 30%; width: 16%; height: 4%;
  background: repeating-linear-gradient(90deg, #d8b060 0px, #d8b060 4px, #b09040 4px, #b09040 8px);
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: pg-coin 3s ease-in-out infinite;
}

.scn-pisias-guard-wealth .candle {
  position: absolute; top: 20%; left: 50%; width: 4%; height: 20%;
  background: linear-gradient(180deg, #e0c080 0%, #c0a060 50%, #8a6a3a 100%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: 0 -10px 20px 8px rgba(255,200,100,0.3);
  animation: pg-candle 4s ease-in-out infinite alternate;
}

.scn-pisias-guard-wealth .shadow-stripe {
  position: absolute; bottom: 0; left: 35%; width: 30%; height: 40%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.6) 100%);
  animation: pg-stripe 7s ease-in-out infinite alternate;
}

@keyframes pg-room {
  0% { opacity: 0.8; filter: brightness(0.9); }
  50% { opacity: 1; filter: brightness(1.1); }
  100% { opacity: 0.85; filter: brightness(0.95); }
}

@keyframes pg-chest {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}

@keyframes pg-pisias {
  0% { transform: translateY(0) rotate(0deg); }
  33% { transform: translateY(-3px) rotate(1deg); }
  66% { transform: translateY(1px) rotate(-2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}

@keyframes pg-baccho {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(2px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(1deg); }
}

@keyframes pg-coin {
  0% { transform: translateX(0) scaleX(1); }
  50% { transform: translateX(3px) scaleX(1.1); }
  100% { transform: translateX(-2px) scaleX(0.95); }
}

@keyframes pg-candle {
  0% { transform: scaleY(1); opacity: 0.8; }
  50% { transform: scaleY(1.05); opacity: 1; }
  100% { transform: scaleY(0.95); opacity: 0.9; }
}

@keyframes pg-stripe {
  0% { opacity: 0.5; transform: scaleY(1); }
  50% { opacity: 0.7; transform: scaleY(1.1); }
  100% { opacity: 0.4; transform: scaleY(0.9); }
}

/* -------------------------------------------- */

.scn-prune-wives-wealth {
  background: 
    linear-gradient(180deg, #1a1a2a 0%, #2a1a1a 30%, #3a2a1a 60%, #1a0a0a 100%),
    radial-gradient(ellipse at 50% 80%, #2a1a1a 0%, transparent 80%);
}

.scn-prune-wives-wealth .chamber {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #2a1a1a, #1a0a0a);
  animation: pw-chamber 18s ease-in-out infinite alternate;
}

.scn-prune-wives-wealth .tree-branch {
  position: absolute; top: 10%; left: 30%; width: 40%; height: 8%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 50% 30% 10% 10% / 80% 60% 30% 30%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: pw-branch 6s ease-in-out infinite alternate;
}

.scn-prune-wives-wealth .clipper {
  position: absolute; top: 20%; left: 55%; width: 10%; height: 12%;
  background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 20% 20% 10% 10%;
  transform-origin: bottom center;
  animation: pw-clipper 3s ease-in-out infinite;
}

.scn-prune-wives-wealth .bird-wings {
  position: absolute; top: 15%; left: 20%; width: 12%; height: 10%;
  background: radial-gradient(ellipse, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50%;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  animation: pw-wings 2s ease-in-out infinite;
}

.scn-prune-wives-wealth .falling-coin {
  position: absolute; top: 30%; left: 50%; width: 4%; height: 4%;
  background: radial-gradient(circle, #c8a060 0%, #a08040 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: pw-coin 4s linear infinite;
}

.scn-prune-wives-wealth .shadow-lattice {
  position: absolute; bottom: 0; left: 0; width: 100%; height: 30%;
  background: repeating-linear-gradient(0deg, rgba(0,0,0,0.2) 0px, transparent 10px);
  animation: pw-lattice 10s ease-in-out infinite alternate;
}

.scn-prune-wives-wealth .dust {
  position: absolute; top: 5%; left: 20%; width: 60%; height: 60%;
  background: radial-gradient(circle at 50% 50%, rgba(200,180,150,0.2) 0%, transparent 70%);
  filter: blur(10px);
  animation: pw-dust 20s linear infinite;
}

@keyframes pw-chamber {
  0% { opacity: 0.85; filter: brightness(0.95); }
  50% { opacity: 1; filter: brightness(1.05); }
  100% { opacity: 0.9; filter: brightness(0.98); }
}

@keyframes pw-branch {
  0% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(3px) rotate(2deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}

@keyframes pw-clipper {
  0% { transform: translateY(0) rotate(0deg) scaleY(1); }
  33% { transform: translateY(-5px) rotate(10deg) scaleY(0.8); }
  66% { transform: translateY(2px) rotate(-5deg) scaleY(1.1); }
  100% { transform: translateY(0) rotate(0deg) scaleY(1); }
}

@keyframes pw-wings {
  0% { transform: scaleX(1) rotate(0deg); }
  50% { transform: scaleX(0.5) rotate(20deg); }
  100% { transform: scaleX(1) rotate(0deg); }
}

@keyframes pw-coin {
  0% { transform: translateY(-20px) rotate(0deg); opacity: 0; }
  10% { opacity: 1; }
  90% { opacity: 1; }
  100% { transform: translateY(80px) rotate(360deg); opacity: 0; }
}

@keyframes pw-lattice {
  0% { opacity: 0.4; }
  50% { opacity: 0.7; }
  100% { opacity: 0.3; }
}

@keyframes pw-dust {
  0% { transform: translate(0,0) scale(1); opacity: 0.2; }
  25% { transform: translate(10px, -8px) scale(1.05); opacity: 0.4; }
  50% { transform: translate(-5px, 12px) scale(0.95); opacity: 0.3; }
  75% { transform: translate(8px, -5px) scale(1.02); opacity: 0.5; }
  100% { transform: translate(0,0) scale(1); opacity: 0.2; }
}

/* emotional-reasoning-distinct */
.scn-emotional-reasoning-distinct {
  background: linear-gradient(180deg, #f5f0e8 0%, #e8e0d0 40%, #d0c8b8 100%), radial-gradient(ellipse at 40% 50%, #f0ece0 0%, transparent 70%);
  position: relative;
  overflow: hidden;
}
.scn-emotional-reasoning-distinct .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #faf6f0 0%, #e8e0d0 50%, #d8d0c0 100%);
  opacity: 0.6;
}
.scn-emotional-reasoning-distinct .window-frame {
  position: absolute; top: 5%; left: 10%; width: 40%; height: 60%;
  border: 6px solid #a09078;
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(255,255,200,0.3);
  background: transparent;
}
.scn-emotional-reasoning-distinct .window-light {
  position: absolute; top: 7%; left: 12%; width: 36%; height: 56%;
  background: linear-gradient(180deg, #fffbe8 0%, #f5ecdc 100%);
  animation: erd-windowlight 8s ease-in-out infinite alternate;
  opacity: 0.8;
}
.scn-emotional-reasoning-distinct .figure-left {
  position: absolute; bottom: 20%; left: 15%; width: 20%; height: 50%;
  background: radial-gradient(ellipse 60% 100% at 50% 100%, #3a3530 0%, #2a2520 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: erd-figureleft 12s ease-in-out infinite;
}
.scn-emotional-reasoning-distinct .figure-right {
  position: absolute; bottom: 20%; right: 20%; width: 18%; height: 45%;
  background: radial-gradient(ellipse 60% 100% at 50% 100%, #4a4540 0%, #3a3530 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: erd-figureright 12s ease-in-out infinite 6s;
}
.scn-emotional-reasoning-distinct .table {
  position: absolute; bottom: 10%; left: 10%; width: 80%; height: 12%;
  background: linear-gradient(180deg, #b8a898 0%, #988878 100%);
  border-radius: 6px;
  box-shadow: 0 -4px 10px rgba(0,0,0,0.2);
}
.scn-emotional-reasoning-distinct .lamp-glow {
  position: absolute; bottom: 30%; right: 10%; width: 60px; height: 80px;
  background: radial-gradient(circle at 50% 0%, #ffe8a0 0%, #f0d080 40%, transparent 70%);
  border-radius: 50%;
  filter: blur(10px);
  opacity: 0.6;
  animation: erd-lampglow 4s ease-in-out infinite alternate;
}
.scn-emotional-reasoning-distinct .shadow-divide {
  position: absolute; top: 0; left: 50%; width: 4px; height: 100%;
  background: linear-gradient(180deg, transparent 0%, #908878 50%, transparent 100%);
  opacity: 0.4;
  animation: erd-shadowdivide 20s ease-in-out infinite alternate;
}
@keyframes erd-windowlight { 0% { opacity: 0.7; transform: scaleY(1); } 50% { opacity: 1; transform: scaleY(1.02); } 100% { opacity: 0.8; transform: scaleY(0.98); } }
@keyframes erd-figureleft { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(8px) rotate(2deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes erd-figureright { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-6px) rotate(-1deg); } 100% { transform: translateX(3px) rotate(1deg); } }
@keyframes erd-lampglow { 0% { opacity: 0.4; transform: scale(0.95); } 50% { opacity: 0.8; transform: scale(1.1); } 100% { opacity: 0.5; transform: scale(1); } }
@keyframes erd-shadowdivide { 0% { opacity: 0.3; } 50% { opacity: 0.6; } 100% { opacity: 0.2; } }

/* power-of-reason-persuasion */
.scn-power-of-reason-persuasion {
  background: linear-gradient(180deg, #f5ecd8 0%, #e8dcc8 50%, #d8c8b0 100%), radial-gradient(ellipse at 60% 40%, #faf0e0 0%, transparent 60%);
  position: relative;
  overflow: hidden;
}
.scn-power-of-reason-persuasion .room-warm {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #fcf4e8 0%, #e8dcc8 100%);
  opacity: 0.5;
}
.scn-power-of-reason-persuasion .desk {
  position: absolute; bottom: 12%; left: 15%; width: 70%; height: 10%;
  background: linear-gradient(180deg, #b8a888 0%, #988868 100%);
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.scn-power-of-reason-persuasion .figure-standing {
  position: absolute; bottom: 20%; left: 35%; width: 18%; height: 55%;
  background: radial-gradient(ellipse 60% 100% at 50% 100%, #4a4035 0%, #3a3025 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: prp-figurestand 10s ease-in-out infinite;
}
.scn-power-of-reason-persuasion .hand-extended {
  position: absolute; bottom: 45%; left: 50%; width: 12%; height: 8%;
  background: linear-gradient(180deg, #5a5045 0%, #4a4035 100%);
  border-radius: 40% 40% 20% 20%;
  transform-origin: left center;
  animation: prp-hand 6s ease-in-out infinite alternate;
  z-index: 2;
}
.scn-power-of-reason-persuasion .book-open {
  position: absolute; bottom: 15%; left: 20%; width: 15%; height: 10%;
  background: linear-gradient(135deg, #d0c0a8 0%, #b8a888 100%);
  border-radius: 4px;
  transform: rotate(5deg);
  box-shadow: 2px 2px 6px rgba(0,0,0,0.2);
  animation: prp-book 15s ease-in-out infinite alternate;
}
.scn-power-of-reason-persuasion .candle {
  position: absolute; bottom: 25%; right: 20%; width: 6%; height: 18%;
  background: linear-gradient(180deg, #f0e0c0 0%, #d8c8a8 60%, #b8a888 100%);
  border-radius: 30%;
  box-shadow: 0 0 12px #f0d090;
}
.scn-power-of-reason-persuasion .candle-glow {
  position: absolute; bottom: 25%; right: 18%; width: 12%; height: 25%;
  background: radial-gradient(circle at 50% 0%, #ffe8a0 0%, transparent 70%);
  filter: blur(8px);
  opacity: 0.6;
  animation: prp-candle 4s ease-in-out infinite alternate;
}
.scn-power-of-reason-persuasion .flame {
  position: absolute; bottom: 42%; right: 21.5%; width: 3%; height: 6%;
  background: radial-gradient(circle, #ffe080 0%, #f0a040 60%, transparent 100%);
  border-radius: 50% 50% 20% 20%;
  animation: prp-flame 1.5s ease-in-out infinite alternate;
}
@keyframes prp-figurestand { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-4px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes prp-hand { 0% { transform: rotate(-15deg) translateX(0); } 50% { transform: rotate(-5deg) translateX(10px); } 100% { transform: rotate(-10deg) translateX(5px); } }
@keyframes prp-book { 0% { transform: rotate(3deg) scale(1); } 50% { transform: rotate(6deg) scale(1.02); } 100% { transform: rotate(4deg) scale(0.98); } }
@keyframes prp-candle { 0% { opacity: 0.4; transform: scaleY(0.9); } 50% { opacity: 0.7; transform: scaleY(1.1); } 100% { opacity: 0.5; transform: scaleY(1); } }
@keyframes prp-flame { 0% { transform: scaleY(0.8) translateY(0); } 50% { transform: scaleY(1.2) translateY(-2px); } 100% { transform: scaleY(0.9) translateY(0); } }

/* body-obedient-to-reason */
.scn-body-obedient-to-reason {
  background: linear-gradient(180deg, #e8f0f5 0%, #d0dce8 50%, #b8c8d8 100%), radial-gradient(ellipse at 50% 30%, #f0f8ff 0%, transparent 60%);
  position: relative;
  overflow: hidden;
}
.scn-body-obedient-to-reason .bg-bright {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #f0f8ff 0%, #d0dce8 100%);
  opacity: 0.4;
}
.scn-body-obedient-to-reason .skeleton-torso {
  position: absolute; bottom: 20%; left: 35%; width: 30%; height: 50%;
  background: linear-gradient(180deg, #f0ece0 0%, #d8d0c0 50%, #c0b8a8 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  box-shadow: inset 0 0 20px rgba(200,190,170,0.5);
  animation: bor-torso 12s ease-in-out infinite alternate;
}
.scn-body-obedient-to-reason .arm-left {
  position: absolute; bottom: 50%; left: 30%; width: 8%; height: 35%;
  background: linear-gradient(180deg, #e8e0d0 0%, #c0b8a8 100%);
  border-radius: 30% 30% 20% 20%;
  transform-origin: top center;
  animation: bor-armleft 8s ease-in-out infinite alternate;
}
.scn-body-obedient-to-reason .arm-right {
  position: absolute; bottom: 50%; right: 30%; width: 8%; height: 35%;
  background: linear-gradient(180deg, #e8e0d0 0%, #c0b8a8 100%);
  border-radius: 30% 30% 20% 20%;
  transform-origin: top center;
  animation: bor-armright 8s ease-in-out infinite alternate 2s;
}
.scn-body-obedient-to-reason .leg-left {
  position: absolute; bottom: 5%; left: 38%; width: 10%; height: 18%;
  background: linear-gradient(180deg, #d8d0c0 0%, #b0a898 100%);
  border-radius: 20% 20% 10% 10%;
  transform-origin: top center;
  animation: bor-legleft 10s ease-in-out infinite alternate;
}
.scn-body-obedient-to-reason .leg-right {
  position: absolute; bottom: 5%; right: 38%; width: 10%; height: 18%;
  background: linear-gradient(180deg, #d8d0c0 0%, #b0a898 100%);
  border-radius: 20% 20% 10% 10%;
  transform-origin: top center;
  animation: bor-legright 10s ease-in-out infinite alternate 5s;
}
.scn-body-obedient-to-reason .head-profile {
  position: absolute; bottom: 68%; left: 45%; width: 10%; height: 14%;
  background: radial-gradient(ellipse 100% 100% at 50% 50%, #e8e0d0 0%, #c0b8a8 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bor-head 15s ease-in-out infinite alternate;
}
.scn-body-obedient-to-reason .spark-overlay {
  position: absolute; inset: 0;
  background-image: radial-gradient(circle 2px at 20% 30%, #ffffff 0%, transparent 100%),
                    radial-gradient(circle 2px at 60% 70%, #ffffff 0%, transparent 100%),
                    radial-gradient(circle 2px at 80% 20%, #ffffff 0%, transparent 100%);
  background-size: 200px 200px;
  background-repeat: no-repeat;
  opacity: 0.3;
  animation: bor-sparks 20s linear infinite;
}
@keyframes bor-torso { 0% { transform: scaleY(1) translateY(0); } 50% { transform: scaleY(1.02) translateY(-3px); } 100% { transform: scaleY(0.98) translateY(0); } }
@keyframes bor-armleft { 0% { transform: rotate(-10deg); } 50% { transform: rotate(10deg); } 100% { transform: rotate(-5deg); } }
@keyframes bor-armright { 0% { transform: rotate(5deg); } 50% { transform: rotate(-15deg); } 100% { transform: rotate(0deg); } }
@keyframes bor-legleft { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(0deg) translateY(-2px); } 100% { transform: rotate(5deg) translateY(0); } }
@keyframes bor-legright { 0% { transform: rotate(5deg) translateY(0); } 50% { transform: rotate(0deg) translateY(-2px); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes bor-head { 0% { transform: rotate(2deg); } 50% { transform: rotate(-4deg); } 100% { transform: rotate(1deg); } }
@keyframes bor-sparks { 0% { background-position: 0% 0%, 50% 50%, 100% 100%; opacity: 0.2; } 50% { background-position: 20% 40%, 70% 20%, 90% 80%; opacity: 0.4; } 100% { background-position: 40% 80%, 90% 60%, 60% 10%; opacity: 0.2; } }

/* homer-example-penelope */
.scn-homer-example-penelope {
  background: linear-gradient(180deg, #2a2520 0%, #3a3025 40%, #4a4035 100%), radial-gradient(ellipse at 50% 60%, #6a5a4a 0%, transparent 70%);
  position: relative;
  overflow: hidden;
}
.scn-homer-example-penelope .bg-dim {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #3a3025 0%, #2a2520 100%);
  opacity: 0.7;
}
.scn-homer-example-penelope .wall-shadow {
  position: absolute; top: 0; left: 0; width: 100%; height: 70%;
  background: linear-gradient(180deg, transparent 0%, #1a1510 100%);
  opacity: 0.3;
}
.scn-homer-example-penelope .figure-kneeling {
  position: absolute; bottom: 5%; left: 30%; width: 25%; height: 45%;
  background: radial-gradient(ellipse 60% 100% at 50% 100%, #4a3a2a 0%, #2a1a10 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: hep-kneel 8s ease-in-out infinite;
}
.scn-homer-example-penelope .figure-standing {
  position: absolute; bottom: 5%; right: 20%; width: 20%; height: 50%;
  background: radial-gradient(ellipse 60% 100% at 50% 100%, #3a3025 0%, #1a1510 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: hep-stand 10s ease-in-out infinite 2s;
}
.scn-homer-example-penelope .tear-drops {
  position: absolute; bottom: 40%; left: 37%; width: 2%; height: 2%;
  background: radial-gradient(circle, #d0b8a8 0%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 6px rgba(208,184,168,0.5);
  animation: hep-tear 6s ease-in-out infinite alternate;
}
.scn-homer-example-penelope .hearth-glow {
  position: absolute; bottom: 0; left: 5%; width: 30%; height: 40%;
  background: radial-gradient(ellipse at 30% 100%, #ff8030 0%, #c06020 30%, transparent 60%);
  filter: blur(20px);
  opacity: 0.6;
  animation: hep-hearthglow 5s ease-in-out infinite alternate;
}
.scn-homer-example-penelope .hearth-stone {
  position: absolute; bottom: 0; left: 5%; width: 25%; height: 10%;
  background: linear-gradient(180deg, #706050 0%, #504030 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: inset 0 8px 12px rgba(0,0,0,0.5);
}
.scn-homer-example-penelope .smoke-wisp {
  position: absolute; bottom: 30%; left: 10%; width: 8%; height: 20%;
  background: radial-gradient(ellipse 50% 100% at 50% 0%, rgba(200,180,160,0.3) 0%, transparent 100%);
  animation: hep-smoke 12s ease-in-out infinite alternate;
}
@keyframes hep-kneel { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes hep-stand { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes hep-tear { 0% { transform: translateY(0) scale(1); opacity: 0; } 50% { transform: translateY(-10px) scale(1.5); opacity: 0.8; } 100% { transform: translateY(-20px) scale(0.5); opacity: 0; } }
@keyframes hep-hearthglow { 0% { opacity: 0.4; transform: scale(0.95); } 50% { opacity: 0.8; transform: scale(1.1); } 100% { opacity: 0.5; transform: scale(1); } }
@keyframes hep-smoke { 0% { transform: translateY(0) scaleX(1); opacity: 0.2; } 50% { transform: translateY(-15px) scaleX(1.5); opacity: 0.5; } 100% { transform: translateY(-30px) scaleX(0.8); opacity: 0; } }

.scn-opposite-virtue-silence {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2c2c44 40%, #3a3a4e 70%, #2a2a3a 100%),
    radial-gradient(ellipse at 30% 50%, #4a4a5e 0%, transparent 70%);
}
.scn-opposite-virtue-silence .room-bg { position:absolute; inset:0; background: linear-gradient(180deg, #2a2a3e 0%, #1e1e2a 50%, #141422 100%); animation: ovs-room-pulse 12s ease-in-out infinite alternate; }
.scn-opposite-virtue-silence .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #3a3a2e 0%, #2a2a1e 100%); border-radius: 10% 10% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.5); }
.scn-opposite-virtue-silence .window { position:absolute; top:15%; right:12%; width:80px; height:110px; background: linear-gradient(180deg, #2c2c4e 0%, #1a1a3a 100%); border-radius: 4px; box-shadow: inset 0 0 20px rgba(0,0,0,.6), 0 0 30px rgba(0,0,50,.3); animation: ovs-window-fade 20s ease-in-out infinite; }
.scn-opposite-virtue-silence .moonbeam { position:absolute; top:15%; right:12%; width:80px; height:110px; background: linear-gradient(135deg, rgba(200,210,255,0.08) 0%, rgba(200,210,255,0.02) 100%); clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%); animation: ovs-beam-sway 15s ease-in-out infinite alternate; }
.scn-opposite-virtue-silence .chair { position:absolute; bottom:28%; left:20%; width:50px; height:60px; background: linear-gradient(180deg, #4a3a2e 0%, #2a1e14 100%); border-radius: 30% 30% 10% 10%; box-shadow: 2px 6px 12px rgba(0,0,0,.5); }
.scn-opposite-virtue-silence .figure { position:absolute; bottom:30%; left:24%; width:30px; height:60px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ovs-figure-breathe 5s ease-in-out infinite; }
.scn-opposite-virtue-silence .candle { position:absolute; bottom:35%; left:12%; width:8px; height:20px; background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%); border-radius: 4px; }
.scn-opposite-virtue-silence .flame-glow { position:absolute; bottom:42%; left:12%; width:20px; height:20px; margin-left:-6px; background: radial-gradient(circle, #ffcc80 0%, #e8a040 40%, transparent 70%); border-radius:50%; box-shadow: 0 0 30px 8px rgba(255,200,100,0.3); animation: ovs-flicker 2s ease-in-out infinite alternate; }
.scn-opposite-virtue-silence .shadow { position:absolute; bottom:28%; left:18%; width:70px; height:10px; background: radial-gradient(ellipse, rgba(0,0,0,.4) 0%, transparent 70%); border-radius:50%; animation: ovs-shadow-sway 5s ease-in-out infinite; }
@keyframes ovs-room-pulse { 0%,100% { opacity:.85 } 50% { opacity:1 } }
@keyframes ovs-window-fade { 0%,100% { opacity:.6 } 50% { opacity:1 } }
@keyframes ovs-beam-sway { 0% { transform: skewX(2deg) } 50% { transform: skewX(-2deg) } 100% { transform: skewX(1deg) } }
@keyframes ovs-figure-breathe { 0%,100% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-2px) scaleY(1.02) } }
@keyframes ovs-flicker { 0% { transform: scale(1) rotate(-2deg); opacity:.9 } 25% { transform: scale(1.1) rotate(0deg); opacity:1 } 50% { transform: scale(0.95) rotate(2deg); opacity:.85 } 75% { transform: scale(1.05) rotate(-1deg); opacity:.95 } 100% { transform: scale(1) rotate(0deg); opacity:.9 } }
@keyframes ovs-shadow-sway { 0%,100% { transform: translateX(0) scaleX(1) } 50% { transform: translateX(4px) scaleX(1.1) } }

.scn-amphictyones-inscriptions {
  background:
    linear-gradient(180deg, #1e1e30 0%, #2a2a44 60%, #1a1a2a 100%),
    radial-gradient(ellipse at 50% 20%, #3a3a5e 0%, transparent 80%);
}
.scn-amphictyones-inscriptions .temple-bg { position:absolute; inset:0; background: linear-gradient(180deg, #2c2c44 0%, #1a1a2e 70%, #0e0e1e 100%); }
.scn-amphictyones-inscriptions .column-left { position:absolute; top:10%; left:15%; width:20px; height:70%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 6px; box-shadow: 0 0 12px rgba(0,0,0,.4); background: repeating-linear-gradient(90deg, #5a4a3a 0px, #4a3a2a 4px, #3a2a1a 4px); }
.scn-amphictyones-inscriptions .column-right { position:absolute; top:10%; right:15%; width:20px; height:70%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 6px; box-shadow: 0 0 12px rgba(0,0,0,.4); background: repeating-linear-gradient(90deg, #5a4a3a 0px, #4a3a2a 4px, #3a2a1a 4px); }
.scn-amphictyones-inscriptions .altar { position:absolute; bottom:20%; left:50%; transform:translateX(-50%); width:80px; height:30px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 6px; box-shadow: 0 4px 10px rgba(0,0,0,.5); }
.scn-amphictyones-inscriptions .inscription-block { position:absolute; bottom:35%; left:50%; transform:translateX(-50%); width:60px; height:40px; background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%); border-radius: 2px; box-shadow: inset 0 0 8px rgba(0,0,0,.6); animation: ai-block-glow 8s ease-in-out infinite alternate; }
.scn-amphictyones-inscriptions .inscription-lines { position:absolute; bottom:37%; left:50%; transform:translateX(-50%); width:50px; height:30px; background: repeating-linear-gradient(0deg, transparent 0px, transparent 4px, #8a7a5a 4px, #8a7a5a 6px, transparent 6px); opacity:.6; animation: ai-lines-breathe 10s ease-in-out infinite; }
.scn-amphictyones-inscriptions .brazier { position:absolute; bottom:30%; left:30%; width:20px; height:15px; background: radial-gradient(ellipse at 50% 30%, #6a4a2a 0%, #3a2a1a 100%); border-radius: 50%; box-shadow: 0 0 20px rgba(200,150,80,0.3); animation: ai-brazier-glow 3s ease-in-out infinite alternate; }
.scn-amphictyones-inscriptions .brazier-glow { position:absolute; bottom:30%; left:30%; width:40px; height:40px; margin-left:-10px; margin-bottom:10px; background: radial-gradient(circle, rgba(255,180,80,0.15) 0%, transparent 60%); animation: ai-glow-pulse 4s ease-in-out infinite; }
@keyframes ai-block-glow { 0%,100% { box-shadow: inset 0 0 8px rgba(0,0,0,.6), 0 0 4px rgba(200,180,100,0.1); } 50% { box-shadow: inset 0 0 12px rgba(0,0,0,.8), 0 0 12px rgba(200,180,100,0.3); } }
@keyframes ai-lines-breathe { 0%,100% { opacity:.4; } 50% { opacity:.7; } }
@keyframes ai-brazier-glow { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(0.95); } }
@keyframes ai-glow-pulse { 0%,100% { opacity:.6; } 50% { opacity:1; } }

.scn-recollect-terse-sayings {
  background:
    linear-gradient(180deg, #1c1c28 0%, #2a2a38 60%, #222230 100%),
    radial-gradient(ellipse at 70% 40%, #3a3a4a 0%, transparent 70%);
}
.scn-recollect-terse-sayings .study-bg { position:absolute; inset:0; background: linear-gradient(135deg, #2e2e3a 0%, #1e1e2a 50%, #14141e 100%); animaton: rts-bg-shift 14s ease-in-out infinite alternate; }
.scn-recollect-terse-sayings .desk { position:absolute; bottom:15%; left:5%; right:5%; height:40%; background: linear-gradient(180deg, #4a3a2e 0%, #2a1e14 100%); border-radius: 8px 8px 0 0; box-shadow: 0 -6px 12px rgba(0,0,0,.4); }
.scn-recollect-terse-sayings .book-spine { position:absolute; bottom:38%; left:15%; width:12px; height:50px; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 2px; box-shadow: 2px 0 4px rgba(0,0,0,.3); animation: rts-book-pulse 6s ease-in-out infinite; }
.scn-recollect-terse-sayings .scroll { position:absolute; bottom:50%; left:30%; width:70px; height:20px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a3a 100%); border-radius: 4px; transform: rotate(-5deg); box-shadow: 0 2px 6px rgba(0,0,0,.5); animation: rts-scroll-tilt 8s ease-in-out infinite; }
.scn-recollect-terse-sayings .hand { position:absolute; bottom:45%; left:42%; width:20px; height:30px; background: linear-gradient(180deg, #2a1e14 0%, #1a0e0a 100%); border-radius: 30% 30% 40% 40% / 50% 50% 40% 40%; transform-origin: bottom center; animation: rts-hand-trace 6s ease-in-out infinite; }
.scn-recollect-terse-sayings .lamp { position:absolute; bottom:55%; right:15%; width:18px; height:30px; background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); border-radius: 6px; }
.scn-recollect-terse-sayings .lamp-light { position:absolute; bottom:55%; right:15%; width:80px; height:80px; margin-left:-30px; margin-bottom:20px; background: radial-gradient(ellipse, rgba(255,200,100,0.08) 0%, rgba(255,200,100,0.02) 40%, transparent 60%); border-radius:50%; animation: rts-light-sway 5s ease-in-out infinite alternate; }
@keyframes rts-bg-shift { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes rts-book-pulse { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes rts-scroll-tilt { 0%,100% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-3deg) translateY(-2px); } }
@keyframes rts-hand-trace { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(4px) translateY(-2px) rotate(5deg); } 50% { transform: translateX(0) translateY(-4px) rotate(0deg); } 75% { transform: translateX(-4px) translateY(-2px) rotate(-5deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }
@keyframes rts-light-sway { 0% { transform: translateX(0) scale(1); opacity:.8; } 50% { transform: translateX(8px) scale(1.05); opacity:1; } 100% { transform: translateX(-8px) scale(0.95); opacity:.7; } }

.scn-restrain-talkative-habit {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2a2a40 50%, #1e1e30 100%),
    radial-gradient(ellipse at 50% 60%, #3a3a50 0%, transparent 70%);
}
.scn-restrain-talkative-habit .meeting-bg { position:absolute; inset:0; background: linear-gradient(180deg, #2c2c42 0%, #1c1c2e 100%); animation: rth-bg-pulse 16s ease-in-out infinite alternate; }
.scn-restrain-talkative-habit .table { position:absolute; bottom:20%; left:10%; right:10%; height:20%; background: linear-gradient(180deg, #4a3a2e 0%, #2a1e14 100%); border-radius: 10% 10% 0 0; box-shadow: 0 -4px 10px rgba(0,0,0,.5); }
.scn-restrain-talkative-habit .figure-left { position:absolute; bottom:30%; left:18%; width:30px; height:60px; background: linear-gradient(180deg, #1e1e2a 0%, #0a0a14 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: rth-listen 8s ease-in-out infinite; }
.scn-restrain-talkative-habit .figure-right { position:absolute; bottom:30%; right:18%; width:30px; height:60px; background: linear-gradient(180deg, #242436 0%, #141420 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: rth-speak 7s ease-in-out infinite; }
.scn-restrain-talkative-habit .hand-gesture { position:absolute; bottom:42%; left:38%; width:14px; height:16px; background: radial-gradient(ellipse, #3a2a1a 0%, #1a0e0a 100%); border-radius: 30% 30% 40% 40%; animation: rth-hand-motion 4s ease-in-out infinite; }
.scn-restrain-talkative-habit .candle-left { position:absolute; bottom:32%; left:30%; width:8px; height:24px; background: linear-gradient(180deg, #8a7a6a 0%, #4a3a2a 100%); border-radius: 4px; box-shadow: 0 0 12px rgba(200,150,80,0.2); animation: rth-candle-flicker 3s ease-in-out infinite; }
.scn-restrain-talkative-habit .candle-right { position:absolute; bottom:32%; right:30%; width:8px; height:24px; background: linear-gradient(180deg, #8a7a6a 0%, #4a3a2a 100%); border-radius: 4px; box-shadow: 0 0 12px rgba(200,150,80,0.2); animation: rth-candle-flicker 3s ease-in-out infinite 1.5s; }
.scn-restrain-talkative-habit .ambient-shadow { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 30%, transparent 40%, rgba(0,0,0,.4) 100%); animation: rth-shadow-shift 12s ease-in-out infinite; }
@keyframes rth-bg-pulse { 0%,100% { opacity:.85 } 50% { opacity:1 } }
@keyframes rth-listen { 0%,100% { transform: translateX(0) rotate(1deg); } 50% { transform: translateX(2px) rotate(-1deg); } }
@keyframes rth-speak { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-3px) rotate(2deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(-2px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes rth-hand-motion { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-4px) scale(1.1); } }
@keyframes rth-candle-flicker { 0%,100% { opacity:.8; transform: scaleY(1); } 25% { opacity:1; transform: scaleY(1.05); } 50% { opacity:.7; transform: scaleY(0.95); } 75% { opacity:.9; transform: scaleY(1.02); } }
@keyframes rth-shadow-shift { 0%,100% { opacity:.5; } 50% { opacity:.7; } }

.scn-education-procreation-wine {
  background: linear-gradient(180deg, #2b1e16 0%, #4a3025 40%, #3a251c 100%), radial-gradient(ellipse at 50% 20%, #6a4a35 0%, transparent 70%);
}
.scn-education-procreation-wine .room-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1e140f 0%, #2a1c14 100%);
  animation: epw1-fade 8s ease-in-out infinite alternate;
}
.scn-education-procreation-wine .room-wall {
  position: absolute; inset: 10% 5% 30% 5%; background: linear-gradient(180deg, #3d2b20 0%, #2a1c14 100%);
  border-radius: 4px; box-shadow: inset 0 0 30px rgba(0,0,0,0.6);
}
.scn-education-procreation-wine .window-dull {
  position: absolute; top: 15%; left: 60%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 4px 4px 2px 2px; box-shadow: 0 0 20px rgba(100,80,60,0.3);
  animation: epw1-window 6s ease-in-out infinite alternate;
}
.scn-education-procreation-wine .bed {
  position: absolute; bottom: 20%; left: 30%; width: 80px; height: 40px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 8px 8px 4px 4px; box-shadow: inset 0 -4px 8px rgba(0,0,0,0.5);
}
.scn-education-procreation-wine .figure-sit {
  position: absolute; bottom: 28%; left: 35%; width: 24px; height: 40px;
  background: linear-gradient(180deg, #1a100a 0%, #2a1a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: epw1-sit 5s ease-in-out infinite;
}
.scn-education-procreation-wine .bottle {
  position: absolute; bottom: 22%; left: 48%; width: 8px; height: 28px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  transform: rotate(-15deg);
}
.scn-education-procreation-wine .glass {
  position: absolute; bottom: 24%; left: 52%; width: 10px; height: 12px;
  background: linear-gradient(180deg, rgba(100,80,60,0.4) 0%, rgba(80,60,40,0.2) 100%);
  border-radius: 20% 20% 10% 10%; box-shadow: 0 0 6px rgba(80,60,40,0.3);
}

@keyframes epw1-fade { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes epw1-window { 0% { box-shadow: 0 0 10px rgba(100,80,60,0.2); } 50% { box-shadow: 0 0 25px rgba(100,80,60,0.5); } 100% { box-shadow: 0 0 15px rgba(100,80,60,0.3); } }
@keyframes epw1-sit { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-1px) rotate(1deg); } 50% { transform: translateY(0) rotate(-1deg); } 75% { transform: translateY(-1px) rotate(0deg); } 100% { transform: translateY(0) rotate(1deg); } }

.scn-education-diogenes-drunkard {
  background: linear-gradient(180deg, #f5e6c8 0%, #e8d5b0 50%, #d4b88a 100%), radial-gradient(ellipse at 50% 80%, #ffe8c0 0%, transparent 60%);
}
.scn-education-diogenes-drunkard .floor-bright {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #c8a87a 0%, #b08a60 100%);
  border-radius: 10% 10% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,0.1);
}
.scn-education-diogenes-drunkard .wall-bright {
  position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #ecdcc0 0%, #d8c8a8 100%);
}
.scn-education-diogenes-drunkard .window-sun {
  position: absolute; top: 12%; left: 70%; width: 50px; height: 60px;
  background: linear-gradient(180deg, #ffecb0 0%, #ffe090 100%);
  border-radius: 6px 6px 3px 3px; box-shadow: 0 0 30px #ffe090;
  animation: edd2-window 4s ease-in-out infinite alternate;
}
.scn-education-diogenes-drunkard .diogenes {
  position: absolute; bottom: 35%; left: 25%; width: 30px; height: 55px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: edd2-point 2s ease-in-out infinite;
}
.scn-education-diogenes-drunkard .youth-drunk {
  position: absolute; bottom: 30%; left: 50%; width: 28px; height: 50px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: edd2-stagger 1.5s ease-in-out infinite;
}
.scn-education-diogenes-drunkard .wine-cup {
  position: absolute; bottom: 28%; left: 55%; width: 12px; height: 16px;
  background: linear-gradient(180deg, #a0461a 0%, #7a3010 100%);
  border-radius: 30% 30% 20% 20%; box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  transform: rotate(20deg);
  animation: edd2-spill 2s ease-in-out infinite alternate;
}
.scn-education-diogenes-drunkard .table-small {
  position: absolute; bottom: 32%; left: 45%; width: 40px; height: 20px;
  background: linear-gradient(180deg, #8a7050 0%, #6a5030 100%);
  border-radius: 6px; box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

@keyframes edd2-window { 0% { opacity: 0.9; box-shadow: 0 0 20px #ffe090; } 50% { opacity: 1; box-shadow: 0 0 40px #ffd080; } 100% { opacity: 0.95; box-shadow: 0 0 25px #ffe090; } }
@keyframes edd2-point { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(4px) rotate(5deg); } 60% { transform: translateX(2px) rotate(-3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes edd2-stagger { 0% { transform: translateX(0) rotate(0deg) scale(1); } 25% { transform: translateX(-4px) rotate(-5deg) scale(0.95); } 50% { transform: translateX(3px) rotate(4deg) scale(1.02); } 75% { transform: translateX(-2px) rotate(-3deg) scale(0.98); } 100% { transform: translateX(0) rotate(0deg) scale(1); } }
@keyframes edd2-spill { 0% { transform: rotate(15deg) translateY(0); } 100% { transform: rotate(25deg) translateY(-2px); } }

.scn-education-perfection-three {
  background: linear-gradient(180deg, #f0e4d0 0%, #e0d0b8 50%, #c8b898 100%), radial-gradient(ellipse at 50% 20%, #fff8e8 0%, transparent 70%);
}
.scn-education-perfection-three .study-wall {
  position: absolute; inset: 0 0 35% 0; background: linear-gradient(180deg, #e8d8c0 0%, #d8c8a8 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.05);
}
.scn-education-perfection-three .study-window {
  position: absolute; top: 15%; left: 15%; width: 60px; height: 70px;
  background: linear-gradient(180deg, #fff5d0 0%, #ffe8b0 100%);
  border-radius: 6px; box-shadow: 0 0 30px rgba(255,232,176,0.5);
  animation: ept3-window 7s ease-in-out infinite alternate;
}
.scn-education-perfection-three .desk {
  position: absolute; bottom: 32%; left: 20%; right: 20%; height: 20px;
  background: linear-gradient(180deg, #a08060 0%, #806040 100%);
  border-radius: 4px 4px 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}
.scn-education-perfection-three .book-a {
  position: absolute; bottom: 38%; left: 28%; width: 22px; height: 30px;
  background: linear-gradient(180deg, #a0461a 0%, #803010 100%);
  border-radius: 2px; box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
  transform: rotate(-5deg);
  animation: ept3-book 10s ease-in-out infinite;
}
.scn-education-perfection-three .book-b {
  position: absolute; bottom: 38%; left: 38%; width: 20px; height: 28px;
  background: linear-gradient(180deg, #4a6a4a 0%, #2a4a2a 100%);
  border-radius: 2px; box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
  transform: rotate(3deg);
  animation: ept3-book 10s ease-in-out infinite reverse;
}
.scn-education-perfection-three .book-c {
  position: absolute; bottom: 38%; left: 48%; width: 24px; height: 32px;
  background: linear-gradient(180deg, #5a4a7a 0%, #3a2a5a 100%);
  border-radius: 2px; box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
  transform: rotate(-2deg);
  animation: ept3-book 10s ease-in-out infinite 2s;
}
.scn-education-perfection-three .lamp {
  position: absolute; bottom: 40%; left: 60%; width: 14px; height: 40px;
  background: linear-gradient(180deg, #b09070 0%, #907050 100%);
  border-radius: 4px 4px 0 0; box-shadow: 0 0 20px #ffe8b0;
}
.scn-education-perfection-three .light-ray {
  position: absolute; bottom: 40%; left: 55%; width: 40px; height: 120px;
  background: linear-gradient(180deg, rgba(255,232,176,0.15) 0%, transparent 100%);
  transform: rotate(15deg); transform-origin: top left;
  animation: ept3-ray 6s ease-in-out infinite alternate;
}

@keyframes ept3-window { 0% { opacity: 0.9; box-shadow: 0 0 20px rgba(255,232,176,0.4); } 50% { opacity: 1; box-shadow: 0 0 40px rgba(255,232,176,0.7); } 100% { opacity: 0.95; box-shadow: 0 0 25px rgba(255,232,176,0.5); } }
@keyframes ept3-book { 0% { transform: rotate(-5deg) scale(1); } 50% { transform: rotate(3deg) scale(1.02); } 100% { transform: rotate(-5deg) scale(1); } }
@keyframes ept3-ray { 0% { opacity: 0.3; } 50% { opacity: 0.6; } 100% { opacity: 0.4; } }

.scn-education-organicity {
  background: linear-gradient(180deg, #f5e0c0 0%, #e0c8a8 50%, #c8a888 100%), radial-gradient(ellipse at 50% 30%, #ffe8c0 0%, transparent 60%);
}
.scn-education-organicity .barn-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #b09070 0%, #907050 100%);
  border-radius: 20% 20% 0 0; box-shadow: inset 0 10px 30px rgba(0,0,0,0.1);
}
.scn-education-organicity .barn-wall {
  position: absolute; inset: 0 0 45% 0; background: linear-gradient(180deg, #d8c0a0 0%, #c0a880 100%);
  box-shadow: inset 0 0 30px rgba(0,0,0,0.08);
}
.scn-education-organicity .barn-window {
  position: absolute; top: 10%; left: 65%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #fff0c0 0%, #ffe0a0 100%);
  border-radius: 4px; box-shadow: 0 0 20px rgba(255,224,160,0.4);
  animation: eorg4-window 6s ease-in-out infinite alternate;
}
.scn-education-organicity .farmer {
  position: absolute; bottom: 35%; left: 30%; width: 30px; 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: eorg4-till 4s ease-in-out infinite;
}
.scn-education-organicity .plant-pot {
  position: absolute; bottom: 30%; left: 55%; width: 30px; height: 20px;
  background: linear-gradient(180deg, #8a6a3a 0%, #6a4a2a 100%);
  border-radius: 10% 10% 20% 20% / 20% 20% 30% 30%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
.scn-education-organicity .plant-stem {
  position: absolute; bottom: 40%; left: 57%; width: 4px; height: 30px;
  background: linear-gradient(180deg, #5a8a3a 0%, #3a6a2a 100%);
  border-radius: 50%;
  transform-origin: bottom center;
  animation: eorg4-grow 5s ease-in-out infinite alternate;
}
.scn-education-organicity .sun-beam {
  position: absolute; top: 0; left: 55%; width: 60px; height: 100%;
  background: linear-gradient(180deg, rgba(255,224,160,0.2) 0%, transparent 100%);
  transform: skewX(-10deg); transform-origin: top left;
  animation: eorg4-beam 8s ease-in-out infinite alternate;
}

@keyframes eorg4-window { 0% { opacity: 0.9; box-shadow: 0 0 15px rgba(255,224,160,0.3); } 50% { opacity: 1; box-shadow: 0 0 30px rgba(255,224,160,0.6); } 100% { opacity: 0.95; box-shadow: 0 0 20px rgba(255,224,160,0.4); } }
@keyframes eorg4-till { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(3deg); } 75% { transform: translateY(0) rotate(-2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes eorg4-grow { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.1); } 100% { transform: scaleY(1); } }
@keyframes eorg4-beam { 0% { opacity: 0.3; transform: skewX(-10deg); } 50% { opacity: 0.6; transform: skewX(-5deg); } 100% { opacity: 0.4; transform: skewX(-10deg); } }

/* curtail-talkativeness-answer-track */
.scn-cta { 
  background: linear-gradient(180deg, #1c140c 0%, #2a1e12 40%, #3a2a1a 100%),
              radial-gradient(ellipse at 50% 80%, #4a3a22 0%, transparent 60%);
}
.scn-cta .wall { position:absolute; inset:0; background: linear-gradient(180deg, #1c140c 0%, #22180e 60%); }
.scn-cta .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a1e12 0%, #1a120a 100%); }
.scn-cta .desk { position:absolute; bottom:20%; left:15%; right:15%; height:10%; background: linear-gradient(180deg, #4a3a22 0%, #3a2a1a 100%); border-radius: 4px; box-shadow: 0 -2px 8px rgba(0,0,0,.5); }
.scn-cta .paper { position:absolute; bottom:30%; left:35%; width:100px; height:120px; background: linear-gradient(135deg, #d4b888 0%, #c4a868 100%); border-radius: 3px; box-shadow: 2px 2px 6px rgba(0,0,0,.3); transform: rotate(-2deg); animation: cta-paper 6s ease-in-out infinite alternate; }
.scn-cta .circle-drawn { position:absolute; bottom:40%; left:42%; width:40px; height:40px; border: 2px solid #8a6a3a; border-radius:50%; background: transparent; transform: rotate(15deg); animation: cta-circle 10s linear infinite; }
.scn-cta .quill { position:absolute; bottom:35%; left:30%; width:4px; height:80px; background: linear-gradient(180deg, #c4a868 0%, #6a4a2a 100%); border-radius: 2px 2px 0 0; transform: rotate(-30deg); transform-origin: bottom center; animation: cta-quill 4s ease-in-out infinite; }
.scn-cta .lamp { position:absolute; left:55%; top:10%; width:30px; height:50px; background: linear-gradient(180deg, #b08040 0%, #6a4a2a 100%); border-radius: 50% 50% 20% 20% / 30% 30% 70% 70%; box-shadow: 0 0 30px 10px rgba(192,128,64,.5), 0 0 60px 20px rgba(192,128,64,.2); animation: cta-lamp 3s ease-in-out infinite alternate; }
.scn-cta .figure { position:absolute; bottom:22%; left:25%; width:20px; height:80px; background: linear-gradient(180deg, #1a120a 0%, #0e0a06 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform: rotate(-3deg); animation: cta-figure 8s ease-in-out infinite; }
@keyframes cta-paper { 0% { transform: rotate(-2deg) scale(1); } 50% { transform: rotate(-4deg) scale(1.02); } 100% { transform: rotate(0deg) scale(0.98); } }
@keyframes cta-circle { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes cta-quill { 0%,100% { transform: rotate(-30deg) translateY(0); } 50% { transform: rotate(-20deg) translateY(-3px); } }
@keyframes cta-lamp { 0% { opacity:0.7; box-shadow:0 0 20px 6px rgba(192,128,64,.4); } 50% { opacity:1; box-shadow:0 0 40px 14px rgba(255,200,100,.6); } 100% { opacity:0.8; box-shadow:0 0 25px 8px rgba(192,128,64,.4); } }
@keyframes cta-figure { 0%,100% { transform: rotate(-3deg) translateX(0); } 50% { transform: rotate(0deg) translateX(2px); } }

/* socrates-avoid-tempting-foods */
.scn-saf {
  background: linear-gradient(180deg, #1c140c 0%, #2a1e12 50%, #3a2a1a 100%),
              radial-gradient(ellipse at 40% 70%, #4a3a22 0%, transparent 70%);
}
.scn-saf .bg-wall { position:absolute; inset:0; background: linear-gradient(180deg, #1c140c, #22180e 60%); }
.scn-saf .table { position:absolute; bottom:15%; left:10%; right:10%; height:12%; background: linear-gradient(180deg, #4a3a22 0%, #3a2a1a 100%); border-radius: 6px; box-shadow: 0 -3px 10px rgba(0,0,0,.4); }
.scn-saf .plate { position:absolute; bottom:32%; left:35%; width:80px; height:16px; background: #d4b888; border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,.3); }
.scn-saf .food-item { position:absolute; width:12px; height:12px; border-radius:50%; background: radial-gradient(circle, #c08040 0%, #8a5a2a 100%); }
.scn-saf .food-1 { bottom:38%; left:37%; animation: saf-food1 6s ease-in-out infinite; }
.scn-saf .food-2 { bottom:36%; left:45%; animation: saf-food2 7s ease-in-out infinite 0.3s; }
.scn-saf .food-3 { bottom:40%; left:42%; animation: saf-food3 5s ease-in-out infinite 0.6s; }
.scn-saf .socrates { position:absolute; bottom:22%; left:55%; width:24px; height:90px; background: linear-gradient(180deg, #0e0a06 0%, #1a120a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: saf-socrates 10s ease-in-out infinite; }
.scn-saf .hand-raised { position:absolute; bottom:60%; left:58%; width:16px; height:30px; background: #1a120a; border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform: rotate(30deg); transform-origin: bottom left; animation: saf-hand 4s ease-in-out infinite; }
@keyframes saf-food1 { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@keyframes saf-food2 { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-6px) rotate(15deg); } }
@keyframes saf-food3 { 0%,100% { transform: scale(1); } 50% { transform: scale(1.3); } }
@keyframes saf-socrates { 0%,100% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(2px) rotate(-2deg); } 75% { transform: translateX(-2px) rotate(2deg); } }
@keyframes saf-hand { 0%,100% { transform: rotate(30deg) translateX(0); } 50% { transform: rotate(45deg) translateX(3px); } }

/* delight-has-voice-leads-tongue */
.scn-dhl {
  background: linear-gradient(180deg, #1c1410 0%, #2a1e16 50%, #3a2a1e 100%),
              radial-gradient(ellipse at 50% 30%, #4a3824 0%, transparent 60%);
}
.scn-dhl .bg-dark { position:absolute; inset:0; background: linear-gradient(180deg, #1c1410, #221812 70%); }
.scn-dhl .profile { position:absolute; bottom:15%; left:30%; width:30px; height:80px; background: #1a120a; border-radius: 60% 20% 40% 40% / 70% 40% 60% 40%; transform: rotate(-5deg); animation: dhl-profile 8s ease-in-out infinite; }
.scn-dhl .mouth { position:absolute; bottom:45%; left:33%; width:10px; height:6px; background: #0e0a06; border-radius: 0 0 50% 50%; transform: rotate(20deg); animation: dhl-mouth 3s ease-in-out infinite; }
.scn-dhl .sound-wave { position:absolute; height:4px; background: linear-gradient(90deg, rgba(200,160,100,.6) 0%, transparent 100%); border-radius: 2px; filter: blur(1px); }
.scn-dhl .wave-1 { bottom:50%; left:38%; width:50px; animation: dhl-wave1 4s ease-in-out infinite; }
.scn-dhl .wave-2 { bottom:45%; left:40%; width:70px; animation: dhl-wave2 5s ease-in-out infinite 0.5s; }
.scn-dhl .wave-3 { bottom:40%; left:36%; width:40px; animation: dhl-wave3 6s ease-in-out infinite 1s; }
.scn-dhl .sparkle { position:absolute; width:6px; height:6px; background: radial-gradient(circle, #ffd060, transparent); border-radius:50%; filter: blur(1px); }
.scn-dhl .spark-1 { top:30%; left:50%; animation: dhl-spark1 3s ease-in-out infinite; }
.scn-dhl .spark-2 { top:40%; left:60%; animation: dhl-spark2 4s ease-in-out infinite 0.2s; }
@keyframes dhl-profile { 0%,100% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-3deg) translateY(-2px); } }
@keyframes dhl-mouth { 0%,100% { transform: rotate(20deg) scaleY(1); } 50% { transform: rotate(15deg) scaleY(1.5); } }
@keyframes dhl-wave1 { 0% { opacity:0.3; transform: scaleX(0.8); } 50% { opacity:0.8; transform: scaleX(1.2); } 100% { opacity:0.3; transform: scaleX(0.9); } }
@keyframes dhl-wave2 { 0% { opacity:0.2; transform: scaleX(0.9); } 50% { opacity:0.7; transform: scaleX(1.3); } 100% { opacity:0.2; transform: scaleX(1); } }
@keyframes dhl-wave3 { 0% { opacity:0.2; transform: scaleX(0.7); } 50% { opacity:0.9; transform: scaleX(1.1); } 100% { opacity:0.2; transform: scaleX(0.8); } }
@keyframes dhl-spark1 { 0%,100% { opacity:0; transform: scale(0.5); } 50% { opacity:1; transform: scale(1.5); } }
@keyframes dhl-spark2 { 0%,100% { opacity:0; transform: scale(0.3); } 50% { opacity:0.8; transform: scale(1.2); } }

/* self-appreciative-fond-fame-topic */
.scn-sff {
  background: linear-gradient(180deg, #1c1410 0%, #2a1e16 50%, #3a2a1e 100%),
              radial-gradient(ellipse at 50% 50%, #4a3824 0%, transparent 70%);
}
.scn-sff .bg-shadow { position:absolute; inset:0; background: linear-gradient(180deg, #1c1410 0%, #221812 50%, #1a120a 100%); }
.scn-sff .mirror-frame { position:absolute; top:10%; left:30%; width:180px; height:240px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 6px; box-shadow: 0 4px 12px rgba(0,0,0,.5); }
.scn-sff .mirror-glass { position:absolute; top:12%; left:32%; width:164px; height:224px; background: linear-gradient(180deg, rgba(180,140,80,.05) 0%, rgba(180,140,80,.02) 100%), radial-gradient(circle at 30% 40%, rgba(255,220,160,.15) 0%, transparent 60%); border-radius: 4px; box-shadow: inset 0 0 20px rgba(0,0,0,.3); overflow: hidden; }
.scn-sff .reflection { position:absolute; top:12%; left:32%; width:164px; height:224px; background: linear-gradient(180deg, rgba(30,20,12,.6) 0%, rgba(20,14,8,.4) 100%); border-radius: 4px; opacity:0.5; animation: sff-reflection 8s ease-in-out infinite; }
.scn-sff .figure-admire { position:absolute; bottom:20%; left:25%; width:30px; height:100px; background: linear-gradient(180deg, #1a120a 0%, #0e0a06 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: sff-figure 12s ease-in-out infinite; }
.scn-sff .glow-spot { position:absolute; top:15%; left:35%; width:80px; height:80px; background: radial-gradient(circle, rgba(200,160,100,.2) 0%, transparent 70%); border-radius:50%; animation: sff-glow 6s ease-in-out infinite; }
.scn-sff .shadow-floor { position:absolute; bottom:0; left:20%; right:20%; height:20%; background: linear-gradient(180deg, transparent 0%, #0a0604 100%); animation: sff-shadow 10s ease-in-out infinite; }
@keyframes sff-reflection { 0%,100% { opacity:0.4; } 50% { opacity:0.6; } }
@keyframes sff-figure { 0%,100% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(3px) rotate(2deg); } }
@keyframes sff-glow { 0%,100% { opacity:0.3; transform: scale(0.9); } 50% { opacity:0.8; transform: scale(1.2); } }
@keyframes sff-shadow { 0%,100% { opacity:0.7; } 50% { opacity:1; } }

/* Calm, dim-interior scenes derived from source context */

/* 1. chameleon-colours-aristotle – scholar’s study, warm terracotta + amber */
.scn-chameleon-colours-aristotle {
  background: linear-gradient(180deg, #2d1f1b 0%, #4a3229 40%, #3d2b23 80%), radial-gradient(ellipse at 35% 60%, #6b4d3a 0%, transparent 70%);
}
.scn-chameleon-colours-aristotle .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #4a3229 0%, #2d1f1b 100%);
  animation: ch-wall 20s ease-in-out infinite alternate;
}
.scn-chameleon-colours-aristotle .desk {
  position: absolute; bottom: 20%; left: 20%; width: 55%; height: 18%;
  background: linear-gradient(180deg, #6b4d3a 0%, #3d2b23 100%);
  border-radius: 4px; box-shadow: 0 -4px 12px rgba(0,0,0,0.5);
  animation: ch-desk 14s ease-in-out infinite alternate;
}
.scn-chameleon-colours-aristotle .book {
  position: absolute; bottom: 30%; left: 48%; width: 8%; height: 6%;
  background: linear-gradient(180deg, #8a6e55 0%, #5a3e2f 100%);
  border-radius: 2px; box-shadow: 2px 2px 4px rgba(0,0,0,0.4);
  animation: ch-book 9s ease-in-out infinite;
}
.scn-chameleon-colours-aristotle .lamp {
  position: absolute; bottom: 36%; left: 35%; width: 4%; height: 6%;
  background: radial-gradient(circle, #ffd68a 0%, #b87a4a 100%);
  border-radius: 50% 50% 30% 30%; box-shadow: 0 0 24px 10px #ffd68a, 0 0 40px 20px rgba(255,214,138,0.3);
  animation: ch-lamp 4s ease-in-out infinite alternate;
}
.scn-chameleon-colours-aristotle .chameleon {
  position: absolute; bottom: 30%; left: 52%; width: 6%; height: 10%;
  background: linear-gradient(180deg, #7a9a6a 0%, #3a5a3a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: ch-chameleon 6s ease-in-out infinite;
}
.scn-chameleon-colours-aristotle .shadow {
  position: absolute; bottom: 18%; left: 15%; width: 70%; height: 4%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 100%);
  animation: ch-shadow 12s ease-in-out infinite alternate;
}
@keyframes ch-wall { 0% { opacity: 0.85; } 50% { opacity: 0.95; } 100% { opacity: 0.8; } }
@keyframes ch-desk { 0% { transform: scaleY(1) translateY(0); } 50% { transform: scaleY(1.02) translateY(-2px); } 100% { transform: scaleY(1) translateY(0); } }
@keyframes ch-book { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(1px) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes ch-lamp { 0% { box-shadow: 0 0 18px 8px #ffd68a, 0 0 32px 14px rgba(255,214,138,0.2); opacity: 0.9; } 50% { box-shadow: 0 0 28px 14px #ffd68a, 0 0 48px 24px rgba(255,214,138,0.4); opacity: 1; } 100% { box-shadow: 0 0 22px 10px #ffd68a, 0 0 36px 18px rgba(255,214,138,0.3); opacity: 0.92; } }
@keyframes ch-chameleon { 0% { transform: translateX(0) rotate(-2deg) scaleY(1); } 30% { transform: translateX(4px) rotate(1deg) scaleY(1.05); } 70% { transform: translateX(-2px) rotate(-1deg) scaleY(0.95); } 100% { transform: translateX(0) rotate(0deg) scaleY(1); } }
@keyframes ch-shadow { 0% { opacity: 0.5; transform: scaleX(1); } 50% { opacity: 0.7; transform: scaleX(1.1); } 100% { opacity: 0.6; transform: scaleX(1); } }

/* 2. menander-wife-appropriate – dining room, rustic ochre + bronze */
.scn-menander-wife-appropriate {
  background: linear-gradient(180deg, #2a241c 0%, #4c3b2a 40%, #3a2d1e 80%), radial-gradient(ellipse at 60% 50%, #7a5a3a 0%, transparent 60%);
}
.scn-menander-wife-appropriate .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #4c3b2a 0%, #2a1e14 100%);
  animation: me-floor 18s ease-in-out infinite alternate;
}
.scn-menander-wife-appropriate .table {
  position: absolute; bottom: 18%; left: 10%; width: 80%; height: 12%;
  background: linear-gradient(180deg, #8a6a44 0%, #4c3b2a 100%);
  border-radius: 6px; box-shadow: 0 -6px 16px rgba(0,0,0,0.5);
  animation: me-table 15s ease-in-out infinite alternate;
}
.scn-menander-wife-appropriate .cup {
  position: absolute; bottom: 26%; left: 48%; width: 6%; height: 8%;
  background: linear-gradient(180deg, #b08a5a 0%, #6a4e2e 100%);
  border-radius: 10% 10% 30% 30%; box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: me-cup 6s ease-in-out infinite;
}
.scn-menander-wife-appropriate .couch {
  position: absolute; bottom: 10%; left: 55%; width: 30%; height: 14%;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1e18 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  box-shadow: inset 0 4px 12px rgba(0,0,0,0.3);
  animation: me-couch 20s ease-in-out infinite alternate;
}
.scn-menander-wife-appropriate .figure {
  position: absolute; bottom: 16%; left: 60%; width: 10%; height: 18%;
  background: linear-gradient(180deg, #1e1612 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: me-figure 9s ease-in-out infinite;
}
.scn-menander-wife-appropriate .lamp-hang {
  position: absolute; top: 12%; left: 40%; width: 3%; height: 8%;
  background: linear-gradient(180deg, #6a4e2e 0%, #3a2a1a 100%);
  border-radius: 4px;
  animation: me-lamp-hang 5s ease-in-out infinite alternate;
}
.scn-menander-wife-appropriate .light-cone {
  position: absolute; top: 20%; left: 30%; width: 40%; height: 40%;
  background: linear-gradient(180deg, rgba(255, 214, 138, 0.15) 0%, transparent 100%);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  animation: me-light-cone 12s ease-in-out infinite alternate;
}
@keyframes me-floor { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes me-table { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-1px) scaleX(1.01); } 100% { transform: translateY(0) scaleX(1); } }
@keyframes me-cup { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(2px) rotate(3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes me-couch { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes me-figure { 0% { transform: translateX(0) rotate(-2deg) scaleY(1); } 25% { transform: translateX(3px) rotate(1deg) scaleY(1.02); } 50% { transform: translateX(6px) rotate(-1deg) scaleY(1); } 75% { transform: translateX(3px) rotate(1deg) scaleY(0.98); } 100% { transform: translateX(0) rotate(0deg) scaleY(1); } }
@keyframes me-lamp-hang { 0% { transform: rotate(-2deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-1deg); } }
@keyframes me-light-cone { 0% { opacity: 0.6; } 50% { opacity: 0.9; } 100% { opacity: 0.7; } }

/* 3. iliad-viii-281 – tent interior, muted bronze + indigo */
.scn-iliad-viii-281 {
  background: linear-gradient(180deg, #1e1e2a 0%, #2a2a38 40%, #1a1a22 80%), radial-gradient(ellipse at 50% 60%, #3a3a4a 0%, transparent 70%);
}
.scn-iliad-viii-281 .tent-wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #2a2a38 0%, #1a1a22 100%);
  animation: il-wall 24s ease-in-out infinite alternate;
}
.scn-iliad-viii-281 .brazier {
  position: absolute; bottom: 18%; left: 45%; width: 10%; height: 12%;
  background: radial-gradient(circle, #ff8a4a 0%, #b84a1a 60%, #3a1a0a 100%);
  border-radius: 50% 50% 20% 20%; box-shadow: 0 0 32px 16px #ff8a4a, 0 0 60px 30px rgba(255,138,74,0.3);
  animation: il-brazier 5s ease-in-out infinite alternate;
}
.scn-iliad-viii-281 .shield {
  position: absolute; top: 18%; left: 20%; width: 16%; height: 20%;
  background: radial-gradient(circle, #8a7a5a 0%, #4a3a2a 70%);
  border-radius: 50%; box-shadow: inset 0 0 20px rgba(0,0,0,0.5), 0 4px 12px rgba(0,0,0,0.4);
  animation: il-shield 10s ease-in-out infinite alternate;
}
.scn-iliad-viii-281 .spear {
  position: absolute; bottom: 30%; right: 22%; width: 2%; height: 40%;
  background: linear-gradient(180deg, #8a7a5a 0%, #4a3a2a 100%);
  border-radius: 2px; transform-origin: bottom center;
  animation: il-spear 7s ease-in-out infinite alternate;
}
.scn-iliad-viii-281 .helmet {
  position: absolute; bottom: 24%; left: 28%; width: 10%; height: 10%;
  background: linear-gradient(180deg, #8a7a5a 0%, #5a4a3a 100%);
  border-radius: 60% 60% 30% 30% / 80% 80% 20% 20%;
  box-shadow: inset 0 2px 8px rgba(0,0,0,0.3);
  animation: il-helmet 12s ease-in-out infinite;
}
.scn-iliad-viii-281 .glow-floor {
  position: absolute; bottom: 15%; left: 35%; width: 30%; height: 6%;
  background: radial-gradient(ellipse, rgba(255,138,74,0.2) 0%, transparent 100%);
  animation: il-glow-floor 6s ease-in-out infinite alternate;
}
@keyframes il-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes il-brazier { 0% { box-shadow: 0 0 20px 10px #ff8a4a, 0 0 40px 20px rgba(255,138,74,0.2); opacity: 0.85; } 50% { box-shadow: 0 0 40px 20px #ff8a4a, 0 0 80px 40px rgba(255,138,74,0.4); opacity: 1; } 100% { box-shadow: 0 0 28px 14px #ff8a4a, 0 0 56px 28px rgba(255,138,74,0.3); opacity: 0.9; } }
@keyframes il-shield { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-4px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes il-spear { 0% { transform: rotate(-2deg) scaleY(1); } 50% { transform: rotate(1deg) scaleY(1.02); } 100% { transform: rotate(-1deg) scaleY(1); } }
@keyframes il-helmet { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(3deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes il-glow-floor { 0% { opacity: 0.5; transform: scaleX(1); } 50% { opacity: 0.8; transform: scaleX(1.1); } 100% { opacity: 0.6; transform: scaleX(1); } }

/* 4. thucydides-iii-82 – temple chamber, deep plum + amber */
.scn-thucydides-iii-82 {
  background: linear-gradient(180deg, #1a1420 0%, #2a1e30 40%, #1e1624 80%), radial-gradient(ellipse at 40% 50%, #4a2e44 0%, transparent 70%);
}
.scn-thucydides-iii-82 .temple-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a1e30 0%, #1a1420 100%);
  animation: th-wall 22s ease-in-out infinite alternate;
}
.scn-thucydides-iii-82 .altar {
  position: absolute; bottom: 15%; left: 35%; width: 30%; height: 16%;
  background: linear-gradient(180deg, #5a3a4a 0%, #2a1a2a 100%);
  border-radius: 10% 10% 6% 6%; box-shadow: 0 -4px 16px rgba(0,0,0,0.5);
  animation: th-altar 16s ease-in-out infinite alternate;
}
.scn-thucydides-iii-82 .statue {
  position: absolute; bottom: 30%; left: 38%; width: 8%; height: 20%;
  background: linear-gradient(180deg, #6a4a5a 0%, #3a2a3a 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  transform-origin: bottom center;
  animation: th-statue 14s ease-in-out infinite alternate;
}
.scn-thucydides-iii-82 .torch {
  position: absolute; bottom: 35%; left: 28%; width: 3%; height: 12%;
  background: linear-gradient(180deg, #ffb86a 0%, #b86a2a 100%);
  border-radius: 2px; box-shadow: 0 0 20px 10px #ffb86a, 0 0 40px 20px rgba(255,184,106,0.3);
  animation: th-torch 4s ease-in-out infinite alternate;
}
.scn-thucydides-iii-82 .curtain {
  position: absolute; top: 0; left: 0; width: 20%; height: 100%;
  background: linear-gradient(180deg, #4a2e44 0%, #2a1a2a 100%);
  border-radius: 0 60% 0 0 / 0 40% 0 0;
  animation: th-curtain 20s ease-in-out infinite alternate;
}
.scn-thucydides-iii-82 .smoke {
  position: absolute; top: 10%; left: 30%; width: 12%; height: 20%;
  background: radial-gradient(ellipse, rgba(200,180,160,0.1) 0%, transparent 100%);
  filter: blur(8px);
  animation: th-smoke 18s ease-in-out infinite alternate;
}
@keyframes th-wall { 0% { opacity: 0.85; } 50% { opacity: 0.95; } 100% { opacity: 0.8; } }
@keyframes th-altar { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(1.01); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes th-statue { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(2px) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes th-torch { 0% { box-shadow: 0 0 14px 6px #ffb86a, 0 0 28px 12px rgba(255,184,106,0.2); opacity: 0.9; } 50% { box-shadow: 0 0 28px 14px #ffb86a, 0 0 48px 24px rgba(255,184,106,0.4); opacity: 1; } 100% { box-shadow: 0 0 18px 8px #ffb86a, 0 0 32px 16px rgba(255,184,106,0.3); opacity: 0.92; } }
@keyframes th-curtain { 0% { transform: translateX(0); } 50% { transform: translateX(-4px); } 100% { transform: translateX(0); } }
@keyframes th-smoke { 0% { transform: translateY(0) scale(1) rotate(0deg); opacity: 0.3; } 50% { transform: translateY(-6px) scale(1.1) rotate(5deg); opacity: 0.5; } 100% { transform: translateY(0) scale(1) rotate(0deg); opacity: 0.35; } }

.scn-all-things-learned-except-virtue { background: linear-gradient(180deg, #f5e6d0 0%, #dcc4a8 40%, #c4a888 100%), radial-gradient(ellipse at 70% 30%, #fff8ee 0%, transparent 60%); }
.scn-all-things-learned-except-virtue .room-bg { position: absolute; inset: 0; background: linear-gradient(135deg, #e8d8c0 0%, #d4bca0 100%); }
.scn-all-things-learned-except-virtue .window-light { position: absolute; top: 8%; left: 60%; width: 100px; height: 140px; background: radial-gradient(ellipse at 50% 50%, #fff5e0 0%, #e8d8c0 80%); border-radius: 10% 10% 5% 5%; box-shadow: 0 0 60px 20px rgba(255,245,224,0.3); animation: si1-window 8s ease-in-out infinite alternate; }
.scn-all-things-learned-except-virtue .bookshelf { position: absolute; bottom: 20%; left: 5%; width: 28%; height: 55%; background: linear-gradient(180deg, #8b6f4e 0%, #5a4026 100%); border-radius: 4%; box-shadow: inset 0 2px 8px rgba(0,0,0,0.3); display: flex; flex-direction: column; justify-content: space-around; }
.scn-all-things-learned-except-virtue .bookshelf::before { content: ''; position: absolute; top: 10%; left: 10%; width: 80%; height: 6px; background: #3d2b1a; border-radius: 2px; box-shadow: 0 30px 0 #3d2b1a, 0 60px 0 #3d2b1a, 0 90px 0 #3d2b1a, 0 120px 0 #3d2b1a; }
.scn-all-things-learned-except-virtue .harp { position: absolute; bottom: 15%; left: 45%; width: 60px; height: 180px; background: linear-gradient(0deg, #a08060 0%, #d4b080 100%); border-radius: 20% 20% 10% 10% / 30% 30% 20% 20%; transform: skewX(-5deg); box-shadow: -4px 0 10px rgba(0,0,0,0.2); animation: si1-harp 12s ease-in-out infinite; }
.scn-all-things-learned-except-virtue .harp::after { content: ''; position: absolute; top: 5%; left: 50%; width: 2px; height: 90%; background: #c0a080; transform: translateX(-50%); box-shadow: -10px 0 0 #c0a080, 10px 0 0 #c0a080, -5px 0 0 #b09070, 5px 0 0 #b09070; }
.scn-all-things-learned-except-virtue .desk { position: absolute; bottom: 10%; right: 10%; width: 35%; height: 20%; background: linear-gradient(180deg, #b09070 0%, #7a5a3a 100%); border-radius: 5% 5% 0 0; box-shadow: 0 6px 12px rgba(0,0,0,0.3); }
.scn-all-things-learned-except-virtue .chair { position: absolute; bottom: 8%; right: 20%; width: 40px; height: 60px; background: linear-gradient(180deg, #8a6a4a 0%, #5a3a1a 100%); border-radius: 40% 40% 10% 10% / 60% 60% 20% 20%; transform: rotate(5deg); animation: si1-chair 4s ease-in-out infinite alternate; }
.scn-all-things-learned-except-virtue .scroll { position: absolute; top: 30%; right: 25%; width: 80px; height: 12px; background: linear-gradient(0deg, #f0e0c0 0%, #d4b88a 100%); border-radius: 50%; transform: rotate(10deg); box-shadow: 0 2px 4px rgba(0,0,0,0.1); animation: si1-scroll 6s ease-in-out infinite; }
.scn-all-things-learned-except-virtue .kylix { position: absolute; bottom: 18%; right: 18%; width: 30px; height: 20px; background: linear-gradient(180deg, #e0c090 0%, #b09070 100%); border-radius: 0 0 50% 50%; box-shadow: 0 -2px 4px rgba(0,0,0,0.1); animation: si1-kylix 6s ease-in-out infinite alternate; }
@keyframes si1-window { 0% { opacity: 0.85; transform: scale(1); } 50% { opacity: 1; transform: scale(1.02); } 100% { opacity: 0.9; transform: scale(0.98); } }
@keyframes si1-harp { 0%, 100% { transform: skewX(-5deg) translateY(0); } 50% { transform: skewX(-3deg) translateY(-3px); } }
@keyframes si1-chair { 0% { transform: rotate(5deg) translateY(0); } 100% { transform: rotate(3deg) translateY(-2px); } }
@keyframes si1-scroll { 0%, 100% { transform: rotate(10deg) translateX(0); } 50% { transform: rotate(8deg) translateX(5px); } }
@keyframes si1-kylix { 0% { transform: translateY(0) rotate(0deg); } 100% { transform: translateY(-2px) rotate(3deg); } }

.scn-virtue-unreal-if-unteachable { background: linear-gradient(180deg, #e8dcc0 0%, #d0b89a 40%, #b09878 100%), radial-gradient(ellipse at 80% 20%, #ffe8d0 0%, transparent 60%); }
.scn-virtue-unreal-if-unteachable .room-bg { position: absolute; inset: 0; background: linear-gradient(135deg, #dcc8a8 0%, #c4a888 100%); }
.scn-virtue-unreal-if-unteachable .window-shadow { position: absolute; top: 5%; left: 10%; width: 120px; height: 160px; background: radial-gradient(ellipse at 50% 50%, #2a2a2a 0%, transparent 70%); opacity: 0.3; animation: si2-shadow 10s ease-in-out infinite alternate; }
.scn-virtue-unreal-if-unteachable .lyre { position: absolute; bottom: 30%; left: 50%; width: 80px; height: 120px; background: linear-gradient(0deg, #a08060 0%, #d4b080 100%); border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%; transform: translateX(-50%) rotate(-10deg); box-shadow: -8px 4px 20px rgba(0,0,0,0.4); animation: si2-lyre 3s ease-in-out infinite; }
.scn-virtue-unreal-if-unteachable .broken-string { position: absolute; bottom: 40%; left: 48%; width: 2px; height: 80px; background: transparent; border-left: 2px dashed #c0a080; transform: rotate(15deg); animation: si2-string 1.5s ease-in-out infinite; }
.scn-virtue-unreal-if-unteachable .broken-string::after { content: ''; position: absolute; bottom: 0; left: -4px; width: 10px; height: 4px; background: #b09070; border-radius: 50%; }
.scn-virtue-unreal-if-unteachable .figure-left { position: absolute; bottom: 20%; left: 20%; width: 60px; height: 140px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform: rotate(5deg); animation: si2-figure-left 4s ease-in-out infinite; }
.scn-virtue-unreal-if-unteachable .figure-right { position: absolute; bottom: 20%; right: 20%; width: 60px; height: 140px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform: rotate(-5deg); animation: si2-figure-right 4s ease-in-out infinite; }
.scn-virtue-unreal-if-unteachable .discord-aura { position: absolute; top: 30%; left: 45%; width: 120px; height: 120px; background: radial-gradient(circle, rgba(200,80,40,0.2) 0%, transparent 60%); border-radius: 50%; animation: si2-aura 2s ease-in-out infinite alternate; }
@keyframes si2-shadow { 0% { transform: scale(1); opacity: 0.25; } 100% { transform: scale(1.1); opacity: 0.4; } }
@keyframes si2-lyre { 0%, 100% { transform: translateX(-50%) rotate(-10deg); } 50% { transform: translateX(-50%) rotate(-8deg) translateY(5px); } }
@keyframes si2-string { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; transform: rotate(20deg); } }
@keyframes si2-figure-left { 0% { transform: rotate(5deg) translateX(0); } 50% { transform: rotate(8deg) translateX(-5px); } 100% { transform: rotate(5deg) translateX(0); } }
@keyframes si2-figure-right { 0% { transform: rotate(-5deg) translateX(0); } 50% { transform: rotate(-8deg) translateX(5px); } 100% { transform: rotate(-5deg) translateX(0); } }
@keyframes si2-aura { 0% { opacity: 0.5; transform: scale(1); } 100% { opacity: 0.8; transform: scale(1.2); } }

.scn-everyone-thinks-competent-for-house { background: linear-gradient(180deg, #e0d4b8 0%, #c8b898 40%, #b09878 100%), radial-gradient(ellipse at 30% 70%, #ffe8d0 0%, transparent 60%); }
.scn-everyone-thinks-competent-for-house .room-bg { position: absolute; inset: 0; background: linear-gradient(135deg, #d8c8a8 0%, #c0a888 100%); }
.scn-everyone-thinks-competent-for-house .loom { position: absolute; bottom: 10%; left: 15%; width: 160px; height: 180px; background: linear-gradient(90deg, #6a4a2a 0%, #8a6a4a 50%, #6a4a2a 100%); border-radius: 10% 10% 5% 5% / 20% 20% 10% 10%; box-shadow: 0 8px 16px rgba(0,0,0,0.3); animation: si3-loom 6s ease-in-out infinite; }
.scn-everyone-thinks-competent-for-house .loom::before { content: ''; position: absolute; top: 20%; left: 10%; width: 80%; height: 60%; background: repeating-linear-gradient(0deg, #c0a080 0px, #c0a080 2px, transparent 2px, transparent 6px); }
.scn-everyone-thinks-competent-for-house .yarn { position: absolute; top: 20%; left: 10%; width: 120px; height: 4px; background: #c8553d; border-radius: 2px; transform: rotate(-15deg); animation: si3-yarn 2s ease-in-out infinite alternate; }
.scn-everyone-thinks-competent-for-house .book { position: absolute; bottom: 25%; right: 25%; width: 70px; height: 90px; background: linear-gradient(0deg, #8a6a4a 0%, #b09070 100%); border-radius: 5% 10% 10% 5%; transform: rotate(10deg); box-shadow: 4px 4px 8px rgba(0,0,0,0.2); animation: si3-book 5s ease-in-out infinite; }
.scn-everyone-thinks-competent-for-house .lyre-2 { position: absolute; bottom: 40%; right: 10%; width: 50px; height: 80px; background: linear-gradient(0deg, #a08060 0%, #c0a080 100%); border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%; transform: rotate(20deg); box-shadow: -4px 2px 10px rgba(0,0,0,0.3); animation: si3-lyre-2 4s ease-in-out infinite; }
.scn-everyone-thinks-competent-for-house .figure-clumsy { position: absolute; bottom: 15%; left: 40%; width: 70px; height: 160px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform: rotate(-15deg); animation: si3-figure 1.5s ease-in-out infinite; }
.scn-everyone-thinks-competent-for-house .shadow-tangle { position: absolute; bottom: 0; left: 30%; width: 200px; height: 60px; background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.3) 0%, transparent 100%); animation: si3-shadow 3s ease-in-out infinite alternate; }
@keyframes si3-loom { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(1deg); } }
@keyframes si3-yarn { 0% { transform: rotate(-15deg) translateX(0); } 100% { transform: rotate(-5deg) translateX(10px); } }
@keyframes si3-book { 0%, 100% { transform: rotate(10deg) translateY(0); } 50% { transform: rotate(12deg) translateY(-2px); } }
@keyframes si3-lyre-2 { 0%, 100% { transform: rotate(20deg) translateY(0); } 50% { transform: rotate(18deg) translateY(3px); } }
@keyframes si3-figure { 0% { transform: rotate(-15deg) translateX(0); } 25% { transform: rotate(-10deg) translateX(8px); } 50% { transform: rotate(-15deg) translateX(15px); } 75% { transform: rotate(-10deg) translateX(8px); } 100% { transform: rotate(-15deg) translateX(0); } }
@keyframes si3-shadow { 0% { transform: scaleX(1); opacity: 0.6; } 100% { transform: scaleX(0.8); opacity: 0.3; } }

.scn-diogenes-tutor-blow { background: linear-gradient(180deg, #f0e0c8 0%, #dcc8a8 40%, #c4a888 100%), radial-gradient(ellipse at 40% 10%, #fff5e0 0%, transparent 60%); }
.scn-diogenes-tutor-blow .courtyard-bg { position: absolute; inset: 0; background: linear-gradient(135deg, #e8d8c0 0%, #d0b898 100%); }
.scn-diogenes-tutor-blow .diogenes { position: absolute; bottom: 20%; left: 25%; width: 80px; height: 180px; background: linear-gradient(180deg, #2a1a0a 0%, #0a0500 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform: rotate(-10deg); animation: si4-diogenes 1s ease-in-out infinite; }
.scn-diogenes-tutor-blow .diogenes::before { content: ''; position: absolute; top: 0; left: 50%; width: 20px; height: 20px; background: radial-gradient(circle, #c0a080 0%, transparent 70%); border-radius: 50%; transform: translateX(-50%) translateY(-10px); }
.scn-diogenes-tutor-blow .tutor { position: absolute; bottom: 20%; right: 20%; width: 70px; height: 160px; background: linear-gradient(180deg, #5a4030 0%, #2a1a0a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform: rotate(20deg); animation: si4-tutor 0.5s ease-in-out infinite alternate; }
.scn-diogenes-tutor-blow .boy { position: absolute; bottom: 15%; left: 50%; width: 60px; height: 120px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform: translateX(-50%); animation: si4-boy 2s ease-in-out infinite; }
.scn-diogenes-tutor-blow .plate { position: absolute; bottom: 10%; left: 45%; width: 80px; height: 20px; background: linear-gradient(180deg, #d0b080 0%, #a08060 100%); border-radius: 0 0 50% 50%; box-shadow: 0 4px 8px rgba(0,0,0,0.2); animation: si4-plate 4s ease-in-out infinite alternate; }
.scn-diogenes-tutor-blow .food-flying { position: absolute; bottom: 25%; left: 35%; width: 10px; height: 10px; background: radial-gradient(circle, #e0a050 0%, #c08030 100%); border-radius: 50%; box-shadow: -15px -10px 0 #d09040, 10px -15px 0 #b07030; animation: si4-food 0.8s ease-in-out infinite; }
.scn-diogenes-tutor-blow .shadow-blow { position: absolute; bottom: 0; left: 20%; width: 200px; height: 40px; background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.4) 0%, transparent 100%); animation: si4-shadow 0.5s ease-in-out infinite alternate; }
.scn-diogenes-tutor-blow .dust { position: absolute; bottom: 25%; left: 35%; width: 60px; height: 20px; background: radial-gradient(ellipse, rgba(200,180,160,0.3) 0%, transparent 100%); border-radius: 50%; filter: blur(4px); animation: si4-dust 0.8s ease-in-out infinite; }
@keyframes si4-diogenes { 0%, 100% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(-5deg) translateY(5px); } }
@keyframes si4-tutor { 0% { transform: rotate(20deg) translateX(0); } 100% { transform: rotate(15deg) translateX(-10px); } }
@keyframes si4-boy { 0%, 100% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-45%) rotate(5deg) translateY(3px); } }
@keyframes si4-plate { 0% { transform: translateY(0) rotate(0deg); } 100% { transform: translateY(-5px) rotate(2deg); } }
@keyframes si4-food { 0%, 100% { transform: translate(0, 0) rotate(0deg); } 25% { transform: translate(20px, -30px) rotate(45deg); } 50% { transform: translate(40px, -60px) rotate(90deg); } 75% { transform: translate(60px, -30px) rotate(135deg); } }
@keyframes si4-shadow { 0% { transform: scaleX(1); opacity: 0.5; } 100% { transform: scaleX(0.7); opacity: 0.2; } }
@keyframes si4-dust { 0%, 100% { opacity: 0.6; transform: scale(1); } 50% { opacity: 0.3; transform: scale(1.5) translateY(-10px); } }

/* beasts-well-trained-reason – bright interior stable */
.scn-beasts-well-trained-reason {
  background:
    linear-gradient(180deg, #f5e6c8 0%, #c8b090 40%, #9a7b60 70%, #6a5030 100%),
    radial-gradient(ellipse at 60% 30%, #fff5e0 0%, transparent 70%);
}
.scn-beasts-well-trained-reason .bw-scene { position:absolute; inset:0; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.15) 100%); }
.scn-beasts-well-trained-reason .bw-stall { position:absolute; right:5%; bottom:0; width:45%; height:70%; background: linear-gradient(90deg, #8b6f4a 0%, #6a5030 50%, #4a3520 100%); border-radius: 0 0 8% 8%; box-shadow: inset -10px 0 20px rgba(0,0,0,0.3); }
.scn-beasts-well-trained-reason .bw-hay { position:absolute; bottom:20%; left:20%; width:35%; height:12%; background: radial-gradient(ellipse, #c9a86c 0%, #a08050 60%, #7a6030 100%); border-radius: 50% 50% 30% 30%; }
.scn-beasts-well-trained-reason .bw-horse-head { position:absolute; bottom:28%; left:22%; width:28%; height:24%; background: linear-gradient(180deg, #a08060 0%, #7a5a3a 50%, #5a3a1a 100%); border-radius: 60% 40% 40% 60% / 70% 50% 50% 60%; transform: rotate(-5deg); box-shadow: inset -8px 0 12px rgba(0,0,0,0.3); animation: bw-head 4s ease-in-out infinite; }
.scn-beasts-well-trained-reason .bw-rein { position:absolute; bottom:50%; left:16%; width:12%; height:4px; background: linear-gradient(90deg, #4a3020 0%, #3a2010 100%); border-radius: 2px; transform: rotate(20deg); transform-origin: right center; animation: bw-rein 6s ease-in-out infinite; }
.scn-beasts-well-trained-reason .bw-light-beam { position:absolute; top:0; left:30%; width:40%; height:60%; background: linear-gradient(180deg, rgba(255,235,180,0.4) 0%, rgba(255,220,150,0.1) 80%, transparent 100%); clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%); animation: bw-beam 8s ease-in-out infinite alternate; }
.scn-beasts-well-trained-reason .bw-dust { position:absolute; top:20%; left:35%; width:8%; height:8%; background: radial-gradient(circle, rgba(255,240,200,0.3) 0%, transparent 70%); filter: blur(4px); animation: bw-dust 12s linear infinite; }
@keyframes bw-head {
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-2px); }
  100% { transform: rotate(-5deg) translateY(0); }
}
@keyframes bw-rein {
  0% { transform: rotate(20deg); }
  50% { transform: rotate(15deg); }
  100% { transform: rotate(20deg); }
}
@keyframes bw-beam {
  0% { opacity: 0.6; transform: scaleX(1); }
  50% { opacity: 1; transform: scaleX(1.05); }
  100% { opacity: 0.7; transform: scaleX(0.95); }
}
@keyframes bw-dust {
  0% { transform: translate(0, 0) scale(1); opacity: 0; }
  25% { opacity: 0.6; }
  75% { opacity: 0.3; }
  100% { transform: translate(30px, -20px) scale(0.5); opacity: 0; }
}

/* stilpo-dream-poseidon-ox – warm dim interior with dream glow */
.scn-stilpo-dream-poseidon-ox {
  background:
    linear-gradient(180deg, #1a1020 0%, #2a1a30 30%, #3a2a40 60%, #1a0a18 100%),
    radial-gradient(ellipse at 50% 70%, #4a3040 0%, transparent 70%);
}
.scn-stilpo-dream-poseidon-ox .st-room { position:absolute; inset:0; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.4) 100%); }
.scn-stilpo-dream-poseidon-ox .st-bed { position:absolute; bottom:5%; left:10%; width:80%; height:30%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 -10px 20px rgba(0,0,0,0.5); }
.scn-stilpo-dream-poseidon-ox .st-stilpo { position:absolute; bottom:20%; left:20%; width:12%; height:35%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: st-stilpo 6s ease-in-out infinite; }
.scn-stilpo-dream-poseidon-ox .st-poseidon { position:absolute; bottom:35%; right:15%; width:18%; height:50%; background: linear-gradient(180deg, rgba(200,180,120,0.8) 0%, rgba(160,140,100,0.4) 80%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; filter: blur(4px) brightness(1.5); box-shadow: 0 0 30px 10px rgba(200,180,120,0.3); animation: st-poseidon 8s ease-in-out infinite alternate; }
.scn-stilpo-dream-poseidon-ox .st-trident { position:absolute; bottom:50%; right:22%; width:4px; height:40%; background: linear-gradient(180deg, #d4b060 0%, #b09040 100%); border-radius: 2px; transform: rotate(-10deg); transform-origin: bottom center; animation: st-trident 4s ease-in-out infinite; }
.scn-stilpo-dream-poseidon-ox .st-trident::after { content:''; position:absolute; top:0; left:-3px; width:10px; height:8px; background: radial-gradient(circle, #d4b060 0%, transparent 70%); border-radius: 50%; }
.scn-stilpo-dream-poseidon-ox .st-dream-haze { position:absolute; top:0; left:0; width:100%; height:100%; background: radial-gradient(ellipse at 50% 40%, rgba(180,160,100,0.15) 0%, transparent 60%); filter: blur(8px); animation: st-haze 10s ease-in-out infinite alternate; }
.scn-stilpo-dream-poseidon-ox .st-glint { position:absolute; top:30%; right:25%; width:6px; height:6px; background: #f0d080; border-radius: 50%; box-shadow: 0 0 10px 2px #f0d080; animation: st-glint 3s ease-in-out infinite alternate; }
@keyframes st-stilpo {
  0% { transform: translateX(0) translateY(0) rotate(-2deg); }
  50% { transform: translateX(5px) translateY(-2px) rotate(1deg); }
  100% { transform: translateX(0) translateY(0) rotate(-2deg); }
}
@keyframes st-poseidon {
  0% { opacity: 0.6; transform: scale(0.95) rotate(-2deg); }
  50% { opacity: 1; transform: scale(1.05) rotate(0deg); }
  100% { opacity: 0.7; transform: scale(0.98) rotate(2deg); }
}
@keyframes st-trident {
  0% { transform: rotate(-10deg) translateY(0); }
  50% { transform: rotate(-5deg) translateY(-5px); }
  100% { transform: rotate(-10deg) translateY(0); }
}
@keyframes st-haze {
  0% { opacity: 0.3; transform: scale(1); }
  50% { opacity: 0.6; transform: scale(1.1); }
  100% { opacity: 0.4; transform: scale(0.95); }
}
@keyframes st-glint {
  0% { opacity: 0.5; transform: scale(0.8); }
  100% { opacity: 1; transform: scale(1.2); }
}

/* passions-mildness-progress – dim interior, calm seated figure */
.scn-passions-mildness-progress {
  background:
    linear-gradient(180deg, #2a2018 0%, #3a2a1a 40%, #2e1e10 70%, #1a1008 100%),
    radial-gradient(ellipse at 30% 20%, #4a3a28 0%, transparent 60%);
}
.scn-passions-mildness-progress .pm-room { position:absolute; inset:0; background: linear-gradient(135deg, rgba(0,0,0,0.2) 0%, transparent 50%, rgba(0,0,0,0.1) 100%); }
.scn-passions-mildness-progress .pm-window { position:absolute; top:10%; left:5%; width:20%; height:40%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%); border-radius: 10% 10% 5% 5%; box-shadow: inset 0 0 20px rgba(0,0,0,0.5); }
.scn-passions-mildness-progress .pm-window::before { content:''; position:absolute; top:15%; left:10%; width:80%; height:70%; background: linear-gradient(135deg, rgba(180,160,120,0.3) 0%, transparent 60%); border-radius: 5px; }
.scn-passions-mildness-progress .pm-chair { position:absolute; bottom:15%; left:15%; width:30%; height:25%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 8px 16px rgba(0,0,0,0.4); }
.scn-passions-mildness-progress .pm-figure { position:absolute; bottom:20%; left:18%; width:14%; height:40%; background: linear-gradient(180deg, #2a2018 0%, #1a1008 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pm-figure 8s ease-in-out infinite; }
.scn-passions-mildness-progress .pm-flame { position:absolute; bottom:45%; left:22%; width:8px; height:12px; background: radial-gradient(circle, #e08840 0%, #b06030 60%, transparent 100%); border-radius: 50% 50% 30% 30%; box-shadow: 0 0 15px 4px #b06030; animation: pm-flame 4s ease-in-out infinite alternate; }
.scn-passions-mildness-progress .pm-shadow { position:absolute; bottom:35%; left:30%; width:20%; height:20%; background: radial-gradient(ellipse, rgba(0,0,0,0.15) 0%, transparent 70%); filter: blur(6px); animation: pm-shadow 6s ease-in-out infinite alternate; }
@keyframes pm-figure {
  0% { transform: translateX(0) translateY(0) rotate(-1deg); }
  50% { transform: translateX(3px) translateY(-2px) rotate(1deg); }
  100% { transform: translateX(0) translateY(0) rotate(-1deg); }
}
@keyframes pm-flame {
  0% { transform: scaleY(1) translateY(0); opacity: 0.7; }
  50% { transform: scaleY(1.3) translateY(-3px); opacity: 1; }
  100% { transform: scaleY(0.9) translateY(1px); opacity: 0.6; }
}
@keyframes pm-shadow {
  0% { transform: scale(1) translate(0,0); opacity: 0.3; }
  50% { transform: scale(1.2) translate(5px,-5px); opacity: 0.5; }
  100% { transform: scale(0.95) translate(-2px,2px); opacity: 0.2; }
}

/* diseases-shift-milder-passions – overhead top-down, figure in bed */
.scn-diseases-shift-milder-passions {
  background:
    linear-gradient(180deg, #1a1816 0%, #2a2218 50%, #1a120a 100%),
    radial-gradient(ellipse at 50% 60%, #3a2a1a 0%, transparent 60%);
}
.scn-diseases-shift-milder-passions .ds-frame { position:absolute; inset:0; background: linear-gradient(135deg, rgba(0,0,0,0.3) 0%, transparent 50%, rgba(0,0,0,0.2) 100%); }
.scn-diseases-shift-milder-passions .ds-bed { position:absolute; top:10%; left:5%; width:90%; height:80%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%); border-radius: 20% 20% 10% 10%; box-shadow: inset 0 0 30px rgba(0,0,0,0.5); }
.scn-diseases-shift-milder-passions .ds-silhouette { position:absolute; top:20%; left:20%; width:60%; height:60%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0e04 100%); border-radius: 40% 40% 30% 30%; transform: rotate(-5deg); }
.scn-diseases-shift-milder-passions .ds-disease { position:absolute; top:45%; left:35%; width:20%; height:25%; background: radial-gradient(circle, #5a3a3a 0%, #3a1a1a 60%, transparent 100%); border-radius: 40%; filter: blur(3px); animation: ds-disease 6s ease-in-out infinite alternate; }
.scn-diseases-shift-milder-passions .ds-vital-glow { position:absolute; top:30%; left:40%; width:10%; height:10%; background: radial-gradient(circle, #8a6a3a 0%, #5a3a1a 50%, transparent 100%); border-radius: 50%; box-shadow: 0 0 20px 6px #8a6a3a; animation: ds-glow 5s ease-in-out infinite alternate; }
.scn-diseases-shift-milder-passions .ds-vital-glow + .ds-vital-glow { top:35%; left:50%; }
.scn-diseases-shift-milder-passions .ds-fade { position:absolute; top:35%; left:55%; width:30%; height:20%; background: radial-gradient(ellipse, rgba(0,0,0,0.2) 0%, transparent 70%); filter: blur(8px); animation: ds-fade 8s ease-in-out infinite; }
.scn-diseases-shift-milder-passions .ds-dust { position:absolute; top:15%; left:10%; width:6%; height:6%; background: radial-gradient(circle, rgba(180,160,120,0.2) 0%, transparent 70%); filter: blur(3px); animation: ds-dust 12s linear infinite; }
@keyframes ds-disease {
  0% { transform: translate(0,0) scale(1); opacity: 0.6; }
  50% { transform: translate(10px,20px) scale(0.8); opacity: 0.3; }
  100% { transform: translate(20px,40px) scale(0.5); opacity: 0; }
}
@keyframes ds-glow {
  0% { opacity: 0.5; box-shadow: 0 0 15px 4px #8a6a3a; }
  50% { opacity: 1; box-shadow: 0 0 30px 10px #8a6a3a; }
  100% { opacity: 0.6; box-shadow: 0 0 20px 6px #8a6a3a; }
}
@keyframes ds-fade {
  0% { transform: scale(1); opacity: 0.4; }
  50% { transform: scale(1.3); opacity: 0.7; }
  100% { transform: scale(0.8); opacity: 0.2; }
}
@keyframes ds-dust {
  0% { transform: translate(0,0) scale(1); opacity: 0; }
  25% { opacity: 0.4; }
  75% { opacity: 0.2; }
  100% { transform: translate(40px, -30px) scale(0.4); opacity: 0; }
}

.scn-learning-puts-out-boys {
  background:
    linear-gradient(180deg, #fdf5e6 0%, #f0e0c0 40%),
    radial-gradient(ellipse at 70% 30%, #fff8e8 0%, transparent 60%);
}
.scn-learning-puts-out-boys .window-frame {
  position:absolute; top:15%; left:55%; width:30%; height:40%;
  background: linear-gradient(135deg, #d4c9b8 0%, #b8a890 100%);
  border-radius: 4px; box-shadow: inset 0 0 0 4px #8b7355, 0 4px 12px rgba(0,0,0,0.2);
  animation: lpb-window 10s ease-in-out infinite alternate;
}
.scn-learning-puts-out-boys .desk {
  position:absolute; bottom:10%; left:10%; width:80%; height:15%;
  background: linear-gradient(180deg, #a08560 0%, #7a6040 100%);
  border-radius: 6px 6px 0 0; box-shadow: 0 -2px 6px rgba(0,0,0,0.3);
  animation: lpb-desk 20s ease-in-out infinite;
}
.scn-learning-puts-out-boys .book-left {
  position:absolute; bottom:22%; left:18%; width:12%; height:8%;
  background: linear-gradient(180deg, #6b4e3a 0%, #4a3325 100%);
  border-radius: 2px; transform: rotate(-3deg);
  box-shadow: 2px 2px 4px rgba(0,0,0,0.4);
  animation: lpb-book 8s ease-in-out infinite;
}
.scn-learning-puts-out-boys .book-right {
  position:absolute; bottom:21%; left:38%; width:14%; height:9%;
  background: linear-gradient(180deg, #7a5c42 0%, #5a3d2a 100%);
  border-radius: 2px; transform: rotate(1deg);
  box-shadow: 2px 2px 4px rgba(0,0,0,0.4);
  animation: lpb-book 9s ease-in-out infinite reverse;
}
.scn-learning-puts-out-boys .bottle {
  position:absolute; bottom:20%; left:58%; width:5%; height:18%;
  background: linear-gradient(90deg, #c0b090 0%, #e0d0b8 30%, #c0b090 60%);
  border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%;
  box-shadow: inset 0 0 8px rgba(255,255,240,0.3);
  animation: lpb-shimmer 5s ease-in-out infinite alternate;
}
.scn-learning-puts-out-boys .glass {
  position:absolute; bottom:20%; left:70%; width:6%; height:14%;
  background: linear-gradient(180deg, rgba(255,255,255,0.3) 0%, rgba(200,190,170,0.2) 100%);
  border-radius: 10% 10% 5% 5% / 30% 30% 10% 10%;
  box-shadow: 0 0 0 2px rgba(180,160,140,0.5), inset 0 0 6px rgba(255,255,255,0.2);
  animation: lpb-glass 15s ease-in-out infinite alternate;
}
.scn-learning-puts-out-boys .curtain-left {
  position:absolute; top:10%; left:5%; width:10%; height:70%;
  background: linear-gradient(180deg, #b8a898 0%, #8a7a6a 100%);
  border-radius: 0 20% 20% 0 / 0 10% 10% 0;
  animation: lpb-curtain 12s ease-in-out infinite alternate;
}
.scn-learning-puts-out-boys .curtain-right {
  position:absolute; top:12%; right:5%; width:10%; height:70%;
  background: linear-gradient(180deg, #b8a898 0%, #8a7a6a 100%);
  border-radius: 20% 0 0 20% / 10% 0 0 10%;
  animation: lpb-curtain 12s ease-in-out infinite alternate-reverse;
}
@keyframes lpb-window { 0% { opacity:0.8; box-shadow: inset 0 0 0 4px #8b7355; } 50% { opacity:1; box-shadow: inset 0 0 0 4px #a08870, 0 0 20px rgba(255,248,220,0.3); } 100% { opacity:0.85; } }
@keyframes lpb-desk { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes lpb-book { 0%,100% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(-1deg) translateY(-1px); } }
@keyframes lpb-shimmer { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes lpb-glass { 0% { opacity:0.5; } 50% { opacity:0.7; } 100% { opacity:0.5; } }
@keyframes lpb-curtain { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.05); } 100% { transform: scaleX(1); } }

.scn-nothing-better-than-marriage-love {
  background:
    linear-gradient(180deg, #4a2818 0%, #2c160c 40%, #1a0a06 100%),
    radial-gradient(ellipse at 50% 60%, #8b5a3a 0%, transparent 70%);
}
.scn-nothing-better-than-marriage-love .window {
  position:absolute; top:10%; left:60%; width:30%; height:45%;
  background: linear-gradient(180deg, #f0d8b0 0%, #d4b898 100%);
  border-radius: 4px; box-shadow: inset 0 0 0 6px #5a3a20, 0 0 30px rgba(240,216,176,0.4);
  animation: mbml-window 10s ease-in-out infinite alternate;
}
.scn-nothing-better-than-marriage-love .hearth {
  position:absolute; bottom:8%; left:15%; width:35%; height:25%;
  background: linear-gradient(180deg, #8b4a2a 0%, #5a2a12 100%);
  border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%;
  box-shadow: inset 0 -8px 20px #3a1a0a, 0 0 40px #c06030;
  animation: mbml-fire 4s ease-in-out infinite alternate;
}
.scn-nothing-better-than-marriage-love .couple-left {
  position:absolute; bottom:15%; left:35%; width:12%; height:35%;
  background: linear-gradient(180deg, #2a1a12 0%, #0e0a06 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  animation: mbml-couple 6s ease-in-out infinite;
}
.scn-nothing-better-than-marriage-love .couple-right {
  position:absolute; bottom:15%; left:45%; width:12%; height:35%;
  background: linear-gradient(180deg, #2a1a12 0%, #0e0a06 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  animation: mbml-couple 6s ease-in-out infinite 0.5s;
}
.scn-nothing-better-than-marriage-love .rug {
  position:absolute; bottom:5%; left:20%; width:60%; height:8%;
  background: linear-gradient(90deg, #6a4a2a 0%, #8a6040 30%, #6a4a2a 60%, #5a3a1a 100%);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  animation: mbml-rug 20s ease-in-out infinite;
}
.scn-nothing-better-than-marriage-love .glow {
  position:absolute; bottom:20%; left:30%; width:40%; height:50%;
  background: radial-gradient(ellipse at 50% 50%, rgba(240,200,160,0.15) 0%, transparent 70%);
  animation: mbml-glow 7s ease-in-out infinite alternate;
}
@keyframes mbml-window { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes mbml-fire { 0% { box-shadow: inset 0 -8px 20px #3a1a0a, 0 0 30px #d07030; } 50% { box-shadow: inset 0 -8px 20px #4a2a12, 0 0 50px #e08040; } 100% { box-shadow: inset 0 -8px 20px #3a1a0a, 0 0 35px #d07030; } }
@keyframes mbml-couple { 0%,100% { transform: translateX(0) translateY(0); } 50% { transform: translateX(2px) translateY(-2px); } }
@keyframes mbml-rug { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.02); } 100% { transform: scaleX(1); } }
@keyframes mbml-glow { 0% { opacity:0.3; } 50% { opacity:0.6; } 100% { opacity:0.3; } }

.scn-law-nature-gods-need-love {
  background:
    linear-gradient(180deg, #b8d4e0 0%, #e0f0e8 40%, #f4e8c0 100%),
    radial-gradient(ellipse at 60% 20%, #fff8e0 0%, transparent 60%);
}
.scn-law-nature-gods-need-love .window-frame {
  position:absolute; top:5%; left:5%; width:90%; height:90%;
  background: linear-gradient(135deg, #a09080 0%, #7a6a5a 100%);
  border-radius: 8px; box-shadow: inset 0 0 0 10px #5a4a3a, 0 4px 12px rgba(0,0,0,0.3);
}
.scn-law-nature-gods-need-love .sky-outside {
  position:absolute; top:8%; left:10%; width:80%; height:50%;
  background: linear-gradient(180deg, #6a9ab8 0%, #a0c8d8 60%, #d8e8d0 100%);
  border-radius: 4px;
  animation: lngnl-sky 30s ease-in-out infinite alternate;
}
.scn-law-nature-gods-need-love .sun {
  position:absolute; top:12%; left:25%; width:20%; height:20%;
  background: radial-gradient(circle, #ffe880 0%, #f0c040 50%, #ffd060 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 10px #f0c040, 0 0 80px 20px rgba(240,192,64,0.3);
  animation: lngnl-sun 12s ease-in-out infinite alternate;
}
.scn-law-nature-gods-need-love .rain-1 {
  position:absolute; bottom:20%; left:30%; width:4%; height:30%;
  background: linear-gradient(180deg, rgba(100,140,180,0.3) 0%, rgba(100,140,180,0.6) 100%);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  animation: lngnl-rain 3s linear infinite;
}
.scn-law-nature-gods-need-love .rain-2 {
  position:absolute; bottom:15%; left:50%; width:4%; height:50%;
  background: linear-gradient(180deg, rgba(100,140,180,0.3) 0%, rgba(100,140,180,0.6) 100%);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  animation: lngnl-rain 3.2s linear infinite 1.5s;
}
.scn-law-nature-gods-need-love .earth-globe {
  position:absolute; bottom:5%; left:40%; width:20%; height:20%;
  background: radial-gradient(circle at 40% 30%, #5a8a4a 0%, #3a6a2a 60%, #2a4a1a 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px rgba(60,120,40,0.3);
  animation: lngnl-globe 25s linear infinite;
}
@keyframes lngnl-sky { 0% { background-position: 0 0; } 50% { background-position: 0 10%; } 100% { background-position: 0 0; } }
@keyframes lngnl-sun { 0% { transform: scale(1) translateY(0); } 50% { transform: scale(1.05) translateY(-4px); } 100% { transform: scale(1) translateY(0); } }
@keyframes lngnl-rain { 0% { transform: translateY(0); opacity:1; } 100% { transform: translateY(100vh); opacity:0; } }
@keyframes lngnl-globe { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

.scn-world-end-without-love {
  background:
    linear-gradient(180deg, #2a2a3a 0%, #1a1a2e 40%, #0e0e1a 100%),
    radial-gradient(ellipse at 50% 100%, #3a3a5a 0%, transparent 70%);
}
.scn-world-end-without-love .sky {
  position:absolute; top:0%; left:0%; width:100%; height:50%;
  background: linear-gradient(180deg, #3a3a4e 0%, #2a2a3e 100%);
  animation: weol-sky 20s ease-in-out infinite alternate;
}
.scn-world-end-without-love .clouds {
  position:absolute; top:10%; left:0%; width:100%; height:40%;
  background: radial-gradient(ellipse at 20% 50%, rgba(60,60,80,0.6) 0%, transparent 50%);
  filter: blur(10px);
  animation: weol-clouds 35s linear infinite;
}
.scn-world-end-without-love .cracked-ground {
  position:absolute; bottom:0%; left:0%; width:100%; height:40%;
  background:
    linear-gradient(180deg, #2a2a1a 0%, #1a1a0e 100%),
    repeating-linear-gradient(45deg, #3a3a2a 0px, #2a2a1a 5px, #1a1a0e 10px);
  border-radius: 0 0 0 0;
  animation: weol-ground 12s ease-in-out infinite alternate;
}
.scn-world-end-without-love .tree {
  position:absolute; bottom:25%; left:30%; width:8%; height:50%;
  background: linear-gradient(180deg, #1a1a0e 0%, #0e0e06 100%);
  border-radius: 20% 20% 0 0 / 60% 60% 0 0;
  animation: weol-tree 8s ease-in-out infinite alternate;
}
.scn-world-end-without-love .aura {
  position:absolute; bottom:20%; left:25%; width:20%; height:30%;
  background: radial-gradient(ellipse, rgba(200,100,50,0.05) 0%, transparent 70%);
  animation: weol-aura 10s ease-in-out infinite alternate;
}
.scn-world-end-without-love .dust {
  position:absolute; top:30%; left:0%; width:100%; height:70%;
  background: radial-gradient(ellipse at 30% 40%, rgba(100,60,40,0.1) 0%, transparent 60%);
  filter: blur(8px);
  animation: weol-dust 15s ease-in-out infinite;
}
@keyframes weol-sky { 0% { opacity:0.6; } 50% { opacity:0.9; } 100% { opacity:0.6; } }
@keyframes weol-clouds { 0% { transform: translateX(-20%); } 50% { transform: translateX(10%); } 100% { transform: translateX(-20%); } }
@keyframes weol-ground { 0% { background-size: 100% 100%; } 50% { background-size: 110% 110%; } 100% { background-size: 100% 100%; } }
@keyframes weol-tree { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-2deg); } }
@keyframes weol-aura { 0% { opacity:0.1; } 50% { opacity:0.3; } 100% { opacity:0.1; } }
@keyframes weol-dust { 0% { opacity:0.2; transform: translateY(0); } 50% { opacity:0.5; transform: translateY(-10px); } 100% { opacity:0.2; transform: translateY(0); } }

/* sow-destroys-litter-omen */
.scn-sow-destroys-litter-omen { 
  background: linear-gradient(180deg, #1a1008 0%, #2c1a10 40%, #0e0a06 100%), 
              radial-gradient(ellipse at 50% 100%, #3a2210 0%, transparent 70%);
}
.scn-sow-destroys-litter-omen .bg-wall { position:absolute; inset:0; background: linear-gradient(180deg, #1c1410 0%, #2a1a0e 100%); animation: sow-wall 20s ease-in-out infinite alternate; }
.scn-sow-destroys-litter-omen .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #2e1c12 0%, #0e0a06 100%); border-radius: 10% 10% 0 0 / 8% 8% 0 0; }
.scn-sow-destroys-litter-omen .altar { position:absolute; bottom:20%; left:50%; width:60px; height:40px; transform:translateX(-50%); background: linear-gradient(180deg, #4a3220 0%, #2a1a0e 100%); border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.7); }
.scn-sow-destroys-litter-omen .fire-mid { position:absolute; bottom:28%; left:38%; width:20px; height:30px; background: radial-gradient(ellipse at 50% 100%, #b06030 0%, #603010 70%, transparent); border-radius: 50%; filter: blur(2px); animation: sow-fire 2s ease-in-out infinite alternate; }
.scn-sow-destroys-litter-omen .sow-body { position:absolute; bottom:18%; left:30%; width:60px; height:40px; background: radial-gradient(ellipse at 50% 50%, #3a2a1a 0%, #1a0e06 100%); border-radius: 40% 50% 40% 40% / 60% 70% 40% 40%; transform: rotate(-5deg); animation: sow-sway 6s ease-in-out infinite; }
.scn-sow-destroys-litter-omen .piglet-fall { position:absolute; bottom:28%; left:55%; width:18px; height:14px; background: radial-gradient(ellipse at 50% 50%, #4a3020 0%, #2a1a0e 100%); border-radius: 50%; transform: rotate(20deg); animation: sow-fall 4s ease-in-out infinite; }
.scn-sow-destroys-litter-omen .shadow-smear { position:absolute; bottom:15%; left:32%; width:70px; height:20px; background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 70%); filter: blur(6px); animation: sow-shadow 8s ease-in-out infinite alternate; }
.scn-sow-destroys-litter-omen .smoke-top { position:absolute; top:5%; left:35%; width:40px; height:60px; background: radial-gradient(ellipse at 50% 50%, rgba(180,140,100,0.3) 0%, transparent 80%); filter: blur(10px); animation: sow-smoke 12s ease-in-out infinite; }
.scn-sow-destroys-litter-omen .ember-left { position:absolute; bottom:32%; left:36%; width:4px; height:4px; background: radial-gradient(circle, #ff8040 0%, #b04010 100%); border-radius:50%; box-shadow: 0 0 8px 2px rgba(255,128,64,0.8); animation: sow-ember 3s ease-in-out infinite alternate; }
@keyframes sow-wall { 0% { opacity:0.9 } 50% { opacity:0.7 } 100% { opacity:1 } }
@keyframes sow-fire { 0% { transform: scaleY(1) translateY(0); opacity:0.8 } 50% { transform: scaleY(1.3) translateY(-4px); opacity:1 } 100% { transform: scaleY(0.9) translateY(2px); opacity:0.7 } }
@keyframes sow-sway { 0%,100% { transform: rotate(-5deg) } 25% { transform: rotate(-3deg) } 50% { transform: rotate(-7deg) } 75% { transform: rotate(-4deg) } }
@keyframes sow-fall { 0%,100% { transform: rotate(20deg) translateY(0) } 25% { transform: rotate(10deg) translateY(-3px) } 50% { transform: rotate(25deg) translateY(5px) } 75% { transform: rotate(15deg) translateY(-2px) } }
@keyframes sow-shadow { 0% { opacity:0.5; transform: scaleX(1) } 50% { opacity:0.8; transform: scaleX(1.2) } 100% { opacity:0.4; transform: scaleX(0.9) } }
@keyframes sow-smoke { 0% { transform: translateY(0) scale(1); opacity:0.2 } 50% { transform: translateY(-20px) scale(1.5); opacity:0.4 } 100% { transform: translateY(-40px) scale(2); opacity:0 } }
@keyframes sow-ember { 0% { opacity:0.6; transform: translate(0,0) } 50% { opacity:1; transform: translate(-2px, -3px) } 100% { opacity:0.5; transform: translate(3px, -1px) } }

/* poor-not-rear-fear */
.scn-poor-not-rear-fear {
  background: linear-gradient(180deg, #141a20 0%, #1c1c24 30%, #0a0a0e 100%),
              radial-gradient(ellipse at 50% 100%, #1a1a22 0%, transparent 70%);
}
.scn-poor-not-rear-fear .bg-shack { position:absolute; inset:0; background: linear-gradient(180deg, #181820 0%, #0c0c12 100%); animation: poor-wall 15s ease-in-out infinite alternate; }
.scn-poor-not-rear-fear .floor-worn { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #1a181c 0%, #0a080a 100%); border-radius: 5% 5% 0 0 / 4% 4% 0 0; }
.scn-poor-not-rear-fear .parent-figure { position:absolute; bottom:20%; left:30%; width:22px; height:44px; background: linear-gradient(180deg, #2a2a34 0%, #121218 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: poor-bend 5s ease-in-out infinite; }
.scn-poor-not-rear-fear .child-cradle { position:absolute; bottom:18%; left:50%; width:30px; height:20px; background: linear-gradient(180deg, #1c2028 0%, #101218 100%); border-radius: 10% 10% 30% 30%; box-shadow: 0 2px 6px rgba(0,0,0,0.6); animation: poor-rock 4s ease-in-out infinite; }
.scn-poor-not-rear-fear .tear-drop { position:absolute; bottom:32%; left:33%; width:4px; height:6px; background: radial-gradient(ellipse, #6080a0 0%, transparent 80%); border-radius: 50%; filter: blur(1px); animation: poor-tear 4s ease-in-out infinite; }
.scn-poor-not-rear-fear .shaft-light { position:absolute; top:5%; left:40%; width:30px; height:60%; background: linear-gradient(180deg, rgba(120,140,160,0.15) 0%, transparent 100%); filter: blur(8px); animation: poor-shaft 8s ease-in-out infinite alternate; }
.scn-poor-not-rear-fear .dust-motes { position:absolute; top:15%; left:45%; width:8px; height:8px; background: radial-gradient(circle, rgba(180,190,200,0.4) 0%, transparent 80%); border-radius:50%; animation: poor-dust 6s ease-in-out infinite; }
.scn-poor-not-rear-fear .rat-corner { position:absolute; bottom:8%; right:10%; width:14px; height:10px; background: radial-gradient(ellipse at 50% 50%, #1a1a1e 0%, #0a0a0c 100%); border-radius: 40% 40% 30% 30%; transform: rotate(-10deg); animation: poor-rat 7s ease-in-out infinite; }
@keyframes poor-wall { 0% { opacity:0.85 } 50% { opacity:0.7 } 100% { opacity:0.9 } }
@keyframes poor-bend { 0%,100% { transform: rotate(0deg) } 25% { transform: rotate(8deg) translateY(-2px) } 50% { transform: rotate(-5deg) translateY(2px) } 75% { transform: rotate(3deg) translateY(-1px) } }
@keyframes poor-rock { 0%,100% { transform: rotate(0deg) } 25% { transform: rotate(5deg) } 50% { transform: rotate(-5deg) } 75% { transform: rotate(3deg) } }
@keyframes poor-tear { 0% { opacity:0; transform: translateY(0) } 20% { opacity:1 } 60% { opacity:1; transform: translateY(20px) } 80% { opacity:0 } }
@keyframes poor-shaft { 0% { opacity:0.3; transform: scaleY(0.8) } 50% { opacity:0.6; transform: scaleY(1.1) } 100% { opacity:0.2; transform: scaleY(0.7) } }
@keyframes poor-dust { 0%,100% { transform: translate(0,0); opacity:0.3 } 25% { transform: translate(4px, -6px); opacity:0.6 } 50% { transform: translate(-3px, -10px); opacity:0.4 } 75% { transform: translate(2px, -4px); opacity:0.7 } }
@keyframes poor-rat { 0%,100% { transform: rotate(-10deg) translateX(0) } 25% { transform: rotate(-5deg) translateX(4px) } 50% { transform: rotate(-15deg) translateX(-2px) } 75% { transform: rotate(-8deg) translateX(3px) } }

/* love-dialogue-helicon */
.scn-love-dialogue-helicon {
  background: linear-gradient(180deg, #a0a8a8 0%, #888c88 40%, #686c68 100%),
              radial-gradient(ellipse at 50% 0%, #c4c8c0 0%, transparent 80%);
}
.scn-love-dialogue-helicon .sky-soft { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #b8beba 0%, #9a9e9a 100%); animation: love-sky 12s ease-in-out infinite alternate; }
.scn-love-dialogue-helicon .hill-back { position:absolute; bottom:30%; left:0; right:0; height:30%; background: linear-gradient(180deg, #6a7a5a 0%, #4a5a3a 100%); border-radius: 50% 70% 0 0 / 80% 60% 0 0; animation: love-hillb 20s ease-in-out infinite; }
.scn-love-dialogue-helicon .hill-front { position:absolute; bottom:15%; left:10%; right:10%; height:35%; background: linear-gradient(180deg, #7a8a6a 0%, #5a6a4a 100%); border-radius: 40% 50% 0 0 / 70% 80% 0 0; animation: love-hillf 18s ease-in-out infinite alternate; }
.scn-love-dialogue-helicon .figure-left { position:absolute; bottom:22%; left:28%; width:18px; height:38px; background: linear-gradient(180deg, #2a2e2a 0%, #141614 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: love-fig-l 6s ease-in-out infinite; }
.scn-love-dialogue-helicon .figure-right { position:absolute; bottom:20%; right:30%; width:18px; height:40px; background: linear-gradient(180deg, #2e2e2a 0%, #161614 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: love-fig-r 7s ease-in-out infinite; }
.scn-love-dialogue-helicon .cloud-slow-a { position:absolute; top:18%; left:20%; width:100px; height:20px; background: linear-gradient(180deg, rgba(200,200,200,0.5) 0%, rgba(200,200,200,0.1) 100%); border-radius: 50%; filter: blur(6px); animation: love-drift-a 45s linear infinite; }
.scn-love-dialogue-helicon .cloud-slow-b { position:absolute; top:25%; right:10%; width:80px; height:16px; background: linear-gradient(180deg, rgba(210,210,210,0.4) 0%, rgba(210,210,210,0.05) 100%); border-radius: 50%; filter: blur(5px); animation: love-drift-b 60s linear infinite reverse; }
.scn-love-dialogue-helicon .grass-wisp { position:absolute; bottom:12%; left:45%; width:20px; height:10px; background: radial-gradient(ellipse at 50% 50%, #4a6a3a 0%, transparent 80%); border-radius: 50%; filter: blur(2px); animation: love-grass 5s ease-in-out infinite; }
@keyframes love-sky { 0% { opacity:0.9 } 50% { opacity:0.7 } 100% { opacity:1 } }
@keyframes love-hillb { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes love-hillf { 0% { transform: translateY(0) } 50% { transform: translateY(3px) } 100% { transform: translateY(-2px) } }
@keyframes love-fig-l { 0%,100% { transform: rotate(-2deg) } 25% { transform: rotate(2deg) translateX(-1px) } 50% { transform: rotate(-1deg) } 75% { transform: rotate(3deg) translateX(2px) } }
@keyframes love-fig-r { 0%,100% { transform: rotate(2deg) } 25% { transform: rotate(-1deg) translateX(1px) } 50% { transform: rotate(3deg) } 75% { transform: rotate(0deg) translateX(-2px) } }
@keyframes love-drift-a { 0% { transform: translateX(-40px) } 100% { transform: translateX(120vw) } }
@keyframes love-drift-b { 0% { transform: translateX(0) } 100% { transform: translateX(-100vw) } }
@keyframes love-grass { 0%,100% { transform: rotate(0deg) } 25% { transform: rotate(5deg) } 50% { transform: rotate(-5deg) } 75% { transform: rotate(3deg) } }

/* ask-remove-pastoral */
.scn-ask-remove-pastoral {
  background: linear-gradient(180deg, #e0d8c0 0%, #c8c0a8 40%, #a8a088 100%),
              radial-gradient(ellipse at 50% 100%, #d0c8b0 0%, transparent 70%);
}
.scn-ask-remove-pastoral .room-wall { position:absolute; inset:0; background: linear-gradient(180deg, #d8d0b8 0%, #b8b098 100%); animation: ask-wall 18s ease-in-out infinite alternate; }
.scn-ask-remove-pastoral .floor-gold { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #c0b898 0%, #a09878 100%); border-radius: 8% 8% 0 0 / 4% 4% 0 0; }
.scn-ask-remove-pastoral .speaker-figure { position:absolute; bottom:20%; left:30%; width:20px; height:48px; background: linear-gradient(180deg, #504838 0%, #282418 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: ask-speak 5s ease-in-out infinite; }
.scn-ask-remove-pastoral .audience-silhouette { position:absolute; bottom:18%; right:20%; width:18px; height:44px; background: linear-gradient(180deg, #4a4232 0%, #242018 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: ask-listen 7s ease-in-out infinite; }
.scn-ask-remove-pastoral .window-bright { position:absolute; top:15%; left:55%; width:70px; height:90px; background: linear-gradient(180deg, #e8e8d8 0%, #c8c8b8 100%); border: 4px solid #8a8068; border-radius: 4px; box-shadow: inset 0 0 20px rgba(255,255,200,0.3); animation: ask-window 10s ease-in-out infinite alternate; }
.scn-ask-remove-pastoral .table-scroll { position:absolute; bottom:12%; left:45%; width:40px; height:6px; background: #7a725a; border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.2); animation: ask-scroll 6s ease-in-out infinite; }
.scn-ask-remove-pastoral .lamp-glow { position:absolute; top:40%; left:28%; width:16px; height:16px; background: radial-gradient(circle, #f0e080 0%, #d0b050 80%); border-radius:50%; box-shadow: 0 0 30px 10px rgba(240,224,128,0.5); animation: ask-lamp 4s ease-in-out infinite alternate; }
.scn-ask-remove-pastoral .mote-dance { position:absolute; top:30%; left:50%; width:6px; height:6px; background: radial-gradient(circle, rgba(240,235,210,0.6) 0%, transparent 80%); border-radius:50%; animation: ask-mote 8s ease-in-out infinite; }
@keyframes ask-wall { 0% { opacity:0.95 } 50% { opacity:0.8 } 100% { opacity:1 } }
@keyframes ask-speak { 0%,100% { transform: rotate(0deg) } 25% { transform: rotate(5deg) translateY(-1px) } 50% { transform: rotate(-3deg) } 75% { transform: rotate(2deg) translateY(1px) } }
@keyframes ask-listen { 0%,100% { transform: rotate(0deg) } 25% { transform: rotate(2deg) } 50% { transform: rotate(-4deg) } 75% { transform: rotate(1deg) } }
@keyframes ask-window { 0% { opacity:0.7; transform: scale(0.95) } 50% { opacity:1; transform: scale(1) } 100% { opacity:0.8; transform: scale(0.98) } }
@keyframes ask-scroll { 0%,100% { transform: translateX(0) } 25% { transform: translateX(5px) } 50% { transform: translateX(-3px) } 75% { transform: translateX(2px) } }
@keyframes ask-lamp { 0% { opacity:0.6; box-shadow: 0 0 20px 6px rgba(240,224,128,0.3) } 50% { opacity:1; box-shadow: 0 0 40px 14px rgba(240,224,128,0.6) } 100% { opacity:0.7; box-shadow: 0 0 25px 8px rgba(240,224,128,0.4) } }
@keyframes ask-mote { 0%,100% { transform: translate(0,0); opacity:0.2 } 25% { transform: translate(6px, -8px); opacity:0.6 } 50% { transform: translate(-4px, -14px); opacity:0.3 } 75% { transform: translate(3px, -5px); opacity:0.7 } }

/* aristippus-passage-money */
.scn-aristippus-passage-money {
  background: linear-gradient(180deg, #f5e6c8 0%, #e0caa0 60%, #c8b080 100%), radial-gradient(circle at 80% 20%, #fff8e0 0%, transparent 50%);
}
.scn-aristippus-passage-money .room-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #f0e0b8 0%, #dcc894 100%);
  animation: apm-room 12s ease-in-out infinite alternate;
}
.scn-aristippus-passage-money .window {
  position: absolute; top: 10%; left: 15%; width: 80px; height: 120px;
  background: linear-gradient(180deg, #b0d8f0 0%, #80b8d8 100%);
  border: 4px solid #a08050; border-radius: 6px;
  box-shadow: inset 0 0 20px rgba(255,255,200,0.3);
  animation: apm-window 8s ease-in-out infinite alternate;
}
.scn-aristippus-passage-money .desk {
  position: absolute; bottom: 20%; left: 25%; width: 160px; height: 30px;
  background: linear-gradient(180deg, #8a6a3a 0%, #5a3a1a 100%);
  border-radius: 4px 4px 10px 10px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: apm-desk 10s ease-in-out infinite;
}
.scn-aristippus-passage-money .coin {
  position: absolute; bottom: 22%; left: 28%; width: 30px; height: 30px;
  background: radial-gradient(circle, #f0d060 0%, #c8a040 70%);
  border-radius: 50%;
  box-shadow: 0 0 12px 4px rgba(200,160,64,0.6);
  animation: apm-coin 4s ease-in-out infinite alternate;
}
.scn-aristippus-passage-money .scroll {
  position: absolute; bottom: 22%; left: 45%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #e8d4a0 0%, #c8b080 100%);
  border-radius: 50% 50% 40% 40% / 30% 30% 70% 70%;
  transform: rotate(-15deg);
  animation: apm-scroll 6s ease-in-out infinite;
}
.scn-aristippus-passage-money .tutor {
  position: absolute; bottom: 27%; left: 35%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #3a4a5a 0%, #2a3a4a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 2px 0 6px rgba(0,0,0,0.3);
  animation: apm-tutor 5s ease-in-out infinite alternate;
}
.scn-aristippus-passage-money .student {
  position: absolute; bottom: 25%; left: 50%; width: 35px; height: 70px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  animation: apm-student 5s ease-in-out infinite alternate;
}
@keyframes apm-room { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes apm-window { 0% { background-position: 0% 0%; } 50% { background-position: 50% 100%; } 100% { background-position: 100% 0%; } }
@keyframes apm-desk { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes apm-coin { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-10px) rotate(180deg); } 100% { transform: translateY(0) rotate(360deg); } }
@keyframes apm-scroll { 0% { transform: rotate(-15deg) scaleY(1); } 50% { transform: rotate(-10deg) scaleY(1.05); } 100% { transform: rotate(-15deg) scaleY(1); } }
@keyframes apm-tutor { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(5px) rotate(2deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes apm-student { 0% { transform: translateX(-50%) rotate(1deg); } 50% { transform: translateX(-50%) translateY(-2px) rotate(-1deg); } 100% { transform: translateX(-50%) rotate(1deg); } }

/* nurses-mould-body-tutors-soul */
.scn-nurses-mould-body-tutors-soul {
  background: linear-gradient(180deg, #fce6d4 0%, #f0c8a8 40%, #d4a880 100%), radial-gradient(circle at 60% 30%, #fff0e0 0%, transparent 60%);
}
.scn-nurses-mould-body-tutors-soul .nursery-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #f8e0cc 0%, #e8c8a8 100%);
  animation: nmb-bg 10s ease-in-out infinite alternate;
}
.scn-nurses-mould-body-tutors-soul .nurse {
  position: absolute; bottom: 20%; left: 20%; width: 45px; height: 90px;
  background: linear-gradient(180deg, #e8d8c0 0%, #c8b090 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: nmb-nurse 6s ease-in-out infinite alternate;
}
.scn-nurses-mould-body-tutors-soul .baby {
  position: absolute; bottom: 28%; left: 22%; width: 25px; height: 30px;
  background: linear-gradient(180deg, #f0d8c0 0%, #d0b098 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: nmb-baby 4s ease-in-out infinite;
}
.scn-nurses-mould-body-tutors-soul .tutor {
  position: absolute; bottom: 20%; right: 20%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #3a4a6a 0%, #2a3a5a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: nmb-tutor 5s ease-in-out infinite alternate;
}
.scn-nurses-mould-body-tutors-soul .child {
  position: absolute; bottom: 25%; right: 30%; width: 30px; height: 55px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: nmb-child 6s ease-in-out infinite alternate;
}
.scn-nurses-mould-body-tutors-soul .cradle {
  position: absolute; bottom: 18%; left: 28%; width: 70px; height: 20px;
  background: linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%);
  border-radius: 20% 20% 50% 50% / 60% 60% 40% 40%;
  box-shadow: 0 4px 6px rgba(0,0,0,0.2);
  animation: nmb-cradle 3s ease-in-out infinite alternate;
}
.scn-nurses-mould-body-tutors-soul .book {
  position: absolute; bottom: 30%; right: 35%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #c8a060 0%, #a08040 100%);
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  transform: rotate(-10deg);
  animation: nmb-book 8s ease-in-out infinite alternate;
}
@keyframes nmb-bg { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.95; } }
@keyframes nmb-nurse { 0% { transform: translateX(0) rotate(-3deg); } 50% { transform: translateX(3px) rotate(3deg); } 100% { transform: translateX(0) rotate(-3deg); } }
@keyframes nmb-baby { 0% { transform: rotate(0deg) scaleY(1); } 50% { transform: rotate(5deg) scaleY(1.05); } 100% { transform: rotate(0deg) scaleY(1); } }
@keyframes nmb-tutor { 0% { transform: translateX(0) rotate(1deg); } 50% { transform: translateX(-4px) rotate(-1deg); } 100% { transform: translateX(0) rotate(1deg); } }
@keyframes nmb-child { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes nmb-cradle { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-2deg); } }
@keyframes nmb-book { 0% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(-5deg) translateY(-2px); } 100% { transform: rotate(-10deg) translateY(0); } }

/* tutors-teach-manners */
.scn-tutors-teach-manners {
  background: linear-gradient(180deg, #e8f0e0 0%, #d0dcc8 50%, #b0c0a8 100%), radial-gradient(circle at 40% 30%, #f0f8e8 0%, transparent 70%);
}
.scn-tutors-teach-manners .room-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #e0e8d8 0%, #c8d4b8 100%);
  animation: ttm-room 15s ease-in-out infinite alternate;
}
.scn-tutors-teach-manners .table {
  position: absolute; bottom: 20%; left: 20%; width: 180px; height: 24px;
  background: linear-gradient(180deg, #a09070 0%, #807060 100%);
  border-radius: 8px;
  box-shadow: 0 6px 10px rgba(0,0,0,0.2);
  animation: ttm-table 12s ease-in-out infinite;
}
.scn-tutors-teach-manners .plate-fish {
  position: absolute; bottom: 27%; left: 25%; width: 50px; height: 20px;
  background: radial-gradient(ellipse 50% 100%, #d0c0a0 0%, #b0a080 100%);
  border-radius: 50%;
  box-shadow: 0 0 6px rgba(0,0,0,0.1);
  animation: ttm-fish 4s ease-in-out infinite alternate;
}
.scn-tutors-teach-manners .bread {
  position: absolute; bottom: 29%; left: 40%; width: 30px; height: 15px;
  background: linear-gradient(180deg, #e8d0a0 0%, #c8b080 100%);
  border-radius: 30% 30% 40% 40% / 60% 60% 40% 40%;
  animation: ttm-bread 5s ease-in-out infinite alternate;
}
.scn-tutors-teach-manners .tutor {
  position: absolute; bottom: 25%; left: 10%; width: 38px; height: 75px;
  background: linear-gradient(180deg, #4a5a4a 0%, #3a4a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ttm-tutor 6s ease-in-out infinite alternate;
}
.scn-tutors-teach-manners .boy {
  position: absolute; bottom: 23%; left: 50%; width: 32px; height: 60px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ttm-boy 4s ease-in-out infinite alternate;
}
@keyframes ttm-room { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes ttm-table { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes ttm-fish { 0% { transform: translateX(0) rotate(-5deg); } 50% { transform: translateX(4px) rotate(5deg); } 100% { transform: translateX(0) rotate(-5deg); } }
@keyframes ttm-bread { 0% { transform: scaleY(1) rotate(0deg); } 50% { transform: scaleY(1.05) rotate(2deg); } 100% { transform: scaleY(1) rotate(0deg); } }
@keyframes ttm-tutor { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(5px) rotate(2deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes ttm-boy { 0% { transform: translateX(0) translateY(0) rotate(1deg); } 50% { transform: translateX(8px) translateY(-1px) rotate(-1deg); } 100% { transform: translateX(0) translateY(0) rotate(1deg); } }

/* doctor-skill-analogy */
.scn-doctor-skill-analogy {
  background: linear-gradient(180deg, #e8f4f8 0%, #d0e4ec 50%, #b8d0d8 100%), radial-gradient(circle at 70% 20%, #f0faff 0%, transparent 60%);
}
.scn-doctor-skill-analogy .clinic-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #e0eef4 0%, #c8dce4 100%);
  animation: dsa-bg 15s ease-in-out infinite alternate;
}
.scn-doctor-skill-analogy .bed {
  position: absolute; bottom: 15%; left: 25%; width: 90px; height: 40px;
  background: linear-gradient(180deg, #f0f0f0 0%, #d0d0d0 100%);
  border-radius: 10px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.15);
  animation: dsa-bed 12s ease-in-out infinite;
}
.scn-doctor-skill-analogy .patient {
  position: absolute; bottom: 20%; left: 30%; width: 35px; height: 60px;
  background: linear-gradient(180deg, #e8d8c8 0%, #c8b8a8 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dsa-patient 6s ease-in-out infinite alternate;
}
.scn-doctor-skill-analogy .doctor {
  position: absolute; bottom: 22%; right: 20%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #f0f0f0 0%, #d0d0d0 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 8px rgba(0,0,0,0.2);
  animation: dsa-doctor 5s ease-in-out infinite alternate;
}
.scn-doctor-skill-analogy .bottle {
  position: absolute; bottom: 30%; left: 50%; width: 16px; height: 32px;
  background: linear-gradient(180deg, #d0e8f0 0%, #a0c8d8 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: dsa-bottle 8s ease-in-out infinite alternate;
}
.scn-doctor-skill-analogy .chart {
  position: absolute; bottom: 35%; right: 35%; width: 30px; height: 45px;
  background: linear-gradient(180deg, #f0e0c0 0%, #d0c0a0 100%);
  border-radius: 4px;
  transform: rotate(-5deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: dsa-chart 7s ease-in-out infinite alternate;
}
@keyframes dsa-bg { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.95; } }
@keyframes dsa-bed { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes dsa-patient { 0% { transform: rotate(0deg) scaleY(1); } 50% { transform: rotate(2deg) scaleY(1.02); } 100% { transform: rotate(0deg) scaleY(1); } }
@keyframes dsa-doctor { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(-4px) rotate(2deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes dsa-bottle { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-5px) rotate(5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes dsa-chart { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(0deg) translateY(-3px); } 100% { transform: rotate(-5deg) translateY(0); } }

/* gorgo-punishment-stone */
.scn-gorgo-punishment-stone {
  background: linear-gradient(135deg, #1b1b2f 0%, #16213e 50%, #0f3460 100%),
              radial-gradient(ellipse at 50% 30%, #0f3460 20%, transparent 60%);
}
.scn-gorgo-punishment-stone .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a1a2e 0%, #2a2a4e 40%, #0d0d1a 100%);
  animation: gps-wall 12s ease-in-out infinite alternate;
}
.scn-gorgo-punishment-stone .window-frame {
  position: absolute; top: 15%; left: 30%; width: 35%; height: 50%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 6px; box-shadow: inset 0 2px 8px rgba(0,0,0,0.6), 0 0 12px rgba(0,0,0,0.5);
}
.scn-gorgo-punishment-stone .window-pane {
  position: absolute; top: 17%; left: 32%; width: 31%; height: 46%;
  background: radial-gradient(ellipse at 40% 30%, #2a4a6a 0%, #1a2a4a 30%, transparent 60%);
  box-shadow: inset 0 0 20px rgba(100,150,200,0.3);
  animation: gps-glow 4s ease-in-out infinite alternate;
}
.scn-gorgo-punishment-stone .stone-figure {
  position: absolute; bottom: 20%; left: 38%; width: 20%; height: 45%;
  background: linear-gradient(180deg, #6a6a7a 0%, #4a4a5a 50%, #3a3a4a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center; filter: grayscale(0.8);
  animation: gps-stone 8s ease-in-out infinite alternate;
}
.scn-gorgo-punishment-stone .curtain {
  position: absolute; top: 15%; width: 14%; height: 55%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 4px; box-shadow: 2px 0 6px rgba(0,0,0,0.4);
}
.scn-gorgo-punishment-stone .curtain.left { left: 28%; animation: gps-curtain 10s ease-in-out infinite alternate; }
.scn-gorgo-punishment-stone .curtain.right { right: 28%; animation: gps-curtain 10s ease-in-out infinite alternate-reverse; }
.scn-gorgo-punishment-stone .shadow {
  position: absolute; bottom: 0; left: 10%; width: 80%; height: 15%;
  background: linear-gradient(180deg, rgba(0,0,0,0.4), transparent);
  border-radius: 50%; filter: blur(8px);
  animation: gps-shadow 9s ease-in-out infinite;
}
@keyframes gps-wall { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes gps-glow { 0% { opacity: 0.7; box-shadow: inset 0 0 10px rgba(100,150,200,0.2); } 50% { opacity: 1; box-shadow: inset 0 0 40px rgba(100,150,200,0.5); } 100% { opacity: 0.8; box-shadow: inset 0 0 20px rgba(100,150,200,0.3); } }
@keyframes gps-stone { 0% { transform: scaleY(1) translateY(0); } 50% { transform: scaleY(1.02) translateY(-3px); } 100% { transform: scaleY(1) translateY(0); } }
@keyframes gps-curtain { 0% { transform: rotate(0deg) translateX(0); } 50% { transform: rotate(1deg) translateX(2px); } 100% { transform: rotate(-1deg) translateX(-2px); } }
@keyframes gps-shadow { 0% { opacity: 0.5; transform: scaleX(1); } 50% { opacity: 0.8; transform: scaleX(1.1); } 100% { opacity: 0.5; transform: scaleX(1); } }

/* origins-of-love-common */
.scn-origins-of-love-common {
  background: linear-gradient(180deg, #f4ecd8 0%, #e8dcc8 50%, #d4c8b4 100%),
              radial-gradient(ellipse at 50% 80%, #f4ecd8 0%, transparent 70%);
}
.scn-origins-of-love-common .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #e8dcc8 0%, #f0e8d4 50%, #dcccb0 100%);
  animation: olc-wall 20s ease-in-out infinite alternate;
}
.scn-origins-of-love-common .window {
  position: absolute; top: 5%; right: 10%; width: 25%; height: 40%;
  background: radial-gradient(ellipse at 50% 30%, #fff8e0 0%, #f4dca0 40%, transparent 60%);
  border-radius: 50% / 60% 60% 40% 40%; box-shadow: 0 0 30px 10px rgba(255,220,100,0.3);
  animation: olc-window 6s ease-in-out infinite alternate;
}
.scn-origins-of-love-common .figure {
  position: absolute; bottom: 10%; left: 15%; width: 20%; height: 55%;
  background: linear-gradient(180deg, #c8b8a0 0%, #a89880 50%, #8a7a64 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; filter: sepia(0.3);
  animation: olc-figure 8s ease-in-out infinite alternate;
}
.scn-origins-of-love-common .book {
  position: absolute; bottom: 12%; right: 30%; width: 8%; height: 6%;
  background: linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%);
  border-radius: 10% 10% 4% 4%; box-shadow: 2px 2px 6px rgba(0,0,0,0.2);
  animation: olc-book 5s ease-in-out infinite;
}
.scn-origins-of-love-common .light-ray {
  position: absolute; top: 0; left: 20%; width: 60%; height: 100%;
  background: linear-gradient(180deg, rgba(255,250,220,0.15) 0%, transparent 100%);
  clip-path: polygon(20% 0%, 80% 0%, 60% 100%, 40% 100%);
  animation: olc-ray 12s ease-in-out infinite alternate;
}
.scn-origins-of-love-common .vines {
  position: absolute; top: 30%; left: 5%; width: 10%; height: 70%;
  background: linear-gradient(180deg, #5a7a4a 0%, #3a5a2a 100%);
  border-radius: 20% 20% 10% 10%; transform: rotate(10deg);
  animation: olc-vine 7s ease-in-out infinite alternate;
}
@keyframes olc-wall { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.95 } }
@keyframes olc-window { 0% { transform: scale(1); opacity: 0.8; } 50% { transform: scale(1.05); opacity: 1; box-shadow: 0 0 50px 15px rgba(255,220,100,0.5); } 100% { transform: scale(1); opacity: 0.9; } }
@keyframes olc-figure { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-8px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes olc-book { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.1) rotate(-5deg); } 100% { transform: scale(1) rotate(0deg); } }
@keyframes olc-ray { 0% { opacity: 0.4; transform: translateX(0); } 50% { opacity: 0.7; transform: translateX(5%); } 100% { opacity: 0.5; transform: translateX(-5%); } }
@keyframes olc-vine { 0% { transform: rotate(10deg); } 50% { transform: rotate(15deg); } 100% { transform: rotate(8deg); } }

/* pleasure-lover-sex-neutral */
.scn-pleasure-lover-sex-neutral {
  background: linear-gradient(180deg, #f8f0e0 0%, #ece0c8 50%, #d8ccb4 100%),
              radial-gradient(ellipse at 50% 40%, #f8f0e0 0%, transparent 60%);
}
.scn-pleasure-lover-sex-neutral .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #e8dcc8 0%, #f4ecd8 50%, #d8ccb4 100%);
  animation: pls-wall 18s ease-in-out infinite alternate;
}
.scn-pleasure-lover-sex-neutral .figure-left {
  position: absolute; bottom: 15%; left: 18%; width: 18%; height: 50%;
  background: linear-gradient(180deg, #b8a890 0%, #988070 50%, #786858 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; filter: sepia(0.2);
  animation: pls-figure-l 9s ease-in-out infinite alternate;
}
.scn-pleasure-lover-sex-neutral .figure-right {
  position: absolute; bottom: 15%; right: 18%; width: 18%; height: 50%;
  background: linear-gradient(180deg, #b8a890 0%, #988070 50%, #786858 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; filter: sepia(0.2);
  animation: pls-figure-r 9s ease-in-out infinite alternate-reverse;
}
.scn-pleasure-lover-sex-neutral .flower {
  position: absolute; bottom: 35%; left: 44%; width: 12%; height: 20%;
  background: radial-gradient(circle at 50% 30%, #d87858 0%, #b85838 50%, #7a3820 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 0 16px 4px rgba(200,120,80,0.3);
  animation: pls-flower 5s ease-in-out infinite;
}
.scn-pleasure-lover-sex-neutral .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #c8b8a0 0%, #a89078 100%);
  border-radius: 30% 30% 0 0 / 20% 20% 0 0; box-shadow: 0 -4px 10px rgba(0,0,0,0.1);
}
.scn-pleasure-lover-sex-neutral .wall-art {
  position: absolute; top: 10%; left: 50%; transform: translateX(-50%); width: 15%; height: 20%;
  background: radial-gradient(circle, #d8c8b0 0%, #c8b898 50%, transparent 70%);
  border-radius: 50%; box-shadow: 0 0 20px 5px rgba(200,180,140,0.3);
  animation: pls-art 12s ease-in-out infinite alternate;
}
@keyframes pls-wall { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.95 } }
@keyframes pls-figure-l { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-10px) rotate(-3deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes pls-figure-r { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-10px) rotate(3deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes pls-flower { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.1) rotate(10deg); } 100% { transform: scale(1) rotate(0deg); } }
@keyframes pls-art { 0% { opacity: 0.6; transform: translateX(-50%) scale(1); } 50% { opacity: 1; transform: translateX(-50%) scale(1.05); box-shadow: 0 0 40px 10px rgba(200,180,140,0.5); } 100% { opacity: 0.7; transform: translateX(-50%) scale(1); } }

/* beauty-flower-of-virtue */
.scn-beauty-flower-of-virtue {
  background: linear-gradient(180deg, #fdf4e0 0%, #f5e8c8 50%, #e8d8b0 100%),
              radial-gradient(ellipse at 50% 60%, #fdf4e0 0%, transparent 70%);
}
.scn-beauty-flower-of-virtue .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #f5e8c8 0%, #fdf4e0 50%, #e8d8b0 100%);
  animation: bfv-wall 22s ease-in-out infinite alternate;
}
.scn-beauty-flower-of-virtue .vase {
  position: absolute; bottom: 15%; left: 38%; width: 8%; height: 25%;
  background: linear-gradient(180deg, #b09878 0%, #8a7050 100%);
  border-radius: 10% 10% 20% 20% / 10% 10% 15% 15%; box-shadow: 2px 4px 8px rgba(0,0,0,0.2);
  animation: bfv-vase 10s ease-in-out infinite alternate;
}
.scn-beauty-flower-of-virtue .stem {
  position: absolute; bottom: 38%; left: 50%; transform: translateX(-50%); width: 2%; height: 35%;
  background: linear-gradient(180deg, #4a7a3a 0%, #2a5a1a 100%);
  border-radius: 20%; transform-origin: bottom center;
  animation: bfv-stem 6s ease-in-out infinite alternate;
}
.scn-beauty-flower-of-virtue .flower {
  position: absolute; bottom: 58%; left: 47%; width: 12%; height: 15%;
  background: radial-gradient(circle at 50% 40%, #e8b878 0%, #d09050 50%, #b07030 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 0 20px 6px rgba(200,160,100,0.4);
  animation: bfv-flower 4s ease-in-out infinite;
}
.scn-beauty-flower-of-virtue .hand {
  position: absolute; bottom: 22%; left: 30%; width: 12%; height: 20%;
  background: linear-gradient(180deg, #c8a888 0%, #a88868 100%);
  border-radius: 40% 30% 20% 20% / 50% 40% 30% 30%; transform: rotate(-20deg); transform-origin: 60% 80%;
  animation: bfv-hand 7s ease-in-out infinite alternate;
}
.scn-beauty-flower-of-virtue .sparkle {
  position: absolute; top: 25%; left: 45%; width: 10%; height: 10%;
  background: radial-gradient(circle, #fff8e0 0%, rgba(255,248,224,0.3) 40%, transparent 70%);
  border-radius: 50%; filter: blur(3px);
  animation: bfv-sparkle 3s ease-in-out infinite alternate;
}
@keyframes bfv-wall { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.95 } }
@keyframes bfv-vase { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }
@keyframes bfv-stem { 0% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) rotate(3deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes bfv-flower { 0% { transform: scale(1) rotate(0deg); box-shadow: 0 0 15px 4px rgba(200,160,100,0.3); } 50% { transform: scale(1.08) rotate(5deg); box-shadow: 0 0 30px 10px rgba(200,160,100,0.5); } 100% { transform: scale(1) rotate(0deg); box-shadow: 0 0 20px 6px rgba(200,160,100,0.4); } }
@keyframes bfv-hand { 0% { transform: rotate(-20deg) translateY(0); } 50% { transform: rotate(-15deg) translateY(-6px); } 100% { transform: rotate(-20deg) translateY(0); } }
@keyframes bfv-sparkle { 0% { opacity: 0.3; transform: scale(1); } 50% { opacity: 1; transform: scale(1.5); } 100% { opacity: 0.4; transform: scale(1); } }

/* Scene: soclarus-sly-smile */
.scn-soclarus-sly-smile {
  background: linear-gradient(180deg, #e8d5a3 0%, #c9b893 40%, #a68a5a 100%), radial-gradient(ellipse at 60% 30%, #f5e6c8 0%, transparent 60%);
}
.scn-soclarus-sly-smile .bg-deep {
  position: absolute; inset: 0; background: linear-gradient(180deg, rgba(200,180,140,.3) 0%, #4a3726 100%);
  animation: scl-bg 12s ease-in-out infinite alternate;
}
.scn-soclarus-sly-smile .wall {
  position: absolute; bottom: 45%; left: 10%; right: 10%; height: 50%;
  background: linear-gradient(180deg, #b8a07a 0%, #8b7355 100%);
  border-radius: 5% 5% 0 0; box-shadow: inset 0 20px 40px rgba(0,0,0,.3);
  animation: scl-wall 18s ease-in-out infinite alternate;
}
.scn-soclarus-sly-smile .window {
  position: absolute; bottom: 55%; left: 55%; width: 60px; height: 80px;
  background: radial-gradient(circle at 50% 30%, #f5e6c8 0%, #d9c9a8 70%, transparent);
  border: 8px solid #7a5c3a; border-radius: 4px;
  box-shadow: 0 0 30px 10px rgba(245,230,200,.5);
  animation: scl-window 9s ease-in-out infinite alternate;
}
.scn-soclarus-sly-smile .figure {
  position: absolute; bottom: 25%; left: 35%; width: 40px; height: 100px;
  background: linear-gradient(180deg, #5a3c2a 0%, #3a2212 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: scl-figure 5s ease-in-out infinite alternate;
}
.scn-soclarus-sly-smile .hand {
  position: absolute; bottom: 50%; left: 40%; width: 16px; height: 24px;
  background: #a07850; border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform: rotate(10deg); box-shadow: 0 2px 6px rgba(0,0,0,.4);
  animation: scl-hand 4s ease-in-out infinite alternate;
}
.scn-soclarus-sly-smile .lamp {
  position: absolute; bottom: 50%; left: 60%; width: 20px; height: 30px;
  background: radial-gradient(circle, #f5c060 0%, #d09030 70%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  box-shadow: 0 0 40px 15px rgba(245,192,96,.6), 0 0 80px 30px rgba(245,192,96,.2);
  animation: scl-lamp 3s ease-in-out infinite alternate;
}
.scn-soclarus-sly-smile .shadow {
  position: absolute; bottom: 20%; left: 30%; width: 60px; height: 20px;
  background: rgba(30,20,10,.4); border-radius: 50%; filter: blur(8px);
  animation: scl-shadow 5s ease-in-out infinite alternate;
}
@keyframes scl-bg { 0% { opacity: .8; } 50% { opacity: .9; } 100% { opacity: .7; } }
@keyframes scl-wall { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes scl-window { 0% { box-shadow: 0 0 20px 5px rgba(245,230,200,.5); } 50% { box-shadow: 0 0 40px 15px rgba(245,230,200,.7); } 100% { box-shadow: 0 0 25px 8px rgba(245,230,200,.5); } }
@keyframes scl-figure { 0% { transform: scaleY(1) rotate(-2deg); } 50% { transform: scaleY(1.02) rotate(2deg); } 100% { transform: scaleY(1) rotate(-1deg); } }
@keyframes scl-hand { 0% { transform: rotate(5deg) translateX(0); } 50% { transform: rotate(15deg) translateX(4px); } 100% { transform: rotate(8deg) translateX(0); } }
@keyframes scl-lamp { 0% { box-shadow: 0 0 30px 10px rgba(245,192,96,.5); } 50% { box-shadow: 0 0 50px 20px rgba(245,192,96,.7); } 100% { box-shadow: 0 0 35px 12px rgba(245,192,96,.5); } }
@keyframes scl-shadow { 0% { transform: scaleX(1) translateX(0); opacity: .3; } 50% { transform: scaleX(1.1) translateX(5px); opacity: .5; } 100% { transform: scaleX(1) translateX(0); opacity: .3; } }

/* Scene: anthemion-defends-baccho */
.scn-anthemion-defends-baccho {
  background: linear-gradient(180deg, #d9c9a8 0%, #c4b393 40%, #a68a5a 100%), radial-gradient(ellipse at 40% 40%, #f5e6c8 0%, transparent 60%);
}
.scn-anthemion-defends-baccho .bg-deep {
  position: absolute; inset: 0; background: linear-gradient(180deg, rgba(200,180,140,.3) 0%, #4a3726 100%);
  animation: ant-bg 14s ease-in-out infinite alternate;
}
.scn-anthemion-defends-baccho .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #8b7355 0%, #5a4a30 100%);
  border-radius: 10% 10% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,.4);
  animation: ant-floor 20s ease-in-out infinite alternate;
}
.scn-anthemion-defends-baccho .bench {
  position: absolute; bottom: 20%; left: 30%; width: 120px; height: 20px;
  background: linear-gradient(180deg, #6a5230 0%, #3a2a10 100%);
  border-radius: 10% 10% 0 0; box-shadow: 0 4px 10px rgba(0,0,0,.5);
  animation: ant-bench 10s ease-in-out infinite alternate;
}
.scn-anthemion-defends-baccho .figure-left {
  position: absolute; bottom: 22%; left: 28%; width: 38px; height: 90px;
  background: linear-gradient(180deg, #4a3a22 0%, #2a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: ant-figure-l 6s ease-in-out infinite alternate;
}
.scn-anthemion-defends-baccho .figure-right {
  position: absolute; bottom: 22%; right: 28%; width: 38px; height: 90px;
  background: linear-gradient(180deg, #3a2a12 0%, #1a0a02 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: ant-figure-r 5s ease-in-out infinite alternate;
}
.scn-anthemion-defends-baccho .lamp {
  position: absolute; bottom: 40%; left: 50%; width: 24px; height: 36px;
  background: radial-gradient(circle, #f5d060 0%, #c09030 70%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  box-shadow: 0 0 50px 20px rgba(245,208,96,.6), 0 0 100px 40px rgba(245,208,96,.3);
  animation: ant-lamp 4s ease-in-out infinite alternate;
}
.scn-anthemion-defends-baccho .drapery {
  position: absolute; top: 0; left: 80%; width: 40px; height: 70%;
  background: linear-gradient(180deg, #a08060 0%, #604020 100%);
  border-radius: 0 0 20% 20% / 0 0 30% 30%;
  transform: skewX(-10deg); box-shadow: 0 10px 20px rgba(0,0,0,.4);
  animation: ant-drape 22s ease-in-out infinite alternate;
}
@keyframes ant-bg { 0% { opacity: .8; } 50% { opacity: .95; } 100% { opacity: .75; } }
@keyframes ant-floor { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes ant-bench { 0% { transform: translateX(0); } 50% { transform: translateX(3px); } 100% { transform: translateX(0); } }
@keyframes ant-figure-l { 0% { transform: scaleY(1) rotate(0deg); } 50% { transform: scaleY(1.02) rotate(-2deg); } 100% { transform: scaleY(1) rotate(0deg); } }
@keyframes ant-figure-r { 0% { transform: scaleY(1) rotate(0deg); } 50% { transform: scaleY(1.02) rotate(2deg); } 100% { transform: scaleY(1) rotate(0deg); } }
@keyframes ant-lamp { 0% { box-shadow: 0 0 30px 10px rgba(245,208,96,.5); } 50% { box-shadow: 0 0 60px 25px rgba(245,208,96,.8); } 100% { box-shadow: 0 0 40px 15px rgba(245,208,96,.5); } }
@keyframes ant-drape { 0% { transform: skewX(-10deg) translateX(0); } 50% { transform: skewX(-12deg) translateX(2px); } 100% { transform: skewX(-10deg) translateX(0); } }

/* Scene: pemptides-sacred-disease */
.scn-pemptides-sacred-disease {
  background: linear-gradient(180deg, #d9c9a8 0%, #c4b393 40%, #a68a5a 100%), radial-gradient(ellipse at 70% 40%, #f5e6c8 0%, transparent 60%);
}
.scn-pemptides-sacred-disease .bg-deep {
  position: absolute; inset: 0; background: linear-gradient(180deg, rgba(200,180,140,.3) 0%, #4a3726 100%);
  animation: pem-bg 16s ease-in-out infinite alternate;
}
.scn-pemptides-sacred-disease .wall {
  position: absolute; bottom: 40%; left: 5%; right: 5%; height: 55%;
  background: linear-gradient(180deg, #b8a07a 0%, #8b7355 100%);
  border-radius: 3% 3% 0 0; box-shadow: inset 0 15px 30px rgba(0,0,0,.3);
  animation: pem-wall 20s ease-in-out infinite alternate;
}
.scn-pemptides-sacred-disease .shelf {
  position: absolute; bottom: 55%; left: 20%; right: 20%; height: 10px;
  background: #6a5230; border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,.4);
  animation: pem-shelf 12s ease-in-out infinite alternate;
}
.scn-pemptides-sacred-disease .book {
  position: absolute; bottom: 56%; left: 30%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #a08060 0%, #604020 100%);
  border-radius: 2px; box-shadow: 2px 2px 4px rgba(0,0,0,.5);
  animation: pem-book 8s ease-in-out infinite alternate;
}
.scn-pemptides-sacred-disease .candle {
  position: absolute; bottom: 50%; left: 55%; width: 10px; height: 40px;
  background: linear-gradient(180deg, #f5e6c8 0%, #d9c9a8 60%, #8b7355 100%);
  border-radius: 10% 10% 5% 5%; box-shadow: 0 0 20px 5px rgba(245,230,200,.4);
  animation: pem-candle 3s ease-in-out infinite alternate;
}
.scn-pemptides-sacred-disease .figure {
  position: absolute; bottom: 22%; left: 35%; width: 40px; height: 100px;
  background: linear-gradient(180deg, #5a3c2a 0%, #3a2212 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: pem-figure 7s ease-in-out infinite alternate;
}
.scn-pemptides-sacred-disease .glow {
  position: absolute; top: 30%; left: 40%; width: 60px; height: 60px;
  background: radial-gradient(circle, rgba(245,230,200,.6) 0%, transparent 70%);
  border-radius: 50%; filter: blur(12px);
  animation: pem-glow 5s ease-in-out infinite alternate;
}
@keyframes pem-bg { 0% { opacity: .75; } 50% { opacity: .9; } 100% { opacity: .8; } }
@keyframes pem-wall { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes pem-shelf { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.02); } 100% { transform: scaleX(1); } }
@keyframes pem-book { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes pem-candle { 0% { opacity: .8; box-shadow: 0 0 15px 3px rgba(245,230,200,.3); } 50% { opacity: 1; box-shadow: 0 0 25px 8px rgba(245,230,200,.6); } 100% { opacity: .85; box-shadow: 0 0 18px 4px rgba(245,230,200,.3); } }
@keyframes pem-figure { 0% { transform: scaleY(1) rotate(-1deg); } 50% { transform: scaleY(1.01) rotate(1deg); } 100% { transform: scaleY(1) rotate(-1deg); } }
@keyframes pem-glow { 0% { opacity: .3; transform: scale(1); } 50% { opacity: .6; transform: scale(1.2); } 100% { opacity: .3; transform: scale(1); } }

/* Scene: father-answers-pemptides */
.scn-father-answers-pemptides {
  background: linear-gradient(180deg, #e0d0b0 0%, #c4b393 40%, #a68a5a 100%), radial-gradient(ellipse at 50% 60%, #f5e6c8 0%, transparent 60%);
}
.scn-father-answers-pemptides .bg-deep {
  position: absolute; inset: 0; background: linear-gradient(180deg, rgba(200,180,140,.3) 0%, #4a3726 100%);
  animation: fat-bg 14s ease-in-out infinite alternate;
}
.scn-father-answers-pemptides .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #8b7355 0%, #5a4a30 100%);
  border-radius: 10% 10% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,.4);
  animation: fat-floor 18s ease-in-out infinite alternate;
}
.scn-father-answers-pemptides .desk {
  position: absolute; bottom: 20%; left: 15%; width: 120px; height: 30px;
  background: linear-gradient(180deg, #6a5230 0%, #3a2a10 100%);
  border-radius: 5% 5% 0 0; box-shadow: 0 6px 12px rgba(0,0,0,.5);
  animation: fat-desk 12s ease-in-out infinite alternate;
}
.scn-father-answers-pemptides .figure-father {
  position: absolute; bottom: 22%; left: 18%; width: 40px; height: 95px;
  background: linear-gradient(180deg, #5a3c2a 0%, #3a2212 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: fat-father 6s ease-in-out infinite alternate;
}
.scn-father-answers-pemptides .figure-messenger {
  position: absolute; bottom: 22%; right: 15%; width: 38px; height: 85px;
  background: linear-gradient(180deg, #4a3a22 0%, #2a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: fat-mess 5s ease-in-out infinite alternate;
}
.scn-father-answers-pemptides .door {
  position: absolute; right: 5%; top: 10%; width: 50px; height: 90%;
  background: linear-gradient(180deg, #8b7355 0%, #5a4a30 100%);
  border-radius: 5% 5% 0 0; box-shadow: inset 0 0 20px rgba(0,0,0,.5);
  animation: fat-door 25s ease-in-out infinite alternate;
}
.scn-father-answers-pemptides .lamp {
  position: absolute; bottom: 45%; left: 50%; width: 22px; height: 32px;
  background: radial-gradient(circle, #f5d060 0%, #c09030 70%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  box-shadow: 0 0 40px 15px rgba(245,208,96,.6), 0 0 80px 30px rgba(245,208,96,.3);
  animation: fat-lamp 4s ease-in-out infinite alternate;
}
@keyframes fat-bg { 0% { opacity: .8; } 50% { opacity: .9; } 100% { opacity: .75; } }
@keyframes fat-floor { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes fat-desk { 0% { transform: translateX(0); } 50% { transform: translateX(2px); } 100% { transform: translateX(0); } }
@keyframes fat-father { 0% { transform: scaleY(1) rotate(0deg); } 50% { transform: scaleY(1.02) rotate(-1deg); } 100% { transform: scaleY(1) rotate(0deg); } }
@keyframes fat-mess { 0% { transform: scaleY(1) rotate(0deg); } 50% { transform: scaleY(1.02) rotate(2deg); } 100% { transform: scaleY(1) rotate(0deg); } }
@keyframes fat-door { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes fat-lamp { 0% { box-shadow: 0 0 30px 10px rgba(245,208,96,.5); } 50% { box-shadow: 0 0 60px 25px rgba(245,208,96,.8); } 100% { box-shadow: 0 0 40px 15px rgba(245,208,96,.5); } }

.scn-passions-in-judgements {
  background: linear-gradient(135deg, #2c1a10 0%, #1a0e08 60%, #0d0704 100%),
              radial-gradient(ellipse at 30% 50%, #3a2518 0%, transparent 70%);
  overflow: hidden;
}
.scn-passions-in-judgements .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1e130d 0%, #0d0805 100%);
  animation: pj-flicker 4s ease-in-out infinite alternate;
}
.scn-passions-in-judgements .table {
  position: absolute; bottom: 18%; left: 10%; right: 10%; height: 12%;
  background: linear-gradient(180deg, #4d301e 0%, #2a1a10 100%);
  border-radius: 4px; box-shadow: 0 8px 20px rgba(0,0,0,0.7);
  animation: pj-settle 10s ease-in-out infinite;
}
.scn-passions-in-judgements .throne {
  position: absolute; bottom: 28%; left: 45%; width: 60px; height: 80px;
  background: linear-gradient(180deg, #6b4226 0%, #3a2214 100%);
  border-radius: 30% 30% 10% 10% / 40% 40% 10% 10%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
}
.scn-passions-in-judgements .figure-king {
  position: absolute; bottom: 35%; left: 48%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #2a1a10 0%, #1a0e08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pj-bow 6s ease-in-out infinite alternate;
}
.scn-passions-in-judgements .figure-counselor {
  position: absolute; bottom: 24%; left: 20%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #3a2214 0%, #1a0e08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pj-approach 5s ease-in-out infinite alternate;
}
.scn-passions-in-judgements .candle {
  position: absolute; bottom: 28%; left: 70%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #d4a060 0%, #8a6030 100%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 20px 6px rgba(200,150,80,0.4);
  animation: pj-glow 2s ease-in-out infinite alternate;
}
.scn-passions-in-judgements .scroll {
  position: absolute; bottom: 18%; left: 30%; width: 40px; height: 10px;
  background: linear-gradient(180deg, #d4c080 0%, #a08050 100%);
  border-radius: 20% 20% 10% 10%;
  transform: rotate(-10deg);
  animation: pj-unroll 8s ease-in-out infinite;
}
.scn-passions-in-judgements .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.6) 100%);
  animation: pj-fade 6s ease-in-out infinite alternate;
}
@keyframes pj-flicker { 0% { opacity: 0.85; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes pj-settle { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes pj-bow { 0% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(3deg) scale(0.98); } 100% { transform: rotate(-2deg) scale(1.01); } }
@keyframes pj-approach { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(5px) rotate(2deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes pj-glow { 0% { box-shadow: 0 0 12px 4px rgba(200,150,80,0.3); } 50% { box-shadow: 0 0 28px 10px rgba(220,180,100,0.5); } 100% { box-shadow: 0 0 16px 6px rgba(200,150,80,0.35); } }
@keyframes pj-unroll { 0%, 100% { transform: rotate(-10deg) scaleX(1); } 50% { transform: rotate(-8deg) scaleX(1.1); } }
@keyframes pj-fade { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }

.scn-speculations-without-pain {
  background: linear-gradient(180deg, #e8ddc8 0%, #d4c8b0 40%, #bfb094 100%),
              radial-gradient(ellipse at 80% 30%, #f0e8d8 0%, transparent 60%);
}
.scn-speculations-without-pain .window {
  position: absolute; top: 5%; left: 65%; width: 80px; height: 100px;
  background: linear-gradient(180deg, #b8d8f0 0%, #90b8d8 100%);
  border: 4px solid #8a7a6a; border-radius: 4px; box-shadow: inset 0 0 30px rgba(255,255,200,0.6);
  animation: swp-light 8s ease-in-out infinite alternate;
}
.scn-speculations-without-pain .bookshelf {
  position: absolute; top: 8%; left: 5%; width: 45%; height: 70%;
  background: linear-gradient(90deg, #6a5a4a 0%, #8a7a6a 50%, #5a4a3a 100%);
  border-radius: 4px; box-shadow: 2px 2px 10px rgba(0,0,0,0.3);
  overflow: hidden;
}
.scn-speculations-without-pain .desk {
  position: absolute; bottom: 15%; left: 20%; right: 20%; height: 10%;
  background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%);
  border-radius: 6px; box-shadow: 0 4px 12px rgba(0,0,0,0.4);
  animation: swp-sway 12s ease-in-out infinite;
}
.scn-speculations-without-pain .chair {
  position: absolute; bottom: 20%; left: 25%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 20% 20% / 20% 20% 30% 30%;
  animation: swp-nod 6s ease-in-out infinite alternate;
}
.scn-speculations-without-pain .book-open {
  position: absolute; bottom: 22%; left: 35%; width: 30px; height: 20px;
  background: linear-gradient(180deg, #f0e0c0 0%, #d0b090 100%);
  border-radius: 2px; transform: perspective(100px) rotateX(10deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}
.scn-speculations-without-pain .figure-reader {
  position: absolute; bottom: 15%; left: 30%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: swp-read 4s ease-in-out infinite alternate;
}
.scn-speculations-without-pain .sunbeam {
  position: absolute; top: 0; left: 68%; width: 20px; height: 100%;
  background: linear-gradient(180deg, rgba(255,255,220,0.3) 0%, rgba(255,255,220,0.1) 100%);
  filter: blur(4px);
  animation: swp-beam 10s ease-in-out infinite alternate;
}
@keyframes swp-light { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes swp-sway { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes swp-nod { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-1deg); } }
@keyframes swp-read { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes swp-beam { 0% { opacity: 0.6; transform: scaleY(0.9); } 50% { opacity: 1; transform: scaleY(1); } 100% { opacity: 0.7; transform: scaleY(0.95); } }

.scn-passion-hinders-reason {
  background: linear-gradient(135deg, #1a1008 0%, #0d0805 60%, #050302 100%),
              radial-gradient(ellipse at 50% 70%, #2a1a10 0%, transparent 60%);
}
.scn-passion-hinders-reason .desk {
  position: absolute; bottom: 15%; left: 10%; right: 10%; height: 8%;
  background: linear-gradient(180deg, #4d301e 0%, #2a1a10 100%);
  border-radius: 4px; box-shadow: 0 6px 18px rgba(0,0,0,0.8);
  animation: phr-groan 9s ease-in-out infinite;
}
.scn-passion-hinders-reason .lamp {
  position: absolute; bottom: 20%; left: 50%; width: 12px; height: 30px;
  background: linear-gradient(180deg, #d4a060 0%, #8a6030 100%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 30px 8px rgba(200,150,80,0.5);
  animation: phr-flicker 3s ease-in-out infinite alternate;
}
.scn-passion-hinders-reason .book {
  position: absolute; bottom: 18%; left: 35%; width: 50px; height: 18px;
  background: linear-gradient(180deg, #c0a080 0%, #a08060 100%);
  border-radius: 2px; transform: rotate(5deg);
  box-shadow: 0 2px 8px rgba(0,0,0,0.6);
  animation: phr-page 6s ease-in-out infinite alternate;
}
.scn-passion-hinders-reason .hand {
  position: absolute; bottom: 20%; left: 55%; width: 14px; height: 20px;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 20% 20%;
  transform-origin: bottom center;
  animation: phr-point 4s ease-in-out infinite alternate;
}
.scn-passion-hinders-reason .figure {
  position: absolute; bottom: 10%; left: 40%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #2a1a10 0%, #0d0805 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: phr-turn 7s ease-in-out infinite alternate;
}
.scn-passion-hinders-reason .shadow-1 {
  position: absolute; bottom: 0; left: 0; width: 40%; height: 60%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.7) 100%);
  animation: phr-deepen 5s ease-in-out infinite alternate;
}
.scn-passion-hinders-reason .shadow-2 {
  position: absolute; bottom: 0; right: 0; width: 40%; height: 50%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.5) 100%);
  animation: phr-deepen 5s ease-in-out infinite alternate-reverse;
}
@keyframes phr-groan { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes phr-flicker { 0% { box-shadow: 0 0 20px 6px rgba(200,150,80,0.3); } 50% { box-shadow: 0 0 40px 14px rgba(220,180,100,0.6); } 100% { box-shadow: 0 0 24px 8px rgba(200,150,80,0.35); } }
@keyframes phr-page { 0% { transform: rotate(5deg) scale(1); } 50% { transform: rotate(3deg) scale(1.05); } 100% { transform: rotate(7deg) scale(0.95); } }
@keyframes phr-point { 0% { transform: translate(0, 0) rotate(0deg); } 50% { transform: translate(3px, -2px) rotate(10deg); } 100% { transform: translate(0, 0) rotate(0deg); } }
@keyframes phr-turn { 0% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(4deg) scale(0.98); } 100% { transform: rotate(-3deg) scale(1.02); } }
@keyframes phr-deepen { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.9; } }

.scn-sense-decides-passion-reason {
  background: linear-gradient(180deg, #f0e8d8 0%, #dcd0c0 40%, #c8b8a0 100%),
              radial-gradient(ellipse at 50% 20%, #f8f0e0 0%, transparent 60%);
}
.scn-sense-decides-passion-reason .window {
  position: absolute; top: 10%; left: 70%; width: 90px; height: 110px;
  background: linear-gradient(180deg, #c0d8e8 0%, #a0b8d0 100%);
  border: 4px solid #8a7a6a; border-radius: 6px; box-shadow: inset 0 0 40px rgba(255,255,200,0.5);
  animation: sdp-ray 10s ease-in-out infinite alternate;
}
.scn-sense-decides-passion-reason .table {
  position: absolute; bottom: 20%; left: 15%; right: 15%; height: 14%;
  background: linear-gradient(180deg, #9a8a7a 0%, #6a5a4a 100%);
  border-radius: 8px; box-shadow: 0 6px 20px rgba(0,0,0,0.3);
}
.scn-sense-decides-passion-reason .scale {
  position: absolute; bottom: 34%; left: 50%; width: 80px; height: 50px;
  background: linear-gradient(180deg, #c0b090 0%, #a09080 100%);
  border-radius: 4px; transform: translateX(-50%);
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  animation: sdp-balance 6s ease-in-out infinite alternate;
}
.scn-sense-decides-passion-reason .figure-sense {
  position: absolute; bottom: 25%; left: 25%; width: 24px; height: 48px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sdp-nod 4s ease-in-out infinite alternate;
}
.scn-sense-decides-passion-reason .figure-passion {
  position: absolute; bottom: 25%; right: 25%; width: 24px; height: 48px;
  background: linear-gradient(180deg, #803020 0%, #5a1a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sdp-raise 5s ease-in-out infinite alternate;
}
.scn-sense-decides-passion-reason .figure-reason {
  position: absolute; bottom: 25%; left: 50%; width: 24px; height: 48px;
  background: linear-gradient(180deg, #2a3a5a 0%, #1a2a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sdp-still 8s ease-in-out infinite;
}
.scn-sense-decides-passion-reason .light-ray {
  position: absolute; top: 0; left: 72%; width: 30px; height: 100%;
  background: linear-gradient(180deg, rgba(255,255,220,0.25) 0%, rgba(255,255,220,0.05) 100%);
  filter: blur(6px);
  animation: sdp-ray 10s ease-in-out infinite alternate;
}
@keyframes sdp-ray { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes sdp-balance { 0% { transform: translateX(-50%) rotate(-2deg); } 50% { transform: translateX(-50%) rotate(0deg); } 100% { transform: translateX(-50%) rotate(2deg); } }
@keyframes sdp-nod { 0% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(2deg) scale(0.98); } 100% { transform: rotate(-1deg) scale(1.02); } }
@keyframes sdp-raise { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(3deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes sdp-still { 0%, 100% { transform: rotate(0deg); } 50% { transform: rotate(1deg); } }

/* socrates-mirror */
.scn-socrates-mirror {
  background: linear-gradient(180deg, #f5e8d0 0%, #e8d8b8 40%, #d4c4a0 100%),
              radial-gradient(ellipse at 60% 30%, #fff5e0 0%, transparent 60%);
}
.scn-socrates-mirror .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(90deg, #d4c4a0 0%, #e8d8b8 50%, #d4c4a0 100%);
  animation: sm-wall 12s ease-in-out infinite alternate;
}
.scn-socrates-mirror .mirror-stand {
  position: absolute; bottom: 20%; left: 50%; transform: translateX(-50%); width: 40px; height: 60px;
  background: linear-gradient(180deg, #a08060 0%, #705040 100%); border-radius: 4px;
}
.scn-socrates-mirror .mirror-frame {
  position: absolute; bottom: calc(20% + 60px); left: 50%; transform: translateX(-50%); width: 80px; height: 100px;
  background: linear-gradient(135deg, #c0a070 0%, #b09060 50%, #c0a070 100%);
  border-radius: 8px; box-shadow: 0 8px 20px rgba(0,0,0,0.3);
}
.scn-socrates-mirror .mirror-glass {
  position: absolute; bottom: calc(20% + 64px); left: 50%; transform: translateX(-50%); width: 72px; height: 92px;
  background: radial-gradient(circle at 40% 30%, #ffe8c0 0%, #e8d0a0 60%, #c8b080 100%);
  border-radius: 4px; box-shadow: inset 0 0 20px rgba(255,200,150,0.4);
  animation: sm-glass 6s ease-in-out infinite alternate;
}
.scn-socrates-mirror .reflection {
  position: absolute; bottom: calc(20% + 70px); left: 50%; transform: translateX(-50%); width: 60px; height: 80px;
  background: linear-gradient(180deg, #b09878 0%, #d0b890 40%, transparent 100%);
  border-radius: 2px; opacity: 0.6; mix-blend-mode: soft-light;
  animation: sm-refl 8s ease-in-out infinite alternate;
}
.scn-socrates-mirror .young-man {
  position: absolute; bottom: 18%; left: 30%; width: 30px; height: 80px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center;
  animation: sm-figure 4s ease-in-out infinite;
}
.scn-socrates-mirror .lamp-glow {
  position: absolute; top: 15%; right: 60%; width: 40px; height: 40px;
  background: radial-gradient(circle, #ffd080 0%, #e8a030 50%, transparent 100%);
  border-radius: 50%; filter: blur(10px); mix-blend-mode: screen;
  animation: sm-lamp 5s ease-in-out infinite alternate;
}
@keyframes sm-wall { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.92 } }
@keyframes sm-glass { 0% { opacity: 0.7; transform: translateX(-50%) scale(1); } 50% { opacity: 0.85; transform: translateX(-50%) scale(1.02); } 100% { opacity: 0.75; transform: translateX(-50%) scale(0.98); } }
@keyframes sm-refl { 0% { opacity: 0.4; } 50% { opacity: 0.7; } 100% { opacity: 0.5; } }
@keyframes sm-figure { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(4px) rotate(2deg); } 100% { transform: translateX(8px) rotate(-1deg); } }
@keyframes sm-lamp { 0% { opacity: 0.6; transform: scale(1); } 50% { opacity: 0.9; transform: scale(1.1); } 100% { opacity: 0.7; transform: scale(0.95); } }

/* dionysius-gifts-lysander */
.scn-dionysius-gifts-lysander {
  background: linear-gradient(180deg, #efe8d0 0%, #ddd4b8 50%, #c8bfa0 100%),
              radial-gradient(ellipse at 80% 20%, #fff8e8 0%, transparent 50%);
}
.scn-dionysius-gifts-lysander .bg-hall {
  position: absolute; inset: 0; background: linear-gradient(90deg, #c8bfa0 0%, #ddd4b8 50%, #c8bfa0 100%);
}
.scn-dionysius-gifts-lysander .column-left,
.scn-dionysius-gifts-lysander .column-right {
  position: absolute; bottom: 0; width: 20px; height: 100%;
  background: linear-gradient(90deg, #a09078 0%, #b0a088 50%, #a09078 100%);
  border-radius: 4px;
}
.scn-dionysius-gifts-lysander .column-left { left: 10%; }
.scn-dionysius-gifts-lysander .column-right { right: 10%; }
.scn-dionysius-gifts-lysander .father {
  position: absolute; bottom: 10%; left: 35%; width: 28px; height: 70px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dgl-father 4s ease-in-out infinite alternate;
}
.scn-dionysius-gifts-lysander .daughter.left {
  position: absolute; bottom: 10%; left: 42%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: dgl-daughter 5s ease-in-out infinite;
}
.scn-dionysius-gifts-lysander .daughter.right {
  position: absolute; bottom: 10%; left: 48%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: dgl-daughter 5s ease-in-out infinite reverse;
}
.scn-dionysius-gifts-lysander .gift-necklace {
  position: absolute; bottom: 20%; left: 52%; width: 20px; height: 4px;
  background: linear-gradient(90deg, #b09860 0%, #d0b880 50%, #b09860 100%);
  border-radius: 2px; box-shadow: 0 0 6px rgba(176,152,96,0.4);
  animation: dgl-gift 3s ease-in-out infinite;
}
.scn-dionysius-gifts-lysander .gift-dress {
  position: absolute; bottom: 18%; left: 55%; width: 24px; height: 30px;
  background: linear-gradient(180deg, #c8a070 0%, #a08050 100%);
  border-radius: 4px; opacity: 0.8;
  animation: dgl-gift 3s ease-in-out infinite reverse;
}
.scn-dionysius-gifts-lysander .reject-hand {
  position: absolute; bottom: 28%; left: 36%; width: 14px; height: 10px;
  background: #2a1a0a; border-radius: 50% 30% 30% 50% / 50% 40% 40% 60%;
  transform-origin: bottom left;
  animation: dgl-hand 2s ease-in-out infinite alternate;
}
@keyframes dgl-father { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(-3px) rotate(1deg); } 100% { transform: translateX(-5px) rotate(0); } }
@keyframes dgl-daughter { 0% { opacity: 0.7; transform: scale(1); } 50% { opacity: 0.9; transform: scale(1.03); } 100% { opacity: 0.75; transform: scale(0.98); } }
@keyframes dgl-gift { 0% { opacity: 0.6; transform: translateY(0); } 50% { opacity: 0.9; transform: translateY(-2px); } 100% { opacity: 0.7; transform: translateY(0); } }
@keyframes dgl-hand { 0% { transform: rotate(-10deg); } 100% { transform: rotate(10deg); } }

/* gall-of-victim-removed */
.scn-gall-of-victim-removed {
  background: linear-gradient(180deg, #1a1a2a 0%, #2a1a0a 40%, #0a0a1a 100%),
              radial-gradient(ellipse at 50% 70%, #3a2a1a 0%, transparent 60%);
}
.scn-gall-of-victim-removed .bg-temple {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 40%, #0a0a0a 100%);
  opacity: 0.9;
}
.scn-gall-of-victim-removed .altar {
  position: absolute; bottom: 20%; left: 50%; transform: translateX(-50%);
  width: 70px; height: 30px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 8px 8px 4px 4px; box-shadow: 0 4px 10px rgba(0,0,0,0.6);
}
.scn-gall-of-victim-removed .flame {
  position: absolute; bottom: calc(20% + 30px); left: 50%; transform: translateX(-50%);
  width: 16px; height: 20px;
  background: radial-gradient(circle at 50% 80%, #ff8020 0%, #d04000 40%, transparent 100%);
  border-radius: 50% 50% 0 0; filter: blur(2px);
  animation: gvr-flame 2s ease-in-out infinite alternate;
}
.scn-gall-of-victim-removed .priestess {
  position: absolute; bottom: 20%; left: 30%; width: 24px; height: 70px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: gvr-priestess 8s ease-in-out infinite alternate;
}
.scn-gall-of-victim-removed .victim {
  position: absolute; bottom: 21%; left: 45%; width: 20px; height: 15px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
}
.scn-gall-of-victim-removed .gall-droplet {
  position: absolute; bottom: 25%; left: 48%; width: 6px; height: 8px;
  background: radial-gradient(circle, #b08040 0%, #906020 100%);
  border-radius: 50%; box-shadow: 0 0 8px rgba(176,128,64,0.5);
  animation: gvr-drop 4s ease-in-out infinite;
}
.scn-gall-of-victim-removed .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.6) 100%);
  pointer-events: none;
}
@keyframes gvr-flame { 0% { transform: translateX(-50%) scale(1) rotate(-2deg); } 50% { transform: translateX(-50%) scale(1.1) rotate(2deg); } 100% { transform: translateX(-50%) scale(0.95) rotate(0); } }
@keyframes gvr-priestess { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(-3px) rotate(1deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes gvr-drop { 0% { opacity: 0.5; transform: translateY(0); } 50% { opacity: 0.9; transform: translateY(4px); } 100% { opacity: 0.6; transform: translateY(0); } }

/* plato-xenocrates-graces-again */
.scn-plato-xenocrates-graces-again {
  background: linear-gradient(180deg, #f5e8c0 0%, #e8d8a0 40%, #d4c080 100%),
              radial-gradient(ellipse at 30% 20%, #fff8e0 0%, transparent 60%);
}
.scn-plato-xenocrates-graces-again .bg-colonnade {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #d4c080 0%, #e8d8a0 50%, #d4c080 100%);
}
.scn-plato-xenocrates-graces-again .altar-stone {
  position: absolute; bottom: 25%; left: 50%; transform: translateX(-50%);
  width: 60px; height: 20px;
  background: linear-gradient(180deg, #a09070 0%, #706050 100%);
  border-radius: 4px;
}
.scn-plato-xenocrates-graces-again .offering-bowl {
  position: absolute; bottom: calc(25% + 20px); left: 50%; transform: translateX(-50%);
  width: 30px; height: 12px;
  background: radial-gradient(ellipse at 50% 30%, #d0b080 0%, #a08050 100%);
  border-radius: 50%;
  animation: pxg-bowl 6s ease-in-out infinite alternate;
}
.scn-plato-xenocrates-graces-again .plato {
  position: absolute; bottom: 18%; left: 25%; width: 30px; height: 80px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pxg-figure 5s ease-in-out infinite alternate;
}
.scn-plato-xenocrates-graces-again .xenocrates {
  position: absolute; bottom: 18%; left: 35%; width: 28px; height: 75px;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0000 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: pxg-figure 5s ease-in-out infinite alternate-reverse;
}
.scn-plato-xenocrates-graces-again .grace-one,
.scn-plato-xenocrates-graces-again .grace-two,
.scn-plato-xenocrates-graces-again .grace-three {
  position: absolute; bottom: 35%; width: 16px; height: 40px;
  background: linear-gradient(180deg, #c0a070 0%, #a08050 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: pxg-grace 10s ease-in-out infinite;
}
.scn-plato-xenocrates-graces-again .grace-one { left: 55%; animation-delay: 0s; }
.scn-plato-xenocrates-graces-again .grace-two { left: 60%; animation-delay: 0.3s; }
.scn-plato-xenocrates-graces-again .grace-three { left: 65%; animation-delay: 0.6s; }
.scn-plato-xenocrates-graces-again .sunbeam {
  position: absolute; top: 0; left: 30%; width: 40px; height: 100%;
  background: linear-gradient(180deg, rgba(255,240,200,0.3) 0%, transparent 80%);
  mix-blend-mode: screen;
  animation: pxg-beam 8s ease-in-out infinite alternate;
}
@keyframes pxg-bowl { 0% { transform: translateX(-50%) scale(1); } 50% { transform: translateX(-50%) scale(1.05); } 100% { transform: translateX(-50%) scale(0.95); } }
@keyframes pxg-figure { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(2px) rotate(1deg); } 100% { transform: translateX(-2px) rotate(-1deg); } }
@keyframes pxg-grace { 0% { transform: translateY(0) rotate(-3deg); opacity: 0.6; } 50% { transform: translateY(-4px) rotate(3deg); opacity: 0.9; } 100% { transform: translateY(0) rotate(0); opacity: 0.7; } }
@keyframes pxg-beam { 0% { opacity: 0.3; transform: scaleY(0.95); } 50% { opacity: 0.6; transform: scaleY(1.05); } 100% { opacity: 0.4; transform: scaleY(1); } }

.scn-plato-soul-two-parts {
  background: linear-gradient(180deg, #f9f3e0 0%, #e8dcc8 60%, #cbb99e 100%),
              radial-gradient(ellipse at 50% 30%, #fff8e7 0%, transparent 70%);
}
.scn-plato-soul-two-parts .light-source {
  position: absolute;
  top: 8%;
  left: 50%;
  width: 60px;
  height: 60px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #fffaee 0%, #ffebc0 40%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 80px 40px rgba(255, 235, 192, 0.4);
  animation: stp-glow 6s ease-in-out infinite alternate;
}
.scn-plato-soul-two-parts .halo {
  position: absolute;
  top: 4%;
  left: 50%;
  width: 140px;
  height: 80px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, rgba(255, 248, 231, 0.6) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(20px);
  animation: stp-halo 8s ease-in-out infinite alternate;
}
.scn-plato-soul-two-parts .ring {
  position: absolute;
  top: 20%;
  left: 50%;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  border: 4px solid rgba(180, 160, 130, 0.25);
  transform: translate(-50%, -50%);
  box-sizing: border-box;
}
.scn-plato-soul-two-parts .ring-a {
  border-color: rgba(150, 180, 200, 0.3);
  animation: stp-ring-a 16s linear infinite;
}
.scn-plato-soul-two-parts .ring-b {
  width: 160px;
  height: 160px;
  border-color: rgba(200, 180, 150, 0.3);
  animation: stp-ring-b 20s linear infinite reverse;
}
.scn-plato-soul-two-parts .core {
  position: absolute;
  top: 35%;
  left: 50%;
  width: 40px;
  height: 40px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, #fff4d4 0%, #e0c8a0 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(224, 200, 160, 0.5);
  animation: stp-core 4s ease-in-out infinite alternate;
}
.scn-plato-soul-two-parts .shadow-left {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 45%;
  height: 50%;
  background: linear-gradient(90deg, rgba(0,0,0,0.08) 0%, transparent 100%);
  border-radius: 0 50% 0 0;
  animation: stp-shadow 10s ease-in-out infinite alternate;
}
.scn-plato-soul-two-parts .shadow-right {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 45%;
  height: 50%;
  background: linear-gradient(270deg, rgba(0,0,0,0.06) 0%, transparent 100%);
  border-radius: 50% 0 0 0;
  animation: stp-shadow 10s ease-in-out infinite alternate-reverse;
}
@keyframes stp-glow {
  0% { opacity: 0.7; transform: translateX(-50%) scale(1); }
  50% { opacity: 1; transform: translateX(-50%) scale(1.05); }
  100% { opacity: 0.8; transform: translateX(-50%) scale(0.98); }
}
@keyframes stp-halo {
  0% { opacity: 0.3; transform: translateX(-50%) scaleY(1); }
  50% { opacity: 0.6; transform: translateX(-50%) scaleY(1.2); }
  100% { opacity: 0.4; transform: translateX(-50%) scaleY(0.9); }
}
@keyframes stp-ring-a {
  0% { transform: translate(-50%, -50%) rotate(0deg) scale(1); }
  33% { transform: translate(-50%, -50%) rotate(120deg) scale(1.02); }
  66% { transform: translate(-50%, -50%) rotate(240deg) scale(0.98); }
  100% { transform: translate(-50%, -50%) rotate(360deg) scale(1); }
}
@keyframes stp-ring-b {
  0% { transform: translate(-50%, -50%) rotate(0deg) scale(1); }
  33% { transform: translate(-50%, -50%) rotate(-120deg) scale(0.98); }
  66% { transform: translate(-50%, -50%) rotate(-240deg) scale(1.02); }
  100% { transform: translate(-50%, -50%) rotate(-360deg) scale(1); }
}
@keyframes stp-core {
  0% { transform: translate(-50%, -50%) scale(1); box-shadow: 0 0 20px 8px rgba(224,200,160,0.4); }
  50% { transform: translate(-50%, -50%) scale(1.15); box-shadow: 0 0 40px 16px rgba(224,200,160,0.6); }
  100% { transform: translate(-50%, -50%) scale(0.95); box-shadow: 0 0 25px 10px rgba(224,200,160,0.5); }
}
@keyframes stp-shadow {
  0% { opacity: 0.4; }
  50% { opacity: 0.7; }
  100% { opacity: 0.5; }
}

.scn-man-soul-compound {
  background: linear-gradient(180deg, #f6efe0 0%, #e3d6c0 40%, #cbb99e 100%),
              radial-gradient(ellipse at 50% 20%, #fff8eb 0%, transparent 70%);
}
.scn-man-soul-compound .frame {
  position: absolute;
  inset: 5% 10% 5% 10%;
  border: 2px solid rgba(160, 140, 120, 0.15);
  border-radius: 50px;
  box-shadow: inset 0 0 40px rgba(0,0,0,0.05);
  animation: msc-frame 12s ease-in-out infinite alternate;
}
.scn-man-soul-compound .head {
  position: absolute;
  top: 18%;
  left: 50%;
  width: 60px;
  height: 70px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 30%, #e8dcc8 0%, #cbb99e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  animation: msc-head 8s ease-in-out infinite alternate;
}
.scn-man-soul-compound .torso {
  position: absolute;
  top: 38%;
  left: 50%;
  width: 90px;
  height: 100px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #dac8b0 0%, #b8a58e 100%);
  border-radius: 20% 20% 30% 30% / 30% 30% 40% 40%;
  box-shadow: inset 0 -8px 20px rgba(0,0,0,0.08);
  animation: msc-torso 10s ease-in-out infinite alternate;
}
.scn-man-soul-compound .arm {
  position: absolute;
  width: 30px;
  height: 80px;
  border-radius: 20% 20% 40% 40%;
  background: linear-gradient(180deg, #dac8b0 0%, #b8a58e 100%);
}
.scn-man-soul-compound .arm-left {
  top: 40%;
  left: 30%;
  transform-origin: top center;
  transform: rotate(10deg);
  animation: msc-arm-l 6s ease-in-out infinite alternate;
}
.scn-man-soul-compound .arm-right {
  top: 40%;
  right: 30%;
  transform-origin: top center;
  transform: rotate(-10deg);
  animation: msc-arm-r 6s ease-in-out infinite alternate;
}
.scn-man-soul-compound .leg {
  position: absolute;
  width: 28px;
  height: 90px;
  border-radius: 10% 10% 30% 30%;
  background: linear-gradient(180deg, #b8a58e 0%, #9a8873 100%);
}
.scn-man-soul-compound .leg-left {
  top: 58%;
  left: 40%;
  transform-origin: top center;
  transform: rotate(5deg);
  animation: msc-leg-l 7s ease-in-out infinite alternate;
}
.scn-man-soul-compound .leg-right {
  top: 58%;
  right: 40%;
  transform-origin: top center;
  transform: rotate(-5deg);
  animation: msc-leg-r 7s ease-in-out infinite alternate;
}
.scn-man-soul-compound .glow-core {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 30px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, #fff4d4 0%, #f0d6a0 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(240, 214, 160, 0.5);
  animation: msc-core 5s ease-in-out infinite alternate;
}
@keyframes msc-frame {
  0% { border-color: rgba(160,140,120,0.12); }
  50% { border-color: rgba(160,140,120,0.25); }
  100% { border-color: rgba(160,140,120,0.18); }
}
@keyframes msc-head {
  0% { transform: translateX(-50%) rotate(-2deg) scale(1); }
  50% { transform: translateX(-50%) rotate(2deg) scale(1.02); }
  100% { transform: translateX(-50%) rotate(-1deg) scale(0.99); }
}
@keyframes msc-torso {
  0% { transform: translateX(-50%) scaleY(1); }
  50% { transform: translateX(-50%) scaleY(1.02); }
  100% { transform: translateX(-50%) scaleY(0.98); }
}
@keyframes msc-arm-l {
  0% { transform: rotate(5deg); }
  50% { transform: rotate(15deg); }
  100% { transform: rotate(8deg); }
}
@keyframes msc-arm-r {
  0% { transform: rotate(-5deg); }
  50% { transform: rotate(-15deg); }
  100% { transform: rotate(-8deg); }
}
@keyframes msc-leg-l {
  0% { transform: rotate(2deg); }
  50% { transform: rotate(8deg); }
  100% { transform: rotate(4deg); }
}
@keyframes msc-leg-r {
  0% { transform: rotate(-2deg); }
  50% { transform: rotate(-8deg); }
  100% { transform: rotate(-4deg); }
}
@keyframes msc-core {
  0% { transform: translate(-50%, -50%) scale(0.9); opacity: 0.6; }
  50% { transform: translate(-50%, -50%) scale(1.2); opacity: 1; }
  100% { transform: translate(-50%, -50%) scale(1); opacity: 0.8; }
}

.scn-desire-and-anger {
  background: linear-gradient(180deg, #f7f0e6 0%, #e5d8c4 50%, #cebfaa 100%),
              radial-gradient(ellipse at 40% 30%, #fff8eb 0%, transparent 70%);
}
.scn-desire-and-anger .floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 20%;
  background: linear-gradient(180deg, #d9cab7 0%, #c0af9a 100%);
  border-radius: 20px 20px 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.06);
}
.scn-desire-and-anger .desire-figure {
  position: absolute;
  bottom: 22%;
  left: 25%;
  width: 30px;
  height: 70px;
  background: linear-gradient(180deg, #dac4a4 0%, #b8a086 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: da-desire 5s ease-in-out infinite alternate;
}
.scn-desire-and-anger .anger-figure {
  position: absolute;
  bottom: 22%;
  right: 25%;
  width: 30px;
  height: 70px;
  background: linear-gradient(180deg, #c4a080 0%, #a08066 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: da-anger 6s ease-in-out infinite alternate;
}
.scn-desire-and-anger .desire-orb {
  position: absolute;
  top: 30%;
  left: 20%;
  width: 50px;
  height: 50px;
  background: radial-gradient(circle, #ffecd6 0%, #e6c8a0 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(230, 200, 160, 0.4);
  animation: da-desire-orb 8s ease-in-out infinite alternate;
}
.scn-desire-and-anger .anger-orb {
  position: absolute;
  top: 35%;
  right: 20%;
  width: 50px;
  height: 50px;
  background: radial-gradient(circle, #ffd8b0 0%, #d4a870 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(212, 168, 112, 0.3);
  animation: da-anger-orb 7s ease-in-out infinite alternate;
}
.scn-desire-and-anger .tension-line {
  position: absolute;
  top: 50%;
  left: 25%;
  right: 25%;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(160, 140, 120, 0.3), transparent);
  transform: translateY(-50%);
  animation: da-line 4s ease-in-out infinite alternate;
}
@keyframes da-desire {
  0% { transform: translateX(0) rotate(-3deg); }
  50% { transform: translateX(6px) rotate(2deg); }
  100% { transform: translateX(0) rotate(-1deg); }
}
@keyframes da-anger {
  0% { transform: translateX(0) rotate(3deg); }
  50% { transform: translateX(-6px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(1deg); }
}
@keyframes da-desire-orb {
  0% { transform: translate(0, 0) scale(1); opacity: 0.6; }
  50% { transform: translate(12px, -8px) scale(1.1); opacity: 1; }
  100% { transform: translate(0, 0) scale(0.95); opacity: 0.7; }
}
@keyframes da-anger-orb {
  0% { transform: translate(0, 0) scale(1); opacity: 0.6; }
  50% { transform: translate(-12px, 6px) scale(1.1); opacity: 1; }
  100% { transform: translate(0, 0) scale(0.95); opacity: 0.7; }
}
@keyframes da-line {
  0% { opacity: 0.3; transform: translateY(-50%) scaleX(1); }
  50% { opacity: 0.7; transform: translateY(-50%) scaleX(1.05); }
  100% { opacity: 0.4; transform: translateY(-50%) scaleX(0.95); }
}

.scn-antipathy-evidence {
  background: linear-gradient(180deg, #f2ecda 0%, #dccdb9 50%, #c0ae98 100%),
              radial-gradient(ellipse at 50% 20%, #fff4e0 0%, transparent 70%);
}
.scn-antipathy-evidence .pedestal {
  position: absolute;
  bottom: 15%;
  left: 50%;
  width: 30px;
  height: 40px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #b8a58e 0%, #a08d74 100%);
  border-radius: 10% 10% 20% 20%;
}
.scn-antipathy-evidence .beam {
  position: absolute;
  top: 30%;
  left: 20%;
  right: 20%;
  height: 6px;
  transform-origin: center;
  background: linear-gradient(90deg, #b8a58e, #9a8873, #b8a58e);
  border-radius: 3px;
  animation: ae-beam 10s ease-in-out infinite alternate;
}
.scn-antipathy-evidence .pan {
  position: absolute;
  top: 40%;
  width: 40px;
  height: 20px;
  background: radial-gradient(ellipse at 50% 50%, #d4c0a8 0%, #b8a58e 100%);
  border-radius: 0 0 30% 30%;
}
.scn-antipathy-evidence .pan-left {
  left: 15%;
  animation: ae-pan-l 10s ease-in-out infinite alternate;
}
.scn-antipathy-evidence .pan-right {
  right: 15%;
  animation: ae-pan-r 10s ease-in-out infinite alternate;
}
.scn-antipathy-evidence .weight-left {
  position: absolute;
  top: 34%;
  left: 18%;
  width: 20px;
  height: 20px;
  background: radial-gradient(circle, #d4b890 0%, #b89878 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  animation: ae-weight-l 10s ease-in-out infinite alternate;
}
.scn-antipathy-evidence .weight-right {
  position: absolute;
  top: 34%;
  right: 18%;
  width: 20px;
  height: 20px;
  background: radial-gradient(circle, #c8a888 0%, #a88868 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  animation: ae-weight-r 10s ease-in-out infinite alternate;
}
.scn-antipathy-evidence .fulcrum-glow {
  position: absolute;
  bottom: 28%;
  left: 50%;
  width: 20px;
  height: 20px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #ffebc0 0%, #e8c890 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 8px rgba(232, 200, 144, 0.4);
  animation: ae-glow 6s ease-in-out infinite alternate;
}
@keyframes ae-beam {
  0% { transform: rotate(-8deg); }
  50% { transform: rotate(8deg); }
  100% { transform: rotate(-6deg); }
}
@keyframes ae-pan-l {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-10px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes ae-pan-r {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(10px) rotate(-2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes ae-weight-l {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-12px) scale(1.05); }
  100% { transform: translateY(0) scale(0.98); }
}
@keyframes ae-weight-r {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(12px) scale(0.95); }
  100% { transform: translateY(0) scale(1.02); }
}
@keyframes ae-glow {
  0% { opacity: 0.6; transform: translateX(-50%) scale(1); }
  50% { opacity: 1; transform: translateX(-50%) scale(1.2); }
  100% { opacity: 0.7; transform: translateX(-50%) scale(0.9); }
}

.scn-camma-story { background: linear-gradient(180deg, #1e1a2b 0%, #2c2438 40%, #3d2d3b 100%), radial-gradient(ellipse at 50% 30%, #3d2d3b 0%, transparent 80%); }
.scn-camma-story .room-bg { position: absolute; inset: 0; background: linear-gradient(180deg, #241f30 0%, #2a2235 100%); }
.scn-camma-story .window { position: absolute; top: 15%; left: 15%; width: 30%; height: 40%; background: radial-gradient(ellipse at 50% 50%, #3a4a5c 0%, #1a2230 100%); border: 2px solid #3d3347; border-radius: 4px; }
.scn-camma-story .curtain { position: absolute; top: 12%; width: 20%; height: 50%; background: linear-gradient(180deg, #4a2a3a 0%, #3a1a2a 100%); border-radius: 4px; }
.scn-camma-story .curtain.left { left: 10%; transform-origin: left center; animation: cst-curtain 6s ease-in-out infinite; }
.scn-camma-story .curtain.right { right: 10%; transform-origin: right center; animation: cst-curtain 6s ease-in-out infinite reverse; }
.scn-camma-story .figure { position: absolute; bottom: 20%; left: 50%; transform: translateX(-50%); width: 24px; height: 60px; background: linear-gradient(180deg, #3a2a3a 0%, #1a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: cst-figure 5s ease-in-out infinite; }
.scn-camma-story .table { position: absolute; bottom: 10%; left: 50%; transform: translateX(-50%); width: 80px; height: 12px; background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%); border-radius: 2px; box-shadow: 0 2px 8px rgba(0,0,0,.6); }
.scn-camma-story .lamp { position: absolute; bottom: 24%; left: 50%; transform: translateX(-50%); width: 10px; height: 14px; background: radial-gradient(ellipse, #ffd080 0%, #c08040 60%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 30px 8px #c08040, 0 0 60px 16px rgba(192,128,64,.3); animation: cst-lamp 2s ease-in-out infinite alternate; }
.scn-camma-story .shadow { position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(0deg, #181018 0%, transparent 100%); opacity: 0.6; animation: cst-shadow 8s ease-in-out infinite; }
@keyframes cst-curtain { 0% { transform: skewX(0deg); } 50% { transform: skewX(4deg); } 100% { transform: skewX(0deg); } }
@keyframes cst-figure { 0% { transform: translateX(-50%) translateY(0) rotate(0deg); } 30% { transform: translateX(-50%) translateY(-2px) rotate(2deg); } 60% { transform: translateX(-50%) translateY(0) rotate(-1deg); } 100% { transform: translateX(-50%) translateY(0) rotate(0deg); } }
@keyframes cst-lamp { 0% { opacity: 0.8; box-shadow: 0 0 20px 4px #c08040; } 50% { opacity: 1; box-shadow: 0 0 40px 12px #ffd080; } 100% { opacity: 0.85; box-shadow: 0 0 28px 6px #c08040; } }
@keyframes cst-shadow { 0% { opacity: 0.5; } 50% { opacity: 0.7; } 100% { opacity: 0.5; } }

.scn-camma-vengeance { background: linear-gradient(180deg, #1a1a2e 0%, #222240 50%, #2a2a4e 100%), radial-gradient(ellipse at 50% 50%, #2a2a4e 0%, transparent 70%); }
.scn-camma-vengeance .temple-bg { position: absolute; inset: 0; background: linear-gradient(180deg, #1e1e30 0%, #2a2a48 100%); }
.scn-camma-vengeance .pillar { position: absolute; top: 0; bottom: 30%; width: 20px; background: linear-gradient(180deg, #4a4a6a 0%, #2a2a4a 100%); border-radius: 2px; }
.scn-camma-vengeance .pillar.left { left: 20%; animation: cav-pillar 10s ease-in-out infinite; }
.scn-camma-vengeance .pillar.right { right: 20%; animation: cav-pillar 10s ease-in-out infinite reverse; }
.scn-camma-vengeance .altar { position: absolute; bottom: 25%; left: 50%; transform: translateX(-50%); width: 60px; height: 30px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,.5); }
.scn-camma-vengeance .statue { position: absolute; bottom: 38%; left: 50%; transform: translateX(-50%); width: 30px; height: 50px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; animation: cav-statue 8s ease-in-out infinite; }
.scn-camma-vengeance .figure { position: absolute; bottom: 20%; left: 30%; width: 22px; height: 55px; background: linear-gradient(180deg, #3a2a3a 0%, #1a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cav-figure 6s ease-in-out infinite; }
.scn-camma-vengeance .flame { position: absolute; bottom: 48%; left: 50%; transform: translateX(-50%); width: 8px; height: 12px; background: radial-gradient(ellipse, #ffd080 0%, #c08040 60%); border-radius: 50%; box-shadow: 0 0 20px 6px #c08040; animation: cav-flame 0.8s ease-in-out infinite alternate; }
@keyframes cav-pillar { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes cav-statue { 0% { transform: translateX(-50%) rotate(0deg); } 33% { transform: translateX(-50%) rotate(1deg); } 66% { transform: translateX(-50%) rotate(-1deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes cav-figure { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(6px) translateY(-2px) rotate(2deg); } 75% { transform: translateX(-4px) translateY(0) rotate(-1deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }
@keyframes cav-flame { 0% { transform: scaleY(1); opacity: 0.9; } 50% { transform: scaleY(1.3); opacity: 1; } 100% { transform: scaleY(0.9); opacity: 0.8; } }

.scn-camma-death-joy { background: linear-gradient(180deg, #0a0a12 0%, #1a0a1a 50%, #2a0a0a 100%), radial-gradient(ellipse at 50% 40%, #2a0a0a 0%, transparent 80%); }
.scn-camma-death-joy .dark-bg { position: absolute; inset: 0; background: linear-gradient(180deg, #0e0e18 0%, #1e0a1a 100%); }
.scn-camma-death-joy .table { position: absolute; bottom: 15%; left: 50%; transform: translateX(-50%); width: 100px; height: 10px; background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%); border-radius: 2px; }
.scn-camma-death-joy .cup { position: absolute; bottom: 25%; left: 50%; transform: translateX(-50%); width: 14px; height: 18px; background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); border-radius: 30% 30% 20% 20%; box-shadow: 0 0 24px 6px #806040; animation: cdj-cup 4s ease-in-out infinite; }
.scn-camma-death-joy .figure-camma { position: absolute; bottom: 10%; left: 30%; width: 24px; height: 70px; background: linear-gradient(180deg, #3a2a3a 0%, #1a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cdj-camma 6s ease-in-out infinite; }
.scn-camma-death-joy .figure-sinorix { position: absolute; bottom: 10%; right: 30%; width: 26px; height: 70px; background: linear-gradient(180deg, #3a2a2a 0%, #1a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cdj-sinorix 6s ease-in-out infinite; }
.scn-camma-death-joy .glow { position: absolute; top: 20%; left: 50%; transform: translateX(-50%); width: 60px; height: 60px; background: radial-gradient(circle, #ffd080 0%, transparent 70%); opacity: 0.3; animation: cdj-glow 3s ease-in-out infinite alternate; }
.scn-camma-death-joy .drip { position: absolute; bottom: 30%; left: 50%; transform: translateX(-50%); width: 2px; height: 8px; background: #806040; border-radius: 10%; animation: cdj-drip 2s ease-in-out infinite; }
@keyframes cdj-cup { 0% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) rotate(5deg) translateY(-2px); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes cdj-camma { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(-5px) rotate(-3deg) translateY(-2px); } 60% { transform: translateX(3px) rotate(2deg) translateY(-1px); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes cdj-sinorix { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(5px) rotate(3deg) translateY(-1px); } 60% { transform: translateX(-3px) rotate(-2deg) translateY(-2px); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes cdj-glow { 0% { opacity: 0.2; transform: translateX(-50%) scale(0.9); } 50% { opacity: 0.5; transform: translateX(-50%) scale(1.2); } 100% { opacity: 0.3; transform: translateX(-50%) scale(1); } }
@keyframes cdj-drip { 0% { transform: translateY(0); opacity: 0; } 50% { transform: translateY(8px); opacity: 1; } 100% { transform: translateY(16px); opacity: 0; } }

.scn-many-examples-aphrodite-friendship { background: linear-gradient(180deg, #fce8d0 0%, #f0d0b0 50%, #e8b890 100%), radial-gradient(ellipse at 50% 30%, #fce8d0 0%, transparent 80%); }
.scn-many-examples-aphrodite-friendship .garden-bg { position: absolute; inset: 0; background: linear-gradient(180deg, #f5e0c0 0%, #e8c8a0 100%); }
.scn-many-examples-aphrodite-friendship .statue { position: absolute; bottom: 30%; left: 50%; transform: translateX(-50%); width: 40px; height: 80px; background: linear-gradient(180deg, #e8d8c8 0%, #c8b8a8 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; box-shadow: 2px 2px 10px rgba(0,0,0,0.1); animation: maf-statue 12s ease-in-out infinite; }
.scn-many-examples-aphrodite-friendship .dove { position: absolute; width: 20px; height: 12px; background: radial-gradient(ellipse at 50% 50%, #f0e0d0 0%, #d0c0b0 100%); border-radius: 50%; }
.scn-many-examples-aphrodite-friendship .dove1 { top: 25%; left: 20%; animation: maf-dove1 15s linear infinite; }
.scn-many-examples-aphrodite-friendship .dove2 { top: 35%; right: 20%; animation: maf-dove2 18s linear infinite; }
.scn-many-examples-aphrodite-friendship .figure { position: absolute; bottom: 15%; width: 30px; height: 70px; background: linear-gradient(180deg, #d0b8a0 0%, #b09880 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; }
.scn-many-examples-aphrodite-friendship .figure1 { left: 30%; transform-origin: bottom center; animation: maf-figure1 8s ease-in-out infinite; }
.scn-many-examples-aphrodite-friendship .figure2 { right: 30%; transform-origin: bottom center; animation: maf-figure2 8s ease-in-out infinite reverse; }
.scn-many-examples-aphrodite-friendship .rose { position: absolute; bottom: 35%; left: 50%; transform: translateX(-50%); width: 12px; height: 12px; background: radial-gradient(circle, #e87878 0%, #a0461a 100%); border-radius: 50%; box-shadow: 0 0 12px 4px #e87878; animation: maf-rose 4s ease-in-out infinite; }
@keyframes maf-statue { 0% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) rotate(2deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes maf-dove1 { 0% { transform: translateX(0) translateY(0); } 25% { transform: translateX(30px) translateY(-10px); } 50% { transform: translateX(60px) translateY(0); } 75% { transform: translateX(30px) translateY(-5px); } 100% { transform: translateX(0) translateY(0); } }
@keyframes maf-dove2 { 0% { transform: translateX(0) translateY(0); } 33% { transform: translateX(-20px) translateY(-15px); } 66% { transform: translateX(-40px) translateY(0); } 100% { transform: translateX(0) translateY(0); } }
@keyframes maf-figure1 { 0% { transform: rotate(0deg); } 25% { transform: rotate(-5deg) translateX(2px); } 75% { transform: rotate(4deg) translateX(-2px); } 100% { transform: rotate(0deg); } }
@keyframes maf-figure2 { 0% { transform: rotate(0deg); } 25% { transform: rotate(5deg) translateX(-2px); } 75% { transform: rotate(-4deg) translateX(2px); } 100% { transform: rotate(0deg); } }
@keyframes maf-rose { 0% { transform: translateX(-50%) scale(1) rotate(0deg); } 50% { transform: translateX(-50%) scale(1.1) rotate(10deg); } 100% { transform: translateX(-50%) scale(1) rotate(0deg); } }

/* ========== narrative-chorus-stage (warm bright interior) ========== */
.scn-narrative-chorus-stage {
  background:
    radial-gradient(ellipse at 50% 30%, #f4d5a0 0%, transparent 70%),
    linear-gradient(180deg, #d89f6a 0%, #b57842 50%, #8c5a2e 100%);
}
.scn-narrative-chorus-stage .backdrop {
  position: absolute; inset: 0 5% 28% 5%;
  background: linear-gradient(135deg, #c28b5e 0%, #a06e42 50%, #7a4f28 100%);
  border-radius: 0 0 40% 40% / 0 0 20% 20%;
  animation: cs-back 16s ease-in-out infinite alternate;
}
.scn-narrative-chorus-stage .curtain {
  position: absolute; top: 0; bottom: 25%; width: 25%;
  background: linear-gradient(90deg, #8a4a2a 0%, #b55e3a 30%, #c66a44 70%, #8a4a2a 100%);
  border-radius: 0 0 20% 20%;
  animation: cs-curtain 8s ease-in-out infinite alternate;
}
.scn-narrative-chorus-stage .curtain.left  { left: 0; }
.scn-narrative-chorus-stage .curtain.right { right: 0; }
.scn-narrative-chorus-stage .floor {
  position: absolute; bottom: 0; left: 5%; right: 5%; height: 28%;
  background: linear-gradient(180deg, #7a5a38 0%, #5a3a1a 100%);
  border-radius: 40% 40% 0 0 / 60% 60% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,.4);
  animation: cs-floor 12s ease-in-out infinite;
}
.scn-narrative-chorus-stage .spotlight {
  position: absolute; top: 8%; left: 50%; width: 60%; height: 60%;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 0%, rgba(255,230,180,.7) 0%, transparent 70%);
  clip-path: polygon(20% 0%, 80% 0%, 60% 100%, 40% 100%);
  animation: cs-light 5s ease-in-out infinite alternate;
}
.scn-narrative-chorus-stage .chorus {
  position: absolute; bottom: 26%; left: 50%; width: 40%; height: 45%;
  transform: translateX(-50%);
  background:
    radial-gradient(ellipse 50% 60% at 50% 20%, #3a2a1a 0%, transparent 70%),
    linear-gradient(180deg, #2a1a0a 0%, #1a0e05 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: cs-chorus 6s ease-in-out infinite;
}
.scn-narrative-chorus-stage .footlights {
  position: absolute; bottom: 25%; left: 30%; right: 30%; height: 3%;
  background: linear-gradient(90deg, transparent 0%, #ffd280 20%, #ffb84d 50%, #ffd280 80%, transparent 100%);
  border-radius: 50% / 100%;
  filter: blur(4px);
  animation: cs-foot 3s ease-in-out infinite alternate;
}
@keyframes cs-back   { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(.5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes cs-curtain{ 0% { transform: scaleX(1); } 50% { transform: scaleX(1.03); } 100% { transform: scaleX(1); } }
@keyframes cs-floor  { 0% { opacity: .9; } 50% { opacity: 1; } 100% { opacity: .95; } }
@keyframes cs-light  { 0% { opacity: .7; filter: blur(0px); } 50% { opacity: 1; filter: blur(2px); } 100% { opacity: .8; filter: blur(0px); } }
@keyframes cs-chorus { 0% { transform: translateX(-50%) translateY(0); } 25% { transform: translateX(-48%) translateY(-3px); } 50% { transform: translateX(-50%) translateY(0); } 75% { transform: translateX(-52%) translateY(-2px); } 100% { transform: translateX(-50%) translateY(0); } }
@keyframes cs-foot   { 0% { opacity: .6; } 50% { opacity: 1; } 100% { opacity: .7; } }

/* ========== father-sacrifice-love (calm bright interior) ========== */
.scn-father-sacrifice-love {
  background:
    radial-gradient(ellipse at 50% 20%, #efe0c0 0%, transparent 60%),
    linear-gradient(180deg, #d8c4a8 0%, #b8a080 50%, #8a6e50 100%);
}
.scn-father-sacrifice-love .temple-wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #c4b49a 0%, #a48a6e 100%);
  border-radius: 0 0 10% 10%;
  animation: sl-wall 20s ease-in-out infinite alternate;
}
.scn-father-sacrifice-love .pillar-left,
.scn-father-sacrifice-love .pillar-right {
  position: absolute; top: 0; bottom: 22%; width: 8%;
  background: linear-gradient(90deg, #d4c0a8 0%, #b8a080 50%, #d4c0a8 100%);
  border-radius: 6% 6% 0 0;
  box-shadow: 2px 0 6px rgba(0,0,0,.15);
  animation: sl-pillar 10s ease-in-out infinite alternate;
}
.scn-father-sacrifice-love .pillar-left  { left: 22%; }
.scn-father-sacrifice-love .pillar-right { right: 22%; }
.scn-father-sacrifice-love .altar {
  position: absolute; bottom: 22%; left: 50%; width: 22%; height: 18%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #9a7a5a 0%, #6a4e32 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 6px 12px rgba(0,0,0,.3);
  animation: sl-altar 12s ease-in-out infinite;
}
.scn-father-sacrifice-love .flame {
  position: absolute; bottom: 32%; left: 50%; width: 8%; height: 14%;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 80%, #ffd080 0%, #ffa040 40%, #c06020 70%, transparent 100%);
  border-radius: 50% 50% 0 0 / 60% 60% 0 0;
  animation: sl-flame 3s ease-in-out infinite alternate;
  box-shadow: 0 0 30px 10px rgba(255,160,64,.5), 0 0 60px 20px rgba(255,150,50,.25);
}
.scn-father-sacrifice-love .father {
  position: absolute; bottom: 20%; left: 38%; width: 7%; height: 28%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e05 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sl-figure 5s ease-in-out infinite alternate;
}
.scn-father-sacrifice-love .mother {
  position: absolute; bottom: 20%; right: 38%; width: 7%; 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: sl-figure 5s ease-in-out infinite alternate-reverse;
}
.scn-father-sacrifice-love .offering {
  position: absolute; bottom: 30%; left: 48.5%; width: 3%; height: 4%;
  background: radial-gradient(circle, #e8c080 0%, #b08040 70%);
  border-radius: 50%;
  box-shadow: 0 0 8px 2px rgba(200,160,80,.5);
  animation: sl-offer 6s ease-in-out infinite;
}
.scn-father-sacrifice-love .smoke {
  position: absolute; bottom: 35%; left: 50%; width: 4%; height: 20%;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 100%, rgba(200,180,160,.3) 0%, transparent 80%);
  filter: blur(6px);
  animation: sl-smoke 8s ease-in-out infinite;
}
@keyframes sl-wall    { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.01); } 100% { transform: scaleY(1); } }
@keyframes sl-pillar  { 0% { opacity: .9; } 50% { opacity: 1; } 100% { opacity: .95; } }
@keyframes sl-altar   { 0% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-2px); } 100% { transform: translateX(-50%) translateY(0); } }
@keyframes sl-flame   { 0% { transform: translateX(-50%) scaleY(1); opacity: .8; } 50% { transform: translateX(-50%) scaleY(1.2); opacity: 1; } 100% { transform: translateX(-50%) scaleY(.95); opacity: .9; } }
@keyframes sl-figure  { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(4px) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes sl-offer   { 0% { opacity: .7; } 50% { opacity: 1; } 100% { opacity: .8; } }
@keyframes sl-smoke   { 0% { transform: translateX(-50%) translateY(0) scaleY(1); opacity: .4; } 50% { transform: translateX(-50%) translateY(-10px) scaleY(1.3); opacity: .6; } 100% { transform: translateX(-50%) translateY(0) scaleY(1); opacity: .4; } }

/* ========== strangers-and-boeotians (calm bright interior) ========== */
.scn-strangers-and-boeotians {
  background:
    radial-gradient(ellipse at 50% 30%, #f0e8dc 0%, transparent 60%),
    linear-gradient(180deg, #d8ccb8 0%, #b0a08c 50%, #8a7660 100%);
}
.scn-strangers-and-boeotians .hall-bg {
  position: absolute; inset: 0 0 18% 0;
  background: linear-gradient(180deg, #d0c0a8 0%, #a09078 100%);
  border-radius: 0 0 30% 30% / 0 0 10% 10%;
  animation: sb-hall 25s ease-in-out infinite alternate;
}
.scn-strangers-and-boeotians .pillar-a,
.scn-strangers-and-boeotians .pillar-b {
  position: absolute; top: 0; bottom: 20%; width: 6%;
  background: linear-gradient(90deg, #e0d0b8 0%, #c0b098 50%, #e0d0b8 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 2px 0 5px rgba(0,0,0,.1);
}
.scn-strangers-and-boeotians .pillar-a { left: 18%; animation: sb-pillar 10s ease-in-out infinite alternate; }
.scn-strangers-and-boeotians .pillar-b { right: 18%; animation: sb-pillar 10s ease-in-out infinite alternate-reverse; }
.scn-strangers-and-boeotians .table {
  position: absolute; bottom: 16%; left: 30%; right: 30%; height: 8%;
  background: linear-gradient(180deg, #8a6e4e 0%, #5a3e1e 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: 0 4px 8px rgba(0,0,0,.3);
  animation: sb-table 12s ease-in-out infinite;
}
.scn-strangers-and-boeotians .stranger-one {
  position: absolute; bottom: 22%; left: 28%; width: 7%; height: 26%;
  background: linear-gradient(180deg, #4a3a2a 0%, #1a1208 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sb-figure 6s ease-in-out infinite;
}
.scn-strangers-and-boeotians .stranger-two {
  position: absolute; bottom: 22%; right: 28%; width: 7%; height: 28%;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sb-figure 6s ease-in-out infinite alternate;
}
.scn-strangers-and-boeotians .boeotian {
  position: absolute; bottom: 22%; left: 50%; width: 7%; height: 30%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e05 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sb-figure 5s ease-in-out infinite 1s;
}
.scn-strangers-and-boeotians .vase {
  position: absolute; bottom: 18%; left: 48%; width: 4%; height: 10%;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a2a0a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  animation: sb-vase 15s ease-in-out infinite alternate;
}
@keyframes sb-hall   { 0% { opacity: .95; } 50% { opacity: 1; } 100% { opacity: .98; } }
@keyframes sb-pillar { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes sb-table  { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes sb-figure { 0% { transform: translateX(0) rotate(-1deg); } 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 sb-vase   { 0% { transform: scaleY(1); opacity: .8; } 50% { transform: scaleY(1.05); opacity: 1; } 100% { transform: scaleY(1); opacity: .9; } }

/* ========== anthemion-pisias-rivals (tense overcast) ========== */
.scn-anthemion-pisias-rivals {
  background:
    radial-gradient(ellipse at 50% 30%, #2a2a3a 0%, transparent 70%),
    linear-gradient(180deg, #1e1e2e 0%, #12121e 50%, #0a0a14 100%);
}
.scn-anthemion-pisias-rivals .bg-dark {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #1a1a28 0%, #0e0e18 100%);
  animation: pr-bg 20s ease-in-out infinite alternate;
}
.scn-anthemion-pisias-rivals .rival-left {
  position: absolute; bottom: 12%; left: 22%; width: 12%; height: 50%;
  background: linear-gradient(180deg, #2a2028 0%, #141016 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  filter: drop-shadow(0 4px 8px rgba(0,0,0,.6));
  animation: pr-figure 4s ease-in-out infinite;
}
.scn-anthemion-pisias-rivals .rival-right {
  position: absolute; bottom: 12%; right: 22%; width: 12%; height: 52%;
  background: linear-gradient(180deg, #3a2a30 0%, #1a0e12 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  filter: drop-shadow(0 4px 8px rgba(0,0,0,.6));
  animation: pr-figure 4s ease-in-out infinite alternate;
}
.scn-anthemion-pisias-rivals .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a14 100%);
  border-radius: 30% 30% 0 0 / 50% 50% 0 0;
  box-shadow: inset 0 6px 12px rgba(0,0,0,.5);
}
.scn-anthemion-pisias-rivals .shadow-line {
  position: absolute; bottom: 22%; left: 10%; right: 10%; height: 2%;
  background: linear-gradient(90deg, transparent 0%, #3a3a4a 20%, #2a2a3a 50%, #3a3a4a 80%, transparent 100%);
  filter: blur(3px);
  animation: pr-shadow 5s ease-in-out infinite alternate;
}
.scn-anthemion-pisias-rivals .baccho-figure {
  position: absolute; bottom: 32%; left: 50%; width: 6%; height: 18%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3a3a 0%, #1a1212 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: pr-baccho 6s ease-in-out infinite;
}
@keyframes pr-bg     { 0% { opacity: .9; } 50% { opacity: 1; } 100% { opacity: .85; } }
@keyframes pr-figure { 0% { transform: translateX(0) rotate(-3deg); } 25% { transform: translateX(6px) rotate(2deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(-6px) rotate(3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes pr-shadow { 0% { opacity: .5; } 50% { opacity: .8; } 100% { opacity: .6; } }
@keyframes pr-baccho { 0% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(1.05) translateY(-2px); } 100% { transform: translateX(-50%) scaleY(1); } }

/* Scene 1: overnight-change-impossible (tense, dim-interior) */
.scn-overnight-change-impossible {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #0f0f1a 40%, #1e1e3a 100%),
    radial-gradient(ellipse at 30% 20%, #2a2a4e 0%, transparent 60%);
}
.scn-overnight-change-impossible .room-wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(90deg, #0d0d15 0%, #1a1a2a 50%, #12121e 100%);
  animation: sc1-wall 8s ease-in-out infinite alternate;
}
.scn-overnight-change-impossible .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #1c1c30 0%, #0a0a14 100%);
}
.scn-overnight-change-impossible .bed {
  position: absolute; bottom: 25%; left: 25%; width: 50%; height: 30%;
  background: linear-gradient(180deg, #2c2c44 0%, #18182a 100%);
  border-radius: 6px 6px 0 0; box-shadow: 0 -8px 16px rgba(0,0,0,.6);
}
.scn-overnight-change-impossible .bedding-curve {
  position: absolute; bottom: 40%; left: 30%; width: 40%; height: 8%;
  background: linear-gradient(180deg, #3a3a5a 0%, #2a2a42 100%);
  border-radius: 50% 50% 0 0; filter: blur(3px);
  animation: sc1-curve 6s ease-in-out infinite alternate;
}
.scn-overnight-change-impossible .figure-sitting {
  position: absolute; bottom: 35%; left: 42%; width: 12%; height: 20%;
  background: linear-gradient(180deg, #1a1a2e 0%, #0a0a16 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sc1-figure 4s ease-in-out infinite;
}
.scn-overnight-change-impossible .lamp-glow {
  position: absolute; bottom: 45%; left: 65%; width: 6%; height: 12%;
  background: radial-gradient(circle at 50% 10%, #b08020 0%, transparent 70%);
  border-radius: 20% 20% 50% 50%; box-shadow: 0 0 60px 20px rgba(176,128,32,.3);
  animation: sc1-lamp 3s ease-in-out infinite alternate;
}
.scn-overnight-change-impossible .shadow-shaft {
  position: absolute; bottom: 35%; left: 20%; width: 8%; height: 40%;
  background: linear-gradient(180deg, rgba(0,0,0,.7) 0%, transparent 80%);
  border-radius: 10%; filter: blur(4px);
  animation: sc1-shaft 5s ease-in-out infinite alternate;
}
.scn-overnight-change-impossible .motes-a,
.scn-overnight-change-impossible .motes-b {
  position: absolute; width: 3px; height: 3px;
  background: #c0a060; border-radius: 50%;
  filter: blur(2px); opacity: 0.4;
  animation: sc1-motes 12s linear infinite;
}
.scn-overnight-change-impossible .motes-a { top: 30%; left: 40%; animation-delay: 0s; }
.scn-overnight-change-impossible .motes-b { top: 20%; left: 60%; animation-delay: -4s; }

@keyframes sc1-wall     { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes sc1-curve    { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(0) } }
@keyframes sc1-figure   { 0% { transform: translateY(0) rotate(-2deg) } 25% { transform: translateY(-2px) rotate(0deg) } 50% { transform: translateY(0) rotate(2deg) } 75% { transform: translateY(-1px) rotate(0deg) } 100% { transform: translateY(0) rotate(-2deg) } }
@keyframes sc1-lamp     { 0% { box-shadow: 0 0 30px 10px rgba(176,128,32,.2); opacity:0.7 } 50% { box-shadow: 0 0 80px 30px rgba(176,128,32,.5); opacity:1 } 100% { box-shadow: 0 0 40px 15px rgba(176,128,32,.3); opacity:0.8 } }
@keyframes sc1-shaft    { 0% { transform: scaleY(0.8) translateX(0) } 50% { transform: scaleY(1.2) translateX(5px) } 100% { transform: scaleY(0.9) translateX(-3px) } }
@keyframes sc1-motes    { 0% { transform: translate(0,0); opacity:0.4 } 25% { transform: translate(10px,-20px); opacity:0.2 } 50% { transform: translate(20px,10px); opacity:0.5 } 75% { transform: translate(5px,-30px); opacity:0.3 } 100% { transform: translate(0,0); opacity:0.4 } }

/* Scene 2: caeneus-transformation (calm, bright-interior) */
.scn-caeneus-transformation {
  background:
    linear-gradient(180deg, #f5f0e8 0%, #e0d8c8 60%, #d0c0a8 100%),
    radial-gradient(ellipse at 50% 30%, #fff5e0 0%, transparent 60%);
}
.scn-caeneus-transformation .chamber-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #e8ddd0 0%, #f0e6d8 50%, #e0d0c0 100%);
  animation: sc2-wall 12s ease-in-out infinite alternate;
}
.scn-caeneus-transformation .chamber-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #c8b8a0 0%, #b0a088 100%);
  box-shadow: inset 0 6px 12px rgba(0,0,0,.1);
}
.scn-caeneus-transformation .window-light {
  position: absolute; top: 10%; left: 35%; width: 30%; height: 50%;
  background: radial-gradient(ellipse at 50% 50%, #fffce8 0%, rgba(255,252,232,0.1) 80%);
  border-radius: 10% 10% 0 0;
  animation: sc2-light 8s ease-in-out infinite alternate;
}
.scn-caeneus-transformation .figure-back {
  position: absolute; bottom: 25%; left: 45%; width: 12%; height: 35%;
  background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sc2-figure 6s ease-in-out infinite;
}
.scn-caeneus-transformation .shoulder-drape {
  position: absolute; bottom: 40%; left: 43%; width: 16%; height: 12%;
  background: linear-gradient(180deg, #9a8a7a 0%, #7a6a5a 100%);
  border-radius: 20% 20% 40% 40%;
  transform-origin: top center;
  animation: sc2-drape 4s ease-in-out infinite alternate;
}
.scn-caeneus-transformation .transformation-spark {
  position: absolute; bottom: 35%; left: 48%; width: 4%; height: 4%;
  background: radial-gradient(circle, #ffe8b0 0%, rgba(255,232,176,0) 80%);
  border-radius: 50%;
  box-shadow: 0 0 40px 15px rgba(255,232,176,.4);
  animation: sc2-spark 5s ease-in-out infinite;
}
.scn-caeneus-transformation .floor-shadow {
  position: absolute; bottom: 10%; left: 40%; width: 20%; height: 15%;
  background: radial-gradient(ellipse, rgba(0,0,0,.15) 0%, transparent 70%);
  border-radius: 50%;
  animation: sc2-shadow 6s ease-in-out infinite alternate;
}
.scn-caeneus-transformation .dust-motes {
  position: absolute; top: 20%; left: 20%; width: 4px; height: 4px;
  background: rgba(200,180,140,0.6); border-radius: 50%;
  filter: blur(3px);
  animation: sc2-dust 15s linear infinite;
}

@keyframes sc2-wall   { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes sc2-light  { 0% { opacity:0.7; transform: scale(1) } 50% { opacity:1; transform: scale(1.05) } 100% { opacity:0.8; transform: scale(0.95) } }
@keyframes sc2-figure { 0% { transform: translateY(0) rotate(-1deg) } 25% { transform: translateY(-3px) rotate(1deg) } 50% { transform: translateY(0) rotate(0deg) } 75% { transform: translateY(-2px) rotate(-1deg) } 100% { transform: translateY(0) rotate(1deg) } }
@keyframes sc2-drape  { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(5px) rotate(3deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes sc2-spark  { 0% { opacity:0.3; transform: scale(0.5) } 25% { opacity:1; transform: scale(1.2) } 50% { opacity:0.6; transform: scale(0.8) } 75% { opacity:0.9; transform: scale(1) } 100% { opacity:0.3; transform: scale(0.5) } }
@keyframes sc2-shadow { 0% { transform: scaleX(0.9) } 50% { transform: scaleX(1.1) } 100% { transform: scaleX(0.95) } }
@keyframes sc2-dust   { 0% { transform: translate(0,0); opacity:0.5 } 25% { transform: translate(20px,-30px); opacity:0.2 } 50% { transform: translate(-10px,10px); opacity:0.6 } 75% { transform: translate(15px,-40px); opacity:0.3 } 100% { transform: translate(0,0); opacity:0.5 } }

/* Scene 3: measure-stone-by-rule (calm, bright-interior) */
.scn-measure-stone-by-rule {
  background:
    linear-gradient(180deg, #e8e0d0 0%, #d0c8b8 50%, #b8b0a0 100%),
    radial-gradient(ellipse at 50% 80%, #f0e8d8 0%, transparent 60%);
}
.scn-measure-stone-by-rule .workbench {
  position: absolute; bottom: 20%; left: 10%; width: 80%; height: 8%;
  background: linear-gradient(180deg, #c8b898 0%, #a89878 100%);
  border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.2);
}
.scn-measure-stone-by-rule .stone-block {
  position: absolute; bottom: 28%; left: 30%; width: 18%; height: 14%;
  background: linear-gradient(135deg, #9a8a7a 0%, #6a5a4a 100%);
  border-radius: 6px; box-shadow: inset -4px -4px 8px rgba(0,0,0,.3), 0 6px 12px rgba(0,0,0,.2);
  animation: sc3-stone 10s ease-in-out infinite alternate;
}
.scn-measure-stone-by-rule .mason-rule {
  position: absolute; bottom: 30%; left: 28%; width: 22%; height: 2%;
  background: linear-gradient(90deg, #b8a888 0%, #c8b898 10%, #b8a888 20%, #c8b898 30%, #b8a888 40%, #c8b898 50%, #b8a888 60%, #c8b898 70%, #b8a888 80%, #c8b898 90%, #b8a888 100%);
  border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,.2);
  animation: sc3-rule 5s ease-in-out infinite;
}
.scn-measure-stone-by-rule .hands-left {
  position: absolute; bottom: 32%; left: 25%; width: 8%; height: 10%;
  background: linear-gradient(180deg, #c0a888 0%, #a08868 100%);
  border-radius: 20% 20% 30% 30%;
  transform-origin: top left;
  animation: sc3-hand 4s ease-in-out infinite alternate;
}
.scn-measure-stone-by-rule .chisel-mark {
  position: absolute; bottom: 30%; left: 33%; width: 2%; height: 6%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 0 0 10% 10%;
  animation: sc3-mark 6s ease-in-out infinite alternate;
}
.scn-measure-stone-by-rule .stone-dust {
  position: absolute; bottom: 35%; left: 32%; width: 6%; height: 4%;
  background: radial-gradient(ellipse, #d0c0a8 0%, transparent 70%);
  filter: blur(3px);
  animation: sc3-dust 3s ease-in-out infinite;
}
.scn-measure-stone-by-rule .light-shaft {
  position: absolute; top: 5%; left: 20%; width: 10%; height: 50%;
  background: linear-gradient(180deg, rgba(255,255,220,0.3) 0%, transparent 100%);
  border-radius: 0 0 20% 20%;
  animation: sc3-shaft 8s ease-in-out infinite alternate;
}
.scn-measure-stone-by-rule .shadow-under {
  position: absolute; bottom: 20%; left: 28%; width: 22%; height: 8%;
  background: radial-gradient(ellipse, rgba(0,0,0,.2) 0%, transparent 70%);
  border-radius: 50%;
  animation: sc3-under 7s ease-in-out infinite alternate;
}

@keyframes sc3-stone { 0% { transform: rotate(-1deg) scale(1); } 50% { transform: rotate(1deg) scale(1.02); } 100% { transform: rotate(-0.5deg) scale(0.98); } }
@keyframes sc3-rule  { 0% { transform: translateX(0) } 50% { transform: translateX(3px) } 100% { transform: translateX(0) } }
@keyframes sc3-hand  { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(3deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes sc3-mark  { 0% { opacity:0.5; transform: scaleY(1) } 50% { opacity:1; transform: scaleY(1.2) } 100% { opacity:0.6; transform: scaleY(0.9) } }
@keyframes sc3-dust  { 0% { transform: translate(0,0); opacity:0.4 } 50% { transform: translate(5px,-5px); opacity:0.8 } 100% { transform: translate(0,0); opacity:0.4 } }
@keyframes sc3-shaft { 0% { opacity:0.3; transform: scaleX(1) } 50% { opacity:0.6; transform: scaleX(1.2) } 100% { opacity:0.4; transform: scaleX(0.9) } }
@keyframes sc3-under { 0% { transform: scaleX(0.9) } 50% { transform: scaleX(1.1) } 100% { transform: scaleX(0.95) } }

/* Scene 4: stoics-self-refute (tense, bright-interior) */
.scn-stoics-self-refute {
  background:
    linear-gradient(180deg, #e0d8c8 0%, #c8c0b0 30%, #a09888 100%),
    radial-gradient(ellipse at 60% 40%, #f0e8d8 0%, transparent 50%);
}
.scn-stoics-self-refute .great-hall {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #c8c0b0 0%, #d8d0c0 50%, #b8b0a0 100%);
  animation: sc4-hall 10s ease-in-out infinite alternate;
}
.scn-stoics-self-refute .column-left {
  position: absolute; top: 0; left: 10%; width: 6%; height: 100%;
  background: linear-gradient(180deg, #c8b8a8 0%, #a89888 100%);
  border-radius: 4px; box-shadow: 4px 0 8px rgba(0,0,0,.1);
}
.scn-stoics-self-refute .column-right {
  position: absolute; top: 0; right: 10%; width: 6%; height: 100%;
  background: linear-gradient(180deg, #c8b8a8 0%, #a89888 100%);
  border-radius: 4px; box-shadow: -4px 0 8px rgba(0,0,0,.1);
}
.scn-stoics-self-refute .figure-accuser {
  position: absolute; bottom: 20%; left: 25%; width: 14%; height: 40%;
  background: linear-gradient(180deg, #3a4a5a 0%, #1a2a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sc4-accur 5s ease-in-out infinite;
}
.scn-stoics-self-refute .figure-accused {
  position: absolute; bottom: 20%; right: 30%; width: 12%; height: 38%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sc4-accd 6s ease-in-out infinite;
}
.scn-stoics-self-refute .shadow-stripe {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 10%;
  background: linear-gradient(90deg, transparent 15%, rgba(0,0,0,.15) 20%, rgba(0,0,0,.15) 30%, transparent 35%, rgba(0,0,0,.15) 50%, transparent 55%);
  filter: blur(3px);
  animation: sc4-stripe 8s ease-in-out infinite alternate;
}
.scn-stoics-self-refute .light-pool {
  position: absolute; top: 40%; left: 30%; width: 40%; height: 30%;
  background: radial-gradient(ellipse, rgba(255,240,200,0.4) 0%, transparent 70%);
  border-radius: 50%;
  animation: sc4-pool 7s ease-in-out infinite alternate;
}
.scn-stoics-self-refute .broken-statue {
  position: absolute; bottom: 24%; left: 50%; width: 8%; height: 20%;
  background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%);
  border-radius: 10% 10% 4% 4%;
  clip-path: polygon(20% 0%, 80% 0%, 90% 30%, 70% 100%, 30% 100%, 10% 30%);
  transform: rotate(-5deg);
  animation: sc4-statue 9s ease-in-out infinite alternate;
}

@keyframes sc4-hall   { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes sc4-accur  { 0% { transform: translateY(0) rotate(-2deg) } 25% { transform: translateY(-3px) rotate(0deg) } 50% { transform: translateY(0) rotate(2deg) } 75% { transform: translateY(-2px) rotate(-1deg) } 100% { transform: translateY(0) rotate(-2deg) } }
@keyframes sc4-accd   { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-2px) rotate(-1deg) } 50% { transform: translateY(0) rotate(1deg) } 75% { transform: translateY(-3px) rotate(0deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes sc4-stripe  { 0% { opacity:0.3; transform: scaleX(1) } 50% { opacity:0.6; transform: scaleX(1.1) } 100% { opacity:0.4; transform: scaleX(0.95) } }
@keyframes sc4-pool   { 0% { opacity:0.4; transform: scale(0.9) } 50% { opacity:0.8; transform: scale(1.1) } 100% { opacity:0.5; transform: scale(0.95) } }
@keyframes sc4-statue { 0% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(-3deg) translateY(-2px) } 100% { transform: rotate(-5deg) translateY(0) } }

.scn-lacedaemonian-tutor-aim {
  background: 
    linear-gradient(180deg, #f5e6c8 0%, #d4b97a 40%, #a07a4a 100%),
    radial-gradient(ellipse at 30% 60%, #f0d090 0%, transparent 60%);
}
.scn-lacedaemonian-tutor-aim .wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #ecdcc0 0%, #c9ae7a 100%);
}
.scn-lacedaemonian-tutor-aim .window {
  position: absolute; top: 15%; left: 10%; width: 28%; height: 45%;
  background: linear-gradient(180deg, #fff8e0 0%, #e8d4a0 100%);
  border: 6px solid #8a6e3a; border-radius: 6px;
  box-shadow: inset 0 0 40px rgba(255,235,180,.4), 0 8px 20px rgba(0,0,0,.2);
  animation: lt-window 6s ease-in-out infinite alternate;
}
.scn-lacedaemonian-tutor-aim .shelf {
  position: absolute; bottom: 40%; left: 5%; width: 50%; height: 8px;
  background: #7a5e30; border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,.3);
}
.scn-lacedaemonian-tutor-aim .tutor {
  position: absolute; bottom: 22%; left: 22%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #4a3a25 0%, #2a1e12 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lt-tutor 4s ease-in-out infinite;
}
.scn-lacedaemonian-tutor-aim .student {
  position: absolute; bottom: 22%; left: 52%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #5c4832 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lt-student 5s ease-in-out infinite;
}
.scn-lacedaemonian-tutor-aim .book {
  position: absolute; bottom: 38%; left: 42%; width: 40px; height: 28px;
  background: linear-gradient(135deg, #c85b30 0%, #a0461a 100%);
  border-radius: 3px; transform: rotate(-5deg);
  box-shadow: 0 4px 6px rgba(0,0,0,.4);
  animation: lt-book 10s ease-in-out infinite alternate;
}
.scn-lacedaemonian-tutor-aim .lantern {
  position: absolute; bottom: 30%; left: 35%; width: 10px; height: 16px;
  background: radial-gradient(circle, #ffe080 0%, #cc8800 70%);
  border-radius: 30%; box-shadow: 0 0 30px 10px #e0a030, 0 0 60px 20px rgba(224,160,48,.3);
  animation: lt-lantern 3s ease-in-out infinite alternate;
}
@keyframes lt-window { 0% { opacity: .8; box-shadow: inset 0 0 30px rgba(255,235,180,.3); } 50% { opacity: 1; box-shadow: inset 0 0 50px rgba(255,235,180,.5); } 100% { opacity: .9; box-shadow: inset 0 0 40px rgba(255,235,180,.4); } }
@keyframes lt-tutor { 0% { transform: translateX(0) rotate(-1deg); } 25% { transform: translateX(4px) rotate(1deg); } 50% { transform: translateX(0) rotate(0); } 75% { transform: translateX(-3px) rotate(-1deg); } 100% { transform: translateX(0) rotate(1deg); } }
@keyframes lt-student { 0% { transform: translateX(0) translateY(0); } 50% { transform: translateX(-5px) translateY(-2px); } 100% { transform: translateX(0) translateY(0); } }
@keyframes lt-book { 0% { transform: rotate(-5deg); } 50% { transform: rotate(-2deg) scale(1.02); } 100% { transform: rotate(-7deg); } }
@keyframes lt-lantern { 0% { transform: scaleY(1); box-shadow: 0 0 20px 6px #e0a030; } 50% { transform: scaleY(1.1); box-shadow: 0 0 40px 12px #f0b040; } 100% { transform: scaleY(.95); box-shadow: 0 0 25px 8px #d09020; } }

.scn-progress-awareness-difficulty {
  background: 
    linear-gradient(180deg, #f0eada 0%, #ddd0b0 40%, #bba07a 100%),
    radial-gradient(ellipse at 70% 40%, #fff8e8 0%, transparent 50%);
}
.scn-progress-awareness-difficulty .wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #f5efe0 0%, #dacbb0 100%);
}
.scn-progress-awareness-difficulty .window {
  position: absolute; top: 12%; right: 10%; width: 25%; height: 50%;
  background: linear-gradient(180deg, #fffce8 0%, #ead8b0 100%);
  border: 5px solid #8a7a5a; border-radius: 6px;
  box-shadow: inset 0 0 30px rgba(255,245,200,.4), 0 4px 12px rgba(0,0,0,.1);
  animation: pr-window 8s ease-in-out infinite alternate;
}
.scn-progress-awareness-difficulty .balance {
  position: absolute; bottom: 32%; left: 50%; width: 80px; height: 12px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #8a7a5a 0%, #b09a70 50%, #8a7a5a 100%);
  border-radius: 4px; box-shadow: 0 2px 4px rgba(0,0,0,.3);
  animation: pr-beam 6s ease-in-out infinite alternate;
}
.scn-progress-awareness-difficulty .weight-left {
  position: absolute; bottom: 34%; left: 38%; width: 24px; height: 24px;
  background: radial-gradient(circle at 40% 40%, #c8a864 0%, #a08040 100%);
  border-radius: 50%; box-shadow: 0 4px 8px rgba(0,0,0,.3);
  animation: pr-weight 6s ease-in-out infinite alternate;
}
.scn-progress-awareness-difficulty .weight-right {
  position: absolute; bottom: 34%; left: 60%; width: 24px; height: 24px;
  background: radial-gradient(circle at 40% 40%, #b89850 0%, #907040 100%);
  border-radius: 50%; box-shadow: 0 4px 8px rgba(0,0,0,.3);
  animation: pr-weight 6s ease-in-out infinite alternate-reverse;
}
.scn-progress-awareness-difficulty .figure {
  position: absolute; bottom: 18%; left: 25%; width: 28px; height: 65px;
  background: linear-gradient(180deg, #3a2e1e 0%, #1e160e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pr-figure 7s ease-in-out infinite;
}
.scn-progress-awareness-difficulty .table {
  position: absolute; bottom: 28%; left: 22%; width: 60px; height: 8px;
  background: #6a5a3a; border-radius: 2px; box-shadow: 0 6px 10px rgba(0,0,0,.2);
}
@keyframes pr-window { 0% { opacity: .85; } 50% { opacity: 1; } 100% { opacity: .9; } }
@keyframes pr-beam { 0% { transform: translateX(-50%) rotate(-2deg); } 50% { transform: translateX(-50%) rotate(0deg); } 100% { transform: translateX(-50%) rotate(2deg); } }
@keyframes pr-weight { 0% { transform: translateY(0); } 50% { transform: translateY(6px); } 100% { transform: translateY(0); } }
@keyframes pr-figure { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(4px) rotate(-1deg); } 50% { transform: translateX(0) rotate(1deg); } 75% { transform: translateX(-4px) rotate(0); } 100% { transform: translateX(0) rotate(-1deg); } }

.scn-health-no-perception-without-relief {
  background: 
    linear-gradient(180deg, #e8e0d8 0%, #d0c8b8 40%, #b0a090 100%),
    radial-gradient(ellipse at 30% 60%, #f5f0e8 0%, transparent 50%);
}
.scn-health-no-perception-without-relief .wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #ede6dc 0%, #cfc5b5 100%);
}
.scn-health-no-perception-without-relief .window {
  position: absolute; top: 14%; left: 12%; width: 22%; height: 48%;
  background: linear-gradient(180deg, #fffcf0 0%, #e4d4b0 100%);
  border: 5px solid #8a7a62; border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(255,245,210,.5), 0 4px 10px rgba(0,0,0,.1);
  animation: he-window 10s ease-in-out infinite alternate;
}
.scn-health-no-perception-without-relief .bed {
  position: absolute; bottom: 18%; left: 25%; width: 60%; height: 30%;
  background: linear-gradient(180deg, #c8b8a0 0%, #a09078 100%);
  border-radius: 12px; box-shadow: inset 0 -6px 12px rgba(0,0,0,.2), 0 6px 12px rgba(0,0,0,.15);
}
.scn-health-no-perception-without-relief .patient {
  position: absolute; bottom: 24%; left: 38%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #b09878 0%, #907858 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: 50% 80%;
  animation: he-patient 6s ease-in-out infinite;
}
.scn-health-no-perception-without-relief .chair {
  position: absolute; bottom: 22%; left: 10%; width: 28px; height: 46px;
  background: linear-gradient(180deg, #7a6850 0%, #5a4a32 100%);
  border-radius: 8px 8px 4px 4px; box-shadow: 0 4px 8px rgba(0,0,0,.2);
}
.scn-health-no-perception-without-relief .bottle {
  position: absolute; bottom: 45%; left: 16%; width: 14px; height: 22px;
  background: linear-gradient(180deg, #d8d0c0 30%, #b0a090 80%);
  border-radius: 4px 4px 8px 8px; box-shadow: 0 2px 6px rgba(0,0,0,.2);
  animation: he-bottle 12s ease-in-out infinite alternate;
}
.scn-health-no-perception-without-relief .curtain {
  position: absolute; top: 0; left: 8%; width: 12%; height: 100%;
  background: linear-gradient(180deg, #d0c0a8 0%, #b8a890 100%);
  border-radius: 0 20px 20px 0; filter: blur(1px);
  animation: he-curtain 15s ease-in-out infinite alternate;
}
@keyframes he-window { 0% { opacity: .8; } 50% { opacity: 1; } 100% { opacity: .85; } }
@keyframes he-patient { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } }
@keyframes he-bottle { 0% { transform: rotate(0); } 50% { transform: rotate(4deg); } 100% { transform: rotate(-2deg); } }
@keyframes he-curtain { 0% { transform: translateX(0); } 50% { transform: translateX(6px); } 100% { transform: translateX(0); } }

.scn-sudden-change-fable {
  background: 
    linear-gradient(90deg, #3a2a20 0%, #5a4a3a 50%, #d4c4b0 100%),
    radial-gradient(ellipse at 80% 50%, #f0e6d8 0%, transparent 60%);
}
.scn-sudden-change-fable .bg-dark {
  position: absolute; inset: 0 50% 0 0;
  background: linear-gradient(180deg, #4a3a2e 0%, #2a1e14 100%);
  border-right: 3px solid #8a7a64;
}
.scn-sudden-change-fable .bg-light {
  position: absolute; inset: 0 0 0 50%;
  background: linear-gradient(180deg, #f0e4d4 0%, #d0c0aa 100%);
}
.scn-sudden-change-fable .doorway {
  position: absolute; bottom: 20%; left: 48%; width: 30px; height: 70px;
  background: linear-gradient(90deg, #7a6a54 0%, #b09a7a 50%, #7a6a54 100%);
  border-radius: 4px; box-shadow: inset 0 0 20px rgba(255,220,180,.2), 0 4px 8px rgba(0,0,0,.3);
  animation: su-door 8s ease-in-out infinite alternate;
}
.scn-sudden-change-fable .figure {
  position: absolute; bottom: 18%; left: 42%; width: 26px; height: 58px;
  background: linear-gradient(180deg, #2a1e14 0%, #0e0a06 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: su-figure 10s ease-in-out infinite;
}
.scn-sudden-change-fable .shadow {
  position: absolute; bottom: 14%; left: 38%; width: 40px; height: 12px;
  background: rgba(0,0,0,.3); border-radius: 50%; filter: blur(4px);
  animation: su-shadow 10s ease-in-out infinite;
}
.scn-sudden-change-fable .path {
  position: absolute; bottom: 12%; left: 30%; width: 40%; height: 8px;
  background: linear-gradient(90deg, #8a7a64 0%, #b0a090 50%, #8a7a64 100%);
  border-radius: 4px; opacity: .5;
  animation: su-path 12s ease-in-out infinite alternate;
}
@keyframes su-door { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes su-figure { 0% { transform: translateX(-20px) rotate(0); opacity: .3; } 30% { transform: translateX(0) rotate(-1deg); opacity: 1; } 70% { transform: translateX(20px) rotate(1deg); opacity: 1; } 100% { transform: translateX(40px) rotate(0); opacity: .5; } }
@keyframes su-shadow { 0% { transform: translateX(-20px) scaleX(1); opacity: .2; } 30% { transform: translateX(0) scaleX(1.2); opacity: .5; } 70% { transform: translateX(20px) scaleX(1.1); opacity: .5; } 100% { transform: translateX(40px) scaleX(.8); opacity: .2; } }
@keyframes su-path { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.05); } 100% { transform: scaleX(1); } }

/* Scene 1: prophetic-bacchic-madness – calm bright interior, Apollonian light */
.scn-prophetic-bacchic-madness {
  background: 
    linear-gradient(180deg, #fcf6e8 0%, #e8dcc4 50%, #c9b894 100%),
    radial-gradient(ellipse at 30% 20%, #fff8e0 0%, transparent 70%);
}
.scn-prophetic-bacchic-madness .wall {
  position: absolute; inset: 0 0 60% 0;
  background: linear-gradient(135deg, #f5efe0 0%, #d4cbb4 100%);
}
.scn-prophetic-bacchic-madness .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #b8a88c 0%, #8f7e66 100%);
  border-radius: 20% 20% 0 0 / 10% 10% 0 0;
}
.scn-prophetic-bacchic-madness .column {
  position: absolute; top: 5%; width: 8%; height: 60%;
  background: linear-gradient(90deg, #e8dcc4 0%, #f5efe0 50%, #d4cbb4 100%);
  border-radius: 6px; box-shadow: 4px 0 10px rgba(0,0,0,0.05);
}
.scn-prophetic-bacchic-madness .column.left { left: 12%; }
.scn-prophetic-bacchic-madness .column.right { right: 12%; }
.scn-prophetic-bacchic-madness .light-beam {
  position: absolute; top: -10%; left: 30%; width: 40%; height: 130%;
  background: linear-gradient(135deg, rgba(255,248,224,0.3) 0%, transparent 70%);
  clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%);
  animation: pf-light 12s ease-in-out infinite alternate;
}
.scn-prophetic-bacchic-madness .dancer {
  position: absolute; bottom: 28%; left: 42%; width: 60px; height: 110px;
  background: linear-gradient(180deg, #2a2218 0%, #1a140e 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 35% 35%;
  transform-origin: bottom center;
  animation: pf-dance 3s ease-in-out infinite;
}
.scn-prophetic-bacchic-madness .staff {
  position: absolute; bottom: 33%; left: 52%; width: 6px; height: 80px;
  background: linear-gradient(180deg, #6b4226 0%, #4a2e1a 100%);
  border-radius: 3px; transform: rotate(-20deg) translate(-10px, 0);
  animation: pf-staff 3s ease-in-out infinite;
}
.scn-prophetic-bacchic-madness .shadow {
  position: absolute; bottom: 24%; left: 38%; width: 80px; height: 20px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.15) 0%, transparent 70%);
  animation: pf-shadow 3s ease-in-out infinite;
}

@keyframes pf-light {
  0% { opacity: 0.6; transform: scaleX(0.95); }
  50% { opacity: 1; transform: scaleX(1.05); }
  100% { opacity: 0.7; transform: scaleX(0.98); }
}
@keyframes pf-dance {
  0% { transform: translateY(0) rotate(-3deg); }
  25% { transform: translateY(-12px) rotate(2deg); }
  50% { transform: translateY(0) rotate(-2deg); }
  75% { transform: translateY(-8px) rotate(4deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes pf-staff {
  0% { transform: rotate(-20deg) translate(-10px, 0); }
  50% { transform: rotate(-15deg) translate(-8px, -5px); }
  100% { transform: rotate(-22deg) translate(-12px, 2px); }
}
@keyframes pf-shadow {
  0% { transform: scaleX(0.9); opacity: 0.5; }
  50% { transform: scaleX(1.2); opacity: 0.8; }
  100% { transform: scaleX(0.95); opacity: 0.5; }
}

/* Scene 2: love-madness-remaining – tense dim interior, love-fury */
.scn-love-madness-remaining {
  background:
    linear-gradient(180deg, #1c1828 0%, #2a2038 40%, #100c18 100%),
    radial-gradient(ellipse at 50% 70%, #3a2a4a 0%, transparent 80%);
}
.scn-love-madness-remaining .bg-dark {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1c1828 0%, #2a2038 60%, #0e0a1a 100%);
}
.scn-love-madness-remaining .floor-dim {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1e1a2a 0%, #0a0810 100%);
}
.scn-love-madness-remaining .figure-kneeling {
  position: absolute; bottom: 18%; left: 35%; width: 50px; height: 100px;
  background: linear-gradient(180deg, #2a222e 0%, #0e0a14 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 35% 35%;
  transform-origin: bottom center;
  animation: lm-kneel 6s ease-in-out infinite;
}
.scn-love-madness-remaining .thyrsus {
  position: absolute; bottom: 25%; left: 55%; width: 5px; height: 90px;
  background: linear-gradient(180deg, #7a5a32 0%, #4a2e1a 100%);
  border-radius: 2px; transform: rotate(15deg);
  animation: lm-thyrsus 3s ease-in-out infinite alternate;
}
.scn-love-madness-remaining .flame-glow {
  position: absolute; bottom: 42%; left: 48%; width: 30px; height: 40px;
  background: radial-gradient(circle, #e08030 0%, #a05020 40%, transparent 70%);
  border-radius: 50%; filter: blur(8px);
  animation: lm-flame 2s ease-in-out infinite alternate;
}
.scn-love-madness-remaining .chain {
  position: absolute; top: 8%; left: 20%; width: 3px; height: 50%;
  background: linear-gradient(180deg, #605060 0%, #302030 100%);
  border-radius: 2px; transform-origin: top center;
  animation: lm-chain 4s ease-in-out infinite;
}
.scn-love-madness-remaining .eye-gleam {
  position: absolute; top: 30%; left: 47%; width: 4px; height: 4px;
  background: radial-gradient(circle, #f0c860 0%, transparent 70%);
  border-radius: 50%; box-shadow: 0 0 10px 2px #f0c860;
  animation: lm-gleam 1.5s ease-in-out infinite alternate;
}

@keyframes lm-kneel {
  0% { transform: translateY(0) rotate(-2deg); }
  25% { transform: translateY(-5px) rotate(1deg); }
  50% { transform: translateY(2px) rotate(-3deg); }
  75% { transform: translateY(-3px) rotate(2deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes lm-thyrsus {
  0% { transform: rotate(15deg) translateX(0); opacity: 0.8; }
  50% { transform: rotate(20deg) translateX(4px); opacity: 1; }
  100% { transform: rotate(12deg) translateX(-2px); opacity: 0.9; }
}
@keyframes lm-flame {
  0% { transform: scale(0.8); opacity: 0.6; }
  50% { transform: scale(1.2); opacity: 1; }
  100% { transform: scale(0.9); opacity: 0.7; }
}
@keyframes lm-chain {
  0% { transform: rotate(-5deg); }
  50% { transform: rotate(5deg); }
  100% { transform: rotate(-3deg); }
}
@keyframes lm-gleam {
  0% { opacity: 0.3; transform: scale(0.5); }
  100% { opacity: 1; transform: scale(1.5); }
}

/* Scene 3: soldier-lays-arms-ceases – calm bright interior */
.scn-soldier-lays-arms-ceases {
  background:
    linear-gradient(180deg, #fdf8f0 0%, #e8dcc8 50%, #d0c0a8 100%),
    radial-gradient(ellipse at 20% 30%, #fff4e0 0%, transparent 70%);
}
.scn-soldier-lays-arms-ceases .wall-bright {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #f8f0e0 0%, #e0d4be 100%);
}
.scn-soldier-lays-arms-ceases .floor-bright {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, #d4c8b2 0%, #b8a88c 100%);
}
.scn-soldier-lays-arms-ceases .armor-stand {
  position: absolute; bottom: 25%; left: 18%; width: 40px; height: 80px;
  background: linear-gradient(90deg, #a09888 0%, #c8bcae 50%, #908070 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 2px 0 8px rgba(0,0,0,0.1);
  animation: sl-armor 8s ease-in-out infinite alternate;
}
.scn-soldier-lays-arms-ceases .shield {
  position: absolute; bottom: 28%; left: 26%; width: 50px; height: 50px;
  background: radial-gradient(circle, #c0b0a0 0%, #a09080 70%);
  border-radius: 50%;
  border: 3px solid #807060;
  animation: sl-shield 10s ease-in-out infinite alternate;
}
.scn-soldier-lays-arms-ceases .soldier-sitting {
  position: absolute; bottom: 18%; left: 55%; width: 70px; height: 90px;
  background: linear-gradient(180deg, #3a3028 0%, #1e1814 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sl-sit 5s ease-in-out infinite;
}
.scn-soldier-lays-arms-ceases .window-calm {
  position: absolute; top: 8%; right: 15%; width: 90px; height: 120px;
  background: linear-gradient(135deg, #c8e0f0 0%, #a0c8e0 100%);
  border-radius: 6px;
  box-shadow: inset 0 0 20px rgba(255,255,240,0.3);
  animation: sl-window 15s ease-in-out infinite alternate;
}
.scn-soldier-lays-arms-ceases .spear {
  position: absolute; bottom: 35%; right: 30%; width: 4px; height: 70px;
  background: linear-gradient(180deg, #6a5a42 0%, #4a3a2a 100%);
  transform: rotate(-10deg);
  animation: sl-spear 6s ease-in-out infinite;
}

@keyframes sl-armor {
  0% { transform: scale(1); opacity: 0.9; }
  50% { transform: scale(1.02) translateY(-2px); opacity: 1; }
  100% { transform: scale(0.98); opacity: 0.9; }
}
@keyframes sl-shield {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(5deg); }
  100% { transform: rotate(-3deg); }
}
@keyframes sl-sit {
  0% { transform: translateY(0) rotate(-2deg); }
  25% { transform: translateY(-3px) rotate(1deg); }
  50% { transform: translateY(1px) rotate(-1deg); }
  75% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes sl-window {
  0% { opacity: 0.7; transform: scaleX(0.95); }
  50% { opacity: 1; transform: scaleX(1); }
  100% { opacity: 0.8; transform: scaleX(0.97); }
}
@keyframes sl-spear {
  0% { transform: rotate(-10deg) translateX(0); }
  50% { transform: rotate(-8deg) translateX(2px); }
  100% { transform: rotate(-12deg) translateX(-1px); }
}

/* Scene 4: pythian-priestess-peace – calm dim interior temple */
.scn-pythian-priestess-peace {
  background:
    linear-gradient(180deg, #1c1a2a 0%, #2a2840 50%, #0e0c1a 100%),
    radial-gradient(ellipse at 50% 60%, #3a3850 0%, transparent 70%);
}
.scn-pythian-priestess-peace .temple-wall {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #2a2840 0%, #1c1a2a 100%);
}
.scn-pythian-priestess-peace .temple-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 55%;
  background: linear-gradient(180deg, #1e1c30 0%, #0c0a18 100%);
  border-radius: 30% 30% 0 0 / 15% 15% 0 0;
}
.scn-pythian-priestess-peace .tripod {
  position: absolute; bottom: 35%; left: 44%; width: 60px; height: 50px;
  background: linear-gradient(180deg, #606080 0%, #404060 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.4);
  animation: pp-tripod 12s ease-in-out infinite alternate;
}
.scn-pythian-priestess-peace .priestess {
  position: absolute; bottom: 25%; left: 48%; width: 40px; height: 90px;
  background: linear-gradient(180deg, #2a2840 0%, #14122a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 35% 35%;
  transform-origin: bottom center;
  animation: pp-priestess 6s ease-in-out infinite;
}
.scn-pythian-priestess-peace .incense-smoke {
  position: absolute; bottom: 55%; left: 48%; width: 20px; height: 60px;
  background: linear-gradient(180deg, rgba(200,180,240,0.2) 0%, transparent 100%);
  border-radius: 50%; filter: blur(6px);
  animation: pp-smoke 8s ease-in-out infinite;
}
.scn-pythian-priestess-peace .glowing-orb {
  position: absolute; bottom: 42%; left: 50%; width: 18px; height: 18px;
  background: radial-gradient(circle, #c0a0e0 0%, #8060a0 50%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 20px 4px #8060a0, 0 0 40px 10px rgba(128,96,160,0.3);
  animation: pp-glow 4s ease-in-out infinite alternate;
}
.scn-pythian-priestess-peace .shadow-pillar {
  position: absolute; bottom: 10%; left: 15%; width: 20px; height: 70%;
  background: linear-gradient(180deg, #0a0814 0%, #14122a 100%);
  border-radius: 4px;
  animation: pp-pillar 20s ease-in-out infinite alternate;
}
.scn-pythian-priestess-peace .veil {
  position: absolute; bottom: 30%; left: 46%; width: 30px; height: 40px;
  background: linear-gradient(180deg, rgba(160,140,200,0.3) 0%, transparent 100%);
  border-radius: 50% 50% 20% 20%;
  filter: blur(2px);
  animation: pp-veil 8s ease-in-out infinite;
}

@keyframes pp-tripod {
  0% { transform: scale(0.98); opacity: 0.8; }
  50% { transform: scale(1.02); opacity: 1; }
  100% { transform: scale(0.99); opacity: 0.9; }
}
@keyframes pp-priestess {
  0% { transform: translateY(0) rotate(-1deg); }
  25% { transform: translateY(-4px) rotate(1deg); }
  50% { transform: translateY(1px) rotate(-2deg); }
  75% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes pp-smoke {
  0% { transform: translateY(0) scaleX(0.8); opacity: 0.4; }
  50% { transform: translateY(-20px) scaleX(1.2); opacity: 0.8; }
  100% { transform: translateY(-5px) scaleX(0.9); opacity: 0.3; }
}
@keyframes pp-glow {
  0% { transform: scale(0.8); opacity: 0.6; box-shadow: 0 0 15px 3px #8060a0; }
  50% { transform: scale(1.2); opacity: 1; box-shadow: 0 0 30px 8px #a080c0; }
  100% { transform: scale(0.9); opacity: 0.7; box-shadow: 0 0 20px 5px #8060a0; }
}
@keyframes pp-pillar {
  0% { transform: scaleY(1); opacity: 0.7; }
  50% { transform: scaleY(1.05); opacity: 1; }
  100% { transform: scaleY(0.98); opacity: 0.8; }
}
@keyframes pp-veil {
  0% { transform: translateX(0) rotate(-2deg); opacity: 0.5; }
  50% { transform: translateX(4px) rotate(3deg); opacity: 0.8; }
  100% { transform: translateX(-2px) rotate(-1deg); opacity: 0.6; }
}

/* Young-Vehement-Old-Cold */
.scn-young-vehement-old-cold {
  background: linear-gradient(180deg, #d4c4a0 0%, #b8a080 50%, #8a6a4a 100%),
              radial-gradient(ellipse at 50% 0%, #e8d8b0 0%, transparent 70%);
}
.scn-young-vehement-old-cold .wall-left { position:absolute; top:0; left:0; width:45%; height:70%; background: linear-gradient(135deg, #c8a878 0%, #a08060 100%); border-radius:0 20% 0 0; box-shadow: inset -10px 0 20px rgba(0,0,0,0.2); }
.scn-young-vehement-old-cold .wall-right { position:absolute; top:0; right:0; width:45%; height:70%; background: linear-gradient(225deg, #c8a878 0%, #a08060 100%); border-radius:20% 0 0 0; box-shadow: inset 10px 0 20px rgba(0,0,0,0.2); }
.scn-young-vehement-old-cold .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #7a5a3a 0%, #4a2a1a 100%); border-radius:30% 30% 0 0 / 20% 20% 0 0; box-shadow: inset 0 10px 30px rgba(0,0,0,0.4); }
.scn-young-vehement-old-cold .fireplace { position:absolute; bottom:20%; left:50%; width:120px; height:100px; transform:translateX(-50%); background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius:10% 10% 5% 5% / 5% 5% 10% 10%; box-shadow: 0 8px 20px rgba(0,0,0,0.5); }
.scn-young-vehement-old-cold .flame { position:absolute; bottom:22%; left:50%; width:30px; height:50px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 100%, #ffa040 0%, #ff6000 40%, transparent 70%); border-radius:50% 50% 20% 20% / 80% 80% 20% 20%; animation: yv-flame 1.5s ease-in-out infinite alternate; }
.scn-young-vehement-old-cold .figure-youth { position:absolute; bottom:15%; left:40%; width:20px; height:60px; background: linear-gradient(180deg, #c8553d 0%, #9a3a2a 100%); border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: yv-youth 4s ease-in-out infinite; }
.scn-young-vehement-old-cold .figure-elder { position:absolute; bottom:15%; right:40%; width:18px; height:55px; background: linear-gradient(180deg, #a08060 0%, #7a5a3a 100%); border-radius:35% 35% 30% 30% / 45% 45% 35% 35%; transform-origin: bottom center; animation: yv-elder 5s ease-in-out infinite; }
.scn-young-vehement-old-cold .window { position:absolute; top:15%; left:50%; width:50px; height:60px; transform:translateX(-50%); background: linear-gradient(180deg, #e0d0b0 0%, #c0b090 100%); border:2px solid #6a4a3a; border-radius:4px; box-shadow: inset 0 0 20px rgba(255,255,200,0.3); animation: yv-window 8s ease-in-out infinite alternate; }
@keyframes yv-flame { 0% { transform:translateX(-50%) scaleY(1) rotate(-1deg); opacity:0.9; } 50% { transform:translateX(-50%) scaleY(1.15) rotate(1deg); opacity:1; } 100% { transform:translateX(-50%) scaleY(0.95) rotate(-0.5deg); opacity:0.8; } }
@keyframes yv-youth { 0% { transform:translateX(0) translateY(0) rotate(-2deg); } 50% { transform:translateX(4px) translateY(-2px) rotate(2deg); } 100% { transform:translateX(0) translateY(0) rotate(-1deg); } }
@keyframes yv-elder { 0% { transform:translateX(0) translateY(0) rotate(1deg); } 50% { transform:translateX(-3px) translateY(-1px) rotate(-1deg); } 100% { transform:translateX(0) translateY(0) rotate(0.5deg); } }
@keyframes yv-window { 0% { opacity:0.6; box-shadow: inset 0 0 10px rgba(255,255,200,0.2); } 50% { opacity:1; box-shadow: inset 0 0 30px rgba(255,255,200,0.5); } 100% { opacity:0.7; box-shadow: inset 0 0 15px rgba(255,255,200,0.25); } }

/* Animals-Not-Opinions */
.scn-animals-not-opinions {
  background: linear-gradient(180deg, #8a9a8a 0%, #6a7a6a 30%, #4a5a4a 60%, #2a3a2a 100%),
              radial-gradient(ellipse at 50% 100%, #6a7a6a 0%, transparent 80%);
}
.scn-animals-not-opinions .sky { position:absolute; top:0; left:0; right:0; height:60%; background: linear-gradient(180deg, #b0b8b0 0%, #8a988a 100%); animation: an-sky 12s ease-in-out infinite alternate; }
.scn-animals-not-opinions .ground { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #5a6a4a 0%, #3a4a2a 100%); border-radius:30% 70% 0 0 / 60% 40% 0 0; box-shadow: inset 0 10px 30px rgba(0,0,0,0.3); }
.scn-animals-not-opinions .tree { position:absolute; bottom:40%; right:20%; width:12px; height:80px; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius:4px; transform-origin: bottom; animation: an-tree 20s ease-in-out infinite alternate; }
.scn-animals-not-opinions .deer { position:absolute; bottom:25%; left:30%; width:30px; height:40px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a3a 100%); border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom; animation: an-deer 6s ease-in-out infinite; }
.scn-animals-not-opinions .bird1 { position:absolute; top:15%; left:10%; width:24px; height:10px; background: linear-gradient(90deg, #4a4a4a 0%, #2a2a2a 100%); border-radius:50% 50% 40% 40% / 20% 20% 20% 20%; transform: rotate(-20deg); animation: an-bird1 15s linear infinite; }
.scn-animals-not-opinions .bird2 { position:absolute; top:20%; right:15%; width:20px; height:8px; background: linear-gradient(90deg, #3a3a3a 0%, #1a1a1a 100%); border-radius:50% 50% 40% 40% / 20% 20% 20% 20%; transform: rotate(15deg); animation: an-bird2 18s linear infinite reverse; }
.scn-animals-not-opinions .pond { position:absolute; bottom:10%; left:15%; width:80px; height:30px; background: linear-gradient(180deg, #6a8a9a 0%, #4a6a7a 100%); border-radius:50% 50% 60% 40% / 30% 30% 50% 50%; box-shadow: inset 0 5px 15px rgba(0,0,0,0.3); animation: an-pond 10s ease-in-out infinite alternate; }
@keyframes an-sky { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes an-tree { 0% { transform:rotate(-3deg); } 50% { transform:rotate(3deg); } 100% { transform:rotate(-2deg); } }
@keyframes an-deer { 0% { transform:translateX(0) translateY(0) rotate(-2deg); } 50% { transform:translateX(8px) translateY(-2px) rotate(2deg); } 100% { transform:translateX(0) translateY(0) rotate(-1deg); } }
@keyframes an-bird1 { 0% { transform:translateX(-30px) rotate(-20deg); } 100% { transform:translateX(120vw) rotate(-20deg); } }
@keyframes an-bird2 { 0% { transform:translateX(0) rotate(15deg); } 100% { transform:translateX(-100vw) rotate(15deg); } }
@keyframes an-pond { 0% { transform:scaleY(1); opacity:0.6; } 50% { transform:scaleY(1.05); opacity:0.9; } 100% { transform:scaleY(0.98); opacity:0.7; } }

/* Body-Sympathizes-With-Passion */
.scn-body-sympathizes-with-passion {
  background: linear-gradient(180deg, #e8d8c8 0%, #c8b8a8 50%, #a89888 100%),
              radial-gradient(ellipse at 50% 30%, #f0e0d0 0%, transparent 70%);
}
.scn-body-sympathizes-with-passion .bg { position:absolute; inset:0; background: radial-gradient(circle at 50% 40%, #f0e0d0 0%, transparent 80%); }
.scn-body-sympathizes-with-passion .torso { position:absolute; bottom:20%; left:50%; width:80px; height:120px; transform:translateX(-50%); background: linear-gradient(180deg, #d0b8a8 0%, #a89080 100%); border-radius:30% 30% 20% 20% / 40% 40% 30% 30%; box-shadow: 0 10px 30px rgba(0,0,0,0.2); animation: bs-torso 4s ease-in-out infinite alternate; }
.scn-body-sympathizes-with-passion .heart-glow { position:absolute; bottom:55%; left:50%; width:30px; height:30px; transform:translateX(-50%); background: radial-gradient(circle, #f0a060 0%, #c08040 60%, transparent 80%); border-radius:50%; box-shadow: 0 0 40px 10px #f0a060, 0 0 80px 20px rgba(240,160,96,0.4); animation: bs-heart 2s ease-in-out infinite alternate; }
.scn-body-sympathizes-with-passion .blush-left { position:absolute; bottom:50%; left:40%; width:22px; height:18px; background: radial-gradient(circle, #c87878 0%, transparent 70%); border-radius:50%; animation: bs-blush 3s ease-in-out infinite alternate; }
.scn-body-sympathizes-with-passion .blush-right { position:absolute; bottom:50%; right:40%; width:22px; height:18px; background: radial-gradient(circle, #c87878 0%, transparent 70%); border-radius:50%; animation: bs-blush 3s ease-in-out infinite alternate-reverse; }
.scn-body-sympathizes-with-passion .hand-left { position:absolute; bottom:15%; left:35%; width:28px; height:40px; background: linear-gradient(180deg, #c0a898 0%, #a08878 100%); border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: top right; animation: bs-hand 2.5s ease-in-out infinite; }
.scn-body-sympathizes-with-passion .hand-right { position:absolute; bottom:15%; right:35%; width:28px; height:40px; background: linear-gradient(180deg, #c0a898 0%, #a08878 100%); border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: top left; animation: bs-hand 2.5s ease-in-out infinite reverse; }
@keyframes bs-torso { 0% { transform:translateX(-50%) scaleY(1); } 50% { transform:translateX(-50%) scaleY(1.02); } 100% { transform:translateX(-50%) scaleY(0.98); } }
@keyframes bs-heart { 0% { transform:translateX(-50%) scale(1); box-shadow: 0 0 30px 5px #f0a060, 0 0 60px 15px rgba(240,160,96,0.3); } 50% { transform:translateX(-50%) scale(1.15); box-shadow: 0 0 50px 15px #f0a060, 0 0 90px 25px rgba(240,160,96,0.5); } 100% { transform:translateX(-50%) scale(0.95); box-shadow: 0 0 35px 8px #f0a060, 0 0 70px 20px rgba(240,160,96,0.35); } }
@keyframes bs-blush { 0% { opacity:0.3; transform:scale(0.8); } 50% { opacity:0.8; transform:scale(1.2); } 100% { opacity:0.4; transform:scale(0.9); } }
@keyframes bs-hand { 0% { transform:rotate(-5deg) translate(0,0); } 50% { transform:rotate(5deg) translate(2px,-2px); } 100% { transform:rotate(-3deg) translate(0,0); } }

/* Man-Participates-In-All */
.scn-man-participates-in-all {
  background: linear-gradient(180deg, #d0c8b0 0%, #b0a890 40%, #8a7a6a 100%),
              radial-gradient(ellipse at 50% 20%, #e8d8c0 0%, transparent 60%);
}
.scn-man-participates-in-all .bg { position:absolute; inset:0; background: radial-gradient(circle at 50% 30%, #e0d0b8 0%, transparent 80%); }
.scn-man-participates-in-all .pillar { position:absolute; bottom:0; left:50%; width:60px; height:90%; transform:translateX(-50%); background: linear-gradient(180deg, #b0a080 0%, #8a7a5a 100%); border-radius:10% 10% 0 0 / 20% 20% 0 0; box-shadow: 0 10px 30px rgba(0,0,0,0.3); animation: mp-pillar 12s ease-in-out infinite alternate; }
.scn-man-participates-in-all .nature-symbol { position:absolute; top:20%; left:50%; width:40px; height:40px; transform:translateX(-50%); background: radial-gradient(circle, #6a8a4a 0%, #3a5a2a 100%); border-radius:50% 50% 50% 50% / 60% 60% 40% 40%; box-shadow: 0 0 20px 5px rgba(106,138,74,0.4); animation: mp-nature 8s ease-in-out infinite; }
.scn-man-participates-in-all .habit-chain { position:absolute; top:35%; left:50%; width:20px; height:30px; transform:translateX(-50%); background: linear-gradient(180deg, #8a7a5a 0%, #5a4a3a 100%); border-radius:30%; box-shadow: 0 0 10px 2px rgba(0,0,0,0.3); animation: mp-chain 5s ease-in-out infinite alternate; }
.scn-man-participates-in-all .soul-animal { position:absolute; top:50%; left:50%; width:40px; height:20px; transform:translateX(-50%); background: linear-gradient(90deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:50% 50% 40% 40% / 30% 30% 30% 30%; box-shadow: 0 4px 10px rgba(0,0,0,0.4); animation: mp-animal 6s ease-in-out infinite; }
.scn-man-participates-in-all .reason-light { position:absolute; top:65%; left:50%; width:30px; height:30px; transform:translateX(-50%); background: radial-gradient(circle, #f0d0a0 0%, #c0a070 100%); border-radius:50%; box-shadow: 0 0 30px 8px #f0d0a0, 0 0 60px 15px rgba(240,208,160,0.4); animation: mp-reason 3s ease-in-out infinite alternate; }
.scn-man-participates-in-all .figure-silhouette { position:absolute; bottom:10%; left:50%; width:30px; height:70px; transform:translateX(-50%); background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; box-shadow: 0 5px 15px rgba(0,0,0,0.5); animation: mp-figure 4s ease-in-out infinite; }
@keyframes mp-pillar { 0% { transform:translateX(-50%) scaleY(1); } 50% { transform:translateX(-50%) scaleY(1.01); } 100% { transform:translateX(-50%) scaleY(0.99); } }
@keyframes mp-nature { 0% { transform:translateX(-50%) rotate(0deg) scale(1); } 50% { transform:translateX(-50%) rotate(10deg) scale(1.05); } 100% { transform:translateX(-50%) rotate(-5deg) scale(0.95); } }
@keyframes mp-chain { 0% { transform:translateX(-50%) translateY(0) scaleY(1); } 50% { transform:translateX(-50%) translateY(-2px) scaleY(1.1); } 100% { transform:translateX(-50%) translateY(0) scaleY(0.9); } }
@keyframes mp-animal { 0% { transform:translateX(-50%) translateY(0) rotate(-5deg); } 50% { transform:translateX(-50%) translateY(-3px) rotate(5deg); } 100% { transform:translateX(-50%) translateY(0) rotate(-3deg); } }
@keyframes mp-reason { 0% { transform:translateX(-50%) scale(0.9); box-shadow: 0 0 20px 5px #f0d0a0, 0 0 40px 10px rgba(240,208,160,0.3); } 50% { transform:translateX(-50%) scale(1.1); box-shadow: 0 0 40px 10px #f0d0a0, 0 0 80px 20px rgba(240,208,160,0.5); } 100% { transform:translateX(-50%) scale(0.95); box-shadow: 0 0 25px 6px #f0d0a0, 0 0 50px 12px rgba(240,208,160,0.35); } }
@keyframes mp-figure { 0% { transform:translateX(-50%) translateY(0) rotate(-1deg); } 50% { transform:translateX(-50%) translateY(-2px) rotate(1deg); } 100% { transform:translateX(-50%) translateY(0) rotate(0deg); } }

/* Scene 1: not-speak-too-freely-before-many (calm, dim-interior) */
.scn-not-speak-too-freely-before-many {
  background: linear-gradient(180deg, #2b1e14 0%, #3d2a1a 40%, #1f140e 100%),
              radial-gradient(ellipse at 50% 20%, #4d3825 0%, transparent 60%);
}
.scn-not-speak-too-freely-before-many .room-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, rgba(200,170,130,0.1) 0%, transparent 100%); animation: ns-ambient 8s ease-in-out infinite alternate;
}
.scn-not-speak-too-freely-before-many .table {
  position: absolute; bottom: 22%; left: 20%; right: 20%; height: 8%; background: linear-gradient(180deg, #5a3f2a 0%, #3f2b1a 100%); border-radius: 10% 10% 0 0 / 30% 30% 0 0; box-shadow: 0 4px 10px rgba(0,0,0,0.6); animation: ns-table 12s ease-in-out infinite alternate;
}
.scn-not-speak-too-freely-before-many .figure-central {
  position: absolute; bottom: 30%; left: 42%; width: 8%; height: 18%; background: linear-gradient(180deg, #2a1f15 0%, #140e0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ns-fig 6s ease-in-out infinite;
}
.scn-not-speak-too-freely-before-many .figure-side {
  position: absolute; bottom: 28%; left: 55%; width: 7%; height: 16%; background: linear-gradient(180deg, #3a2a1f 0%, #1f150e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: scaleX(-1); animation: ns-fig 7s ease-in-out infinite 0.5s;
}
.scn-not-speak-too-freely-before-many .figure-other {
  position: absolute; bottom: 29%; left: 35%; width: 6%; height: 14%; background: linear-gradient(180deg, #3f2e1f 0%, #22180e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: ns-fig 8s ease-in-out infinite 1s;
}
.scn-not-speak-too-freely-before-many .lamp {
  position: absolute; bottom: 36%; left: 50%; width: 4%; height: 6%; background: radial-gradient(ellipse at 50% 20%, #d9a050 0%, #8a5a20 60%, #2b1a0a 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 15px #b08040; animation: ns-lamp 3s ease-in-out infinite alternate;
}
.scn-not-speak-too-freely-before-many .lamp-glow {
  position: absolute; bottom: 35%; left: 46%; width: 12%; height: 12%; background: radial-gradient(circle, rgba(200,150,80,0.3) 0%, transparent 70%); filter: blur(8px); animation: ns-lamp-glow 5s ease-in-out infinite alternate;
}
.scn-not-speak-too-freely-before-many .shadow-arch {
  position: absolute; bottom: 20%; left: 10%; right: 10%; height: 30%; background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.4) 0%, transparent 80%); pointer-events: none;
}
@keyframes ns-ambient { 0% { opacity:0.6 } 50% { opacity:0.9 } 100% { opacity:0.5 } }
@keyframes ns-table { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes ns-fig { 0% { transform: translateX(0) rotate(-1deg) } 50% { transform: translateX(3px) rotate(1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes ns-lamp { 0% { box-shadow: 0 0 10px #b08040; opacity:0.8 } 50% { box-shadow: 0 0 20px #e0b060; opacity:1 } 100% { box-shadow: 0 0 12px #b08040; opacity:0.85 } }
@keyframes ns-lamp-glow { 0% { transform: scale(0.95); opacity:0.5 } 50% { transform: scale(1.1); opacity:0.8 } 100% { transform: scale(0.95); opacity:0.5 } }

/* Scene 2: thucydides-right-to-blame (calm, dim-interior) */
.scn-thucydides-right-to-blame {
  background: linear-gradient(180deg, #2a2620 0%, #3a322a 40%, #1a1612 100%),
              radial-gradient(ellipse at 50% 60%, #4a4035 0%, transparent 70%);
}
.scn-thucydides-right-to-blame .wall {
  position: absolute; inset: 0 0 25% 0; background: linear-gradient(90deg, #3d352c 0%, #4d4338 30%, #3d352c 70%, #2e2720 100%); border-bottom: 4px solid #5a4e40; box-shadow: inset 0 15px 20px rgba(0,0,0,0.4); animation: th-wall 14s ease-in-out infinite alternate;
}
.scn-thucydides-right-to-blame .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%; background: linear-gradient(180deg, #3f352a 0%, #2a221a 100%); border-radius: 20% 20% 0 0 / 50% 50% 0 0; box-shadow: inset 0 10px 8px rgba(0,0,0,0.5);
}
.scn-thucydides-right-to-blame .figure-left {
  position: absolute; bottom: 22%; left: 30%; width: 10%; height: 28%; background: linear-gradient(180deg, #2d2218 0%, #140d08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: th-fig-left 5s ease-in-out infinite;
}
.scn-thucydides-right-to-blame .figure-right {
  position: absolute; bottom: 20%; left: 55%; width: 12%; height: 32%; background: linear-gradient(180deg, #3f3125 0%, #1f150e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: scaleX(-1); animation: th-fig-right 6s ease-in-out infinite 0.3s;
}
.scn-thucydides-right-to-blame .speech-dot {
  position: absolute; bottom: 48%; left: 48%; width: 2%; height: 2%; background: radial-gradient(circle, #d9b080 0%, transparent 60%); border-radius: 50%; box-shadow: 0 0 8px 2px rgba(217,176,128,0.5); animation: th-dot 2s ease-in-out infinite alternate;
}
.scn-thucydides-right-to-blame .drape {
  position: absolute; top: 0; left: 10%; width: 15%; height: 80%; background: linear-gradient(180deg, #4a3d2e 0%, #2e2216 100%); border-radius: 0 0 30% 30%; box-shadow: 3px 0 6px rgba(0,0,0,0.5); transform-origin: top left; animation: th-drape 10s ease-in-out infinite alternate;
}
@keyframes th-wall { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes th-fig-left { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(2px) rotate(1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes th-fig-right { 0% { transform: scaleX(-1) translateX(0) rotate(0deg) } 50% { transform: scaleX(-1) translateX(-2px) rotate(-1deg) } 100% { transform: scaleX(-1) translateX(0) rotate(0deg) } }
@keyframes th-dot { 0% { opacity:0.3; transform: scale(0.8) } 50% { opacity:1; transform: scale(1.2) } 100% { opacity:0.5; transform: scale(0.9) } }
@keyframes th-drape { 0% { transform: rotate(-2deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-1deg) } }

/* Scene 3: phoenix-own-mishaps-achilles (warm, dim-interior) */
.scn-phoenix-own-mishaps-achilles {
  background: linear-gradient(180deg, #1a0f0a 0%, #2b1a10 50%, #1a0f0a 100%),
              radial-gradient(ellipse at 50% 80%, #5a3a2a 0%, transparent 60%);
}
.scn-phoenix-own-mishaps-achilles .tent-wall {
  position: absolute; top: 0; left: 0; right: 0; height: 70%; background: linear-gradient(135deg, #3e2a1c 0%, #1c1008 50%, #2b1b0e 100%); border-radius: 0 0 40% 40% / 0 0 60% 60%; box-shadow: inset 0 20px 30px rgba(0,0,0,0.6); animation: ph-wall 12s ease-in-out infinite alternate;
}
.scn-phoenix-own-mishaps-achilles .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #2a1a0a 0%, #140a04 100%); border-radius: 30% 30% 0 0 / 20% 20% 0 0; box-shadow: inset 0 10px 8px #000;
}
.scn-phoenix-own-mishaps-achilles .fire {
  position: absolute; bottom: 28%; left: 48%; width: 8%; height: 14%; background: radial-gradient(circle at 50% 100%, #f0a050 0%, #d06020 40%, #801c0a 70%, transparent 100%); border-radius: 50% 50% 20% 20% / 80% 80% 20% 20%; filter: blur(2px); animation: ph-fire 2s ease-in-out infinite alternate;
}
.scn-phoenix-own-mishaps-achilles .fire-glow {
  position: absolute; bottom: 25%; left: 30%; width: 40%; height: 30%; background: radial-gradient(circle, rgba(240,160,80,0.3) 0%, rgba(200,100,40,0.1) 40%, transparent 70%); filter: blur(12px); animation: ph-glow 4s ease-in-out infinite alternate;
}
.scn-phoenix-own-mishaps-achilles .figure-phoenix {
  position: absolute; bottom: 22%; left: 30%; width: 12%; height: 30%; background: linear-gradient(180deg, #2a1e12 0%, #0f0804 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ph-fig 6s ease-in-out infinite;
}
.scn-phoenix-own-mishaps-achilles .figure-achilles {
  position: absolute; bottom: 24%; left: 55%; width: 13%; height: 32%; background: linear-gradient(180deg, #2a1e12 0%, #0f0804 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: scaleX(-1); animation: ph-fig 7s ease-in-out infinite 0.5s;
}
.scn-phoenix-own-mishaps-achilles .spark {
  position: absolute; bottom: 40%; left: 50%; width: 1.5%; height: 1.5%; background: radial-gradient(circle, #f0c080 0%, transparent 60%); border-radius: 50%; box-shadow: 0 0 6px 2px #e09040; animation: ph-spark 1.5s ease-in-out infinite alternate;
}
@keyframes ph-wall { 0% { opacity:0.75 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes ph-fire { 0% { transform: scaleY(0.95) scaleX(1); opacity:0.8 } 50% { transform: scaleY(1.1) scaleX(1.05); opacity:1 } 100% { transform: scaleY(0.95) scaleX(1); opacity:0.85 } }
@keyframes ph-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 ph-fig { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(2px) rotate(1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes ph-spark { 0% { transform: translateY(0) scale(0.8); opacity:0.6 } 50% { transform: translateY(-8px) scale(1.2); opacity:1 } 100% { transform: translateY(0) scale(0.8); opacity:0.6 } }

/* Scene 4: comparison-vs-other-men (calm, dim-interior) */
.scn-comparison-vs-other-men {
  background: linear-gradient(180deg, #1e1a16 0%, #2e2620 40%, #14100c 100%),
              radial-gradient(ellipse at 70% 40%, #3d342a 0%, transparent 60%);
}
.scn-comparison-vs-other-men .bg-columns {
  position: absolute; inset: 0; background: repeating-linear-gradient(90deg, #2a221c 0px, #2a221c 30px, #3a3028 30px, #3a3028 31px); opacity:0.3; animation: cm-columns 20s linear infinite;
}
.scn-comparison-vs-other-men .pedestal {
  position: absolute; bottom: 22%; left: 35%; right: 35%; height: 4%; background: linear-gradient(180deg, #4d4030 0%, #2a1f14 100%); border-radius: 10% 10% 0 0; box-shadow: 0 4px 6px rgba(0,0,0,0.6);
}
.scn-comparison-vs-other-men .figure-centre {
  position: absolute; bottom: 26%; left: 44%; width: 10%; height: 28%; background: linear-gradient(180deg, #2f241a 0%, #140d08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cm-centre 5s ease-in-out infinite;
}
.scn-comparison-vs-other-men .figure-left {
  position: absolute; bottom: 24%; left: 25%; width: 9%; height: 26%; background: linear-gradient(180deg, #3a2e22 0%, #1f150e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: scaleX(-1); animation: cm-side 7s ease-in-out infinite 0.2s;
}
.scn-comparison-vs-other-men .figure-right {
  position: absolute; bottom: 24%; left: 62%; width: 9%; height: 26%; background: linear-gradient(180deg, #3a2e22 0%, #1f150e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: cm-side 7s ease-in-out infinite 0.8s;
}
.scn-comparison-vs-other-men .orb-comparison {
  position: absolute; bottom: 38%; left: 47%; width: 6%; height: 6%; background: radial-gradient(circle, #b09070 0%, #6a5040 60%, transparent 100%); border-radius: 50%; box-shadow: 0 0 15px 5px rgba(120,90,60,0.4); animation: cm-orb 3s ease-in-out infinite alternate;
}
.scn-comparison-vs-other-men .shadow-lines {
  position: absolute; bottom: 20%; left: 20%; right: 20%; height: 10%; background: linear-gradient(90deg, rgba(0,0,0,0.2) 0%, transparent 50%, rgba(0,0,0,0.2) 100%); pointer-events: none; animation: cm-lines 8s ease-in-out infinite alternate;
}
@keyframes cm-columns { 0% { background-position: 0 0 } 100% { background-position: 60px 0 } }
@keyframes cm-centre { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-3px) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes cm-side { 0% { transform: translateX(0) } 50% { transform: translateX(3px) } 100% { transform: translateX(0) } }
@keyframes cm-orb { 0% { box-shadow: 0 0 10px 2px rgba(120,90,60,0.3); opacity:0.6 } 50% { box-shadow: 0 0 25px 8px rgba(120,90,60,0.6); opacity:1 } 100% { box-shadow: 0 0 12px 3px rgba(120,90,60,0.4); opacity:0.7 } }
@keyframes cm-lines { 0% { opacity:0.3 } 50% { opacity:0.6 } 100% { opacity:0.2 } }

.scn-true-lover-after-death {
  background: linear-gradient(180deg, #2a2018 0%, #4a3528 40%, #6b4a3a 100%),
              radial-gradient(ellipse at 40% 60%, #7a5a3a 0%, transparent 60%);
}
.scn-true-lover-after-death .bg-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #3a2a20 0%, #5a4030 100%);
}
.scn-true-lover-after-death .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #4a3420 0%, #2a1e12 100%);
  border-radius: 10% 10% 0 0 / 30% 30% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,.6);
}
.scn-true-lover-after-death .window {
  position: absolute; top: 10%; left: 15%; width: 30%; height: 40%;
  background: linear-gradient(135deg, #1a1a2e 0%, #2a2a4a 100%);
  border-radius: 4%;
  box-shadow: inset 0 0 15px rgba(100,80,60,.8);
  animation: tal-window 8s ease-in-out infinite alternate;
}
.scn-true-lover-after-death .candle {
  position: absolute; bottom: 35%; left: 60%; width: 8px; height: 40px;
  background: linear-gradient(180deg, #d4a050 0%, #8a6030 50%, #4a2a10 100%);
  border-radius: 4px 4px 2px 2px;
  box-shadow: 0 0 20px 6px #d49040, 0 0 40px 12px rgba(212,144,64,.4);
  animation: tal-flame 3s ease-in-out infinite alternate;
}
.scn-true-lover-after-death .figure {
  position: absolute; bottom: 25%; left: 35%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #1a1410 0%, #0a0806 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tal-walk 6s ease-in-out infinite;
}
.scn-true-lover-after-death .shadow {
  position: absolute; bottom: 20%; left: 30%; width: 60px; height: 10px;
  background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 100%);
  filter: blur(3px);
  animation: tal-shadow 6s ease-in-out infinite;
}
.scn-true-lover-after-death .glow {
  position: absolute; bottom: 40%; left: 55%; width: 80px; height: 80px;
  background: radial-gradient(circle, rgba(212,160,80,.3) 0%, transparent 100%);
  animation: tal-glow 4s ease-in-out infinite alternate;
}
@keyframes tal-window { 0% { opacity: .7; transform: scaleY(1); } 50% { opacity: 1; transform: scaleY(1.02); } 100% { opacity: .8; transform: scaleY(.98); } }
@keyframes tal-flame { 0% { transform: translateY(0) scaleY(1); box-shadow: 0 0 15px 4px #d49040; } 25% { transform: translateY(-2px) scaleY(1.1); box-shadow: 0 0 25px 8px #e0a050; } 50% { transform: translateY(0) scaleY(.95); box-shadow: 0 0 20px 6px #d49040; } 75% { transform: translateY(-1px) scaleY(1.05); box-shadow: 0 0 30px 10px #e0a050; } 100% { transform: translateY(0) scaleY(1); box-shadow: 0 0 15px 4px #d49040; } }
@keyframes tal-walk { 0% { transform: translateX(0) rotate(-2deg); } 20% { transform: translateX(5px) rotate(2deg); } 40% { transform: translateX(10px) rotate(-1deg); } 60% { transform: translateX(15px) rotate(1deg); } 80% { transform: translateX(20px) rotate(-2deg); } 100% { transform: translateX(25px) rotate(0); } }
@keyframes tal-shadow { 0% { transform: scaleX(1); opacity: .6; } 50% { transform: scaleX(1.3); opacity: .4; } 100% { transform: scaleX(.9); opacity: .7; } }
@keyframes tal-glow { 0% { opacity: .5; transform: scale(1); } 50% { opacity: .8; transform: scale(1.2); } 100% { opacity: .4; transform: scale(.9); } }

.scn-true-lover-wings-initiated {
  background: linear-gradient(180deg, #f5e8d0 0%, #e0c8a0 40%, #d0b890 100%),
              radial-gradient(ellipse at 70% 20%, #fff8e0 0%, transparent 60%);
}
.scn-true-lover-wings-initiated .sky {
  position: absolute; top: 0; left: 0; right: 0; height: 60%;
  background: linear-gradient(180deg, #b8d0e0 0%, #d0e0f0 100%);
  border-radius: 0 0 30% 30% / 0 0 50% 50%;
}
.scn-true-lover-wings-initiated .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #c8b098 0%, #a08870 100%);
  box-shadow: inset 0 10px 30px rgba(0,0,0,.15);
}
.scn-true-lover-wings-initiated .window {
  position: absolute; top: 5%; left: 20%; width: 40%; height: 50%;
  background: linear-gradient(135deg, #f0e8d8 0%, #d0c0a8 100%);
  border: 6px solid #6a5a4a;
  border-radius: 10px;
  box-shadow: inset 0 0 40px rgba(255,220,150,.4);
  animation: twi-window 10s ease-in-out infinite alternate;
}
.scn-true-lover-wings-initiated .sunbeam {
  position: absolute; top: 10%; left: 25%; width: 20%; height: 80%;
  background: linear-gradient(180deg, rgba(255,240,200,.4) 0%, transparent 100%);
  filter: blur(4px);
  animation: twi-beam 15s ease-in-out infinite;
}
.scn-true-lover-wings-initiated .figure {
  position: absolute; bottom: 20%; left: 45%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #2a2218 0%, #1a1410 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: twi-dance 4s ease-in-out infinite;
}
.scn-true-lover-wings-initiated .wings {
  position: absolute; bottom: 45%; left: 38%; width: 60px; height: 40px;
  background: radial-gradient(ellipse, rgba(220,200,180,.6) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(2px);
  transform-origin: right center;
  animation: twi-flap 2s ease-in-out infinite alternate;
}
.scn-true-lover-wings-initiated .sparkles {
  position: absolute; top: 20%; left: 30%; width: 40%; height: 30%;
  background: radial-gradient(circle, rgba(255,230,180,.3) 0%, transparent 60%);
  animation: twi-spark 5s ease-in-out infinite;
}
@keyframes twi-window { 0% { opacity: .8; transform: scaleX(1); } 50% { opacity: 1; transform: scaleX(1.03); } 100% { opacity: .9; transform: scaleX(.97); } }
@keyframes twi-beam { 0% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); opacity: .6; } 100% { transform: rotate(-2deg); opacity: 1; } }
@keyframes twi-dance { 0% { transform: rotate(-5deg) translateY(0); } 25% { transform: rotate(5deg) translateY(-3px); } 50% { transform: rotate(-3deg) translateY(0); } 75% { transform: rotate(3deg) translateY(-2px); } 100% { transform: rotate(0) translateY(0); } }
@keyframes twi-flap { 0% { transform: scaleX(1) rotate(0); } 50% { transform: scaleX(1.5) rotate(-15deg); } 100% { transform: scaleX(1) rotate(0); } }
@keyframes twi-spark { 0% { opacity: .3; transform: scale(1); } 50% { opacity: .8; transform: scale(1.2); } 100% { opacity: .4; transform: scale(.9); } }

.scn-subject-too-high {
  background: linear-gradient(180deg, #f0e8dc 0%, #e0d0b8 40%, #d4c4ac 100%),
              radial-gradient(ellipse at 80% 30%, #fff8e0 0%, transparent 60%);
}
.scn-subject-too-high .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #d4c4ac 0%, #dcccb4 50%, #c8b89c 100%);
}
.scn-subject-too-high .desk {
  position: absolute; bottom: 20%; left: 10%; right: 10%; height: 20%;
  background: linear-gradient(180deg, #8a765a 0%, #6a5a42 100%);
  border-radius: 4px;
  box-shadow: 0 4px 10px rgba(0,0,0,.2);
}
.scn-subject-too-high .book {
  position: absolute; bottom: 25%; left: 40%; width: 50px; height: 12px;
  background: linear-gradient(180deg, #c8b098 0%, #a08870 100%);
  border-radius: 2px;
  transform: rotate(-5deg);
  box-shadow: 0 2px 4px rgba(0,0,0,.3);
  animation: sti-book 6s ease-in-out infinite alternate;
}
.scn-subject-too-high .figure {
  position: absolute; bottom: 15%; left: 45%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #2a2218 0%, #1a1410 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sti-breathe 4s ease-in-out infinite;
}
.scn-subject-too-high .window {
  position: absolute; top: 5%; left: 60%; width: 25%; height: 50%;
  background: linear-gradient(135deg, #f0e8d8 0%, #d0c0a8 100%);
  border: 4px solid #6a5a4a;
  border-radius: 8px;
  box-shadow: inset 0 0 30px rgba(255,220,150,.3);
}
.scn-subject-too-high .light-ray {
  position: absolute; top: 5%; left: 60%; width: 15%; height: 80%;
  background: linear-gradient(180deg, rgba(255,240,200,.3) 0%, transparent 100%);
  filter: blur(3px);
  animation: sti-ray 12s ease-in-out infinite alternate;
}
.scn-subject-too-high .leaf {
  position: absolute; top: 30%; left: 20%; width: 12px; height: 18px;
  background: radial-gradient(ellipse, #8a9a5a 0%, #5a6a3a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  animation: sti-leaf 8s linear infinite;
}
@keyframes sti-book { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(0deg) translateY(-2px); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes sti-breathe { 0% { transform: scaleY(1) translateY(0); } 25% { transform: scaleY(1.02) translateY(-1px); } 50% { transform: scaleY(1) translateY(0); } 75% { transform: scaleY(1.01) translateY(-1px); } 100% { transform: scaleY(1) translateY(0); } }
@keyframes sti-ray { 0% { opacity: .5; transform: scaleX(1); } 50% { opacity: .8; transform: scaleX(1.1); } 100% { opacity: .6; transform: scaleX(.9); } }
@keyframes sti-leaf { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-30vh) rotate(180deg); } 100% { transform: translateY(-60vh) rotate(360deg); } }

.scn-love-punishes-haughty {
  background: linear-gradient(180deg, #1a1412 0%, #2a1e18 40%, #3a2a22 100%),
              radial-gradient(ellipse at 30% 60%, #4a3228 0%, transparent 70%);
}
.scn-love-punishes-haughty .bg-dark {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1a1412 0%, #2a2018 50%, #1a1412 100%);
}
.scn-love-punishes-haughty .column-left {
  position: absolute; top: 0; left: 10%; width: 8%; height: 100%;
  background: linear-gradient(90deg, #3a2a22 0%, #4a3a2a 50%, #3a2a22 100%);
  box-shadow: inset -4px 0 8px rgba(0,0,0,.6);
}
.scn-love-punishes-haughty .column-right {
  position: absolute; top: 0; right: 10%; width: 8%; height: 100%;
  background: linear-gradient(90deg, #4a3a2a 0%, #3a2a22 50%, #4a3a2a 100%);
  box-shadow: inset 4px 0 8px rgba(0,0,0,.6);
}
.scn-love-punishes-haughty .figure {
  position: absolute; bottom: 20%; left: 40%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #1a1410 0%, #0a0806 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lph-figure 3s ease-in-out infinite;
}
.scn-love-punishes-haughty .bow {
  position: absolute; bottom: 45%; left: 30%; width: 60px; height: 8px;
  background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%);
  border-radius: 4px;
  transform: rotate(-20deg);
  box-shadow: 0 2px 4px rgba(0,0,0,.5);
  animation: lph-bow 2s ease-in-out infinite alternate;
}
.scn-love-punishes-haughty .arrow {
  position: absolute; bottom: 45%; left: 38%; width: 50px; height: 4px;
  background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%);
  border-radius: 2px;
  transform: rotate(-20deg);
  box-shadow: 0 1px 2px rgba(0,0,0,.4);
  animation: lph-arrow 1.5s ease-in-out infinite alternate;
}
.scn-love-punishes-haughty .arrow::before {
  content: '';
  position: absolute; top: -4px; left: 45px; width: 8px; height: 8px;
  background: radial-gradient(circle, #a0461a 0%, #5e1a1d 100%);
  border-radius: 50%;
  box-shadow: 0 0 6px 2px #a0461a, 0 0 12px 4px rgba(160,70,26,.4);
}
.scn-love-punishes-haughty .shadow {
  position: absolute; bottom: 15%; left: 35%; width: 80px; height: 15px;
  background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 100%);
  filter: blur(4px);
  animation: lph-shadow 3s ease-in-out infinite;
}
.scn-love-punishes-haughty .dust {
  position: absolute; top: 20%; left: 20%; width: 20%; height: 20%;
  background: radial-gradient(circle, rgba(200,180,160,.1) 0%, transparent 100%);
  animation: lph-dust 12s linear infinite;
}
@keyframes lph-figure { 0% { transform: rotate(0) translateY(0); } 25% { transform: rotate(-3deg) translateY(-2px); } 50% { transform: rotate(0) translateY(0); } 75% { transform: rotate(3deg) translateY(-2px); } 100% { transform: rotate(0) translateY(0); } }
@keyframes lph-bow { 0% { transform: rotate(-25deg) scaleX(1); } 50% { transform: rotate(-15deg) scaleX(1.1); } 100% { transform: rotate(-20deg) scaleX(1); } }
@keyframes lph-arrow { 0% { transform: rotate(-25deg) translateX(0); } 25% { transform: rotate(-15deg) translateX(5px); } 50% { transform: rotate(-20deg) translateX(0); } 75% { transform: rotate(-18deg) translateX(-3px); } 100% { transform: rotate(-20deg) translateX(0); } }
@keyframes lph-shadow { 0% { transform: scaleX(1); opacity: .5; } 50% { transform: scaleX(1.2); opacity: .7; } 100% { transform: scaleX(.9); opacity: .4; } }
@keyframes lph-dust { 0% { transform: translateY(0) scale(1); opacity: .3; } 50% { transform: translateY(-20px) scale(1.5); opacity: .6; } 100% { transform: translateY(-40px) scale(1); opacity: .2; } }

.scn-women-show-chastity { background: linear-gradient(180deg, #f5e6c8 0%, #d9c29b 60%, #b89a72 100%), radial-gradient(ellipse at 50% 30%, #ffecd0 0%, transparent 70%); }
.scn-women-show-chastity .wall { position:absolute; inset:0; background: linear-gradient(180deg, #fef4e0 0%, #e8d4b0 60%, #c9ab84 100%); }
.scn-women-show-chastity .window-frame { position:absolute; top:8%; left:15%; width:50%; height:50%; border: 4px solid #8b6f4b; background: linear-gradient(135deg, #b8d4e0 0%, #dce8f0 100%); border-radius: 4px; box-shadow: inset 0 0 30px rgba(255,240,200,0.3); }
.scn-women-show-chastity .curtain-left { position:absolute; top:6%; left:14%; width:12%; height:54%; background: linear-gradient(180deg, #c9a87c 0%, #a3865e 100%); border-radius: 0 60% 60% 0 / 0 30% 30% 0; animation: wsc-drape 12s ease-in-out infinite alternate; transform-origin: left top; }
.scn-women-show-chastity .curtain-right { position:absolute; top:6%; right:14%; width:12%; height:54%; background: linear-gradient(180deg, #c9a87c 0%, #a3865e 100%); border-radius: 60% 0 0 60% / 30% 0 0 30%; animation: wsc-drape 12s ease-in-out infinite alternate-reverse; transform-origin: right top; }
.scn-women-show-chastity .woman-silhouette { position:absolute; bottom:25%; left:35%; width:16%; height:40%; background: linear-gradient(180deg, #3b2e1f 0%, #1f1810 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: scale(1, 0.95); animation: wsc-breathe 6s ease-in-out infinite; }
.scn-women-show-chastity .book { position:absolute; bottom:20%; left:43%; width:8%; height:6%; background: linear-gradient(135deg, #8a6e4a 0%, #6b5436 100%); border-radius: 2px; transform: rotate(-10deg); box-shadow: 2px 2px 6px rgba(0,0,0,0.3); animation: wsc-book 8s ease-in-out infinite; }
.scn-women-show-chastity .lamp-glow { position:absolute; bottom:35%; left:60%; width:2%; height:2%; background: radial-gradient(circle, #ffea80 0%, #d4b050 50%, transparent 100%); border-radius: 50%; box-shadow: 0 0 20px 10px rgba(255,234,128,0.3), 0 0 40px 20px rgba(212,176,80,0.15); animation: wsc-glow 4s ease-in-out infinite alternate; }
.scn-women-show-chastity .shadow-strip { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.25) 100%); filter: blur(8px); animation: wsc-shadow 10s linear infinite alternate; }
@keyframes wsc-drape { 0% { transform: scaleX(1); } 25% { transform: scaleX(1.05) rotate(1deg); } 50% { transform: scaleX(0.98) rotate(-0.5deg); } 75% { transform: scaleX(1.02) rotate(0.5deg); } 100% { transform: scaleX(1); } }
@keyframes wsc-breathe { 0%,100% { transform: scale(1, 0.95) translateY(0); } 50% { transform: scale(1, 0.97) translateY(-2px); } }
@keyframes wsc-book { 0%,100% { transform: rotate(-10deg) translate(0,0); } 50% { transform: rotate(-8deg) translate(1px, -1px); } }
@keyframes wsc-glow { 0% { opacity: 0.6; box-shadow: 0 0 15px 5px rgba(255,234,128,0.2); } 50% { opacity: 1; box-shadow: 0 0 25px 10px rgba(255,234,128,0.4); } 100% { opacity: 0.7; box-shadow: 0 0 18px 6px rgba(255,234,128,0.25); } }
@keyframes wsc-shadow { 0% { opacity: 0.3; } 50% { opacity: 0.5; } 100% { opacity: 0.35; } }

.scn-daphnaeus-combat-zeuxippus { background: linear-gradient(180deg, #d4b896 0%, #b2916b 40%, #8f6f4e 100%), radial-gradient(ellipse at 50% 80%, #b2916b 0%, transparent 60%); }
.scn-daphnaeus-combat-zeuxippus .floor-tiles { position:absolute; bottom:0; left:0; right:0; height:35%; background: repeating-linear-gradient(90deg, #a08060 0px, #c0a080 2px, #c0a080 10px, #a08060 12px); transform: perspective(400px) rotateX(30deg); transform-origin: bottom center; animation: dcz-floor 20s linear infinite; }
.scn-daphnaeus-combat-zeuxippus .column-left { position:absolute; bottom:30%; left:10%; width:6%; height:70%; background: linear-gradient(90deg, #c8b098 0%, #e0d0c0 30%, #c8b098 60%, #b09878 100%); border-radius: 3px; box-shadow: 5px 0 10px rgba(0,0,0,0.2); }
.scn-daphnaeus-combat-zeuxippus .column-right { position:absolute; bottom:30%; right:10%; width:6%; height:70%; background: linear-gradient(90deg, #c8b098 0%, #e0d0c0 30%, #c8b098 60%, #b09878 100%); border-radius: 3px; box-shadow: -5px 0 10px rgba(0,0,0,0.2); }
.scn-daphnaeus-combat-zeuxippus .figure-left { position:absolute; bottom:28%; left:22%; width:15%; height:45%; background: linear-gradient(180deg, #2a2218 0%, #0f0d09 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-5deg); animation: dcz-figure-l 5s ease-in-out infinite; }
.scn-daphnaeus-combat-zeuxippus .figure-right { position:absolute; bottom:28%; right:22%; width:15%; height:45%; background: linear-gradient(180deg, #2a2218 0%, #0f0d09 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(5deg) scaleX(-1); animation: dcz-figure-r 5s ease-in-out infinite; }
.scn-daphnaeus-combat-zeuxippus .scroll { position:absolute; bottom:40%; left:38%; width:8%; height:4%; background: linear-gradient(135deg, #d4b88a 0%, #b89868 100%); border-radius: 2px; transform: rotate(15deg); box-shadow: 2px 2px 4px rgba(0,0,0,0.2); animation: dcz-scroll 3s ease-in-out infinite; }
.scn-daphnaeus-combat-zeuxippus .dust-particles { position:absolute; top:20%; left:0; right:0; bottom:0; background: radial-gradient(circle at 30% 40%, rgba(255,200,100,0.15) 0%, transparent 50%), radial-gradient(circle at 70% 60%, rgba(200,150,80,0.1) 0%, transparent 40%); animation: dcz-dust 18s linear infinite; }
.scn-daphnaeus-combat-zeuxippus .shadow-diagonal { position:absolute; inset:0; background: linear-gradient(135deg, transparent 30%, rgba(0,0,0,0.15) 50%, transparent 70%); animation: dcz-shadow 12s ease-in-out infinite alternate; }
@keyframes dcz-floor { 0% { background-position-x: 0; } 100% { background-position-x: -12px; } }
@keyframes dcz-figure-l { 0% { transform: rotate(-5deg) translateY(0); } 25% { transform: rotate(-3deg) translateY(-2px); } 50% { transform: rotate(-6deg) translateY(0); } 75% { transform: rotate(-4deg) translateY(-1px); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes dcz-figure-r { 0% { transform: rotate(5deg) scaleX(-1) translateY(0); } 25% { transform: rotate(7deg) scaleX(-1) translateY(-1px); } 50% { transform: rotate(4deg) scaleX(-1) translateY(0); } 75% { transform: rotate(6deg) scaleX(-1) translateY(-1px); } 100% { transform: rotate(5deg) scaleX(-1) translateY(0); } }
@keyframes dcz-scroll { 0%,100% { transform: rotate(15deg) translate(0,0); } 50% { transform: rotate(18deg) translate(2px, -1px); } }
@keyframes dcz-dust { 0% { opacity: 0.5; transform: scale(1); } 50% { opacity: 1; transform: scale(1.02); } 100% { opacity: 0.6; transform: scale(0.98); } }
@keyframes dcz-shadow { 0% { opacity: 0.2; } 50% { opacity: 0.5; } 100% { opacity: 0.3; } }

.scn-conjugal-love-wordplay { background: linear-gradient(180deg, #f0e6d8 0%, #d8c8b0 50%, #bfad93 100%), radial-gradient(ellipse at 50% 30%, #fff8ee 0%, transparent 70%); }
.scn-conjugal-love-wordplay .wall-soft { position:absolute; inset:0; background: linear-gradient(180deg, #f5efe0 0%, #e2d4c0 60%, #c8b69b 100%); }
.scn-conjugal-love-wordplay .window-curtain { position:absolute; top:5%; left:10%; width:35%; height:55%; background: linear-gradient(135deg, #d2c4ae 0%, #bda68a 50%, #d2c4ae 100%); border-radius: 0 0 40% 40%; filter: blur(1px); animation: clw-curtain 20s ease-in-out infinite alternate; }
.scn-conjugal-love-wordplay .table { position:absolute; bottom:20%; left:25%; width:50%; height:12%; background: linear-gradient(180deg, #a08060 0%, #7a6048 100%); border-radius: 4px; box-shadow: 0 -4px 8px rgba(0,0,0,0.1); }
.scn-conjugal-love-wordplay .figure-left { position:absolute; bottom:25%; left:28%; width:14%; height:42%; background: linear-gradient(180deg, #3b2e1f 0%, #1f1810 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-3deg); animation: clw-figure-l 8s ease-in-out infinite; }
.scn-conjugal-love-wordplay .figure-right { position:absolute; bottom:25%; right:28%; width:14%; height:42%; background: linear-gradient(180deg, #3b2e1f 0%, #1f1810 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(3deg); animation: clw-figure-r 8s ease-in-out infinite; }
.scn-conjugal-love-wordplay .book-open { position:absolute; bottom:22%; left:43%; width:14%; height:8%; background: radial-gradient(ellipse at 30% 50%, #e8d4b0 0%, #c8b088 100%); border-radius: 10% 10% 30% 30%; transform: rotate(-2deg); box-shadow: 0 2px 4px rgba(0,0,0,0.2); animation: clw-book 12s ease-in-out infinite; }
.scn-conjugal-love-wordplay .lamp-soft { position:absolute; bottom:32%; left:55%; width:3%; height:3%; background: radial-gradient(circle, #ffea80 0%, #d4b050 50%, transparent 100%); border-radius: 50%; box-shadow: 0 0 15px 6px rgba(255,234,128,0.25); animation: clw-lamp 6s ease-in-out infinite alternate; }
@keyframes clw-curtain { 0% { transform: translateX(-5px); } 25% { transform: translateX(3px); } 50% { transform: translateX(-2px); } 75% { transform: translateX(4px); } 100% { transform: translateX(-5px); } }
@keyframes clw-figure-l { 0%,100% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(-2deg) translateY(-1px); } }
@keyframes clw-figure-r { 0%,100% { transform: rotate(3deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-1px); } }
@keyframes clw-book { 0%,100% { transform: rotate(-2deg) scale(1); } 50% { transform: rotate(1deg) scale(1.02); } }
@keyframes clw-lamp { 0% { opacity: 0.7; box-shadow: 0 0 12px 4px rgba(255,234,128,0.2); } 50% { opacity: 1; box-shadow: 0 0 20px 8px rgba(255,234,128,0.35); } 100% { opacity: 0.8; box-shadow: 0 0 14px 5px rgba(255,234,128,0.25); } }

.scn-marriage-with-love-no-meum-tuum { background: linear-gradient(180deg, #fcE4C8 0%, #e8c8a0 50%, #c9a67a 100%), radial-gradient(ellipse at 50% 50%, #ffe8d0 0%, transparent 60%); }
.scn-marriage-with-love-no-meum-tuum .wall-warm { position:absolute; inset:0; background: linear-gradient(180deg, #ffefd8 0%, #e8d0b0 60%, #c8a882 100%); }
.scn-marriage-with-love-no-meum-tuum .arch { position:absolute; top:5%; left:20%; width:60%; height:70%; border: 6px solid #b8986a; border-radius: 50% 50% 0 0 / 60% 60% 0 0; background: radial-gradient(ellipse at 50% 30%, #fff8e8 0%, transparent 100%); box-shadow: inset 0 -20px 30px rgba(0,0,0,0.1); animation: mlm-arch 15s ease-in-out infinite alternate; }
.scn-marriage-with-love-no-meum-tuum .figure-left { position:absolute; bottom:25%; left:30%; width:15%; height:45%; background: linear-gradient(180deg, #4a3828 0%, #241a10 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-2deg); animation: mlm-figure-l 7s ease-in-out infinite; }
.scn-marriage-with-love-no-meum-tuum .figure-right { position:absolute; bottom:25%; right:30%; width:15%; height:45%; background: linear-gradient(180deg, #4a3828 0%, #241a10 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(2deg); animation: mlm-figure-r 7s ease-in-out infinite; }
.scn-marriage-with-love-no-meum-tuum .joined-hands { position:absolute; bottom:35%; left:43%; width:14%; height:8%; background: linear-gradient(90deg, #6b5436 0%, #a08060 50%, #6b5436 100%); border-radius: 30% 30% 40% 40%; transform: rotate(5deg); box-shadow: 0 2px 6px rgba(0,0,0,0.2); animation: mlm-hands 6s ease-in-out infinite alternate; }
.scn-marriage-with-love-no-meum-tuum .cloak { position:absolute; bottom:18%; left:25%; width:50%; height:25%; background: linear-gradient(180deg, #b8986a 0%, #8a704a 100%); border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%; filter: blur(2px); animation: mlm-cloak 10s ease-in-out infinite; }
.scn-marriage-with-love-no-meum-tuum .halo-light { position:absolute; top:10%; left:35%; width:30%; height:15%; background: radial-gradient(ellipse, #ffecd0 0%, transparent 100%); opacity: 0.4; animation: mlm-halo 8s ease-in-out infinite alternate; }
.scn-marriage-with-love-no-meum-tuum .petals { position:absolute; top:60%; left:0; right:0; bottom:0; background: radial-gradient(circle at 10% 20%, rgba(200,160,120,0.3) 0%, transparent 40%), radial-gradient(circle at 90% 50%, rgba(180,130,90,0.2) 0%, transparent 30%); animation: mlm-petals 25s linear infinite; }
@keyframes mlm-arch { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(0.98); } }
@keyframes mlm-figure-l { 0%,100% { transform: rotate(-2deg) translateY(0); } 50% { transform: rotate(-1deg) translateY(-2px); } }
@keyframes mlm-figure-r { 0%,100% { transform: rotate(2deg) translateY(0); } 50% { transform: rotate(1deg) translateY(-2px); } }
@keyframes mlm-hands { 0% { transform: rotate(5deg) scaleX(1); } 50% { transform: rotate(8deg) scaleX(1.05); } 100% { transform: rotate(5deg) scaleX(1); } }
@keyframes mlm-cloak { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-3px) scale(1.02); } }
@keyframes mlm-halo { 0% { opacity: 0.3; } 50% { opacity: 0.6; } 100% { opacity: 0.4; } }
@keyframes mlm-petals { 0% { transform: translateY(0); } 50% { transform: translateY(-5px); } 100% { transform: translateY(0); } }

/* Scene: love-dreams-awake (tense, dim-interior) */
.scn-love-dreams-awake {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2a1a2e 30%, #1a0a1e 70%, #0a0a1e 100%),
    radial-gradient(ellipse at 50% 50%, #2a2a4e 0%, transparent 70%);
}
.scn-love-dreams-awake .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #1a1a2e 0%, #2a1a2e 50%, #1a0a1e 100%); animation: lda-wall 20s ease-in-out infinite alternate; }
.scn-love-dreams-awake .window {
  position: absolute; top: 10%; left: 25%; width: 30%; height: 40%; border-radius: 4% 4% 2% 2%; background: linear-gradient(180deg, #3a2a4e 0%, transparent 100%); border: 2px solid #4a3a5e; box-shadow: inset 0 0 40px rgba(0,0,0,.5); }
.scn-love-dreams-awake .figure {
  position: absolute; bottom: 20%; left: 30%; width: 30px; height: 60px; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: lda-figure 6s ease-in-out infinite; }
.scn-love-dreams-awake .apparition {
  position: absolute; bottom: 25%; left: 55%; width: 28px; height: 55px; background: radial-gradient(ellipse at 50% 30%, rgba(200,180,220,.6) 0%, rgba(180,160,200,.2) 70%, transparent 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; filter: blur(2px); animation: lda-apparition 4s ease-in-out infinite alternate; }
.scn-love-dreams-awake .shadow {
  position: absolute; bottom: 18%; left: 28%; width: 40px; height: 20px; background: rgba(0,0,0,.4); border-radius: 50%; filter: blur(4px); animation: lda-shadow 6s ease-in-out infinite; }
.scn-love-dreams-awake .candle {
  position: absolute; bottom: 15%; left: 55%; width: 4px; height: 12px; background: linear-gradient(180deg, #ffd080 0%, #c08040 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 10px 4px #ffd080, 0 0 20px 8px rgba(255,208,128,.3); animation: lda-candle 2s ease-in-out infinite alternate; }
.scn-love-dreams-awake .curtain {
  position: absolute; top: 0; right: 0; width: 20%; height: 100%; background: linear-gradient(180deg, #2a1a2e 0%, #1a0a1e 100%); border-radius: 10% 0 0 10%; box-shadow: -4px 0 10px rgba(0,0,0,.5); animation: lda-curtain 15s ease-in-out infinite alternate; }

@keyframes lda-figure {
  0% { transform: translateX(0) rotate(-2deg); }
  25% { transform: translateX(8px) rotate(2deg); }
  50% { transform: translateX(4px) rotate(-1deg); }
  75% { transform: translateX(-4px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes lda-apparition {
  0% { opacity: .6; transform: scale(1); }
  50% { opacity: .9; transform: scale(1.05) translateY(-2px); }
  100% { opacity: .7; transform: scale(1); }
}
@keyframes lda-candle {
  0% { box-shadow: 0 0 8px 2px #ffd080, 0 0 16px 4px rgba(255,208,128,.3); transform: scaleY(1); }
  50% { box-shadow: 0 0 12px 6px #ffd080, 0 0 24px 10px rgba(255,208,128,.4); transform: scaleY(1.1); }
  100% { box-shadow: 0 0 10px 4px #ffd080, 0 0 20px 6px rgba(255,208,128,.3); transform: scaleY(1); }
}
@keyframes lda-shadow {
  0% { transform: translateX(0) scaleX(1); opacity: .5; }
  50% { transform: translateX(10px) scaleX(1.2); opacity: .7; }
  100% { transform: translateX(0) scaleX(1); opacity: .5; }
}
@keyframes lda-wall {
  0% { opacity: .9; }
  50% { opacity: 1; }
  100% { opacity: .8; }
}
@keyframes lda-curtain {
  0% { transform: translateX(0); }
  50% { transform: translateX(10px); }
  100% { transform: translateX(0); }
}

/* Scene: cato-lover-soul-loved (warm, bright-interior) */
.scn-cato-lover-soul-loved {
  background:
    linear-gradient(180deg, #f5e6d0 0%, #e8d0b0 40%, #d4b890 70%, #c0a070 100%),
    radial-gradient(ellipse at 50% 20%, #fff5e0 0%, transparent 60%);
}
.scn-cato-lover-soul-loved .bg-room {
  position: absolute; inset: 0; background: linear-gradient(135deg, #f0e0c0 0%, #e0c8a0 50%, #d0b080 100%); }
.scn-cato-lover-soul-loved .figure-a {
  position: absolute; bottom: 15%; left: 30%; width: 34px; height: 68px; background: linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cls-figure-a 8s ease-in-out infinite; }
.scn-cato-lover-soul-loved .figure-b {
  position: absolute; bottom: 15%; left: 48%; width: 34px; height: 68px; background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cls-figure-b 8s ease-in-out infinite; }
.scn-cato-lover-soul-loved .soul-orb {
  position: absolute; bottom: 38%; left: 39%; width: 20px; height: 20px; background: radial-gradient(circle, #ffd080 0%, #e8b060 50%, transparent 100%); border-radius: 50%; box-shadow: 0 0 30px 10px #ffd080, 0 0 60px 20px rgba(255,208,128,.4); animation: cls-soul 6s ease-in-out infinite alternate; }
.scn-cato-lover-soul-loved .window {
  position: absolute; top: 5%; left: 10%; width: 40%; height: 35%; background: linear-gradient(180deg, #fff5e0 0%, #f0e0c0 100%); border-radius: 4% 4% 2% 2%; box-shadow: inset 0 0 40px rgba(255,255,200,.3); }
.scn-cato-lover-soul-loved .curtain {
  position: absolute; top: 0; right: 0; width: 15%; height: 100%; background: linear-gradient(180deg, #d4b890 0%, #c0a070 100%); border-radius: 10% 0 0 10%; animation: cls-curtain 20s ease-in-out infinite alternate; }

@keyframes cls-figure-a {
  0% { transform: translateX(0) rotate(-1deg); }
  25% { transform: translateX(4px) rotate(1deg); }
  50% { transform: translateX(2px) rotate(-1deg); }
  75% { transform: translateX(-2px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes cls-figure-b {
  0% { transform: translateX(0) rotate(1deg); }
  25% { transform: translateX(-4px) rotate(-1deg); }
  50% { transform: translateX(-2px) rotate(1deg); }
  75% { transform: translateX(2px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes cls-soul {
  0% { transform: scale(1); opacity: .8; box-shadow: 0 0 20px 8px #ffd080, 0 0 40px 15px rgba(255,208,128,.3); }
  50% { transform: scale(1.2); opacity: 1; box-shadow: 0 0 30px 15px #ffd080, 0 0 60px 25px rgba(255,208,128,.5); }
  100% { transform: scale(1); opacity: .8; box-shadow: 0 0 20px 8px #ffd080, 0 0 40px 15px rgba(255,208,128,.3); }
}
@keyframes cls-curtain {
  0% { transform: translateX(0); }
  50% { transform: translateX(-8px); }
  100% { transform: translateX(0); }
}

/* Scene: love-enthusiasm-divine (warm, bright-interior) */
.scn-love-enthusiasm-divine {
  background:
    linear-gradient(180deg, #ffe8c0 0%, #f0d090 40%, #d0a060 70%, #b08040 100%),
    radial-gradient(ellipse at 50% 10%, #fff5e0 0%, transparent 60%);
}
.scn-love-enthusiasm-divine .bg-shrine {
  position: absolute; inset: 0; background: linear-gradient(135deg, #f0d090 0%, #d0a060 50%, #b08040 100%); }
.scn-love-enthusiasm-divine .flame {
  position: absolute; bottom: 30%; left: 50%; width: 16px; height: 30px; background: linear-gradient(180deg, #ffe080 0%, #ffa040 50%, #c06020 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 40px 15px #ffe080, 0 0 80px 30px rgba(255,224,128,.5); animation: leh-flame 2s ease-in-out infinite alternate; }
.scn-love-enthusiasm-divine .figure {
  position: absolute; bottom: 10%; left: 35%; width: 36px; height: 72px; background: linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: leh-figure 7s ease-in-out infinite; }
.scn-love-enthusiasm-divine .divine-light {
  position: absolute; top: 0; left: 30%; width: 40%; height: 60%; background: linear-gradient(180deg, rgba(255,255,255,.6) 0%, rgba(255,224,128,.2) 100%); filter: blur(10px); animation: leh-light 5s ease-in-out infinite alternate; }
.scn-love-enthusiasm-divine .incense {
  position: absolute; bottom: 35%; left: 55%; width: 10px; height: 20px; background: radial-gradient(ellipse, rgba(200,180,160,.4) 0%, transparent 100%); filter: blur(6px); animation: leh-incense 12s ease-in-out infinite; }
.scn-love-enthusiasm-divine .altar-stone {
  position: absolute; bottom: 5%; left: 25%; width: 50%; height: 12%; background: linear-gradient(180deg, #a08060 0%, #806040 100%); border-radius: 8% 8% 0 0; box-shadow: 0 10px 20px rgba(0,0,0,.3); }

@keyframes leh-flame {
  0% { transform: scaleY(1); box-shadow: 0 0 30px 10px #ffe080, 0 0 60px 20px rgba(255,224,128,.4); }
  50% { transform: scaleY(1.2); box-shadow: 0 0 40px 15px #ffe080, 0 0 80px 30px rgba(255,224,128,.6); }
  100% { transform: scaleY(1); box-shadow: 0 0 30px 10px #ffe080, 0 0 60px 20px rgba(255,224,128,.4); }
}
@keyframes leh-figure {
  0% { transform: translateY(0) rotate(-2deg); }
  25% { transform: translateY(-4px) rotate(0deg); }
  50% { transform: translateY(-8px) rotate(2deg); }
  75% { transform: translateY(-4px) rotate(0deg); }
  100% { transform: translateY(0) rotate(-2deg); }
}
@keyframes leh-light {
  0% { opacity: .7; transform: scaleX(1); }
  50% { opacity: 1; transform: scaleX(1.1); }
  100% { opacity: .7; transform: scaleX(1); }
}
@keyframes leh-incense {
  0% { transform: translateY(0) translateX(0); opacity: .4; }
  25% { transform: translateY(-10px) translateX(4px); opacity: .2; }
  50% { transform: translateY(-20px) translateX(-2px); opacity: .1; }
  75% { transform: translateY(-30px) translateX(6px); opacity: 0; }
  100% { transform: translateY(0) translateX(0); opacity: .4; }
}

/* Scene: sophocles-cyprian-power (calm, bright-interior) */
.scn-sophocles-cyprian-power {
  background:
    linear-gradient(180deg, #e8f0ff 0%, #d0e0f0 40%, #b0c8e0 70%, #90a8c0 100%),
    radial-gradient(ellipse at 50% 30%, #fff8f0 0%, transparent 60%);
}
.scn-sophocles-cyprian-power .bg-temple {
  position: absolute; inset: 0; background: linear-gradient(135deg, #d0e0f0 0%, #b0c8e0 50%, #90a8c0 100%); }
.scn-sophocles-cyprian-power .statue-base {
  position: absolute; bottom: 10%; left: 35%; width: 30%; height: 8%; background: linear-gradient(180deg, #c8b8a0 0%, #a09078 100%); border-radius: 4% 4% 0 0; box-shadow: 0 6px 12px rgba(0,0,0,.2); }
.scn-sophocles-cyprian-power .statue {
  position: absolute; bottom: 18%; left: 40%; width: 20%; height: 30%; background: linear-gradient(180deg, #f0e8d8 0%, #d8c8b0 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: scp-statue 12s ease-in-out infinite; }
.scn-sophocles-cyprian-power .dove {
  position: absolute; top: 20%; left: 55%; width: 18px; height: 14px; background: radial-gradient(ellipse at 50% 50%, #f0f0f0 0%, #d0d0d0 70%); border-radius: 50% 50% 40% 40%; animation: scp-dove 8s ease-in-out infinite; }
.scn-sophocles-cyprian-power .garland {
  position: absolute; bottom: 30%; left: 36%; width: 28%; height: 6%; background: linear-gradient(180deg, #8aaa6a 0%, #6a8a4a 100%); border-radius: 20% 20% 10% 10%; transform-origin: center; animation: scp-garland 15s ease-in-out infinite alternate; }
.scn-sophocles-cyprian-power .sunbeam {
  position: absolute; top: 0; left: 20%; width: 60%; height: 50%; background: linear-gradient(180deg, rgba(255,255,240,.5) 0%, rgba(255,255,240,0) 100%); filter: blur(8px); animation: scp-sunbeam 20s ease-in-out infinite alternate; }

@keyframes scp-statue {
  0% { transform: rotate(-1deg); }
  25% { transform: rotate(0deg); }
  50% { transform: rotate(1deg); }
  75% { transform: rotate(0deg); }
  100% { transform: rotate(-1deg); }
}
@keyframes scp-dove {
  0% { transform: translateY(0) scale(1); }
  25% { transform: translateY(-6px) scale(1.1); }
  50% { transform: translateY(0) scale(1); }
  75% { transform: translateY(-4px) scale(1.05); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes scp-garland {
  0% { transform: rotate(-5deg); }
  50% { transform: rotate(5deg); }
  100% { transform: rotate(-5deg); }
}
@keyframes scp-sunbeam {
  0% { opacity: .6; transform: translateX(-10px); }
  50% { opacity: .9; transform: translateX(10px); }
  100% { opacity: .6; transform: translateX(-10px); }
}

.scn-gylippus-embezzlement {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 50%, #1a1a2e 100%), radial-gradient(ellipse at 50% 0%, #3a2a2e 0%, transparent 60%);
}
.scn-gylippus-embezzlement .gy-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 20% 20% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.6); }
.scn-gylippus-embezzlement .gy-wall { position:absolute; bottom:30%; left:0; right:0; top:0; background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%); box-shadow: inset 0 0 30px rgba(0,0,0,.5); }
.scn-gylippus-embezzlement .gy-chest { position:absolute; bottom:28%; left:50%; width:80px; height:50px; transform:translateX(-50%); background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%); border-radius: 4% 4% 8% 8%; box-shadow: 0 6px 12px rgba(0,0,0,.7); }
.scn-gylippus-embezzlement .gy-coins { position:absolute; bottom:34%; left:45%; width:12px; height:6px; background: #a08040; border-radius: 50%; box-shadow: 8px 4px 0 #c0a060, 16px 2px 0 #b09050, 24px 6px 0 #a08040; animation: gy-coin-shift 4s ease-in-out infinite alternate; }
.scn-gylippus-embezzlement .gy-figure { position:absolute; bottom:28%; left:40%; width:24px; height:40px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: gy-figure-sway 5s ease-in-out infinite; }
.scn-gylippus-embezzlement .gy-lantern { position:absolute; bottom:36%; left:55%; width:8px; height:12px; background: radial-gradient(circle, #ffcc80 0%, #b08040 70%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 20px 6px #b08040, 0 0 40px 12px rgba(176,128,64,.4); animation: gy-lantern-glow 3s ease-in-out infinite alternate; }
.scn-gylippus-embezzlement .gy-shadow { position:absolute; bottom:28%; left:38%; width:30px; height:10px; background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 70%); border-radius: 50%; animation: gy-shadow-move 4s ease-in-out infinite; }
.scn-gylippus-embezzlement .gy-bar { position:absolute; bottom:30%; left:20%; width:60%; height:3px; background: linear-gradient(90deg, transparent 0%, #4a2a1a 30%, #4a2a1a 70%, transparent 100%); border-radius: 50%; opacity: .6; box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: gy-bar-fade 8s ease-in-out infinite; }
@keyframes gy-coin-shift { 0% { transform: translateX(0) } 50% { transform: translateX(5px) translateY(-2px) } 100% { transform: translateX(10px) } }
@keyframes gy-figure-sway { 0% { transform: rotate(-2deg) } 25% { transform: rotate(1deg) translateX(2px) } 50% { transform: rotate(-1deg) translateX(-2px) } 75% { transform: rotate(2deg) } 100% { transform: rotate(-1deg) } }
@keyframes gy-lantern-glow { 0% { box-shadow: 0 0 12px 3px #b08040, 0 0 24px 6px rgba(176,128,64,.3); opacity: .8 } 50% { box-shadow: 0 0 28px 8px #ffcc80, 0 0 56px 16px rgba(255,204,128,.5); opacity: 1 } 100% { box-shadow: 0 0 18px 5px #b08040, 0 0 36px 10px rgba(176,128,64,.35); opacity: .9 } }
@keyframes gy-shadow-move { 0%,100% { transform: translateX(0) scale(1) } 50% { transform: translateX(6px) scale(1.1) } }
@keyframes gy-bar-fade { 0%,100% { opacity: .4 } 50% { opacity: .8 } }

.scn-socrates-kick-ass {
  background: linear-gradient(180deg, #ffe0b0 0%, #f0c080 50%, #e0a060 100%), radial-gradient(ellipse at 50% 100%, #f0c080 0%, transparent 70%);
}
.scn-socrates-kick-ass .sk-back { position:absolute; inset:0; background: linear-gradient(180deg, #c8a060 0%, #b89050 100%); border-radius: 50% 50% 0 0 / 80% 80% 0 0; animation: sk-back-shift 12s ease-in-out infinite; }
.scn-socrates-kick-ass .sk-pillar { position:absolute; bottom:0; left:20%; width:20px; height:80%; background: linear-gradient(90deg, #d0b080 0%, #c0a070 50%, #b09060 100%); border-radius: 10% 10% 0 0; box-shadow: 2px 0 8px rgba(0,0,0,.3); }
.scn-socrates-kick-ass .sk-socrates { position:absolute; bottom:30%; left:40%; width:20px; height:38px; background: linear-gradient(180deg, #704020 0%, #482810 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sk-socrates-shrug 4s ease-in-out infinite; }
.scn-socrates-kick-ass .sk-kicker { position:absolute; bottom:30%; left:55%; width:16px; height:30px; background: linear-gradient(180deg, #5a3a1a 0%, #3a2010 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom right; animation: sk-kick 2s ease-in-out infinite; }
.scn-socrates-kick-ass .sk-shadow { position:absolute; bottom:30%; left:38%; width:40px; height:8px; background: radial-gradient(ellipse, rgba(0,0,0,.4) 0%, transparent 70%); animation: sk-shadow-pulse 4s ease-in-out infinite; }
.scn-socrates-kick-ass .sk-dust { position:absolute; bottom:32%; left:52%; width:20px; height:10px; background: rgba(200,160,100,.2); border-radius: 50%; filter: blur(4px); animation: sk-dust-burst 2s ease-in-out infinite; }
.scn-socrates-kick-ass .sk-crowd { position:absolute; bottom:30%; right:5%; width:30px; height:35px; background: radial-gradient(ellipse at 50% 100%, #503020 0%, transparent 70%); border-radius: 50%; box-shadow: -8px 0 0 #4a2a1a, -16px 0 0 #5a3a2a; animation: sk-crowd-bob 6s ease-in-out infinite alternate; }
.scn-socrates-kick-ass .sk-spark { position:absolute; top:20%; left:60%; width:4px; height:4px; background: #ffd080; border-radius: 50%; box-shadow: 0 0 8px 2px rgba(255,208,128,.6); animation: sk-sparkle 3s ease-in-out infinite; }
@keyframes sk-back-shift { 0%,100% { transform: scale(1) } 50% { transform: scale(1.02) } }
@keyframes sk-socrates-shrug { 0% { transform: rotate(0) translateY(0) } 25% { transform: rotate(-3deg) translateY(-2px) } 50% { transform: rotate(0) translateY(0) } 75% { transform: rotate(3deg) translateY(-2px) } 100% { transform: rotate(0) } }
@keyframes sk-kick { 0% { transform: rotate(0) translateX(0) } 25% { transform: rotate(-15deg) translateX(8px) } 50% { transform: rotate(0) translateX(0) } 75% { transform: rotate(10deg) translateX(6px) } 100% { transform: rotate(0) } }
@keyframes sk-shadow-pulse { 0%,100% { transform: scale(1); opacity: .5 } 50% { transform: scale(1.2); opacity: .8 } }
@keyframes sk-dust-burst { 0% { transform: scale(1) translateY(0); opacity: .6 } 50% { transform: scale(2) translateY(-8px); opacity: 0 } 100% { transform: scale(1) translateY(0); opacity: .6 } }
@keyframes sk-crowd-bob { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(2px) } }
@keyframes sk-sparkle { 0%,100% { opacity: .2; transform: scale(0.5) } 50% { opacity: 1; transform: scale(1.5) } }

.scn-aristophanes-clouds-theatre {
  background: linear-gradient(180deg, #e8c080 0%, #c8a060 40%, #a08040 100%), radial-gradient(ellipse at 50% 50%, #e8c080 0%, transparent 60%);
}
.scn-aristophanes-clouds-theatre .at-stage { position:absolute; bottom:0; left:5%; right:5%; height:50%; background: linear-gradient(180deg, #8a6a3a 0%, #5a3a1a 100%); border-radius: 10% 10% 0 0; box-shadow: inset 0 0 20px rgba(0,0,0,.4); }
.scn-aristophanes-clouds-theatre .at-curtain { position:absolute; bottom:50%; left:5%; right:5%; height:30%; background: linear-gradient(180deg, #b87858 0%, #a06848 50%, #885838 100%); border-radius: 0 0 20% 20%; clip-path: polygon(0% 0%, 100% 0%, 95% 100%, 5% 100%); animation: at-curtain-sway 6s ease-in-out infinite alternate; }
.scn-aristophanes-clouds-theatre .at-socrates { position:absolute; bottom:20%; left:45%; width:18px; height:34px; background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: at-socrates-gesture 4s ease-in-out infinite; }
.scn-aristophanes-clouds-theatre .at-clouds { position:absolute; bottom:55%; left:20%; width:60px; height:20px; background: rgba(255,255,240,.4); border-radius: 50%; filter: blur(5px); animation: at-cloud-drift 20s linear infinite; }
.scn-aristophanes-clouds-theatre .at-audience { position:absolute; bottom:0; left:10%; right:10%; height:20%; background: repeating-linear-gradient(90deg, transparent 0px, transparent 12px, #3a2010 12px, #3a2010 16px); border-radius: 50% 50% 0 0;
  background-size: 16px 100%; animation: at-audience-bob 8s ease-in-out infinite alternate; }
.scn-aristophanes-clouds-theatre .at-mask { position:absolute; bottom:35%; left:35%; width:14px; height:18px; background: #c8a060; border-radius: 50%; box-shadow: 0 0 6px rgba(0,0,0,.3); animation: at-mask-float 5s ease-in-out infinite; }
.scn-aristophanes-clouds-theatre .at-torch { position:absolute; bottom:40%; left:80%; width:6px; height:16px; background: linear-gradient(180deg, #ffd080 0%, #a06020 100%); border-radius: 50%; box-shadow: 0 0 20px 6px rgba(255,208,128,.6); animation: at-torch-flicker 2s ease-in-out infinite alternate; }
.scn-aristophanes-clouds-theatre .at-scroll { position:absolute; bottom:38%; left:55%; width:20px; height:6px; background: #d0b080; border-radius: 10% 50% 50% 10%; transform: rotate(-15deg); box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: at-scroll-unfurl 12s ease-in-out infinite; }
@keyframes at-curtain-sway { 0% { transform: skewX(-2deg) } 50% { transform: skewX(2deg) } 100% { transform: skewX(-1deg) } }
@keyframes at-socrates-gesture { 0% { transform: rotate(-5deg) } 30% { transform: rotate(5deg) } 60% { transform: rotate(-3deg) } 100% { transform: rotate(0) } }
@keyframes at-cloud-drift { 0% { transform: translateX(-30px) scale(1) } 50% { transform: translateX(60px) scale(1.1) } 100% { transform: translateX(-30px) scale(1) } }
@keyframes at-audience-bob { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(2px) } }
@keyframes at-mask-float { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-6px) rotate(10deg) } }
@keyframes at-torch-flicker { 0% { opacity: .8; transform: scale(1) } 50% { opacity: 1; transform: scale(1.1) } 100% { opacity: .85; transform: scale(0.95) } }
@keyframes at-scroll-unfurl { 0% { transform: rotate(-15deg) scaleX(0.5) } 50% { transform: rotate(0) scaleX(1) } 100% { transform: rotate(-15deg) scaleX(0.5) } }

.scn-archytas-land-neglect {
  background: linear-gradient(180deg, #7a8a7a 0%, #5a6a5a 40%, #3a4a3a 100%), radial-gradient(ellipse at 50% 100%, #5a6a5a 0%, transparent 60%);
}
.scn-archytas-land-neglect .ar-sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #8a9a8a 0%, #5a6a5a 100%); animation: ar-sky-pulse 10s ease-in-out infinite alternate; }
.scn-archytas-land-neglect .ar-hills { position:absolute; bottom:30%; left:0; right:0; height:30%; background: linear-gradient(180deg, #4a5a3a 0%, #2a3a2a 100%); border-radius: 40% 60% 0 0 / 80% 70% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.5); animation: ar-hills-shift 15s ease-in-out infinite alternate; }
.scn-archytas-land-neglect .ar-figure { position:absolute; bottom:24%; left:35%; width:22px; height:40px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ar-figure-tense 6s ease-in-out infinite; }
.scn-archytas-land-neglect .ar-bailiff { position:absolute; bottom:24%; left:50%; width:18px; height:34px; background: linear-gradient(180deg, #2a2a1a 0%, #1a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ar-bailiff-cower 3s ease-in-out infinite alternate; }
.scn-archytas-land-neglect .ar-plow { position:absolute; bottom:28%; left:65%; width:30px; height:10px; background: #4a3a2a; border-radius: 10% 50% 50% 10%; transform: rotate(20deg); box-shadow: 0 2px 6px rgba(0,0,0,.5); animation: ar-plow-tilt 8s ease-in-out infinite; }
.scn-archytas-land-neglect .ar-storm-cloud { position:absolute; top:10%; right:5%; width:100px; height:30px; background: rgba(50,60,50,.6); border-radius: 50%; filter: blur(8px); animation: ar-storm-move 25s linear infinite; }
.scn-archytas-land-neglect .ar-shadow { position:absolute; bottom:24%; left:33%; width:40px; height:10px; background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 70%); animation: ar-shadow-grow 6s ease-in-out infinite; }
.scn-archytas-land-neglect .ar-grass { position:absolute; bottom:0; left:0; right:0; height:30%; background: repeating-linear-gradient(0deg, transparent 0px, transparent 4px, #2a3a2a 4px, #2a3a2a 5px); background-size: 100% 5px; animation: ar-grass-wind 4s ease-in-out infinite alternate; }
@keyframes ar-sky-pulse { 0% { opacity: .7 } 50% { opacity: 1 } 100% { opacity: .8 } }
@keyframes ar-hills-shift { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-5px) scale(1.02) } 100% { transform: translateY(0) scale(1) } }
@keyframes ar-figure-tense { 0% { transform: rotate(0) translateY(0) } 25% { transform: rotate(-2deg) translateY(-1px) } 50% { transform: rotate(2deg) translateY(2px) } 75% { transform: rotate(-3deg) translateY(-2px) } 100% { transform: rotate(0) } }
@keyframes ar-bailiff-cower { 0% { transform: scale(1) translateY(0) } 100% { transform: scale(0.8) translateY(4px) } }
@keyframes ar-plow-tilt { 0%,100% { transform: rotate(20deg) } 50% { transform: rotate(15deg) translateX(3px) } }
@keyframes ar-storm-move { 0% { transform: translateX(0) scale(1) } 50% { transform: translateX(-80px) scale(1.2) } 100% { transform: translateX(0) scale(1) } }
@keyframes ar-shadow-grow { 0%,100% { transform: scale(1); opacity: .6 } 50% { transform: scale(1.1); opacity: .9 } }
@keyframes ar-grass-wind { 0% { background-position: 0 0 } 100% { background-position: 10px 0 } }

/* Scene: theocritus-purple-death (tpd) */
.scn-theocritus-purple-death {
  background: linear-gradient(180deg, #1a1028 0%, #2a1a3a 40%, #1a0a20 100%), radial-gradient(ellipse at 50% 80%, #3a224a 0%, transparent 60%);
}
.scn-theocritus-purple-death .bg-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a1a3a 0%, #1a0a20 100%);
  animation: tpd-wall 20s ease-in-out infinite alternate;
}
.scn-theocritus-purple-death .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a1a20 0%, #0a0a10 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,.6);
  animation: tpd-floor 15s ease-in-out infinite alternate;
}
.scn-theocritus-purple-death .figure {
  position: absolute; bottom: 30%; left: 50%; width: 40px; height: 80px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2a1a30 0%, #0a0a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: tpd-figure 6s ease-in-out infinite;
}
.scn-theocritus-purple-death .purple-drape {
  position: absolute; bottom: 38%; left: 42%; width: 60px; height: 50px;
  background: linear-gradient(135deg, #3a1040 0%, #5a2060 40%, #7a3080 100%);
  border-radius: 10% 90% 20% 80% / 30% 70% 30% 70%;
  transform: rotate(10deg);
  box-shadow: 0 4px 12px rgba(90,32,96,.5);
  animation: tpd-drape 8s ease-in-out infinite alternate;
}
.scn-theocritus-purple-death .candle-glow {
  position: absolute; bottom: 32%; left: 55%; width: 12px; height: 12px;
  background: radial-gradient(circle, #ffd080 0%, #c08040 50%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 6px #c08040, 0 0 40px 12px rgba(192,128,64,.4);
  animation: tpd-candle 3s ease-in-out infinite alternate;
}
.scn-theocritus-purple-death .candle-base {
  position: absolute; bottom: 30%; left: 55%; width: 8px; height: 16px;
  background: linear-gradient(180deg, #a08060 0%, #604030 100%);
  border-radius: 2px;
  transform: translateX(-50%);
  animation: tpd-candle-base 3s ease-in-out infinite alternate;
}
@keyframes tpd-wall {
  0% { opacity: .85; }
  50% { opacity: 1; }
  100% { opacity: .8; }
}
@keyframes tpd-floor {
  0% { opacity: .7; }
  50% { opacity: .9; }
  100% { opacity: .75; }
}
@keyframes tpd-figure {
  0% { transform: translateX(-50%) translateY(0) rotate(0deg); }
  50% { transform: translateX(-50%) translateY(-2px) rotate(1deg); }
  100% { transform: translateX(-50%) translateY(0) rotate(-1deg); }
}
@keyframes tpd-drape {
  0% { transform: rotate(8deg) scale(1); }
  50% { transform: rotate(12deg) scale(1.03); }
  100% { transform: rotate(9deg) scale(0.98); }
}
@keyframes tpd-candle {
  0% { opacity: .8; box-shadow: 0 0 15px 4px #c08040, 0 0 30px 8px rgba(192,128,64,.3); }
  50% { opacity: 1; box-shadow: 0 0 25px 8px #ffd080, 0 0 50px 16px rgba(255,208,128,.5); }
  100% { opacity: .85; box-shadow: 0 0 18px 5px #c08040, 0 0 35px 10px rgba(192,128,64,.35); }
}
@keyframes tpd-candle-base {
  0% { transform: translateX(-50%) scaleY(1); }
  50% { transform: translateX(-50%) scaleY(0.95); }
  100% { transform: translateX(-50%) scaleY(1); }
}

/* Scene: theocritus-antigonus-cyclops (tac) */
.scn-theocritus-antigonus-cyclops {
  background: linear-gradient(180deg, #1a1a28 0%, #2a2a3a 40%, #0a0a18 100%), radial-gradient(ellipse at 50% 60%, #3a3a4a 0%, transparent 70%);
}
.scn-theocritus-antigonus-cyclops .wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a28 100%);
  animation: tac-wall 18s ease-in-out infinite alternate;
}
.scn-theocritus-antigonus-cyclops .throne-back {
  position: absolute; bottom: 30%; left: 30%; width: 80px; height: 100px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 10% 10%;
  box-shadow: 0 4px 12px rgba(0,0,0,.5);
  animation: tac-throne 12s ease-in-out infinite alternate;
}
.scn-theocritus-antigonus-cyclops .throne-seat {
  position: absolute; bottom: 25%; left: 32%; width: 60px; height: 20px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 4px;
  animation: tac-throne 12s ease-in-out infinite alternate;
}
.scn-theocritus-antigonus-cyclops .king-figure {
  position: absolute; bottom: 25%; left: 35%; width: 36px; height: 72px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  animation: tac-king 10s ease-in-out infinite;
}
.scn-theocritus-antigonus-cyclops .king-eye {
  position: absolute; bottom: 50%; left: 35%; width: 8px; height: 8px;
  background: radial-gradient(circle, #f0d0a0 0%, #c08040 100%);
  border-radius: 50%;
  box-shadow: 0 0 12px 4px #c08040;
  animation: tac-eye 4s ease-in-out infinite alternate;
}
.scn-theocritus-antigonus-cyclops .cook-figure {
  position: absolute; bottom: 28%; left: 60%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%) scaleX(-1);
  animation: tac-cook 8s ease-in-out infinite;
}
.scn-theocritus-antigonus-cyclops .floor-line {
  position: absolute; bottom: 40%; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent 0%, #4a4a5a 50%, transparent 100%);
  opacity: .4;
  animation: tac-floor 20s ease-in-out infinite alternate;
}
@keyframes tac-wall {
  0% { opacity: .8; }
  50% { opacity: .95; }
  100% { opacity: .85; }
}
@keyframes tac-throne {
  0% { transform: scale(1); }
  50% { transform: scale(0.98) translateY(1px); }
  100% { transform: scale(1) translateY(0); }
}
@keyframes tac-king {
  0% { transform: translateX(-50%) rotate(-1deg); }
  50% { transform: translateX(-50%) rotate(2deg) translateY(-2px); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes tac-eye {
  0% { opacity: .6; box-shadow: 0 0 8px 2px #c08040; }
  50% { opacity: 1; box-shadow: 0 0 18px 6px #f0d0a0; }
  100% { opacity: .7; box-shadow: 0 0 10px 3px #c08040; }
}
@keyframes tac-cook {
  0% { transform: translateX(-50%) scaleX(-1) translateY(0); }
  50% { transform: translateX(-50%) scaleX(-1) translateY(2px) rotate(-2deg); }
  100% { transform: translateX(-50%) scaleX(-1) translateY(0); }
}
@keyframes tac-floor {
  0% { opacity: .2; }
  50% { opacity: .5; }
  100% { opacity: .3; }
}

/* Scene: lovers-associate-doubt (lad) */
.scn-lovers-associate-doubt {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 40%, #0a0a1a 100%), radial-gradient(ellipse at 50% 60%, #3a3a50 0%, transparent 70%);
}
.scn-lovers-associate-doubt .balance-base {
  position: absolute; bottom: 25%; left: 50%; width: 20px; height: 40px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4px 4px 8px 8px;
  animation: lad-base 15s ease-in-out infinite alternate;
}
.scn-lovers-associate-doubt .balance-beam {
  position: absolute; bottom: 45%; left: 20%; width: 60%; height: 6px;
  transform-origin: center bottom;
  background: linear-gradient(90deg, #4a3a2a 0%, #6a5a3a 50%, #4a3a2a 100%);
  border-radius: 3px;
  animation: lad-beam 6s ease-in-out infinite;
}
.scn-lovers-associate-doubt .pan-left {
  position: absolute; bottom: 35%; left: 18%; width: 24px; height: 12px;
  background: radial-gradient(ellipse at 50% 50%, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0,0,0,.4);
  animation: lad-pan-left 6s ease-in-out infinite;
}
.scn-lovers-associate-doubt .pan-right {
  position: absolute; bottom: 35%; right: 18%; width: 24px; height: 12px;
  background: radial-gradient(ellipse at 50% 50%, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0,0,0,.4);
  animation: lad-pan-right 6s ease-in-out infinite;
}
.scn-lovers-associate-doubt .shadow-left {
  position: absolute; bottom: 30%; left: 15%; width: 30px; height: 10px;
  background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.3) 0%, transparent 100%);
  border-radius: 50%;
  animation: lad-shadow-left 6s ease-in-out infinite;
}
.scn-lovers-associate-doubt .shadow-right {
  position: absolute; bottom: 30%; right: 15%; width: 30px; height: 10px;
  background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.3) 0%, transparent 100%);
  border-radius: 50%;
  animation: lad-shadow-right 6s ease-in-out infinite;
}
@keyframes lad-base {
  0% { transform: translateX(-50%) scaleY(1); }
  50% { transform: translateX(-50%) scaleY(0.97); }
  100% { transform: translateX(-50%) scaleY(1); }
}
@keyframes lad-beam {
  0% { transform: rotate(-5deg); }
  50% { transform: rotate(5deg); }
  100% { transform: rotate(-5deg); }
}
@keyframes lad-pan-left {
  0% { transform: translateY(0); }
  25% { transform: translateY(3px); }
  50% { transform: translateY(0); }
  75% { transform: translateY(-3px); }
  100% { transform: translateY(0); }
}
@keyframes lad-pan-right {
  0% { transform: translateY(0); }
  25% { transform: translateY(-3px); }
  50% { transform: translateY(0); }
  75% { transform: translateY(3px); }
  100% { transform: translateY(0); }
}
@keyframes lad-shadow-left {
  0% { opacity: .3; transform: scale(1); }
  50% { opacity: .1; transform: scale(0.8); }
  100% { opacity: .3; transform: scale(1); }
}
@keyframes lad-shadow-right {
  0% { opacity: .1; transform: scale(0.8); }
  50% { opacity: .3; transform: scale(1); }
  100% { opacity: .1; transform: scale(0.8); }
}

/* Scene: fathers-austere-oppose (fao) */
.scn-fathers-austere-oppose {
  background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 40%, #0a0a18 100%), radial-gradient(ellipse at 50% 70%, #3a3a4a 0%, transparent 70%);
}
.scn-fathers-austere-oppose .wall-back {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  animation: fao-wall 20s ease-in-out infinite alternate;
}
.scn-fathers-austere-oppose .bench {
  position: absolute; bottom: 20%; left: 20%; right: 20%; height: 8px;
  background: linear-gradient(90deg, #4a3a2a 0%, #6a5a3a 50%, #4a3a2a 100%);
  border-radius: 4px;
  animation: fao-bench 16s ease-in-out infinite alternate;
}
.scn-fathers-austere-oppose .teacher-figure {
  position: absolute; bottom: 20%; left: 30%; width: 30px; height: 65px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  animation: fao-teacher 12s ease-in-out infinite;
}
.scn-fathers-austere-oppose .student-figure {
  position: absolute; bottom: 20%; left: 55%; width: 28px; height: 55px;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  animation: fao-student 14s ease-in-out infinite;
}
.scn-fathers-austere-oppose .scroll {
  position: absolute; bottom: 28%; left: 40%; width: 40px; height: 6px;
  background: linear-gradient(180deg, #c0a060 0%, #a08040 100%);
  border-radius: 2px;
  transform: rotate(-15deg);
  box-shadow: 0 2px 6px rgba(0,0,0,.3);
  animation: fao-scroll 10s ease-in-out infinite alternate;
}
.scn-fathers-austere-oppose .table {
  position: absolute; bottom: 25%; left: 35%; right: 35%; height: 20px;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 4px 8px rgba(0,0,0,.4);
  animation: fao-table 18s ease-in-out infinite alternate;
}
.scn-fathers-austere-oppose .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #1a1a20 0%, #0a0a10 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,.6);
  animation: fao-floor 22s ease-in-out infinite alternate;
}
@keyframes fao-wall {
  0% { opacity: .8; }
  50% { opacity: .95; }
  100% { opacity: .85; }
}
@keyframes fao-bench {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(0.95); }
  100% { transform: scaleY(1); }
}
@keyframes fao-teacher {
  0% { transform: translateX(-50%) rotate(-1deg); }
  50% { transform: translateX(-50%) rotate(2deg) translateY(-2px); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes fao-student {
  0% { transform: translateX(-50%) rotate(1deg); }
  50% { transform: translateX(-50%) rotate(-2deg) translateY(1px); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes fao-scroll {
  0% { transform: rotate(-15deg) translateY(0); }
  50% { transform: rotate(-10deg) translateY(3px); }
  100% { transform: rotate(-15deg) translateY(0); }
}
@keyframes fao-table {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(0.98) translateY(1px); }
  100% { transform: scaleY(1); }
}
@keyframes fao-floor {
  0% { opacity: .7; }
  50% { opacity: .9; }
  100% { opacity: .75; }
}

/* Scene: iliad-ii-215 (dim interior, Thersites figure) */
.scn-iliad-ii-215 {
  background: linear-gradient(180deg, #1a1410 0%, #2c221c 40%, #3a2e26 100%),
              radial-gradient(ellipse at 50% 30%, #4a3c32 0%, transparent 70%);
}
.scn-iliad-ii-215 .wall {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #2c221c 0%, #1e1814 100%);
  animation: ii-wall 12s ease-in-out infinite alternate;
}
.scn-iliad-ii-215 .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #2a201a 0%, #1a1410 100%);
  border-radius: 60% 40% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.5);
}
.scn-iliad-ii-215 .lamp {
  position: absolute; bottom: 52%; left: 20%; width: 12px; height: 18px;
  background: radial-gradient(circle at 50% 20%, #e0a050 0%, #b07030 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 24px 6px #c08040, 0 0 48px 12px rgba(192,128,64,0.3);
  animation: ii-lamp 4s ease-in-out infinite alternate;
}
.scn-iliad-ii-215 .scroll {
  position: absolute; bottom: 30%; left: 35%; width: 40px; height: 30px;
  background: linear-gradient(135deg, #8a7a5a 0%, #6a5a3a 100%);
  border-radius: 0 0 40% 40% / 0 0 60% 60%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.6);
  transform: rotate(-5deg);
  animation: ii-scroll 6s ease-in-out infinite;
}
.scn-iliad-ii-215 .figure-sil {
  position: absolute; bottom: 30%; left: 50%; width: 20px; height: 42px;
  background: linear-gradient(180deg, #1a1410 0%, #0d0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ii-walk 8s ease-in-out infinite;
}
.scn-iliad-ii-215 .shadow {
  position: absolute; bottom: 24%; left: 48%; width: 30px; height: 8px;
  background: rgba(0,0,0,0.4);
  border-radius: 50%;
  filter: blur(4px);
  animation: ii-shadow 8s ease-in-out infinite;
}
.scn-iliad-ii-215 .dust {
  position: absolute; width: 6px; height: 6px;
  background: rgba(200,180,140,0.2);
  border-radius: 50%;
  filter: blur(2px);
}
.scn-iliad-ii-215 .mote1 {
  top: 20%; left: 30%;
  animation: ii-drift1 12s linear infinite;
}
.scn-iliad-ii-215 .mote2 {
  top: 35%; left: 60%;
  animation: ii-drift2 18s linear infinite reverse;
}
@keyframes ii-wall {
  0% { opacity: 0.85; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes ii-lamp {
  0% { box-shadow: 0 0 18px 4px #b07030, 0 0 36px 8px rgba(176,112,48,0.3); }
  50% { box-shadow: 0 0 30px 8px #e0a050, 0 0 60px 14px rgba(224,160,80,0.5); }
  100% { box-shadow: 0 0 22px 5px #c08040, 0 0 44px 10px rgba(192,128,64,0.35); }
}
@keyframes ii-scroll {
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-2px); }
  100% { transform: rotate(-5deg) translateY(0); }
}
@keyframes ii-walk {
  0% { transform: translateX(0) translateY(0) rotate(-2deg); }
  25% { transform: translateX(5px) translateY(-1px) rotate(1deg); }
  50% { transform: translateX(10px) translateY(0) rotate(-2deg); }
  75% { transform: translateX(15px) translateY(-1px) rotate(1deg); }
  100% { transform: translateX(20px) translateY(0) rotate(0deg); }
}
@keyframes ii-shadow {
  0% { width: 30px; opacity: 0.4; }
  25% { width: 35px; opacity: 0.5; }
  50% { width: 30px; opacity: 0.4; }
  75% { width: 35px; opacity: 0.3; }
  100% { width: 30px; opacity: 0.4; }
}
@keyframes ii-drift1 {
  0% { transform: translate(0, 0) scale(1); opacity: 0.2; }
  50% { transform: translate(20px, -10px) scale(1.2); opacity: 0.4; }
  100% { transform: translate(40px, -20px) scale(0.8); opacity: 0.1; }
}
@keyframes ii-drift2 {
  0% { transform: translate(0, 0) scale(0.8); opacity: 0.1; }
  50% { transform: translate(-15px, -8px) scale(1.1); opacity: 0.3; }
  100% { transform: translate(-30px, -16px) scale(0.6); opacity: 0.05; }
}

/* Scene: juvenal-iii-73 (orator, lectern, candle) */
.scn-juvenal-iii-73 {
  background: linear-gradient(180deg, #1a1a1e 0%, #2a2420 40%, #3a3028 100%),
              radial-gradient(ellipse at 50% 20%, #2a2420 0%, transparent 80%);
}
.scn-juvenal-iii-73 .bg-dark {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1e1c1a 0%, #12100e 100%);
  animation: jv-fade 10s ease-in-out infinite alternate;
}
.scn-juvenal-iii-73 .lectern {
  position: absolute; bottom: 28%; left: 50%; width: 50px; height: 60px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 4px;
  transform: translateX(-50%);
  box-shadow: 0 4px 12px rgba(0,0,0,0.5);
}
.scn-juvenal-iii-73 .scroll-open {
  position: absolute; bottom: 40%; left: 50%; width: 40px; height: 30px;
  background: linear-gradient(135deg, #8a7a5a 0%, #6a5a3a 100%);
  border-radius: 20% 20% 60% 60% / 30% 30% 70% 70%;
  transform: translateX(-50%) rotate(-3deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.6);
}
.scn-juvenal-iii-73 .speaker {
  position: absolute; bottom: 28%; left: 42%; width: 22px; height: 46px;
  background: linear-gradient(180deg, #1a1614 0%, #0c0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: jv-speak 6s ease-in-out infinite;
}
.scn-juvenal-iii-73 .candle {
  position: absolute; bottom: 48%; left: 60%; width: 8px; height: 24px;
  background: linear-gradient(180deg, #f0d0a0 0%, #c0a070 50%, #6a4a2a 100%);
  border-radius: 2px;
  box-shadow: 0 0 12px 4px rgba(240,208,160,0.3);
}
.scn-juvenal-iii-73 .glow {
  position: absolute; bottom: 48%; left: 60%; width: 30px; height: 30px;
  background: radial-gradient(circle, rgba(240,208,160,0.15) 0%, transparent 70%);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: jv-glow 3s ease-in-out infinite alternate;
}
.scn-juvenal-iii-73 .mist {
  position: absolute; border-radius: 50%;
  filter: blur(6px);
  background: rgba(200,180,160,0.08);
}
.scn-juvenal-iii-73 .wisp1 {
  top: 12%; left: 20%; width: 60px; height: 20px;
  animation: jv-mist1 40s linear infinite;
}
.scn-juvenal-iii-73 .wisp2 {
  top: 25%; right: 15%; width: 50px; height: 15px;
  animation: jv-mist2 50s linear infinite reverse;
}
@keyframes jv-fade {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes jv-speak {
  0% { transform: translateY(0) rotate(-2deg); }
  25% { transform: translateY(-2px) rotate(2deg); }
  50% { transform: translateY(-1px) rotate(-1deg); }
  75% { transform: translateY(-3px) rotate(3deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes jv-glow {
  0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0.4; }
  50% { transform: translate(-50%, -50%) scale(1.2); opacity: 0.7; }
  100% { transform: translate(-50%, -50%) scale(0.9); opacity: 0.5; }
}
@keyframes jv-mist1 {
  0% { transform: translateX(-20px); opacity: 0.05; }
  50% { transform: translateX(20px); opacity: 0.1; }
  100% { transform: translateX(-20px); opacity: 0.05; }
}
@keyframes jv-mist2 {
  0% { transform: translateX(0); opacity: 0.03; }
  50% { transform: translateX(-30px); opacity: 0.08; }
  100% { transform: translateX(0); opacity: 0.03; }
}

/* Scene: apophthegmata-179 (scholar at desk) */
.scn-apophthegmata-179 {
  background: linear-gradient(180deg, #1e1814 0%, #2c221c 40%, #3a2e26 100%),
              radial-gradient(ellipse at 50% 30%, #4a3c32 0%, transparent 70%);
}
.scn-apophthegmata-179 .wall-panel {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #2c221c 0%, #1e1814 100%);
  border-bottom: 2px solid #3a2e26;
}
.scn-apophthegmata-179 .desk {
  position: absolute; bottom: 25%; left: 30%; width: 80px; height: 30px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  transform: rotate(-2deg);
}
.scn-apophthegmata-179 .inkwell {
  position: absolute; bottom: 38%; left: 38%; width: 14px; height: 12px;
  background: radial-gradient(circle at 50% 30%, #2a1a14 0%, #1a0e0a 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.6);
  animation: ap-ink 9s ease-in-out infinite alternate;
}
.scn-apophthegmata-179 .candle-stick {
  position: absolute; bottom: 36%; left: 55%; width: 6px; height: 50px;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%);
  border-radius: 20%;
  transform: rotate(2deg);
}
.scn-apophthegmata-179 .scholar {
  position: absolute; bottom: 25%; left: 36%; width: 24px; height: 48px;
  background: linear-gradient(180deg, #1a1614 0%, #0c0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ap-write 7s ease-in-out infinite;
}
.scn-apophthegmata-179 .book {
  position: absolute; bottom: 35%; left: 46%; width: 30px; height: 22px;
  background: linear-gradient(135deg, #8a7a5a 0%, #6a5a3a 100%);
  border-radius: 2px;
  transform: rotate(8deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
}
.scn-apophthegmata-179 .shadow-pool {
  position: absolute; bottom: 18%; left: 32%; width: 70px; height: 20px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(8px);
  animation: ap-shadow 8s ease-in-out infinite;
}
.scn-apophthegmata-179 .sparkle {
  position: absolute; bottom: 38%; left: 40%; width: 4px; height: 4px;
  background: rgba(240,200,140,0.5);
  border-radius: 50%;
  box-shadow: 0 0 6px 2px rgba(240,200,140,0.4);
  animation: ap-spark 4s ease-in-out infinite;
}
@keyframes ap-ink {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes ap-write {
  0% { transform: translateX(0) translateY(0) rotate(-3deg); }
  25% { transform: translateX(4px) translateY(-1px) rotate(2deg); }
  50% { transform: translateX(8px) translateY(-2px) rotate(-1deg); }
  75% { transform: translateX(12px) translateY(-1px) rotate(3deg); }
  100% { transform: translateX(16px) translateY(0) rotate(0deg); }
}
@keyframes ap-shadow {
  0% { opacity: 0.4; transform: scaleX(1); }
  50% { opacity: 0.6; transform: scaleX(1.1); }
  100% { opacity: 0.4; transform: scaleX(1); }
}
@keyframes ap-spark {
  0% { transform: scale(1); opacity: 0.3; }
  50% { transform: scale(1.5); opacity: 0.8; }
  100% { transform: scale(0.8); opacity: 0.1; }
}

/* Scene: laws-p-729-c (pillar, tablet, hand, torch) */
.scn-laws-p-729-c {
  background: linear-gradient(180deg, #1a1a24 0%, #2a2230 40%, #3a2a3a 100%),
              radial-gradient(ellipse at 50% 20%, #2a2230 0%, transparent 80%);
}
.scn-laws-p-729-c .pillar {
  position: absolute; bottom: 0; left: 50%; width: 30px; height: 100%;
  background: linear-gradient(180deg, #3a2a3a 0%, #2a1a2a 100%);
  transform: translateX(-50%);
  border-radius: 4px;
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
  animation: lp-pillar 14s ease-in-out infinite alternate;
}
.scn-laws-p-729-c .floor-tile {
  position: absolute; bottom: 0; left: 10%; right: 10%; height: 20%;
  background: linear-gradient(180deg, #2a2230 0%, #1a1a24 100%);
  border-radius: 50% 50% 0 0 / 30% 30% 0 0;
}
.scn-laws-p-729-c .tablet {
  position: absolute; bottom: 40%; left: 46%; width: 30px; height: 40px;
  background: linear-gradient(135deg, #8a7a5a 0%, #6a5a3a 100%);
  border-radius: 4px;
  transform: rotate(-5deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: lp-tablet 5s ease-in-out infinite alternate;
}
.scn-laws-p-729-c .hand {
  position: absolute; bottom: 42%; left: 50%; width: 12px; height: 18px;
  background: linear-gradient(180deg, #c0a080 0%, #8a6a4a 100%);
  border-radius: 40% 40% 30% 30%;
  transform-origin: bottom center;
  animation: lp-hand 6s ease-in-out infinite;
}
.scn-laws-p-729-c .torch {
  position: absolute; bottom: 32%; left: 30%; width: 6px; height: 40px;
  background: linear-gradient(180deg, #8a6a3a 0%, #4a2a1a 100%);
  border-radius: 2px;
  transform: rotate(10deg);
}
.scn-laws-p-729-c .flame-glow {
  position: absolute; bottom: 55%; left: 30%; width: 30px; height: 30px;
  background: radial-gradient(circle, rgba(200,120,40,0.3) 0%, rgba(200,120,40,0.05) 60%, transparent 100%);
  transform: translate(-50%, -50%);
  animation: lp-flame 3s ease-in-out infinite alternate;
}
.scn-laws-p-729-c .smoke {
  position: absolute; background: rgba(200,180,160,0.1);
  border-radius: 50%;
  filter: blur(8px);
}
.scn-laws-p-729-c .trail1 {
  bottom: 60%; left: 28%; width: 40px; height: 40px;
  animation: lp-smoke1 20s linear infinite;
}
.scn-laws-p-729-c .trail2 {
  bottom: 55%; left: 32%; width: 30px; height: 30px;
  animation: lp-smoke2 25s linear infinite reverse;
}
@keyframes lp-pillar {
  0% { transform: translateX(-50%) scaleY(1); }
  50% { transform: translateX(-50%) scaleY(0.98); }
  100% { transform: translateX(-50%) scaleY(1); }
}
@keyframes lp-tablet {
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-2px); }
  100% { transform: rotate(-5deg) translateY(0); }
}
@keyframes lp-hand {
  0% { transform: translateX(0) rotate(-5deg); }
  25% { transform: translateX(3px) rotate(0deg); }
  50% { transform: translateX(6px) rotate(5deg); }
  75% { transform: translateX(3px) rotate(2deg); }
  100% { transform: translateX(0) rotate(-5deg); }
}
@keyframes lp-flame {
  0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0.3; }
  50% { transform: translate(-50%, -50%) scale(1.3); opacity: 0.7; }
  100% { transform: translate(-50%, -50%) scale(0.9); opacity: 0.4; }
}
@keyframes lp-smoke1 {
  0% { transform: translate(0, 0) scale(1); opacity: 0.05; }
  50% { transform: translate(-10px, -20px) scale(1.5); opacity: 0.15; }
  100% { transform: translate(-20px, -40px) scale(2); opacity: 0; }
}
@keyframes lp-smoke2 {
  0% { transform: translate(0, 0) scale(0.8); opacity: 0.03; }
  50% { transform: translate(8px, -15px) scale(1.2); opacity: 0.1; }
  100% { transform: translate(16px, -30px) scale(1.8); opacity: 0; }
}

.scn-sudden-appearance-good-man {
  background: linear-gradient(180deg, #2a1a10 0%, #1a0e08 50%, #0f0805 100%),
              radial-gradient(ellipse at 50% 80%, #3a2a1a 0%, transparent 60%);
}
.scn-sudden-appearance-good-man .wall { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e08 100%); }
.scn-sudden-appearance-good-man .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #2a1a10 0%, #1a0e08 100%); }
.scn-sudden-appearance-good-man .door-frame { position:absolute; bottom:10%; left:35%; width:30%; height:70%; background: linear-gradient(90deg, #4a3220 0%, #3a2618 50%, #4a3220 100%); border-radius:4% 4% 0 0; }
.scn-sudden-appearance-good-man .door { position:absolute; bottom:10%; left:35%; width:30%; height:70%; background: linear-gradient(90deg, #5a3e2a 0%, #4a3220 100%); border-radius:4% 4% 0 0; animation: s1-door 6s ease-in-out infinite alternate; transform-origin: left center; }
.scn-sudden-appearance-good-man .figure { position:absolute; bottom:10%; left:50%; width:12%; height:50%; background: radial-gradient(ellipse 60% 100% at 50% 0%, #0a0604 0%, #000 100%); border-radius:40% 40% 20% 20% / 60% 60% 20% 20%; animation: s1-figure 8s ease-in-out infinite alternate; }
.scn-sudden-appearance-good-man .candle { position:absolute; bottom:15%; left:25%; width:2%; height:6%; background: linear-gradient(180deg, #e8c080 0%, #8a6030 100%); border-radius:30%; box-shadow: 0 0 20px 8px #f0c880; animation: s1-candle 4s ease-in-out infinite; }
@keyframes s1-door { 0% { transform: scaleX(1); } 50% { transform: scaleX(0.3); } 100% { transform: scaleX(0.9); } }
@keyframes s1-figure { 0% { opacity:0; transform: translateX(-10%); } 50% { opacity:1; transform: translateX(0%); } 100% { opacity:1; transform: translateX(2%); } }
@keyframes s1-candle { 0% { opacity:0.8; transform: translateY(0); box-shadow: 0 0 15px 5px #f0c880; } 50% { opacity:1; transform: translateY(-2px); box-shadow: 0 0 25px 10px #f0c880; } 100% { opacity:0.85; transform: translateY(1px); box-shadow: 0 0 18px 6px #f0c880; } }

.scn-no-wrongdoing-small {
  background: linear-gradient(180deg, #1a1a2e 0%, #0d0d1a 50%, #05050a 100%),
              radial-gradient(ellipse at 50% 20%, #1a2050 0%, transparent 50%);
}
.scn-no-wrongdoing-small .bg { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 30%, #2a2a4a 0%, transparent 80%); }
.scn-no-wrongdoing-small .table { position:absolute; bottom:0; left:5%; right:5%; height:20%; background: linear-gradient(180deg, #3a3a5a 0%, #1a1a2e 100%); border-radius:20% 20% 0 0; }
.scn-no-wrongdoing-small .figure { position:absolute; bottom:15%; left:30%; width:20%; height:50%; background: linear-gradient(180deg, #1a1a2e 0%, #0a0a12 100%); border-radius:50% 50% 40% 40% / 60% 60% 30% 30%; animation: s2-figure 3s ease-in-out infinite; }
.scn-no-wrongdoing-small .arm { position:absolute; bottom:40%; left:45%; width:15%; height:5%; background: linear-gradient(90deg, #1a1a2e 0%, #0a0a12 100%); border-radius:30%; transform-origin: left center; animation: s2-arm 2s ease-in-out infinite alternate; }
.scn-no-wrongdoing-small .object { position:absolute; bottom:20%; left:40%; width:4%; height:4%; background: radial-gradient(circle, #c0a060 0%, #8a6a40 100%); border-radius:50%; box-shadow: 0 0 10px 3px #c0a060; animation: s2-object 1.5s ease-in-out infinite; }
.scn-no-wrongdoing-small .spotlight { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 0%, rgba(200,180,120,0.2) 0%, transparent 60%); animation: s2-spotlight 4s ease-in-out infinite alternate; }
@keyframes s2-figure { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes s2-arm { 0% { transform: rotate(-20deg); } 50% { transform: rotate(10deg); } 100% { transform: rotate(-15deg); } }
@keyframes s2-object { 0% { transform: scale(1); opacity:0.8; } 50% { transform: scale(1.3); opacity:1; } 100% { transform: scale(0.9); opacity:0.7; } }
@keyframes s2-spotlight { 0% { opacity:0.2; transform: translateY(0); } 50% { opacity:0.4; transform: translateY(-10px); } 100% { opacity:0.15; transform: translateY(5px); } }

.scn-building-life-golden-base {
  background: linear-gradient(180deg, #f0e0c0 0%, #c8b080 30%, #a08050 60%, #705030 100%),
              radial-gradient(ellipse at 70% 30%, #ffe8c0 0%, transparent 60%);
}
.scn-building-life-golden-base .wall-bg { position:absolute; inset:0; background: linear-gradient(90deg, #b0a080 0%, #d0c0a0 50%, #b0a080 100%); }
.scn-building-life-golden-base .golden-base { position:absolute; bottom:0; left:0; right:0; height:15%; background: linear-gradient(180deg, #d0a050 0%, #b08030 100%); box-shadow: 0 -4px 10px rgba(0,0,0,0.3); }
.scn-building-life-golden-base .brick-row { position:absolute; bottom:20%; left:10%; right:10%; height:8%; background: repeating-linear-gradient(90deg, #a08050 0%, #a08050 4%, #c8b080 4%, #c8b080 8%); border-radius:4px; }
.scn-building-life-golden-base .mortar-line { position:absolute; bottom:16%; left:10%; right:10%; height:2%; background: #8a7050; }
.scn-building-life-golden-base .figure { position:absolute; bottom:15%; left:35%; width:20%; height:40%; background: linear-gradient(180deg, #605040 0%, #3a2a1a 100%); border-radius:40% 40% 30% 30% / 50% 50% 20% 20%; animation: s3-figure 5s ease-in-out infinite; }
.scn-building-life-golden-base .trowel { position:absolute; bottom:35%; left:30%; width:12%; height:4%; background: linear-gradient(90deg, #8a7a6a 0%, #5a4a3a 100%); border-radius:30%; transform-origin: right center; animation: s3-trowel 3s ease-in-out infinite alternate; }
.scn-building-life-golden-base .sunlight { position:absolute; inset:0; background: linear-gradient(135deg, rgba(255,240,200,0.4) 0%, transparent 60%, transparent 100%); animation: s3-sunlight 12s ease-in-out infinite alternate; }
.scn-building-life-golden-base .shadow { position:absolute; bottom:0; left:20%; width:60%; height:30%; background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.3) 100%); animation: s3-shadow 8s ease-in-out infinite alternate; }
@keyframes s3-figure { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes s3-trowel { 0% { transform: rotate(-30deg); } 50% { transform: rotate(20deg); } 100% { transform: rotate(-25deg); } }
@keyframes s3-sunlight { 0% { opacity:0.6; background-position: 0% 0%; } 50% { opacity:0.8; background-position: 20% 10%; } 100% { opacity:0.5; background-position: -10% 0%; } }
@keyframes s3-shadow { 0% { transform: scaleY(0.8); opacity:0.4; } 50% { transform: scaleY(1); opacity:0.6; } 100% { transform: scaleY(0.7); opacity:0.3; } }

.scn-footnote-erasmus-adagia {
  background: linear-gradient(180deg, #2a1a10 0%, #1a0e08 50%, #0f0805 100%),
              radial-gradient(ellipse at 30% 60%, #3a2a1a 0%, transparent 50%);
}
.scn-footnote-erasmus-adagia .bookshelf { position:absolute; top:5%; left:10%; right:10%; height:50%; background: linear-gradient(180deg, #4a3220 0%, #2a1a10 100%); border-radius:8px; box-shadow: inset 0 4px 8px rgba(0,0,0,0.4); }
.scn-footnote-erasmus-adagia .book-row { position:absolute; top:15%; left:15%; right:15%; height:8%; background: repeating-linear-gradient(90deg, #5a3e2a 0%, #5a3e2a 3%, #7a5a3a 3%, #7a5a3a 6%, #8a6a4a 6%, #8a6a4a 9%); border-radius:2px; }
.scn-footnote-erasmus-adagia .scroll { position:absolute; bottom:20%; left:60%; width:30%; height:10%; background: linear-gradient(180deg, #c8b080 0%, #a08050 100%); border-radius:10px; animation: s4-scroll 15s ease-in-out infinite alternate; }
.scn-footnote-erasmus-adagia .desk { position:absolute; bottom:0; left:5%; right:5%; height:25%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e08 100%); border-radius:10% 10% 0 0; }
.scn-footnote-erasmus-adagia .candle { position:absolute; bottom:22%; left:20%; width:2%; height:8%; background: linear-gradient(180deg, #e8c080 0%, #8a6030 100%); border-radius:30%; animation: s4-candle 5s ease-in-out infinite; }
.scn-footnote-erasmus-adagia .glow { position:absolute; bottom:20%; left:18%; width:8%; height:12%; background: radial-gradient(circle, rgba(240,200,128,0.6) 0%, transparent 70%); border-radius:50%; animation: s4-glow 4s ease-in-out infinite alternate; }
@keyframes s4-scroll { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes s4-candle { 0% { opacity:0.7; transform: translateY(0); } 50% { opacity:1; transform: translateY(-2px); } 100% { opacity:0.8; transform: translateY(1px); } }
@keyframes s4-glow { 0% { transform: scale(1); opacity:0.3; } 50% { transform: scale(1.5); opacity:0.6; } 100% { transform: scale(0.8); opacity:0.4; } }

/* scene: prudence-and-knowledge */
.scn-prudence-and-knowledge {
  background:
    linear-gradient(180deg, #e8dcc8 0%, #c8b898 50%, #a8a090 100%),
    radial-gradient(ellipse at 50% 30%, #f0e8d0 0%, transparent 70%);
  position: relative; overflow: hidden;
}
.scn-prudence-and-knowledge .window-frame {
  position: absolute; top: 5%; left: 10%; width: 40%; height: 30%;
  border: 8px solid #8a7a5a; border-radius: 4px 4px 0 0;
  background: transparent; animation: pk-frame 10s ease-in-out infinite alternate;
}
.scn-prudence-and-knowledge .window-pane {
  position: absolute; top: 5%; left: 10%; width: 38.5%; height: 28%;
  background: linear-gradient(135deg, rgba(255,240,200,0.6) 0%, rgba(255,220,150,0.3) 100%);
  filter: blur(2px); animation: pk-pane 8s ease-in-out infinite alternate;
}
.scn-prudence-and-knowledge .desk {
  position: absolute; bottom: 8%; left: 5%; right: 5%; height: 15%;
  background: linear-gradient(180deg, #9a8a6a 0%, #6a5a3a 100%);
  border-radius: 4px; box-shadow: 0 -4px 10px rgba(0,0,0,0.1);
  animation: pk-desk 12s ease-in-out infinite;
}
.scn-prudence-and-knowledge .book {
  position: absolute; bottom: 20%; width: 22%; height: 12%;
  border-radius: 2px 8px 8px 2px; transform-origin: bottom left;
}
.scn-prudence-and-knowledge .book-a {
  left: 20%; background: linear-gradient(90deg, #b8786a 0%, #a0685a 100%);
  box-shadow: 2px 2px 6px rgba(0,0,0,0.2);
  animation: pk-booka 6s ease-in-out infinite;
}
.scn-prudence-and-knowledge .book-b {
  left: 44%; background: linear-gradient(90deg, #7a6a8a 0%, #6a5a7a 100%);
  box-shadow: 2px 2px 6px rgba(0,0,0,0.2);
  animation: pk-bookb 6s ease-in-out infinite;
}
.scn-prudence-and-knowledge .lamp {
  position: absolute; bottom: 24%; left: 68%; width: 10%; height: 20%;
  background: linear-gradient(180deg, #d0b090 0%, #b09070 60%, #806050 100%);
  border-radius: 50% 50% 10% 10%; box-shadow: 0 0 30px 10px rgba(200,160,80,0.3);
  animation: pk-lamp 4s ease-in-out infinite alternate;
}
.scn-prudence-and-knowledge .dust {
  position: absolute; width: 6px; height: 6px; border-radius: 50%;
  background: rgba(200,180,140,0.5); filter: blur(2px);
}
.scn-prudence-and-knowledge .dust-1 { top: 40%; left: 30%; animation: pk-dust1 20s linear infinite; }
.scn-prudence-and-knowledge .dust-2 { top: 55%; left: 60%; animation: pk-dust2 25s linear infinite; }
@keyframes pk-frame { 0% { transform: scale(1) } 50% { transform: scale(1.01) } 100% { transform: scale(0.99) } }
@keyframes pk-pane { 0% { opacity: 0.7 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes pk-desk { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes pk-booka { 0% { transform: rotate(-2deg) } 50% { transform: rotate(1deg) } 100% { transform: rotate(-1deg) } }
@keyframes pk-bookb { 0% { transform: rotate(2deg) } 50% { transform: rotate(-1deg) } 100% { transform: rotate(1deg) } }
@keyframes pk-lamp { 0% { box-shadow: 0 0 20px 5px rgba(200,160,80,0.2); } 50% { box-shadow: 0 0 40px 15px rgba(200,160,80,0.5); } 100% { box-shadow: 0 0 25px 8px rgba(200,160,80,0.3); } }
@keyframes pk-dust1 { 0% { transform: translate(0,0) scale(0.5); opacity: 0; } 10% { opacity: 0.6; } 100% { transform: translate(60px, -40px) scale(2); opacity: 0; } }
@keyframes pk-dust2 { 0% { transform: translate(0,0) scale(0.8); opacity: 0; } 15% { opacity: 0.4; } 100% { transform: translate(-80px, -60px) scale(1.5); opacity: 0; } }

/* scene: geometrician-no-deliberation */
.scn-geometrician-no-deliberation {
  background:
    linear-gradient(135deg, #f5f0e0 0%, #e0d8c0 50%, #c8c0a8 100%),
    radial-gradient(ellipse at 30% 40%, #fff8e8 0%, transparent 60%);
  position: relative; overflow: hidden;
}
.scn-geometrician-no-deliberation .table {
  position: absolute; bottom: 5%; left: 10%; right: 10%; height: 20%;
  background: linear-gradient(180deg, #b8a888 0%, #887858 100%);
  border-radius: 12px 12px 0 0; box-shadow: 0 -6px 12px rgba(0,0,0,0.1);
  animation: gn-table 15s ease-in-out infinite;
}
.scn-geometrician-no-deliberation .paper {
  position: absolute; bottom: 20%; left: 20%; right: 20%; height: 30%;
  background: #faf5e8; border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  animation: gn-paper 8s ease-in-out infinite alternate;
}
.scn-geometrician-no-deliberation .triangle {
  position: absolute; bottom: 25%; left: 35%; width: 20%; height: 20%;
  background: linear-gradient(135deg, #7a8a9a 0%, #5a6a7a 100%);
  clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
  animation: gn-triangle 6s ease-in-out infinite;
}
.scn-geometrician-no-deliberation .compass {
  position: absolute; bottom: 30%; left: 62%; width: 12%; height: 24%;
  background: linear-gradient(180deg, #b0a090 0%, #807060 100%);
  border-radius: 50% 50% 10% 10%;
  animation: gn-compass 10s ease-in-out infinite;
}
.scn-geometrician-no-deliberation .ruler {
  position: absolute; bottom: 25%; left: 15%; width: 30%; height: 4%;
  background: #a09070; border-radius: 2px;
  transform: rotate(-10deg); animation: gn-ruler 12s ease-in-out infinite alternate;
}
.scn-geometrician-no-deliberation .lightcone {
  position: absolute; top: 0; left: 30%; width: 40%; height: 60%;
  background: linear-gradient(180deg, rgba(255,245,220,0.3) 0%, transparent 100%);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  animation: gn-lightcone 8s ease-in-out infinite alternate;
}
.scn-geometrician-no-deliberation .dust {
  position: absolute; width: 5px; height: 5px; border-radius: 50%;
  background: rgba(180,160,120,0.4); filter: blur(2px);
}
.scn-geometrician-no-deliberation .dot-1 { top: 20%; left: 50%; animation: gn-dot1 30s linear infinite; }
.scn-geometrician-no-deliberation .dot-2 { top: 40%; left: 20%; animation: gn-dot2 35s linear infinite; }
@keyframes gn-table { 0% { transform: scale(1) } 50% { transform: scale(1.01) } 100% { transform: scale(0.99) } }
@keyframes gn-paper { 0% { transform: rotate(-1deg) } 50% { transform: rotate(1deg) } 100% { transform: rotate(-0.5deg) } }
@keyframes gn-triangle { 0% { transform: rotate(0deg) } 50% { transform: rotate(3deg) } 100% { transform: rotate(-2deg) } }
@keyframes gn-compass { 0% { transform: rotate(-2deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-1deg) } }
@keyframes gn-ruler { 0% { transform: rotate(-10deg) } 50% { transform: rotate(-8deg) } 100% { transform: rotate(-12deg) } }
@keyframes gn-lightcone { 0% { opacity: 0.6 } 50% { opacity: 1 } 100% { opacity: 0.7 } }
@keyframes gn-dot1 { 0% { transform: translate(0,0) opacity 0; } 10% { opacity: 0.3; } 100% { transform: translate(40px, -50px) opacity 0; } }
@keyframes gn-dot2 { 0% { transform: translate(0,0) opacity 0; } 15% { opacity: 0.2; } 100% { transform: translate(-30px, -70px) opacity 0; } }

/* scene: prudence-deliberates-uncertain */
.scn-prudence-deliberates-uncertain {
  background:
    linear-gradient(135deg, #e8dcc8 0%, #d0c8b0 30%, #b8a898 100%),
    radial-gradient(ellipse at 50% 60%, #f0e0c8 0%, transparent 70%);
  position: relative; overflow: hidden;
}
.scn-prudence-deliberates-uncertain .figure-sil {
  position: absolute; bottom: 15%; left: 30%; width: 16%; 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: pd-figure 8s ease-in-out infinite alternate;
}
.scn-prudence-deliberates-uncertain .desk-wood {
  position: absolute; bottom: 8%; left: 5%; right: 5%; height: 12%;
  background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%);
  border-radius: 6px; box-shadow: 0 -4px 6px rgba(0,0,0,0.2);
  animation: pd-desk 12s ease-in-out infinite;
}
.scn-prudence-deliberates-uncertain .hourglass {
  position: absolute; bottom: 30%; left: 55%; width: 12%; height: 20%;
  background: linear-gradient(180deg, #c0a880 0%, #a08860 100%);
  clip-path: polygon(50% 0%, 100% 40%, 80% 100%, 20% 100%, 0% 40%);
  animation: pd-hourglass 9s ease-in-out infinite;
}
.scn-prudence-deliberates-uncertain .clock {
  position: absolute; bottom: 35%; left: 20%; width: 14%; height: 14%;
  background: radial-gradient(circle, #e0d0b0 0%, #b0a080 70%);
  border-radius: 50%; box-shadow: 0 2px 10px rgba(0,0,0,0.2);
  animation: pd-clock 15s ease-in-out infinite alternate;
}
.scn-prudence-deliberates-uncertain .shadow-uncertain {
  position: absolute; bottom: 8%;left: 25%; width: 30%; height: 10%;
  background: rgba(0,0,0,0.1); filter: blur(12px);
  animation: pd-shadow 5s ease-in-out infinite alternate;
}
.scn-prudence-deliberates-uncertain .light-spot {
  position: absolute; top: 10%; left: 40%; width: 20%; height: 30%;
  background: radial-gradient(ellipse, rgba(255,230,180,0.4) 0%, transparent 70%);
  animation: pd-light 10s ease-in-out infinite alternate;
}
.scn-prudence-deliberates-uncertain .particle {
  position: absolute; width: 4px; height: 4px; border-radius: 50%;
  background: rgba(180,150,100,0.4); filter: blur(1px);
}
.scn-prudence-deliberates-uncertain .p1 { top: 50%; left: 35%; animation: pd-p1 28s linear infinite; }
.scn-prudence-deliberates-uncertain .p2 { top: 60%; left: 65%; animation: pd-p2 32s linear infinite; }
@keyframes pd-figure { 0% { transform: translateX(0) rotate(-1deg) } 50% { transform: translateX(5px) rotate(1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes pd-desk { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes pd-hourglass { 0% { transform: rotate(0deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-2deg) } }
@keyframes pd-clock { 0% { box-shadow: 0 2px 10px rgba(0,0,0,0.2); } 50% { box-shadow: 0 4px 20px rgba(0,0,0,0.3); } 100% { box-shadow: 0 2px 8px rgba(0,0,0,0.15); } }
@keyframes pd-shadow { 0% { opacity: 0.3; transform: scale(1); } 50% { opacity: 0.6; transform: scale(1.2); } 100% { opacity: 0.4; transform: scale(0.9); } }
@keyframes pd-light { 0% { opacity: 0.5; } 50% { opacity: 1; } 100% { opacity: 0.6; } }
@keyframes pd-p1 { 0% { transform: translate(0,0) scale(0.5); opacity: 0; } 10% { opacity: 0.3; } 100% { transform: translate(-30px, -60px) scale(2); opacity: 0; } }
@keyframes pd-p2 { 0% { transform: translate(0,0) scale(0.8); opacity: 0; } 15% { opacity: 0.2; } 100% { transform: translate(40px, -80px) scale(1.5); opacity: 0; } }

/* scene: impetus-from-passion */
.scn-impetus-from-passion {
  background:
    linear-gradient(135deg, #f0e0c8 0%, #d8c8a8 30%, #c8b898 100%),
    radial-gradient(ellipse at 50% 40%, #ffdfa0 0%, transparent 70%);
  position: relative; overflow: hidden;
}
.scn-impetus-from-passion .hand-regulate {
  position: absolute; top: 35%; left: 30%; width: 18%; height: 30%;
  background: linear-gradient(180deg, #c8a888 0%, #a08060 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: if-hand 6s ease-in-out infinite alternate;
}
.scn-impetus-from-passion .heart-glow {
  position: absolute; top: 25%; left: 50%; width: 16%; height: 16%;
  background: radial-gradient(circle, #d87858 0%, #a05030 70%); /* terracotta, no bright red */
  border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%; /* heart shape via clip-path? */
  clip-path: polygon(50% 0%, 100% 30%, 100% 60%, 50% 100%, 0% 60%, 0% 30%);
  box-shadow: 0 0 40px 15px rgba(200,100,60,0.5);
  animation: if-heart 4s ease-in-out infinite alternate;
}
.scn-impetus-from-passion .scale-bar {
  position: absolute; bottom: 25%; left: 20%; width: 60%; height: 4%;
  background: #a09070; border-radius: 2px;
  animation: if-scale 10s ease-in-out infinite;
}
.scn-impetus-from-passion .chain-left {
  position: absolute; bottom: 25%; left: 20%; width: 4%; height: 20%;
  background: linear-gradient(180deg, #b0a080 0%, #706050 100%);
  border-radius: 2px; transform-origin: bottom left;
  animation: if-chainleft 5s ease-in-out infinite alternate;
}
.scn-impetus-from-passion .chain-right {
  position: absolute; bottom: 25%; right: 20%; width: 4%; height: 20%;
  background: linear-gradient(180deg, #b0a080 0%, #706050 100%);
  border-radius: 2px; transform-origin: bottom right;
  animation: if-chainright 5s ease-in-out infinite alternate;
}
.scn-impetus-from-passion .background-glow {
  position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 50%, rgba(255,180,100,0.2) 0%, transparent 70%);
  animation: if-bgglow 8s ease-in-out infinite alternate;
}
.scn-impetus-from-passion .ember {
  position: absolute; width: 8px; height: 8px; border-radius: 50%;
  background: #ffa060; filter: blur(4px);
}
.scn-impetus-from-passion .ember-1 { top: 30%; left: 45%; animation: if-ember1 3s ease-in-out infinite; }
.scn-impetus-from-passion .ember-2 { top: 20%; left: 60%; animation: if-ember2 3.5s ease-in-out infinite 1s; }
@keyframes if-hand { 0% { transform: rotate(0deg) } 50% { transform: rotate(3deg) } 100% { transform: rotate(-2deg) } }
@keyframes if-heart { 0% { opacity: 0.8; transform: scale(1); } 50% { opacity: 1; transform: scale(1.05); } 100% { opacity: 0.9; transform: scale(0.98); } }
@keyframes if-scale { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes if-chainleft { 0% { transform: rotate(-2deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-1deg) } }
@keyframes if-chainright { 0% { transform: rotate(2deg) } 50% { transform: rotate(-2deg) } 100% { transform: rotate(1deg) } }
@keyframes if-bgglow { 0% { opacity: 0.4 } 50% { opacity: 0.8 } 100% { opacity: 0.5 } }
@keyframes if-ember1 { 0% { transform: translate(0,0) scale(0.5); opacity: 0; } 20% { opacity: 0.7; } 100% { transform: translate(15px, -25px) scale(2); opacity: 0; } }
@keyframes if-ember2 { 0% { transform: translate(0,0) scale(0.8); opacity: 0; } 25% { opacity: 0.5; } 100% { transform: translate(-10px, -30px) scale(1.5); opacity: 0; } }

/* Scene: passion-subsides-reason (calm, dim-interior) */
.scn-passion-subsides-reason {
  background:
    linear-gradient(180deg, #2b221c 0%, #1e1713 40%, #3a2a1e 100%) padding-box,
    radial-gradient(ellipse at 50% 60%, #4a3a2a 0%, transparent 70%) border-box;
}
.scn-passion-subsides-reason .wall {
  position:absolute; inset:0 0 45% 0;
  background: linear-gradient(180deg, #3a2c1e 0%, #2a1e14 100%);
  animation: psr-wall 20s ease-in-out infinite alternate;
}
.scn-passion-subsides-reason .floor {
  position:absolute; bottom:0; left:0; right:0; height:45%;
  background: linear-gradient(0deg, #1a1410 0%, #2a1e16 100%);
  border-radius: 30% 70% 0 0 / 20% 50% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,.6);
  animation: psr-floor 15s ease-in-out infinite alternate;
}
.scn-passion-subsides-reason .figure {
  position:absolute; bottom:30%; left:35%; width:30px; height:70px;
  background: linear-gradient(180deg, #1a1a14 0%, #0e0e0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: inset 0 -4px 8px rgba(0,0,0,.5);
  animation: psr-figure 12s ease-in-out infinite;
}
.scn-passion-subsides-reason .chair {
  position:absolute; bottom:25%; left:32%; width:40px; height:30px;
  background: linear-gradient(135deg, #4a3424 0%, #2a1e14 100%);
  border-radius: 8% 8% 20% 20%;
  box-shadow: 0 4px 10px rgba(0,0,0,.4);
  animation: psr-chair 18s ease-in-out infinite alternate;
}
.scn-passion-subsides-reason .lamp {
  position:absolute; bottom:50%; left:55%; width:12px; height:20px;
  background: linear-gradient(180deg, #8a6a3a 0%, #5a4a2a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 16px 4px #b09050;
  animation: psr-lamp-glow 5s ease-in-out infinite alternate;
}
.scn-passion-subsides-reason .glow {
  position:absolute; bottom:50%; left:55%; width:40px; height:40px;
  background: radial-gradient(circle, rgba(180,140,80,.6) 0%, transparent 70%);
  border-radius: 50%;
  transform: translate(-50%, 50%);
  animation: psr-glow-pulse 4s ease-in-out infinite alternate;
}
.scn-passion-subsides-reason .shadow {
  position:absolute; bottom:30%; left:30%; width:80px; height:20px;
  background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 70%);
  border-radius: 50%;
  animation: psr-shadow-wobble 14s ease-in-out infinite;
}
@keyframes psr-wall { 0% { opacity:.6 } 50% { opacity:.8 } 100% { opacity:.7 } }
@keyframes psr-floor { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(1px) } }
@keyframes psr-figure { 0% { transform: rotate(-2deg) translateY(0) } 25% { transform: rotate(1deg) translateY(-1px) } 50% { transform: rotate(-1deg) translateY(2px) } 75% { transform: rotate(2deg) translateY(0) } 100% { transform: rotate(0) translateY(-1px) } }
@keyframes psr-chair { 0% { transform: rotate(0) } 50% { transform: rotate(0.5deg) } 100% { transform: rotate(-0.3deg) } }
@keyframes psr-lamp-glow { 0% { box-shadow: 0 0 12px 2px #a08040 } 50% { box-shadow: 0 0 24px 8px #c09050 } 100% { box-shadow: 0 0 16px 4px #b08040 } }
@keyframes psr-glow-pulse { 0% { transform: translate(-50%, 50%) scale(1) } 50% { transform: translate(-50%, 50%) scale(1.2) } 100% { transform: translate(-50%, 50%) scale(0.9) } }
@keyframes psr-shadow-wobble { 0% { transform: translateX(0) scale(1) } 25% { transform: translateX(4px) scale(1.1) } 50% { transform: translateX(-3px) scale(0.9) } 75% { transform: translateX(2px) scale(1.05) } 100% { transform: translateX(0) scale(1) } }

/* Scene: food-uncleanness-reaction (tense, dim-interior) */
.scn-food-uncleanness-reaction {
  background:
    linear-gradient(180deg, #1a1e1c 0%, #0e1210 40%, #1c1e12 100%) padding-box,
    radial-gradient(ellipse at 50% 30%, #2a2e1c 0%, transparent 70%) border-box;
}
.scn-food-uncleanness-reaction .table {
  position:absolute; bottom:20%; left:20%; right:20%; height:12%;
  background: linear-gradient(180deg, #3a2e1c 0%, #1a140a 100%);
  border-radius: 5%;
  box-shadow: 0 6px 18px rgba(0,0,0,.5);
  animation: fur-table 8s ease-in-out infinite alternate;
}
.scn-food-uncleanness-reaction .plate {
  position:absolute; bottom:28%; left:30%; width:30px; height:10px;
  background: radial-gradient(ellipse, #5a4a2a 0%, #2a1e0e 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,.4);
  animation: fur-plate-shift 6s ease-in-out infinite alternate;
}
.scn-food-uncleanness-reaction .food {
  position:absolute; bottom:30%; left:33%; width:12px; height:6px;
  background: linear-gradient(135deg, #5a3a2a 0%, #3a2214 100%);
  border-radius: 40% 40% 30% 30%;
  box-shadow: 0 0 6px rgba(0,0,0,.3);
  animation: fur-food-shrink 10s ease-in-out infinite alternate;
}
.scn-food-uncleanness-reaction .figure {
  position:absolute; bottom:20%; right:25%; width:28px; height:60px;
  background: linear-gradient(180deg, #1a1612 0%, #0e0c0a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  box-shadow: inset 0 -2px 4px rgba(0,0,0,.5);
  animation: fur-figure-recoil 4s ease-in-out infinite;
}
.scn-food-uncleanness-reaction .hand {
  position:absolute; bottom:30%; right:40%; width:8px; height:16px;
  background: linear-gradient(180deg, #2a221c 0%, #1a1410 100%);
  border-radius: 40% 40% 10% 10%;
  transform-origin: bottom center;
  animation: fur-hand-fling 3s ease-in-out infinite;
}
.scn-food-uncleanness-reaction .cloth {
  position:absolute; bottom:22%; left:15%; right:55%; height:4%;
  background: linear-gradient(90deg, #4a3a2a 0%, #2a1e12 50%, #4a3a2a 100%);
  border-radius: 30% 70% 50% 50%;
  filter: blur(1px);
  animation: fur-cloth-twitch 12s ease-in-out infinite alternate;
}
.scn-food-uncleanness-reaction .shadow {
  position:absolute; bottom:15%; left:20%; right:20%; height:15%;
  background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 80%);
  animation: fur-shadow-pulse 7s ease-in-out infinite alternate;
}
@keyframes fur-table { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(1px) } }
@keyframes fur-plate-shift { 0% { transform: translateX(0) } 50% { transform: translateX(-3px) } 100% { transform: translateX(2px) } }
@keyframes fur-food-shrink { 0% { transform: scale(1) } 50% { transform: scale(0.95) } 100% { transform: scale(1.02) } }
@keyframes fur-figure-recoil { 0% { transform: translateX(0) rotate(-2deg) } 25% { transform: translateX(5px) rotate(4deg) translateY(-3px) } 50% { transform: translateX(-2px) rotate(-6deg) translateY(-5px) } 75% { transform: translateX(3px) rotate(2deg) translateY(-1px) } 100% { transform: translateX(0) rotate(0) } }
@keyframes fur-hand-fling { 0% { transform: rotate(0) translateY(0) } 30% { transform: rotate(40deg) translateY(-2px) } 60% { transform: rotate(-20deg) translateY(1px) } 100% { transform: rotate(0) translateY(0) } }
@keyframes fur-cloth-twitch { 0% { opacity:.8 } 50% { opacity:.5 } 100% { opacity:.9 } }
@keyframes fur-shadow-pulse { 0% { opacity:.3 } 50% { opacity:.6 } 100% { opacity:.4 } }

/* Scene: musical-instruments-sympathy (warm, bright-interior) */
.scn-musical-instruments-sympathy {
  background:
    linear-gradient(180deg, #e8dcc8 0%, #d4bea3 50%, #c4a882 100%) padding-box,
    radial-gradient(ellipse at 60% 20%, #f0e4cc 0%, transparent 60%) border-box;
}
.scn-musical-instruments-sympathy .window {
  position:absolute; top:10%; left:10%; right:10%; height:30%;
  background: linear-gradient(135deg, #a0b8c8 0%, #c8d8e0 100%);
  border-radius: 10%;
  box-shadow: inset 0 0 20px rgba(255,255,200,.3);
  animation: mis-window 15s ease-in-out infinite alternate;
}
.scn-musical-instruments-sympathy .light-beam {
  position:absolute; top:20%; left:15%; width:40%; height:60%;
  background: linear-gradient(135deg, rgba(255,240,200,.3) 0%, transparent 100%);
  transform: rotate(15deg);
  filter: blur(10px);
  animation: mis-beam-sway 12s ease-in-out infinite alternate;
}
.scn-musical-instruments-sympathy .harp {
  position:absolute; bottom:20%; left:20%; width:50px; height:70px;
  background: linear-gradient(180deg, #8a6a3a 0%, #5a3a1a 100%);
  border-radius: 40% 40% 10% 10% / 60% 60% 10% 10%;
  box-shadow: 0 4px 12px rgba(0,0,0,.3);
  animation: mis-harp-sway 8s ease-in-out infinite;
}
.scn-musical-instruments-sympathy .lyre {
  position:absolute; bottom:25%; left:45%; width:30px; height:40px;
  background: linear-gradient(135deg, #b89868 0%, #7a5a2a 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 2px 6px rgba(0,0,0,.2);
  animation: mis-lyre-float 10s ease-in-out infinite alternate;
}
.scn-musical-instruments-sympathy .flute {
  position:absolute; bottom:30%; left:70%; width:40px; height:8px;
  background: linear-gradient(90deg, #c8a068 0%, #a08050 100%);
  border-radius: 40%;
  box-shadow: 0 2px 4px rgba(0,0,0,.2);
  transform: rotate(-20deg);
  animation: mis-flute-tilt 14s ease-in-out infinite alternate;
}
.scn-musical-instruments-sympathy .dust {
  position:absolute; top:30%; left:30%; width:20px; height:20px;
  background: radial-gradient(circle, rgba(255,220,180,.4) 0%, transparent 70%);
  filter: blur(4px);
  animation: mis-dust-drift 30s linear infinite;
}
.scn-musical-instruments-sympathy .warm-glow {
  position:absolute; top:0; left:0; right:0; bottom:0;
  background: radial-gradient(ellipse at 60% 30%, rgba(255,220,150,.2) 0%, transparent 50%);
  pointer-events: none;
  animation: mis-glow-pulse 6s ease-in-out infinite alternate;
}
@keyframes mis-window { 0% { opacity:.7 } 50% { opacity:.9 } 100% { opacity:.8 } }
@keyframes mis-beam-sway { 0% { transform: rotate(15deg) translateX(0) } 50% { transform: rotate(13deg) translateX(8px) } 100% { transform: rotate(17deg) translateX(-4px) } }
@keyframes mis-harp-sway { 0% { transform: rotate(-1deg) } 25% { transform: rotate(1deg) } 50% { transform: rotate(-1.5deg) } 75% { transform: rotate(1.5deg) } 100% { transform: rotate(0) } }
@keyframes mis-lyre-float { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-4px) scale(1.02) } 100% { transform: translateY(2px) scale(0.98) } }
@keyframes mis-flute-tilt { 0% { transform: rotate(-20deg) } 50% { transform: rotate(-22deg) } 100% { transform: rotate(-18deg) } }
@keyframes mis-dust-drift { 0% { transform: translate(0,0) opacity:.3 } 25% { transform: translate(10px,-5px) opacity:.5 } 50% { transform: translate(20px,0) opacity:.2 } 75% { transform: translate(10px,5px) opacity:.4 } 100% { transform: translate(0,0) opacity:.3 } }
@keyframes mis-glow-pulse { 0% { opacity:.4 } 50% { opacity:.6 } 100% { opacity:.5 } }

/* Scene: zeno-amoebeus (warm, bright-interior) */
.scn-zeno-amoebeus {
  background:
    linear-gradient(180deg, #c8b8a0 0%, #a89078 50%, #8a7460 100%) padding-box,
    radial-gradient(ellipse at 50% 20%, #e8d4b8 0%, transparent 70%) border-box;
}
.scn-zeno-amoebeus .stage {
  position:absolute; bottom:10%; left:5%; right:5%; height:30%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,.4);
  animation: zoa-stage 12s ease-in-out infinite alternate;
}
.scn-zeno-amoebeus .harp {
  position:absolute; bottom:30%; left:35%; width:40px; height:60px;
  background: linear-gradient(180deg, #b89868 0%, #7a5a2a 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 4px 12px rgba(0,0,0,.3);
  animation: zoa-harp-strum 6s ease-in-out infinite;
}
.scn-zeno-amoebeus .amoebeus {
  position:absolute; bottom:25%; left:30%; width:24px; height:50px;
  background: linear-gradient(180deg, #2a221c 0%, #1a1410 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  box-shadow: inset 0 -2px 4px rgba(0,0,0,.5);
  animation: zoa-amoebeus-bow 10s ease-in-out infinite;
}
.scn-zeno-amoebeus .zeno {
  position:absolute; bottom:22%; left:55%; width:20px; height:44px;
  background: linear-gradient(180deg, #1e1a16 0%, #0e0c0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: inset 0 -2px 4px rgba(0,0,0,.4);
  animation: zoa-zeno-gesture 8s ease-in-out infinite alternate;
}
.scn-zeno-amoebeus .audience {
  position:absolute; bottom:15%; left:10%; right:10%; height:15%;
  background: repeating-linear-gradient(90deg, #1a1612 0%, #1a1612 10px, #221e1a 10px, #221e1a 12px);
  filter: blur(2px);
  opacity:.6;
  animation: zoa-audience-shift 20s linear infinite;
}
.scn-zeno-amoebeus .footlights {
  position:absolute; bottom:38%; left:30%; right:30%; height:4%;
  background: linear-gradient(90deg, transparent 0%, #f0d080 20%, #f0d080 80%, transparent 100%);
  filter: blur(6px);
  animation: zoa-footlights-glow 5s ease-in-out infinite alternate;
}
.scn-zeno-amoebeus .curtain {
  position:absolute; top:0; left:0; right:0; height:100%;
  background: linear-gradient(90deg, #6a2a1a 0%, #8a3a2a 20%, transparent 30%, transparent 70%, #8a3a2a 80%, #6a2a1a 100%);
  clip-path: polygon(0% 0%, 100% 0%, 95% 15%, 5% 15%);
  animation: zoa-curtain-sway 18s ease-in-out infinite alternate;
}
@keyframes zoa-stage { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(1px) } }
@keyframes zoa-harp-strum { 0% { transform: rotate(-1deg) } 25% { transform: rotate(1.5deg) } 50% { transform: rotate(-0.5deg) } 75% { transform: rotate(1deg) } 100% { transform: rotate(0) } }
@keyframes zoa-amoebeus-bow { 0% { transform: rotate(0) translateY(0) } 25% { transform: rotate(2deg) translateY(-1px) } 50% { transform: rotate(-1deg) translateY(1px) } 75% { transform: rotate(1.5deg) translateY(-2px) } 100% { transform: rotate(0) translateY(0) } }
@keyframes zoa-zeno-gesture { 0% { transform: rotate(-3deg) translateX(0) } 50% { transform: rotate(5deg) translateX(4px) } 100% { transform: rotate(-2deg) translateX(-2px) } }
@keyframes zoa-audience-shift { 0% { background-position: 0 0 } 100% { background-position: 40px 0 } }
@keyframes zoa-footlights-glow { 0% { opacity:.4 } 50% { opacity:.7 } 100% { opacity:.5 } }
@keyframes zoa-curtain-sway { 0% { transform: skewX(0deg) } 50% { transform: skewX(1deg) } 100% { transform: skewX(-1deg) } }

.scn-divert-pugnacity-enemies {
  background: linear-gradient(180deg, #2a1f1a 0%, #1a1412 60%), radial-gradient(ellipse at 30% 60%, #3a2a22 0%, transparent 70%);
}
.scn-divert-pugnacity-enemies .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(180deg, #2a1f1a 0%, #1a1412 100%); opacity: 0.7;
}
.scn-divert-pugnacity-enemies .window-frame {
  position: absolute; left: 8%; top: 20%; width: 30%; height: 40%; background: linear-gradient(135deg, #4a3a2a 0%, #2a1a12 100%); border-radius: 4px; box-shadow: inset 0 0 20px #000, 0 0 30px rgba(0,0,0,0.5); animation: dp-frame 8s ease-in-out infinite;
}
.scn-divert-pugnacity-enemies .window-sky {
  position: absolute; left: 10%; top: 22%; width: 26%; height: 36%; background: linear-gradient(180deg, #4a5a6a 0%, #3a4a5a 50%, #2a2a3a 100%); border-radius: 2px; animation: dp-sky 12s linear infinite alternate;
}
.scn-divert-pugnacity-enemies .lark {
  position: absolute; left: 22%; top: 32%; width: 14px; height: 10px; background: radial-gradient(ellipse at 50% 30%, #4a3a2a 0%, #2a1a12 100%); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; transform: rotate(-10deg); animation: dp-lark 4s ease-in-out infinite alternate;
}
.scn-divert-pugnacity-enemies .shadow-figure {
  position: absolute; bottom: 10%; left: 50%; width: 24px; height: 60px; transform: translateX(-50%); background: linear-gradient(180deg, rgba(10,8,8,0.8) 0%, rgba(0,0,0,0.5) 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; animation: dp-figure 10s ease-in-out infinite;
}
.scn-divert-pugnacity-enemies .candle-glow {
  position: absolute; bottom: 15%; right: 15%; width: 12px; height: 20px; background: radial-gradient(circle, #d09050 0%, transparent 70%); border-radius: 50%; box-shadow: 0 0 30px 8px #b07040, 0 0 60px 15px rgba(176,112,64,0.4); animation: dp-candle 3s ease-in-out infinite alternate;
}
@keyframes dp-frame {
  0% { box-shadow: inset 0 0 20px #000, 0 0 30px rgba(0,0,0,0.5); }
  50% { box-shadow: inset 0 0 25px #000, 0 0 40px rgba(0,0,0,0.6); }
  100% { box-shadow: inset 0 0 20px #000, 0 0 30px rgba(0,0,0,0.5); }
}
@keyframes dp-sky {
  0% { opacity: 0.6; }
  50% { opacity: 0.8; }
  100% { opacity: 0.5; }
}
@keyframes dp-lark {
  0% { transform: rotate(-10deg) translateY(0); }
  50% { transform: rotate(-5deg) translateY(-2px); }
  100% { transform: rotate(-10deg) translateY(0); }
}
@keyframes dp-figure {
  0% { transform: translateX(-50%) rotate(0deg); }
  25% { transform: translateX(-48%) rotate(1deg); }
  75% { transform: translateX(-52%) rotate(-1deg); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes dp-candle {
  0% { box-shadow: 0 0 30px 8px #b07040, 0 0 60px 15px rgba(176,112,64,0.4); opacity: 0.8; }
  50% { box-shadow: 0 0 40px 12px #d09050, 0 0 80px 20px rgba(208,144,80,0.5); opacity: 1; }
  100% { box-shadow: 0 0 30px 8px #b07040, 0 0 60px 15px rgba(176,112,64,0.4); opacity: 0.85; }
}

.scn-gardners-garlic-roses {
  background: linear-gradient(180deg, #d4b88c 0%, #b8986a 40%, #8a6a4a 100%), radial-gradient(ellipse at 50% 0%, #e8d8a8 0%, transparent 70%);
}
.scn-gardners-garlic-roses .bg-garden {
  position: absolute; inset: 0; background: linear-gradient(180deg, rgba(180,140,80,0.6) 0%, rgba(120,90,50,0.8) 100%);
}
.scn-gardners-garlic-roses .rose {
  position: absolute; bottom: 30%; left: 25%; width: 40px; height: 40px; background: radial-gradient(circle at 50% 50%, #c8553d 0%, #a0461a 60%, #702243 100%); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; box-shadow: 0 4px 10px rgba(0,0,0,0.3); animation: gg-rose 6s ease-in-out infinite;
}
.scn-gardners-garlic-roses .garlic {
  position: absolute; bottom: 25%; right: 30%; width: 30px; height: 40px; background: radial-gradient(ellipse at 50% 60%, #e8d0a0 0%, #c8b080 40%, #a08860 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(15deg); box-shadow: 0 4px 8px rgba(0,0,0,0.2); animation: gg-garlic 8s ease-in-out infinite;
}
.scn-gardners-garlic-roses .leaf {
  position: absolute; bottom: 35%; width: 20px; height: 50px; background: linear-gradient(180deg, #5a7a3a 0%, #3a5a2a 100%); border-radius: 0 60% 60% 0 / 30% 70% 70% 30%; transform-origin: bottom center;
}
.scn-gardners-garlic-roses .left-leaf {
  left: 30%; transform: rotate(-20deg); animation: gg-leaf-left 7s ease-in-out infinite alternate;
}
.scn-gardners-garlic-roses .right-leaf {
  right: 35%; transform: rotate(20deg) scaleX(-1); animation: gg-leaf-right 7s ease-in-out infinite alternate;
}
.scn-gardners-garlic-roses .sunbeam {
  position: absolute; top: 5%; left: 20%; width: 120%; height: 10%; background: linear-gradient(90deg, transparent 0%, rgba(255,230,180,0.4) 50%, transparent 100%); transform: rotate(-20deg); filter: blur(8px); animation: gg-beam 12s linear infinite;
}
.scn-gardners-garlic-roses .soil {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a12 100%); border-radius: 40% 40% 0 0 / 80% 80% 0 0; box-shadow: inset 0 8px 15px rgba(0,0,0,0.5);
}
@keyframes gg-rose {
  0% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(5deg) scale(1.05); }
  100% { transform: rotate(0deg) scale(1); }
}
@keyframes gg-garlic {
  0% { transform: rotate(15deg) scale(1); }
  50% { transform: rotate(20deg) scale(0.95); }
  100% { transform: rotate(15deg) scale(1); }
}
@keyframes gg-leaf-left {
  0% { transform: rotate(-20deg); }
  50% { transform: rotate(-15deg); }
  100% { transform: rotate(-20deg); }
}
@keyframes gg-leaf-right {
  0% { transform: rotate(20deg) scaleX(-1); }
  50% { transform: rotate(15deg) scaleX(-1); }
  100% { transform: rotate(20deg) scaleX(-1); }
}
@keyframes gg-beam {
  0% { left: -10%; opacity: 0; }
  25% { opacity: 0.6; }
  75% { opacity: 0.6; }
  100% { left: 110%; opacity: 0; }
}

.scn-enemy-illegitimate-power-vex {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a1a3a 40%, #1a1222 100%), radial-gradient(ellipse at 50% 80%, #3a2a4a 0%, transparent 70%);
}
.scn-enemy-illegitimate-power-vex .bg-throne {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1a 100%); opacity: 0.8;
}
.scn-enemy-illegitimate-power-vex .throne-base {
  position: absolute; bottom: 10%; left: 50%; width: 80px; height: 20px; transform: translateX(-50%); background: linear-gradient(180deg, #4a3a2a 0%, #2a1a12 100%); border-radius: 10% 10% 0 0; box-shadow: 0 8px 15px rgba(0,0,0,0.6);
}
.scn-enemy-illegitimate-power-vex .throne-back {
  position: absolute; bottom: 20%; left: 50%; width: 60px; height: 70px; transform: translateX(-50%); background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%); border-radius: 20% 20% 50% 50% / 30% 30% 70% 70%; box-shadow: 0 0 30px rgba(0,0,0,0.7);
}
.scn-enemy-illegitimate-power-vex .figure-profile {
  position: absolute; bottom: 16%; left: 50%; width: 20px; height: 50px; transform: translateX(-50%); background: linear-gradient(180deg, #2a2a3a 0%, #0a0a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); animation: ep-figure 12s ease-in-out infinite;
}
.scn-enemy-illegitimate-power-vex .curtain-left {
  position: absolute; top: 0; left: 0; width: 20%; height: 100%; background: linear-gradient(90deg, #4a2a2a 0%, #3a1a1a 100%); border-radius: 0 60% 60% 0 / 0 30% 30% 0; box-shadow: 5px 0 20px rgba(0,0,0,0.5); animation: ep-curtain 9s ease-in-out infinite;
}
.scn-enemy-illegitimate-power-vex .curtain-right {
  position: absolute; top: 0; right: 0; width: 20%; height: 100%; background: linear-gradient(270deg, #4a2a2a 0%, #3a1a1a 100%); border-radius: 60% 0 0 60% / 30% 0 0 30%; box-shadow: -5px 0 20px rgba(0,0,0,0.5); animation: ep-curtain 9s ease-in-out infinite reverse;
}
.scn-enemy-illegitimate-power-vex .floor-shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.6) 100%); border-radius: 50% 50% 0 0 / 100% 100% 0 0; animation: ep-shadow 14s ease-in-out infinite;
}
@keyframes ep-figure {
  0% { transform: translateX(-50%) rotate(0deg); }
  33% { transform: translateX(-48%) rotate(1deg); }
  66% { transform: translateX(-52%) rotate(-1deg); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes ep-curtain {
  0% { transform: scaleX(1); }
  50% { transform: scaleX(1.02); }
  100% { transform: scaleX(1); }
}
@keyframes ep-shadow {
  0% { opacity: 0.5; }
  50% { opacity: 0.8; }
  100% { opacity: 0.5; }
}

.scn-pliny-viii-83-crete {
  background: linear-gradient(180deg, #1a2a3a 0%, #0e1a2a 50%, #050a14 100%), radial-gradient(ellipse at 50% 0%, #2a3a4a 0%, transparent 80%);
}
.scn-pliny-viii-83-crete .bg-cave {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a2a3a 0%, #0a121c 100%); opacity: 0.7;
}
.scn-pliny-viii-83-crete .rock {
  position: absolute; bottom: 15%; left: 30%; width: 100px; height: 60px; background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%); border-radius: 40% 60% 50% 50% / 60% 70% 30% 40%; box-shadow: 0 10px 20px rgba(0,0,0,0.5); transform: rotate(-5deg); }
.scn-pliny-viii-83-crete .spider-body {
  position: absolute; bottom: 30%; left: 40%; width: 16px; height: 14px; background: radial-gradient(circle at 45% 50%, #6a4a3a 0%, #3a2a1a 100%); border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,0.4); animation: pv-spider 10s ease-in-out infinite;
}
.scn-pliny-viii-83-crete .spider-leg {
  position: absolute; bottom: 32%; width: 3px; height: 18px; background: linear-gradient(180deg, #5a3a2a 0%, #2a1a12 100%); border-radius: 40%;
}
.scn-pliny-viii-83-crete .leg1 { left: 38%; transform: rotate(-30deg); transform-origin: top center; animation: pv-leg1 3s ease-in-out infinite alternate; }
.scn-pliny-viii-83-crete .leg2 { left: 42%; transform: rotate(20deg); transform-origin: top center; animation: pv-leg2 3s ease-in-out infinite alternate; }
.scn-pliny-viii-83-crete .leg3 { left: 45%; transform: rotate(-15deg); transform-origin: top center; animation: pv-leg3 3.2s ease-in-out infinite alternate; }
.scn-pliny-viii-83-crete .leg4 { left: 49%; transform: rotate(25deg); transform-origin: top center; animation: pv-leg4 3.2s ease-in-out infinite alternate; }
.scn-pliny-viii-83-crete .light-beam {
  position: absolute; top: 5%; left: 35%; width: 30%; height: 40%; background: linear-gradient(180deg, rgba(200,220,240,0.2) 0%, transparent 100%); transform: rotate(-10deg); filter: blur(10px); animation: pv-beam 15s linear infinite;
}
.scn-pliny-viii-83-crete .stalactite {
  position: absolute; top: 0; left: 20%; width: 12px; height: 40px; background: linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 100%); border-radius: 50% 50% 30% 30% / 40% 40% 60% 60%; transform: rotate(5deg); animation: pv-drip 8s ease-in-out infinite;
}
@keyframes pv-spider {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-2px) rotate(5deg); }
  50% { transform: translateY(0) rotate(0deg); }
  75% { transform: translateY(-1px) rotate(-5deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes pv-leg1 {
  0% { transform: rotate(-30deg); }
  100% { transform: rotate(-20deg); }
}
@keyframes pv-leg2 {
  0% { transform: rotate(20deg); }
  100% { transform: rotate(10deg); }
}
@keyframes pv-leg3 {
  0% { transform: rotate(-15deg); }
  100% { transform: rotate(-25deg); }
}
@keyframes pv-leg4 {
  0% { transform: rotate(25deg); }
  100% { transform: rotate(15deg); }
}
@keyframes pv-beam {
  0% { opacity: 0; transform: rotate(-10deg) translateX(0); }
  25% { opacity: 0.4; }
  50% { opacity: 0.3; transform: rotate(-8deg) translateX(10px); }
  75% { opacity: 0.5; }
  100% { opacity: 0; transform: rotate(-12deg) translateX(0); }
}
@keyframes pv-drip {
  0% { transform: rotate(5deg) scaleY(1); }
  50% { transform: rotate(7deg) scaleY(1.1); }
  100% { transform: rotate(5deg) scaleY(1); }
}

.scn-cut-off-self-love {
  background:
    linear-gradient(180deg, #2e1f1a 0%, #1a120f 40%, #0d0a08 100%),
    radial-gradient(ellipse at 50% 30%, #4a2e24 0%, transparent 60%);
}
.scn-cut-off-self-love .bg-wall {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #3a2a22 0%, #2a1e18 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.6);
  animation: cos1-wall 20s ease-in-out infinite alternate;
}
.scn-cut-off-self-love .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #1e1612 0%, #0a0806 100%);
  border-radius: 30% 30% 0 0;
}
.scn-cut-off-self-love .mirror-frame {
  position: absolute; left: 50%; top: 25%; width: 80px; height: 110px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5a4030 0%, #3a2820 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.5);
}
.scn-cut-off-self-love .mirror-glass {
  position: absolute; left: 50%; top: 28%; width: 60px; height: 80px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, rgba(180,160,140,0.4) 0%, rgba(100,80,70,0.5) 100%);
  border-radius: 6%;
  box-shadow: inset 0 0 10px rgba(255,200,150,0.2);
  animation: cos1-mirror 8s ease-in-out infinite alternate;
}
.scn-cut-off-self-love .hand {
  position: absolute; left: 45%; bottom: 28%; width: 20px; height: 35px;
  background: linear-gradient(180deg, #2a1e18 0%, #1a120e 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: cos1-hand 5s ease-in-out infinite;
}
.scn-cut-off-self-love .knife {
  position: absolute; left: 44%; bottom: 38%; width: 4px; height: 40px;
  background: linear-gradient(180deg, #c8b8a8 0%, #a09080 100%);
  border-radius: 10% 10% 40% 40%;
  transform: rotate(-20deg);
  transform-origin: 50% 90%;
  box-shadow: 0 0 6px rgba(200,180,160,0.6);
  animation: cos1-knife 4s ease-in-out infinite alternate;
}
.scn-cut-off-self-love .lamp {
  position: absolute; right: 20%; bottom: 30%; width: 12px; height: 20px;
  background: radial-gradient(circle, #e8c080 0%, #b08040 70%);
  border-radius: 50% 50% 40% 40%;
  box-shadow: 0 0 40px 15px #c08040, 0 0 80px 30px rgba(192,128,64,0.3);
  animation: cos1-lamp 3s ease-in-out infinite alternate;
}
@keyframes cos1-wall { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes cos1-mirror { 0% { opacity:0.4; box-shadow:inset 0 0 8px rgba(255,200,150,0.1) } 100% { opacity:0.6; box-shadow:inset 0 0 20px rgba(255,200,150,0.3) } }
@keyframes cos1-hand { 0% { transform: translate(0,0) rotate(0) } 25% { transform: translate(-2px, -1px) rotate(2deg) } 50% { transform: translate(0,0) rotate(0) } 75% { transform: translate(2px, -1px) rotate(-2deg) } 100% { transform: translate(0,0) rotate(0) } }
@keyframes cos1-knife { 0% { transform: rotate(-20deg) } 50% { transform: rotate(-15deg) } 100% { transform: rotate(-25deg) } }
@keyframes cos1-lamp { 0% { box-shadow: 0 0 30px 10px #c08040, 0 0 60px 20px rgba(192,128,64,0.2); opacity:0.9 } 100% { box-shadow: 0 0 50px 20px #e0a060, 0 0 100px 40px rgba(224,160,96,0.4); opacity:1 } }

.scn-outspokenness-tempered-kindness {
  background:
    linear-gradient(180deg, #2a1e1a 0%, #1a1410 100%),
    radial-gradient(ellipse at 50% 40%, #3a2a24 0%, transparent 70%);
}
.scn-outspokenness-tempered-kindness .bg-room {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #3a2a22 0%, #2a1e18 100%);
  box-shadow: inset 0 0 80px rgba(0,0,0,0.5);
}
.scn-outspokenness-tempered-kindness .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #1e1612 0%, #0d0a08 100%);
  border-radius: 20% 20% 0 0;
}
.scn-outspokenness-tempered-kindness .figure-left {
  position: absolute; left: 25%; bottom: 28%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #2a1e18 0%, #1a120e 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: otk1-fig-l 6s ease-in-out infinite;
}
.scn-outspokenness-tempered-kindness .figure-right {
  position: absolute; right: 25%; bottom: 28%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #2a1e18 0%, #1a120e 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: otk1-fig-r 6s ease-in-out infinite alternate;
}
.scn-outspokenness-tempered-kindness .light-glow {
  position: absolute; left: 50%; bottom: 35%; width: 90px; height: 90px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #e8c080 0%, transparent 70%);
  border-radius: 50%;
  opacity: 0.5;
  animation: otk1-glow 4s ease-in-out infinite alternate;
}
.scn-outspokenness-tempered-kindness .table {
  position: absolute; left: 50%; bottom: 22%; width: 80px; height: 10px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3a2e 0%, #2a1e18 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 2px 8px rgba(0,0,0,0.5);
}
.scn-outspokenness-tempered-kindness .candle {
  position: absolute; left: 50%; bottom: 32%; width: 6px; height: 18px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #e8d0a0 0%, #c8a070 100%);
  border-radius: 10%;
  animation: otk1-candle 3s ease-in-out infinite alternate;
}
@keyframes otk1-fig-l { 0% { transform: translate(0,0) rotate(0) } 25% { transform: translate(2px, -1px) rotate(2deg) } 50% { transform: translate(0,0) rotate(0) } 75% { transform: translate(-2px, -1px) rotate(-2deg) } 100% { transform: translate(0,0) rotate(0) } }
@keyframes otk1-fig-r { 0% { transform: translate(0,0) rotate(0) } 25% { transform: translate(-2px, -1px) rotate(-2deg) } 50% { transform: translate(0,0) rotate(0) } 75% { transform: translate(2px, -1px) rotate(2deg) } 100% { transform: translate(0,0) rotate(0) } }
@keyframes otk1-glow { 0% { opacity:0.4; transform:translateX(-50%) scale(0.95) } 100% { opacity:0.6; transform:translateX(-50%) scale(1.05) } }
@keyframes otk1-candle { 0% { height:18px; opacity:0.9 } 50% { height:20px; opacity:1 } 100% { height:16px; opacity:0.85 } }

.scn-trouble-excessive-freedom-speech {
  background:
    linear-gradient(180deg, #2a1e1a 0%, #1a1410 100%),
    radial-gradient(ellipse at 50% 20%, #3a2a24 0%, transparent 60%);
}
.scn-trouble-excessive-freedom-speech .bg-back {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #3a2a22 0%, #2a1e18 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.6);
}
.scn-trouble-excessive-freedom-speech .desk {
  position: absolute; left: 50%; bottom: 20%; width: 120px; height: 12px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3a2e 0%, #2a1e18 100%);
  border-radius: 5%;
  box-shadow: 0 3px 10px rgba(0,0,0,0.4);
}
.scn-trouble-excessive-freedom-speech .paper-a {
  position: absolute; left: 40%; bottom: 30%; width: 30px; height: 20px;
  background: linear-gradient(180deg, #d4c8b0 0%, #b8a890 100%);
  border-radius: 5%;
  transform: rotate(5deg);
  animation: tef1-paper 12s ease-in-out infinite alternate;
}
.scn-trouble-excessive-freedom-speech .paper-b {
  position: absolute; left: 55%; bottom: 32%; width: 25px; height: 18px;
  background: linear-gradient(180deg, #d0c0a8 0%, #b0a088 100%);
  border-radius: 5%;
  transform: rotate(-8deg);
  animation: tef1-paper 15s ease-in-out infinite alternate-reverse;
}
.scn-trouble-excessive-freedom-speech .paper-c {
  position: absolute; left: 48%; bottom: 28%; width: 28px; height: 15px;
  background: linear-gradient(180deg, #ccc0a8 0%, #b0a088 100%);
  border-radius: 5%;
  transform: rotate(3deg);
  animation: tef1-paper 18s ease-in-out infinite alternate;
}
.scn-trouble-excessive-freedom-speech .quill {
  position: absolute; left: 52%; bottom: 38%; width: 3px; height: 35px;
  background: linear-gradient(180deg, #c8b8a8 0%, #908070 100%);
  border-radius: 30%;
  transform: rotate(15deg);
  transform-origin: bottom center;
  animation: tef1-quill 5s ease-in-out infinite alternate;
}
.scn-trouble-excessive-freedom-speech .lamp {
  position: absolute; left: 30%; bottom: 32%; width: 12px; height: 20px;
  background: radial-gradient(circle, #e8c080 0%, #b08040 70%);
  border-radius: 50% 50% 40% 40%;
  box-shadow: 0 0 40px 15px #c08040, 0 0 80px 30px rgba(192,128,64,0.3);
  animation: tef1-lamp 3s ease-in-out infinite alternate;
}
.scn-trouble-excessive-freedom-speech .shadow-hand {
  position: absolute; left: 60%; bottom: 25%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #1a120e 0%, #0a0806 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  opacity: 0.5;
  transform-origin: bottom center;
  animation: tef1-shadow 7s ease-in-out infinite;
}
@keyframes tef1-paper { 0% { transform: rotate(3deg) } 50% { transform: rotate(1deg) } 100% { transform: rotate(6deg) } }
@keyframes tef1-quill { 0% { transform: rotate(12deg) } 50% { transform: rotate(18deg) } 100% { transform: rotate(12deg) } }
@keyframes tef1-lamp { 0% { box-shadow: 0 0 30px 10px #c08040; opacity:0.9 } 100% { box-shadow: 0 0 50px 20px #e0a060; opacity:1 } }
@keyframes tef1-shadow { 0% { transform: translate(0,0) scale(1) } 25% { transform: translate(5px, -2px) scale(1.05) } 50% { transform: translate(0,0) scale(1) } 75% { transform: translate(-5px, -2px) scale(0.95) } 100% { transform: translate(0,0) scale(1) } }

.scn-hyperides-bitter-not-selfish {
  background:
    linear-gradient(180deg, #2a1e1a 0%, #1a1410 100%),
    radial-gradient(ellipse at 50% 30%, #3a2a24 0%, transparent 70%);
}
.scn-hyperides-bitter-not-selfish .bg-wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #3a2a22 0%, #2a1e18 100%);
  box-shadow: inset 0 0 80px rgba(0,0,0,0.5);
}
.scn-hyperides-bitter-not-selfish .podium {
  position: absolute; left: 50%; bottom: 15%; width: 60px; height: 40px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3a2e 0%, #2a1e18 100%);
  border-radius: 10% 10% 20% 20% / 40% 40% 30% 30%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
}
.scn-hyperides-bitter-not-selfish .figure {
  position: absolute; left: 50%; bottom: 38%; width: 24px; height: 55px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2a1e18 0%, #1a120e 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: hbn1-fig 8s ease-in-out infinite;
}
.scn-hyperides-bitter-not-selfish .scroll {
  position: absolute; left: 55%; bottom: 38%; width: 20px; height: 10px;
  background: linear-gradient(180deg, #d0c0a8 0%, #b0a088 100%);
  border-radius: 0 0 50% 50% / 0 0 100% 100%;
  transform: rotate(-10deg);
  transform-origin: left center;
  animation: hbn1-scroll 6s ease-in-out infinite alternate;
}
.scn-hyperides-bitter-not-selfish .lamp {
  position: absolute; left: 30%; bottom: 30%; width: 14px; height: 22px;
  background: radial-gradient(circle, #e8c080 0%, #b08040 70%);
  border-radius: 50% 50% 40% 40%;
  box-shadow: 0 0 50px 20px #c08040, 0 0 100px 40px rgba(192,128,64,0.3);
  animation: hbn1-lamp 3s ease-in-out infinite alternate;
}
.scn-hyperides-bitter-not-selfish .shadow-back {
  position: absolute; left: 50%; bottom: 20%; width: 50px; height: 70px;
  transform: translateX(-45%);
  background: linear-gradient(180deg, #0d0a08 0%, #050404 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  opacity: 0.4;
  animation: hbn1-shadow 10s ease-in-out infinite alternate;
}
@keyframes hbn1-fig { 0% { transform: translateX(-50%) rotate(0) } 25% { transform: translateX(-50%) rotate(2deg) } 50% { transform: translateX(-50%) rotate(0) } 75% { transform: translateX(-50%) rotate(-2deg) } 100% { transform: translateX(-50%) rotate(0) } }
@keyframes hbn1-scroll { 0% { transform: rotate(-10deg) } 100% { transform: rotate(5deg) } }
@keyframes hbn1-lamp { 0% { box-shadow: 0 0 40px 15px #c08040; opacity:0.9 } 100% { box-shadow: 0 0 60px 25px #e0a060; opacity:1 } }
@keyframes hbn1-shadow { 0% { transform: translateX(-45%) scale(1); opacity:0.4 } 100% { transform: translateX(-45%) scale(1.05); opacity:0.5 } }

.scn-hitting-mark-one-way-miss-many {
  background: linear-gradient(180deg, #f5efe0 0%, #e8dcc8 100%), radial-gradient(ellipse at 50% 80%, #e8dcc8 0%, transparent 70%);
  position: relative;
  overflow: hidden;
}
.scn-hitting-mark-one-way-miss-many .wall {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #ede5d3 0%, #d6cbb5 100%);
}
.scn-hitting-mark-one-way-miss-many .target-circle {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  border-radius: 50%; border: 2px solid #b8a68a;
}
.scn-hitting-mark-one-way-miss-many .target-circle.outer {
  width: 200px; height: 200px;
  background: radial-gradient(circle, #c8b89a 0%, #b8a68a 80%);
  box-shadow: 0 0 30px rgba(0,0,0,0.15);
}
.scn-hitting-mark-one-way-miss-many .target-circle.middle {
  width: 140px; height: 140px;
  background: radial-gradient(circle, #e0d0b0 0%, #d0be9a 100%);
}
.scn-hitting-mark-one-way-miss-many .target-circle.inner {
  width: 80px; height: 80px;
  background: radial-gradient(circle, #f0e0c0 0%, #e0c8a0 100%);
}
.scn-hitting-mark-one-way-miss-many .bullseye {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: 30px; height: 30px; border-radius: 50%;
  background: radial-gradient(circle, #d4a847 0%, #b88a2e 100%);
  box-shadow: 0 0 20px 5px rgba(212,168,71,0.5);
  animation: hm-bullseye 4s ease-in-out infinite alternate;
}
.scn-hitting-mark-one-way-miss-many .arrow-hit {
  position: absolute; left: 50%; top: 35%; width: 6px; height: 60px;
  background: linear-gradient(180deg, #6a5a3a 0%, #4a3a1a 100%);
  border-radius: 3px; transform-origin: bottom center; transform: translateX(-50%) rotate(10deg);
  animation: hm-arrow-hit 3s ease-in-out infinite;
}
.scn-hitting-mark-one-way-miss-many .arrow-miss {
  position: absolute; width: 5px; height: 50px;
  background: linear-gradient(180deg, #7a6a4a 0%, #5a4a2a 100%);
  border-radius: 2px;
}
.scn-hitting-mark-one-way-miss-many .arrow-miss.a {
  left: 30%; top: 40%; transform: rotate(-25deg);
  animation: hm-arrow-miss-a 5s ease-in-out infinite;
}
.scn-hitting-mark-one-way-miss-many .arrow-miss.b {
  left: 65%; top: 30%; transform: rotate(45deg);
  animation: hm-arrow-miss-b 4s ease-in-out infinite 1s;
}
.scn-hitting-mark-one-way-miss-many .arrow-miss.c {
  left: 40%; top: 60%; transform: rotate(80deg);
  animation: hm-arrow-miss-c 6s ease-in-out infinite 2s;
}
@keyframes hm-bullseye {
  0% { transform: translate(-50%, -50%) scale(1); box-shadow: 0 0 20px 5px rgba(212,168,71,0.5); }
  50% { transform: translate(-50%, -50%) scale(1.08); box-shadow: 0 0 30px 10px rgba(212,168,71,0.7); }
  100% { transform: translate(-50%, -50%) scale(1); box-shadow: 0 0 20px 5px rgba(212,168,71,0.5); }
}
@keyframes hm-arrow-hit {
  0% { transform: translateX(-50%) rotate(10deg) translateY(0); }
  50% { transform: translateX(-50%) rotate(8deg) translateY(-3px); }
  100% { transform: translateX(-50%) rotate(10deg) translateY(0); }
}
@keyframes hm-arrow-miss-a {
  0% { transform: rotate(-25deg) translateX(0); }
  50% { transform: rotate(-22deg) translateX(4px); }
  100% { transform: rotate(-25deg) translateX(0); }
}
@keyframes hm-arrow-miss-b {
  0% { transform: rotate(45deg) translateY(0); }
  50% { transform: rotate(42deg) translateY(3px); }
  100% { transform: rotate(45deg) translateY(0); }
}
@keyframes hm-arrow-miss-c {
  0% { transform: rotate(80deg) translateX(0) translateY(0); }
  50% { transform: rotate(78deg) translateX(-2px) translateY(2px); }
  100% { transform: rotate(80deg) translateX(0) translateY(0); }
}

.scn-reason-stirs-or-represses {
  background: linear-gradient(180deg, #f0e8d8 0%, #e0d0b8 100%), radial-gradient(ellipse at 50% 90%, #e0d0b8 0%, transparent 70%);
  position: relative;
  overflow: hidden;
}
.scn-reason-stirs-or-represses .table {
  position: absolute; bottom: 15%; left: 20%; right: 20%; height: 12px;
  background: linear-gradient(180deg, #b8a080 0%, #a08060 100%);
  border-radius: 4px;
}
.scn-reason-stirs-or-represses .candle {
  position: absolute; bottom: calc(15% + 12px); left: 50%; transform: translateX(-50%);
  width: 18px; height: 60px;
  background: linear-gradient(180deg, #e8d8c0 0%, #c8b090 100%);
  border-radius: 4px 4px 6px 6px;
}
.scn-reason-stirs-or-represses .flame {
  position: absolute; bottom: calc(15% + 72px); left: 50%; transform: translateX(-50%);
  width: 16px; height: 24px;
  background: radial-gradient(ellipse at 50% 30%, #ffe8a0 0%, #ffc060 50%, #b87830 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 20% 20%;
  box-shadow: 0 0 20px 8px rgba(255,192,96,0.4);
  animation: rs-flame 1.5s ease-in-out infinite alternate;
}
.scn-reason-stirs-or-represses .hand-stir {
  position: absolute; bottom: calc(15% + 40px); left: 42%;
  width: 30px; height: 40px;
  background: linear-gradient(180deg, #d4b090 0%, #b89070 100%);
  border-radius: 40% 60% 30% 50% / 50% 40% 60% 50%;
  transform-origin: bottom center;
  animation: rs-hand-stir 2.5s ease-in-out infinite;
}
.scn-reason-stirs-or-represses .hand-repress {
  position: absolute; bottom: calc(15% + 60px); right: 42%;
  width: 28px; height: 22px;
  background: linear-gradient(180deg, #a08060 0%, #806040 100%);
  border-radius: 50% 40% 50% 30% / 60% 50% 40% 50%;
  transform-origin: bottom center;
  animation: rs-hand-repress 3s ease-in-out infinite 0.5s;
}
.scn-reason-stirs-or-represses .glow {
  position: absolute; bottom: calc(15% + 50px); left: 50%; transform: translateX(-50%);
  width: 100px; height: 100px;
  background: radial-gradient(circle, rgba(255,192,96,0.2) 0%, transparent 70%);
  animation: rs-glow 2s ease-in-out infinite alternate;
}
@keyframes rs-flame {
  0% { transform: translateX(-50%) scaleY(1); opacity: 0.9; box-shadow: 0 0 20px 8px rgba(255,192,96,0.4); }
  50% { transform: translateX(-50%) scaleY(1.1) translateY(-2px); opacity: 1; box-shadow: 0 0 25px 12px rgba(255,192,96,0.6); }
  100% { transform: translateX(-50%) scaleY(1) translateY(0); opacity: 0.9; box-shadow: 0 0 20px 8px rgba(255,192,96,0.4); }
}
@keyframes rs-hand-stir {
  0% { transform: rotate(-8deg) translateX(0); }
  50% { transform: rotate(8deg) translateX(8px); }
  100% { transform: rotate(-8deg) translateX(0); }
}
@keyframes rs-hand-repress {
  0% { transform: rotate(0) translateY(0); }
  50% { transform: rotate(-5deg) translateY(-8px); }
  100% { transform: rotate(0) translateY(0); }
}
@keyframes rs-glow {
  0% { opacity: 0.3; }
  50% { opacity: 0.7; }
  100% { opacity: 0.3; }
}

.scn-virtue-mean-in-quantity {
  background: linear-gradient(180deg, #f5ede0 0%, #e5d5c0 100%), radial-gradient(ellipse at 50% 60%, #e5d5c0 0%, transparent 60%);
  position: relative;
  overflow: hidden;
}
.scn-virtue-mean-in-quantity .scale-base {
  position: absolute; bottom: 20%; left: 50%; transform: translateX(-50%);
  width: 80px; height: 10px;
  background: linear-gradient(180deg, #b09070 0%, #907050 100%);
  border-radius: 4px;
}
.scn-virtue-mean-in-quantity .scale-beam {
  position: absolute; bottom: calc(20% + 10px); left: 50%; transform: translateX(-50%);
  width: 200px; height: 8px;
  background: linear-gradient(180deg, #d0b8a0 0%, #b09880 100%);
  border-radius: 4px;
  animation: vq-beam 4s ease-in-out infinite alternate;
}
.scn-virtue-mean-in-quantity .scale-pan {
  position: absolute; width: 60px; height: 20px;
  background: linear-gradient(180deg, #c8b098 0%, #a88870 100%);
  border-radius: 0 0 20px 20px;
  left: calc(50% - 30px);
}
.scn-virtue-mean-in-quantity .scale-pan.left {
  bottom: calc(20% + 18px); left: calc(50% - 130px);
  animation: vq-pan-left 4s ease-in-out infinite alternate;
}
.scn-virtue-mean-in-quantity .scale-pan.right {
  bottom: calc(20% + 18px); left: calc(50% + 70px);
  animation: vq-pan-right 4s ease-in-out infinite alternate;
}
.scn-virtue-mean-in-quantity .scale-pointer {
  position: absolute; bottom: calc(20% + 18px); left: 50%; transform: translateX(-50%);
  width: 4px; height: 30px;
  background: linear-gradient(180deg, #6a5a3a 0%, #4a3a1a 100%);
  border-radius: 2px;
  transform-origin: bottom center;
  animation: vq-pointer 4s ease-in-out infinite alternate;
}
.scn-virtue-mean-in-quantity .weight {
  position: absolute; width: 20px; height: 20px;
  background: radial-gradient(circle, #7a6a4a 0%, #5a4a2a 100%);
  border-radius: 50%;
  bottom: calc(20% + 38px);
}
.scn-virtue-mean-in-quantity .weight.left-w {
  left: calc(50% - 130px);
  animation: vq-weight-left 4s ease-in-out infinite alternate;
}
.scn-virtue-mean-in-quantity .weight.right-w {
  left: calc(50% + 70px);
  animation: vq-weight-right 4s ease-in-out infinite alternate;
}
@keyframes vq-beam {
  0% { transform: translateX(-50%) rotate(0); }
  50% { transform: translateX(-50%) rotate(-2deg); }
  100% { transform: translateX(-50%) rotate(0); }
}
@keyframes vq-pan-left {
  0% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
  100% { transform: translateY(0); }
}
@keyframes vq-pan-right {
  0% { transform: translateY(0); }
  50% { transform: translateY(3px); }
  100% { transform: translateY(0); }
}
@keyframes vq-pointer {
  0% { transform: translateX(-50%) rotate(0); }
  50% { transform: translateX(-50%) rotate(-3deg); }
  100% { transform: translateX(-50%) rotate(0); }
}
@keyframes vq-weight-left {
  0% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
  100% { transform: translateY(0); }
}
@keyframes vq-weight-right {
  0% { transform: translateY(0); }
  50% { transform: translateY(3px); }
  100% { transform: translateY(0); }
}

.scn-mean-various-kinds {
  background: linear-gradient(180deg, #f0e8d8 0%, #e0d0b8 100%), radial-gradient(ellipse at 50% 80%, #e0d0b8 0%, transparent 70%);
  position: relative;
  overflow: hidden;
}
.scn-mean-various-kinds .canvas {
  position: absolute; inset: 0;
  background: #f5eedd;
}
.scn-mean-various-kinds .circle-white {
  position: absolute; left: 30%; top: 40%;
  width: 140px; height: 140px; border-radius: 50%;
  background: radial-gradient(circle at 40% 40%, #fcfcfc 0%, #e8e0d0 100%);
  mix-blend-mode: normal;
  animation: mv-rotate-white 20s linear infinite;
}
.scn-mean-various-kinds .circle-black {
  position: absolute; left: 45%; top: 30%;
  width: 140px; height: 140px; border-radius: 50%;
  background: radial-gradient(circle at 60% 60%, #3a3a3a 0%, #1a1a1a 100%);
  mix-blend-mode: multiply;
  animation: mv-rotate-black 22s linear infinite reverse;
}
.scn-mean-various-kinds .circle-grey {
  position: absolute; left: 38%; top: 35%;
  width: 100px; height: 100px; border-radius: 50%;
  background: radial-gradient(circle at 50% 50%, #a0a0a0 0%, #808080 100%);
  mix-blend-mode: normal;
  box-shadow: 0 0 20px rgba(0,0,0,0.1);
  animation: mv-pulse-grey 6s ease-in-out infinite alternate;
}
.scn-mean-various-kinds .circle-contained {
  position: absolute; left: 42%; top: 40%;
  width: 40px; height: 40px; border-radius: 50%;
  background: radial-gradient(circle, #c8b098 0%, #a88870 100%);
  box-shadow: 0 0 10px rgba(0,0,0,0.2);
  animation: mv-contained 8s ease-in-out infinite;
}
@keyframes mv-rotate-white {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes mv-rotate-black {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes mv-pulse-grey {
  0% { transform: scale(1); opacity: 0.7; }
  50% { transform: scale(1.05); opacity: 1; }
  100% { transform: scale(1); opacity: 0.7; }
}
@keyframes mv-contained {
  0% { transform: translateX(0) translateY(0); }
  25% { transform: translateX(8px) translateY(-6px); }
  50% { transform: translateX(0) translateY(-10px); }
  75% { transform: translateX(-8px) translateY(-6px); }
  100% { transform: translateX(0) translateY(0); }
}

.scn-row-learn-steer-analogy {
  background:
    linear-gradient(180deg, #e8dccc 0%, #c4b294 30%, #a08060 100%),
    radial-gradient(ellipse at 50% 0%, #fff8ec 0%, transparent 40%);
}
.scn-row-learn-steer-analogy .wall { position:absolute; inset:0; background: linear-gradient(90deg, #b8a080 0%, #c8b8a0 50%, #b8a080 100%); }
.scn-row-learn-steer-analogy .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #8a7050 0%, #706040 100%); }
.scn-row-learn-steer-analogy .boat { position:absolute; bottom:12%; left:15%; width:50%; height:18%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 0 0 20% 20% / 0 0 50% 50%; transform: rotate(-2deg); animation: rls-boat 8s ease-in-out infinite; }
.scn-row-learn-steer-analogy .oar-left { position:absolute; bottom:15%; left:18%; width:4px; height:30%; background: linear-gradient(180deg, #a08030 0%, #806020 100%); transform-origin: bottom center; border-radius: 50% 50% 0 0; animation: rls-oar 2s ease-in-out infinite; }
.scn-row-learn-steer-analogy .oar-right { position:absolute; bottom:15%; right:18%; width:4px; height:30%; background: linear-gradient(180deg, #a08030 0%, #806020 100%); transform-origin: bottom center; border-radius: 50% 50% 0 0; animation: rls-oar 2s ease-in-out infinite reverse; }
.scn-row-learn-steer-analogy .steering-wheel { position:absolute; bottom:28%; right:10%; width:40px; height:40px; border: 4px solid #7a5a2a; border-radius: 50%; background: radial-gradient(circle, #c8a060 0%, #906020 100%); box-shadow: 0 2px 8px rgba(0,0,0,.3); animation: rls-wheel 6s linear infinite; }
.scn-row-learn-steer-analogy .steering-wheel::before { content:''; position:absolute; top:50%; left:50%; width:60%; height:2px; background:#7a5a2a; transform: translate(-50%, -50%) rotate(30deg); }
.scn-row-learn-steer-analogy .steering-wheel::after { content:''; position:absolute; top:50%; left:50%; width:60%; height:2px; background:#7a5a2a; transform: translate(-50%, -50%) rotate(-30deg); }
.scn-row-learn-steer-analogy .figure-rower { position:absolute; bottom:14%; left:28%; width:20px; 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: rls-row 1.5s ease-in-out infinite; }
.scn-row-learn-steer-analogy .figure-steerer { position:absolute; bottom:18%; right:15%; width:18px; height:36px; background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: rls-steer 3s ease-in-out infinite; }
.scn-row-learn-steer-analogy .lantern { position:absolute; top:20%; left:20%; width:12px; height:18px; background: radial-gradient(circle at 50% 30%, #ffd080 0%, #c08040 70%); border-radius: 30% 30% 20% 20%; box-shadow: 0 0 30px 8px rgba(192,128,64,.5); animation: rls-lantern 4s ease-in-out infinite alternate; }

@keyframes rls-boat { 0%,100% { transform: rotate(-2deg) translateY(0); } 50% { transform: rotate(0deg) translateY(-2px); } }
@keyframes rls-oar { 0%,100% { transform: rotate(-10deg); } 50% { transform: rotate(10deg); } }
@keyframes rls-wheel { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes rls-row { 0%,100% { transform: translateX(0) translateY(0) rotate(-2deg); } 25% { transform: translateX(4px) translateY(-2px) rotate(3deg); } 50% { transform: translateX(8px) translateY(0) rotate(0deg); } 75% { transform: translateX(4px) translateY(-2px) rotate(-2deg); } }
@keyframes rls-steer { 0%,100% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-2px) rotate(3deg); } }
@keyframes rls-lantern { 0% { opacity:.7; box-shadow: 0 0 20px 4px rgba(192,128,64,.3); } 100% { opacity:1; box-shadow: 0 0 40px 12px rgba(255,208,128,.6); } }

.scn-iphicrates-callias {
  background:
    linear-gradient(180deg, #f5e8d0 0%, #d4c0a0 40%, #b8a080 100%),
    radial-gradient(ellipse at 30% 70%, #fff0d0 0%, transparent 60%);
}
.scn-iphicrates-callias .room-bg { position:absolute; inset:0; background: linear-gradient(90deg, #c8b890 0%, #d8c8a8 50%, #c8b890 100%); }
.scn-iphicrates-callias .general { position:absolute; bottom:20%; left:30%; width:24px; height:48px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ipl-general 4s ease-in-out infinite; }
.scn-iphicrates-callias .general::before { content:''; position:absolute; top:-6px; left:50%; width:10px; height:10px; background:#b87878; border-radius:50%; transform:translateX(-50%); } /* terracotta hat */
.scn-iphicrates-callias .bow { position:absolute; bottom:35%; left:55%; width:30px; height:4px; background: linear-gradient(90deg, #6a4a2a 0%, #8a6030 100%); border-radius: 50%; transform: rotate(-20deg); animation: ipl-bow 2s ease-in-out infinite; }
.scn-iphicrates-callias .bow::after { content:''; position:absolute; top:-8px; left:50%; width:2px; height:16px; background: #6a4a2a; transform: translateX(-50%); }
.scn-iphicrates-callias .shield { position:absolute; bottom:25%; left:65%; width:28px; height:32px; background: radial-gradient(circle at 40% 40%, #c8553d 0%, #a0461a 100%); border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,.3); animation: ipl-shield 5s ease-in-out infinite; }
.scn-iphicrates-callias .spear { position:absolute; bottom:15%; left:60%; width:3px; height:50%; background: linear-gradient(180deg, #706020 0%, #4a3a10 100%); transform-origin: bottom center; transform: rotate(-10deg); animation: ipl-spear 3s ease-in-out infinite; }
.scn-iphicrates-callias .spear::after { content:''; position:absolute; top:0; left:50%; width:6px; height:6px; background:#b87878; border-radius:50%; transform: translateX(-50%); }
.scn-iphicrates-callias .callias-figure { position:absolute; bottom:20%; right:20%; width:20px; height:40px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ipl-callias 6s ease-in-out infinite; }
.scn-iphicrates-callias .scroll { position:absolute; bottom:30%; left:45%; width:16px; height:8px; background: #f0e0c0; border-radius: 40% 40% 10% 10%; box-shadow: 0 1px 3px rgba(0,0,0,.2); animation: ipl-scroll 4s ease-in-out infinite; }
.scn-iphicrates-callias .camp-stool { position:absolute; bottom:20%; left:20%; width:30px; height:2px; background: #6a5a3a; border-radius: 2px; box-shadow: 0 10px 0 #6a5a3a; animation: ipl-stool 4s ease-in-out infinite; }

@keyframes ipl-general { 0%,100% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(5deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-2px) rotate(-5deg); } }
@keyframes ipl-bow { 0%,100% { transform: rotate(-20deg) scaleX(1); } 50% { transform: rotate(-30deg) scaleX(1.1); } }
@keyframes ipl-shield { 0%,100% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(3px) rotate(10deg); } }
@keyframes ipl-spear { 0%,100% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(-5deg) translateY(-3px); } }
@keyframes ipl-callias { 0%,100% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-5px) rotate(5deg); } }
@keyframes ipl-scroll { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(10deg); } }
@keyframes ipl-stool { 0%,100% { opacity:1; } 50% { opacity:0.7; } }

.scn-good-sense-must-be-taught {
  background:
    linear-gradient(180deg, #f0e6d0 0%, #d4c0a0 40%, #b8a080 100%),
    radial-gradient(ellipse at 50% 20%, #fff8ec 0%, transparent 50%);
}
.scn-good-sense-must-be-taught .wall-bg { position:absolute; inset:0; background: linear-gradient(90deg, #c8b8a0 0%, #d8c8b0 50%, #c8b8a0 100%); }
.scn-good-sense-must-be-taught .desk { position:absolute; bottom:15%; left:25%; width:50%; height:8%; background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%); border-radius: 4% 4% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,.3); }
.scn-good-sense-must-be-taught .book-open { position:absolute; bottom:23%; left:30%; width:15%; height:12%; background: linear-gradient(180deg, #f0e0c0 0%, #d0c0a0 100%); border-radius: 2% 2% 10% 10% / 10% 10% 30% 30%; transform: perspective(400px) rotateX(10deg); animation: gsm-book-open 6s ease-in-out infinite; }
.scn-good-sense-must-be-taught .book-open::after { content:''; position:absolute; top:20%; left:50%; width:1px; height:60%; background: #806040; }
.scn-good-sense-must-be-taught .book-closed { position:absolute; bottom:23%; right:30%; width:10%; height:10%; background: linear-gradient(180deg, #a08060 0%, #806040 100%); border-radius: 5% 5% 10% 10%; transform: rotate(15deg); animation: gsm-book-closed 8s ease-in-out infinite; }
.scn-good-sense-must-be-taught .oil-lamp { position:absolute; top:25%; left:45%; width:16px; height:24px; background: radial-gradient(circle at 50% 70%, #ffd080 0%, #c08040 70%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 30px 8px rgba(192,128,64,.4); animation: gsm-lamp 3s ease-in-out infinite alternate; }
.scn-good-sense-must-be-taught .philosopher { position:absolute; bottom:20%; left:32%; width:22px; height:44px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: gsm-philo 4s ease-in-out infinite; }
.scn-good-sense-must-be-taught .chair { position:absolute; bottom:18%; right:20%; width:24px; height:6px; background: #5a4a3a; border-radius: 2px; box-shadow: 0 12px 0 #5a4a3a; animation: gsm-chair 6s ease-in-out infinite; }

@keyframes gsm-book-open { 0%,100% { transform: perspective(400px) rotateX(10deg) translateY(0); } 50% { transform: perspective(400px) rotateX(5deg) translateY(-2px); } }
@keyframes gsm-book-closed { 0%,100% { transform: rotate(15deg) translateY(0); } 50% { transform: rotate(10deg) translateY(-3px); } }
@keyframes gsm-lamp { 0% { box-shadow: 0 0 20px 4px rgba(192,128,64,.3); opacity:.8; } 100% { box-shadow: 0 0 40px 12px rgba(255,208,128,.6); opacity:1; } }
@keyframes gsm-philo { 0%,100% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(3px) translateY(-1px) rotate(2deg); } 50% { transform: translateX(0) translateY(0) rotate(0deg); } 75% { transform: translateX(-3px) translateY(-1px) rotate(-2deg); } }
@keyframes gsm-chair { 0%,100% { opacity:1; } 50% { opacity:0.8; } }

.scn-moral-virtue-mean {
  background:
    linear-gradient(180deg, #e0d4c0 0%, #c0b098 50%, #a08870 100%),
    radial-gradient(ellipse at 50% 30%, #fff4e0 0%, transparent 60%);
}
.scn-moral-virtue-mean .backdrop { position:absolute; inset:0; background: linear-gradient(90deg, #b8a890 0%, #c8b8a0 50%, #b8a890 100%); }
.scn-moral-virtue-mean .pedestal-left { position:absolute; bottom:20%; left:10%; width:8%; height:15%; background: linear-gradient(180deg, #a08870 0%, #806050 100%); border-radius: 10% 10% 0 0; box-shadow: inset 0 -4px 6px rgba(0,0,0,.2); animation: mvm-ped 6s ease-in-out infinite; }
.scn-moral-virtue-mean .pedestal-right { position:absolute; bottom:20%; right:10%; width:8%; height:15%; background: linear-gradient(180deg, #a08870 0%, #806050 100%); border-radius: 10% 10% 0 0; box-shadow: inset 0 -4px 6px rgba(0,0,0,.2); animation: mvm-ped 6s ease-in-out infinite reverse; }
.scn-moral-virtue-mean .balance-beam { position:absolute; bottom:34%; left:5%; right:5%; height:4px; background: linear-gradient(90deg, #7a5a3a 0%, #9a7a5a 50%, #7a5a3a 100%); transform-origin: center; animation: mvm-beam 4s ease-in-out infinite; }
.scn-moral-virtue-mean .pendulum { position:absolute; bottom:30%; left:50%; width:6px; height:30%; background: linear-gradient(180deg, #c8553d 0%, #a0461a 100%); transform-origin: top center; border-radius: 0 0 50% 50%; animation: mvm-pend 3s ease-in-out infinite; }
.scn-moral-virtue-mean .pendulum::after { content:''; position:absolute; bottom:-6px; left:50%; width:12px; height:12px; background: radial-gradient(circle, #e09060 0%, #c05030 100%); border-radius:50%; transform: translateX(-50%); }
.scn-moral-virtue-mean .figures-central { position:absolute; bottom:16%; left:40%; width:20%; height:20%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: translateX(-50%); animation: mvm-fig 5s ease-in-out infinite; }
.scn-moral-virtue-mean .glow-orb { position:absolute; bottom:38%; left:50%; width:20px; height:20px; background: radial-gradient(circle, #ffe080 0%, transparent 100%); border-radius:50%; transform: translateX(-50%); animation: mvm-orb 3s ease-in-out infinite alternate; }
.scn-moral-virtue-mean .mist { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, transparent 0%, rgba(255,255,255,.15) 100%); filter: blur(6px); animation: mvm-mist 12s ease-in-out infinite; }

@keyframes mvm-ped { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(0.95); } }
@keyframes mvm-beam { 0%,100% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } }
@keyframes mvm-pend { 0%,100% { transform: rotate(-15deg); } 50% { transform: rotate(15deg); } }
@keyframes mvm-fig { 0%,100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-3px); } }
@keyframes mvm-orb { 0% { opacity:.4; transform: translateX(-50%) scale(1); } 100% { opacity:.8; transform: translateX(-50%) scale(1.5); } }
@keyframes mvm-mist { 0% { opacity:.5; } 50% { opacity:1; } 100% { opacity:.5; } }

/* Scene: antony-friends-egyptian-woman (dark mood, dim interior) */
.scn-antony-friends-egyptian-woman {
  background: linear-gradient(180deg, #1a1423 0%, #2a1e30 40%, #3a2a44 70%, #2e1e34 100%), 
              radial-gradient(ellipse at 60% 100%, #4a3a5a 0%, transparent 60%);
}
.scn-antony-friends-egyptian-woman .wall-deep {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #2a1e30 0%, #3a2a44 100%);
  animation: an-wall 12s ease-in-out infinite alternate;
}
.scn-antony-friends-egyptian-woman .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #3a2a30 0%, #1a1018 100%);
  border-radius: 60% 40% 0 0 / 20% 10% 0 0;
  transform-origin: bottom; animation: an-floor 8s ease-in-out infinite;
}
.scn-antony-friends-egyptian-woman .window {
  position: absolute; top: 18%; left: 35%; width: 90px; height: 120px;
  background: linear-gradient(180deg, #4a3a5a 0%, #2a1e30 100%);
  border: 3px solid #6a5a7a; border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(100,80,120,0.3), 0 0 30px rgba(60,40,80,0.2);
  animation: an-window 15s ease-in-out infinite alternate;
}
.scn-antony-friends-egyptian-woman .lamp-glow {
  position: absolute; bottom: 28%; left: 16%; width: 30px; height: 30px;
  background: radial-gradient(circle, #ffcc80 0%, #cc8844 60%, transparent 80%);
  border-radius: 50%; filter: blur(8px);
  box-shadow: 0 0 40px 20px rgba(255,200,128,0.6), 0 0 80px 40px rgba(200,136,68,0.3);
  animation: an-lamp 4s ease-in-out infinite alternate;
}
.scn-antony-friends-egyptian-woman .figure-antony {
  position: absolute; bottom: 22%; left: 42%; width: 28px; height: 70px;
  background: linear-gradient(180deg, #2a1e30 0%, #1a1018 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: an-antony 6s ease-in-out infinite;
}
.scn-antony-friends-egyptian-woman .figure-cleopatra {
  position: absolute; bottom: 22%; left: 52%; width: 24px; height: 64px;
  background: linear-gradient(180deg, #3a2a44 0%, #1a1423 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: an-cleopatra 8s ease-in-out infinite;
}
.scn-antony-friends-egyptian-woman .shadow-cast {
  position: absolute; bottom: 18%; left: 38%; width: 80px; height: 40px;
  background: radial-gradient(ellipse, rgba(10,5,15,0.6) 0%, transparent 70%);
  filter: blur(6px); animation: an-shadow 10s ease-in-out infinite alternate;
}
.scn-antony-friends-egyptian-woman .dust {
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(circle at 20% 40%, rgba(255,200,150,0.05) 0%, transparent 50%);
  animation: an-dust 30s linear infinite;
}
@keyframes an-wall { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes an-floor { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } }
@keyframes an-window { 0% { box-shadow: inset 0 0 20px rgba(100,80,120,0.2), 0 0 20px rgba(60,40,80,0.1) } 50% { box-shadow: inset 0 0 30px rgba(100,80,120,0.4), 0 0 40px rgba(60,40,80,0.3) } 100% { box-shadow: inset 0 0 20px rgba(100,80,120,0.3), 0 0 20px rgba(60,40,80,0.15) } }
@keyframes an-lamp { 0% { opacity: 0.7; transform: scale(0.9) } 50% { opacity: 1; transform: scale(1.1) } 100% { opacity: 0.8; transform: scale(0.95) } }
@keyframes an-antony { 0%,100% { transform: translateX(0) translateY(0) rotate(-1deg) } 25% { transform: translateX(3px) translateY(-2px) rotate(1deg) } 50% { transform: translateX(6px) translateY(-1px) rotate(-1deg) } 75% { transform: translateX(3px) translateY(-2px) rotate(1deg) } }
@keyframes an-cleopatra { 0%,100% { transform: translateX(0) translateY(0) rotate(1deg) } 25% { transform: translateX(-2px) translateY(-1px) rotate(-1deg) } 50% { transform: translateX(-4px) translateY(-2px) rotate(1deg) } 75% { transform: translateX(-2px) translateY(-1px) rotate(-1deg) } }
@keyframes an-shadow { 0% { transform: scaleX(1) scaleY(1) } 50% { transform: scaleX(1.2) scaleY(0.9) } 100% { transform: scaleX(1) scaleY(1) } }
@keyframes an-dust { 0% { background-position: 0 0; opacity: 0.3 } 50% { background-position: 10px -10px; opacity: 0.5 } 100% { background-position: 20px -20px; opacity: 0.2 } }

/* Scene: caution-snares-remember-soul (calm mood, dim interior) */
.scn-caution-snares-remember-soul {
  background: linear-gradient(180deg, #2a2a3e 0%, #3a3a4e 40%, #4a4a5e 70%, #3a3a4e 100%), 
              radial-gradient(ellipse at 50% 0%, #5a5a7a 0%, transparent 60%);
}
.scn-caution-snares-remember-soul .bg-soft {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #4a4a5e 0%, #2a2a3e 100%);
  animation: ca-bg 20s ease-in-out infinite alternate;
}
.scn-caution-snares-remember-soul .pillar-left {
  position: absolute; bottom: 0; left: 10%; width: 20px; height: 70%;
  background: linear-gradient(180deg, #6a6a7a 0%, #4a4a5a 100%);
  border-radius: 4px; box-shadow: 2px 0 8px rgba(0,0,0,0.3);
  transform-origin: bottom; animation: ca-pillar 15s ease-in-out infinite alternate;
}
.scn-caution-snares-remember-soul .pillar-right {
  position: absolute; bottom: 0; right: 10%; width: 20px; height: 70%;
  background: linear-gradient(180deg, #6a6a7a 0%, #4a4a5a 100%);
  border-radius: 4px; box-shadow: -2px 0 8px rgba(0,0,0,0.3);
  transform-origin: bottom; animation: ca-pillar 15s ease-in-out infinite alternate reverse;
}
.scn-caution-snares-remember-soul .candle {
  position: absolute; bottom: 24%; left: 45%; width: 12px; height: 30px;
  background: linear-gradient(180deg, #b09070 0%, #705040 100%);
  border-radius: 4px 4px 2px 2px;
  animation: ca-candle 6s ease-in-out infinite;
}
.scn-caution-snares-remember-soul .book-tome {
  position: absolute; bottom: 15%; left: 32%; width: 50px; height: 60px;
  background: linear-gradient(135deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 4px; box-shadow: 2px 2px 6px rgba(0,0,0,0.4);
  transform: rotate(-5deg); transform-origin: bottom left;
  animation: ca-book 12s ease-in-out infinite alternate;
}
.scn-caution-snares-remember-soul .figure-meditate {
  position: absolute; bottom: 5%; left: 38%; width: 40px; height: 90px;
  background: linear-gradient(180deg, #5a4a4a 0%, #2a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ca-meditate 8s ease-in-out infinite;
}
.scn-caution-snares-remember-soul .wisdom-glow {
  position: absolute; bottom: 25%; left: 38%; width: 40px; height: 40px;
  background: radial-gradient(circle, rgba(200,180,150,0.3) 0%, transparent 70%);
  filter: blur(10px); animation: ca-glow 5s ease-in-out infinite alternate;
}
.scn-caution-snares-remember-soul .drift-particles {
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(circle at 30% 50%, rgba(200,180,150,0.08) 0%, transparent 20%),
              radial-gradient(circle at 70% 40%, rgba(200,180,150,0.05) 0%, transparent 15%);
  animation: ca-drift 40s linear infinite;
}
@keyframes ca-bg { 0% { opacity: 0.7 } 50% { opacity: 0.9 } 100% { opacity: 0.75 } }
@keyframes ca-pillar { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(0.98) } }
@keyframes ca-candle { 0%,100% { transform: scaleY(1) scaleX(1) } 50% { transform: scaleY(1.1) scaleX(0.95) } }
@keyframes ca-book { 0% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(-3deg) translateY(-2px) } 100% { transform: rotate(-5deg) translateY(0) } }
@keyframes ca-meditate { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-3px) rotate(2deg) } }
@keyframes ca-glow { 0% { opacity: 0.2; transform: scale(0.8) } 50% { opacity: 0.6; transform: scale(1.2) } 100% { opacity: 0.3; transform: scale(0.9) } }
@keyframes ca-drift { 0% { background-position: 0 0; opacity: 0.4 } 50% { background-position: 20px 10px; opacity: 0.6 } 100% { background-position: 40px 20px; opacity: 0.3 } }

/* Scene: surfeit-excess-check-indulge (calm mood, dim interior) */
.scn-surfeit-excess-check-indulge {
  background: linear-gradient(180deg, #2a2a1e 0%, #3a3a2e 40%, #4a4a3e 70%, #3a3a2e 100%), 
              radial-gradient(ellipse at 50% 30%, #5a5a4a 0%, transparent 60%);
}
.scn-surfeit-excess-check-indulge .wall-panel {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(135deg, #3a3a2e 0%, #2a2a1e 100%);
  animation: su-wall 18s ease-in-out infinite alternate;
}
.scn-surfeit-excess-check-indulge .table-surface {
  position: absolute; bottom: 20%; left: 10%; right: 10%; height: 15%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,0.4);
  transform-origin: bottom; animation: su-table 8s ease-in-out infinite alternate;
}
.scn-surfeit-excess-check-indulge .goblet {
  position: absolute; bottom: 28%; left: 35%; width: 18px; height: 30px;
  background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 0 0 6px 6px; box-shadow: 2px 2px 4px rgba(0,0,0,0.3);
  animation: su-goblet 5s ease-in-out infinite alternate;
}
.scn-surfeit-excess-check-indulge .plate-left {
  position: absolute; bottom: 25%; left: 28%; width: 50px; height: 12px;
  background: radial-gradient(ellipse, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: su-plate 12s ease-in-out infinite;
}
.scn-surfeit-excess-check-indulge .plate-right {
  position: absolute; bottom: 25%; left: 48%; width: 50px; height: 12px;
  background: radial-gradient(ellipse, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: su-plate 12s ease-in-out infinite reverse;
}
.scn-surfeit-excess-check-indulge .figure-reclining {
  position: absolute; bottom: 10%; left: 35%; width: 60px; height: 70px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(-5deg); transform-origin: bottom center;
  animation: su-recline 10s ease-in-out infinite;
}
.scn-surfeit-excess-check-indulge .friend-standing {
  position: absolute; bottom: 10%; left: 58%; width: 30px; height: 80px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: su-friend 7s ease-in-out infinite;
}
.scn-surfeit-excess-check-indulge .lamp-overhead {
  position: absolute; top: 15%; left: 40%; width: 40px; height: 20px;
  background: radial-gradient(ellipse, #ffcc88 0%, #cc8844 100%);
  border-radius: 50%; filter: blur(6px);
  box-shadow: 0 0 60px 30px rgba(255,200,136,0.3);
  animation: su-lamp 4s ease-in-out infinite alternate;
}
@keyframes su-wall { 0% { opacity: 0.8 } 50% { opacity: 0.95 } 100% { opacity: 0.85 } }
@keyframes su-table { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.03) } 100% { transform: scaleY(0.97) } }
@keyframes su-goblet { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(3deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes su-plate { 0%,100% { transform: scaleX(1) } 50% { transform: scaleX(1.05) scaleY(0.95) } }
@keyframes su-recline { 0%,100% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(-3deg) translateY(-3px) } }
@keyframes su-friend { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(2deg) } }
@keyframes su-lamp { 0% { opacity: 0.6; transform: scale(0.9) } 50% { opacity: 1; transform: scale(1.1) } 100% { opacity: 0.7; transform: scale(0.95) } }

/* Scene: useful-services-flatterer-zealous (calm mood, dim interior) */
.scn-useful-services-flatterer-zealous {
  background: linear-gradient(180deg, #2a2a2a 0%, #3a3a3a 40%, #4a4a4a 70%, #3a3a3a 100%), 
              radial-gradient(ellipse at 70% 80%, #5a4a3a 0%, transparent 60%);
}
.scn-useful-services-flatterer-zealous .bg-warm {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #4a4a4a 0%, #2a2a2a 100%);
  animation: us-bg 14s ease-in-out infinite alternate;
}
.scn-useful-services-flatterer-zealous .shelf-unit {
  position: absolute; top: 15%; right: 8%; width: 80px; height: 120px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 2px; box-shadow: -2px 2px 8px rgba(0,0,0,0.3);
  transform-origin: top right; animation: us-shelf 20s ease-in-out infinite alternate;
}
.scn-useful-services-flatterer-zealous .tools-hanging {
  position: absolute; top: 18%; right: 12%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: us-tools 8s ease-in-out infinite;
}
.scn-useful-services-flatterer-zealous .workbench {
  position: absolute; bottom: 25%; left: 10%; right: 10%; height: 12%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  animation: us-bench 10s ease-in-out infinite alternate;
}
.scn-useful-services-flatterer-zealous .figure-worker {
  position: absolute; bottom: 12%; left: 30%; width: 34px; height: 80px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: us-worker 6s ease-in-out infinite;
}
.scn-useful-services-flatterer-zealous .figure-flatterer {
  position: absolute; bottom: 12%; left: 50%; width: 30px; height: 76px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: us-flatterer 7s ease-in-out infinite;
}
.scn-useful-services-flatterer-zealous .lantern-small {
  position: absolute; bottom: 28%; left: 20%; width: 12px; height: 18px;
  background: linear-gradient(180deg, #ffcc88 0%, #cc8844 100%);
  border-radius: 4px; box-shadow: 0 0 20px 6px rgba(255,200,136,0.4);
  animation: us-lantern 5s ease-in-out infinite alternate;
}
.scn-useful-services-flatterer-zealous .sparkles-eager {
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(circle at 40% 50%, rgba(255,200,150,0.06) 0%, transparent 30%),
              radial-gradient(circle at 60% 40%, rgba(255,200,150,0.04) 0%, transparent 20%);
  animation: us-sparkle 30s linear infinite;
}
@keyframes us-bg { 0% { opacity: 0.7 } 50% { opacity: 0.9 } 100% { opacity: 0.75 } }
@keyframes us-shelf { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.03) } 100% { transform: scaleX(0.97) } }
@keyframes us-tools { 0%,100% { transform: rotate(0) } 50% { transform: rotate(3deg) } }
@keyframes us-bench { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.04) } 100% { transform: scaleY(0.96) } }
@keyframes us-worker { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(2deg) } }
@keyframes us-flatterer { 0%,100% { transform: translateY(0) rotate(0) scaleX(1) } 50% { transform: translateY(-3px) rotate(-3deg) scaleX(1.02) } }
@keyframes us-lantern { 0% { opacity: 0.6; transform: scale(0.9) } 50% { opacity: 1; transform: scale(1.1) } 100% { opacity: 0.7; transform: scale(0.95) } }
@keyframes us-sparkle { 0% { background-position: 0 0; opacity: 0.3 } 50% { background-position: 15px -10px; opacity: 0.5 } 100% { background-position: 30px -20px; opacity: 0.2 } }

/* scene: item-wanton-wind (tag iw) */
.scn-item-wanton-wind {
  background: linear-gradient(180deg, #1a1a2e 0%, #2c2244 50%, #4a3a6e 100%),
              radial-gradient(ellipse at 50% 100%, #4a3a6e 0%, transparent 70%);
}
.scn-item-wanton-wind .wind {
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse 80% 40% at 50% 50%, rgba(200,200,220,.15) 0%, transparent 70%);
  animation: iw-wind 16s ease-in-out infinite alternate;
}
.scn-item-wanton-wind .window-frame {
  position: absolute; bottom: 30%; left: 35%; width: 120px; height: 100px;
  border: 4px solid #5a4a3a; border-radius: 6px;
  background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 100%);
  box-shadow: inset 0 0 20px rgba(0,0,0,.6), 0 4px 8px rgba(0,0,0,.4);
  animation: iw-frame 8s ease-in-out infinite;
}
.scn-item-wanton-wind .curtain {
  position: absolute; bottom: 30%; left: 35%; width: 120px; height: 100px;
  background: linear-gradient(135deg, rgba(180,140,110,.5) 0%, rgba(100,70,50,.3) 100%);
  clip-path: polygon(0 0, 100% 0, 95% 100%, 5% 100%);
  animation: iw-curtain 6s ease-in-out infinite alternate;
}
.scn-item-wanton-wind .figure {
  position: absolute; bottom: 25%; left: 22%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: iw-figure 4s ease-in-out infinite;
}
.scn-item-wanton-wind .door {
  position: absolute; bottom: 20%; right: 20%; width: 50px; height: 80px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: inset -4px 0 8px rgba(0,0,0,.5);
  animation: iw-door 10s ease-in-out infinite;
}
.scn-item-wanton-wind .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(0deg, #1a1a2e 0%, #2a2a3e 100%);
}
@keyframes iw-wind {
  0% { transform: scale(1) rotate(0deg); opacity: .3; }
  50% { transform: scale(1.1) rotate(3deg); opacity: .6; }
  100% { transform: scale(1) rotate(-2deg); opacity: .4; }
}
@keyframes iw-frame {
  0% { transform: translateX(0); }
  50% { transform: translateX(4px) skewX(1deg); }
  100% { transform: translateX(0); }
}
@keyframes iw-curtain {
  0% { transform: translateX(0) skewY(0); opacity: .6; }
  50% { transform: translateX(-8px) skewY(2deg); opacity: .9; }
  100% { transform: translateX(6px) skewY(-1deg); opacity: .7; }
}
@keyframes iw-figure {
  0% { transform: rotate(0deg) translateX(0); }
  25% { transform: rotate(-3deg) translateX(-4px); }
  50% { transform: rotate(2deg) translateX(6px); }
  75% { transform: rotate(-1deg) translateX(-2px); }
  100% { transform: rotate(0) translateX(0); }
}
@keyframes iw-door {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.02) rotate(-1deg); }
  100% { transform: scaleY(1); }
}

/* scene: curiosity-cleon-aeolians (tag cc) */
.scn-curiosity-cleon-aeolians {
  background: linear-gradient(135deg, #1e1e2f 0%, #2a2a44 50%, #3a2a4a 100%),
              radial-gradient(circle at 30% 70%, #4a3a5a 0%, transparent 60%);
}
.scn-curiosity-cleon-aeolians .rich-col {
  position: absolute; top: 10%; left: 10%; width: 80px; height: 200px;
  background: linear-gradient(180deg, #c0a080 0%, #8a6a4a 100%);
  border-radius: 10% 10% 0 0; box-shadow: inset -4px 0 12px rgba(0,0,0,.4);
  animation: cc-col 12s ease-in-out infinite alternate;
}
.scn-curiosity-cleon-aeolians .poor-cot {
  position: absolute; bottom: 20%; right: 15%; width: 100px; height: 60px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 20% 20% 0 0; box-shadow: inset 0 4px 8px rgba(0,0,0,.5);
  animation: cc-cot 15s ease-in-out infinite alternate;
}
.scn-curiosity-cleon-aeolians .court-arch {
  position: absolute; top: 30%; left: 40%; width: 70px; height: 120px;
  background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  box-shadow: inset 0 0 20px rgba(0,0,0,.3);
  animation: cc-arch 10s ease-in-out infinite;
}
.scn-curiosity-cleon-aeolians .bridal-veil {
  position: absolute; bottom: 40%; left: 55%; width: 60px; height: 80px;
  background: linear-gradient(180deg, rgba(200,180,160,.4) 0%, transparent 100%);
  border-radius: 50% 50% 0 0; filter: blur(2px);
  animation: cc-veil 8s ease-in-out infinite;
}
.scn-curiosity-cleon-aeolians .center-figure {
  position: absolute; bottom: 20%; left: 50%; width: 24px; height: 50px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: cc-figure 5s ease-in-out infinite;
}
.scn-curiosity-cleon-aeolians .arm-left {
  position: absolute; bottom: 30%; left: 44%; width: 18px; height: 6px;
  background: #1a1a2a; border-radius: 50%;
  transform-origin: right center;
  animation: cc-arm-l 4s ease-in-out infinite;
}
.scn-curiosity-cleon-aeolians .arm-right {
  position: absolute; bottom: 30%; left: 52%; width: 18px; height: 6px;
  background: #1a1a2a; border-radius: 50%;
  transform-origin: left center;
  animation: cc-arm-r 4s ease-in-out infinite;
}
@keyframes cc-col {
  0% { opacity: .6; transform: scaleX(1); }
  50% { opacity: .9; transform: scaleX(1.05); }
  100% { opacity: .7; transform: scaleX(1); }
}
@keyframes cc-cot {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-3px) scale(0.98); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes cc-arch {
  0% { transform: rotate(0); }
  50% { transform: rotate(1deg) skewX(-2deg); }
  100% { transform: rotate(0); }
}
@keyframes cc-veil {
  0% { transform: translateX(0) scaleY(1); opacity: .3; }
  50% { transform: translateX(6px) scaleY(1.1); opacity: .6; }
  100% { transform: translateX(0) scaleY(1); opacity: .4; }
}
@keyframes cc-figure {
  0% { transform: translateX(-50%) rotate(0); }
  25% { transform: translateX(-50%) rotate(-2deg) translateY(-2px); }
  50% { transform: translateX(-50%) rotate(1deg) translateY(0); }
  75% { transform: translateX(-50%) rotate(-1deg) translateY(-1px); }
  100% { transform: translateX(-50%) rotate(0) translateY(0); }
}
@keyframes cc-arm-l {
  0% { transform: rotate(0deg) translateX(0); }
  50% { transform: rotate(-20deg) translateX(-4px); }
  100% { transform: rotate(0deg) translateX(0); }
}
@keyframes cc-arm-r {
  0% { transform: rotate(0deg) translateX(0); }
  50% { transform: rotate(20deg) translateX(4px); }
  100% { transform: rotate(0deg) translateX(0); }
}

/* scene: curiosity-aconite-warning (tag aw) */
.scn-curiosity-aconite-warning {
  background: linear-gradient(180deg, #1a1a2a 0%, #2a203a 50%, #3a2a4a 100%),
              radial-gradient(ellipse at 60% 30%, #4a3a5a 0%, transparent 70%);
}
.scn-curiosity-aconite-warning .table {
  position: absolute; bottom: 20%; left: 30%; right: 30%; height: 8%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 6px; box-shadow: 0 -2px 8px rgba(0,0,0,.5);
  animation: aw-table 14s ease-in-out infinite alternate;
}
.scn-curiosity-aconite-warning .plant {
  position: absolute; bottom: 28%; left: 45%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #3a6a3a 0%, #1a3a1a 100%);
  border-radius: 0 0 50% 50% / 0 0 30% 30%;
  transform-origin: bottom center;
  animation: aw-plant 6s ease-in-out infinite alternate;
}
.scn-curiosity-aconite-warning .skull {
  position: absolute; bottom: 29%; left: 52%; width: 22px; height: 26px;
  background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40%; box-shadow: inset 0 2px 6px rgba(0,0,0,.4);
  animation: aw-skull 12s ease-in-out infinite;
}
.scn-curiosity-aconite-warning .bottle {
  position: absolute; bottom: 32%; left: 38%; width: 14px; height: 20px;
  background: linear-gradient(90deg, #5a4a3a 0%, #7a6a5a 50%, #5a4a3a 100%);
  border-radius: 20% 20% 10% 10%; box-shadow: inset 0 0 6px rgba(0,0,0,.3);
  animation: aw-bottle 5s ease-in-out infinite;
}
.scn-curiosity-aconite-warning .hand {
  position: absolute; bottom: 31%; left: 40%; width: 16px; height: 10px;
  background: #2a1a1a; border-radius: 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: aw-hand 4s ease-in-out infinite;
}
.scn-curiosity-aconite-warning .shadow {
  position: absolute; bottom: 20%; left: 30%; right: 30%; height: 30%;
  background: radial-gradient(ellipse at 50% 30%, rgba(0,0,0,.6) 0%, transparent 70%);
  animation: aw-shadow 7s ease-in-out infinite alternate;
}
@keyframes aw-table {
  0% { transform: translateY(0) scaleX(1); }
  50% { transform: translateY(-1px) scaleX(1.02); }
  100% { transform: translateY(0) scaleX(1); }
}
@keyframes aw-plant {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(3deg) scaleY(1.05); }
  100% { transform: rotate(-2deg) scaleY(1); }
}
@keyframes aw-skull {
  0% { transform: translateY(0) rotate(0); opacity: .7; }
  50% { transform: translateY(-2px) rotate(5deg); opacity: 1; }
  100% { transform: translateY(0) rotate(0); opacity: .8; }
}
@keyframes aw-bottle {
  0% { transform: translateX(0) scale(1); }
  50% { transform: translateX(2px) scale(0.95); }
  100% { transform: translateX(0) scale(1); }
}
@keyframes aw-hand {
  0% { transform: translateX(0) rotate(0); }
  50% { transform: translateX(-6px) rotate(-10deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes aw-shadow {
  0% { opacity: .5; }
  50% { opacity: .8; }
  100% { opacity: .6; }
}

/* scene: curiosity-philippides-answer (tag pa) */
.scn-curiosity-philippides-answer {
  background: linear-gradient(135deg, #1a1a2e 0%, #2a2040 50%, #3a2a4a 100%),
              radial-gradient(ellipse at 40% 60%, #5a4a6a 0%, transparent 70%);
}
.scn-curiosity-philippides-answer .throne {
  position: absolute; bottom: 25%; left: 45%; width: 60px; height: 80px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%);
  border-radius: 20% 20% 10% 10%; box-shadow: inset 0 0 20px rgba(0,0,0,.5), 0 4px 12px rgba(0,0,0,.4);
  animation: pa-throne 18s ease-in-out infinite alternate;
}
.scn-curiosity-philippides-answer .king {
  position: absolute; bottom: 25%; left: 45%; width: 36px; height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 2px 6px rgba(0,0,0,.3);
  animation: pa-king 6s ease-in-out infinite;
}
.scn-curiosity-philippides-answer .poet {
  position: absolute; bottom: 30%; left: 30%; width: 18px; height: 40px;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pa-poet 5s ease-in-out infinite;
}
.scn-curiosity-philippides-answer .curtain {
  position: absolute; bottom: 30%; right: 10%; width: 40px; height: 100px;
  background: linear-gradient(180deg, rgba(150,100,80,.4) 0%, transparent 100%);
  border-radius: 0 30% 30% 0 / 0 40% 40% 0;
  filter: blur(2px);
  animation: pa-curtain 10s ease-in-out infinite alternate;
}
.scn-curiosity-philippides-answer .chest {
  position: absolute; bottom: 20%; left: 55%; width: 40px; height: 30px;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%);
  border-radius: 6px; box-shadow: inset 0 2px 6px rgba(0,0,0,.4);
  animation: pa-chest 14s ease-in-out infinite;
}
@keyframes pa-throne {
  0% { transform: translateX(-50%) scale(1); }
  50% { transform: translateX(-50%) scale(1.02) rotate(1deg); }
  100% { transform: translateX(-50%) scale(1); }
}
@keyframes pa-king {
  0% { transform: translateX(-50%) rotate(0); }
  25% { transform: translateX(-50%) rotate(-2deg) translateY(-1px); }
  75% { transform: translateX(-50%) rotate(2deg) translateY(0); }
  100% { transform: translateX(-50%) rotate(0); }
}
@keyframes pa-poet {
  0% { transform: translateX(0) rotate(0); }
  25% { transform: translateX(6px) rotate(-5deg); }
  50% { transform: translateX(0) rotate(3deg); }
  75% { transform: translateX(-4px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes pa-curtain {
  0% { transform: translateX(0) scaleX(1); opacity: .4; }
  50% { transform: translateX(-4px) scaleX(1.1); opacity: .8; }
  100% { transform: translateX(0) scaleX(1); opacity: .5; }
}
@keyframes pa-chest {
  0% { transform: scale(1) translateY(0); }
  50% { transform: scale(1.03) translateY(-2px); }
  100% { transform: scale(1) translateY(0); }
}

/* Scene: semiramis-story (dim interior, warm) */
.scn-semiramis-story {
  background:
    linear-gradient(180deg, #2c1a0e 0%, #4a2c1a 40%, #3a1e0e 100%),
    radial-gradient(ellipse at 50% 80%, #6b3f1f 0%, transparent 60%);
}
.scn-semiramis-story .bg-wall { position:absolute; inset:0; background: linear-gradient(135deg, #2c1a0e 0%, #1f1108 100%); }
.scn-semiramis-story .throne { position:absolute; bottom:30%; left:50%; transform:translateX(-50%); width:120px; height:100px; background: linear-gradient(180deg, #8b5e3c 0%, #6b3f1f 100%); border-radius:12% 12% 8% 8%; box-shadow:0 8px 20px rgba(0,0,0,.6); animation: sem-throne 6s ease-in-out infinite alternate; }
.scn-semiramis-story .figure-queen { position:absolute; bottom:35%; left:50%; transform:translateX(-50%); width:30px; height:70px; background: radial-gradient(ellipse at 50% 20%, #d4a373 0%, #a0603a 50%, #5e2e14 100%); border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; animation: sem-queen 5s ease-in-out infinite alternate; }
.scn-semiramis-story .figure-king { position:absolute; bottom:20%; left:38%; width:40px; height:50px; background: linear-gradient(180deg, #3a2010 0%, #1f0f05 100%); border-radius:50% 50% 30% 30% / 40% 40% 30% 30%; transform-origin:bottom center; animation: sem-king 4s ease-in-out infinite; }
.scn-semiramis-story .torch-1 { position:absolute; bottom:25%; left:25%; width:8px; height:30px; background: linear-gradient(180deg, #7a4a1a 0%, #3a1e0e 100%); border-radius:2px; box-shadow:0 -10px 20px 5px #e8a040; animation: sem-torch 1.5s ease-in-out infinite alternate; }
.scn-semiramis-story .torch-2 { position:absolute; bottom:25%; right:25%; width:8px; height:30px; background: linear-gradient(180deg, #7a4a1a 0%, #3a1e0e 100%); border-radius:2px; box-shadow:0 -10px 20px 5px #e8a040; animation: sem-torch 1.8s ease-in-out infinite alternate-reverse; }
@keyframes sem-throne {
  0% { transform:translateX(-50%) scale(1); }
  50% { transform:translateX(-50%) scale(1.005); }
  100% { transform:translateX(-50%) scale(1); }
}
@keyframes sem-queen {
  0% { transform:translateX(-50%) rotate(-1deg); }
  50% { transform:translateX(-50%) rotate(1deg) translateY(-2px); }
  100% { transform:translateX(-50%) rotate(0deg); }
}
@keyframes sem-king {
  0% { transform:translateX(0) scaleY(1); }
  25% { transform:translateX(2px) scaleY(0.98); }
  75% { transform:translateX(-2px) scaleY(1.02); }
  100% { transform:translateX(0) scaleY(1); }
}
@keyframes sem-torch {
  0% { opacity:0.8; box-shadow:0 -8px 16px 3px #d48030; }
  50% { opacity:1; box-shadow:0 -12px 24px 6px #f0a040; }
  100% { opacity:0.85; box-shadow:0 -10px 20px 4px #d48030; }
}

/* Scene: belestiche-phryne (dim interior, warm, temple) */
.scn-belestiche-phryne {
  background:
    linear-gradient(180deg, #2e1e12 0%, #4a3120 40%, #3a2518 100%),
    radial-gradient(ellipse at 50% 90%, #7a5530 0%, transparent 70%);
}
.scn-belestiche-phryne .bg-columns { position:absolute; inset:0; background: repeating-linear-gradient(90deg, #5a3a1e 0px, #5a3a1e 12px, #7a4a2a 12px, #7a4a2a 14px, transparent 14px, transparent 40px); animation: bel-columns 20s linear infinite; }
.scn-belestiche-phryne .pedestal { position:absolute; bottom:20%; left:50%; transform:translateX(-50%); width:60px; height:40px; background: linear-gradient(180deg, #8b6b4a 0%, #5a3a1e 100%); border-radius:10% 10% 4% 4%; box-shadow:0 6px 14px rgba(0,0,0,.5); }
.scn-belestiche-phryne .figure-idol { position:absolute; bottom:28%; left:50%; transform:translateX(-50%); width:28px; height:70px; background: radial-gradient(ellipse at 50% 15%, #b8825a 0%, #7a5530 50%, #4a2a14 100%); border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; animation: bel-idol 8s ease-in-out infinite alternate; }
.scn-belestiche-phryne .altar { position:absolute; bottom:15%; left:50%; transform:translateX(-50%); width:80px; height:20px; background: linear-gradient(180deg, #6b4a28 0%, #4a2e16 100%); border-radius:6px; box-shadow:0 4px 10px rgba(0,0,0,.4); }
.scn-belestiche-phryne .candle-1 { position:absolute; bottom:18%; left:40%; width:6px; height:18px; background: linear-gradient(180deg, #e8c080 0%, #c09050 100%); border-radius:2px; box-shadow:0 -6px 12px 2px #f0b860; animation: bel-candle 2s ease-in-out infinite alternate; }
.scn-belestiche-phryne .candle-2 { position:absolute; bottom:18%; right:40%; width:6px; height:18px; background: linear-gradient(180deg, #e8c080 0%, #c09050 100%); border-radius:2px; box-shadow:0 -6px 12px 2px #f0b860; animation: bel-candle 2.3s ease-in-out infinite alternate-reverse; }
.scn-belestiche-phryne .smoke { position:absolute; bottom:35%; left:42%; width:20px; height:40px; background: radial-gradient(ellipse at 50% 0%, rgba(200,180,150,0.3) 0%, transparent 70%); filter:blur(4px); animation: bel-smoke 6s ease-in-out infinite; }
@keyframes bel-columns {
  0% { background-position:0 0; }
  100% { background-position:-40px 0; }
}
@keyframes bel-idol {
  0% { transform:translateX(-50%) rotate(-2deg); }
  50% { transform:translateX(-50%) rotate(2deg) translateY(-1px); }
  100% { transform:translateX(-50%) rotate(-1deg); }
}
@keyframes bel-candle {
  0% { box-shadow:0 -4px 8px 1px #e0a040; opacity:0.9; transform:scaleY(1); }
  50% { box-shadow:0 -8px 16px 3px #f0c060; opacity:1; transform:scaleY(1.05); }
  100% { box-shadow:0 -5px 10px 1px #e0a040; opacity:0.95; transform:scaleY(1); }
}
@keyframes bel-smoke {
  0% { transform:translateY(0) scaleX(1); opacity:0.2; }
  50% { transform:translateY(-20px) scaleX(1.5); opacity:0; }
  100% { transform:translateY(0) scaleX(1); opacity:0.2; }
}

/* Scene: husband-abases-wife-foolish (calm dim interior) */
.scn-husband-abases-wife-foolish {
  background:
    linear-gradient(180deg, #212a30 0%, #1a1f24 40%, #14181c 100%),
    radial-gradient(ellipse at 50% 60%, #2a3a40 0%, transparent 70%);
}
.scn-husband-abases-wife-foolish .bg-room { position:absolute; inset:0; background: linear-gradient(135deg, #1c2428 0%, #0f1416 100%); }
.scn-husband-abases-wife-foolish .window { position:absolute; top:10%; right:10%; width:80px; height:100px; background: linear-gradient(180deg, #3a4a50 0%, #1a2a30 100%); border-radius:8px 8px 4px 4px; box-shadow:inset 0 0 30px rgba(0,0,0,.4); animation: haw-window 12s ease-in-out infinite alternate; }
.scn-husband-abases-wife-foolish .man-hand { position:absolute; bottom:40%; left:30%; width:24px; height:40px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin:80% 90%; animation: haw-hand 4s ease-in-out infinite; }
.scn-husband-abases-wife-foolish .woman-figure { position:absolute; bottom:30%; right:25%; width:22px; height:50px; background: radial-gradient(ellipse at 50% 20%, #7a6a5a 0%, #3a2a1a 100%); border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; animation: haw-woman 6s ease-in-out infinite alternate; }
.scn-husband-abases-wife-foolish .horse-figure { position:absolute; bottom:15%; right:15%; width:50px; height:30px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:40% 20% 20% 40% / 60% 40% 40% 60%; animation: haw-horse 8s ease-in-out infinite; }
.scn-husband-abases-wife-foolish .ring-object { position:absolute; bottom:38%; left:32%; width:10px; height:10px; background: radial-gradient(circle, #c0b060 0%, #807040 100%); border-radius:50%; box-shadow:0 0 6px 2px #a09050; animation: haw-ring 4s ease-in-out infinite alternate; }
.scn-husband-abases-wife-foolish .curtain { position:absolute; top:0; right:0; width:20px; height:100%; background: linear-gradient(135deg, #3a2a1a 0%, #1a0f0a 100%); animation: haw-curtain 10s ease-in-out infinite alternate; }
@keyframes haw-window {
  0% { opacity:0.7; transform:scaleX(1); }
  50% { opacity:0.9; transform:scaleX(1.02); }
  100% { opacity:0.75; transform:scaleX(1); }
}
@keyframes haw-hand {
  0% { transform:rotate(10deg); }
  25% { transform:rotate(5deg) scaleY(0.98); }
  75% { transform:rotate(15deg) scaleY(1.02); }
  100% { transform:rotate(10deg); }
}
@keyframes haw-woman {
  0% { transform:translateY(0) rotate(-1deg); }
  50% { transform:translateY(-3px) rotate(1deg); }
  100% { transform:translateY(0) rotate(-1deg); }
}
@keyframes haw-horse {
  0% { transform:translateY(0) scaleX(1); }
  50% { transform:translateY(-2px) scaleX(0.98); }
  100% { transform:translateY(0) scaleX(1); }
}
@keyframes haw-ring {
  0% { transform:scale(1); box-shadow:0 0 4px 1px #a09050; }
  50% { transform:scale(1.15); box-shadow:0 0 10px 3px #c0b060; }
  100% { transform:scale(1); box-shadow:0 0 4px 1px #a09050; }
}
@keyframes haw-curtain {
  0% { transform:translateX(0); }
  50% { transform:translateX(-5px); }
  100% { transform:translateX(0); }
}

/* Scene: select-wife-for-excellence (bright interior, warm) */
.scn-select-wife-for-excellence {
  background:
    linear-gradient(180deg, #f5e8d0 0%, #e8d4b0 30%, #d4b890 100%),
    radial-gradient(ellipse at 80% 20%, #f0e0c0 0%, transparent 60%);
}
.scn-select-wife-for-excellence .bg-window { position:absolute; top:0; left:10%; width:80%; height:60%; background: linear-gradient(180deg, #e0f0ff 0%, #c0d8f0 100%); border-radius:0 0 40% 40% / 0 0 20% 20%; box-shadow:inset 0 10px 40px rgba(0,0,0,.1); animation: sel-window 15s ease-in-out infinite alternate; }
.scn-select-wife-for-excellence .curtain-left { position:absolute; top:0; left:8%; width:12%; height:100%; background: linear-gradient(135deg, #d4b890 0%, #b89870 100%); border-radius:0 20% 20% 0; animation: sel-curtain 10s ease-in-out infinite alternate; }
.scn-select-wife-for-excellence .curtain-right { position:absolute; top:0; right:8%; width:12%; height:100%; background: linear-gradient(225deg, #d4b890 0%, #b89870 100%); border-radius:20% 0 0 20%; animation: sel-curtain 10s ease-in-out infinite alternate-reverse; }
.scn-select-wife-for-excellence .young-man { position:absolute; bottom:20%; left:30%; width:28px; height:60px; background: radial-gradient(ellipse at 50% 20%, #c8b098 0%, #9a7a5a 50%, #6a4a2a 100%); border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; animation: sel-man 5s ease-in-out infinite alternate; }
.scn-select-wife-for-excellence .young-woman { position:absolute; bottom:20%; right:30%; width:26px; height:58px; background: radial-gradient(ellipse at 50% 20%, #d4b8a0 0%, #a88868 50%, #7a5a3a 100%); border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; animation: sel-woman 6s ease-in-out infinite alternate; }
.scn-select-wife-for-excellence .dowry-chest { position:absolute; bottom:10%; left:50%; transform:translateX(-50%); width:60px; height:40px; background: linear-gradient(180deg, #a08060 0%, #7a5a3a 100%); border-radius:8% 8% 4% 4%; box-shadow:0 6px 12px rgba(0,0,0,.3); animation: sel-chest 8s ease-in-out infinite; }
.scn-select-wife-for-excellence .sunbeam { position:absolute; top:0; left:30%; width:40%; height:100%; background: linear-gradient(180deg, rgba(255,255,200,0.6) 0%, transparent 100%); clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%); animation: sel-sunbeam 12s ease-in-out infinite alternate; }
@keyframes sel-window {
  0% { opacity:0.85; }
  50% { opacity:1; }
  100% { opacity:0.9; }
}
@keyframes sel-curtain {
  0% { transform:scaleX(1); }
  50% { transform:scaleX(1.05); }
  100% { transform:scaleX(1); }
}
@keyframes sel-man {
  0% { transform:translateY(0) rotate(-1deg); }
  50% { transform:translateY(-2px) rotate(1deg); }
  100% { transform:translateY(0) rotate(-1deg); }
}
@keyframes sel-woman {
  0% { transform:translateY(0) rotate(1deg); }
  50% { transform:translateY(-3px) rotate(-1deg); }
  100% { transform:translateY(0) rotate(1deg); }
}
@keyframes sel-chest {
  0% { transform:translateX(-50%) scaleY(1); }
  50% { transform:translateX(-50%) scaleY(1.02); }
  100% { transform:translateX(-50%) scaleY(1); }
}
@keyframes sel-sunbeam {
  0% { opacity:0.4; transform:skewX(-5deg); }
  50% { opacity:0.8; transform:skewX(0deg); }
  100% { opacity:0.5; transform:skewX(5deg); }
}

/* education-trees-pruning – warm, overcast */
.scn-education-trees-pruning {
  background:
    linear-gradient(180deg, #b8a58c 0%, #7d6b54 40%, #4a3d2e 100%),
    radial-gradient(ellipse at 50% 100%, #5c4a38 0%, transparent 70%);
}
.scn-education-trees-pruning .sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #c9b8a4 0%, #a08874 60%, transparent 100%);
  animation: etp-sky 20s ease-in-out infinite alternate;
}
.scn-education-trees-pruning .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2e24 100%);
  border-radius: 40% 60% 0 0 / 30% 20% 0 0;
  animation: etp-ground 12s ease-in-out infinite alternate;
}
.scn-education-trees-pruning .trunk {
  position: absolute; bottom: 30%; left: 40%; width: 12%; height: 35%;
  background: linear-gradient(120deg, #4a362a, #2e221c);
  border-radius: 20% 20% 10% 10%;
  transform-origin: bottom center;
  animation: etp-trunk 15s ease-in-out infinite;
}
.scn-education-trees-pruning .branch-l {
  position: absolute; bottom: 50%; left: 36%; width: 14%; height: 4%;
  background: linear-gradient(90deg, #4a362a, #3a281e);
  border-radius: 40% 60% 40% 40%;
  transform: rotate(-20deg); transform-origin: right center;
  animation: etp-branch 8s ease-in-out infinite alternate;
}
.scn-education-trees-pruning .branch-r {
  position: absolute; bottom: 45%; left: 50%; width: 18%; height: 3.5%;
  background: linear-gradient(90deg, #4a362a, #3a281e);
  border-radius: 60% 40% 40% 40%;
  transform: rotate(25deg); transform-origin: left center;
  animation: etp-branch 10s ease-in-out infinite alternate-reverse;
}
.scn-education-trees-pruning .person {
  position: absolute; bottom: 30%; left: 55%; width: 8%; height: 20%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2e24 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: etp-person 6s ease-in-out infinite;
}
.scn-education-trees-pruning .shears {
  position: absolute; bottom: 44%; left: 57%; width: 4%; height: 2%;
  background: linear-gradient(90deg, #8a7a5a, #6a5a3a);
  border-radius: 20% 20% 20% 20%;
  transform: rotate(-30deg);
  animation: etp-shears 6s ease-in-out infinite;
}
.scn-education-trees-pruning .leaf-a {
  position: absolute; top: 35%; left: 30%; width: 6%; height: 4%;
  background: radial-gradient(circle, #7a8a5a 0%, #4a5a3a 100%);
  border-radius: 50%;
  filter: blur(2px);
  animation: etp-leaf 14s ease-in-out infinite alternate;
}
.scn-education-trees-pruning .leaf-b {
  position: absolute; top: 28%; left: 48%; width: 5%; height: 3%;
  background: radial-gradient(circle, #6a7a4a 0%, #3a4a2a 100%);
  border-radius: 50%;
  filter: blur(3px);
  animation: etp-leaf 18s ease-in-out infinite alternate-reverse;
}
@keyframes etp-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes etp-ground { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes etp-trunk { 0%,100% { transform: scale(1); } 50% { transform: scale(1.01, 1.02); } }
@keyframes etp-branch { 0% { transform: rotate(-20deg) translateX(0); } 50% { transform: rotate(-15deg) translateX(3px); } 100% { transform: rotate(-20deg) translateX(0); } }
@keyframes etp-person { 0% { transform: translateY(0) rotate(-2deg); } 25% { transform: translateY(-3px) rotate(1deg); } 50% { transform: translateY(-1px) rotate(2deg); } 75% { transform: translateY(-2px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes etp-shears { 0%,100% { transform: rotate(-30deg) translateY(0); } 50% { transform: rotate(-20deg) translateY(-2px); } }
@keyframes etp-leaf { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 33% { transform: translateX(10px) translateY(-5px) rotate(40deg); } 66% { transform: translateX(5px) translateY(3px) rotate(20deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }

/* education-savagest-animals – tense, dim interior */
.scn-education-savagest-animals {
  background:
    linear-gradient(145deg, #1a1a2e 0%, #2a2a3e 40%, #16161f 100%),
    radial-gradient(ellipse at 60% 70%, #3a3a4e 0%, transparent 60%);
}
.scn-education-savagest-animals .wall-bg {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #2a2a3e 0%, #12121a 100%);
  animation: esa-wall 15s ease-in-out infinite alternate;
}
.scn-education-savagest-animals .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #3a2e24, #1e1612);
  box-shadow: inset 0 12px 20px rgba(0,0,0,0.6);
  animation: esa-floor 8s ease-in-out infinite alternate;
}
.scn-education-savagest-animals .lamp {
  position: absolute; top: 12%; left: 70%; width: 10%; height: 25%;
  background: linear-gradient(180deg, #6a5a3a 0%, #3a2e1e 100%);
  border-radius: 10% 10% 30% 30%;
  box-shadow: -8px 0 30px rgba(180,140,80,0.3);
  animation: esa-lamp 4s ease-in-out infinite alternate;
}
.scn-education-savagest-animals .shadow {
  position: absolute; bottom: 18%; left: 20%; width: 50%; height: 30%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.7) 0%, transparent 70%);
  animation: esa-shadow 6s ease-in-out infinite alternate;
}
.scn-education-savagest-animals .trainer {
  position: absolute; bottom: 18%; left: 30%; width: 12%; height: 28%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: esa-trainer 3s ease-in-out infinite;
}
.scn-education-savagest-animals .beast {
  position: absolute; bottom: 10%; left: 45%; width: 20%; height: 25%;
  background: linear-gradient(180deg, #3a2a1e 0%, #1a100a 100%);
  border-radius: 60% 40% 30% 50% / 50% 30% 60% 40%;
  animation: esa-beast 3s ease-in-out infinite alternate;
}
.scn-education-savagest-animals .chain {
  position: absolute; bottom: 30%; left: 40%; width: 18%; height: 2%;
  background: repeating-linear-gradient(90deg, #5a4a3a 0, #5a4a3a 4px, transparent 4px, transparent 8px);
  border-radius: 50%;
  animation: esa-chain 0.8s linear infinite;
}
@keyframes esa-wall { 0% { opacity: 0.6; } 100% { opacity: 1; } }
@keyframes esa-floor { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes esa-lamp { 0% { box-shadow: -8px 0 20px rgba(180,140,80,0.2); } 50% { box-shadow: -8px 0 40px rgba(180,140,80,0.6); } 100% { box-shadow: -8px 0 20px rgba(180,140,80,0.2); } }
@keyframes esa-shadow { 0% { transform: scale(1) translateY(0); opacity: 0.8; } 100% { transform: scale(1.2) translateY(-10px); opacity: 1; } }
@keyframes esa-trainer { 0% { transform: translateX(0) rotate(0deg); } 20% { transform: translateX(5px) rotate(3deg); } 40% { transform: translateX(-3px) rotate(-2deg); } 60% { transform: translateX(4px) rotate(2deg); } 80% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes esa-beast { 0% { transform: translateX(0) scale(1) rotate(0deg); } 25% { transform: translateX(15px) scale(1.02) rotate(5deg); } 50% { transform: translateX(0) scale(0.98) rotate(-3deg); } 75% { transform: translateX(-10px) scale(1.01) rotate(-5deg); } 100% { transform: translateX(0) scale(1) rotate(0deg); } }
@keyframes esa-chain { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(2px) rotate(5deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(-2px) rotate(-5deg); } 100% { transform: translateX(0) rotate(0deg); } }

/* education-lycurgus-puppies – funny, bright interior */
.scn-education-lycurgus-puppies {
  background:
    linear-gradient(180deg, #f0e8d8 0%, #d8c8b0 40%, #b8a088 100%),
    radial-gradient(ellipse at 50% 50%, #fff8e8 0%, transparent 60%);
}
.scn-education-lycurgus-puppies .room-bg {
  position: absolute; inset: 0 0 10% 0;
  background: linear-gradient(180deg, #f5efd8 0%, #e0d4c0 100%);
  animation: elp-room 20s ease-in-out infinite alternate;
}
.scn-education-lycurgus-puppies .couch {
  position: absolute; bottom: 10%; left: 15%; width: 35%; height: 25%;
  background: linear-gradient(135deg, #c8b898, #a8906a);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.2);
  animation: elp-couch 4s ease-in-out infinite alternate;
}
.scn-education-lycurgus-puppies .bowl {
  position: absolute; bottom: 18%; left: 55%; width: 10%; height: 8%;
  background: radial-gradient(circle, #8a7a5a, #6a5a3a);
  border-radius: 50%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: elp-bowl 6s ease-in-out infinite;
}
.scn-education-lycurgus-puppies .toy {
  position: absolute; bottom: 25%; left: 70%; width: 6%; height: 6%;
  background: radial-gradient(circle, #d85858 0%, #b83838 100%);
  border-radius: 40% 60% 60% 40%;
  animation: elp-toy 3s ease-in-out infinite alternate;
}
.scn-education-lycurgus-puppies .puppy-lazy {
  position: absolute; bottom: 10%; left: 20%; width: 14%; height: 12%;
  background: radial-gradient(ellipse, #d8c898 0%, #b89868 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: elp-lazy 5s ease-in-out infinite;
}
.scn-education-lycurgus-puppies .puppy-hunt {
  position: absolute; bottom: 8%; left: 40%; width: 12%; height: 14%;
  background: linear-gradient(180deg, #b89070 0%, #9a7050 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 60% 60%;
  animation: elp-hunt 2s ease-in-out infinite;
}
.scn-education-lycurgus-puppies .paw-print {
  position: absolute; bottom: 2%; left: 30%; width: 30%; height: 4%;
  background: repeating-conic-gradient(#6a5a3a 0deg 30deg, transparent 30deg 60deg);
  border-radius: 50%;
  filter: blur(2px);
  animation: elp-paw 1.5s steps(2) infinite;
}
@keyframes elp-room { 0% { opacity: 0.9; } 100% { opacity: 1; } }
@keyframes elp-couch { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-3px) scale(1.01); } 100% { transform: translateY(0) scale(1); } }
@keyframes elp-bowl { 0%,100% { transform: translate(0, 0) rotate(0deg); } 50% { transform: translate(2px, -2px) rotate(5deg); } }
@keyframes elp-toy { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 30% { transform: translateX(8px) translateY(-5px) rotate(30deg); } 60% { transform: translateX(2px) translateY(2px) rotate(-10deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }
@keyframes elp-lazy { 0% { transform: rotate(0deg) scale(1); } 20% { transform: rotate(5deg) scale(1.02); } 40% { transform: rotate(-3deg) scale(0.98); } 60% { transform: rotate(4deg) scale(1.01); } 80% { transform: rotate(-2deg) scale(0.99); } 100% { transform: rotate(0deg) scale(1); } }
@keyframes elp-hunt { 0% { transform: translateX(0) translateY(0) rotate(-5deg); } 25% { transform: translateX(20px) translateY(-8px) rotate(0deg); } 50% { transform: translateX(40px) translateY(-4px) rotate(5deg); } 75% { transform: translateX(60px) translateY(-8px) rotate(0deg); } 100% { transform: translateX(80px) translateY(0) rotate(-5deg); } }
@keyframes elp-paw { 0% { opacity: 0; } 50% { opacity: 0.5; } 100% { opacity: 0; } }

/* item-puppies-demonstration – tense, bright interior */
.scn-item-puppies-demonstration {
  background:
    linear-gradient(180deg, #f5f0e0 0%, #dfd0b8 40%, #b8a890 100%),
    radial-gradient(ellipse at 50% 0%, rgba(255,255,240,0.4) 0%, transparent 70%);
}
.scn-item-puppies-demonstration .floor-bright {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #c8b8a8, #a09078);
  animation: ipd-floor 10s ease-in-out infinite alternate;
}
.scn-item-puppies-demonstration .table {
  position: absolute; bottom: 25%; left: 25%; width: 40%; height: 10%;
  background: linear-gradient(180deg, #8a7a5a, #6a5a3a);
  border-radius: 4% 4% 8% 8%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.3);
  animation: ipd-table 4s ease-in-out infinite;
}
.scn-item-puppies-demonstration .platter {
  position: absolute; bottom: 28%; left: 45%; width: 12%; height: 4%;
  background: radial-gradient(ellipse, #c8b898 0%, #a09070 100%);
  border-radius: 50%;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.2);
  animation: ipd-platter 3s ease-in-out infinite alternate;
}
.scn-item-puppies-demonstration .hare {
  position: absolute; bottom: 30%; left: 48%; width: 8%; height: 6%;
  background: radial-gradient(ellipse at 50% 40%, #8a7a5a 0%, #5a4a3a 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 60% 60%;
  animation: ipd-hare 2s ease-in-out infinite alternate;
}
.scn-item-puppies-demonstration .puppy-food {
  position: absolute; bottom: 10%; left: 30%; width: 14%; height: 12%;
  background: linear-gradient(180deg, #b8a088 0%, #8a7058 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  animation: ipd-food 1.5s ease-in-out infinite;
}
.scn-item-puppies-demonstration .puppy-prey {
  position: absolute; bottom: 12%; left: 55%; width: 16%; height: 13%;
  background: linear-gradient(180deg, #a08870 0%, #705840 100%);
  border-radius: 50% 50% 40% 40% / 50% 50% 50% 50%;
  animation: ipd-prey 1.2s ease-in-out infinite alternate;
}
.scn-item-puppies-demonstration .dust {
  position: absolute; bottom: 20%; left: 40%; width: 20%; height: 5%;
  background: radial-gradient(ellipse, rgba(180,160,140,0.4) 0%, transparent 100%);
  filter: blur(6px);
  animation: ipd-dust 0.6s steps(2) infinite;
}
@keyframes ipd-floor { 0% { opacity: 0.8; } 100% { opacity: 1; } }
@keyframes ipd-table { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes ipd-platter { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(3px) rotate(3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes ipd-hare { 0% { transform: scale(1) rotate(0deg); } 25% { transform: scale(0.95) rotate(-5deg); } 50% { transform: scale(1.02) rotate(2deg); } 75% { transform: scale(0.98) rotate(-2deg); } 100% { transform: scale(1) rotate(0deg); } }
@keyframes ipd-food { 0% { transform: translateX(0) rotate(0deg); } 20% { transform: translateX(20px) rotate(8deg); } 40% { transform: translateX(40px) rotate(0deg); } 60% { transform: translateX(60px) rotate(-5deg); } 80% { transform: translateX(80px) rotate(3deg); } 100% { transform: translateX(100px) rotate(0deg); } }
@keyframes ipd-prey { 0% { transform: translateX(0) translateY(0) rotate(-3deg); } 25% { transform: translateX(-15px) translateY(-5px) rotate(0deg); } 50% { transform: translateX(-30px) translateY(2px) rotate(5deg); } 75% { transform: translateX(-15px) translateY(-3px) rotate(0deg); } 100% { transform: translateX(0) translateY(0) rotate(-3deg); } }
@keyframes ipd-dust { 0% { opacity: 0; } 50% { opacity: 0.3; } 100% { opacity: 0; } }

.scn-nutrition-habits-early { background: linear-gradient(180deg, #3e2a1a 0%, #2a1a0a 50%, #1a0f05 100%), radial-gradient(ellipse at 30% 70%, #5a3a1a 0%, transparent 60%); }
.scn-nutrition-habits-early .wall-bg { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #4a3020 0%, transparent 100%); animation: nh-wall 12s ease-in-out infinite alternate; }
.scn-nutrition-habits-early .floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0f05 100%); border-radius: 60% 40% 0 0 / 30% 20% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,.6); }
.scn-nutrition-habits-early .hearth-glow { position:absolute; bottom:20%; left:20%; width:40%; height:25%; background: radial-gradient(ellipse at 50% 100%, #c08040 0%, transparent 70%); box-shadow: 0 0 60px 30px rgba(192,128,64,.3); animation: nh-hearth 4s ease-in-out infinite alternate; }
.scn-nutrition-habits-early .mother { position:absolute; bottom:15%; left:35%; width:28px; height:60px; background: linear-gradient(180deg, #4a3020 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: nh-reach 6s ease-in-out infinite; }
.scn-nutrition-habits-early .baby { position:absolute; bottom:18%; left:40%; width:18px; height:24px; background: linear-gradient(180deg, #5a4030 0%, #3a2820 100%); border-radius: 50% 50% 40% 40%; animation: nh-cradle 6s ease-in-out infinite; }
.scn-nutrition-habits-early .cradle { position:absolute; bottom:16%; left:38%; width:40px; height:12px; background: linear-gradient(180deg, #6a4a2a 0%, #3a2818 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 4px 8px rgba(0,0,0,.4); animation: nh-rock 6s ease-in-out infinite; }
@keyframes nh-wall { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes nh-hearth { 0% { opacity:.5; transform: scale(1) } 50% { opacity:.9; transform: scale(1.1) } 100% { opacity:.7; transform: scale(1.05) } }
@keyframes nh-reach { 0% { transform: translateY(0) rotate(-2deg) } 25% { transform: translateY(-3px) rotate(0deg) } 50% { transform: translateY(-1px) rotate(2deg) } 75% { transform: translateY(-4px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes nh-cradle { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes nh-rock { 0%,100% { transform: rotate(-3deg) } 50% { transform: rotate(3deg) } }

.scn-nutrition-wax-instruction { background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 50%, #1a0f05 100%), radial-gradient(ellipse at 50% 30%, #6a4a2a 0%, transparent 70%); }
.scn-nutrition-wax-instruction .desk { position:absolute; bottom:8%; left:15%; right:15%; height:30%; background: linear-gradient(180deg, #5a3a20 0%, #3a2810 100%); border-radius: 5% 5% 0 0; box-shadow: inset 0 8px 12px rgba(0,0,0,.5); }
.scn-nutrition-wax-instruction .candle-glow { position:absolute; bottom:40%; left:35%; width:10px; height:30px; background: radial-gradient(ellipse at 50% 100%, #e0a050 0%, transparent 80%); box-shadow: 0 0 40px 20px rgba(224,160,80,.4); animation: nw-candle 5s ease-in-out infinite alternate; }
.scn-nutrition-wax-instruction .wax-tablet { position:absolute; bottom:20%; left:40%; width:60px; height:40px; background: linear-gradient(135deg, #d4b080 0%, #b09060 100%); border-radius: 3px; box-shadow: 0 4px 8px rgba(0,0,0,.3); animation: nw-tablet 20s ease-in-out infinite; }
.scn-nutrition-wax-instruction .seal-hand { position:absolute; bottom:35%; left:45%; width:20px; height:40px; background: linear-gradient(180deg, #6a4030 0%, #3a2010 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: nw-press 6s ease-in-out infinite; }
.scn-nutrition-wax-instruction .scroll { position:absolute; bottom:15%; left:20%; width:30px; height:50px; background: linear-gradient(180deg, #c8a070 0%, #a08050 100%); border-radius: 0 10% 10% 0 / 0 30% 30% 0; transform: rotate(10deg); animation: nw-roll 30s linear infinite; }
.scn-nutrition-wax-instruction .shadow { position:absolute; bottom:0; left:0; right:0; height:15%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.6) 100%); animation: nw-shadow 8s ease-in-out infinite alternate; }
@keyframes nw-candle { 0% { opacity:.7; transform: scaleY(1) } 50% { opacity:1; transform: scaleY(1.05) } 100% { opacity:.85; transform: scaleY(.95) } }
@keyframes nw-tablet { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes nw-press { 0% { transform: rotate(0deg) translateY(0) } 30% { transform: rotate(2deg) translateY(-5px) } 60% { transform: rotate(-1deg) translateY(-8px) } 100% { transform: rotate(0deg) translateY(0) } }
@keyframes nw-roll { 0% { transform: translateX(0) rotate(10deg) } 100% { transform: translateX(-20px) rotate(10deg) } }
@keyframes nw-shadow { 0% { opacity:.5 } 50% { opacity:1 } 100% { opacity:.7 } }

.scn-lads-attendants-greek { background: linear-gradient(135deg, #d4c8a8 0%, #f0e6c0 50%, #c8b090 100%), radial-gradient(circle at 50% 20%, #ffe8c0 0%, transparent 50%); }
.scn-lads-attendants-greek .col-left { position:absolute; left:10%; top:0; bottom:0; width:5%; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%); border-radius: 5% 5% 0 0; box-shadow: 4px 0 8px rgba(0,0,0,.2); }
.scn-lads-attendants-greek .col-right { position:absolute; right:10%; top:0; bottom:0; width:5%; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%); border-radius: 5% 5% 0 0; box-shadow: -4px 0 8px rgba(0,0,0,.2); }
.scn-lads-attendants-greek .sun-rays { position:absolute; top:0; left:35%; right:35%; height:100%; background: linear-gradient(180deg, rgba(255,242,200,.4) 0%, transparent 50%, rgba(255,242,200,.1) 100%); clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%); animation: la-rays 15s ease-in-out infinite alternate; }
.scn-lads-attendants-greek .tutor { position:absolute; bottom:20%; left:25%; width:30px; height:70px; background: linear-gradient(180deg, #4a5a5a 0%, #2a3a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: 2px 0 6px rgba(0,0,0,.2); animation: la-stance 8s ease-in-out infinite; }
.scn-lads-attendants-greek .lad-1 { position:absolute; bottom:20%; left:40%; width:20px; height:40px; background: linear-gradient(180deg, #6a7a5a 0%, #4a5a3a 100%); border-radius: 50% 50% 40% 40%; transform-origin: bottom center; animation: la-fidget 6s ease-in-out infinite; }
.scn-lads-attendants-greek .lad-2 { position:absolute; bottom:20%; right:30%; width:20px; height:40px; background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); border-radius: 50% 50% 40% 40%; transform-origin: bottom center; animation: la-fidget 6s ease-in-out infinite reverse; animation-delay: -2s; }
.scn-lads-attendants-greek .desk { position:absolute; bottom:15%; left:30%; right:30%; height:10%; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%); border-radius: 5% 5% 0 0; box-shadow: inset 0 2px 4px rgba(0,0,0,.3); }
@keyframes la-rays { 0% { opacity:.6; transform: skewX(5deg) } 50% { opacity:1; transform: skewX(-3deg) } 100% { opacity:.7; transform: skewX(2deg) } }
@keyframes la-stance { 0% { transform: translateY(0) rotate(0deg) } 30% { transform: translateY(-2px) rotate(-1deg) } 60% { transform: translateY(-4px) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes la-fidget { 0% { transform: translateY(0) rotate(-3deg) } 25% { transform: translateY(-1px) rotate(2deg) } 50% { transform: translateY(-2px) rotate(-1deg) } 75% { transform: translateY(0) rotate(3deg) } 100% { transform: translateY(0) rotate(-2deg) } }

.scn-tutors-slaves-reject { background: linear-gradient(180deg, #3a1a10 0%, #1a0a05 50%, #0f0500 100%), radial-gradient(ellipse at 50% 80%, #5e2a1a 0%, transparent 50%); }
.scn-tutors-slaves-reject .wall-bg { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a1410 0%, transparent 100%); animation: ts-wall 10s ease-in-out infinite alternate; }
.scn-tutors-slaves-reject .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #1a0a05 0%, #0f0500 100%); border-radius: 30% 70% 0 0 / 20% 40% 0 0; }
.scn-tutors-slaves-reject .lantern-glow { position:absolute; bottom:40%; left:50%; transform:translateX(-50%); width:12px; height:20px; background: radial-gradient(ellipse at 50% 80%, #d08050 0%, transparent 80%); box-shadow: 0 0 30px 15px rgba(208,128,80,.5); animation: ts-lantern 4s ease-in-out infinite alternate; }
.scn-tutors-slaves-reject .tutor-figure { position:absolute; bottom:20%; left:30%; width:28px; height:65px; background: linear-gradient(180deg, #3a2a2a 0%, #1a1010 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: 0 0 8px rgba(0,0,0,.5); animation: ts-reject 7s ease-in-out infinite; }
.scn-tutors-slaves-reject .slave-figure { position:absolute; bottom:18%; right:25%; width:24px; height:55px; background: linear-gradient(180deg, #5a3a2a 0%, #3a1a10 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: 0 0 6px rgba(0,0,0,.4); animation: ts-cower 8s ease-in-out infinite; }
.scn-tutors-slaves-reject .door { position:absolute; bottom:10%; right:10%; width:25%; height:80%; background: linear-gradient(90deg, #3a2a1a 0%, #2a1a0a 50%, #3a2a1a 100%); border-radius: 3% 3% 0 0; box-shadow: inset -2px 0 4px rgba(0,0,0,.4); animation: ts-door 12s ease-in-out infinite; }
.scn-tutors-slaves-reject .chain { position:absolute; bottom:15%; left:45%; width:8%; height:2px; background: #6a4a3a; border-radius: 50%; box-shadow: 0 2px 2px rgba(0,0,0,.3); animation: ts-chain 3s ease-in-out infinite alternate; }
@keyframes ts-wall { 0% { opacity:.8 } 50% { opacity:.6 } 100% { opacity:.9 } }
@keyframes ts-lantern { 0% { opacity:.8; transform: translateX(-50%) scaleY(1) } 50% { opacity:1; transform: translateX(-50%) scaleY(1.1) } 100% { opacity:.7; transform: translateX(-50%) scaleY(.9) } }
@keyframes ts-reject { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-2px) rotate(-2deg) } 50% { transform: translateY(0) rotate(2deg) } 75% { transform: translateY(-3px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes ts-cower { 0%,100% { transform: translateX(0) translateY(0) rotate(0deg) } 30% { transform: translateX(-5px) translateY(-2px) rotate(-5deg) scaleY(.95) } 70% { transform: translateX(3px) translateY(-1px) rotate(3deg) scaleY(1) } }
@keyframes ts-door { 0%,100% { transform: scaleX(1) } 50% { transform: scaleX(0.98) } }
@keyframes ts-chain { 0% { transform: rotate(-5deg) } 100% { transform: rotate(5deg) } }

/* Scene 1: passions-conflict-apparent */
.scn-passions-conflict-apparent {
  background: linear-gradient(180deg, #ede7d5 0%, #d5cdb8 40%, #bab0a0 100%),
              radial-gradient(ellipse at 60% 30%, #f5f0e0 0%, transparent 60%);
}
.scn-passions-conflict-apparent .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #e8e0cc 0%, #d4ccb8 100%);
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.05);
}
.scn-passions-conflict-apparent .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #b8a88a 0%, #9a8a70 100%);
  border-radius: 4% 4% 0 0 / 8% 8% 0 0;
}
.scn-passions-conflict-apparent .window-frame {
  position: absolute; top: 12%; left: 55%; width: 100px; height: 140px;
  background: linear-gradient(135deg, #c8c0a8 0%, #a09880 100%);
  border-radius: 6% 6% 4% 4%;
  box-shadow: inset 0 0 0 6px #8a8068, 0 8px 24px rgba(0,0,0,0.12);
}
.scn-passions-conflict-apparent .window-light {
  position: absolute; top: 16%; left: 60%; width: 70px; height: 110px;
  background: radial-gradient(ellipse at center, #f5f0e8 0%, #e0d8c8 60%, #c8c0a8 100%);
  border-radius: 4%;
  box-shadow: 0 0 60px 20px rgba(245,240,232,0.3);
  animation: si-pca-glow 8s ease-in-out infinite alternate;
}
.scn-passions-conflict-apparent .desk {
  position: absolute; bottom: 20%; left: 25%; width: 160px; height: 24px;
  background: linear-gradient(180deg, #8a7658 0%, #6a5a40 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}
.scn-passions-conflict-apparent .figure-sitting {
  position: absolute; bottom: 18%; left: 28%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #3a3430 0%, #2a2420 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: si-pca-think 6s ease-in-out infinite alternate;
}
.scn-passions-conflict-apparent .book-left {
  position: absolute; bottom: 22%; left: 32%; width: 26px; height: 36px;
  background: linear-gradient(180deg, #8a6a4a 0%, #6a4a30 100%);
  border-radius: 2px 10px 10px 2px;
  transform: rotate(-15deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
.scn-passions-conflict-apparent .book-right {
  position: absolute; bottom: 23%; left: 48%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 10px 2px 2px 10px;
  transform: rotate(8deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
.scn-passions-conflict-apparent .dust-particles {
  position: absolute; top: 20%; left: 30%; width: 100%; height: 60%;
  background: radial-gradient(circle at 40% 30%, rgba(245,240,220,0.3) 0%, transparent 50%),
              radial-gradient(circle at 60% 50%, rgba(245,240,220,0.2) 0%, transparent 40%),
              radial-gradient(circle at 50% 70%, rgba(245,240,220,0.15) 0%, transparent 30%);
  filter: blur(4px);
  animation: si-pca-drift 20s ease-in-out infinite alternate;
}
@keyframes si-pca-glow { 0% { opacity: 0.7; box-shadow: 0 0 40px 10px rgba(245,240,232,0.2); } 50% { opacity: 1; box-shadow: 0 0 80px 30px rgba(245,240,232,0.4); } 100% { opacity: 0.8; box-shadow: 0 0 50px 15px rgba(245,240,232,0.25); } }
@keyframes si-pca-think { 0% { transform: translateX(0) rotate(-2deg); } 30% { transform: translateX(2px) rotate(1deg); } 60% { transform: translateX(-1px) rotate(-1deg); } 100% { transform: translateX(1px) rotate(0deg); } }
@keyframes si-pca-drift { 0% { transform: translateY(0) scale(1); opacity: 0.6; } 50% { transform: translateY(-15px) scale(1.05); opacity: 0.9; } 100% { transform: translateY(5px) scale(0.95); opacity: 0.7; } }

/* Scene 2: agreement-of-passion-reason */
.scn-agreement-of-passion-reason {
  background: linear-gradient(180deg, #f2e8d0 0%, #dcccac 40%, #c8b898 100%),
              radial-gradient(ellipse at 50% 40%, #f7eed8 0%, transparent 60%);
}
.scn-agreement-of-passion-reason .bg-warm {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(245,235,210,0.5) 0%, transparent 100%);
  animation: si-apl-warm 14s ease-in-out infinite alternate;
}
.scn-agreement-of-passion-reason .arch-left {
  position: absolute; top: 8%; left: 12%; width: 80px; height: 160px;
  border-radius: 50% 50% 0 0 / 70% 70% 0 0;
  background: linear-gradient(180deg, #c8b898 0%, #a89878 100%);
  box-shadow: inset -4px 0 12px rgba(0,0,0,0.1);
}
.scn-agreement-of-passion-reason .arch-right {
  position: absolute; top: 8%; right: 12%; width: 80px; height: 160px;
  border-radius: 50% 50% 0 0 / 70% 70% 0 0;
  background: linear-gradient(180deg, #c8b898 0%, #a89878 100%);
  box-shadow: inset 4px 0 12px rgba(0,0,0,0.1);
}
.scn-agreement-of-passion-reason .figure-left {
  position: absolute; bottom: 22%; left: 28%; width: 36px; height: 72px;
  background: linear-gradient(180deg, #4a3a32 0%, #2a221c 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: si-apl-approach-left 8s ease-in-out infinite alternate;
}
.scn-agreement-of-passion-reason .figure-right {
  position: absolute; bottom: 22%; right: 28%; width: 36px; height: 72px;
  background: linear-gradient(180deg, #4a3a32 0%, #2a221c 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: si-apl-approach-right 8s ease-in-out infinite alternate;
}
.scn-agreement-of-passion-reason .glow-center {
  position: absolute; top: 35%; left: 50%; width: 60px; height: 60px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, #f0d090 0%, #d4b060 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 100px 40px rgba(240,208,144,0.3);
  animation: si-apl-glowing 6s ease-in-out infinite alternate;
}
.scn-agreement-of-passion-reason .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 22%;
  background: linear-gradient(180deg, #b09878 0%, #908058 100%);
  border-radius: 30% 30% 0 0 / 50% 50% 0 0;
}
.scn-agreement-of-passion-reason .particles-gold {
  position: absolute; top: 20%; left: 10%; width: 80%; height: 60%;
  background: radial-gradient(circle at 30% 40%, rgba(240,208,144,0.15) 0%, transparent 30%),
              radial-gradient(circle at 70% 60%, rgba(240,208,144,0.1) 0%, transparent 25%),
              radial-gradient(circle at 50% 50%, rgba(240,208,144,0.08) 0%, transparent 35%);
  filter: blur(6px);
  animation: si-apl-particles 18s ease-in-out infinite alternate;
}
@keyframes si-apl-warm { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes si-apl-approach-left { 0% { transform: translateX(0) rotate(-3deg); opacity: 0.7; } 50% { transform: translateX(8px) rotate(0deg); opacity: 1; } 100% { transform: translateX(2px) rotate(-1deg); opacity: 0.8; } }
@keyframes si-apl-approach-right { 0% { transform: translateX(0) rotate(3deg); opacity: 0.7; } 50% { transform: translateX(-8px) rotate(0deg); opacity: 1; } 100% { transform: translateX(-2px) rotate(1deg); opacity: 0.8; } }
@keyframes si-apl-glowing { 0% { transform: translate(-50%, -50%) scale(0.9); opacity: 0.6; box-shadow: 0 0 60px 20px rgba(240,208,144,0.2); } 50% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; box-shadow: 0 0 120px 50px rgba(240,208,144,0.4); } 100% { transform: translate(-50%, -50%) scale(0.95); opacity: 0.7; box-shadow: 0 0 80px 30px rgba(240,208,144,0.25); } }
@keyframes si-apl-particles { 0% { transform: translateY(0) scale(1); opacity: 0.4; } 50% { transform: translateY(-20px) scale(1.1); opacity: 0.8; } 100% { transform: translateY(10px) scale(0.9); opacity: 0.5; } }

/* Scene 3: good-man-love-increases */
.scn-good-man-love-increases {
  background: linear-gradient(180deg, #e0c8a8 0%, #c8a888 40%, #a88868 100%),
              radial-gradient(ellipse at 30% 60%, #f0d8b0 0%, transparent 60%);
}
.scn-good-man-love-increases .room-deep {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #d0b898 0%, #b09070 100%);
  box-shadow: inset 0 30px 60px rgba(0,0,0,0.08);
}
.scn-good-man-love-increases .hearth-glow {
  position: absolute; bottom: 28%; left: 12%; width: 100px; height: 80px;
  background: radial-gradient(ellipse at 50% 60%, #e87040 0%, #c85030 40%, #a03020 70%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 120px 60px rgba(232,112,64,0.3);
  animation: si-gml-hearth 5s ease-in-out infinite alternate;
}
.scn-good-man-love-increases .hearth-stone {
  position: absolute; bottom: 24%; left: 10%; width: 120px; height: 30px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 30% 30% 10% 10% / 60% 60% 20% 20%;
}
.scn-good-man-love-increases .figure-man {
  position: absolute; bottom: 18%; left: 35%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #3a3432 0%, #1a1412 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: si-gml-sway-man 6s ease-in-out infinite alternate;
}
.scn-good-man-love-increases .figure-woman {
  position: absolute; bottom: 18%; left: 55%; width: 36px; height: 72px;
  background: linear-gradient(180deg, #4a3832 0%, #2a1a18 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: si-gml-sway-woman 6s ease-in-out infinite alternate;
  animation-delay: 0.5s;
}
.scn-good-man-love-increases .embrace-glow {
  position: absolute; bottom: 28%; left: 46%; width: 40px; height: 50px;
  background: radial-gradient(ellipse at center, #f0c070 0%, #e0a050 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 80px 30px rgba(240,192,112,0.3);
  animation: si-gml-embrace 7s ease-in-out infinite alternate;
}
.scn-good-man-love-increases .window-hearth {
  position: absolute; top: 10%; right: 10%; width: 60px; height: 80px;
  background: linear-gradient(180deg, #f0e0c0 0%, #d0c0a0 100%);
  border-radius: 4%;
  box-shadow: inset 0 0 0 4px #a09078, 0 4px 12px rgba(0,0,0,0.1);
  animation: si-gml-window 12s ease-in-out infinite alternate;
}
.scn-good-man-love-increases .warm-motes {
  position: absolute; top: 15%; left: 20%; width: 60%; height: 50%;
  background: radial-gradient(circle at 40% 30%, rgba(240,200,160,0.2) 0%, transparent 25%),
              radial-gradient(circle at 60% 50%, rgba(240,200,160,0.15) 0%, transparent 20%),
              radial-gradient(circle at 50% 70%, rgba(240,200,160,0.1) 0%, transparent 30%);
  filter: blur(5px);
  animation: si-gml-motes 22s ease-in-out infinite alternate;
}
@keyframes si-gml-hearth { 0% { transform: scale(0.9); opacity: 0.7; } 50% { transform: scale(1.05); opacity: 1; } 100% { transform: scale(0.95); opacity: 0.8; } }
@keyframes si-gml-sway-man { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(4px) rotate(2deg); } 100% { transform: translateX(2px) rotate(-1deg); } }
@keyframes si-gml-sway-woman { 0% { transform: translateX(0) rotate(3deg); } 50% { transform: translateX(-3px) rotate(-1deg); } 100% { transform: translateX(-1px) rotate(2deg); } }
@keyframes si-gml-embrace { 0% { transform: scale(0.8); opacity: 0.4; } 50% { transform: scale(1.15); opacity: 0.8; } 100% { transform: scale(0.9); opacity: 0.5; } }
@keyframes si-gml-window { 0% { opacity: 0.7; box-shadow: inset 0 0 0 4px #a09078, 0 4px 12px rgba(0,0,0,0.1); } 50% { opacity: 1; box-shadow: inset 0 0 0 4px #a09078, 0 4px 20px rgba(0,0,0,0.15); } 100% { opacity: 0.8; box-shadow: inset 0 0 0 4px #a09078, 0 4px 12px rgba(0,0,0,0.1); } }
@keyframes si-gml-motes { 0% { transform: translateY(0) rotate(0deg); opacity: 0.3; } 50% { transform: translateY(-15px) rotate(5deg); opacity: 0.7; } 100% { transform: translateY(8px) rotate(-3deg); opacity: 0.4; } }

/* Scene 4: pupils-become-lovers */
.scn-pupils-become-lovers {
  background: linear-gradient(180deg, #e8dcc8 0%, #d0c4b0 40%, #b8ac98 100%),
              radial-gradient(ellipse at 70% 40%, #f0e4d0 0%, transparent 60%);
}
.scn-pupils-become-lovers .study-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #d8ccb8 0%, #c0b4a0 100%);
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.06);
}
.scn-pupils-become-lovers .study-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #a89880 0%, #887868 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0;
}
.scn-pupils-become-lovers .desk-long {
  position: absolute; bottom: 22%; left: 10%; width: 80%; height: 20px;
  background: linear-gradient(180deg, #9a8a70 0%, #7a6a50 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.12);
}
.scn-pupils-become-lovers .teacher-figure {
  position: absolute; bottom: 20%; left: 22%; width: 40px; height: 76px;
  background: linear-gradient(180deg, #3a3632 0%, #1a1612 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: si-pbl-teacher 7s ease-in-out infinite alternate;
}
.scn-pupils-become-lovers .student-figure {
  position: absolute; bottom: 18%; right: 22%; width: 34px; height: 68px;
  background: linear-gradient(180deg, #4a3a32 0%, #2a1e18 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: si-pbl-student 7s ease-in-out infinite alternate;
  animation-delay: 0.3s;
}
.scn-pupils-become-lovers .books-stack {
  position: absolute; bottom: 26%; left: 44%; width: 50px; height: 40px;
  background: linear-gradient(180deg, #7a5a40 0%, #5a3a20 100%);
  border-radius: 3px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2), inset 0 1px 0 rgba(255,255,255,0.1);
}
.scn-pupils-become-lovers .scroll-open {
  position: absolute; bottom: 28%; left: 56%; width: 60px; height: 16px;
  background: linear-gradient(180deg, #e8dcc0 0%, #c8b898 100%);
  border-radius: 20% 20% 10% 10% / 50% 50% 30% 30%;
  transform: rotate(-5deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  animation: si-pbl-scroll 10s ease-in-out infinite alternate;
}
.scn-pupils-become-lovers .connection-glow {
  position: absolute; top: 30%; left: 50%; width: 50px; height: 40px;
  transform: translate(-50%, -50%);
  background: radial-gradient(ellipse at center, #f0d8a8 0%, #e0c080 30%, transparent 60%);
  border-radius: 50%;
  box-shadow: 0 0 80px 30px rgba(240,216,168,0.25);
  animation: si-pbl-connect 6s ease-in-out infinite alternate;
}
.scn-pupils-become-lovers .floating-letters {
  position: absolute; top: 20%; left: 15%; width: 70%; height: 50%;
  background: radial-gradient(circle at 30% 40%, rgba(240,220,180,0.12) 0%, transparent 20%),
              radial-gradient(circle at 70% 60%, rgba(240,220,180,0.08) 0%, transparent 15%),
              radial-gradient(circle at 50% 30%, rgba(240,220,180,0.1) 0%, transparent 25%);
  filter: blur(5px);
  animation: si-pbl-float 20s ease-in-out infinite alternate;
}
@keyframes si-pbl-teacher { 0% { transform: translateX(0) rotate(-2deg); } 40% { transform: translateX(3px) rotate(1deg); } 70% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(1px) rotate(0deg); } }
@keyframes si-pbl-student { 0% { transform: translateX(0) rotate(4deg); } 40% { transform: translateX(-4px) rotate(-1deg); } 70% { transform: translateX(2px) rotate(2deg); } 100% { transform: translateX(-1px) rotate(0deg); } }
@keyframes si-pbl-scroll { 0% { transform: translateX(0) rotate(-5deg) scale(1); } 50% { transform: translateX(5px) rotate(-3deg) scale(1.05); } 100% { transform: translateX(-3px) rotate(-7deg) scale(0.95); } }
@keyframes si-pbl-connect { 0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0.4; } 50% { transform: translate(-50%, -50%) scale(1.15); opacity: 0.9; } 100% { transform: translate(-50%, -50%) scale(0.9); opacity: 0.5; } }
@keyframes si-pbl-float { 0% { transform: translateY(0) rotate(0deg); opacity: 0.3; } 50% { transform: translateY(-20px) rotate(5deg); opacity: 0.7; } 100% { transform: translateY(10px) rotate(-3deg); opacity: 0.4; } }

.scn-unspoken-words-good-many {
  background: linear-gradient(180deg, #2a1e1a 0%, #3a2e2a 50%, #1f1613 100%), radial-gradient(ellipse at 50% 70%, #3a2e2a 0%, transparent 60%);
}
.scn-unspoken-words-good-many .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #4a3e3a 0%, #2a1e1a 100%);
  animation: uw1-wallTone 12s ease-in-out infinite alternate;
}
.scn-unspoken-words-good-many .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #1a1010 0%, #2a1e1a 100%);
  border-radius: 30% 70% 0 0 / 40% 60% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
  animation: uw1-floorShift 18s ease-in-out infinite alternate;
}
.scn-unspoken-words-good-many .desk {
  position: absolute; bottom: 20%; left: 30%; width: 35%; height: 12%;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 4% 4% 8% 8%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  transform-origin: bottom center;
  animation: uw1-deskSettle 9s ease-in-out infinite;
}
.scn-unspoken-words-good-many .candle {
  position: absolute; bottom: 30%; left: 42%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #f0d0a0 0%, #c08040 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 4px 2px rgba(240,208,160,0.3);
  animation: uw1-candleFlicker 3s ease-in-out infinite alternate;
}
.scn-unspoken-words-good-many .glow {
  position: absolute; bottom: 28%; left: 38%; width: 20%; height: 20%;
  background: radial-gradient(circle, rgba(240,208,160,0.5) 0%, rgba(240,208,160,0.1) 40%, transparent 60%);
  border-radius: 50%;
  filter: blur(10px);
  animation: uw1-glowPulse 4s ease-in-out infinite alternate;
}
.scn-unspoken-words-good-many .paper {
  position: absolute; bottom: 26%; left: 35%; width: 12%; height: 6%;
  background: linear-gradient(135deg, #f0e8d0 0%, #d8c8a0 100%);
  border-radius: 4%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  transform: rotate(-2deg);
  animation: uw1-paperFloat 7s ease-in-out infinite alternate;
}
.scn-unspoken-words-good-many .figure {
  position: absolute; bottom: 22%; left: 25%; width: 14%; height: 28%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: uw1-figureBreathe 6s ease-in-out infinite;
}
.scn-unspoken-words-good-many .shadow {
  position: absolute; bottom: 18%; left: 20%; width: 30%; height: 8%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 70%);
  filter: blur(6px);
  animation: uw1-shadowShift 10s ease-in-out infinite alternate;
}
@keyframes uw1-wallTone { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.75; } }
@keyframes uw1-floorShift { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(1px); } }
@keyframes uw1-deskSettle { 0%, 100% { transform: scaleY(1); } 50% { transform: scaleY(0.98) translateY(1px); } }
@keyframes uw1-candleFlicker { 0% { opacity: 0.9; transform: scaleY(1); } 50% { opacity: 1; transform: scaleY(1.1) translateY(-1px); } 100% { opacity: 0.85; transform: scaleY(0.95); } }
@keyframes uw1-glowPulse { 0% { opacity: 0.5; transform: scale(0.95); } 50% { opacity: 0.8; transform: scale(1.1); } 100% { opacity: 0.6; transform: scale(1); } }
@keyframes uw1-paperFloat { 0% { transform: rotate(-2deg) translateY(0); } 50% { transform: rotate(1deg) translateY(-3px); } 100% { transform: rotate(-3deg) translateY(2px); } }
@keyframes uw1-figureBreathe { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0) scaleY(1.01); } }
@keyframes uw1-shadowShift { 0% { opacity: 0.3; transform: scaleX(1); } 50% { opacity: 0.5; transform: scaleX(1.1); } 100% { opacity: 0.4; transform: scaleX(0.9); } }

.scn-companions-silent-cyclops {
  background: linear-gradient(90deg, #1a0e08 0%, #2a1a12 30%, #1a0e08 100%), radial-gradient(ellipse at 50% 60%, #3a1e0e 0%, transparent 70%);
}
.scn-companions-silent-cyclops .cave-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #0e0604 0%, #1a0e08 40%, #0e0604 100%);
  clip-path: polygon(0% 0%, 100% 0%, 85% 100%, 15% 100%);
  animation: csc1-cavePulse 20s ease-in-out infinite alternate;
}
.scn-companions-silent-cyclops .fire {
  position: absolute; bottom: 30%; left: 45%; width: 16%; height: 20%;
  background: radial-gradient(circle at 50% 60%, #e06020 0%, #b03010 40%, transparent 70%);
  border-radius: 50%;
  filter: blur(8px);
  animation: csc1-firePulse 3s ease-in-out infinite alternate;
}
.scn-companions-silent-cyclops .stake {
  position: absolute; bottom: 32%; left: 42%; width: 6px; height: 20%;
  background: linear-gradient(180deg, #8a5a3a 0%, #4a2a1a 100%);
  border-radius: 20% 20% 10% 10%;
  transform: rotate(15deg);
  transform-origin: bottom center;
  animation: csc1-stakeGlow 4s ease-in-out infinite alternate;
}
.scn-companions-silent-cyclops .companion-a {
  position: absolute; bottom: 22%; left: 20%; width: 12%; height: 24%;
  background: linear-gradient(180deg, #2a1a1a 0%, #0e0606 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: csc1-companion 8s ease-in-out infinite;
}
.scn-companions-silent-cyclops .companion-b {
  position: absolute; bottom: 20%; right: 22%; width: 10%; height: 22%;
  background: linear-gradient(180deg, #2a1a1a 0%, #0e0606 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: csc1-companion 8s ease-in-out infinite 2s;
}
.scn-companions-silent-cyclops .smoke {
  position: absolute; bottom: 35%; left: 40%; width: 30%; height: 40%;
  background: radial-gradient(ellipse at 50% 100%, rgba(60,40,20,0.2) 0%, transparent 60%);
  filter: blur(20px);
  animation: csc1-smokeDrift 15s linear infinite;
}
.scn-companions-silent-cyclops .rock {
  position: absolute; bottom: 15%; left: 10%; width: 25%; height: 20%;
  background: linear-gradient(135deg, #3a2a1a 0%, #1a0e08 100%);
  border-radius: 30% 70% 50% 50% / 40% 60% 60% 40%;
  box-shadow: inset 0 8px 12px rgba(0,0,0,0.5);
  animation: csc1-rockShift 12s ease-in-out infinite alternate;
}
@keyframes csc1-cavePulse { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes csc1-firePulse { 0% { opacity: 0.6; transform: scale(0.9); } 50% { opacity: 1; transform: scale(1.2) translateY(-5px); } 100% { opacity: 0.7; transform: scale(1); } }
@keyframes csc1-stakeGlow { 0% { box-shadow: 0 0 4px 2px #e06020; } 50% { box-shadow: 0 0 12px 6px #e06020, 0 0 24px 10px rgba(224,96,32,0.3); } 100% { box-shadow: 0 0 6px 3px #e06020; } }
@keyframes csc1-companion { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(5px) rotate(-2deg); } 50% { transform: translateX(10px) rotate(1deg); } 75% { transform: translateX(15px) rotate(-2deg); } 100% { transform: translateX(20px) rotate(0deg); } }
@keyframes csc1-smokeDrift { 0% { transform: translate(0, 0) scale(1); opacity: 0.3; } 50% { transform: translate(20px, -30px) scale(1.2); opacity: 0.1; } 100% { transform: translate(40px, -60px) scale(1.5); opacity: 0; } }
@keyframes csc1-rockShift { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(2px) rotate(-1deg); } }

.scn-ino-euripides-know-when-silent {
  background: linear-gradient(135deg, #2a221e 0%, #3a2e2a 50%, #1e1612 100%), radial-gradient(ellipse at 50% 40%, #4a3a32 0%, transparent 70%);
}
.scn-ino-euripides-know-when-silent .room {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #3a2e2a 0%, #1e1612 100%);
  border-radius: 10% 90% 30% 70% / 20% 80% 40% 60%;
  animation: iek1-roomGlow 20s ease-in-out infinite alternate;
}
.scn-ino-euripides-know-when-silent .tablet {
  position: absolute; bottom: 30%; left: 35%; width: 25%; height: 18%;
  background: linear-gradient(180deg, #8a7a5a 0%, #5a4a3a 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.4);
  transform: rotate(-3deg);
  animation: iek1-tabletSway 10s ease-in-out infinite;
}
.scn-ino-euripides-know-when-silent .seated-figure {
  position: absolute; bottom: 26%; left: 28%; width: 14%; height: 28%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: iek1-figureThink 7s ease-in-out infinite;
}
.scn-ino-euripides-know-when-silent .lamp {
  position: absolute; bottom: 32%; left: 50%; width: 10%; height: 14%;
  background: radial-gradient(circle at 50% 30%, #d0b060 0%, #a08040 50%, transparent 70%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  box-shadow: 0 0 24px 8px rgba(208,176,96,0.3);
  animation: iek1-lampGlow 4s ease-in-out infinite alternate;
}
.scn-ino-euripides-know-when-silent .scroll {
  position: absolute; bottom: 28%; right: 30%; width: 8%; height: 12%;
  background: linear-gradient(90deg, #c8b080 0%, #a08860 100%);
  border-radius: 30% 30% 10% 10%;
  transform: rotate(20deg);
  animation: iek1-scrollUnroll 8s ease-in-out infinite alternate;
}
.scn-ino-euripides-know-when-silent .edge {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(0deg, #1a1210 0%, transparent 100%);
  animation: iek1-edgeFade 15s ease-in-out infinite alternate;
}
@keyframes iek1-roomGlow { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes iek1-tabletSway { 0% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(1deg) translateY(-2px); } 100% { transform: rotate(-4deg) translateY(1px); } }
@keyframes iek1-figureThink { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes iek1-lampGlow { 0% { box-shadow: 0 0 16px 4px rgba(208,176,96,0.2); opacity: 0.8; } 50% { box-shadow: 0 0 32px 12px rgba(208,176,96,0.5); opacity: 1; } 100% { box-shadow: 0 0 20px 6px rgba(208,176,96,0.3); opacity: 0.9; } }
@keyframes iek1-scrollUnroll { 0% { height: 12%; width: 8%; } 50% { height: 16%; width: 10%; } 100% { height: 10%; width: 6%; } }
@keyframes iek1-edgeFade { 0% { opacity: 0.2; } 50% { opacity: 0.5; } 100% { opacity: 0.3; } }

.scn-right-to-blame-not-secret-keeper {
  background: linear-gradient(0deg, #1e1612 0%, #2a221e 40%, #1e1612 100%), radial-gradient(ellipse at 50% 60%, #3a2e2a 0%, transparent 70%);
}
.scn-right-to-blame-not-secret-keeper .bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #2a221e 0%, #1e1612 100%);
  animation: rtb1-bgPulse 25s ease-in-out infinite alternate;
}
.scn-right-to-blame-not-secret-keeper .table {
  position: absolute; bottom: 15%; left: 20%; width: 60%; height: 10%;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  transform: perspective(500px) rotateX(10deg);
  animation: rtb1-tableTilt 12s ease-in-out infinite alternate;
}
.scn-right-to-blame-not-secret-keeper .figure-left {
  position: absolute; bottom: 18%; left: 18%; width: 14%; height: 30%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: rtb1-figureLeft 8s ease-in-out infinite;
}
.scn-right-to-blame-not-secret-keeper .figure-right {
  position: absolute; bottom: 18%; right: 18%; width: 14%; height: 30%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: rtb1-figureRight 8s ease-in-out infinite 2s;
}
.scn-right-to-blame-not-secret-keeper .letter {
  position: absolute; bottom: 22%; left: 43%; width: 14%; height: 10%;
  background: linear-gradient(135deg, #e8d8b0 0%, #c0a880 100%);
  border-radius: 4%;
  transform: rotate(-5deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: rtb1-letterFloat 6s ease-in-out infinite alternate;
}
.scn-right-to-blame-not-secret-keeper .candle-glow {
  position: absolute; bottom: 25%; left: 46%; width: 8%; height: 14%;
  background: radial-gradient(circle at 50% 30%, #f0d0a0 0%, #c08040 40%, transparent 60%);
  border-radius: 50%;
  filter: blur(8px);
  animation: rtb1-candleGlow 3s ease-in-out infinite alternate;
}
.scn-right-to-blame-not-secret-keeper .whisper-line {
  position: absolute; bottom: 35%; left: 35%; width: 30%; height: 4px;
  background: rgba(200,180,140,0.15);
  border-radius: 50%;
  filter: blur(2px);
  animation: rtb1-whisperLine 5s ease-in-out infinite alternate;
}
@keyframes rtb1-bgPulse { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes rtb1-tableTilt { 0% { transform: perspective(500px) rotateX(10deg) translateY(0); } 50% { transform: perspective(500px) rotateX(12deg) translateY(-2px); } 100% { transform: perspective(500px) rotateX(8deg) translateY(1px); } }
@keyframes rtb1-figureLeft { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(10px) rotate(-2deg); } 50% { transform: translateX(20px) rotate(1deg); } 75% { transform: translateX(10px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes rtb1-figureRight { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-10px) rotate(2deg); } 50% { transform: translateX(-20px) rotate(-1deg); } 75% { transform: translateX(-10px) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes rtb1-letterFloat { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-4px); } 100% { transform: rotate(-6deg) translateY(2px); } }
@keyframes rtb1-candleGlow { 0% { opacity: 0.7; transform: scale(0.95); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: 0.8; transform: scale(1); } }
@keyframes rtb1-whisperLine { 0% { opacity: 0.1; transform: scaleX(0.8); } 50% { opacity: 0.3; transform: scaleX(1.2); } 100% { opacity: 0.15; transform: scaleX(0.9); } }

/* wife-grief-fake-death */
.scn-wife-grief-fake-death {
    background: linear-gradient(180deg, #2a1e2e 0%, #1a1218 50%, #0d080a 100%),
                radial-gradient(ellipse at 50% 80%, #3a2a3a 0%, transparent 70%);
}
.scn-wife-grief-fake-death .wall {
    position: absolute; inset: 0 0 30% 0;
    background: linear-gradient(180deg, #2a1e2e 0%, #1a1218 100%);
}
.scn-wife-grief-fake-death .floor {
    position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
    background: linear-gradient(0deg, #1a1218 0%, #2a1e2e 100%);
    box-shadow: inset 0 8px 12px rgba(0,0,0,0.5);
}
.scn-wife-grief-fake-death .figure-prostrate {
    position: absolute; bottom: 30%; left: 35%; width: 30%; height: 25%;
    background: radial-gradient(ellipse at 50% 100%, #3a2a3a 0%, #1a1218 80%);
    border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
    animation: wg-figure 6s ease-in-out infinite;
}
.scn-wife-grief-fake-death .blanket {
    position: absolute; bottom: 30%; left: 30%; width: 40%; height: 15%;
    background: linear-gradient(180deg, #4a3a3a 0%, #2a1e1e 100%);
    border-radius: 20% 20% 50% 50%;
    animation: wg-blanket 8s ease-in-out infinite;
}
.scn-wife-grief-fake-death .candle {
    position: absolute; bottom: 55%; left: 60%; width: 8px; height: 30px;
    background: linear-gradient(180deg, #c8a060 0%, #8a6030 100%);
    border-radius: 20% 20% 10% 10%;
    box-shadow: 0 0 20px 6px #c8a060, 0 0 40px 12px rgba(200,160,96,0.3);
    animation: wg-candle 3s ease-in-out infinite alternate;
}
.scn-wife-grief-fake-death .candle-shadow {
    position: absolute; bottom: 55%; left: 60%; width: 40px; height: 60px;
    background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 100%);
    filter: blur(10px);
    animation: wg-shadow 5s ease-in-out infinite alternate;
}
.scn-wife-grief-fake-death .chest {
    position: absolute; bottom: 32%; right: 20%; width: 60px; height: 40px;
    background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
    border-radius: 8% 8% 4% 4%;
    box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
@keyframes wg-figure {
    0% { transform: translateY(0) rotate(-2deg); opacity: 0.9; }
    50% { transform: translateY(-4px) rotate(0deg); opacity: 1; }
    100% { transform: translateY(0) rotate(2deg); opacity: 0.85; }
}
@keyframes wg-blanket {
    0% { transform: scaleY(1); }
    50% { transform: scaleY(0.95); }
    100% { transform: scaleY(1); }
}
@keyframes wg-candle {
    0% { transform: scaleY(1); box-shadow: 0 0 15px 4px #c8a060; }
    50% { transform: scaleY(1.02); box-shadow: 0 0 25px 8px #d4a070; }
    100% { transform: scaleY(0.98); box-shadow: 0 0 18px 5px #c8a060; }
}
@keyframes wg-shadow {
    0% { transform: translateX(0) scaleX(1); opacity: 0.4; }
    50% { transform: translateX(5px) scaleX(1.1); opacity: 0.6; }
    100% { transform: translateX(0) scaleX(1); opacity: 0.4; }
}

/* wife-disguises-sabinus */
.scn-wife-disguises-sabinus {
    background: linear-gradient(180deg, #1a1a2e 0%, #12121a 100%),
                radial-gradient(ellipse at 30% 50%, #2a2a3e 0%, transparent 70%);
}
.scn-wife-disguises-sabinus .wall {
    position: absolute; inset: 0 0 20% 0;
    background: linear-gradient(180deg, #1a1a2e 0%, #12121a 100%);
}
.scn-wife-disguises-sabinus .mirror {
    position: absolute; left: 20%; top: 15%; width: 40%; height: 60%;
    background: linear-gradient(180deg, rgba(200,200,220,0.3) 0%, rgba(150,150,180,0.1) 100%);
    border: 2px solid #4a4a5a;
    border-radius: 4% 4% 2% 2%;
    box-shadow: 0 8px 16px rgba(0,0,0,0.5);
}
.scn-wife-disguises-sabinus .figure-back {
    position: absolute; left: 32%; bottom: 15%; width: 22%; height: 50%;
    background: radial-gradient(ellipse at 50% 30%, #3a3a4a 0%, #1a1a2a 100%);
    border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%;
    transform: scaleX(-1);
    animation: wd-figure 8s ease-in-out infinite;
}
.scn-wife-disguises-sabinus .hands {
    position: absolute; left: 28%; bottom: 30%; width: 14%; height: 20%;
    background: radial-gradient(ellipse at 50% 40%, #3a3a4a 0%, #1a1a2a 100%);
    border-radius: 30% 30% 20% 20%;
    animation: wd-hands 4s ease-in-out infinite;
}
.scn-wife-disguises-sabinus .shears {
    position: absolute; left: 30%; bottom: 45%; width: 20px; height: 6px;
    background: #6a6a7a;
    border-radius: 30% 30% 10% 10%;
    box-shadow: 0 2px 4px rgba(0,0,0,0.3);
    animation: wd-shears 2s ease-in-out infinite alternate;
}
.scn-wife-disguises-sabinus .hair-falling {
    position: absolute; left: 35%; bottom: 40%; width: 40px; height: 80px;
    background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
    border-radius: 50% 50% 10% 10% / 60% 60% 10% 10%;
    filter: blur(2px);
    animation: wd-hair 6s ease-in-out infinite;
}
.scn-wife-disguises-sabinus .cloth {
    position: absolute; left: 28%; bottom: 12%; width: 30%; height: 18%;
    background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
    border-radius: 20% 20% 10% 10%;
    animation: wd-cloth 10s ease-in-out infinite alternate;
}
.scn-wife-disguises-sabinus .shadow {
    position: absolute; left: 20%; bottom: 10%; width: 60%; height: 30%;
    background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 100%);
    filter: blur(8px);
}
@keyframes wd-figure {
    0% { transform: scaleX(-1) translateX(0); }
    50% { transform: scaleX(-1) translateX(5px); }
    100% { transform: scaleX(-1) translateX(0); }
}
@keyframes wd-hands {
    0% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-8px) rotate(5deg); }
    100% { transform: translateY(0) rotate(0deg); }
}
@keyframes wd-shears {
    0% { transform: rotate(-10deg) scale(1); }
    50% { transform: rotate(10deg) scale(0.95); }
    100% { transform: rotate(-10deg) scale(1); }
}
@keyframes wd-hair {
    0% { transform: translateY(0) rotate(3deg); opacity: 0.7; }
    50% { transform: translateY(-20px) rotate(-2deg); opacity: 0.9; }
    100% { transform: translateY(0) rotate(3deg); opacity: 0.7; }
}
@keyframes wd-cloth {
    0% { transform: scaleY(1); }
    50% { transform: scaleY(1.02); }
    100% { transform: scaleY(1); }
}

/* pregnancy-concealed */
.scn-pregnancy-concealed {
    background: linear-gradient(180deg, #1a1a2e 0%, #12121a 50%, #0a0a12 100%),
                radial-gradient(ellipse at 50% 50%, #1a1a3e 0%, transparent 70%);
}
.scn-pregnancy-concealed .bath {
    position: absolute; bottom: 10%; left: 15%; width: 70%; height: 50%;
    background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2a 100%);
    border-radius: 40% 40% 10% 10% / 50% 50% 10% 10%;
    box-shadow: inset 0 8px 12px rgba(0,0,0,0.6);
}
.scn-pregnancy-concealed .water {
    position: absolute; bottom: 12%; left: 18%; width: 64%; height: 42%;
    background: linear-gradient(180deg, rgba(80,80,120,0.4) 0%, rgba(40,40,60,0.2) 100%);
    border-radius: 40% 40% 10% 10% / 50% 50% 10% 10%;
    animation: pc-water 5s ease-in-out infinite alternate;
}
.scn-pregnancy-concealed .figure-back-bath {
    position: absolute; bottom: 30%; left: 32%; width: 36%; height: 50%;
    background: radial-gradient(ellipse at 50% 60%, #3a3a4a 0%, #1a1a2a 100%);
    border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%;
    animation: pc-figure 6s ease-in-out infinite alternate;
}
.scn-pregnancy-concealed .hair-long {
    position: absolute; bottom: 55%; left: 30%; width: 40%; height: 30%;
    background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
    border-radius: 50% 50% 10% 10% / 60% 60% 10% 10%;
    filter: blur(2px);
    animation: pc-hair 8s ease-in-out infinite;
}
.scn-pregnancy-concealed .dye-bottle {
    position: absolute; bottom: 45%; left: 55%; width: 20px; height: 30px;
    background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
    border-radius: 30% 30% 10% 10%;
    box-shadow: 0 2px 4px rgba(0,0,0,0.4);
    animation: pc-bottle 4s ease-in-out infinite alternate;
}
.scn-pregnancy-concealed .arm-applying {
    position: absolute; bottom: 50%; left: 50%; width: 12%; height: 20%;
    background: radial-gradient(ellipse at 50% 30%, #3a3a4a 0%, #1a1a2a 100%);
    border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%;
    animation: pc-arm 3s ease-in-out infinite alternate;
}
.scn-pregnancy-concealed .steam {
    position: absolute; top: 15%; left: 30%; width: 40%; height: 30%;
    background: radial-gradient(ellipse, rgba(255,255,255,0.05) 0%, transparent 100%);
    filter: blur(10px);
    animation: pc-steam 12s ease-in-out infinite;
}
.scn-pregnancy-concealed .shadow-bath {
    position: absolute; bottom: 5%; left: 10%; width: 80%; height: 20%;
    background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 100%);
    filter: blur(6px);
}
@keyframes pc-water {
    0% { transform: translateX(0) scaleY(1); opacity: 0.3; }
    50% { transform: translateX(2px) scaleY(0.98); opacity: 0.5; }
    100% { transform: translateX(0) scaleY(1); opacity: 0.3; }
}
@keyframes pc-figure {
    0% { transform: translateX(0); }
    100% { transform: translateX(3px); }
}
@keyframes pc-hair {
    0% { transform: rotate(-3deg); }
    50% { transform: rotate(3deg); }
    100% { transform: rotate(-3deg); }
}
@keyframes pc-arm {
    0% { transform: translateY(0) rotate(10deg); }
    50% { transform: translateY(-5px) rotate(-5deg); }
    100% { transform: translateY(0) rotate(10deg); }
}
@keyframes pc-bottle {
    0% { transform: rotate(-5deg); }
    100% { transform: rotate(5deg); }
}
@keyframes pc-steam {
    0% { transform: translateY(0) scale(1); opacity: 0.3; }
    50% { transform: translateY(-15px) scale(1.1); opacity: 0.5; }
    100% { transform: translateY(0) scale(1); opacity: 0.3; }
}

/* vespasian-executes-wife */
.scn-vespasian-executes-wife {
    background: linear-gradient(180deg, #0d0d1a 0%, #1a1a2e 50%, #0a0a14 100%),
                radial-gradient(ellipse at 50% 70%, #2a2a3e 0%, transparent 70%);
}
.scn-vespasian-executes-wife .bg-dark {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, #0d0d1a 0%, #1a1a2e 100%);
}
.scn-vespasian-executes-wife .column-left {
    position: absolute; left: 5%; top: 0; width: 8%; height: 100%;
    background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%);
    box-shadow: inset 0 0 8px rgba(0,0,0,0.5);
}
.scn-vespasian-executes-wife .column-right {
    position: absolute; right: 5%; top: 0; width: 8%; height: 100%;
    background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%);
    box-shadow: inset 0 0 8px rgba(0,0,0,0.5);
}
.scn-vespasian-executes-wife .executioner {
    position: absolute; left: 25%; bottom: 10%; width: 20%; height: 80%;
    background: radial-gradient(ellipse at 50% 30%, #2a2a3e 0%, #0d0d1a 100%);
    border-radius: 30% 30% 10% 10% / 60% 60% 10% 10%;
    animation: ve-executioner 6s ease-in-out infinite alternate;
}
.scn-vespasian-executes-wife .wife-kneeling {
    position: absolute; left: 55%; bottom: 10%; width: 18%; height: 40%;
    background: radial-gradient(ellipse at 50% 60%, #3a3a4a 0%, #1a1a2a 100%);
    border-radius: 50% 50% 10% 10% / 60% 60% 10% 10%;
    animation: ve-wife 8s ease-in-out infinite;
}
.scn-vespasian-executes-wife .sword {
    position: absolute; left: 28%; bottom: 30%; width: 6px; height: 60%;
    background: linear-gradient(180deg, #6a6a7a 0%, #4a4a5a 100%);
    border-radius: 10% 10% 5% 5%;
    box-shadow: 0 0 8px rgba(200,200,220,0.2);
    animation: ve-sword 4s ease-in-out infinite alternate;
}
.scn-vespasian-executes-wife .block {
    position: absolute; left: 52%; bottom: 12%; width: 30%; height: 8%;
    background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%);
    border-radius: 10% 10% 5% 5%;
}
.scn-vespasian-executes-wife .shadow-dramatic {
    position: absolute; left: 20%; bottom: 0; width: 60%; height: 50%;
    background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 100%);
    filter: blur(12px);
    animation: ve-shadow 10s ease-in-out infinite;
}
@keyframes ve-executioner {
    0% { transform: scaleY(1); }
    50% { transform: scaleY(1.02) translateX(2px); }
    100% { transform: scaleY(1); }
}
@keyframes ve-wife {
    0% { transform: translateY(0) rotate(-1deg); }
    50% { transform: translateY(-3px) rotate(1deg); }
    100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes ve-sword {
    0% { transform: rotate(-10deg) translateY(0); }
    50% { transform: rotate(5deg) translateY(-20px); }
    100% { transform: rotate(-10deg) translateY(0); }
}
@keyframes ve-shadow {
    0% { opacity: 0.4; transform: scale(1); }
    50% { opacity: 0.7; transform: scale(1.1); }
    100% { opacity: 0.4; transform: scale(1); }
}

.scn-diogenes-mouse-barley-cake {
  background: 
    linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 40%, #1a0a00 100%),
    radial-gradient(ellipse at 50% 100%, #4a2a10 0%, transparent 60%);
}
.scn-diogenes-mouse-barley-cake .wall { position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 0 0 30% 30% / 0 0 10% 10%; animation: dm-wall 8s ease-in-out infinite alternate; }
.scn-diogenes-mouse-barley-cake .floor { position: absolute; bottom: 0; left: 0; right: 0; height: 40%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); box-shadow: inset 0 20px 30px rgba(0,0,0,0.6); animation: dm-floor 12s ease-in-out infinite alternate; }
.scn-diogenes-mouse-barley-cake .figure { position: absolute; bottom: 25%; left: 25%; width: 20px; height: 45px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dm-figure 5s ease-in-out infinite; }
.scn-diogenes-mouse-barley-cake .cake { position: absolute; bottom: 28%; left: 22%; width: 12px; height: 8px; background: radial-gradient(ellipse at 50% 80%, #d4a040 0%, #a07020 100%); border-radius: 30% 30% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 2px 6px rgba(0,0,0,0.4); animation: dm-cake 6s ease-in-out infinite alternate; }
.scn-diogenes-mouse-barley-cake .lamp { position: absolute; bottom: 42%; left: 35%; width: 14px; height: 20px; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius: 20% 20% 30% 30%; box-shadow: 0 0 16px 4px rgba(200,150,50,0.6); animation: dm-lamp 3s ease-in-out infinite alternate; }
.scn-diogenes-mouse-barley-cake .glow { position: absolute; bottom: 30%; left: 30%; width: 60px; height: 60px; background: radial-gradient(circle, rgba(200,150,50,0.4) 0%, transparent 70%); border-radius: 50%; filter: blur(8px); animation: dm-glow 4s ease-in-out infinite alternate; }
.scn-diogenes-mouse-barley-cake .shadow { position: absolute; bottom: 24%; left: 20%; width: 40px; height: 4px; background: rgba(0,0,0,0.5); border-radius: 50%; filter: blur(3px); animation: dm-shadow 6s ease-in-out infinite; }
.scn-diogenes-mouse-barley-cake .mouse { position: absolute; bottom: 26%; left: 28%; width: 10px; height: 6px; background: radial-gradient(ellipse, #6a4a3a 0%, #3a2a1a 100%); border-radius: 50%; animation: dm-mouse 5s ease-in-out infinite; }
@keyframes dm-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes dm-floor { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes dm-figure { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(4px) rotate(2deg); } 60% { transform: translateX(8px) rotate(-1deg); } 100% { transform: translateX(12px) rotate(0deg); } }
@keyframes dm-cake { 0% { transform: scale(1); } 50% { transform: scale(1.1) rotate(5deg); } 100% { transform: scale(1); } }
@keyframes dm-lamp { 0% { transform: rotate(-3deg); opacity: 0.8; box-shadow: 0 0 12px 2px rgba(200,150,50,0.4); } 50% { transform: rotate(3deg); opacity: 1; box-shadow: 0 0 24px 6px rgba(200,150,50,0.7); } 100% { transform: rotate(-2deg); opacity: 0.9; box-shadow: 0 0 16px 4px rgba(200,150,50,0.5); } }
@keyframes dm-glow { 0% { opacity: 0.5; transform: scale(0.9); } 50% { opacity: 1; transform: scale(1.2); } 100% { opacity: 0.6; transform: scale(1); } }
@keyframes dm-shadow { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.3); } 100% { transform: scaleX(1); } }
@keyframes dm-mouse { 0% { transform: translateX(0) translateY(0); } 30% { transform: translateX(6px) translateY(-2px); } 60% { transform: translateX(12px) translateY(0); } 100% { transform: translateX(0) translateY(0); } }

.scn-friends-advice-adversaries {
  background: 
    linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 50%, #1a1a2e 100%),
    radial-gradient(ellipse at 50% 100%, #2a2a3e 0%, transparent 70%);
}
.scn-friends-advice-adversaries .bg-bookshelf { position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%); border-radius: 10% 10% 0 0; box-shadow: inset 0 4px 10px rgba(0,0,0,0.5); animation: fa-bookshelf 20s ease-in-out infinite alternate; }
.scn-friends-advice-adversaries .table { position: absolute; bottom: 20%; left: 20%; right: 20%; height: 10%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 20% 20% 10% 10% / 50% 50% 30% 30%; box-shadow: 0 4px 8px rgba(0,0,0,0.6); animation: fa-table 10s ease-in-out infinite; }
.scn-friends-advice-adversaries .lamp { position: absolute; bottom: 32%; left: 45%; width: 12px; height: 24px; background: linear-gradient(180deg, #6a5a3a 0%, #3a2a1a 100%); border-radius: 20% 20% 40% 40%; box-shadow: 0 0 20px 4px rgba(200,180,100,0.5); animation: fa-lamp 4s ease-in-out infinite alternate; }
.scn-friends-advice-adversaries .figure-advising { position: absolute; bottom: 22%; left: 30%; width: 18px; height: 40px; background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fa-advising 6s ease-in-out infinite; }
.scn-friends-advice-adversaries .figure-listening { position: absolute; bottom: 22%; left: 55%; width: 18px; height: 38px; background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fa-listening 8s ease-in-out infinite reverse; }
.scn-friends-advice-adversaries .scroll { position: absolute; bottom: 28%; left: 42%; width: 14px; height: 10px; background: radial-gradient(ellipse, #c0a060 0%, #a08040 100%); border-radius: 20% 20% 50% 50% / 30% 30% 40% 40%; box-shadow: 0 2px 4px rgba(0,0,0,0.4); animation: fa-scroll 5s ease-in-out infinite alternate; }
.scn-friends-advice-adversaries .glow { position: absolute; bottom: 25%; left: 40%; width: 40px; height: 40px; background: radial-gradient(circle, rgba(200,180,100,0.3) 0%, transparent 70%); border-radius: 50%; filter: blur(6px); animation: fa-glow 4s ease-in-out infinite alternate; }
@keyframes fa-bookshelf { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes fa-table { 0% { transform: translateX(0); } 50% { transform: translateX(-2px); } 100% { transform: translateX(0); } }
@keyframes fa-lamp { 0% { transform: rotate(-5deg); opacity: 0.8; box-shadow: 0 0 12px 2px rgba(200,180,100,0.4); } 50% { transform: rotate(5deg); opacity: 1; box-shadow: 0 0 28px 6px rgba(200,180,100,0.6); } 100% { transform: rotate(-3deg); opacity: 0.9; box-shadow: 0 0 18px 4px rgba(200,180,100,0.5); } }
@keyframes fa-advising { 0% { transform: translateX(0) rotate(-2deg); } 30% { transform: translateX(4px) rotate(1deg); } 60% { transform: translateX(8px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes fa-listening { 0% { transform: translateX(0) rotate(0deg); } 40% { transform: translateX(-3px) rotate(2deg); } 80% { transform: translateX(-6px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes fa-scroll { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.3) rotate(10deg); } 100% { transform: scaleX(1); } }
@keyframes fa-glow { 0% { opacity: 0.4; transform: scale(0.8); } 50% { opacity: 0.8; transform: scale(1.2); } 100% { opacity: 0.5; transform: scale(0.9); } }

.scn-virtue-wealth-comparison {
  background: 
    linear-gradient(180deg, #e8d8b0 0%, #c8b890 50%, #a89870 100%),
    radial-gradient(ellipse at 50% 0%, #f0e0c0 0%, transparent 60%);
}
.scn-virtue-wealth-comparison .bg-window { position: absolute; inset: 0 30% 40% 0; background: linear-gradient(180deg, #d0c0a0 0%, #b0a080 100%); border: 4px solid #8a7a5a; border-radius: 10% 0 0 10% / 20% 0 0 20%; box-shadow: inset 0 0 20px rgba(255,255,200,0.5); animation: vw-window 15s ease-in-out infinite alternate; }
.scn-virtue-wealth-comparison .sunbeam { position: absolute; top: 10%; left: 20%; width: 80px; height: 200px; background: linear-gradient(180deg, rgba(255,255,200,0.3) 0%, transparent 100%); transform: rotate(20deg); filter: blur(10px); animation: vw-sunbeam 8s ease-in-out infinite alternate; }
.scn-virtue-wealth-comparison .figure-virtue { position: absolute; bottom: 20%; left: 25%; width: 22px; height: 50px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: vw-virtue 7s ease-in-out infinite; }
.scn-virtue-wealth-comparison .figure-wealth { position: absolute; bottom: 20%; left: 55%; width: 22px; height: 50px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: vw-wealth 7s ease-in-out infinite reverse; }
.scn-virtue-wealth-comparison .scales { position: absolute; bottom: 38%; left: 45%; width: 30px; height: 20px; background: linear-gradient(180deg, #b0a080 0%, #8a7a5a 100%); border-radius: 50% 50% 0 0 / 80% 80% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.3); animation: vw-scales 10s ease-in-out infinite alternate; }
.scn-virtue-wealth-comparison .coins { position: absolute; bottom: 32%; left: 60%; width: 10px; height: 4px; background: radial-gradient(ellipse, #f0d080 0%, #b09050 100%); border-radius: 40%; box-shadow: 0 2px 4px rgba(0,0,0,0.3); animation: vw-coins 4s ease-in-out infinite; }
.scn-virtue-wealth-comparison .glow { position: absolute; top: 20%; left: 30%; width: 100px; height: 100px; background: radial-gradient(circle, rgba(255,255,200,0.2) 0%, transparent 60%); border-radius: 50%; filter: blur(15px); animation: vw-glow 12s ease-in-out infinite alternate; }
@keyframes vw-window { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.02); } 100% { transform: scaleX(1); } }
@keyframes vw-sunbeam { 0% { opacity: 0.3; transform: rotate(18deg) scaleY(1); } 50% { opacity: 0.6; transform: rotate(22deg) scaleY(1.2); } 100% { opacity: 0.4; transform: rotate(20deg) scaleY(1); } }
@keyframes vw-virtue { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(3px) rotate(2deg); } 50% { transform: translateX(6px) rotate(-1deg); } 75% { transform: translateX(9px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes vw-wealth { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-3px) rotate(-2deg); } 50% { transform: translateX(-6px) rotate(1deg); } 75% { transform: translateX(-9px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes vw-scales { 0% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } 100% { transform: rotate(-3deg); } }
@keyframes vw-coins { 0% { transform: translateY(0); } 30% { transform: translateY(-2px) rotate(10deg); } 60% { transform: translateY(0) rotate(20deg); } 100% { transform: translateY(0); } }
@keyframes vw-glow { 0% { opacity: 0.3; transform: scale(0.9); } 50% { opacity: 0.6; transform: scale(1.1); } 100% { opacity: 0.4; transform: scale(1); } }

.scn-zeno-theophrastus-choir {
  background: 
    linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 40%, #1a1a2e 100%),
    radial-gradient(ellipse at 50% 100%, #2a2a3e 0%, transparent 70%);
}
.scn-zeno-theophrastus-choir .bg-curtain { position: absolute; inset: 0 10% 30% 10%; background: linear-gradient(180deg, #3a2a3a 0%, #2a1a2a 100%); border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%; box-shadow: inset 0 4px 12px rgba(0,0,0,0.6); animation: zt-curtain 25s ease-in-out infinite alternate; }
.scn-zeno-theophrastus-choir .stage { position: absolute; bottom: 20%; left: 10%; right: 10%; height: 18%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 10% 10% 0 0 / 30% 30% 0 0; box-shadow: 0 -4px 10px rgba(0,0,0,0.5); animation: zt-stage 20s ease-in-out infinite; }
.scn-zeno-theophrastus-choir .leader-zeno { position: absolute; bottom: 25%; left: 30%; width: 20px; height: 48px; background: linear-gradient(180deg, #4a3a4a 0%, #2a1a2a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: zt-zeno 8s ease-in-out infinite; }
.scn-zeno-theophrastus-choir .leader-theophrastus { position: absolute; bottom: 25%; left: 50%; width: 20px; height: 48px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: zt-theo 8s ease-in-out infinite reverse; }
.scn-zeno-theophrastus-choir .choir-left { position: absolute; bottom: 22%; left: 15%; width: 60px; height: 30px; background: radial-gradient(ellipse, rgba(50,40,50,0.6) 0%, transparent 100%); border-radius: 50%; filter: blur(4px); animation: zt-left 12s ease-in-out infinite alternate; }
.scn-zeno-theophrastus-choir .choir-right { position: absolute; bottom: 22%; right: 15%; width: 60px; height: 30px; background: radial-gradient(ellipse, rgba(60,50,40,0.6) 0%, transparent 100%); border-radius: 50%; filter: blur(4px); animation: zt-right 12s ease-in-out infinite alternate-reverse; }
.scn-zeno-theophrastus-choir .halo { position: absolute; bottom: 35%; left: 40%; width: 30px; height: 30px; background: radial-gradient(circle, rgba(200,180,150,0.2) 0%, transparent 70%); border-radius: 50%; filter: blur(8px); animation: zt-halo 6s ease-in-out infinite alternate; }
.scn-zeno-theophrastus-choir .pedestal { position: absolute; bottom: 18%; left: 42%; width: 16px; height: 12px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 10% 10% 20% 20% / 30% 30% 40% 40%; box-shadow: 0 2px 4px rgba(0,0,0,0.4); animation: zt-pedestal 10s ease-in-out infinite; }
@keyframes zt-curtain { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(0.98); } }
@keyframes zt-stage { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes zt-zeno { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(4px) rotate(2deg); } 60% { transform: translateX(8px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes zt-theo { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(-4px) rotate(-2deg); } 60% { transform: translateX(-8px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes zt-left { 0% { opacity: 0.5; transform: scaleY(1); } 50% { opacity: 0.8; transform: scaleY(1.1); } 100% { opacity: 0.6; transform: scaleY(0.95); } }
@keyframes zt-right { 0% { opacity: 0.5; transform: scaleY(1); } 50% { opacity: 0.8; transform: scaleY(1.1); } 100% { opacity: 0.6; transform: scaleY(0.95); } }
@keyframes zt-halo { 0% { opacity: 0.2; transform: scale(0.8); } 50% { opacity: 0.5; transform: scale(1.3); } 100% { opacity: 0.3; transform: scale(1); } }
@keyframes zt-pedestal { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.05); } 100% { transform: scaleY(1); } }

/* venereal-delight-cheap */
.scn-venereal-delight-cheap {
  background: linear-gradient(180deg, #2a1c14 0%, #3a2a1c 40%, #1e1410 100%),
              radial-gradient(ellipse at 50% 30%, #5a3a24 0%, transparent 70%);
}
.scn-venereal-delight-cheap .wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #3a2a1c, #2a1c14); animation: vdc-wall 12s ease-in-out infinite alternate; }
.scn-venereal-delight-cheap .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #1e1410, #14100a); box-shadow: inset 0 8px 20px rgba(0,0,0,.6); animation: vdc-floor 18s ease-in-out infinite alternate; }
.scn-venereal-delight-cheap .window { position:absolute; top:15%; left:50%; width:70px; height:100px; transform:translateX(-50%); background: linear-gradient(180deg, #0f0f2a 0%, #2a2a3e 100%); border:3px solid #4a3a2a; border-radius:4px; box-shadow: inset 0 0 20px #1a1a3e, 0 0 30px rgba(42,42,62,.3); animation: vdc-window 8s ease-in-out infinite alternate; }
.scn-venereal-delight-cheap .candle { position:absolute; bottom:40%; left:30%; width:12px; height:30px; background: linear-gradient(180deg, #e0c080, #b08040); border-radius:4px 4px 0 0; box-shadow: 0 0 30px 10px #ffc060, 0 0 60px 20px rgba(255,192,96,.4); animation: vdc-candle-flicker 2s ease-in-out infinite alternate; }
.scn-venereal-delight-cheap .candle::before { content:''; position:absolute; top:-8px; left:50%; width:4px; height:8px; transform:translateX(-50%); background: radial-gradient(circle, #ffe080, #ffb040); border-radius:50%; box-shadow: 0 0 8px #ffb040; }
.scn-venereal-delight-cheap .figure { position:absolute; bottom:25%; left:60%; width:30px; height:50px; background: linear-gradient(180deg, #2a1c14, #1a1008); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: vdc-figure-breath 4s ease-in-out infinite; }
.scn-venereal-delight-cheap .bed { position:absolute; bottom:10%; left:40%; width:80px; height:40px; background: linear-gradient(180deg, #3a2a1c, #2a1c14); border-radius: 10px 10px 0 0; box-shadow: 0 8px 20px rgba(0,0,0,.5); animation: vdc-bed 6s ease-in-out infinite alternate; }
.scn-venereal-delight-cheap .curtain { position:absolute; top:15%; width:50px; height:120px; background: linear-gradient(90deg, #3a2a1c, #2a1c14, #1e1410); border-radius: 0 8px 8px 0; filter: blur(2px); }
.scn-venereal-delight-cheap .curtain.left { left:10%; animation: vdc-curtain 7s ease-in-out infinite alternate; }
.scn-venereal-delight-cheap .curtain.right { right:10%; transform: scaleX(-1); animation: vdc-curtain 7s ease-in-out infinite alternate-reverse; }
@keyframes vdc-wall { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes vdc-floor { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes vdc-window { 0% { box-shadow: inset 0 0 20px #1a1a3e, 0 0 30px rgba(42,42,62,.3); } 50% { box-shadow: inset 0 0 25px #2a2a4e, 0 0 40px rgba(42,42,62,.5); } 100% { box-shadow: inset 0 0 20px #1a1a3e, 0 0 30px rgba(42,42,62,.3); } }
@keyframes vdc-candle-flicker { 0% { opacity:.7; box-shadow: 0 0 20px 6px #ffc060, 0 0 40px 12px rgba(255,192,96,.3); } 50% { opacity:1; box-shadow: 0 0 35px 12px #ffe080, 0 0 70px 24px rgba(255,224,128,.5); } 100% { opacity:.8; box-shadow: 0 0 25px 8px #ffc060, 0 0 50px 16px rgba(255,192,96,.4); } }
@keyframes vdc-figure-breath { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-2px) scale(1.02); } }
@keyframes vdc-bed { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes vdc-curtain { 0% { transform: translateX(0); } 50% { transform: translateX(5px); } 100% { transform: translateX(-3px); } }

/* feeble-venereal-without-love */
.scn-feeble-venereal-without-love {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 40%, #0e0e1a 100%),
              radial-gradient(ellipse at 50% 40%, #2a2a4e 0%, transparent 70%);
}
.scn-feeble-venereal-without-love .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a2a3e, #1a1a2e); animation: fvl-wall 12s ease-in-out infinite alternate; }
.scn-feeble-venereal-without-love .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #0e0e1a, #080812); box-shadow: inset 0 8px 20px rgba(0,0,0,.7); animation: fvl-floor 18s ease-in-out infinite alternate; }
.scn-feeble-venereal-without-love .window { position:absolute; top:12%; left:50%; width:60px; height:80px; transform:translateX(-50%); background: linear-gradient(180deg, #0a0a1a 0%, #1a1a3a 100%); border:2px solid #3a3a4a; border-radius:2px; box-shadow: inset 0 0 15px #1a1a3a, 0 0 25px rgba(26,26,58,.5); animation: fvl-window 8s ease-in-out infinite alternate; }
.scn-feeble-venereal-without-love .lamp { position:absolute; bottom:35%; left:25%; width:8px; height:20px; background: linear-gradient(180deg, #c0a080, #806040); border-radius: 4px 4px 0 0; box-shadow: 0 0 20px 6px #806040, 0 0 40px 12px rgba(128,96,64,.3); animation: fvl-lamp-flicker 3s ease-in-out infinite alternate; }
.scn-feeble-venereal-without-love .figure { position:absolute; bottom:20%; right:30%; width:25px; height:45px; background: linear-gradient(180deg, #1a1a2e, #0e0e1a); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fvl-figure-sink 6s ease-in-out infinite; }
.scn-feeble-venereal-without-love .chair { position:absolute; bottom:15%; left:45%; width:30px; height:40px; background: linear-gradient(180deg, #2a2a3a, #1a1a2a); border-radius: 4px; box-shadow: 0 4px 10px rgba(0,0,0,.5); animation: fvl-chair 5s ease-in-out infinite alternate; }
.scn-feeble-venereal-without-love .table { position:absolute; bottom:22%; left:40%; width:50px; height:6px; background: linear-gradient(90deg, #2a2a3a, #1a1a2a); border-radius: 2px; box-shadow: 0 2px 8px rgba(0,0,0,.4); animation: fvl-table 7s ease-in-out infinite alternate; }
.scn-feeble-venereal-without-love .dust { position:absolute; top:50%; left:30%; width:4px; height:4px; background: rgba(200,200,220,.3); border-radius:50%; filter: blur(2px); animation: fvl-dust 12s linear infinite; }
@keyframes fvl-wall { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes fvl-floor { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes fvl-window { 0% { box-shadow: inset 0 0 15px #1a1a3a, 0 0 25px rgba(26,26,58,.5); } 50% { box-shadow: inset 0 0 20px #2a2a4a, 0 0 35px rgba(26,26,58,.7); } 100% { box-shadow: inset 0 0 15px #1a1a3a, 0 0 25px rgba(26,26,58,.5); } }
@keyframes fvl-lamp-flicker { 0% { opacity:.75; box-shadow: 0 0 15px 4px #806040, 0 0 30px 8px rgba(128,96,64,.2); } 50% { opacity:1; box-shadow: 0 0 25px 8px #a08060, 0 0 50px 16px rgba(160,128,96,.4); } 100% { opacity:.8; box-shadow: 0 0 18px 5px #806040, 0 0 35px 10px rgba(128,96,64,.3); } }
@keyframes fvl-figure-sink { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(4px) rotate(2deg); } }
@keyframes fvl-chair { 0% { transform: translateX(0); } 50% { transform: translateX(2px); } 100% { transform: translateX(-2px); } }
@keyframes fvl-table { 0% { transform: translateX(0); } 50% { transform: translateX(-3px); } 100% { transform: translateX(3px); } }
@keyframes fvl-dust { 0% { transform: translate(0,0); opacity:0; } 10% { opacity:1; } 90% { opacity:1; } 100% { transform: translate(30px,-60px); opacity:0; } }

/* nicostratus-phayllus */
.scn-nicostratus-phayllus {
  background: linear-gradient(180deg, #1a0e0a 0%, #2a140c 40%, #0a0604 100%),
              radial-gradient(ellipse at 50% 20%, #3a1a10 0%, transparent 70%);
}
.scn-nicostratus-phayllus .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a140c, #1a0e0a); animation: ncp-wall 8s ease-in-out infinite alternate; }
.scn-nicostratus-phayllus .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #0a0604, #050302); box-shadow: inset 0 8px 20px rgba(0,0,0,.8); animation: ncp-floor 12s ease-in-out infinite alternate; }
.scn-nicostratus-phayllus .door { position:absolute; top:10%; left:50%; width:60px; height:120px; transform:translateX(-50%); background: linear-gradient(180deg, #2a180c, #1a0c06); border:2px solid #3a1a10; border-radius: 2px; box-shadow: 0 0 30px rgba(0,0,0,.5); animation: ncp-door 6s ease-in-out infinite alternate; }
.scn-nicostratus-phayllus .king-symbol { position:absolute; top:12%; left:55%; width:20px; height:20px; background: radial-gradient(circle, #c0a030, #806020); border-radius:50%; box-shadow: 0 0 20px 6px rgba(192,160,48,.6); animation: ncp-king-pulse 2s ease-in-out infinite alternate; }
.scn-nicostratus-phayllus .figure { position:absolute; bottom:20%; width:30px; height:55px; background: linear-gradient(180deg, #1a0e0a, #0a0604); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; }
.scn-nicostratus-phayllus .figure.left { left:30%; animation: ncp-figure-left 4s ease-in-out infinite; }
.scn-nicostratus-phayllus .figure.right { right:30%; animation: ncp-figure-right 4s ease-in-out infinite reverse; }
.scn-nicostratus-phayllus .knife { position:absolute; bottom:25%; left:45%; width:4px; height:30px; background: linear-gradient(180deg, #c0b0a0, #908070); transform: rotate(25deg); box-shadow: 0 0 10px 2px rgba(192,176,160,.5); animation: ncp-knife 3s ease-in-out infinite alternate; }
.scn-nicostratus-phayllus .shadow { position:absolute; bottom:0; left:20%; right:20%; height:40%; background: linear-gradient(180deg, transparent, rgba(0,0,0,.7)); filter: blur(8px); animation: ncp-shadow 10s ease-in-out infinite alternate; }
@keyframes ncp-wall { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes ncp-floor { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes ncp-door { 0% { box-shadow: 0 0 20px rgba(0,0,0,.4); transform: translateX(-50%) scaleX(1); } 50% { box-shadow: 0 0 40px rgba(0,0,0,.7); transform: translateX(-50%) scaleX(0.98); } 100% { box-shadow: 0 0 20px rgba(0,0,0,.4); transform: translateX(-50%) scaleX(1); } }
@keyframes ncp-king-pulse { 0% { box-shadow: 0 0 15px 4px rgba(192,160,48,.5); transform: scale(1); } 50% { box-shadow: 0 0 30px 10px rgba(192,160,48,.8); transform: scale(1.1); } 100% { box-shadow: 0 0 15px 4px rgba(192,160,48,.5); transform: scale(1); } }
@keyframes ncp-figure-left { 0%,100% { transform: translateX(0) rotate(0); } 25% { transform: translateX(3px) rotate(1deg); } 50% { transform: translateX(6px) rotate(0); } 75% { transform: translateX(3px) rotate(-1deg); } }
@keyframes ncp-figure-right { 0%,100% { transform: translateX(0) rotate(0); } 25% { transform: translateX(-3px) rotate(-1deg); } 50% { transform: translateX(-6px) rotate(0); } 75% { transform: translateX(-3px) rotate(1deg); } }
@keyframes ncp-knife { 0% { transform: rotate(20deg) translateY(0); } 50% { transform: rotate(30deg) translateY(-2px); } 100% { transform: rotate(20deg) translateY(0); } }
@keyframes ncp-shadow { 0% { opacity:.5; } 50% { opacity:1; } 100% { opacity:.6; } }

/* no-lover-prostitutes-boy */
.scn-no-lover-prostitutes-boy {
  background: linear-gradient(180deg, #0e141a 0%, #1a202a 40%, #060a0e 100%),
              radial-gradient(ellipse at 50% 30%, #1a2a3a 0%, transparent 70%);
}
.scn-no-lover-prostitutes-boy .wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #1a202a, #0e141a); animation: nlp-wall 10s ease-in-out infinite alternate; }
.scn-no-lover-prostitutes-boy .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #0a0e12, #040608); box-shadow: inset 0 8px 20px rgba(0,0,0,.7); animation: nlp-floor 14s ease-in-out infinite alternate; }
.scn-no-lover-prostitutes-boy .window { position:absolute; top:10%; left:50%; width:50px; height:70px; transform:translateX(-50%); background: linear-gradient(180deg, #0a101a 0%, #1a202e 100%); border:2px solid #2a3040; border-radius:2px; box-shadow: inset 0 0 15px #1a202e, 0 0 20px rgba(26,32,46,.5); animation: nlp-window 6s ease-in-out infinite alternate; }
.scn-no-lover-prostitutes-boy .bed { position:absolute; bottom:15%; left:30%; right:30%; height:50px; background: linear-gradient(180deg, #1a202a, #0e141a); border-radius: 10px 10px 0 0; box-shadow: 0 6px 20px rgba(0,0,0,.5); animation: nlp-bed 5s ease-in-out infinite alternate; }
.scn-no-lover-prostitutes-boy .figure { position:absolute; width:25px; height:45px; background: linear-gradient(180deg, #0e141a, #060a0e); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; }
.scn-no-lover-prostitutes-boy .figure.top { bottom:38%; left:40%; animation: nlp-figure-top 3s ease-in-out infinite; }
.scn-no-lover-prostitutes-boy .figure.bottom { bottom:28%; left:50%; animation: nlp-figure-bottom 4s ease-in-out infinite; }
.scn-no-lover-prostitutes-boy .sheet { position:absolute; bottom:20%; left:35%; right:35%; height:15px; background: linear-gradient(180deg, #2a3040, #1a202a); border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,.4); animation: nlp-sheet 6s ease-in-out infinite alternate; }
.scn-no-lover-prostitutes-boy .tear { position:absolute; top:30%; left:45%; width:2px; height:6px; background: rgba(128,150,180,.4); border-radius: 50%; filter: blur(1px); animation: nlp-tear 8s linear infinite; }
@keyframes nlp-wall { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes nlp-floor { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes nlp-window { 0% { box-shadow: inset 0 0 15px #1a202e, 0 0 20px rgba(26,32,46,.5); } 50% { box-shadow: inset 0 0 20px #2a3040, 0 0 30px rgba(26,32,46,.7); } 100% { box-shadow: inset 0 0 15px #1a202e, 0 0 20px rgba(26,32,46,.5); } }
@keyframes nlp-bed { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes nlp-figure-top { 0%,100% { transform: translateX(0) rotate(0); } 25% { transform: translateX(4px) rotate(2deg); } 50% { transform: translateX(8px) rotate(0); } 75% { transform: translateX(4px) rotate(-2deg); } }
@keyframes nlp-figure-bottom { 0%,100% { transform: translateX(0) rotate(-1deg); } 25% { transform: translateX(-3px) rotate(0); } 50% { transform: translateX(-6px) rotate(1deg); } 75% { transform: translateX(-3px) rotate(0); } }
@keyframes nlp-sheet { 0% { transform: translateY(0); } 50% { transform: translateY(3px); } 100% { transform: translateY(0); } }
@keyframes nlp-tear { 0% { transform: translate(0,0); opacity:0; } 10% { opacity:0.6; } 90% { opacity:0.6; } 100% { transform: translate(10px,30px); opacity:0; } }

.scn-bed-avoid-offence {
  background: linear-gradient(180deg, #1c1828 0%, #2a1e30 40%, #181420 100%), 
              radial-gradient(ellipse at 30% 80%, #2a2530 0%, #0e0c14 70%);
}
.scn-bed-avoid-offence .wall { 
  position: absolute; inset: 0 0 20% 0; 
  background: linear-gradient(90deg, #2a1e30 0%, #3a2a40 50%, #2a1e30 100%); 
  border-bottom: 2px solid #3a2a40; 
  animation: bo-wall 14s ease-in-out infinite alternate;
}
.scn-bed-avoid-offence .shadow { 
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,0.6) 100%); 
  animation: bo-shadow 6s ease-in-out infinite alternate; 
}
.scn-bed-avoid-offence .window { 
  position: absolute; top: 15%; left: 65%; width: 40px; height: 50px; 
  background: linear-gradient(180deg, #4a5a6a 0%, #6a8a9a 100%); 
  border: 3px solid #3a3a4a; border-radius: 4px; 
  box-shadow: 0 0 20px 6px rgba(100,140,180,0.3); 
  animation: bo-window 8s ease-in-out infinite alternate;
}
.scn-bed-avoid-offence .bed { 
  position: absolute; bottom: 0; left: 10%; width: 80%; height: 30%; 
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%); 
  border-radius: 8% 8% 0 0; box-shadow: 0 -8px 20px rgba(0,0,0,0.5); 
}
.scn-bed-avoid-offence .figure-left { 
  position: absolute; bottom: 18%; left: 25%; width: 22px; height: 36px; 
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); 
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; 
  transform-origin: bottom center; 
  animation: bo-figure-left 4s ease-in-out infinite;
}
.scn-bed-avoid-offence .figure-right { 
  position: absolute; bottom: 18%; left: 55%; width: 22px; height: 36px; 
  background: linear-gradient(180deg, #3a2a3a 0%, #1a1a2a 100%); 
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; 
  transform-origin: bottom center; 
  animation: bo-figure-right 4.5s ease-in-out infinite;
}
.scn-bed-avoid-offence .candle { 
  position: absolute; bottom: 40%; left: 45%; width: 6px; height: 14px; 
  background: linear-gradient(180deg, #e0c080 0%, #c0a060 100%); 
  border-radius: 2px; 
  box-shadow: 0 0 8px 2px rgba(224,192,128,0.6); 
}
.scn-bed-avoid-offence .glow { 
  position: absolute; bottom: 38%; left: 42%; width: 20px; height: 20px; 
  background: radial-gradient(circle, #ffe080 0%, #e0b060 40%, transparent 70%); 
  border-radius: 50%; filter: blur(4px); 
  animation: bo-glow 3s ease-in-out infinite alternate;
}
@keyframes bo-shadow { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes bo-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes bo-window { 0% { filter: brightness(0.7); } 50% { filter: brightness(1.1); } 100% { filter: brightness(0.8); } }
@keyframes bo-figure-left { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(3px) rotate(2deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes bo-figure-right { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(1deg); } }
@keyframes bo-glow { 0% { opacity: 0.6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.3); } 100% { opacity: 0.7; transform: scale(0.9); } }

.scn-hermione-bad-women {
  background: linear-gradient(135deg, #1e1a2e 0%, #2a203a 40%, #141020 100%), 
              radial-gradient(ellipse at 80% 90%, #2c2840 0%, #0e0a1a 70%);
}
.scn-hermione-bad-women .wall { 
  position: absolute; inset: 0 0 30% 0; 
  background: linear-gradient(90deg, #2a203a 0%, #4a3a5a 50%, #2a203a 100%); 
  border-bottom: 3px solid #4a3a5a; 
}
.scn-hermione-bad-women .door { 
  position: absolute; top: 20%; right: 10%; width: 30px; height: 60px; 
  background: linear-gradient(180deg, #3a2a3a 0%, #1a1a1a 100%); 
  border: 2px solid #5a4a5a; border-radius: 4px; 
  transform-origin: left center; 
  animation: hb-door 6s ease-in-out infinite; 
}
.scn-hermione-bad-women .figure-standing { 
  position: absolute; bottom: 25%; right: 18%; width: 20px; height: 50px; 
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0820 100%); 
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; 
  transform-origin: bottom center; 
  animation: hb-standing 4s ease-in-out infinite; 
}
.scn-hermione-bad-women .figure-seated { 
  position: absolute; bottom: 20%; left: 20%; width: 24px; height: 34px; 
  background: linear-gradient(180deg, #3a2a4a 0%, #1a1a2a 100%); 
  border-radius: 40% 40% 50% 50% / 60% 60% 40% 40%; 
  transform-origin: bottom center; 
  animation: hb-seated 5s ease-in-out infinite; 
}
.scn-hermione-bad-women .table { 
  position: absolute; bottom: 20%; left: 35%; width: 40px; height: 12px; 
  background: linear-gradient(90deg, #4a3a3a 0%, #5a4a4a 100%); 
  border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.6); 
}
.scn-hermione-bad-women .lamp { 
  position: absolute; bottom: 28%; left: 38%; width: 8px; height: 12px; 
  background: radial-gradient(circle, #c09840 0%, #806020 80%); 
  border-radius: 50% 50% 20% 20%; box-shadow: 0 0 20px 6px #a08030; 
  animation: hb-lamp 3s ease-in-out infinite alternate; 
}
.scn-hermione-bad-women .shadow-door { 
  position: absolute; top: 20%; right: 8%; width: 20px; height: 60px; 
  background: linear-gradient(90deg, rgba(0,0,0,0.5), transparent); 
  filter: blur(3px); 
  animation: hb-shadow-door 8s ease-in-out infinite; 
}
@keyframes hb-door { 0% { transform: rotate(0) scaleX(1); } 50% { transform: rotate(-5deg) scaleX(1.05); } 100% { transform: rotate(0) scaleX(0.95); } }
@keyframes hb-standing { 0% { transform: translate(0, 0) rotate(-1deg); } 50% { transform: translate(2px, -2px) rotate(2deg); } 100% { transform: translate(0, 0) rotate(0); } }
@keyframes hb-seated { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-1px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes hb-lamp { 0% { opacity: 0.8; box-shadow: 0 0 15px 4px #a08030; } 50% { opacity: 1; box-shadow: 0 0 30px 10px #b09040; } 100% { opacity: 0.85; box-shadow: 0 0 18px 5px #a08030; } }
@keyframes hb-shadow-door { 0% { opacity: 0.3; } 50% { opacity: 0.6; } 100% { opacity: 0.4; } }

.scn-calumniators-answer {
  background: linear-gradient(180deg, #2a2530 0%, #3a3040 50%, #1e1a24 100%), 
              radial-gradient(ellipse at 50% 70%, #4a384a 0%, #141018 80%);
}
.scn-calumniators-answer .wall { 
  position: absolute; inset: 0 0 25% 0; 
  background: linear-gradient(90deg, #3a3040 0%, #5a4a5a 50%, #3a3040 100%); 
  border-bottom: 2px solid #5a4a5a; 
  animation: ca-wall 20s ease-in-out infinite alternate;
}
.scn-calumniators-answer .window { 
  position: absolute; top: 15%; left: 15%; width: 35px; height: 45px; 
  background: linear-gradient(180deg, #6a7a8a 0%, #8a9aaa 100%); 
  border: 3px solid #4a4a5a; border-radius: 4px; 
  box-shadow: 0 0 30px 10px rgba(130,150,180,0.3); 
  animation: ca-window 12s ease-in-out infinite alternate; 
}
.scn-calumniators-answer .figure-wife { 
  position: absolute; bottom: 20%; left: 40%; width: 22px; height: 42px; 
  background: linear-gradient(180deg, #4a3a5a 0%, #2a1a3a 100%); 
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; 
  transform-origin: bottom center; 
  animation: ca-wife 6s ease-in-out infinite; 
}
.scn-calumniators-answer .chair { 
  position: absolute; bottom: 15%; left: 55%; width: 30px; height: 40px; 
  background: linear-gradient(135deg, #5a4a4a 0%, #3a2a2a 100%); 
  border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.5); 
  animation: ca-chair 8s ease-in-out infinite; 
}
.scn-calumniators-answer .table { 
  position: absolute; bottom: 22%; left: 20%; width: 50px; height: 14px; 
  background: linear-gradient(90deg, #5a4a3a 0%, #6a5a4a 100%); 
  border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,0.4); 
}
.scn-calumniators-answer .vase { 
  position: absolute; bottom: 28%; left: 22%; width: 12px; height: 18px; 
  background: radial-gradient(ellipse at 50% 30%, #b07050 0%, #804020 100%); 
  border-radius: 40% 40% 30% 30% / 60% 60% 20% 20%; 
  box-shadow: 0 0 10px 2px rgba(160,80,40,0.3); 
  animation: ca-vase 7s ease-in-out infinite alternate; 
}
.scn-calumniators-answer .candle { 
  position: absolute; bottom: 30%; left: 30%; width: 6px; height: 16px; 
  background: linear-gradient(180deg, #d0b070 0%, #b09050 100%); 
  border-radius: 2px; 
  box-shadow: 0 0 12px 4px rgba(208,176,112,0.5); 
  animation: ca-candle 4s ease-in-out infinite alternate; 
}
@keyframes ca-wall { 0% { opacity: 0.85; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes ca-window { 0% { filter: brightness(0.8); } 50% { filter: brightness(1); } 100% { filter: brightness(0.9); } }
@keyframes ca-wife { 0% { transform: translate(0, 0) rotate(0); } 50% { transform: translate(3px, -2px) rotate(1deg); } 100% { transform: translate(0, 0) rotate(-1deg); } }
@keyframes ca-chair { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes ca-vase { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-1px) rotate(2deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes ca-candle { 0% { opacity: 0.7; transform: scaleY(1); } 50% { opacity: 0.95; transform: scaleY(1.1); } 100% { opacity: 0.8; transform: scaleY(0.95); } }

.scn-runaway-slave-mill {
  background: linear-gradient(135deg, #1a1818 0%, #2a2020 40%, #0e0a0a 100%), 
              radial-gradient(ellipse at 60% 40%, #2c2424 0%, #080404 80%);
}
.scn-runaway-slave-mill .wall { 
  position: absolute; inset: 0 0 30% 0; 
  background: linear-gradient(90deg, #2a2222 0%, #3a2a2a 50%, #2a2222 100%); 
  box-shadow: inset 0 0 20px rgba(0,0,0,0.7); 
}
.scn-runaway-slave-mill .millstone { 
  position: absolute; bottom: 30%; left: 50%; width: 70px; height: 70px; 
  margin-left: -35px; 
  background: radial-gradient(circle, #5a4a40 0%, #3a2a20 70%, #1a1008 100%); 
  border-radius: 50%; border: 4px solid #4a3a30; 
  box-shadow: inset 0 0 20px rgba(0,0,0,0.6), 0 8px 20px rgba(0,0,0,0.8); 
  animation: rm-millstone 10s linear infinite; 
}
.scn-runaway-slave-mill .master { 
  position: absolute; bottom: 20%; left: 20%; width: 24px; height: 52px; 
  background: linear-gradient(180deg, #0a0a0a 0%, #1a1010 100%); 
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; 
  transform-origin: bottom center; 
  animation: rm-master 4s ease-in-out infinite; 
}
.scn-runaway-slave-mill .slave { 
  position: absolute; bottom: 18%; left: 65%; width: 22px; height: 40px; 
  background: linear-gradient(180deg, #2a1a10 0%, #1a0a00 100%); 
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; 
  transform-origin: bottom center; 
  animation: rm-slave 5s ease-in-out infinite; 
}
.scn-runaway-slave-mill .beam { 
  position: absolute; top: 10%; left: 20%; width: 60%; height: 8px; 
  background: linear-gradient(90deg, #3a2a20 0%, #4a3a30 50%, #3a2a20 100%); 
  border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.5); 
  animation: rm-beam 15s ease-in-out infinite alternate; 
}
.scn-runaway-slave-mill .dust { 
  position: absolute; top: 20%; left: 30%; width: 6px; height: 6px; 
  background: radial-gradient(circle, rgba(180,160,140,0.4) 0%, transparent 70%); 
  filter: blur(4px); 
  animation: rm-dust 8s ease-in-out infinite; 
}
.scn-runaway-slave-mill .shadow { 
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.8) 100%); 
  animation: rm-shadow 6s ease-in-out infinite alternate; 
}
@keyframes rm-millstone { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes rm-master { 0% { transform: translate(0, 0) rotate(-2deg); } 50% { transform: translate(5px, -3px) rotate(3deg); } 100% { transform: translate(0, 0) rotate(-1deg); } }
@keyframes rm-slave { 0% { transform: translate(0, 0) rotate(1deg); } 50% { transform: translate(-3px, -2px) rotate(-2deg); } 100% { transform: translate(0, 0) rotate(0); } }
@keyframes rm-beam { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes rm-dust { 0% { transform: translate(0, 0) scale(1); opacity: 0.3; } 50% { transform: translate(10px, -15px) scale(1.5); opacity: 0.7; } 100% { transform: translate(20px, -30px) scale(0.5); opacity: 0; } }
@keyframes rm-shadow { 0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.8; } }

/* wife-says-husband-teacher */
.scn-wife-says-husband-teacher { background: linear-gradient(180deg, #f5e6c8 0%, #d4b68a 50%, #a67c52 100%), radial-gradient(ellipse at 50% 30%, #f5d6a8 0%, transparent 70%); }
.scn-wife-says-husband-teacher .bg-walls { position:absolute; inset:0; background: linear-gradient(135deg, #eedcc6 0%, #c6a87c 100%); }
.scn-wife-says-husband-teacher .window { position:absolute; top:12%; left:60%; width:24%; height:30%; background: radial-gradient(ellipse at center, #e0d4b0 0%, #a88a6e 100%); border:3px solid #6b4f3a; box-shadow: inset 0 0 20px rgba(200,170,130,.4); animation: wst-window 10s ease-in-out infinite alternate; }
.scn-wife-says-husband-teacher .desk { position:absolute; bottom:10%; left:30%; width:45%; height:8%; background: linear-gradient(180deg, #8b6f4a 0%, #5a3e2a 100%); border-radius: 4% 4% 0 0; box-shadow: 0 4px 10px rgba(0,0,0,.3); }
.scn-wife-says-husband-teacher .husband { position:absolute; bottom:18%; left:35%; width:10%; height:40%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a1a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: wst-husband 5s ease-in-out infinite; }
.scn-wife-says-husband-teacher .wife { position:absolute; bottom:18%; left:50%; width:9%; height:35%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; transform-origin: bottom center; animation: wst-wife 6s ease-in-out infinite; }
.scn-wife-says-husband-teacher .book { position:absolute; bottom:13%; left:45%; width:6%; height:5%; background: linear-gradient(180deg, #b8a080 0%, #8c7058 100%); border-radius: 5% 10% 10% 5% / 20% 40% 40% 20%; box-shadow: 0 2px 6px rgba(0,0,0,.4); animation: wst-book 4s ease-in-out infinite alternate; }
.scn-wife-says-husband-teacher .lamp { position:absolute; bottom:20%; left:65%; width:4%; height:12%; background: linear-gradient(180deg, #d4b88a 0%, #a0805a 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 20px 8px rgba(200,170,100,.5); animation: wst-lamp 3s ease-in-out infinite alternate; }
@keyframes wst-window { 0% { opacity:.8; transform: scaleX(1) } 50% { opacity:1; transform: scaleX(1.05) } 100% { opacity:.85; transform: scaleX(1) } }
@keyframes wst-husband { 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 wst-wife { 0% { transform: translateX(0) rotate(-2deg) scaleY(1) } 33% { transform: translateX(3px) rotate(0deg) scaleY(1.02) } 66% { transform: translateX(-3px) rotate(-1deg) scaleY(0.98) } 100% { transform: translateX(0) rotate(-2deg) scaleY(1) } }
@keyframes wst-book { 0% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(0deg) translateY(-2px) } 100% { transform: rotate(5deg) translateY(0) } }
@keyframes wst-lamp { 0% { opacity:.7; box-shadow: 0 0 15px 5px rgba(200,170,100,.4) } 50% { opacity:1; box-shadow: 0 0 30px 12px rgba(200,170,100,.7) } 100% { opacity:.8; box-shadow: 0 0 18px 6px rgba(200,170,100,.5) } }

/* false-conceptions-moles */
.scn-false-conceptions-moles { background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2a 50%, #0e0e1a 100%), radial-gradient(ellipse at 50% 80%, #3a3a4e 0%, transparent 70%); }
.scn-false-conceptions-moles .bg-dim { position:absolute; inset:0; background: linear-gradient(135deg, #1e1e2e 0%, #0a0a12 100%); }
.scn-false-conceptions-moles .table { position:absolute; bottom:15%; left:30%; width:45%; height:10%; background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%); border-radius: 5% 5% 0 0; box-shadow: 0 -4px 10px rgba(0,0,0,.5); }
.scn-false-conceptions-moles .woman { position:absolute; bottom:20%; left:45%; width:10%; height:38%; background: linear-gradient(180deg, #2e2e3e 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fcm-woman 7s ease-in-out infinite; }
.scn-false-conceptions-moles .mole-a { position:absolute; bottom:22%; left:35%; width:6%; height:4%; background: radial-gradient(circle at 30% 30%, #6a4a5a 0%, #3a2a3a 100%); border-radius: 60% 40% 50% 50%; box-shadow: 0 0 8px 2px rgba(0,0,0,.3); animation: fcm-mole 9s ease-in-out infinite; }
.scn-false-conceptions-moles .mole-b { position:absolute; bottom:24%; left:55%; width:5%; height:3%; background: radial-gradient(circle at 30% 30%, #5a3a4a 0%, #2a1a2a 100%); border-radius: 50% 60% 50% 50%; box-shadow: 0 0 6px 1px rgba(0,0,0,.3); animation: fcm-mole 11s ease-in-out infinite reverse; }
.scn-false-conceptions-moles .candle { position:absolute; bottom:28%; left:28%; width:2%; height:10%; background: linear-gradient(180deg, #c8a870 0%, #8c7048 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 12px 4px rgba(200,160,80,.4); animation: fcm-candle 4s ease-in-out infinite alternate; }
@keyframes fcm-woman { 0% { transform: translateX(0) rotate(0deg) } 33% { transform: translateX(4px) rotate(2deg) scaleY(1.01) } 66% { transform: translateX(-4px) rotate(-2deg) scaleY(0.99) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes fcm-mole { 0% { transform: scale(1) rotate(0deg) opacity:.7 } 50% { transform: scale(1.1) rotate(10deg) opacity:1 } 100% { transform: scale(1) rotate(-10deg) opacity:.6 } }
@keyframes fcm-candle { 0% { opacity:.6; transform: scaleY(1) } 50% { opacity:1; transform: scaleY(1.05) } 100% { opacity:.7; transform: scaleY(1) } }

/* eurydice-study-wise-women */
.scn-eurydice-study-wise-women { background: linear-gradient(180deg, #f0e0c0 0%, #c8a880 50%, #a08060 100%), radial-gradient(ellipse at 40% 50%, #f5d8a0 0%, transparent 60%); }
.scn-eurydice-study-wise-women .bg-study { position:absolute; inset:0; background: linear-gradient(135deg, #dcc8a8 0%, #b89878 100%); }
.scn-eurydice-study-wise-women .eurydice { position:absolute; bottom:20%; left:40%; width:10%; height:36%; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: eur-dice 6s ease-in-out infinite; }
.scn-eurydice-study-wise-women .scroll { position:absolute; bottom:18%; left:48%; width:8%; height:6%; background: linear-gradient(180deg, #e8d4a8 0%, #b89868 100%); border-radius: 10% 20% 20% 10% / 40% 60% 60% 40%; box-shadow: 0 2px 8px rgba(0,0,0,.3); animation: eur-scroll 5s ease-in-out infinite alternate; }
.scn-eurydice-study-wise-women .bust-left { position:absolute; bottom:10%; left:20%; width:8%; height:20%; background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; box-shadow: 0 0 10px 2px rgba(0,0,0,.2); animation: eur-bust 12s ease-in-out infinite; }
.scn-eurydice-study-wise-women .bust-right { position:absolute; bottom:10%; left:65%; width:8%; height:20%; background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; box-shadow: 0 0 10px 2px rgba(0,0,0,.2); animation: eur-bust 14s ease-in-out infinite reverse; }
.scn-eurydice-study-wise-women .lamp { position:absolute; bottom:22%; left:70%; width:3%; height:12%; background: linear-gradient(180deg, #d8c090 0%, #a88858 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 30px 8px rgba(200,160,80,.7); animation: eur-lamp 4s ease-in-out infinite alternate; }
.scn-eurydice-study-wise-women .book-stack { position:absolute; bottom:15%; left:23%; width:10%; height:4%; background: linear-gradient(180deg, #b09878 0%, #8a7050 100%); border-radius: 4% 4% 0 0; box-shadow: 0 2px 6px rgba(0,0,0,.3); animation: eur-stack 3s ease-in-out infinite; }
@keyframes eur-dice { 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 eur-scroll { 0% { transform: scaleX(1) translateY(0) } 50% { transform: scaleX(1.1) translateY(-3px) } 100% { transform: scaleX(1) translateY(0) } }
@keyframes eur-bust { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes eur-lamp { 0% { box-shadow: 0 0 20px 5px rgba(200,160,80,.5); opacity:.8 } 50% { box-shadow: 0 0 40px 12px rgba(200,160,80,.8); opacity:1 } 100% { box-shadow: 0 0 25px 7px rgba(200,160,80,.6); opacity:.85 } }
@keyframes eur-stack { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }

/* jewels-of-virtue */
.scn-jewels-of-virtue { background: linear-gradient(180deg, #4a2040 0%, #2a102a 50%, #1a0a1a 100%), radial-gradient(ellipse at 50% 40%, #6a385a 0%, transparent 60%); }
.scn-jewels-of-virtue .bg-velvet { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 60%, #5a2a4a 0%, #1a0a1a 100%); }
.scn-jewels-of-virtue .chest { position:absolute; bottom:20%; left:35%; width:30%; height:20%; background: linear-gradient(180deg, #8a6a4a 0%, #5a3a2a 100%); border-radius: 6% 6% 10% 10%; box-shadow: 0 8px 20px rgba(0,0,0,.6), inset 0 2px 4px rgba(255,200,150,.2); animation: jov-chest 8s ease-in-out infinite; }
.scn-jewels-of-virtue .gem-ruby { position:absolute; bottom:35%; left:42%; width:4%; height:4%; background: radial-gradient(circle at 30% 30%, #c85040 0%, #702030 100%); border-radius: 50%; box-shadow: 0 0 20px 6px rgba(200,80,60,.5); animation: jov-gem 5s ease-in-out infinite; }
.scn-jewels-of-virtue .gem-sapphire { position:absolute; bottom:33%; left:50%; width:4%; height:4%; background: radial-gradient(circle at 30% 30%, #6080c0 0%, #304060 100%); border-radius: 50%; box-shadow: 0 0 20px 6px rgba(80,120,200,.5); animation: jov-gem 6s ease-in-out infinite reverse; }
.scn-jewels-of-virtue .gem-emerald { position:absolute; bottom:36%; left:56%; width:4%; height:4%; background: radial-gradient(circle at 30% 30%, #60b040 0%, #307020 100%); border-radius: 50%; box-shadow: 0 0 20px 6px rgba(80,180,60,.5); animation: jov-gem 4s ease-in-out infinite; }
.scn-jewels-of-virtue .ray-left { position:absolute; top:10%; left:30%; width:25%; height:30%; background: linear-gradient(135deg, rgba(255,220,150,.15) 0%, transparent 100%); clip-path: polygon(0 0, 100% 0, 70% 100%, 0 100%); animation: jov-ray 9s ease-in-out infinite alternate; }
.scn-jewels-of-virtue .ray-right { position:absolute; top:10%; right:30%; width:25%; height:30%; background: linear-gradient(225deg, rgba(255,220,150,.15) 0%, transparent 100%); clip-path: polygon(0 0, 100% 0, 100% 100%, 30% 100%); animation: jov-ray 11s ease-in-out infinite alternate; }
@keyframes jov-chest { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(0) } }
@keyframes jov-gem { 0% { transform: scale(1) rotate(0deg) } 50% { transform: scale(1.2) rotate(15deg) } 100% { transform: scale(1) rotate(-15deg) } }
@keyframes jov-ray { 0% { opacity:.3 } 50% { opacity:.7 } 100% { opacity:.4 } }

/* ============ diogenes-avenge-enemy-be-good ============ */
.scn-diogenes-avenge-enemy-be-good {
  background: linear-gradient(180deg, #4a2e1a 0%, #3a2212 40%, #1e1108 100%), radial-gradient(ellipse at 50% 100%, #c87a3a 0%, transparent 70%);
}
.scn-diogenes-avenge-enemy-be-good .bg-wall {
  position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #5a3e2a 0%, #2e1a0e 100%); animation: dio1-wall 12s ease-in-out infinite alternate;
}
.scn-diogenes-avenge-enemy-be-good .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #2e1a0e 0%, #1e0f06 100%); border-radius: 60% 40% 0 0 / 30% 20% 0 0;
}
.scn-diogenes-avenge-enemy-be-good .table {
  position: absolute; bottom: 20%; left: 50%; width: 120px; height: 16px; transform: translateX(-50%); background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.6);
}
.scn-diogenes-avenge-enemy-be-good .candle {
  position: absolute; bottom: 36%; left: 50%; width: 12px; height: 40px; transform: translateX(-50%); background: linear-gradient(180deg, #e8d8b0 0%, #b8a080 100%); border-radius: 20% 20% 10% 10%; box-shadow: inset 0 -4px 6px rgba(0,0,0,.3);
}
.scn-diogenes-avenge-enemy-be-good .flame {
  position: absolute; bottom: 66%; left: 50%; width: 10px; height: 18px; transform: translateX(-50%); background: radial-gradient(ellipse 50% 70%, #ffcc60 0%, #e08030 60%, transparent 70%); border-radius: 50% 50% 40% 40% / 80% 80% 60% 60%; box-shadow: 0 0 20px 8px #e08030, 0 0 40px 16px rgba(224,128,48,.5); animation: dio1-flame 1.5s ease-in-out infinite alternate;
}
.scn-diogenes-avenge-enemy-be-good .figure {
  position: absolute; bottom: 22%; left: 36%; width: 24px; height: 60px; background: linear-gradient(180deg, #1a120a 0%, #0e0a06 100%); border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: dio1-figure 5s ease-in-out infinite;
}
.scn-diogenes-avenge-enemy-be-good .shadow {
  position: absolute; bottom: 20%; left: 34%; width: 40px; height: 8px; background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,.5) 0%, transparent 70%); border-radius: 50%; animation: dio1-shadow 5s ease-in-out infinite;
}
@keyframes dio1-wall { 0% { opacity: .85; } 50% { opacity: 1; } 100% { opacity: .8; } }
@keyframes dio1-flame { 0% { transform: translateX(-50%) scaleY(1) rotate(-2deg); opacity: .9; } 50% { transform: translateX(-50%) scaleY(1.12) rotate(2deg); opacity: 1; } 100% { transform: translateX(-50%) scaleY(0.95) rotate(-1deg); opacity: .85; } }
@keyframes dio1-figure { 0% { transform: rotate(-2deg) translateX(0); } 30% { transform: rotate(1deg) translateX(3px); } 60% { transform: rotate(-1deg) translateX(-2px); } 100% { transform: rotate(0) translateX(0); } }
@keyframes dio1-shadow { 0% { transform: scaleX(1) translateX(0); opacity: .5; } 50% { transform: scaleX(1.1) translateX(4px); opacity: .7; } 100% { transform: scaleX(0.95) translateX(-2px); opacity: .4; } }

/* ============ be-better-than-bad ============ */
.scn-be-better-than-bad {
  background: linear-gradient(180deg, #f5e8d0 0%, #d4c4a8 30%, #b8a48c 60%, #8a7a64 100%), radial-gradient(ellipse at 50% 80%, #fff8e0 0%, transparent 70%);
}
.scn-be-better-than-bad .sky {
  position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #b0d0e8 0%, #d8e8f0 70%, transparent 100%); animation: be2-sky 20s ease-in-out infinite alternate;
}
.scn-be-better-than-bad .window-frame {
  position: absolute; top: 8%; left: 50%; width: 120px; height: 160px; transform: translateX(-50%); background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%); border-radius: 8px 8px 4px 4px; box-shadow: inset 0 0 0 6px #5a4a2a; border: 4px solid #5a4a2a;
}
.scn-be-better-than-bad .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%; background: linear-gradient(180deg, #c8b08a 0%, #a08868 100%); border-radius: 20% 30% 0 0 / 10% 15% 0 0;
}
.scn-be-better-than-bad .desk {
  position: absolute; bottom: 25%; left: 50%; width: 140px; height: 12px; transform: translateX(-50%); background: linear-gradient(180deg, #7a5a3a 0%, #5a3a22 100%); border-radius: 3px; box-shadow: 0 6px 10px rgba(0,0,0,.2);
}
.scn-be-better-than-bad .book {
  position: absolute; bottom: 30%; left: 46%; width: 30px; height: 40px; background: linear-gradient(180deg, #a07050 0%, #704030 100%); border-radius: 2px; transform: rotate(-8deg); box-shadow: 2px 2px 6px rgba(0,0,0,.3); animation: be2-book 10s ease-in-out infinite alternate;
}
.scn-be-better-than-bad .figure {
  position: absolute; bottom: 26%; left: 52%; width: 28px; height: 70px; background: linear-gradient(180deg, #c87050 0%, #8a5030 100%); border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: be2-figure 6s ease-in-out infinite;
}
.scn-be-better-than-bad .light-beam {
  position: absolute; top: 10%; left: 46%; width: 80px; height: 200px; background: linear-gradient(180deg, rgba(255,255,220,.3) 0%, transparent 100%); transform: rotate(8deg); filter: blur(8px); animation: be2-beam 8s ease-in-out infinite alternate;
}
@keyframes be2-sky { 0% { opacity: .7; } 50% { opacity: 1; } 100% { opacity: .8; } }
@keyframes be2-book { 0% { transform: rotate(-8deg) translateY(0); } 50% { transform: rotate(-12deg) translateY(-2px); } 100% { transform: rotate(-6deg) translateY(0); } }
@keyframes be2-figure { 0% { transform: rotate(-2deg) translateX(0); } 35% { transform: rotate(2deg) translateX(4px); } 65% { transform: rotate(-1deg) translateX(-3px); } 100% { transform: rotate(0) translateX(0); } }
@keyframes be2-beam { 0% { opacity: .4; transform: rotate(6deg) scaleY(1); } 100% { opacity: .8; transform: rotate(10deg) scaleY(1.1); } }

/* ============ slander-recoils-on-censurer ============ */
.scn-slander-recoils-on-censurer {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 30%, #3e2e1e 60%, #1e1208 100%), radial-gradient(ellipse at 50% 60%, #4a3a2a 0%, transparent 70%);
}
.scn-slander-recoils-on-censurer .bg-deep {
  position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 20%, #2e2e42 0%, transparent 70%); animation: sla3-deep 15s ease-in-out infinite alternate;
}
.scn-slander-recoils-on-censurer .table {
  position: absolute; bottom: 22%; left: 50%; width: 100px; height: 14px; transform: translateX(-50%); background: linear-gradient(180deg, #4a3a2a 0%, #2a1e12 100%); border-radius: 3px; box-shadow: 0 4px 12px rgba(0,0,0,.7);
}
.scn-slander-recoils-on-censurer .candle {
  position: absolute; bottom: 38%; left: 50%; width: 10px; height: 36px; transform: translateX(-50%); background: linear-gradient(180deg, #d8c8a0 0%, #a09070 100%); border-radius: 15% 15% 8% 8%; box-shadow: inset 0 -4px 6px rgba(0,0,0,.4);
}
.scn-slander-recoils-on-censurer .flame {
  position: absolute; bottom: 65%; left: 50%; width: 8px; height: 16px; transform: translateX(-50%); background: radial-gradient(ellipse 50% 70%, #ffb060 0%, #c07030 60%, transparent 70%); border-radius: 50% 50% 40% 40% / 80% 80% 60% 60%; box-shadow: 0 0 18px 6px #c07030, 0 0 36px 12px rgba(192,112,48,.4); animation: sla3-flame 2s ease-in-out infinite alternate;
}
.scn-slander-recoils-on-censurer .figure {
  position: absolute; bottom: 24%; left: 38%; width: 22px; height: 55px; background: linear-gradient(180deg, #1e1a2a 0%, #0e0a18 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sla3-figure 7s ease-in-out infinite;
}
.scn-slander-recoils-on-censurer .mirror {
  position: absolute; bottom: 30%; left: 60%; width: 40px; height: 60px; background: linear-gradient(180deg, rgba(200,180,160,.15) 0%, rgba(200,180,160,.05) 100%); border-radius: 5px; border: 2px solid #5a4a3a; box-shadow: inset 0 0 10px rgba(0,0,0,.5); animation: sla3-mirror 8s ease-in-out infinite alternate;
}
@keyframes sla3-deep { 0% { opacity: .8; } 50% { opacity: 1; } 100% { opacity: .7; } }
@keyframes sla3-flame { 0% { transform: translateX(-50%) scaleY(1) rotate(-3deg); opacity: .85; } 50% { transform: translateX(-50%) scaleY(1.15) rotate(2deg); opacity: 1; } 100% { transform: translateX(-50%) scaleY(0.9) rotate(0deg); opacity: .8; } }
@keyframes sla3-figure { 0% { transform: rotate(-1deg) translateX(0); } 40% { transform: rotate(3deg) translateX(5px); } 70% { transform: rotate(-2deg) translateX(-3px); } 100% { transform: rotate(0) translateX(0); } }
@keyframes sla3-mirror { 0% { opacity: .3; box-shadow: inset 0 0 10px rgba(0,0,0,.5); } 100% { opacity: .6; box-shadow: inset 0 0 20px rgba(0,0,0,.7); } }

/* ============ plato-people-unseemly-reflect ============ */
.scn-plato-people-unseemly-reflect {
  background: linear-gradient(180deg, #cab8a0 0%, #b8a08c 30%, #8a7860 60%, #5a4a3a 100%), radial-gradient(ellipse at 50% 70%, #d8c8b0 0%, transparent 60%);
}
.scn-plato-people-unseemly-reflect .bg-wall {
  position: absolute; inset: 0 0 35% 0; background: linear-gradient(180deg, #cab8a0 0%, #a09078 100%); animation: pla4-wall 18s ease-in-out infinite alternate;
}
.scn-plato-people-unseemly-reflect .window {
  position: absolute; top: 10%; left: 15%; width: 80px; height: 120px; background: linear-gradient(180deg, #c8d8e8 0%, #e0e8f0 80%); border-radius: 6px; border: 6px solid #7a6a4a; box-shadow: inset 0 0 20px rgba(0,0,0,.2); animation: pla4-window 12s ease-in-out infinite alternate;
}
.scn-plato-people-unseemly-reflect .bookshelf {
  position: absolute; bottom: 38%; left: 70%; width: 60px; height: 100px; background: linear-gradient(180deg, #6a5a3a 0%, #4a3a22 100%); border-radius: 3px; box-shadow: -2px 0 8px rgba(0,0,0,.3); border-left: 4px solid #5a4a2a;
}
.scn-plato-people-unseemly-reflect .desk {
  position: absolute; bottom: 22%; left: 30%; width: 120px; height: 14px; transform: rotate(-3deg); background: linear-gradient(180deg, #8a7048 0%, #5a4a2a 100%); border-radius: 3px; box-shadow: 0 6px 12px rgba(0,0,0,.2);
}
.scn-plato-people-unseemly-reflect .chair {
  position: absolute; bottom: 26%; left: 48%; width: 40px; height: 50px; background: linear-gradient(180deg, #6a5a3a 0%, #3a2a1a 100%); border-radius: 30% 30% 10% 10% / 40% 40% 20% 20%; transform: rotate(2deg); animation: pla4-chair 12s ease-in-out infinite alternate;
}
.scn-plato-people-unseemly-reflect .figure {
  position: absolute; bottom: 28%; left: 50%; width: 26px; height: 62px; transform: translateX(-50%); background: linear-gradient(180deg, #7a5a42 0%, #4a3020 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pla4-figure 9s ease-in-out infinite;
}
.scn-plato-people-unseemly-reflect .lamp {
  position: absolute; bottom: 50%; left: 20%; width: 8px; height: 30px; background: linear-gradient(180deg, #b8a080 0%, #8a7050 100%); border-radius: 10%; box-shadow: 0 0 20px 8px rgba(200,170,120,.3); animation: pla4-lamp 6s ease-in-out infinite alternate;
}
@keyframes pla4-wall { 0% { opacity: .85; } 50% { opacity: 1; } 100% { opacity: .9; } }
@keyframes pla4-window { 0% { opacity: .6; } 50% { opacity: .9; } 100% { opacity: .7; } }
@keyframes pla4-chair { 0% { transform: rotate(2deg) translateY(0); } 50% { transform: rotate(4deg) translateY(-2px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes pla4-figure { 0% { transform: translateX(-50%) rotate(-2deg); } 40% { transform: translateX(-50%) rotate(3deg) translateY(-3px); } 70% { transform: translateX(-50%) rotate(-1deg) translateY(2px); } 100% { transform: translateX(-50%) rotate(0); } }
@keyframes pla4-lamp { 0% { box-shadow: 0 0 20px 8px rgba(200,170,120,.3); opacity: .8; } 50% { box-shadow: 0 0 30px 14px rgba(200,170,120,.5); opacity: 1; } 100% { box-shadow: 0 0 15px 5px rgba(200,170,120,.2); opacity: .7; } }

/* sappho-roses-pieria */
.scn-sappho-roses-pieria {
  background: linear-gradient(180deg, #fce4a8 0%, #f8c78a 50%, #e8a06c 100%),
              radial-gradient(ellipse at 70% 30%, #ffe5b4 0%, transparent 70%);
}
.scn-sappho-roses-pieria .window-light {
  position: absolute; top: 8%; left: 60%; width: 30%; height: 40%;
  background: linear-gradient(180deg, #fff5d6 0%, #ffdd99 100%);
  border-radius: 4px; box-shadow: 0 0 40px 10px rgba(255,220,150,.5);
  animation: srp-window 6s ease-in-out infinite alternate;
}
.scn-sappho-roses-pieria .desk {
  position: absolute; bottom: 18%; left: 20%; right: 30%; height: 12%;
  background: linear-gradient(180deg, #8b5e3c 0%, #6a3e20 100%);
  border-radius: 4px; box-shadow: 0 6px 12px rgba(0,0,0,.3);
  transform: perspective(400px) rotateX(15deg);
}
.scn-sappho-roses-pieria .figure {
  position: absolute; bottom: 30%; left: 24%; width: 14%; height: 32%;
  background: radial-gradient(ellipse 70% 60% at 50% 40%, #4a2c1a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: srp-figure 5s ease-in-out infinite alternate;
}
.scn-sappho-roses-pieria .scroll {
  position: absolute; bottom: 22%; left: 38%; width: 20%; height: 8%;
  background: linear-gradient(180deg, #f4e6c8 0%, #d4c4a0 100%);
  border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,.3);
  transform: rotate(-2deg);
}
.scn-sappho-roses-pieria .rose-vine {
  position: absolute; top: 10%; left: 5%; width: 8%; height: 70%;
  background: linear-gradient(180deg, #3a6a2a 0%, #2a4a1a 100%);
  border-radius: 40%; filter: blur(1px);
  animation: srp-vine 15s ease-in-out infinite alternate;
}
.scn-sappho-roses-pieria .rose-blossom {
  position: absolute; top: 35%; left: 9%; width: 8%; height: 10%;
  background: radial-gradient(circle, #d48b6c 0%, #a8644a 60%, #6a2a1a 100%);
  border-radius: 50%;
  box-shadow: 0 0 12px 6px rgba(200,100,60,.3);
  animation: srp-blossom 4s ease-in-out infinite alternate;
}
.scn-sappho-roses-pieria .petal {
  position: absolute; top: 20%; left: 15%; width: 4%; height: 3%;
  background: radial-gradient(circle, #e8a080 0%, #bc6848 100%);
  border-radius: 50% 10% 50% 10%;
  animation: srp-petal 25s linear infinite;
}
@keyframes srp-window {
  0% { opacity: .8; transform: scaleX(1); }
  50% { opacity: 1; transform: scaleX(1.02); }
  100% { opacity: .85; transform: scaleX(.98); }
}
@keyframes srp-figure {
  0% { transform: translateX(0) rotate(2deg); }
  50% { transform: translateX(2px) rotate(-1deg); }
  100% { transform: translateX(-1px) rotate(1deg); }
}
@keyframes srp-vine {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-5px) scaleY(1.03); }
  100% { transform: translateY(0) scaleY(.97); }
}
@keyframes srp-blossom {
  0% { transform: scale(1) rotate(0deg); opacity: .9; }
  50% { transform: scale(1.1) rotate(5deg); opacity: 1; }
  100% { transform: scale(.95) rotate(-3deg); opacity: .85; }
}
@keyframes srp-petal {
  0% { transform: translate(0,0) rotate(0deg); opacity: .6; }
  25% { transform: translate(-10px,20px) rotate(90deg); opacity: .4; }
  50% { transform: translate(5px,50px) rotate(180deg); opacity: .2; }
  75% { transform: translate(-15px,80px) rotate(270deg); opacity: .3; }
  100% { transform: translate(10px,120px) rotate(360deg); opacity: 0; }
}

/* consolatory-daughter-death */
.scn-consolatory-daughter-death {
  background: linear-gradient(180deg, #1a1a3a 0%, #0e0e2a 30%, #1a1a3a 100%),
              radial-gradient(ellipse at 50% 60%, #2a2a4a 0%, transparent 60%);
}
.scn-consolatory-daughter-death .window-night {
  position: absolute; top: 5%; left: 55%; width: 30%; height: 45%;
  background: linear-gradient(180deg, #0a0a2a 0%, #141436 100%);
  border-radius: 4px; box-shadow: 0 0 20px rgba(0,0,0,.8);
  animation: cdd-window 10s ease-in-out infinite alternate;
}
.scn-consolatory-daughter-death .candle {
  position: absolute; bottom: 40%; left: 35%; width: 3%; height: 12%;
  background: linear-gradient(180deg, #f0c060 0%, #b07830 100%);
  border-radius: 2px; box-shadow: 0 0 30px 15px rgba(200,150,60,.4);
  animation: cdd-candle 3s ease-in-out infinite alternate;
}
.scn-consolatory-daughter-death .desk {
  position: absolute; bottom: 10%; left: 15%; right: 15%; height: 14%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e06 100%);
  border-radius: 4px; box-shadow: 0 -4px 8px rgba(0,0,0,.5);
}
.scn-consolatory-daughter-death .figure-grieving {
  position: absolute; bottom: 28%; left: 22%; width: 16%; height: 28%;
  background: radial-gradient(ellipse 60% 70% at 50% 40%, #1a1520 0%, #0a0810 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cdd-figure 6s ease-in-out infinite;
}
.scn-consolatory-daughter-death .doll {
  position: absolute; bottom: 22%; left: 52%; width: 6%; height: 10%;
  background: radial-gradient(ellipse 50% 60% at 50% 40%, #8a6a4a 0%, #4a2a1a 100%);
  border-radius: 50% 50% 30% 30%;
  transform: rotate(10deg);
  animation: cdd-doll 8s ease-in-out infinite alternate;
}
.scn-consolatory-daughter-death .shadow-box {
  position: absolute; bottom: 10%; left: 45%; width: 8%; height: 6%;
  background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 70%);
}
@keyframes cdd-window {
  0% { opacity: .5; box-shadow: inset 0 0 30px rgba(0,0,0,.8); }
  50% { opacity: .7; box-shadow: inset 0 0 20px rgba(0,0,0,.6); }
  100% { opacity: .4; box-shadow: inset 0 0 40px rgba(0,0,0,.9); }
}
@keyframes cdd-candle {
  0% { opacity: .8; transform: scaleX(1); box-shadow: 0 0 20px 10px rgba(200,150,60,.3); }
  50% { opacity: 1; transform: scaleX(1.05); box-shadow: 0 0 35px 15px rgba(200,150,60,.5); }
  100% { opacity: .7; transform: scaleX(.95); box-shadow: 0 0 15px 5px rgba(200,150,60,.2); }
}
@keyframes cdd-figure {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-2px) rotate(2deg); }
  60% { transform: translateY(1px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes cdd-doll {
  0% { transform: rotate(10deg) translateY(0); }
  50% { transform: rotate(15deg) translateY(-2px); }
  100% { transform: rotate(5deg) translateY(0); }
}

/* patience-in-calamity */
.scn-patience-in-calamity {
  background: linear-gradient(180deg, #a8c8e0 0%, #c8dce8 30%, #b8d0d8 100%),
              radial-gradient(ellipse at 60% 40%, #e0f0f8 0%, transparent 60%);
}
.scn-patience-in-calamity .window-bright {
  position: absolute; top: 5%; left: 50%; width: 35%; height: 50%;
  background: linear-gradient(180deg, #e0f0ff 0%, #d0e8f0 100%);
  border-radius: 4px; box-shadow: inset 0 0 30px rgba(255,255,240,.3);
  animation: pic-window 8s ease-in-out infinite alternate;
}
.scn-patience-in-calamity .desk {
  position: absolute; bottom: 20%; left: 18%; right: 28%; height: 14%;
  background: linear-gradient(180deg, #7a5a3a 0%, #5a3a22 100%);
  border-radius: 4px; box-shadow: 0 6px 12px rgba(0,0,0,.3);
  transform: perspective(400px) rotateX(10deg);
}
.scn-patience-in-calamity .chair {
  position: absolute; bottom: 20%; left: 8%; width: 14%; height: 30%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a140a 100%);
  border-radius: 10% 10% 4% 4%;
  transform-origin: bottom center;
}
.scn-patience-in-calamity .figure-writing {
  position: absolute; bottom: 34%; left: 22%; width: 16%; height: 30%;
  background: radial-gradient(ellipse 60% 70% at 50% 40%, #2a1a0e 0%, #0e0804 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pic-figure 4s ease-in-out infinite alternate;
}
.scn-patience-in-calamity .curtain {
  position: absolute; top: 5%; left: 30%; width: 6%; height: 55%;
  background: linear-gradient(180deg, #a8b8c0 0%, #889098 100%);
  border-radius: 10% 60% 10% 60%;
  filter: blur(1px);
  animation: pic-curtain 12s ease-in-out infinite alternate;
}
.scn-patience-in-calamity .inkwell {
  position: absolute; bottom: 30%; left: 38%; width: 4%; height: 6%;
  background: radial-gradient(circle, #2a2a2a 0%, #0a0a0a 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,.5);
}
.scn-patience-in-calamity .book {
  position: absolute; bottom: 28%; left: 40%; width: 12%; height: 6%;
  background: linear-gradient(180deg, #d4b478 0%, #a08050 100%);
  border-radius: 2px;
  transform: rotate(3deg);
}
@keyframes pic-window {
  0% { opacity: .9; transform: scaleX(1); }
  50% { opacity: 1; transform: scaleX(1.01); background: #e4f4ff; }
  100% { opacity: .85; transform: scaleX(.99); }
}
@keyframes pic-figure {
  0% { transform: translateX(0) rotate(1deg); }
  50% { transform: translateX(3px) rotate(-1deg); }
  100% { transform: translateX(1px) rotate(0deg); }
}
@keyframes pic-curtain {
  0% { transform: translateX(0) scaleX(1); }
  50% { transform: translateX(-4px) scaleX(1.05); }
  100% { transform: translateX(2px) scaleX(.95); }
}
@keyframes pic-chair {
  0% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
  100% { transform: translateY(0); }
}

/* memory-of-her-gaiety */
.scn-memory-of-her-gaiety {
  background: linear-gradient(180deg, #ffe5c0 0%, #fdd8a0 40%, #f0c890 100%),
              radial-gradient(ellipse at 30% 20%, #fff0e0 0%, transparent 50%);
}
.scn-memory-of-her-gaiety .window-warm {
  position: absolute; top: 5%; left: 10%; width: 40%; height: 45%;
  background: linear-gradient(180deg, #fff8e0 0%, #ffeac0 100%);
  border-radius: 6px; box-shadow: 0 0 30px rgba(255,220,150,.5);
  animation: mog-window 7s ease-in-out infinite alternate;
}
.scn-memory-of-her-gaiety .nurse-figure {
  position: absolute; bottom: 30%; left: 25%; width: 18%; height: 35%;
  background: radial-gradient(ellipse 60% 70% at 50% 40%, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mog-nurse 5s ease-in-out infinite alternate;
}
.scn-memory-of-her-gaiety .child-figure {
  position: absolute; bottom: 28%; left: 40%; width: 12%; height: 22%;
  background: radial-gradient(ellipse 50% 60% at 50% 40%, #d4b08a 0%, #a08060 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mog-child 6s ease-in-out infinite alternate;
}
.scn-memory-of-her-gaiety .bed {
  position: absolute; bottom: 12%; left: 30%; width: 40%; height: 18%;
  background: linear-gradient(180deg, #e8d0b0 0%, #c0a080 100%);
  border-radius: 10px; box-shadow: 0 6px 16px rgba(0,0,0,.2);
}
.scn-memory-of-her-gaiety .rug {
  position: absolute; bottom: 5%; left: 20%; width: 50%; height: 6%;
  background: linear-gradient(90deg, #c86a3a 0%, #d49060 30%, #b05a2a 60%, #c87848 100%);
  border-radius: 20%;
  animation: mog-rug 15s ease-in-out infinite alternate;
}
.scn-memory-of-her-gaiety .toy {
  position: absolute; bottom: 20%; left: 20%; width: 6%; height: 6%;
  background: radial-gradient(circle, #e0a060 0%, #b06830 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,.2);
}
.scn-memory-of-her-gaiety .curtain-soft {
  position: absolute; top: 5%; left: 50%; width: 5%; height: 50%;
  background: linear-gradient(180deg, #d4c0a0 0%, #b0a080 100%);
  border-radius: 10% 80% 10% 80%;
  filter: blur(1px);
  animation: mog-curtain 10s ease-in-out infinite alternate;
}
@keyframes mog-window {
  0% { opacity: .9; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.01); }
  100% { opacity: .85; transform: scaleY(.98); }
}
@keyframes mog-nurse {
  0% { transform: translateX(0) rotate(1deg); }
  50% { transform: translateX(3px) rotate(-1deg); }
  100% { transform: translateX(1px) rotate(0deg); }
}
@keyframes mog-child {
  0% { transform: translateY(0) rotate(-3deg); }
  50% { transform: translateY(-3px) rotate(2deg); }
  100% { transform: translateY(1px) rotate(-1deg); }
}
@keyframes mog-rug {
  0% { transform: translateX(0) scaleX(1); }
  50% { transform: translateX(5px) scaleX(1.02); }
  100% { transform: translateX(-3px) scaleX(.98); }
}
@keyframes mog-curtain {
  0% { transform: translateX(0) scaleX(1); }
  50% { transform: translateX(-3px) scaleX(1.05); }
  100% { transform: translateX(2px) scaleX(.95); }
}

.scn-misfortune-cannot-bear-exhortation {
  background:
    radial-gradient(ellipse at 50% 100%, #2a1a1a 0%, transparent 70%),
    linear-gradient(180deg, #1a1118 0%, #2c1a1e 50%, #3a2020 100%);
}
.scn-misfortune-cannot-bear-exhortation .wall-bg {
  position:absolute; inset:0; background: linear-gradient(135deg, #2a1a1e 0%, #1e1214 100%);
  animation: mce-wall 12s ease-in-out infinite alternate;
}
.scn-misfortune-cannot-bear-exhortation .floor {
  position:absolute; bottom:0; left:0; right:0; height:20%;
  background: linear-gradient(180deg, #3a2a28 0%, #1e1412 100%);
  border-radius: 10% 10% 0 0 / 30% 30% 0 0;
  box-shadow: inset 0 8px 12px rgba(0,0,0,0.5);
}
.scn-misfortune-cannot-bear-exhortation .figure-grieving {
  position:absolute; bottom:22%; left:50%; width:40px; height:70px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2e2025 0%, #1f1518 60%, #0f0a0c 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 40% 40%;
  animation: mce-figure 8s ease-in-out infinite;
}
.scn-misfortune-cannot-bear-exhortation .shadow-hand {
  position:absolute; bottom:40%; left:30%; width:30px; height:20px;
  background: radial-gradient(circle at 50% 100%, #1a0a0e 0%, transparent 70%);
  border-radius: 50% / 100% 100% 0 0;
  filter: blur(2px);
  animation: mce-hand 6s ease-in-out infinite alternate;
}
.scn-misfortune-cannot-bear-exhortation .candle-glow {
  position:absolute; bottom:50%; left:20%; width:8px; height:12px;
  background: radial-gradient(circle, #e8c060 0%, #b08030 50%, transparent 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 20px 10px #b08030, 0 0 40px 20px rgba(176,128,48,0.3);
  animation: mce-candle 3s ease-in-out infinite alternate;
}
.scn-misfortune-cannot-bear-exhortation .tear-drop {
  position:absolute; bottom:38%; left:45%; width:4px; height:8px;
  background: radial-gradient(circle, #b0a8b0 0%, transparent 100%);
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  filter: blur(0.5px);
  animation: mce-tear 4s ease-in-out infinite;
}
.scn-misfortune-cannot-bear-exhortation .dust-mote.m1 {
  position:absolute; top:30%; left:10%; width:3px; height:3px;
  background: rgba(200,180,160,0.4);
  border-radius: 50%;
  filter: blur(1px);
  animation: mce-dust 22s linear infinite;
}
.scn-misfortune-cannot-bear-exhortation .dust-mote.m2 {
  position:absolute; top:60%; left:80%; width:2px; height:2px;
  background: rgba(200,180,160,0.3);
  border-radius: 50%;
  filter: blur(1px);
  animation: mce-dust 30s linear infinite reverse;
  animation-delay: -10s;
}

@keyframes mce-wall { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes mce-figure { 0%,100% { transform: translateX(-50%) translateY(0) rotate(0deg) } 25% { transform: translateX(-48%) translateY(-2px) rotate(-2deg) } 50% { transform: translateX(-50%) translateY(0) rotate(0deg) } 75% { transform: translateX(-52%) translateY(-1px) rotate(2deg) } }
@keyframes mce-hand { 0% { transform: translateX(0) scale(1) } 50% { transform: translateX(8px) scale(1.1) } 100% { transform: translateX(0) scale(1) } }
@keyframes mce-candle { 0% { box-shadow: 0 0 15px 5px #b08030, 0 0 30px 10px rgba(176,128,48,0.2); opacity:0.9 } 50% { box-shadow: 0 0 25px 10px #d09040, 0 0 50px 20px rgba(208,144,64,0.4); opacity:1 } 100% { box-shadow: 0 0 18px 6px #b08030, 0 0 35px 12px rgba(176,128,48,0.25); opacity:0.9 } }
@keyframes mce-tear { 0%,100% { transform: translateY(0); opacity:0.6 } 50% { transform: translateY(6px); opacity:0.9 } }
@keyframes mce-dust { 0% { transform: translateY(0) translateX(0) } 50% { transform: translateY(-30px) translateX(20px) } 100% { transform: translateY(-60px) translateX(40px) } }

.scn-flattery-rename-vice-virtue {
  background:
    radial-gradient(ellipse at 30% 70%, #2a2a3a 0%, transparent 80%),
    linear-gradient(180deg, #1e1e2e 0%, #2c2c3e 50%, #1a1a2a 100%);
}
.scn-flattery-rename-vice-virtue .wall-dark {
  position:absolute; inset:0; background: linear-gradient(135deg, #1e1e2e 0%, #2a2a3a 100%);
  animation: fvr-wall 15s ease-in-out infinite alternate;
}
.scn-flattery-rename-vice-virtue .mirror-frame {
  position:absolute; top:20%; left:50%; width:120px; height:160px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%);
  border-radius: 10% / 15%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.6);
}
.scn-flattery-rename-vice-virtue .mirror-surface {
  position:absolute; top:22%; left:50%; width:104px; height:144px;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #5a5a6a 0%, #3a3a4a 50%, #7a7a8a 100%);
  border-radius: 8% / 12%;
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.4);
  animation: fvr-mirror 10s ease-in-out infinite alternate;
}
.scn-flattery-rename-vice-virtue .figure-flatterer {
  position:absolute; bottom:15%; left:25%; width:30px; height:60px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: fvr-flatter 6s ease-in-out infinite;
}
.scn-flattery-rename-vice-virtue .mask-vice {
  position:absolute; bottom:40%; left:35%; width:24px; height:16px;
  background: linear-gradient(135deg, #6a3a3a 0%, #4a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 50% 30% 40%;
  animation: fvr-maskv 5s ease-in-out infinite alternate;
}
.scn-flattery-rename-vice-virtue .mask-virtue {
  position:absolute; bottom:40%; left:65%; width:24px; height:16px;
  background: linear-gradient(135deg, #3a4a3a 0%, #1a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 50% 30% 40%;
  animation: fvr-masku 5s ease-in-out infinite alternate-reverse;
}
.scn-flattery-rename-vice-virtue .scale-beam {
  position:absolute; bottom:38%; left:50%; width:80px; height:4px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #6a5a4a 0%, #8a7a6a 50%, #6a5a4a 100%);
  border-radius: 2px;
  animation: fvr-beam 7s ease-in-out infinite;
}
.scn-flattery-rename-vice-virtue .scale-pan.left {
  position:absolute; bottom:30%; left:calc(50% - 30px); width:18px; height:14px;
  background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%);
  border-radius: 0 0 40% 40%;
  transform-origin: top center;
  animation: fvr-panL 7s ease-in-out infinite;
}
.scn-flattery-rename-vice-virtue .scale-pan.right {
  position:absolute; bottom:30%; left:calc(50% + 12px); width:18px; height:14px;
  background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%);
  border-radius: 0 0 40% 40%;
  transform-origin: top center;
  animation: fvr-panR 7s ease-in-out infinite;
}
@keyframes fvr-wall { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes fvr-mirror { 0% { opacity:0.7 } 50% { opacity:0.9 } 100% { opacity:0.6 } }
@keyframes fvr-flatter { 0%,100% { transform: translateX(0) rotate(0deg) } 30% { transform: translateX(5px) rotate(3deg) } 60% { transform: translateX(-3px) rotate(-2deg) } }
@keyframes fvr-maskv { 0% { transform: scale(1) rotate(0deg) } 50% { transform: scale(1.1) rotate(5deg) } 100% { transform: scale(1) rotate(0deg) } }
@keyframes fvr-masku { 0% { transform: scale(1) rotate(0deg) } 50% { transform: scale(1.1) rotate(-5deg) } 100% { transform: scale(1) rotate(0deg) } }
@keyframes fvr-beam { 0%,100% { transform: translateX(-50%) rotate(0deg) } 30% { transform: translateX(-50%) rotate(-5deg) } 70% { transform: translateX(-50%) rotate(5deg) } }
@keyframes fvr-panL { 0%,100% { transform: rotate(0deg) } 30% { transform: rotate(10deg) } 70% { transform: rotate(-10deg) } }
@keyframes fvr-panR { 0%,100% { transform: rotate(0deg) } 30% { transform: rotate(-10deg) } 70% { transform: rotate(10deg) } }

.scn-ptolemy-pipe-nero-tragic {
  background:
    radial-gradient(ellipse at 50% 50%, #3a1a1a 0%, transparent 70%),
    linear-gradient(180deg, #1a0a0a 0%, #2a1212 50%, #1a0a0a 100%);
}
.scn-ptolemy-pipe-nero-tragic .curtain-left {
  position:absolute; top:0; left:0; width:30%; height:100%;
  background: linear-gradient(90deg, #5a2a2a 0%, #3a1a1a 100%);
  border-radius: 0 10% 20% 0;
  animation: ptn-curtain 12s ease-in-out infinite alternate;
}
.scn-ptolemy-pipe-nero-tragic .curtain-right {
  position:absolute; top:0; right:0; width:30%; height:100%;
  background: linear-gradient(270deg, #5a2a2a 0%, #3a1a1a 100%);
  border-radius: 10% 0 0 20%;
  animation: ptn-curtain 12s ease-in-out infinite alternate-reverse;
}
.scn-ptolemy-pipe-nero-tragic .stage-floor {
  position:absolute; bottom:0; left:0; right:0; height:25%;
  background: linear-gradient(180deg, #4a2a2a 0%, #2a1212 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.6);
}
.scn-ptolemy-pipe-nero-tragic .king-ptolemy {
  position:absolute; bottom:22%; left:30%; width:36px; height:80px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  animation: ptn-ptolemy 8s ease-in-out infinite;
}
.scn-ptolemy-pipe-nero-tragic .pipe-flute {
  position:absolute; bottom:35%; left:26%; width:6px; height:30px;
  background: linear-gradient(180deg, #c0a060 0%, #806030 100%);
  border-radius: 50% 50% 10% 10%;
  transform: rotate(15deg);
  animation: ptn-pipe 4s ease-in-out infinite alternate;
}
.scn-ptolemy-pipe-nero-tragic .king-nero {
  position:absolute; bottom:22%; right:30%; width:38px; height:82px;
  transform: translateX(50%);
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e06 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  animation: ptn-nero 8s ease-in-out infinite 0.5s;
}
.scn-ptolemy-pipe-nero-tragic .tragic-mask {
  position:absolute; bottom:44%; right:30%; width:24px; height:14px;
  background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%);
  border-radius: 50% 50% 40% 40% / 80% 80% 40% 40%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: ptn-mask 6s ease-in-out infinite alternate;
}
.scn-ptolemy-pipe-nero-tragic .buskin-leg {
  position:absolute; bottom:14%; right:28%; width:12px; height:30px;
  background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%);
  border-radius: 20% 20% 40% 40%;
  transform: rotate(5deg);
  animation: ptn-buskin 7s ease-in-out infinite;
}
.scn-ptolemy-pipe-nero-tragic .spotlight-glow {
  position:absolute; top:10%; left:50%; width:120px; height:80px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 100%, rgba(200,150,60,0.15) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(20px);
  animation: ptn-spot 9s ease-in-out infinite alternate;
}
@keyframes ptn-curtain { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes ptn-ptolemy { 0%,100% { transform: translateX(-50%) rotate(0deg) } 30% { transform: translateX(-48%) rotate(-3deg) } 60% { transform: translateX(-52%) rotate(2deg) } }
@keyframes ptn-pipe { 0% { transform: rotate(10deg) } 50% { transform: rotate(20deg) } 100% { transform: rotate(10deg) } }
@keyframes ptn-nero { 0%,100% { transform: translateX(50%) rotate(0deg) } 30% { transform: translateX(48%) rotate(3deg) } 60% { transform: translateX(52%) rotate(-2deg) } }
@keyframes ptn-mask { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-3px) scale(1.05) } 100% { transform: translateY(0) scale(1) } }
@keyframes ptn-buskin { 0%,100% { transform: rotate(5deg) } 30% { transform: rotate(10deg) } 70% { transform: rotate(0deg) } }
@keyframes ptn-spot { 0% { opacity:0.3 } 50% { opacity:0.6 } 100% { opacity:0.2 } }

.scn-guard-against-praise-flatterer {
  background:
    radial-gradient(ellipse at 60% 40%, #2a2a1a 0%, transparent 80%),
    linear-gradient(180deg, #1a1a0e 0%, #2c2c1e 50%, #1e1e12 100%);
}
.scn-guard-against-praise-flatterer .stone-wall {
  position:absolute; inset:0;
  background: linear-gradient(135deg, #2a2a1e 0%, #3a3a2a 100%);
  animation: gap-wall 18s ease-in-out infinite alternate;
}
.scn-guard-against-praise-flatterer .guard-figure {
  position:absolute; bottom:20%; left:25%; width:36px; height:70px;
  background: linear-gradient(180deg, #3a3a2e 0%, #1a1a12 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  animation: gap-guard 8s ease-in-out infinite;
}
.scn-guard-against-praise-flatterer .shield {
  position:absolute; bottom:24%; left:22%; width:28px; height:28px;
  background: radial-gradient(circle at 50% 50%, #6a5a3a 0%, #4a3a1a 100%);
  border-radius: 50%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: gap-shield 10s ease-in-out infinite alternate;
}
.scn-guard-against-praise-flatterer .flatterer-shadow {
  position:absolute; bottom:18%; right:20%; width:30px; height:60px;
  background: radial-gradient(ellipse at 50% 100%, #1a1a12 0%, transparent 80%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  filter: blur(6px);
  animation: gap-shadow 5s ease-in-out infinite alternate;
}
.scn-guard-against-praise-flatterer .olive-wreath {
  position:absolute; bottom:45%; left:60%; width:20px; height:10px;
  background: radial-gradient(circle at 50% 50%, #5a7a3a 0%, #2a4a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(30deg);
  animation: gap-wreath 6s ease-in-out infinite alternate;
}
.scn-guard-against-praise-flatterer .whisper-lines {
  position:absolute; bottom:48%; right:25%; width:30px; height:2px;
  background: linear-gradient(90deg, transparent, rgba(200,180,160,0.3), transparent);
  filter: blur(1px);
  animation: gap-whisper 4s ease-in-out infinite;
}
.scn-guard-against-praise-flatterer .torch-glow {
  position:absolute; top:30%; right:10%; width:10px; height:15px;
  background: radial-gradient(circle, #e8b040 0%, #c08020 50%, transparent 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 30px 15px #c08020, 0 0 60px 30px rgba(192,128,32,0.3);
  animation: gap-torch 3s ease-in-out infinite alternate;
}
.scn-guard-against-praise-flatterer .spark.spark1 {
  position:absolute; top:28%; right:12%; width:2px; height:2px;
  background: #ffc060;
  border-radius: 50%;
  filter: blur(1px);
  animation: gap-spark 2s ease-out infinite;
  animation-delay: 0s;
}
.scn-guard-against-praise-flatterer .spark.spark2 {
  position:absolute; top:32%; right:8%; width:1.5px; height:1.5px;
  background: #ffc060;
  border-radius: 50%;
  filter: blur(1px);
  animation: gap-spark 2s ease-out infinite;
  animation-delay: 1s;
}
@keyframes gap-wall { 0% { opacity:0.85 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes gap-guard { 0%,100% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(-3px) rotate(-1deg) } 50% { transform: translateX(3px) rotate(1deg) } 75% { transform: translateX(-1px) rotate(0deg) } }
@keyframes gap-shield { 0% { transform: scale(1) } 50% { transform: scale(1.05) } 100% { transform: scale(0.95) } }
@keyframes gap-shadow { 0% { transform: translateX(0) scale(1); opacity:0.5 } 50% { transform: translateX(8px) scale(1.1); opacity:0.7 } 100% { transform: translateX(0) scale(1); opacity:0.5 } }
@keyframes gap-wreath { 0% { transform: rotate(30deg) scale(1) } 50% { transform: rotate(40deg) scale(1.1) } 100% { transform: rotate(30deg) scale(1) } }
@keyframes gap-whisper { 0%,100% { opacity:0.2; transform: translateX(0) } 50% { opacity:0.6; transform: translateX(10px) } }
@keyframes gap-torch { 0% { box-shadow: 0 0 20px 10px #c08020, 0 0 40px 20px rgba(192,128,32,0.2); opacity:0.85 } 50% { box-shadow: 0 0 40px 20px #e8b040, 0 0 80px 40px rgba(232,176,64,0.4); opacity:1 } 100% { box-shadow: 0 0 25px 12px #c08020, 0 0 50px 25px rgba(192,128,32,0.25); opacity:0.9 } }
@keyframes gap-spark { 0% { transform: translateY(0) translateX(0); opacity:1 } 100% { transform: translateY(-30px) translateX(20px); opacity:0 } }

/* disease-body-nature-vice-soul */
.scn-disease-body-nature-vice-soul {
  background: linear-gradient(180deg, #1e1a2e 0%, #2a2440 50%, #3c2a4a 100%),
    radial-gradient(ellipse at 30% 60%, #4a3a5e 0%, transparent 70%);
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.scn-disease-body-nature-vice-soul .bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #221e34 0%, #2e2844 50%, #1a1628 100%);
  animation: ds-bg 20s ease-in-out infinite alternate;
}
.scn-disease-body-nature-vice-soul .floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 25%;
  background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 100%);
  border-radius: 20% 10% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.6);
  animation: ds-floor 15s ease-in-out infinite alternate;
}
.scn-disease-body-nature-vice-soul .wall-left {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 25%;
  width: 30%;
  background: linear-gradient(90deg, #2a223a 0%, #3a2a4e 100%);
  transform: skewY(3deg);
  transform-origin: bottom left;
  animation: ds-wall 12s ease-in-out infinite alternate;
}
.scn-disease-body-nature-vice-soul .wall-right {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 25%;
  width: 30%;
  background: linear-gradient(90deg, #3a2a4e 0%, #2a223a 100%);
  transform: skewY(-3deg);
  transform-origin: bottom right;
  animation: ds-wall 12s ease-in-out infinite alternate-reverse;
}
.scn-disease-body-nature-vice-soul .figure {
  position: absolute;
  bottom: 25%;
  left: 50%;
  width: 40px;
  height: 70px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3a4a 0%, #2a1e2a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.5);
  animation: ds-figure 6s ease-in-out infinite;
}
.scn-disease-body-nature-vice-soul .vine {
  position: absolute;
  bottom: 20%;
  left: 20%;
  width: 120px;
  height: 120px;
  background: radial-gradient(circle at 50% 100%, #3a4a2a 0%, transparent 80%);
  border-radius: 50%;
  filter: blur(2px);
  animation: ds-vine 25s linear infinite;
}
.scn-disease-body-nature-vice-soul .candle {
  position: absolute;
  bottom: 30%;
  left: 15%;
  width: 8px;
  height: 14px;
  background: linear-gradient(180deg, #c8a070 0%, #8a6040 100%);
  border-radius: 2px;
  box-shadow: 0 0 20px 8px rgba(200,160,112,0.4);
  animation: ds-candle 4s ease-in-out infinite alternate;
}
.scn-disease-body-nature-vice-soul .shadow {
  position: absolute;
  bottom: 22%;
  left: 45%;
  width: 60px;
  height: 20px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 80%);
  border-radius: 50%;
  animation: ds-shadow 6s ease-in-out infinite;
}
@keyframes ds-bg {
  0% { opacity: 0.7; }
  50% { opacity: 0.9; }
  100% { opacity: 0.6; }
}
@keyframes ds-floor {
  0% { opacity: 0.8; transform: translateY(0); }
  50% { opacity: 1; transform: translateY(-2px); }
  100% { opacity: 0.9; transform: translateY(0); }
}
@keyframes ds-wall {
  0% { opacity: 0.7; transform: skewY(3deg); }
  50% { opacity: 0.9; transform: skewY(0deg); }
  100% { opacity: 0.8; transform: skewY(-3deg); }
}
@keyframes ds-figure {
  0%, 100% { transform: translateX(-50%) translateY(0) rotate(-2deg); }
  25% { transform: translateX(-40%) translateY(-3px) rotate(2deg); }
  50% { transform: translateX(-50%) translateY(0) rotate(1deg); }
  75% { transform: translateX(-60%) translateY(-2px) rotate(-1deg); }
}
@keyframes ds-vine {
  0% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(180deg) scale(1.1); }
  100% { transform: rotate(360deg) scale(1); }
}
@keyframes ds-candle {
  0% { box-shadow: 0 0 15px 5px rgba(200,160,112,0.3); }
  50% { box-shadow: 0 0 25px 10px rgba(200,160,112,0.6); }
  100% { box-shadow: 0 0 18px 6px rgba(200,160,112,0.4); }
}
@keyframes ds-shadow {
  0%, 100% { transform: scaleX(1) scaleY(1); opacity: 0.5; }
  50% { transform: scaleX(1.2) scaleY(0.8); opacity: 0.7; }
}

/* aesop-fox-leopard */
.scn-aesop-fox-leopard {
  background: linear-gradient(180deg, #3a2a1a 0%, #5a3e2a 40%, #6a4e2e 100%),
    radial-gradient(ellipse at 50% 70%, #8a6a40 0%, transparent 60%);
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.scn-aesop-fox-leopard .bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #2a1a0a 0%, #4a3a1a 50%, #2a1a0a 100%);
  animation: fl-bg 25s ease-in-out infinite alternate;
}
.scn-aesop-fox-leopard .floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 20%;
  background: linear-gradient(180deg, #4a3018 0%, #2a1808 100%);
  border-radius: 30% 10% 0 0;
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.5);
  animation: fl-floor 18s ease-in-out infinite alternate;
}
.scn-aesop-fox-leopard .fireplace {
  position: absolute;
  bottom: 10%;
  left: 50%;
  width: 80px;
  height: 100px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.6);
  animation: fl-fireplace 20s ease-in-out infinite;
}
.scn-aesop-fox-leopard .fox {
  position: absolute;
  bottom: 18%;
  left: 30%;
  width: 28px;
  height: 34px;
  background: linear-gradient(180deg, #d06040 0%, #a04028 100%);
  border-radius: 50% 60% 30% 40% / 60% 70% 30% 40%;
  transform-origin: bottom center;
  animation: fl-fox 5s ease-in-out infinite;
}
.scn-aesop-fox-leopard .leopard {
  position: absolute;
  bottom: 18%;
  right: 30%;
  width: 32px;
  height: 38px;
  background: linear-gradient(180deg, #c07030 0%, #a05828 100%);
  border-radius: 40% 60% 30% 50% / 50% 60% 40% 50%;
  transform-origin: bottom center;
  animation: fl-leopard 5s ease-in-out infinite 1s;
}
.scn-aesop-fox-leopard .shadow-fox {
  position: absolute;
  bottom: 15%;
  left: 28%;
  width: 30px;
  height: 10px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 80%);
  border-radius: 50%;
  animation: fl-shadow 5s ease-in-out infinite;
}
.scn-aesop-fox-leopard .shadow-leopard {
  position: absolute;
  bottom: 15%;
  right: 28%;
  width: 34px;
  height: 10px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 80%);
  border-radius: 50%;
  animation: fl-shadow 5s ease-in-out infinite 1s;
}
.scn-aesop-fox-leopard .glow {
  position: absolute;
  bottom: 20%;
  left: 45%;
  width: 80px;
  height: 60px;
  background: radial-gradient(ellipse, rgba(200,140,80,0.3) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(10px);
  animation: fl-glow 8s ease-in-out infinite alternate;
}
@keyframes fl-bg {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes fl-floor {
  0% { transform: translateY(0) scaleX(1); }
  50% { transform: translateY(-1px) scaleX(1.02); }
  100% { transform: translateY(0) scaleX(1); }
}
@keyframes fl-fireplace {
  0%, 100% { transform: translateX(-50%) scale(1); }
  50% { transform: translateX(-50%) scale(0.98); }
}
@keyframes fl-fox {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(-6px) rotate(-3deg); }
  50% { transform: translateX(0) rotate(0deg); }
  75% { transform: translateX(6px) rotate(3deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes fl-leopard {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(6px) rotate(3deg); }
  50% { transform: translateX(0) rotate(0deg); }
  75% { transform: translateX(-6px) rotate(-3deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes fl-shadow {
  0%, 100% { opacity: 0.5; transform: scale(1); }
  50% { opacity: 0.8; transform: scale(1.2); }
}
@keyframes fl-glow {
  0% { opacity: 0.3; }
  50% { opacity: 0.6; }
  100% { opacity: 0.4; }
}

/* diseases-mind-escape-notice */
.scn-diseases-mind-escape-notice {
  background: linear-gradient(135deg, #1a1a3a 0%, #2a2248 40%, #1a1e3a 100%),
    radial-gradient(ellipse at 50% 40%, #3a2a5a 0%, transparent 70%);
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.scn-diseases-mind-escape-notice .bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(45deg, #0e0e2a 0%, #1a1e44 50%, #0e0e2a 100%);
  animation: dm-bg 30s ease-in-out infinite alternate;
}
.scn-diseases-mind-escape-notice .head-silhouette {
  position: absolute;
  bottom: 18%;
  left: 50%;
  width: 70px;
  height: 90px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2a2a4a 0%, #1a1a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 6px 16px rgba(0,0,0,0.6);
  animation: dm-head 12s ease-in-out infinite alternate;
}
.scn-diseases-mind-escape-notice .eye {
  position: absolute;
  bottom: 30%;
  left: 50%;
  width: 10px;
  height: 10px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #c0c0e0 0%, #6060a0 70%);
  border-radius: 50%;
  box-shadow: 0 0 12px 4px rgba(96,96,160,0.5);
  animation: dm-eye 4s ease-in-out infinite alternate;
}
.scn-diseases-mind-escape-notice .swirl-a {
  position: absolute;
  top: 10%;
  left: 20%;
  width: 90px;
  height: 90px;
  background: conic-gradient(from 0deg, transparent 0%, #3a3a6a 20%, transparent 40%, #3a3a6a 60%, transparent 80%, #3a3a6a 100%);
  border-radius: 50%;
  filter: blur(3px);
  animation: dm-swirl 20s linear infinite;
}
.scn-diseases-mind-escape-notice .swirl-b {
  position: absolute;
  top: 30%;
  right: 15%;
  width: 70px;
  height: 70px;
  background: conic-gradient(from 0deg, transparent 0%, #4a4a7a 15%, transparent 30%, #4a4a7a 45%, transparent 60%, #4a4a7a 75%, transparent 100%);
  border-radius: 50%;
  filter: blur(2px);
  animation: dm-swirl 25s linear infinite reverse;
}
.scn-diseases-mind-escape-notice .spike {
  position: absolute;
  top: 40%;
  left: 50%;
  width: 4px;
  height: 40px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5a5a8a 0%, transparent 100%);
  border-radius: 0 0 50% 50%;
  animation: dm-spike 3s ease-in-out infinite;
}
.scn-diseases-mind-escape-notice .veil {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 30%, transparent 30%, rgba(10,10,30,0.4) 100%);
  pointer-events: none;
  animation: dm-veil 15s ease-in-out infinite alternate;
}
@keyframes dm-bg {
  0% { transform: scale(1); opacity: 0.7; }
  50% { transform: scale(1.02); opacity: 0.9; }
  100% { transform: scale(1); opacity: 0.8; }
}
@keyframes dm-head {
  0% { transform: translateX(-50%) rotate(0deg); }
  50% { transform: translateX(-50%) rotate(2deg); }
  100% { transform: translateX(-50%) rotate(-2deg); }
}
@keyframes dm-eye {
  0% { box-shadow: 0 0 8px 2px rgba(96,96,160,0.3); }
  50% { box-shadow: 0 0 16px 6px rgba(96,96,160,0.7); }
  100% { box-shadow: 0 0 10px 3px rgba(96,96,160,0.4); }
}
@keyframes dm-swirl {
  0% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(180deg) scale(1.1); }
  100% { transform: rotate(360deg) scale(1); }
}
@keyframes dm-spike {
  0%, 100% { opacity: 0.3; transform: translateX(-50%) scaleY(1); }
  50% { opacity: 0.8; transform: translateX(-50%) scaleY(1.5); }
}
@keyframes dm-veil {
  0% { opacity: 0.5; }
  50% { opacity: 0.8; }
  100% { opacity: 0.6; }
}

/* bodily-diseases-worst-stupor */
.scn-bodily-diseases-worst-stupor {
  background: linear-gradient(180deg, #141018 0%, #1a1622 50%, #0e0c14 100%),
    radial-gradient(ellipse at 50% 30%, #2a223a 0%, transparent 70%);
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.scn-bodily-diseases-worst-stupor .bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #0e0a14 0%, #1a1422 50%, #0e0a14 100%);
  animation: bw-bg 35s ease-in-out infinite alternate;
}
.scn-bodily-diseases-worst-stupor .bed {
  position: absolute;
  bottom: 0;
  left: 5%;
  right: 5%;
  height: 35%;
  background: linear-gradient(180deg, #2a1e2a 0%, #1a121a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 -10px 20px rgba(0,0,0,0.5);
  animation: bw-bed 20s ease-in-out infinite alternate;
}
.scn-bodily-diseases-worst-stupor .body {
  position: absolute;
  bottom: 15%;
  left: 50%;
  width: 50px;
  height: 80px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2a3a 0%, #1e1620 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
  animation: bw-body 10s ease-in-out infinite;
}
.scn-bodily-diseases-worst-stupor .arm {
  position: absolute;
  bottom: 20%;
  left: 35%;
  width: 12px;
  height: 30px;
  transform-origin: top center;
  background: linear-gradient(180deg, #3a2a3a 0%, #1e1620 100%);
  border-radius: 30%;
  animation: bw-arm 6s ease-in-out infinite;
}
.scn-bodily-diseases-worst-stupor .head {
  position: absolute;
  bottom: 60%;
  left: 50%;
  width: 24px;
  height: 24px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #3a2a3a 0%, #1e1620 100%);
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: bw-head 8s ease-in-out infinite alternate;
}
.scn-bodily-diseases-worst-stupor .blanket {
  position: absolute;
  bottom: 10%;
  left: 30%;
  width: 80px;
  height: 30px;
  background: linear-gradient(180deg, #4a3a4a 0%, #2a1e2a 100%);
  border-radius: 40% 10% 0 0;
  filter: blur(1px);
  animation: bw-blanket 15s ease-in-out infinite alternate;
}
.scn-bodily-diseases-worst-stupor .darkness {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 40%, transparent 20%, rgba(0,0,0,0.5) 100%);
  pointer-events: none;
  animation: bw-darkness 12s ease-in-out infinite alternate;
}
.scn-bodily-diseases-worst-stupor .pulse {
  position: absolute;
  bottom: 45%;
  left: 48%;
  width: 8px;
  height: 8px;
  background: radial-gradient(circle, #6a4a5a 0%, transparent 80%);
  border-radius: 50%;
  animation: bw-pulse 3s ease-in-out infinite;
}
@keyframes bw-bg {
  0% { opacity: 0.6; }
  50% { opacity: 0.9; }
  100% { opacity: 0.7; }
}
@keyframes bw-bed {
  0% { transform: translateY(0); opacity: 0.8; }
  50% { transform: translateY(-1px); opacity: 1; }
  100% { transform: translateY(0); opacity: 0.9; }
}
@keyframes bw-body {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-2px); }
}
@keyframes bw-arm {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(-5deg); }
  50% { transform: rotate(0deg); }
  75% { transform: rotate(5deg); }
  100% { transform: rotate(0deg); }
}
@keyframes bw-head {
  0% { transform: translateX(-50%) rotate(0deg); }
  50% { transform: translateX(-50%) rotate(3deg); }
  100% { transform: translateX(-50%) rotate(-3deg); }
}
@keyframes bw-blanket {
  0% { transform: scaleY(1); opacity: 0.7; }
  50% { transform: scaleY(0.95); opacity: 0.9; }
  100% { transform: scaleY(1); opacity: 0.8; }
}
@keyframes bw-darkness {
  0% { opacity: 0.4; }
  50% { opacity: 0.7; }
  100% { opacity: 0.5; }
}
@keyframes bw-pulse {
  0% { transform: scale(1); opacity: 0.3; }
  50% { transform: scale(1.5); opacity: 0.6; }
  100% { transform: scale(1); opacity: 0.3; }
}

.scn-samians-lacedaemonians-corn {
  background: 
    linear-gradient(180deg, #2a241e 0%, #3d2e22 30%, #4a3828 60%, #3a2c1e 100%),
    radial-gradient(ellipse at 30% 80%, #5a4030 0%, transparent 70%);
}
.scn-samians-lacedaemonians-corn .bg-wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #3a2e24 0%, #2e2218 100%);
  animation: sslc-wall 20s ease-in-out infinite alternate;
}
.scn-samians-lacedaemonians-corn .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #4a3828 0%, #2e2218 100%);
  border-radius: 20% 20% 0 0 / 10% 10% 0 0;
  box-shadow: inset 0 12px 24px rgba(0,0,0,.5);
  animation: sslc-floor 15s ease-in-out infinite;
}
.scn-samians-lacedaemonians-corn .shelf {
  position: absolute; bottom: 40%; left: 15%; right: 15%; height: 4px;
  background: linear-gradient(90deg, transparent 0%, #6a5040 20%, #8a6a50 50%, #6a5040 80%, transparent 100%);
  box-shadow: 0 4px 8px rgba(0,0,0,.3);
  animation: sslc-shelf 12s ease-in-out infinite alternate;
}
.scn-samians-lacedaemonians-corn .jar {
  position: absolute; bottom: 35%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #8a7060 0%, #6a5040 50%, #5a4030 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: inset -4px -4px 8px rgba(0,0,0,.3);
}
.scn-samians-lacedaemonians-corn .jar-left {
  left: 20%;
  animation: sslc-jar 8s ease-in-out infinite;
}
.scn-samians-lacedaemonians-corn .jar-right {
  right: 20%;
  width: 34px; height: 44px;
  animation: sslc-jar 10s ease-in-out infinite reverse;
}
.scn-samians-lacedaemonians-corn .grain {
  position: absolute; width: 6px; height: 8px;
  background: radial-gradient(circle, #c8a060 0%, #a08040 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  animation: sslc-grain 4s ease-in-out infinite;
}
.scn-samians-lacedaemonians-corn .grain-a { left: 22%; bottom: 34%; animation-delay: 0s; }
.scn-samians-lacedaemonians-corn .grain-b { left: 25%; bottom: 36%; animation-delay: 1.2s; width: 5px; height: 7px; }
.scn-samians-lacedaemonians-corn .figure-scribe {
  position: absolute; bottom: 30%; right: 28%; width: 22px; height: 40px;
  background: linear-gradient(180deg, #3a2a1e 0%, #1e1410 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sslc-scribe 6s ease-in-out infinite;
}
.scn-samians-lacedaemonians-corn .lamp {
  position: absolute; bottom: 42%; left: 32%; width: 8px; height: 12px;
  background: radial-gradient(circle, #e0b060 0%, #c08030 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 6px rgba(192,128,48,.6), 0 0 40px 12px rgba(192,128,48,.3);
  animation: sslc-lamp 3s ease-in-out infinite alternate;
}
@keyframes sslc-wall { 0% { opacity: .85 } 50% { opacity: 1 } 100% { opacity: .8 } }
@keyframes sslc-floor { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes sslc-shelf { 0% { opacity: .7; transform: scaleY(1) } 50% { opacity: .9; transform: scaleY(1.1) } 100% { opacity: .75; transform: scaleY(1) } }
@keyframes sslc-jar { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes sslc-grain { 0%,100% { transform: translate(0,0) rotate(0deg) } 25% { transform: translate(1px,-2px) rotate(10deg) } 50% { transform: translate(2px,1px) rotate(-5deg) } 75% { transform: translate(1px,-1px) rotate(8deg) } }
@keyframes sslc-scribe { 0%,100% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(3px) rotate(1deg) } 50% { transform: translateX(6px) rotate(-1deg) } 75% { transform: translateX(3px) rotate(0deg) } }
@keyframes sslc-lamp { 0% { opacity: .7; box-shadow: 0 0 16px 4px rgba(192,128,48,.4) } 50% { opacity: 1; box-shadow: 0 0 28px 8px rgba(192,128,48,.7) } 100% { opacity: .75; box-shadow: 0 0 18px 5px rgba(192,128,48,.45) } }

.scn-gold-lead-proverbial {
  background: 
    linear-gradient(180deg, #1e2018 0%, #2a2a1e 40%, #1a1a12 100%),
    radial-gradient(ellipse at 50% 60%, #3a3828 0%, transparent 80%);
}
.scn-gold-lead-proverbial .bg-shelf {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #2a2a1e 0%, #1e1e14 100%);
}
.scn-gold-lead-proverbial .beam {
  position: absolute; top: 15%; left: 10%; right: 10%; height: 4px;
  background: linear-gradient(90deg, transparent 0%, #4a4838 20%, #6a6850 50%, #4a4838 80%, transparent 100%);
  box-shadow: 0 2px 6px rgba(0,0,0,.4);
  animation: glp-beam 18s ease-in-out infinite alternate;
}
.scn-gold-lead-proverbial .scale-stand {
  position: absolute; bottom: 45%; left: 50%; width: 6px; height: 60px;
  background: linear-gradient(180deg, #6a6850 0%, #4a4838 100%);
  border-radius: 2px;
  transform: translateX(-50%);
  animation: glp-stand 12s ease-in-out infinite;
}
.scn-gold-lead-proverbial .scale-arm {
  position: absolute; bottom: 72%; left: 50%; width: 100px; height: 4px;
  background: linear-gradient(90deg, #4a4838 0%, #6a6850 50%, #4a4838 100%);
  border-radius: 2px;
  transform: translateX(-50%);
  box-shadow: 0 2px 4px rgba(0,0,0,.3);
  animation: glp-arm 8s ease-in-out infinite alternate;
}
.scn-gold-lead-proverbial .pan {
  position: absolute; bottom: 50%; width: 40px; height: 12px;
  border-radius: 0 0 50% 50% / 0 0 100% 100%;
  box-shadow: 0 4px 8px rgba(0,0,0,.4);
}
.scn-gold-lead-proverbial .pan-gold {
  left: 30%;
  background: linear-gradient(180deg, #c8a040 0%, #a08020 100%);
  border: 2px solid #8a7020;
  animation: glp-pan-gold 6s ease-in-out infinite alternate;
}
.scn-gold-lead-proverbial .pan-lead {
  right: 30%;
  background: linear-gradient(180deg, #5a5a50 0%, #3a3a32 100%);
  border: 2px solid #2a2a24;
  animation: glp-pan-lead 6s ease-in-out infinite alternate-reverse;
}
.scn-gold-lead-proverbial .nugget {
  position: absolute; border-radius: 50%;
}
.scn-gold-lead-proverbial .nugget-a {
  top: 62%; left: 36%; width: 10px; height: 10px;
  background: radial-gradient(circle, #e8c060 0%, #b09030 100%);
  box-shadow: 0 0 10px 3px rgba(200,160,64,.5);
  animation: glp-nugget-a 4s ease-in-out infinite;
}
.scn-gold-lead-proverbial .nugget-b {
  top: 62%; right: 36%; width: 8px; height: 8px;
  background: radial-gradient(circle, #7a7a6a 0%, #4a4a3e 100%);
  animation: glp-nugget-b 4s ease-in-out infinite 1s;
}
.scn-gold-lead-proverbial .dust {
  position: absolute; top: 8%; left: 20%; width: 60px; height: 20px;
  background: radial-gradient(ellipse, rgba(200,180,120,.15) 0%, transparent 100%);
  filter: blur(8px);
  animation: glp-dust 30s linear infinite;
}
@keyframes glp-beam { 0% { opacity: .5 } 50% { opacity: .8 } 100% { opacity: .6 } }
@keyframes glp-stand { 0%,100% { transform: translateX(-50%) translateY(0) } 50% { transform: translateX(-50%) translateY(-2px) } }
@keyframes glp-arm { 0% { transform: translateX(-50%) rotate(-2deg) } 25% { transform: translateX(-50%) rotate(1deg) } 50% { transform: translateX(-50%) rotate(-1deg) } 75% { transform: translateX(-50%) rotate(2deg) } 100% { transform: translateX(-50%) rotate(0deg) } }
@keyframes glp-pan-gold { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-3px) } }
@keyframes glp-pan-lead { 0%,100% { transform: translateY(0) } 50% { transform: translateY(3px) } }
@keyframes glp-nugget-a { 0%,100% { transform: translate(0,0) scale(1) } 25% { transform: translate(2px,-1px) scale(1.1) } 50% { transform: translate(-1px,2px) scale(.95) } 75% { transform: translate(1px,1px) scale(1.05) } }
@keyframes glp-nugget-b { 0%,100% { transform: translate(0,0) scale(1) } 25% { transform: translate(-2px,1px) scale(1.05) } 50% { transform: translate(1px,-2px) scale(.9) } 75% { transform: translate(-1px,-1px) scale(1.1) } }
@keyframes glp-dust { 0% { transform: translateX(-20px); opacity: 0 } 10% { opacity: .4 } 90% { opacity: .4 } 100% { transform: translateX(80vw); opacity: 0 } }

.scn-cicero-de-amicitia-xxvi {
  background: 
    linear-gradient(180deg, #1e1e1a 0%, #2e2a22 40%, #3a3228 70%, #2a241e 100%),
    radial-gradient(ellipse at 50% 40%, #3a3228 0%, transparent 70%);
}
.scn-cicero-de-amicitia-xxvi .bg-room {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a2620 0%, #1e1c18 100%);
  animation: cda-room 24s ease-in-out infinite alternate;
}
.scn-cicero-de-amicitia-xxvi .table {
  position: absolute; bottom: 25%; left: 25%; right: 25%; height: 8px;
  background: linear-gradient(90deg, #4a3e32 0%, #5a4c3e 50%, #4a3e32 100%);
  border-radius: 2px;
  box-shadow: 0 6px 12px rgba(0,0,0,.5);
  animation: cda-table 16s ease-in-out infinite;
}
.scn-cicero-de-amicitia-xxvi .scroll {
  position: absolute; bottom: 32%; left: 38%; width: 50px; height: 8px;
  background: linear-gradient(90deg, #6a5a44 0%, #8a7860 50%, #6a5a44 100%);
  border-radius: 20% 20% 10% 10% / 50% 50% 40% 40%;
  box-shadow: 0 2px 4px rgba(0,0,0,.3);
  animation: cda-scroll 10s ease-in-out infinite;
}
.scn-cicero-de-amicitia-xxvi .figure-left {
  position: absolute; bottom: 18%; left: 20%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a2218 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cda-figure-left 7s ease-in-out infinite;
}
.scn-cicero-de-amicitia-xxvi .figure-right {
  position: absolute; bottom: 20%; right: 24%; width: 22px; height: 42px;
  background: linear-gradient(180deg, #4a3e32 0%, #1e1812 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cda-figure-right 9s ease-in-out infinite;
}
.scn-cicero-de-amicitia-xxvi .hand-gesture {
  position: absolute; bottom: 40%; left: 36%; width: 14px; height: 10px;
  background: linear-gradient(180deg, #6a5a44 0%, #4a3e32 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(20deg);
  animation: cda-hand 5s ease-in-out infinite;
}
.scn-cicero-de-amicitia-xxvi .candle {
  position: absolute; bottom: 36%; left: 52%; width: 6px; height: 16px;
  background: linear-gradient(180deg, #8a7a64 0%, #5a4c3e 100%);
  border-radius: 2px;
  box-shadow: inset 0 -4px 4px rgba(0,0,0,.3);
  animation: cda-candle 6s ease-in-out infinite;
}
.scn-cicero-de-amicitia-xxvi .candle::before {
  content: ''; position: absolute; top: -6px; left: 50%;
  width: 6px; height: 6px; transform: translateX(-50%);
  background: radial-gradient(circle, #e0c060 0%, #c08030 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 14px 4px rgba(192,128,48,.5), 0 0 28px 8px rgba(192,128,48,.2);
  animation: cda-flame 2s ease-in-out infinite alternate;
}
@keyframes cda-room { 0% { opacity: .8 } 50% { opacity: .95 } 100% { opacity: .85 } }
@keyframes cda-table { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes cda-scroll { 0%,100% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(4px) rotate(1deg) } 50% { transform: translateX(8px) rotate(-1deg) } 75% { transform: translateX(4px) rotate(1deg) } }
@keyframes cda-figure-left { 0%,100% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(2px) rotate(2deg) } 50% { transform: translateX(4px) rotate(-1deg) } 75% { transform: translateX(2px) rotate(1deg) } }
@keyframes cda-figure-right { 0%,100% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(-2px) rotate(-1deg) } 50% { transform: translateX(-4px) rotate(1deg) } 75% { transform: translateX(-2px) rotate(0deg) } }
@keyframes cda-hand { 0%,100% { transform: rotate(20deg) translateX(0) } 25% { transform: rotate(25deg) translateX(2px) } 50% { transform: rotate(18deg) translateX(-1px) } 75% { transform: rotate(22deg) translateX(1px) } }
@keyframes cda-candle { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes cda-flame { 0% { transform: translateX(-50%) scale(1) } 30% { transform: translateX(-50%) scale(1.15) translateY(-1px) } 60% { transform: translateX(-50%) scale(.9) translateY(1px) } 100% { transform: translateX(-50%) scale(1.05) } }

.scn-homer-iliad-xiv-84 {
  background: 
    linear-gradient(180deg, #1a1a26 0%, #2a2834 30%, #3a3440 60%, #2a2834 100%),
    radial-gradient(ellipse at 50% 30%, #3a3440 0%, transparent 70%);
}
.scn-homer-iliad-xiv-84 .bg-colonnade {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #2a2834 0%, #1a1a26 100%);
  animation: hi84-colonnade 22s ease-in-out infinite alternate;
}
.scn-homer-iliad-xiv-84 .step {
  position: absolute; bottom: 35%; left: 10%; right: 10%; height: 12px;
  background: linear-gradient(180deg, #4a4450 0%, #3a3440 100%);
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0,0,0,.4);
  animation: hi84-step 18s ease-in-out infinite;
}
.scn-homer-iliad-xiv-84 .column {
  position: absolute; bottom: 35%; width: 14px; height: 120px;
  background: linear-gradient(180deg, #5a5460 0%, #3a3440 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: inset -4px 0 8px rgba(0,0,0,.3);
}
.scn-homer-iliad-xiv-84 .column-a { left: 20%; animation: hi84-column 14s ease-in-out infinite; }
.scn-homer-iliad-xiv-84 .column-b { right: 20%; animation: hi84-column 14s ease-in-out infinite 1.5s; }
.scn-homer-iliad-xiv-84 .figure-judge {
  position: absolute; bottom: 22%; left: 35%; width: 26px; height: 56px;
  background: linear-gradient(180deg, #4a4450 0%, #1a1a26 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: 0 4px 8px rgba(0,0,0,.4);
  animation: hi84-judge 8s ease-in-out infinite;
}
.scn-homer-iliad-xiv-84 .figure-suppliant {
  position: absolute; bottom: 18%; right: 30%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #3a3440 0%, #1a1a26 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: hi84-suppliant 6s ease-in-out infinite;
}
.scn-homer-iliad-xiv-84 .torch {
  position: absolute; bottom: 38%; left: 45%; width: 4px; height: 20px;
  background: linear-gradient(180deg, #6a5a44 0%, #4a3e32 100%);
  border-radius: 2px;
  animation: hi84-torch 5s ease-in-out infinite;
}
.scn-homer-iliad-xiv-84 .torch::before {
  content: ''; position: absolute; top: -10px; left: 50%;
  width: 10px; height: 12px; transform: translateX(-50%);
  background: radial-gradient(circle, #e08030 0%, #c06020 40%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 6px rgba(192,96,32,.5), 0 0 40px 12px rgba(192,96,32,.2);
  animation: hi84-flame 2s ease-in-out infinite alternate;
}
.scn-homer-iliad-xiv-84 .shadow {
  position: absolute; bottom: 20%; left: 30%; right: 20%; height: 20px;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,.4) 0%, transparent 100%);
  filter: blur(6px);
  animation: hi84-shadow 10s ease-in-out infinite;
}
@keyframes hi84-colonnade { 0% { opacity: .7 } 50% { opacity: .9 } 100% { opacity: .75 } }
@keyframes hi84-step { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes hi84-column { 0%,100% { transform: translateY(0) } 25% { transform: translateY(-1px) } 50% { transform: translateY(0) } 75% { transform: translateY(-2px) } }
@keyframes hi84-judge { 0%,100% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(2px) rotate(1deg) } 50% { transform: translateX(-1px) rotate(-1deg) } 75% { transform: translateX(1px) rotate(0deg) } }
@keyframes hi84-suppliant { 0%,100% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-3px) rotate(2deg) } 50% { transform: translateY(0) rotate(-1deg) } 75% { transform: translateY(-2px) rotate(1deg) } }
@keyframes hi84-torch { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes hi84-flame { 0% { transform: translateX(-50%) scale(1) } 30% { transform: translateX(-50%) scale(1.2) translateY(-2px) } 60% { transform: translateX(-50%) scale(.85) translateY(1px) } 100% { transform: translateX(-50%) scale(1.05) } }
@keyframes hi84-shadow { 0%,100% { opacity: .5; transform: scaleX(1) } 50% { opacity: .8; transform: scaleX(1.1) } }

.scn-nature-fenced-tongue-teeth {
  background: radial-gradient(ellipse at 50% 40%, #2a1a0a 0%, #0d0804 100%);
  overflow: hidden;
}
.scn-nature-fenced-tongue-teeth .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1a1008 0%, #0d0804 100%);
}
.scn-nature-fenced-tongue-teeth .tongue {
  position: absolute; bottom: 30%; left: 50%; transform: translateX(-50%);
  width: 120px; height: 60px;
  background: radial-gradient(ellipse at 50% 30%, #a86a4a 0%, #7a4a32 70%, #3a2010 100%);
  border-radius: 40% 40% 50% 50% / 60% 60% 40% 40%;
  animation: nftt-tongue 6s ease-in-out infinite alternate;
}
.scn-nature-fenced-tongue-teeth .tooth {
  position: absolute; bottom: 32%; width: 14px; height: 28px;
  background: linear-gradient(180deg, #e8d8c0 0%, #b8a888 100%);
  border-radius: 4px 4px 2px 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.6);
  animation: nftt-tooth 4s ease-in-out infinite alternate;
}
.scn-nature-fenced-tongue-teeth .t1 { left: calc(50% - 50px); animation-delay: 0s; }
.scn-nature-fenced-tongue-teeth .t2 { left: calc(50% - 20px); animation-delay: 0.5s; }
.scn-nature-fenced-tongue-teeth .t3 { left: calc(50% + 12px); animation-delay: 1s; }
.scn-nature-fenced-tongue-teeth .t4 { left: calc(50% + 44px); animation-delay: 1.5s; }
.scn-nature-fenced-tongue-teeth .glow {
  position: absolute; bottom: 28%; left: 50%; transform: translateX(-50%);
  width: 60px; height: 60px;
  background: radial-gradient(circle, rgba(200,150,80,0.3) 0%, transparent 70%);
  border-radius: 50%;
  animation: nftt-glow 5s ease-in-out infinite alternate;
}
.scn-nature-fenced-tongue-teeth .shadow {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 35%, transparent 40%, rgba(0,0,0,0.6) 100%);
  pointer-events: none;
}

@keyframes nftt-tongue {
  0% { transform: translateX(-50%) scaleY(1); }
  50% { transform: translateX(-50%) scaleY(1.05); }
  100% { transform: translateX(-50%) scaleY(0.95); }
}
@keyframes nftt-tooth {
  0% { transform: translateY(0) scaleX(1); }
  50% { transform: translateY(-2px) scaleX(1.03); }
  100% { transform: translateY(0) scaleX(0.97); }
}
@keyframes nftt-glow {
  0% { opacity: 0.5; transform: translateX(-50%) scale(1); }
  50% { opacity: 0.8; transform: translateX(-50%) scale(1.2); }
  100% { opacity: 0.4; transform: translateX(-50%) scale(0.9); }
}

/* Scene 2 */
.scn-drunkenness-madness-talk {
  background: radial-gradient(ellipse at 50% 50%, #1a0a0a 0%, #050202 100%);
  overflow: hidden;
}
.scn-drunkenness-madness-talk .bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #120808 0%, #080404 100%);
}
.scn-drunkenness-madness-talk .table {
  position: absolute; bottom: 10%; left: 10%; right: 10%; height: 8%;
  background: linear-gradient(180deg, #3a2010 0%, #1a0a06 100%);
  border-radius: 4px;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.8);
}
.scn-drunkenness-madness-talk .bottle {
  position: absolute; bottom: 18%; left: 30%;
  width: 20px; height: 50px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 6px 6px 4px 4px;
  transform: rotate(-15deg);
  animation: dm-bottle 8s ease-in-out infinite;
}
.scn-drunkenness-madness-talk .glass {
  position: absolute; bottom: 14%; left: 50%;
  width: 24px; height: 32px;
  background: linear-gradient(180deg, rgba(180,140,100,0.6) 0%, rgba(100,70,40,0.3) 100%);
  border-radius: 2px 2px 6px 6px;
  transform: rotate(5deg);
  animation: dm-glass 6s ease-in-out infinite alternate;
}
.scn-drunkenness-madness-talk .figure {
  position: absolute; bottom: 8%; left: 40%; width: 50px; height: 80px;
  background: linear-gradient(180deg, #0a0606 0%, #030101 100%);
  border-radius: 30% 30% 40% 40% / 40% 40% 60% 60%;
  transform-origin: bottom center;
  animation: dm-figure 12s ease-in-out infinite;
}
.scn-drunkenness-madness-talk .spilled {
  position: absolute; bottom: 10%; left: 45%; width: 40px; height: 6px;
  background: linear-gradient(90deg, rgba(80,50,20,0.8) 0%, transparent 100%);
  border-radius: 0 50% 50% 0;
  transform: rotate(30deg);
  animation: dm-spilled 7s ease-in-out infinite alternate;
}
.scn-drunkenness-madness-talk .flicker {
  position: absolute; bottom: 40%; left: 35%;
  width: 8px; height: 20px;
  background: radial-gradient(ellipse at 50% 100%, #ffa040 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(2px);
  animation: dm-flicker 2s ease-in-out infinite alternate;
}

@keyframes dm-bottle {
  0% { transform: rotate(-15deg) translateY(0); }
  30% { transform: rotate(-10deg) translateY(-2px); }
  60% { transform: rotate(-18deg) translateY(0); }
  100% { transform: rotate(-12deg) translateY(1px); }
}
@keyframes dm-glass {
  0% { transform: rotate(5deg) scale(1); opacity: 0.6; }
  50% { transform: rotate(8deg) scale(1.05); opacity: 0.8; }
  100% { transform: rotate(3deg) scale(0.95); opacity: 0.5; }
}
@keyframes dm-figure {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(4px) rotate(3deg); }
  50% { transform: translateX(-3px) rotate(-2deg); }
  75% { transform: translateX(2px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes dm-spilled {
  0% { transform: rotate(30deg) scaleX(1); opacity: 0.8; }
  50% { transform: rotate(35deg) scaleX(1.2); opacity: 0.6; }
  100% { transform: rotate(28deg) scaleX(0.9); opacity: 0.9; }
}
@keyframes dm-flicker {
  0% { opacity: 0.3; transform: scaleY(1); }
  50% { opacity: 0.9; transform: scaleY(1.3); }
  100% { opacity: 0.5; transform: scaleY(0.8); }
}

/* Scene 3 */
.scn-philosophers-define-drunkenness-silly-talk {
  background: radial-gradient(ellipse at 50% 60%, #1a1a0a 0%, #0a0808 100%);
  overflow: hidden;
}
.scn-philosophers-define-drunkenness-silly-talk .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #151005 0%, #0a0804 100%);
}
.scn-philosophers-define-drunkenness-silly-talk .desk {
  position: absolute; bottom: 12%; left: 15%; right: 15%; height: 6%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 3px;
}
.scn-philosophers-define-drunkenness-silly-talk .scroll {
  position: absolute; bottom: 18%; left: 30%; width: 80px; height: 20px;
  background: linear-gradient(180deg, #c8b088 0%, #a08060 100%);
  border-radius: 2px;
  transform: rotate(-5deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: pdst-scroll 10s ease-in-out infinite alternate;
}
.scn-philosophers-define-drunkenness-silly-talk .pen {
  position: absolute; bottom: 22%; left: 55%;
  width: 6px; height: 30px;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2010 100%);
  border-radius: 2px;
  transform: rotate(20deg);
  animation: pdst-pen 4s ease-in-out infinite;
}
.scn-philosophers-define-drunkenness-silly-talk .wine-glass {
  position: absolute; bottom: 14%; left: 65%;
  width: 20px; height: 28px;
  background: linear-gradient(180deg, rgba(180,100,60,0.5) 0%, rgba(100,40,20,0.3) 100%);
  border-radius: 2px 2px 4px 4px;
  animation: pdst-wine 7s ease-in-out infinite alternate;
}
.scn-philosophers-define-drunkenness-silly-talk .candle {
  position: absolute; bottom: 18%; left: 20%;
  width: 8px; height: 30px;
  background: linear-gradient(180deg, #a08060 0%, #604020 100%);
  border-radius: 2px;
}
.scn-philosophers-define-drunkenness-silly-talk .flame {
  position: absolute; bottom: 48%; left: calc(20% + 2px);
  width: 8px; height: 14px;
  background: radial-gradient(ellipse at 50% 30%, #ffd080 0%, #ff8020 60%, transparent 100%);
  border-radius: 50%;
  filter: blur(2px);
  animation: pdst-flame 2s ease-in-out infinite alternate;
}
.scn-philosophers-define-drunkenness-silly-talk .figure {
  position: absolute; bottom: 10%; left: 25%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #1a1210 0%, #080606 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 60% 60%;
  transform-origin: bottom center;
  animation: pdst-figure 15s ease-in-out infinite;
}

@keyframes pdst-scroll {
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-2px); }
  100% { transform: rotate(-7deg) translateY(0); }
}
@keyframes pdst-pen {
  0% { transform: rotate(20deg) translateX(0); }
  50% { transform: rotate(18deg) translateX(1px); }
  100% { transform: rotate(22deg) translateX(-1px); }
}
@keyframes pdst-wine {
  0% { transform: rotate(0deg) scale(1); opacity: 0.6; }
  50% { transform: rotate(-3deg) scale(1.05); opacity: 0.8; }
  100% { transform: rotate(2deg) scale(0.95); opacity: 0.5; }
}
@keyframes pdst-flame {
  0% { transform: scaleY(1) translateY(0); opacity: 0.8; }
  50% { transform: scaleY(1.2) translateY(-1px); opacity: 1; }
  100% { transform: scaleY(0.9) translateY(1px); opacity: 0.6; }
}
@keyframes pdst-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); }
}

/* Scene 4 */
.scn-lysias-defence-read-many-times {
  background: radial-gradient(ellipse at 50% 50%, #2a1a0a 0%, #0a0604 100%);
  overflow: hidden;
}
.scn-lysias-defence-read-many-times .bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1a1208 0%, #0c0804 100%);
}
.scn-lysias-defence-read-many-times .scroll {
  position: absolute; bottom: 20%; left: 50%; transform: translateX(-50%);
  width: 120px; height: 40px;
  background: linear-gradient(180deg, #d0b890 0%, #a88860 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.7);
  animation: ldr-scroll 6s ease-in-out infinite alternate;
}
.scn-lysias-defence-read-many-times .figure {
  position: absolute; bottom: 10%; left: 50%; transform: translateX(-50%);
  width: 50px; height: 80px;
  background: linear-gradient(180deg, #2a1a10 0%, #120a06 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 60% 60%;
  transform-origin: bottom center;
  animation: ldr-figure 8s ease-in-out infinite;
}
.scn-lysias-defence-read-many-times .hand-left {
  position: absolute; bottom: 18%; left: calc(50% - 30px);
  width: 12px; height: 20px;
  background: #2a1a10;
  border-radius: 40% 40% 30% 30%;
  transform: rotate(10deg);
  animation: ldr-hand 4s ease-in-out infinite alternate;
}
.scn-lysias-defence-read-many-times .hand-right {
  position: absolute; bottom: 18%; right: calc(50% - 30px);
  width: 12px; height: 20px;
  background: #2a1a10;
  border-radius: 40% 40% 30% 30%;
  transform: rotate(-10deg);
  animation: ldr-hand 4s ease-in-out infinite alternate-reverse;
}
.scn-lysias-defence-read-many-times .copy1 {
  position: absolute; bottom: 35%; left: 20%;
  width: 30px; height: 12px;
  background: #c8a878;
  border-radius: 2px;
  transform: rotate(-15deg);
  opacity: 0.5;
  animation: ldr-copy 10s linear infinite;
}
.scn-lysias-defence-read-many-times .copy2 {
  position: absolute; bottom: 35%; right: 20%;
  width: 30px; height: 12px;
  background: #c8a878;
  border-radius: 2px;
  transform: rotate(10deg);
  opacity: 0.5;
  animation: ldr-copy 10s linear infinite reverse;
}
.scn-lysias-defence-read-many-times .eyes {
  position: absolute; bottom: 35%; left: 50%; transform: translateX(-50%);
  width: 20px; height: 6px;
  background: radial-gradient(circle at 35% 50%, #fff 2px, transparent 2px), radial-gradient(circle at 65% 50%, #fff 2px, transparent 2px);
  background-size: 8px 6px;
  background-position: 2px 0, 10px 0;
  background-repeat: no-repeat;
  animation: ldr-eyes 3s ease-in-out infinite alternate;
}

@keyframes ldr-scroll {
  0% { transform: translateX(-50%) rotate(0deg); }
  50% { transform: translateX(-50%) rotate(2deg); }
  100% { transform: translateX(-50%) rotate(-2deg); }
}
@keyframes ldr-figure {
  0% { transform: translateX(-50%) rotate(0deg); }
  25% { transform: translateX(-50%) rotate(3deg); }
  50% { transform: translateX(-50%) rotate(-2deg); }
  75% { transform: translateX(-50%) rotate(1deg); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes ldr-hand {
  0% { transform: rotate(10deg) translateY(0); }
  50% { transform: rotate(15deg) translateY(-2px); }
  100% { transform: rotate(5deg) translateY(0); }
}
@keyframes ldr-copy {
  0% { transform: rotate(-15deg) translateY(0) scale(1); opacity: 0.3; }
  50% { transform: rotate(-10deg) translateY(-20px) scale(1.1); opacity: 0.7; }
  100% { transform: rotate(-15deg) translateY(0) scale(0.9); opacity: 0.3; }
}
@keyframes ldr-eyes {
  0% { transform: translateX(-50%) scaleX(1); }
  50% { transform: translateX(-50%) scaleX(1.3); }
  100% { transform: translateX(-50%) scaleX(0.8); }
}

/* Scene 1: not-lavish-virtue-preserve-friendship */
.scn-not-lavish-virtue-preserve-friendship {
  background: linear-gradient(180deg, #1b1b1b 0%, #2a2a2a 40%, #3a3a3a 100%),
              radial-gradient(ellipse at 50% 80%, #4a3a2a 0%, transparent 60%);
}
.scn-not-lavish-virtue-preserve-friendship .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #2d2d2d 0%, #1a1a1a 100%);
  border-bottom: 4px solid #3a3a3a;
}
.scn-not-lavish-virtue-preserve-friendship .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: repeating-linear-gradient(90deg, #3a2a1a 0px, #3a2a1a 8px, #4a3a2a 8px, #4a3a2a 16px);
  box-shadow: inset 0 12px 20px rgba(0,0,0,0.6);
}
.scn-not-lavish-virtue-preserve-friendship .desk {
  position: absolute; bottom: 28%; left: 30%; width: 120px; height: 40px;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a2a0a 100%);
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
}
.scn-not-lavish-virtue-preserve-friendship .book {
  position: absolute; bottom: 35%; left: 35%; width: 50px; height: 30px;
  background: linear-gradient(135deg, #8a6a3a 0%, #6a4a2a 50%, #5a3a1a 100%);
  border-radius: 2px;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.4);
  transform: rotate(-5deg);
  animation: nvf-book 5s ease-in-out infinite alternate;
}
.scn-not-lavish-virtue-preserve-friendship .chair {
  position: absolute; bottom: 25%; left: 60%; width: 50px; height: 55px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: nvf-chair 8s ease-in-out infinite;
}
.scn-not-lavish-virtue-preserve-friendship .figure {
  position: absolute; bottom: 26%; left: 68%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: nvf-figure 4s ease-in-out infinite alt;
}
.scn-not-lavish-virtue-preserve-friendship .lamp {
  position: absolute; bottom: 42%; left: 20%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #8a6a3a 0%, #5a3a1a 100%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: 0 0 20px 8px #c8a060;
  animation: nvf-lamp 3s ease-in-out infinite alternate;
}
.scn-not-lavish-virtue-preserve-friendship .glow {
  position: absolute; bottom: 40%; left: 15%; width: 60px; height: 60px;
  background: radial-gradient(circle, rgba(200,160,96,0.3) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(10px);
  animation: nvf-glow 6s ease-in-out infinite;
}
.scn-not-lavish-virtue-preserve-friendship .shadow {
  position: absolute; bottom: 25%; left: 30%; width: 200px; height: 20px;
  background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,0.5) 0%, transparent 70%);
  filter: blur(8px);
  animation: nvf-shadow 8s ease-in-out infinite alternate;
}
@keyframes nvf-book {
  0% { transform: rotate(-5deg); }
  50% { transform: rotate(5deg); }
  100% { transform: rotate(-5deg); }
}
@keyframes nvf-chair {
  0%,100% { transform: scale(1); }
  50% { transform: scale(0.98); }
}
@keyframes nvf-figure {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes nvf-lamp {
  0% { opacity: 0.7; box-shadow: 0 0 15px 4px #c8a060; }
  50% { opacity: 1;   box-shadow: 0 0 30px 12px #e8c080; }
  100% { opacity: 0.8; box-shadow: 0 0 20px 6px #c8a060; }
}
@keyframes nvf-glow {
  0%,100% { transform: scale(1); opacity: 0.6; }
  50% { transform: scale(1.2); opacity: 0.8; }
}
@keyframes nvf-shadow {
  0% { opacity: 0.4; transform: scaleX(1); }
  100% { opacity: 0.15; transform: scaleX(1.2); }
}

/* Scene 2: versatile-man-many-friends */
.scn-versatile-man-many-friends {
  background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 40%, #3a3a4a 100%),
              radial-gradient(ellipse at 50% 60%, #4a4a5a 0%, transparent 70%);
}
.scn-versatile-man-many-friends .bg {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 50% 40%, #3a3a4a 0%, #1a1a2a 100%);
}
.scn-versatile-man-many-friends .table {
  position: absolute; bottom: 20%; left: 20%; width: 60%; height: 35%;
  background: radial-gradient(ellipse at 50% 50%, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.6);
  animation: vmf-table 12s ease-in-out infinite;
}
.scn-versatile-man-many-friends .cup1,
.scn-versatile-man-many-friends .cup2,
.scn-versatile-man-many-friends .cup3,
.scn-versatile-man-many-friends .cup4 {
  position: absolute; width: 30px; height: 20px;
  background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%);
  border-radius: 20% 20% 30% 30%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
}
.scn-versatile-man-many-friends .cup1 {
  bottom: 38%; left: 30%; animation: vmf-cup1 7s ease-in-out infinite;
}
.scn-versatile-man-many-friends .cup2 {
  bottom: 40%; left: 50%; animation: vmf-cup2 9s ease-in-out infinite reverse;
}
.scn-versatile-man-many-friends .cup3 {
  bottom: 36%; right: 30%; animation: vmf-cup3 11s ease-in-out infinite;
}
.scn-versatile-man-many-friends .cup4 {
  bottom: 42%; left: 40%; animation: vmf-cup4 8s ease-in-out infinite alternate;
}
.scn-versatile-man-many-friends .hand {
  position: absolute; bottom: 45%; left: 45%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: vmf-hand 5s ease-in-out infinite;
}
.scn-versatile-man-many-friends .arm {
  position: absolute; bottom: 50%; left: 40%; width: 40px; height: 10px;
  background: linear-gradient(90deg, #5a4a3a 0%, #6a5a4a 100%);
  border-radius: 30% 10% 10% 30%;
  transform-origin: right center;
  animation: vmf-arm 5s ease-in-out infinite;
}
@keyframes vmf-table {
  0%,100% { transform: scale(1) rotate(0deg); }
  50% { transform: scale(1.005) rotate(2deg); }
}
@keyframes vmf-cup1 {
  0% { transform: translate(0,0) rotate(0deg); }
  50% { transform: translate(-5px,-3px) rotate(5deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}
@keyframes vmf-cup2 {
  0% { transform: translate(0,0); }
  50% { transform: translate(3px,2px); }
  100% { transform: translate(0,0); }
}
@keyframes vmf-cup3 {
  0%,100% { transform: scale(1); }
  50% { transform: scale(0.95); }
}
@keyframes vmf-cup4 {
  0% { opacity: 0.8; transform: rotate(0deg); }
  100% { opacity: 1; transform: rotate(3deg); }
}
@keyframes vmf-hand {
  0% { transform: translate(0,0) rotate(0deg); }
  50% { transform: translate(8px,-2px) rotate(10deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}
@keyframes vmf-arm {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(15deg); }
  100% { transform: rotate(0deg); }
}

/* Scene 3: matter-changeable-soul */
.scn-matter-changeable-soul {
  background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2a 40%, #2a2a3a 100%),
              radial-gradient(ellipse at 50% 70%, #2a2a3a 0%, transparent 60%);
}
.scn-matter-changeable-soul .vessel {
  position: absolute; bottom: 30%; left: 50%; transform: translateX(-50%);
  width: 80px; height: 100px;
  background: linear-gradient(180deg, transparent 0%, rgba(100,100,120,0.2) 30%, rgba(60,60,80,0.4) 100%);
  border: 2px solid rgba(180,180,200,0.3);
  border-radius: 10% 10% 30% 30%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.3);
}
.scn-matter-changeable-soul .fluid1,
.scn-matter-changeable-soul .fluid2,
.scn-matter-changeable-soul .fluid3 {
  position: absolute; bottom: 32%; left: 50%; transform: translateX(-50%);
  width: 60px; height: 60px;
  border-radius: 50% 50% 40% 40%;
  filter: blur(4px);
  mix-blend-mode: screen;
}
.scn-matter-changeable-soul .fluid1 {
  background: radial-gradient(circle, #4a8a6a 0%, #2a5a4a 70%, transparent 100%);
  animation: mcs-fluid1 10s ease-in-out infinite alternate;
}
.scn-matter-changeable-soul .fluid2 {
  background: radial-gradient(circle, #6a4a8a 0%, #4a2a6a 70%, transparent 100%);
  animation: mcs-fluid2 14s ease-in-out infinite alternate;
  animation-delay: -3s;
}
.scn-matter-changeable-soul .fluid3 {
  background: radial-gradient(circle, #8a6a4a 0%, #6a4a2a 70%, transparent 100%);
  animation: mcs-fluid3 18s ease-in-out infinite alternate;
  animation-delay: -7s;
}
.scn-matter-changeable-soul .flame {
  position: absolute; bottom: 42%; left: 45%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #e8c060 0%, #c88030 50%, #a05020 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 20px 6px #c88030;
  animation: mcs-flame 2s ease-in-out infinite alternate;
}
.scn-matter-changeable-soul .smoke {
  position: absolute; top: 10%; left: 40%; width: 40px; height: 60px;
  background: radial-gradient(ellipse at 50% 50%, rgba(200,200,220,0.2) 0%, transparent 70%);
  filter: blur(12px);
  animation: mcs-smoke 20s linear infinite;
}
@keyframes mcs-fluid1 {
  0% { transform: translateX(-50%) scaleY(0.6) translateY(10px); opacity: 0.4; }
  50% { transform: translateX(-50%) scaleY(1) translateY(0px); opacity: 0.8; }
  100% { transform: translateX(-50%) scaleY(0.8) translateY(5px); opacity: 0.5; }
}
@keyframes mcs-fluid2 {
  0% { transform: translateX(-50%) scale(0.7); opacity: 0.3; }
  50% { transform: translateX(-50%) scale(1.1); opacity: 0.9; }
  100% { transform: translateX(-50%) scale(0.9); opacity: 0.5; }
}
@keyframes mcs-fluid3 {
  0% { transform: translateX(-50%) rotate(0deg) scale(0.8); opacity: 0.5; }
  50% { transform: translateX(-50%) rotate(10deg) scale(1.05); opacity: 0.85; }
  100% { transform: translateX(-50%) rotate(0deg) scale(0.9); opacity: 0.6; }
}
@keyframes mcs-flame {
  0% { transform: scaleY(1); opacity: 0.9; }
  50% { transform: scaleY(1.3) scaleX(0.8); opacity: 1; }
  100% { transform: scaleY(0.9); opacity: 0.7; }
}
@keyframes mcs-smoke {
  0% { transform: translateY(0) scale(1); opacity: 0.15; }
  50% { transform: translateY(-30px) scale(1.5); opacity: 0; }
  100% { transform: translateY(-60px) scale(2); opacity: 0; }
}

/* Scene 4: plato-menon-71e */
.scn-plato-menon-71e {
  background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 40%, #3a3a4a 100%),
              radial-gradient(ellipse at 50% 80%, #4a4a5a 0%, transparent 60%);
}
.scn-plato-menon-71e .bg {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 50%, #2a2a3a 0%, #0a0a1a 100%);
}
.scn-plato-menon-71e .bench {
  position: absolute; bottom: 25%; left: 20%; width: 60%; height: 30px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 6px 6px 2px 2px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.4);
  animation: plm-bench 15s ease-in-out infinite alternate;
}
.scn-plato-menon-71e .figure1,
.scn-plato-menon-71e .figure2 {
  position: absolute; bottom: 28%; width: 30px; height: 55px;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
}
.scn-plato-menon-71e .figure1 {
  left: 30%; animation: plm-figure1 6s ease-in-out infinite;
}
.scn-plato-menon-71e .figure2 {
  left: 55%; animation: plm-figure2 8s ease-in-out infinite alternate;
}
.scn-plato-menon-71e .scroll {
  position: absolute; bottom: 30%; left: 38%; width: 60px; height: 20px;
  background: linear-gradient(90deg, #8a7a5a 0%, #aa9a7a 50%, #8a7a5a 100%);
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: plm-scroll 10s ease-in-out infinite alternate;
}
.scn-plato-menon-71e .lantern {
  position: absolute; bottom: 45%; left: 50%; transform: translateX(-50%);
  width: 24px; height: 40px;
  background: linear-gradient(180deg, #c8a060 0%, #8a6a3a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 30px 10px #c8a060;
  animation: plm-lantern 4s ease-in-out infinite alternate;
}
.scn-plato-menon-71e .shadow {
  position: absolute; bottom: 22%; left: 10%; width: 200px; height: 10px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 70%);
  filter: blur(6px);
  animation: plm-shadow 12s ease-in-out infinite;
}
.scn-plato-menon-71e .pillar {
  position: absolute; bottom: 0; left: 10%; width: 20px; height: 100%;
  background: linear-gradient(90deg, #4a4a3a 0%, #6a6a5a 30%, #4a4a3a 100%);
  border-radius: 4px;
  box-shadow: inset 2px 0 8px rgba(0,0,0,0.3), 0 0 12px rgba(0,0,0,0.2);
}
.scn-plato-menon-71e .pillar::before {
  content: ''; position: absolute; bottom: 0; left: -5px; width: 30px; height: 100%;
  background: linear-gradient(90deg, #3a3a2a 0%, #5a5a4a 30%, #3a3a2a 100%);
  border-radius: 4px;
  opacity: 0.5;
}
@keyframes plm-bench {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes plm-figure1 {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-3px) rotate(3deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes plm-figure2 {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(-2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes plm-scroll {
  0% { transform: scaleX(1) translateY(0); }
  50% { transform: scaleX(1.02) translateY(-2px); }
  100% { transform: scaleX(1) translateY(0); }
}
@keyframes plm-lantern {
  0% { opacity: 0.7; box-shadow: 0 0 20px 6px #c8a060; }
  50% { opacity: 1;   box-shadow: 0 0 40px 14px #e8c080; }
  100% { opacity: 0.8; box-shadow: 0 0 25px 8px #c8a060; }
}
@keyframes plm-shadow {
  0%,100% { opacity: 0.3; transform: scaleX(1); }
  50% { opacity: 0.15; transform: scaleX(1.1); }
}

/* Scene: education-habit-enough (ehe) */
.scn-education-habit-enough {
  background: linear-gradient(180deg, #f7f2e8 0%, #ede3d3 40%, #d6c8b0 100%),
              radial-gradient(ellipse at 50% 0%, #fff8e7 0%, transparent 70%);
}
.scn-education-habit-enough .window {
  position: absolute; top: 10%; left: 20%; width: 30%; height: 40%;
  background: linear-gradient(135deg, #c4daf0 0%, #9bb7d4 100%);
  border: 6px solid #b89a6b; border-radius: 4px;
  box-shadow: inset 0 0 20px #fff2d6, 0 4px 12px rgba(0,0,0,0.15);
  animation: ehe-window 12s ease-in-out infinite alternate;
}
.scn-education-habit-enough .table {
  position: absolute; bottom: 25%; left: 15%; width: 55%; height: 12%;
  background: linear-gradient(180deg, #c9a96c 0%, #a6834a 100%);
  border-radius: 4px; box-shadow: 0 8px 12px rgba(0,0,0,0.2);
  animation: ehe-table 18s ease-in-out infinite alternate;
}
.scn-education-habit-enough .book {
  position: absolute; bottom: 35%; left: 30%; width: 16%; height: 20%;
  background: linear-gradient(135deg, #7a4c2e 0%, #4f2f1a 100%);
  border-radius: 2px 6px 6px 2px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  transform: rotate(-2deg); animation: ehe-book 6s ease-in-out infinite;
}
.scn-education-habit-enough .mother {
  position: absolute; bottom: 28%; left: 38%; width: 14%; height: 34%;
  background: radial-gradient(ellipse 60% 50% at 50% 30%, #e8c7a0, #b58b6a);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  animation: ehe-mother 7s ease-in-out infinite;
}
.scn-education-habit-enough .child {
  position: absolute; bottom: 28%; left: 45%; width: 8%; height: 18%;
  background: radial-gradient(ellipse 50% 40% at 50% 30%, #f0d5b0, #c79a6e);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  animation: ehe-child 7s ease-in-out infinite;
}
.scn-education-habit-enough .plant {
  position: absolute; bottom: 27%; right: 18%; width: 10%; height: 26%;
  background: linear-gradient(180deg, #6b8e23 0%, #3a5f0b 100%);
  border-radius: 60% 60% 30% 30%; filter: blur(1px);
  animation: ehe-plant 15s ease-in-out infinite;
}
.scn-education-habit-enough .sunlight {
  position: absolute; top: 15%; left: 25%; width: 40%; height: 50%;
  background: radial-gradient(ellipse, rgba(255,240,180,0.35) 0%, transparent 80%);
  filter: blur(12px); animation: ehe-sunlight 20s ease-in-out infinite alternate;
}
@keyframes ehe-window { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes ehe-table { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes ehe-book { 0%,100% { transform: rotate(-2deg) translateY(0) } 50% { transform: rotate(-1deg) translateY(-3px) } }
@keyframes ehe-mother { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(1deg) } }
@keyframes ehe-child { 0%,100% { transform: translateY(0) scale(1) } 50% { transform: translateY(-1px) scale(1.02) } }
@keyframes ehe-plant { 0%,100% { transform: scale(1) translateY(0) } 50% { transform: scale(1.03) translateY(-3px) } }
@keyframes ehe-sunlight { 0% { opacity: 0.5; transform: scale(1) } 50% { opacity: 0.8; transform: scale(1.05) } 100% { opacity: 0.6; transform: scale(0.95) } }

/* Scene: nutrition-mothers-suckle (nms) */
.scn-nutrition-mothers-suckle {
  background: linear-gradient(180deg, #fce4c8 0%, #e8c49a 40%, #d4a87a 100%),
              radial-gradient(ellipse at 70% 20%, #fff0d0 0%, transparent 60%);
}
.scn-nutrition-mothers-suckle .mother {
  position: absolute; bottom: 22%; left: 35%; width: 20%; height: 40%;
  background: radial-gradient(ellipse 55% 45% at 50% 30%, #eac9a0, #c4966a);
  border-radius: 50% 50% 40% 40% / 55% 55% 35% 35%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.2);
  animation: nms-mother 8s ease-in-out infinite;
}
.scn-nutrition-mothers-suckle .child-left {
  position: absolute; bottom: 25%; left: 32%; width: 7%; height: 16%;
  background: radial-gradient(ellipse 50% 40% at 50% 30%, #f2d4b0, #d0a47a);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  animation: nms-child 6s ease-in-out infinite;
}
.scn-nutrition-mothers-suckle .child-right {
  position: absolute; bottom: 25%; left: 50%; width: 7%; height: 16%;
  background: radial-gradient(ellipse 50% 40% at 50% 30%, #f2d4b0, #d0a47a);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  animation: nms-child 6s ease-in-out infinite 0.5s;
}
.scn-nutrition-mothers-suckle .chair {
  position: absolute; bottom: 20%; left: 30%; width: 30%; height: 18%;
  background: linear-gradient(180deg, #b8895a 0%, #8c663a 100%);
  border-radius: 8px 8px 4px 4px; box-shadow: 0 6px 12px rgba(0,0,0,0.25);
  animation: nms-chair 20s ease-in-out infinite alternate;
}
.scn-nutrition-mothers-suckle .bowl {
  position: absolute; bottom: 28%; right: 22%; width: 10%; height: 8%;
  background: radial-gradient(ellipse, #f7e6c8 0%, #d6b58a 100%);
  border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: nms-bowl 10s ease-in-out infinite;
}
.scn-nutrition-mothers-suckle .window {
  position: absolute; top: 12%; right: 10%; width: 28%; height: 38%;
  background: linear-gradient(135deg, #b8d4e8 0%, #8ab0d0 100%);
  border: 6px solid #a07d4e; border-radius: 3px;
  box-shadow: inset 0 0 16px #fff3d6; animation: nms-window 14s ease-in-out infinite alternate;
}
.scn-nutrition-mothers-suckle .warmglow {
  position: absolute; top: 20%; left: 30%; width: 50%; height: 50%;
  background: radial-gradient(ellipse, rgba(255,220,150,0.4) 0%, transparent 80%);
  filter: blur(18px); animation: nms-glow 8s ease-in-out infinite alternate;
}
@keyframes nms-mother { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(1deg) } }
@keyframes nms-child { 0%,100% { transform: translateY(0) scale(1) } 50% { transform: translateY(-1px) scale(1.02) } }
@keyframes nms-chair { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes nms-bowl { 0%,100% { transform: rotate(0) translateY(0) } 50% { transform: rotate(2deg) translateY(-1px) } }
@keyframes nms-window { 0% { opacity: 0.95 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes nms-glow { 0% { opacity: 0.5; transform: scale(1) } 50% { opacity: 0.8; transform: scale(1.05) } 100% { opacity: 0.6; transform: scale(0.95) } }

/* Scene: nature-two-breasts (ntb) */
.scn-nature-two-breasts {
  background: linear-gradient(180deg, #e8f0f0 0%, #c6d8de 40%, #a4bcc6 100%),
              radial-gradient(ellipse at 30% 40%, #f0faf8 0%, transparent 60%);
}
.scn-nature-two-breasts .mother {
  position: absolute; bottom: 24%; left: 40%; width: 16%; height: 36%;
  background: radial-gradient(ellipse 55% 45% at 50% 30%, #dcc8b0, #b09878);
  border-radius: 50% 50% 40% 40% / 55% 55% 35% 35%;
  animation: ntb-mother 7s ease-in-out infinite;
}
.scn-nature-two-breasts .child {
  position: absolute; bottom: 26%; left: 46%; width: 7%; height: 16%;
  background: radial-gradient(ellipse 50% 40% at 50% 30%, #e8d0b8, #c0a28a);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  animation: ntb-child 6s ease-in-out infinite;
}
.scn-nature-two-breasts .cat {
  position: absolute; bottom: 22%; left: 20%; width: 12%; height: 8%;
  background: radial-gradient(ellipse 70% 50% at 50% 50%, #8a7a6a, #5a4e42);
  border-radius: 50% 50% 30% 30%; transform: rotate(5deg);
  animation: ntb-cat 12s ease-in-out infinite;
}
.scn-nature-two-breasts .window {
  position: absolute; top: 14%; left: 12%; width: 25%; height: 35%;
  background: linear-gradient(135deg, #b8d8e8 0%, #8ab8d0 100%);
  border: 5px solid #8c7560; border-radius: 3px;
  box-shadow: inset 0 0 14px #e0f0f8; animation: ntb-window 16s ease-in-out infinite alternate;
}
.scn-nature-two-breasts .rug {
  position: absolute; bottom: 18%; left: 10%; width: 70%; height: 8%;
  background: linear-gradient(90deg, #a06850 0%, #7a5040 50%, #a06850 100%);
  border-radius: 20% 20% 10% 10%; box-shadow: 0 4px 8px rgba(0,0,0,0.15);
  animation: ntb-rug 20s ease-in-out infinite alternate;
}
.scn-nature-two-breasts .cradle {
  position: absolute; bottom: 30%; left: 55%; width: 14%; height: 12%;
  background: linear-gradient(180deg, #b88868 0%, #8a6040 100%);
  border-radius: 8% 8% 12% 12%; box-shadow: 0 6px 10px rgba(0,0,0,0.2);
  animation: ntb-cradle 8s ease-in-out infinite;
}
.scn-nature-two-breasts .lightray {
  position: absolute; top: 10%; left: 15%; width: 30%; height: 45%;
  background: linear-gradient(180deg, rgba(240,250,255,0.3) 0%, transparent 100%);
  filter: blur(10px); animation: ntb-lightray 18s ease-in-out infinite alternate;
}
@keyframes ntb-mother { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(1deg) } }
@keyframes ntb-child { 0%,100% { transform: translateY(0) scale(1) } 50% { transform: translateY(-1px) scale(1.02) } }
@keyframes ntb-cat { 0%,100% { transform: rotate(5deg) translateX(0) } 50% { transform: rotate(3deg) translateX(4px) } 100% { transform: rotate(5deg) translateX(0) } }
@keyframes ntb-window { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes ntb-rug { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(1) } }
@keyframes ntb-cradle { 0%,100% { transform: rotate(0) translateY(0) } 50% { transform: rotate(2deg) translateY(-2px) } }
@keyframes ntb-lightray { 0% { opacity: 0.4; transform: scale(1) } 50% { opacity: 0.7; transform: scale(1.05) } 100% { opacity: 0.5; transform: scale(0.95) } }

/* Scene: nutrition-if-unable (niu) */
.scn-nutrition-if-unable {
  background: linear-gradient(180deg, #2a3038 0%, #1a1e24 50%, #0f1216 100%),
              radial-gradient(ellipse at 30% 50%, #3a3e44 0%, transparent 70%);
}
.scn-nutrition-if-unable .crib {
  position: absolute; bottom: 20%; left: 30%; width: 30%; height: 18%;
  background: linear-gradient(180deg, #4a3e30 0%, #2e241c 100%);
  border-radius: 8px 8px 4px 4px; box-shadow: inset 0 4px 8px rgba(0,0,0,0.5), 0 6px 12px rgba(0,0,0,0.4);
  animation: niu-crib 14s ease-in-out infinite alternate;
}
.scn-nutrition-if-unable .wetnurse {
  position: absolute; bottom: 22%; left: 22%; width: 12%; height: 30%;
  background: radial-gradient(ellipse 50% 40% at 50% 30%, #3a3430, #1e1a18);
  border-radius: 50% 50% 40% 40% / 55% 55% 35% 35%;
  filter: brightness(0.8); animation: niu-nurse 9s ease-in-out infinite;
}
.scn-nutrition-if-unable .baby {
  position: absolute; bottom: 25%; left: 35%; width: 5%; height: 12%;
  background: radial-gradient(ellipse 50% 40% at 50% 30%, #5a4a3a, #3a2a1a);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  animation: niu-baby 7s ease-in-out infinite;
}
.scn-nutrition-if-unable .candle {
  position: absolute; bottom: 35%; right: 28%; width: 2%; height: 10%;
  background: linear-gradient(180deg, #d4a050 0%, #8c6a30 100%);
  border-radius: 2px; box-shadow: 0 0 16px 6px rgba(212,160,80,0.5);
  animation: niu-candle 4s ease-in-out infinite alternate;
}
.scn-nutrition-if-unable .shadow {
  position: absolute; bottom: 0; left: 0; width: 100%; height: 30%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.6) 100%);
  animation: niu-shadow 20s ease-in-out infinite alternate;
}
.scn-nutrition-if-unable .chair {
  position: absolute; bottom: 18%; right: 15%; width: 20%; height: 22%;
  background: linear-gradient(180deg, #3a3028 0%, #1e1610 100%);
  border-radius: 8px 8px 4px 4px; filter: brightness(0.9);
  box-shadow: 0 4px 8px rgba(0,0,0,0.5); animation: niu-chair 18s ease-in-out infinite alternate;
}
.scn-nutrition-if-unable .doorway {
  position: absolute; top: 10%; right: 5%; width: 24%; height: 60%;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-left: 4px solid #2a2a2a; border-radius: 0 4px 4px 0;
  animation: niu-doorway 30s ease-in-out infinite alternate;
}
@keyframes niu-crib { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes niu-nurse { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(1deg) } }
@keyframes niu-baby { 0%,100% { transform: translateY(0) scale(1) } 50% { transform: translateY(-1px) scale(1.02) } }
@keyframes niu-candle { 0% { opacity: 0.7; transform: scaleY(1) } 50% { opacity: 1; transform: scaleY(1.05) } 100% { opacity: 0.8; transform: scaleY(0.95) } }
@keyframes niu-shadow { 0% { opacity: 0.6 } 50% { opacity: 0.8 } 100% { opacity: 0.65 } }
@keyframes niu-chair { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes niu-doorway { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.85 } }

.scn-plato-xenophon-style-vs-drugs {
  background:
    radial-gradient(ellipse at 50% 30%, #3d2a1a 0%, #1a120a 70%),
    linear-gradient(180deg, #2a1e12 0%, #0d0905 100%);
  background-blend-mode: overlay;
}
.scn-plato-xenophon-style-vs-drugs .desk {
  position: absolute;
  bottom: 0;
  left: 5%;
  right: 5%;
  height: 25%;
  background: linear-gradient(180deg, #5a3d28 0%, #3a2a1a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.6);
}
.scn-plato-xenophon-style-vs-drugs .scroll {
  position: absolute;
  bottom: 20%;
  left: 20%;
  width: 80px;
  height: 12px;
  background: linear-gradient(90deg, #d4c4a0 0%, #a89070 50%, #d4c4a0 100%);
  border-radius: 50%;
  transform: rotate(-5deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: pxsd-scroll 12s ease-in-out infinite alternate;
}
.scn-plato-xenophon-style-vs-drugs .jar {
  position: absolute;
  bottom: 18%;
  left: 45%;
  width: 30px;
  height: 40px;
  background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%);
  border-radius: 20% 20% 30% 30% / 30% 30% 40% 40%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: pxsd-jar 6s ease-in-out infinite;
}
.scn-plato-xenophon-style-vs-drugs .lamp {
  position: absolute;
  bottom: 28%;
  left: 55%;
  width: 20px;
  height: 30px;
  background: radial-gradient(circle at 50% 30%, #e8c060 0%, #a07030 60%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 30px 10px rgba(200, 160, 80, 0.6), 0 0 60px 20px rgba(200, 160, 80, 0.2);
  animation: pxsd-lamp 3s ease-in-out infinite alternate;
}
.scn-plato-xenophon-style-vs-drugs .smoke-a {
  position: absolute;
  top: 10%;
  left: 50%;
  width: 40px;
  height: 20px;
  background: radial-gradient(ellipse, rgba(200,180,150,0.3) 0%, transparent 70%);
  filter: blur(8px);
  animation: pxsd-smoke-a 8s linear infinite;
}
.scn-plato-xenophon-style-vs-drugs .smoke-b {
  position: absolute;
  top: 8%;
  left: 48%;
  width: 35px;
  height: 18px;
  background: radial-gradient(ellipse, rgba(200,180,150,0.2) 0%, transparent 70%);
  filter: blur(6px);
  animation: pxsd-smoke-b 10s linear infinite reverse;
}
@keyframes pxsd-scroll {
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-2px); }
  100% { transform: rotate(-5deg) translateY(0); }
}
@keyframes pxsd-jar {
  0% { transform: scale(1); }
  50% { transform: scale(1.02) translateY(-1px); }
  100% { transform: scale(1); }
}
@keyframes pxsd-lamp {
  0% { box-shadow: 0 0 20px 8px rgba(200,160,80,0.5); opacity: 0.9; }
  50% { box-shadow: 0 0 40px 18px rgba(200,160,80,0.7); opacity: 1; }
  100% { box-shadow: 0 0 25px 10px rgba(200,160,80,0.55); opacity: 0.95; }
}
@keyframes pxsd-smoke-a {
  0% { transform: translate(0, 0) scale(1); opacity: 0; }
  20% { opacity: 1; }
  40% { transform: translate(-10px, -15px) scale(1.5); opacity: 0.6; }
  60% { transform: translate(5px, -25px) scale(2); opacity: 0.3; }
  100% { transform: translate(-5px, -40px) scale(2.5); opacity: 0; }
}
@keyframes pxsd-smoke-b {
  0% { transform: translate(0, 0) scale(1); opacity: 0; }
  20% { opacity: 0.8; }
  40% { transform: translate(8px, -10px) scale(1.3); opacity: 0.4; }
  60% { transform: translate(-3px, -20px) scale(1.8); opacity: 0.2; }
  100% { transform: translate(2px, -35px) scale(2.2); opacity: 0; }
}

.scn-brasidas-mouse-figs {
  background:
    radial-gradient(ellipse at 50% 60%, #5a3a22 0%, #1a0e06 80%),
    linear-gradient(180deg, #2d1c0f 0%, #0f0804 100%);
  background-blend-mode: multiply;
}
.scn-brasidas-mouse-figs .wall {
  position: absolute;
  inset: 0 0 40% 0;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%);
  border-bottom: 2px solid #2a1a0a;
  animation: bmf-wall 20s ease-in-out infinite alternate;
}
.scn-brasidas-mouse-figs .table {
  position: absolute;
  bottom: 0;
  left: 5%;
  right: 5%;
  height: 20%;
  background: linear-gradient(180deg, #5a4030 0%, #3a2a1a 100%);
  border-radius: 6% 6% 0 0;
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.5);
}
.scn-brasidas-mouse-figs .bowl {
  position: absolute;
  bottom: 20%;
  left: 20%;
  width: 70px;
  height: 25px;
  background: radial-gradient(ellipse at 50% 30%, #8a6a4a 0%, #5a3a22 100%);
  border-radius: 50%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.6);
  animation: bmf-bowl 15s ease-in-out infinite alternate;
}
.scn-brasidas-mouse-figs .fig {
  position: absolute;
  bottom: 26%;
  left: 35%;
  width: 16px;
  height: 14px;
  background: radial-gradient(circle at 30% 40%, #b08050 0%, #7a5030 100%);
  border-radius: 50% 60% 60% 50% / 50% 50% 50% 50%;
  transform: rotate(15deg);
  box-shadow: 0 1px 3px rgba(0,0,0,0.5);
  animation: bmf-fig 4s ease-in-out infinite;
}
.scn-brasidas-mouse-figs .mouse {
  position: absolute;
  bottom: 22%;
  left: 25%;
  width: 24px;
  height: 16px;
  background: radial-gradient(ellipse at 40% 40%, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 60% 40% / 60% 50% 50% 40%;
  transform: scaleX(-1);
  animation: bmf-mouse 5s ease-in-out infinite;
}
.scn-brasidas-mouse-figs .hand {
  position: absolute;
  bottom: 22%;
  left: 45%;
  width: 30px;
  height: 40px;
  background: radial-gradient(ellipse at 50% 20%, #8a6a50 0%, #5a3a22 80%);
  border-radius: 30% 40% 50% 50% / 60% 50% 40% 40%;
  transform: rotate(-10deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: bmf-hand 8s ease-in-out infinite;
}
@keyframes bmf-wall {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes bmf-bowl {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes bmf-fig {
  0% { transform: rotate(15deg) scale(1); }
  25% { transform: rotate(20deg) scale(1.05); }
  50% { transform: rotate(12deg) scale(1); }
  75% { transform: rotate(18deg) scale(1.02); }
  100% { transform: rotate(15deg) scale(1); }
}
@keyframes bmf-mouse {
  0% { transform: scaleX(-1) translateX(0) translateY(0); }
  25% { transform: scaleX(-1) translateX(4px) translateY(-2px); }
  50% { transform: scaleX(-1) translateX(8px) translateY(0); }
  75% { transform: scaleX(-1) translateX(4px) translateY(-1px); }
  100% { transform: scaleX(-1) translateX(0) translateY(0); }
}
@keyframes bmf-hand {
  0% { transform: rotate(-10deg) translateY(0); }
  50% { transform: rotate(-8deg) translateY(3px); }
  100% { transform: rotate(-10deg) translateY(0); }
}

.scn-bird-homer-offering-scholars {
  background:
    radial-gradient(ellipse at 50% 40%, #2a3a4a 0%, #0f171e 80%),
    linear-gradient(180deg, #1c2a35 0%, #0a1015 100%);
  background-blend-mode: screen;
}
.scn-bird-homer-offering-scholars .surface {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 30%;
  background: linear-gradient(180deg, #3a4a3a 0%, #1a2a1a 100%);
  border-radius: 50% 50% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.5);
}
.scn-bird-homer-offering-scholars .scroll {
  position: absolute;
  bottom: 20%;
  left: 15%;
  width: 80px;
  height: 10px;
  background: linear-gradient(90deg, #c0b090 0%, #a09080 50%, #c0b090 100%);
  border-radius: 50%;
  transform: rotate(5deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  animation: bhos-scroll 20s ease-in-out infinite alternate;
}
.scn-bird-homer-offering-scholars .bird {
  position: absolute;
  bottom: 25%;
  left: 50%;
  width: 30px;
  height: 20px;
  background: radial-gradient(ellipse at 30% 40%, #2a2a3a 0%, #0a0a1a 100%);
  border-radius: 60% 40% 30% 70% / 50% 50% 50% 50%;
  transform: rotate(-10deg);
  animation: bhos-bird 6s ease-in-out infinite;
}
.scn-bird-homer-offering-scholars .cup {
  position: absolute;
  bottom: 18%;
  left: 65%;
  width: 24px;
  height: 28px;
  background: linear-gradient(180deg, #6a6a5a 0%, #3a3a2a 100%);
  border-radius: 10% 10% 20% 20% / 20% 20% 30% 30%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: bhos-cup 10s ease-in-out infinite alternate;
}
.scn-bird-homer-offering-scholars .loaf {
  position: absolute;
  bottom: 26%;
  left: 40%;
  width: 30px;
  height: 18px;
  background: radial-gradient(ellipse at 30% 40%, #8a6a40 0%, #5a3a20 100%);
  border-radius: 40% 60% 60% 40% / 50% 50% 50% 50%;
  transform: rotate(20deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: bhos-loaf 8s ease-in-out infinite;
}
.scn-bird-homer-offering-scholars .oil-lamp {
  position: absolute;
  bottom: 22%;
  left: 30%;
  width: 18px;
  height: 22px;
  background: radial-gradient(circle at 50% 20%, #c8b060 0%, #806830 70%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 20px 6px rgba(200,176,96,0.5), 0 0 40px 12px rgba(200,176,96,0.2);
  animation: bhos-oil-lamp 4s ease-in-out infinite alternate;
}
@keyframes bhos-scroll {
  0% { transform: rotate(5deg) translateY(0); }
  50% { transform: rotate(3deg) translateY(-2px); }
  100% { transform: rotate(5deg) translateY(0); }
}
@keyframes bhos-bird {
  0% { transform: rotate(-10deg) translateX(0); }
  20% { transform: rotate(-8deg) translateX(4px); }
  40% { transform: rotate(-12deg) translateX(-2px); }
  60% { transform: rotate(-6deg) translateX(2px); }
  80% { transform: rotate(-10deg) translateX(-1px); }
  100% { transform: rotate(-10deg) translateX(0); }
}
@keyframes bhos-cup {
  0% { transform: rotate(0) scale(1); }
  50% { transform: rotate(2deg) scale(1.02); }
  100% { transform: rotate(0) scale(1); }
}
@keyframes bhos-loaf {
  0% { transform: rotate(20deg) translateY(0); }
  50% { transform: rotate(18deg) translateY(-2px); }
  100% { transform: rotate(20deg) translateY(0); }
}
@keyframes bhos-oil-lamp {
  0% { box-shadow: 0 0 15px 4px rgba(200,176,96,0.4); opacity: 0.9; }
  50% { box-shadow: 0 0 30px 10px rgba(200,176,96,0.7); opacity: 1; }
  100% { box-shadow: 0 0 18px 5px rgba(200,176,96,0.45); opacity: 0.95; }
}

.scn-discourse-serviceable-not-vain {
  background:
    radial-gradient(ellipse at 50% 50%, #2a3a3a 0%, #101a1a 80%),
    linear-gradient(180deg, #1a2a2a 0%, #0a1010 100%);
  background-blend-mode: difference;
}
.scn-discourse-serviceable-not-vain .bg-wall {
  position: absolute;
  inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a3a3a 0%, #1a2a2a 100%);
  border-bottom: 2px solid #1a2a2a;
}
.scn-discourse-serviceable-not-vain .floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 30%;
  background: linear-gradient(180deg, #1a2a2a 0%, #0a1a1a 100%);
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.6);
}
.scn-discourse-serviceable-not-vain .lamp-glow {
  position: absolute;
  bottom: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  background: radial-gradient(circle, rgba(200,180,140,0.4) 0%, transparent 70%);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: dsnv-glow 4s ease-in-out infinite alternate;
}
.scn-discourse-serviceable-not-vain .figure-left {
  position: absolute;
  bottom: 25%;
  left: 25%;
  width: 30px;
  height: 70px;
  background: linear-gradient(180deg, #3a3a2a 0%, #1a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dsnv-figure-left 6s ease-in-out infinite alternate;
}
.scn-discourse-serviceable-not-vain .figure-right {
  position: absolute;
  bottom: 25%;
  right: 25%;
  width: 30px;
  height: 70px;
  background: linear-gradient(180deg, #3a3a2a 0%, #1a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dsnv-figure-right 6s ease-in-out infinite alternate;
}
.scn-discourse-serviceable-not-vain .shadow {
  position: absolute;
  bottom: 25%;
  left: 30%;
  width: 40%;
  height: 10px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 80%);
  filter: blur(4px);
  animation: dsnv-shadow 8s ease-in-out infinite;
}
@keyframes dsnv-glow {
  0% { transform: translate(-50%, -50%) scale(1); opacity: 0.7; }
  50% { transform: translate(-50%, -50%) scale(1.2); opacity: 1; }
  100% { transform: translate(-50%, -50%) scale(0.9); opacity: 0.8; }
}
@keyframes dsnv-figure-left {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(3deg); }
  100% { transform: rotate(0deg); }
}
@keyframes dsnv-figure-right {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(-3deg); }
  100% { transform: rotate(0deg); }
}
@keyframes dsnv-shadow {
  0% { transform: translateX(0); opacity: 0.6; }
  50% { transform: translateX(5px); opacity: 0.9; }
  100% { transform: translateX(0); opacity: 0.6; }
}

.scn-seneca-animi-tranquillitate-xiii {
  background: linear-gradient(180deg, #2a221b 0%, #4a3a2a 35%, #3a3020 100%),
              radial-gradient(ellipse at 50% 80%, #5a4a3a 0%, transparent 70%);
}
.scn-seneca-animi-tranquillitate-xiii .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  animation: sit-wall 20s ease-in-out infinite alternate;
}
.scn-seneca-animi-tranquillitate-xiii .desk {
  position: absolute; bottom: 10%; left: 10%; right: 10%; height: 20%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 4px; box-shadow: inset 0 4px 8px rgba(0,0,0,.6);
}
.scn-seneca-animi-tranquillitate-xiii .figure {
  position: absolute; bottom: 28%; left: 30%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sit-figure 6s ease-in-out infinite;
}
.scn-seneca-animi-tranquillitate-xiii .scroll {
  position: absolute; bottom: 18%; left: 45%; width: 60px; height: 30px;
  background: linear-gradient(135deg, #c0a080 0%, #a08060 50%, #c0a080 100%);
  border-radius: 30px; box-shadow: 0 2px 6px rgba(0,0,0,.4);
  animation: sit-scroll 8s ease-in-out infinite alternate;
}
.scn-seneca-animi-tranquillitate-xiii .lamp {
  position: absolute; bottom: 32%; left: 52%; width: 10px; height: 16px;
  background: radial-gradient(circle at 50% 0%, #ffe080 0%, #c08040 70%);
  border-radius: 50%; box-shadow: 0 0 20px 8px #c08040, 0 0 40px 16px rgba(192,128,64,.3);
  animation: sit-lamp 3s ease-in-out infinite alternate;
}
.scn-seneca-animi-tranquillitate-xiii .books {
  position: absolute; bottom: 36%; right: 8%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%);
  border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,.5);
  animation: sit-books 12s ease-in-out infinite;
}
.scn-seneca-animi-tranquillitate-xiii .shelf {
  position: absolute; bottom: 36%; right: 6%; width: 40px; height: 6px;
  background: #4a3a2a; border-radius: 2px;
  box-shadow: 0 20px 0 #4a3a2a, 0 40px 0 #4a3a2a;
  animation: sit-shelf 15s linear infinite;
}
.scn-seneca-animi-tranquillitate-xiii .shadow {
  position: absolute; bottom: 10%; left: 20%; right: 20%; height: 10%;
  background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,.5) 0%, transparent 100%);
  animation: sit-shadow 5s ease-in-out infinite alternate;
}

@keyframes sit-wall { 0% { opacity: .8; } 50% { opacity: 1; } 100% { opacity: .85; } }
@keyframes sit-figure { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes sit-scroll { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.1) translateY(-1px); } 100% { transform: scaleX(1); } }
@keyframes sit-lamp { 0% { box-shadow: 0 0 16px 4px #c08040, 0 0 32px 8px rgba(192,128,64,.3); } 50% { box-shadow: 0 0 28px 10px #ffe080, 0 0 56px 18px rgba(255,224,128,.5); } 100% { box-shadow: 0 0 20px 6px #c08040, 0 0 40px 12px rgba(192,128,64,.35); } }
@keyframes sit-books { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes sit-shelf { 0% { filter: brightness(1); } 50% { filter: brightness(0.9); } 100% { filter: brightness(1); } }
@keyframes sit-shadow { 0% { opacity: .6; } 50% { opacity: .8; } 100% { opacity: .7; } }

.scn-audiendis-poetis-iv {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2244 40%, #3a2a4e 100%),
              radial-gradient(ellipse at 30% 70%, #4a3a5e 0%, transparent 60%);
}
.scn-audiendis-poetis-iv .bg-shelf {
  position: absolute; inset: 0 0 20% 0;
  background: repeating-linear-gradient(180deg, #2a2244 0px, #2a2244 4px, #1a1a2e 4px, #1a1a2e 8px);
  animation: ap4-bg 30s linear infinite;
}
.scn-audiendis-poetis-iv .bust {
  position: absolute; bottom: 25%; left: 40%; width: 50px; height: 60px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,.5);
  animation: ap4-bust 10s ease-in-out infinite alternate;
}
.scn-audiendis-poetis-iv .scroll-stack1 {
  position: absolute; bottom: 15%; left: 20%; width: 40px; height: 20px;
  background: linear-gradient(135deg, #c0a080 0%, #a08060 100%);
  border-radius: 20px; transform: rotate(-10deg);
  animation: ap4-scroll1 7s ease-in-out infinite;
}
.scn-audiendis-poetis-iv .scroll-stack2 {
  position: absolute; bottom: 18%; left: 25%; width: 40px; height: 20px;
  background: linear-gradient(135deg, #b09870 0%, #907050 100%);
  border-radius: 20px; transform: rotate(5deg);
  animation: ap4-scroll2 9s ease-in-out infinite;
}
.scn-audiendis-poetis-iv .candle {
  position: absolute; bottom: 22%; left: 55%; width: 6px; height: 20px;
  background: linear-gradient(180deg, #ffe0a0 0%, #e0c080 100%);
  border-radius: 3px; box-shadow: 0 0 12px 3px #e0a060;
  animation: ap4-candle 4s ease-in-out infinite alternate;
}
.scn-audiendis-poetis-iv .glow {
  position: absolute; bottom: 20%; left: 50%; width: 60px; height: 60px;
  background: radial-gradient(circle, rgba(255,224,160,.4) 0%, transparent 100%);
  border-radius: 50%;
  animation: ap4-glow 6s ease-in-out infinite alternate;
}
.scn-audiendis-poetis-iv .shadow {
  position: absolute; bottom: 10%; left: 15%; right: 15%; height: 8%;
  background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,.6) 0%, transparent 100%);
  animation: ap4-shadow 8s ease-in-out infinite alternate;
}

@keyframes ap4-bg { 0% { background-position: 0 0; } 100% { background-position: 0 100px; } }
@keyframes ap4-bust { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes ap4-scroll1 { 0% { transform: rotate(-10deg) translateX(0); } 50% { transform: rotate(-8deg) translateX(2px); } 100% { transform: rotate(-10deg) translateX(0); } }
@keyframes ap4-scroll2 { 0% { transform: rotate(5deg) translateX(0); } 50% { transform: rotate(7deg) translateX(-2px); } 100% { transform: rotate(5deg) translateX(0); } }
@keyframes ap4-candle { 0% { opacity: .8; box-shadow: 0 0 10px 2px #e0a060; } 50% { opacity: 1; box-shadow: 0 0 18px 6px #ffe0a0; } 100% { opacity: .9; box-shadow: 0 0 12px 4px #e0a060; } }
@keyframes ap4-glow { 0% { opacity: .3; transform: scale(1); } 50% { opacity: .6; transform: scale(1.2); } 100% { opacity: .4; transform: scale(1); } }
@keyframes ap4-shadow { 0% { opacity: .5; } 50% { opacity: .8; } 100% { opacity: .6; } }

.scn-lost-play-euripides {
  background: linear-gradient(180deg, #0a0a1a 0%, #1a1a3a 50%, #2a1a3a 100%),
              radial-gradient(ellipse at 50% 90%, #4a2a4a 0%, transparent 70%);
}
.scn-lost-play-euripides .curtain-left {
  position: absolute; top: 0; left: 0; width: 30%; height: 100%;
  background: linear-gradient(180deg, #5a2a3a 0%, #3a1a2a 50%, #2a0a1a 100%);
  border-radius: 0 20% 20% 0 / 0 10% 10% 0;
  animation: lpe-curtain-l 15s ease-in-out infinite alternate;
}
.scn-lost-play-euripides .curtain-right {
  position: absolute; top: 0; right: 0; width: 30%; height: 100%;
  background: linear-gradient(180deg, #5a2a3a 0%, #3a1a2a 50%, #2a0a1a 100%);
  border-radius: 20% 0 0 20% / 10% 0 0 10%;
  animation: lpe-curtain-r 15s ease-in-out infinite alternate;
}
.scn-lost-play-euripides .stage {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%);
}
.scn-lost-play-euripides .actor {
  position: absolute; bottom: 15%; left: 45%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: lpe-actor 8s ease-in-out infinite;
}
.scn-lost-play-euripides .mask {
  position: absolute; bottom: 40%; left: 50%; width: 30px; height: 40px;
  background: linear-gradient(135deg, #8a6a5a 0%, #6a4a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%) rotate(-5deg);
  animation: lpe-mask 12s ease-in-out infinite alternate;
}
.scn-lost-play-euripides .scroll {
  position: absolute; bottom: 10%; left: 30%; width: 50px; height: 20px;
  background: linear-gradient(135deg, #b09870 0%, #907050 100%);
  border-radius: 20px; transform: rotate(15deg);
  animation: lpe-scroll 14s ease-in-out infinite;
}
.scn-lost-play-euripides .spotlight {
  position: absolute; top: 0; left: 30%; right: 30%; bottom: 40%;
  background: radial-gradient(ellipse at 50% 0%, rgba(255,224,160,.15) 0%, transparent 100%);
  animation: lpe-spot 10s ease-in-out infinite alternate;
}

@keyframes lpe-curtain-l { 0% { transform: translateX(0); } 50% { transform: translateX(-8px); } 100% { transform: translateX(0); } }
@keyframes lpe-curtain-r { 0% { transform: translateX(0); } 50% { transform: translateX(8px); } 100% { transform: translateX(0); } }
@keyframes lpe-actor { 0% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-4px) rotate(2deg); } 50% { transform: translateY(-2px) rotate(-1deg); } 75% { transform: translateY(-6px) rotate(1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes lpe-mask { 0% { transform: translateX(-50%) rotate(-5deg) scale(1); } 50% { transform: translateX(-50%) rotate(5deg) scale(1.05); } 100% { transform: translateX(-50%) rotate(-5deg) scale(1); } }
@keyframes lpe-scroll { 0% { transform: rotate(15deg) translateX(0); } 50% { transform: rotate(12deg) translateX(3px); } 100% { transform: rotate(15deg) translateX(0); } }
@keyframes lpe-spot { 0% { opacity: .3; } 50% { opacity: .7; } 100% { opacity: .4; } }

.scn-propertius-ii-1-63 {
  background: linear-gradient(180deg, #2a2a3e 0%, #3a3a4e 40%, #4a3a3e 100%),
              radial-gradient(ellipse at 50% 60%, #4a4a5e 0%, transparent 70%);
}
.scn-propertius-ii-1-63 .window {
  position: absolute; top: 10%; left: 30%; width: 90px; height: 120px;
  background: linear-gradient(180deg, #4a4a5e 0%, #3a3a4e 100%);
  border-radius: 50px 50px 10px 10px;
  box-shadow: inset 0 0 20px rgba(0,0,0,.5), 0 4px 12px rgba(0,0,0,.4);
  animation: pii-window 20s ease-in-out infinite alternate;
}
.scn-propertius-ii-1-63 .desk {
  position: absolute; bottom: 10%; left: 20%; right: 20%; height: 18%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 4px; box-shadow: inset 0 4px 8px rgba(0,0,0,.5);
}
.scn-propertius-ii-1-63 .poet {
  position: absolute; bottom: 25%; left: 35%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pii-poet 7s ease-in-out infinite;
}
.scn-propertius-ii-1-63 .candle {
  position: absolute; bottom: 20%; left: 55%; width: 6px; height: 24px;
  background: linear-gradient(180deg, #ffe0a0 0%, #e0c080 100%);
  border-radius: 3px; box-shadow: 0 0 16px 4px #e0a060;
  animation: pii-candle 3s ease-in-out infinite alternate;
}
.scn-propertius-ii-1-63 .inkwell {
  position: absolute; bottom: 16%; left: 40%; width: 16px; height: 20px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%);
  border-radius: 8px 8px 4px 4px;
  animation: pii-ink 14s ease-in-out infinite;
}
.scn-propertius-ii-1-63 .chair {
  position: absolute; bottom: 8%; left: 30%; width: 50px; height: 40px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 10px 10px 20px 20px;
  animation: pii-chair 9s ease-in-out infinite alternate;
}
.scn-propertius-ii-1-63 .curtain {
  position: absolute; top: 8%; left: 25%; width: 120px; height: 130px;
  background: linear-gradient(180deg, #5a3a3a 0%, #3a1a1a 100%);
  border-radius: 0 0 20px 20px;
  animation: pii-curtain 12s ease-in-out infinite alternate;
}

@keyframes pii-window { 0% { background: linear-gradient(180deg, #4a4a5e 0%, #3a3a4e 100%); } 50% { background: linear-gradient(180deg, #5a5a6e 0%, #4a4a5e 100%); } 100% { background: linear-gradient(180deg, #4a4a5e 0%, #3a3a4e 100%); } }
@keyframes pii-poet { 0% { transform: translateY(0) rotate(0); } 30% { transform: translateY(-2px) rotate(2deg); } 60% { transform: translateY(-1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes pii-candle { 0% { opacity: .8; box-shadow: 0 0 12px 2px #e0a060; } 50% { opacity: 1; box-shadow: 0 0 24px 8px #ffe0a0; } 100% { opacity: .9; box-shadow: 0 0 16px 4px #e0a060; } }
@keyframes pii-ink { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.95); } 100% { transform: scaleY(1); } }
@keyframes pii-chair { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes pii-curtain { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.02); } 100% { transform: scaleX(1); } }

/* ---- true-outspokenness-honey-biting (toh) ---- */
.scn-true-outspokenness-honey-biting {
  background: linear-gradient(180deg, #2a1f14 0%, #1a120c 50%, #0e0a07 100%),
              radial-gradient(ellipse at 50% 70%, #3a2a1a 0%, transparent 70%);
}
.scn-true-outspokenness-honey-biting .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #4a3828 0%, #2a1f14 100%);
  border-radius: 0 0 20% 20%;
  animation: toh-wall 20s ease-in-out infinite alternate;
}
.scn-true-outspokenness-honey-biting .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120c 100%);
}
.scn-true-outspokenness-honey-biting .figure-a {
  position: absolute; bottom: 28%; left: 30%;
  width: 24px; height: 50px;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a07 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: toh-fig-a 8s ease-in-out infinite;
}
.scn-true-outspokenness-honey-biting .figure-b {
  position: absolute; bottom: 28%; right: 25%;
  width: 22px; height: 44px;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a07 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: toh-fig-b 10s ease-in-out infinite;
}
.scn-true-outspokenness-honey-biting .honeycomb {
  position: absolute; bottom: 40%; left: 45%;
  width: 20px; height: 16px;
  background: radial-gradient(ellipse 70% 60% at 50% 50%, #d4a050 0%, #b08030 50%, #8a5a20 100%);
  border-radius: 20% 30% 30% 20%;
  box-shadow: 0 0 20px 6px #c09040, 0 0 40px 12px rgba(192,144,64,0.3);
  animation: toh-glow 4s ease-in-out infinite alternate;
}
.scn-true-outspokenness-honey-biting .lamp {
  position: absolute; bottom: 40%; left: 20%;
  width: 8px; height: 12px;
  background: radial-gradient(circle at 50% 30%, #f0d080 0%, #b09040 70%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 30px 8px #d0b060, 0 0 60px 20px rgba(208,176,96,0.3);
  animation: toh-lamp 6s ease-in-out infinite alternate;
}
.scn-true-outspokenness-honey-biting .drips {
  position: absolute; bottom: 36%; left: 48%;
  width: 3px; height: 8px;
  background: linear-gradient(180deg, #c09040 0%, transparent 100%);
  border-radius: 50%;
  animation: toh-drip 3s ease-in-out infinite;
}

@keyframes toh-wall { 0% { opacity: 0.8 } 50% { opacity: 0.9 } 100% { opacity: 0.75 } }
@keyframes toh-fig-a { 0% { transform: translateX(0) rotate(-1deg) } 50% { transform: translateX(4px) rotate(1deg) } 100% { transform: translateX(-2px) rotate(0) } }
@keyframes toh-fig-b { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes toh-glow  { 0% { box-shadow: 0 0 15px 4px #a08030, 0 0 30px 8px rgba(160,128,48,0.3); opacity: 0.8 } 50% { box-shadow: 0 0 30px 10px #d0a050, 0 0 50px 16px rgba(208,160,80,0.5); opacity: 1 } 100% { box-shadow: 0 0 20px 6px #b09040, 0 0 40px 12px rgba(176,144,64,0.35); opacity: 0.85 } }
@keyframes toh-lamp { 0% { box-shadow: 0 0 20px 5px #b09040, 0 0 40px 10px rgba(176,144,64,0.2); } 50% { box-shadow: 0 0 35px 12px #e0c070, 0 0 60px 20px rgba(224,192,112,0.4); } 100% { box-shadow: 0 0 25px 8px #c0a050, 0 0 45px 15px rgba(192,160,80,0.3); } }
@keyframes toh-drip { 0% { transform: translateY(0); opacity: 1 } 50% { transform: translateY(6px); opacity: 0.6 } 100% { transform: translateY(0); opacity: 0.8 } }

/* ---- flatterer-ignores-real-crimes (fir) ---- */
.scn-flatterer-ignores-real-crimes {
  background: linear-gradient(180deg, #141010 0%, #0d0a08 50%, #060404 100%),
              radial-gradient(ellipse at 50% 60%, #1a1410 0%, transparent 80%);
}
.scn-flatterer-ignores-real-crimes .bg-wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #1e1814 0%, #0e0a08 100%);
  border-radius: 0 0 10% 10%;
}
.scn-flatterer-ignores-real-crimes .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #1a1410 0%, #0a0705 100%);
}
.scn-flatterer-ignores-real-crimes .pillar {
  position: absolute; bottom: 25%; left: 15%;
  width: 16px; height: 60px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1410 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 4px 0 8px rgba(0,0,0,0.5);
}
.scn-flatterer-ignores-real-crimes .trainer {
  position: absolute; bottom: 30%; left: 35%;
  width: 28px; height: 55px;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a07 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fir-trainer 6s ease-in-out infinite;
}
.scn-flatterer-ignores-real-crimes .child {
  position: absolute; bottom: 25%; right: 25%;
  width: 18px; height: 35px;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a07 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: fir-child 9s ease-in-out infinite;
}
.scn-flatterer-ignores-real-crimes .weight {
  position: absolute; bottom: 30%; width: 14px; height: 12px;
  background: radial-gradient(ellipse at 50% 50%, #3a3028 0%, #1a1410 100%);
  border-radius: 20%;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.6);
}
.scn-flatterer-ignores-real-crimes .w1 { left: 55%; animation: fir-weight 4s ease-in-out infinite; }
.scn-flatterer-ignores-real-crimes .w2 { left: 70%; animation: fir-weight 4s ease-in-out infinite 2s; }
.scn-flatterer-ignores-real-crimes .window {
  position: absolute; top: 8%; left: 60%;
  width: 30px; height: 22px;
  background: radial-gradient(ellipse at 50% 50%, #4a4038 0%, #141010 70%);
  border: 2px solid #2a2018;
  border-radius: 6% 6% 10% 10%;
  animation: fir-window 12s ease-in-out infinite alternate;
}

@keyframes fir-trainer { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-4px) rotate(2deg) } 100% { transform: translateY(0) rotate(-1deg) } }
@keyframes fir-child   { 0% { transform: translateX(0) scale(1) } 50% { transform: translateX(-5px) scale(0.95) } 100% { transform: translateX(0) scale(1) } }
@keyframes fir-weight  { 0% { transform: translateY(0) } 50% { transform: translateY(3px) } 100% { transform: translateY(0) } }
@keyframes fir-window  { 0% { opacity: 0.3; box-shadow: 0 0 6px 2px rgba(74,64,56,0.5) } 50% { opacity: 0.5; box-shadow: 0 0 10px 4px rgba(74,64,56,0.3) } 100% { opacity: 0.2; box-shadow: 0 0 4px 1px rgba(74,64,56,0.2) } }

/* ---- flatterer-censure-pleasure-aris (fcp) ---- */
.scn-flatterer-censure-pleasure-aris {
  background: linear-gradient(180deg, #141010 0%, #0d0a08 50%, #060404 100%),
              radial-gradient(ellipse at 50% 80%, #1a1410 0%, transparent 70%);
}
.scn-flatterer-censure-pleasure-aris .backdrop {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #2a2018 0%, #141010 100%);
  border-radius: 0 0 30% 30%;
  animation: fcp-backdrop 15s ease-in-out infinite alternate;
}
.scn-flatterer-censure-pleasure-aris .table {
  position: absolute; bottom: 30%; left: 25%; right: 25%; height: 12px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1410 100%);
  border-radius: 10% 10% 10% 10%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
}
.scn-flatterer-censure-pleasure-aris .flatterer {
  position: absolute; bottom: 28%; left: 40%;
  width: 26px; height: 48px;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a07 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fcp-flat 5s ease-in-out infinite;
}
.scn-flatterer-censure-pleasure-aris .cup {
  position: absolute; bottom: 35%; left: 58%;
  width: 14px; height: 18px;
  background: radial-gradient(ellipse at 50% 30%, #8a6a3a 0%, #5a4220 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 3px 6px rgba(0,0,0,0.4);
  animation: fcp-cup 4s ease-in-out infinite;
}
.scn-flatterer-censure-pleasure-aris .steam {
  position: absolute; bottom: 48%; left: 62%;
  width: 8px; height: 20px;
  background: linear-gradient(180deg, rgba(200,180,160,0.4) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(4px);
  animation: fcp-steam 6s ease-in-out infinite;
}
.scn-flatterer-censure-pleasure-aris .scroll {
  position: absolute; bottom: 30%; left: 15%;
  width: 10px; height: 14px;
  background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%);
  border-radius: 10% 10% 10% 10%;
  transform: rotate(-15deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: fcp-scroll 8s ease-in-out infinite;
}
.scn-flatterer-censure-pleasure-aris .hand {
  position: absolute; bottom: 38%; left: 52%;
  width: 12px; height: 14px;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a07 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom left;
  animation: fcp-hand 3s ease-in-out infinite;
}

@keyframes fcp-backdrop { 0% { opacity: 0.7 } 50% { opacity: 0.9 } 100% { opacity: 0.6 } }
@keyframes fcp-flat   { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-3px) rotate(3deg) } 100% { transform: translateY(0) rotate(-2deg) } }
@keyframes fcp-cup    { 0% { transform: rotate(-1deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-1deg) } }
@keyframes fcp-steam  { 0% { transform: translateY(0) opacity 0.4 } 50% { transform: translateY(-8px) opacity 0.2 } 100% { transform: translateY(-3px) opacity 0.3 } }
@keyframes fcp-scroll { 0% { transform: rotate(-15deg) translateY(0) } 50% { transform: rotate(-10deg) translateY(-2px) } 100% { transform: rotate(-15deg) translateY(0) } }
@keyframes fcp-hand   { 0% { transform: rotate(-10deg) } 50% { transform: rotate(15deg) } 100% { transform: rotate(-5deg) } }

/* ---- flatterer-accuse-opposite-vices (fao) ---- */
.scn-flatterer-accuse-opposite-vices {
  background: linear-gradient(180deg, #141010 0%, #0d0a08 50%, #060404 100%),
              radial-gradient(ellipse at 50% 80%, #1a1410 0%, transparent 70%);
}
.scn-flatterer-accuse-opposite-vices .bg {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #2a2018 0%, #141010 100%);
  border-radius: 0 0 15% 15%;
}
.scn-flatterer-accuse-opposite-vices .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a07 100%);
}
.scn-flatterer-accuse-opposite-vices .rich-fig {
  position: absolute; bottom: 28%; right: 25%;
  width: 28px; height: 50px;
  background: linear-gradient(180deg, #2a221a 0%, #1a1410 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fao-rich 7s ease-in-out infinite;
}
.scn-flatterer-accuse-opposite-vices .bag {
  position: absolute; bottom: 30%; right: 35%;
  width: 14px; height: 10px;
  background: radial-gradient(ellipse at 50% 50%, #8a7a5a 0%, #4a3a2a 100%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: fao-bag 5s ease-in-out infinite;
}
.scn-flatterer-accuse-opposite-vices .accuser {
  position: absolute; bottom: 28%; left: 30%;
  width: 24px; height: 48px;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a07 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fao-accuse 6s ease-in-out infinite;
}
.scn-flatterer-accuse-opposite-vices .point-hand {
  position: absolute; bottom: 38%; left: 42%;
  width: 10px; height: 16px;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a07 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom left;
  animation: fao-point 3s ease-in-out infinite;
}
.scn-flatterer-accuse-opposite-vices .scale {
  position: absolute; bottom: 30%; left: 60%;
  width: 20px; height: 16px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 10% 10%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: fao-scale 8s ease-in-out infinite;
}

@keyframes fao-rich   { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-3px) scale(0.98) } 100% { transform: translateY(0) scale(1) } }
@keyframes fao-bag    { 0% { transform: rotate(-2deg) } 50% { transform: rotate(3deg) } 100% { transform: rotate(-2deg) } }
@keyframes fao-accuse { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(4deg) } 100% { transform: translateY(0) rotate(-2deg) } }
@keyframes fao-point  { 0% { transform: rotate(-15deg) } 50% { transform: rotate(20deg) } 100% { transform: rotate(-10deg) } }
@keyframes fao-scale  { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(4px) rotate(5deg) } 100% { transform: translateX(-2px) rotate(0) } }

/* heracles-alcestis-admetus scene */
.scn-heracles-alcestis-admetus {
  background: linear-gradient(180deg, #e8d4b0 0%, #d4b88a 30%, #c4a072 60%, #a67c52 100%),
              radial-gradient(ellipse at 50% 60%, #f5e6c8 0%, transparent 70%);
}
.scn-heracles-alcestis-admetus .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #8b6f47 0%, #5a3e22 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.3);
  animation: haa-floor 10s ease-in-out infinite alternate;
}
.scn-heracles-alcestis-admetus .wall-left {
  position: absolute; top: 0; left: 0; width: 30%; height: 65%;
  background: linear-gradient(90deg, #d9c3a0 0%, #c7ad84 100%);
  box-shadow: inset -6px 0 12px rgba(0,0,0,0.2);
  border-radius: 0 0 20% 0;
  animation: haa-wall 15s ease-in-out infinite alternate;
}
.scn-heracles-alcestis-admetus .wall-right {
  position: absolute; top: 0; right: 0; width: 30%; height: 65%;
  background: linear-gradient(90deg, #c7ad84 0%, #d9c3a0 100%);
  box-shadow: inset 6px 0 12px rgba(0,0,0,0.2);
  border-radius: 0 0 0 20%;
  animation: haa-wall 15s ease-in-out infinite alternate-reverse;
}
.scn-heracles-alcestis-admetus .bed {
  position: absolute; bottom: 20%; left: 25%; width: 50%; height: 30%;
  background: linear-gradient(180deg, #b88a5e 0%, #8b6f47 100%);
  border-radius: 10% 10% 5% 5% / 30% 30% 10% 10%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.4), inset 0 2px 4px rgba(255,255,240,0.3);
  animation: haa-bed 8s ease-in-out infinite;
}
.scn-heracles-alcestis-admetus .figure-heracles {
  position: absolute; bottom: 30%; left: 35%; width: 10%; height: 35%;
  background: linear-gradient(180deg, #b87a3e 30%, #7a4a1e 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  transform-origin: bottom center;
  animation: haa-heracles 6s ease-in-out infinite;
}
.scn-heracles-alcestis-admetus .figure-alcestis {
  position: absolute; bottom: 32%; left: 48%; width: 8%; height: 28%;
  background: linear-gradient(180deg, #c8a87a 0%, #a0784a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 20% 20%;
  transform-origin: bottom center;
  animation: haa-alcestis 8s ease-in-out infinite;
}
.scn-heracles-alcestis-admetus .figure-admetus {
  position: absolute; bottom: 28%; left: 58%; width: 9%; height: 32%;
  background: linear-gradient(180deg, #a06030 0%, #603010 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  transform-origin: bottom center;
  animation: haa-admetus 7s ease-in-out infinite;
}
.scn-heracles-alcestis-admetus .torch-left {
  position: absolute; bottom: 50%; left: 12%; width: 3%; height: 20%;
  background: linear-gradient(180deg, #4a2a0a 0%, #2a1a0a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 -10px 40px 10px rgba(255,180,50,0.5);
  animation: haa-torch 2s ease-in-out infinite alternate;
}
.scn-heracles-alcestis-admetus .torch-right {
  position: absolute; bottom: 50%; right: 12%; width: 3%; height: 20%;
  background: linear-gradient(180deg, #4a2a0a 0%, #2a1a0a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 -10px 40px 10px rgba(255,180,50,0.5);
  animation: haa-torch 2s ease-in-out infinite alternate-reverse;
}
@keyframes haa-floor {
  0% { opacity: 0.85; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes haa-wall {
  0% { opacity: 0.9; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.01); }
  100% { opacity: 0.85; transform: scaleY(0.99); }
}
@keyframes haa-bed {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes haa-heracles {
  0% { transform: translateX(0) rotate(-1deg); }
  33% { transform: translateX(3px) rotate(1deg); }
  66% { transform: translateX(-1px) rotate(0deg); }
  100% { transform: translateX(0) rotate(1deg); }
}
@keyframes haa-alcestis {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-2px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes haa-admetus {
  0% { transform: translateX(0) translateY(0); }
  33% { transform: translateX(2px) translateY(-1px); }
  66% { transform: translateX(-1px) translateY(1px); }
  100% { transform: translateX(0) translateY(0); }
}
@keyframes haa-torch {
  0% { opacity: 0.8; box-shadow: 0 -10px 30px 6px rgba(255,180,50,0.4); }
  50% { opacity: 1; box-shadow: 0 -15px 50px 12px rgba(255,200,80,0.7); }
  100% { opacity: 0.9; box-shadow: 0 -8px 35px 8px rgba(255,180,50,0.5); }
}

/* alcestis-bold-love scene */
.scn-alcestis-bold-love {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a1a2e 40%, #3a1a2e 70%, #2a0a1a 100%),
              radial-gradient(ellipse at 50% 80%, #4a2a3a 0%, transparent 60%);
}
.scn-alcestis-bold-love .darkness {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(10,10,20,0.8) 0%, transparent 50%, rgba(10,10,20,0.6) 100%);
  animation: ab-darkness 12s ease-in-out infinite alternate;
}
.scn-alcestis-bold-love .floor-dim {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  box-shadow: inset 0 6px 12px rgba(0,0,0,0.5);
  animation: ab-floor 8s ease-in-out infinite alternate;
}
.scn-alcestis-bold-love .doorway {
  position: absolute; bottom: 20%; left: 38%; width: 24%; height: 60%;
  background: linear-gradient(180deg, #0a0a14 0%, #1a0a0a 100%);
  border-radius: 10% 10% 0 0 / 20% 20% 10% 10%;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.8), 0 0 10px rgba(200,150,100,0.1);
  border: 2px solid #3a2a1a;
  animation: ab-doorway 10s ease-in-out infinite;
}
.scn-alcestis-bold-love .candle {
  position: absolute; bottom: 28%; left: 46%; width: 2%; height: 15%;
  background: linear-gradient(180deg, #f0d080 0%, #c08040 50%, #8a5824 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 -8px 20px 6px rgba(255,200,100,0.6);
  animation: ab-candle 3s ease-in-out infinite alternate;
}
.scn-alcestis-bold-love .candle-glow {
  position: absolute; bottom: 35%; left: 44%; width: 12%; height: 20%;
  background: radial-gradient(ellipse, rgba(255,200,100,0.3) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(4px);
  animation: ab-candle-glow 4s ease-in-out infinite alternate;
}
.scn-alcestis-bold-love .figure-alcestis-silhouette {
  position: absolute; bottom: 18%; left: 44%; width: 12%; height: 45%;
  background: linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  clip-path: polygon(0% 0%, 100% 0%, 100% 70%, 80% 100%, 20% 100%, 0% 70%);
  animation: ab-alcestis 6s ease-in-out infinite;
}
.scn-alcestis-bold-love .fabric {
  position: absolute; bottom: 15%; left: 38%; width: 20%; height: 10%;
  background: linear-gradient(180deg, rgba(40,30,20,0.8) 0%, rgba(20,10,5,0.6) 100%);
  border-radius: 30% 70% 50% 50% / 40% 40% 60% 60%;
  filter: blur(2px);
  animation: ab-fabric 9s ease-in-out infinite;
}
@keyframes ab-darkness {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes ab-floor {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes ab-doorway {
  0%, 100% { transform: scaleY(1); }
  50% { transform: scaleY(1.02); }
}
@keyframes ab-candle {
  0% { height: 15%; opacity: 0.9; }
  50% { height: 18%; opacity: 1; }
  100% { height: 14%; opacity: 0.95; }
}
@keyframes ab-candle-glow {
  0% { opacity: 0.4; transform: scale(1); }
  50% { opacity: 0.7; transform: scale(1.15); }
  100% { opacity: 0.5; transform: scale(0.95); }
}
@keyframes ab-alcestis {
  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 ab-fabric {
  0% { transform: translateX(0) rotate(-2deg); }
  50% { transform: translateX(4px) rotate(3deg); }
  100% { transform: translateX(-2px) rotate(-1deg); }
}

/* initiated-of-love-better scene */
.scn-initiated-of-love-better {
  background: linear-gradient(180deg, #f0e6d0 0%, #e0c8a8 30%, #c8a078 60%, #a07850 100%),
              radial-gradient(ellipse at 50% 40%, #f5e8d0 0%, transparent 50%);
}
.scn-initiated-of-love-better .temple-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #b08860 0%, #7a5a3a 100%);
  border-radius: 40% 40% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.2);
  animation: iol-floor 10s ease-in-out infinite alternate;
}
.scn-initiated-of-love-better .temple-pillar-left {
  position: absolute; bottom: 0; left: 15%; width: 6%; height: 80%;
  background: linear-gradient(90deg, #d4b88a 0%, #c4a072 50%, #b08860 100%);
  border-radius: 5% 5% 0 0;
  box-shadow: 4px 0 8px rgba(0,0,0,0.15);
  animation: iol-pillar 12s ease-in-out infinite;
}
.scn-initiated-of-love-better .temple-pillar-right {
  position: absolute; bottom: 0; right: 15%; width: 6%; height: 80%;
  background: linear-gradient(90deg, #b08860 0%, #c4a072 50%, #d4b88a 100%);
  border-radius: 5% 5% 0 0;
  box-shadow: -4px 0 8px rgba(0,0,0,0.15);
  animation: iol-pillar 12s ease-in-out infinite reverse;
}
.scn-initiated-of-love-better .altar {
  position: absolute; bottom: 10%; left: 42%; width: 16%; height: 20%;
  background: linear-gradient(180deg, #d4b88a 0%, #b08860 100%);
  border-radius: 10% 10% 5% 5% / 30% 30% 10% 10%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3), inset 0 2px 6px rgba(255,255,230,0.3);
  animation: iol-altar 8s ease-in-out infinite;
}
.scn-initiated-of-love-better .light-beam {
  position: absolute; top: 0; left: 42%; width: 16%; height: 100%;
  background: linear-gradient(180deg, rgba(255,255,200,0.3) 0%, rgba(255,240,180,0.1) 60%, transparent 100%);
  clip-path: polygon(30% 0%, 70% 0%, 60% 100%, 40% 100%);
  animation: iol-beam 5s ease-in-out infinite alternate;
}
.scn-initiated-of-love-better .initiate-left {
  position: absolute; bottom: 22%; left: 28%; width: 8%; height: 30%;
  background: linear-gradient(180deg, #a08060 0%, #604828 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  transform-origin: bottom center;
  animation: iol-initiate 7s ease-in-out infinite;
}
.scn-initiated-of-love-better .initiate-right {
  position: absolute; bottom: 22%; right: 28%; width: 8%; height: 30%;
  background: linear-gradient(180deg, #a08060 0%, #604828 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  transform-origin: bottom center;
  animation: iol-initiate 7s ease-in-out infinite reverse;
}
.scn-initiated-of-love-better .flame-orb {
  position: absolute; top: 25%; left: 48%; width: 4%; height: 8%;
  background: radial-gradient(circle, #ffd080 0%, #ffa030 50%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 40px 16px rgba(255,200,80,0.4);
  animation: iol-orb 3s ease-in-out infinite alternate;
}
@keyframes iol-floor {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.005); }
  100% { transform: scaleY(0.995); }
}
@keyframes iol-pillar {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes iol-altar {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
}
@keyframes iol-beam {
  0% { opacity: 0.3; }
  50% { opacity: 0.6; }
  100% { opacity: 0.4; }
}
@keyframes iol-initiate {
  0% { transform: translateX(0) rotate(-2deg); }
  33% { transform: translateX(2px) rotate(1deg); }
  66% { transform: translateX(-1px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(2deg); }
}
@keyframes iol-orb {
  0% { transform: scale(0.9); opacity: 0.7; }
  50% { transform: scale(1.2); opacity: 1; }
  100% { transform: scale(1); opacity: 0.8; }
}

/* egyptian-mythology scene */
.scn-egyptian-mythology {
  background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 30%, #3a3a4a 60%, #2a2a3a 100%),
              radial-gradient(ellipse at 50% 20%, #4a4a5a 0%, transparent 70%);
}
.scn-egyptian-mythology .papyrus-bg {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(90deg, transparent, transparent 20px, rgba(80,70,50,0.05) 20px, rgba(80,70,50,0.05) 22px),
              repeating-linear-gradient(180deg, transparent, transparent 20px, rgba(80,70,50,0.05) 20px, rgba(80,70,50,0.05) 22px);
  opacity: 0.3;
  animation: em-papyrus 20s linear infinite;
}
.scn-egyptian-mythology .hieroglyph-left {
  position: absolute; top: 15%; left: 10%; width: 8%; height: 50%;
  background: linear-gradient(135deg, #8a7a5a 0%, #5a4a2a 50%, #3a2a1a 100%);
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%, 0% 80%, 20% 70%, 0% 60%, 0% 40%, 20% 30%, 0% 20%);
  animation: em-hieroglyph 15s ease-in-out infinite alternate;
}
.scn-egyptian-mythology .hieroglyph-right {
  position: absolute; top: 25%; right: 10%; width: 6%; height: 40%;
  background: linear-gradient(225deg, #8a7a5a 0%, #5a4a2a 50%, #3a2a1a 100%);
  clip-path: polygon(100% 0%, 0% 0%, 0% 100%, 100% 100%, 100% 80%, 80% 70%, 100% 60%, 100% 40%, 80% 30%, 100% 20%);
  animation: em-hieroglyph 15s ease-in-out infinite alternate-reverse;
}
.scn-egyptian-mythology .anubis-figure {
  position: absolute; bottom: 20%; left: 35%; width: 12%; height: 40%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  clip-path: polygon(30% 0%, 70% 0%, 80% 20%, 100% 40%, 90% 60%, 70% 100%, 30% 100%, 10% 60%, 0% 40%, 20% 20%);
  animation: em-anubis 8s ease-in-out infinite;
}
.scn-egyptian-mythology .sphinx-base {
  position: absolute; bottom: 5%; left: 48%; width: 20%; height: 25%;
  background: linear-gradient(180deg, #6a5a3a 0%, #4a3a1a 100%);
  border-radius: 10% 10% 5% 5% / 30% 30% 20% 20%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.4);
  animation: em-sphinx 12s ease-in-out infinite alternate;
}
.scn-egyptian-mythology .glowing-eye {
  position: absolute; top: 28%; left: 52%; width: 4%; height: 4%;
  background: radial-gradient(circle, #ffd080 0%, #ffa030 50%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 20px 8px rgba(255,180,50,0.3);
  animation: em-eye 4s ease-in-out infinite alternate;
}
.scn-egyptian-mythology .dust-particle {
  position: absolute; top: 10%; left: 20%; width: 4px; height: 4px;
  background: rgba(200,180,150,0.2);
  border-radius: 50%;
  filter: blur(1px);
  animation: em-dust 20s linear infinite;
}
.scn-egyptian-mythology .dust-particle-2 {
  position: absolute; top: 40%; left: 70%; width: 3px; height: 3px;
  background: rgba(200,180,150,0.15);
  border-radius: 50%;
  filter: blur(1px);
  animation: em-dust 25s linear infinite reverse;
}
@keyframes em-papyrus {
  0% { opacity: 0.3; }
  50% { opacity: 0.4; }
  100% { opacity: 0.3; }
}
@keyframes em-hieroglyph {
  0% { opacity: 0.2; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(1.05); }
  100% { opacity: 0.2; transform: scale(0.95); }
}
@keyframes em-anubis {
  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 em-sphinx {
  0% { transform: scaleX(1); }
  50% { transform: scaleX(1.02); }
  100% { transform: scaleX(0.98); }
}
@keyframes em-eye {
  0% { opacity: 0.4; }
  50% { opacity: 0.8; }
  100% { opacity: 0.6; }
}
@keyframes em-dust {
  0% { transform: translate(0, 0); opacity: 0.2; }
  50% { transform: translate(15px, -10px); opacity: 0.5; }
  100% { transform: translate(30px, -20px); opacity: 0; }
}

/* senator-wife-secret-lark-helmet */
.scn-senator-wife-secret-lark-helmet {
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 40%, #1a0a00 100%),
              radial-gradient(ellipse at 50% 60%, #6a4a2a 0%, transparent 70%);
}
.scn-senator-wife-secret-lark-helmet .room {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 0 0 50% 50% / 0 0 20% 20%;
}
.scn-senator-wife-secret-lark-helmet .table {
  position: absolute; bottom: 20%; left: 30%; width: 40%; height: 5%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a1a00 100%);
  border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.scn-senator-wife-secret-lark-helmet .lamp {
  position: absolute; bottom: 35%; left: 50%; width: 20px; height: 30px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #e0b060 0%, #b08040 60%, transparent 100%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: 0 0 30px 10px rgba(200, 160, 80, 0.5);
  animation: sws-lamp 4s ease-in-out infinite alternate;
}
.scn-senator-wife-secret-lark-helmet .wife {
  position: absolute; bottom: 22%; left: 40%; width: 24px; height: 48px;
  background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: center bottom;
  animation: sws-wife 3s ease-in-out infinite alternate;
}
.scn-senator-wife-secret-lark-helmet .husband {
  position: absolute; bottom: 22%; left: 56%; width: 26px; height: 50px;
  background: linear-gradient(180deg, #4a3a2a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: center bottom;
  animation: sws-husband 3.5s ease-in-out infinite alternate;
}
.scn-senator-wife-secret-lark-helmet .helmet {
  position: absolute; bottom: 30%; left: 24%; width: 16px; height: 12px;
  background: radial-gradient(circle, #c08050 0%, #8a6030 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 60% 60%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: sws-helmet 2s ease-in-out infinite;
}
.scn-senator-wife-secret-lark-helmet .shadow {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.5) 100%);
  animation: sws-shadow 6s ease-in-out infinite alternate;
}
@keyframes sws-lamp {
  0% { opacity: 0.7; transform: translateX(-50%) scale(1); }
  50% { opacity: 1; transform: translateX(-50%) scale(1.05); }
  100% { opacity: 0.8; transform: translateX(-50%) scale(0.95); }
}
@keyframes sws-wife {
  0% { transform: rotate(0deg) translateX(0); }
  50% { transform: rotate(10deg) translateX(-4px); }
  100% { transform: rotate(0deg) translateX(0); }
}
@keyframes sws-husband {
  0% { transform: rotate(0deg) translateX(0); }
  50% { transform: rotate(-8deg) translateX(3px); }
  100% { transform: rotate(0deg) translateX(0); }
}
@keyframes sws-helmet {
  0% { transform: rotate(0deg) translateY(0); }
  25% { transform: rotate(15deg) translateY(-2px); }
  75% { transform: rotate(-10deg) translateY(-1px); }
  100% { transform: rotate(0deg) translateY(0); }
}
@keyframes sws-shadow {
  0% { opacity: 0.5; transform: scaleX(1); }
  50% { opacity: 0.7; transform: scaleX(1.02); }
  100% { opacity: 0.5; transform: scaleX(0.98); }
}

/* fabius-augustus-secret */
.scn-fabius-augustus-secret {
  background: linear-gradient(180deg, #1a1a3a 0%, #0a0a1a 50%, #000 100%),
              radial-gradient(ellipse at 50% 70%, #2a2a4a 0%, transparent 70%);
}
.scn-fabius-augustus-secret .throne {
  position: absolute; bottom: 15%; left: 20%; width: 60%; height: 30%;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 8px 16px rgba(0,0,0,0.7);
}
.scn-fabius-augustus-secret .augustus {
  position: absolute; bottom: 18%; left: 40%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #4a3a3a 0%, #1a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fas-augustus 8s ease-in-out infinite alternate;
}
.scn-fabius-augustus-secret .fabius {
  position: absolute; bottom: 18%; left: 52%; width: 28px; height: 56px;
  background: linear-gradient(180deg, #3a2a2a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fas-fabius 10s ease-in-out infinite;
}
.scn-fabius-augustus-secret .candle {
  position: absolute; bottom: 40%; left: 30%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #b08040 0%, #8a5a20 100%);
  border-radius: 4px;
  box-shadow: 0 0 20px 8px rgba(180, 128, 64, 0.4);
  animation: fas-candle 3s ease-in-out infinite alternate;
}
.scn-fabius-augustus-secret .curtain {
  position: absolute; top: 0; bottom: 50%; left: 10%; right: 10%;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 0 0 40% 40% / 0 0 60% 60%;
  animation: fas-curtain 15s ease-in-out infinite alternate;
}
.scn-fabius-augustus-secret .shadow-mood {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(0deg, rgba(0,0,0,0.7) 0%, transparent 100%);
  animation: fas-shadow 7s ease-in-out infinite alternate;
}
@keyframes fas-augustus {
  0% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(2deg) translateY(-2px); }
  100% { transform: rotate(-1deg) translateY(0); }
}
@keyframes fas-fabius {
  0% { transform: translateX(0) rotate(0deg); }
  33% { transform: translateX(3px) rotate(1deg); }
  66% { transform: translateX(-2px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes fas-candle {
  0% { opacity: 0.7; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.1); }
  100% { opacity: 0.8; transform: scaleY(0.9); }
}
@keyframes fas-curtain {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(0.95); }
  100% { transform: scaleY(1); }
}
@keyframes fas-shadow {
  0% { opacity: 0.6; }
  50% { opacity: 0.8; }
  100% { opacity: 0.6; }
}

/* philippides-lysimachus-secrets */
.scn-philippides-lysimachus-secrets {
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 60%, #1a0a00 100%),
              radial-gradient(ellipse at 50% 50%, #6a4a2a 0%, transparent 60%);
}
.scn-philippides-lysimachus-secrets .court {
  position: absolute; inset: 0 0 15% 0;
  background: linear-gradient(180deg, #6a5a3a 0%, #2a1a0a 100%);
  border-radius: 0 0 30% 30% / 0 0 50% 50%;
}
.scn-philippides-lysimachus-secrets .throne-king {
  position: absolute; bottom: 20%; left: 40%; width: 20%; height: 25%;
  background: linear-gradient(180deg, #8a6a3a 0%, #5a3a1a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,0.6);
}
.scn-philippides-lysimachus-secrets .king {
  position: absolute; bottom: 22%; left: 44%; width: 30px; height: 55px;
  background: linear-gradient(180deg, #7a5a3a 0%, #3a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pls-king 4s ease-in-out infinite alternate;
}
.scn-philippides-lysimachus-secrets .poet {
  position: absolute; bottom: 20%; left: 30%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #5a4a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pls-poet 3.5s ease-in-out infinite alternate;
}
.scn-philippides-lysimachus-secrets .chest {
  position: absolute; bottom: 20%; left: 56%; width: 22px; height: 14px;
  background: linear-gradient(180deg, #a08050 0%, #6a4a20 100%);
  border-radius: 6px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: pls-chest 5s ease-in-out infinite;
}
.scn-philippides-lysimachus-secrets .curtain-pl {
  position: absolute; top: 0; bottom: 50%; left: 0; right: 0;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 0 0 30% 30% / 0 0 40% 40%;
  animation: pls-curtain 12s ease-in-out infinite alternate;
}
.scn-philippides-lysimachus-secrets .crown {
  position: absolute; bottom: 42%; left: 46%; width: 14px; height: 10px;
  background: linear-gradient(180deg, #d0a050 0%, #b08040 100%);
  border-radius: 50% 50% 0 0;
  box-shadow: 0 2px 6px rgba(200,160,80,0.6);
  animation: pls-crown 3s ease-in-out infinite alternate;
}
@keyframes pls-king {
  0% { transform: rotate(0deg) translateX(0); }
  50% { transform: rotate(8deg) translateX(5px); }
  100% { transform: rotate(0deg) translateX(0); }
}
@keyframes pls-poet {
  0% { transform: rotate(0deg) scaleY(1); }
  50% { transform: rotate(-5deg) scaleY(0.9); }
  100% { transform: rotate(0deg) scaleY(1); }
}
@keyframes pls-chest {
  0% { transform: rotate(0deg) translateY(0); }
  25% { transform: rotate(3deg) translateY(-2px); }
  75% { transform: rotate(-2deg) translateY(-1px); }
  100% { transform: rotate(0deg) translateY(0); }
}
@keyframes pls-curtain {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(0.95); }
  100% { transform: scaleY(1); }
}
@keyframes pls-crown {
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(5deg) translateY(-2px); }
  100% { transform: rotate(-5deg) translateY(0); }
}

/* barber-razor-dionysius */
.scn-barber-razor-dionysius {
  background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 50%, #0a0a0a 100%),
              radial-gradient(ellipse at 50% 60%, #3a3a3a 0%, transparent 70%);
}
.scn-barber-razor-dionysius .shop {
  position: absolute; inset: 0 0 10% 0;
  background: linear-gradient(180deg, #3a3a2a 0%, #1a1a0a 100%);
  border-radius: 0 0 20% 20% / 0 0 10% 10%;
}
.scn-barber-razor-dionysius .mirror {
  position: absolute; bottom: 30%; left: 35%; width: 30%; height: 25%;
  background: radial-gradient(ellipse, #6a5a4a 0%, #2a1a1a 100%);
  border-radius: 50%;
  border: 4px solid #4a3a2a;
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
  animation: brd-mirror 10s ease-in-out infinite alternate;
}
.scn-barber-razor-dionysius .barber {
  position: absolute; bottom: 18%; left: 42%; width: 28px; height: 52px;
  background: linear-gradient(180deg, #4a3a2a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: brd-barber 4s ease-in-out infinite alternate;
}
.scn-barber-razor-dionysius .customer {
  position: absolute; bottom: 18%; left: 52%; width: 24px; height: 44px;
  background: linear-gradient(180deg, #3a2a1a 0%, #0a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: brd-customer 5s ease-in-out infinite alternate;
}
.scn-barber-razor-dionysius .razor {
  position: absolute; bottom: 38%; left: 46%; width: 4px; height: 18px;
  background: linear-gradient(180deg, #c0c0c0 0%, #707070 100%);
  border-radius: 2px 2px 8px 8px;
  transform-origin: top center;
  box-shadow: 0 0 6px rgba(200,200,200,0.6);
  animation: brd-razor 2s ease-in-out infinite alternate;
}
.scn-barber-razor-dionysius .chair {
  position: absolute; bottom: 14%; left: 50%; width: 30px; height: 20px;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%);
  border-radius: 6px;
  transform: translateX(-50%);
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: brd-chair 8s ease-in-out infinite;
}
.scn-barber-razor-dionysius .shelf {
  position: absolute; bottom: 45%; left: 20%; width: 10%; height: 2%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 2px;
  animation: brd-shelf 12s ease-in-out infinite alternate;
}
.scn-barber-razor-dionysius .lamp-barber {
  position: absolute; bottom: 40%; left: 28%; width: 12px; height: 16px;
  background: radial-gradient(circle, #b08040 0%, #8a5a20 100%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: 0 0 20px 8px rgba(180, 128, 64, 0.4);
  animation: brd-lamp 3.5s ease-in-out infinite alternate;
}
@keyframes brd-mirror {
  0% { transform: scaleX(1) scaleY(1); }
  50% { transform: scaleX(1.03) scaleY(0.97); }
  100% { transform: scaleX(0.97) scaleY(1.03); }
}
@keyframes brd-barber {
  0% { transform: rotate(0deg) translateX(0); }
  50% { transform: rotate(6deg) translateX(-5px); }
  100% { transform: rotate(0deg) translateX(0); }
}
@keyframes brd-customer {
  0% { transform: rotate(0deg) scaleY(1); }
  50% { transform: rotate(-4deg) scaleY(0.95); }
  100% { transform: rotate(0deg) scaleY(1); }
}
@keyframes brd-razor {
  0% { transform: rotate(-10deg) translateY(0); }
  50% { transform: rotate(20deg) translateY(-3px); }
  100% { transform: rotate(-10deg) translateY(0); }
}
@keyframes brd-chair {
  0% { transform: translateX(-50%) rotate(0deg); }
  25% { transform: translateX(-50%) rotate(2deg); }
  75% { transform: translateX(-50%) rotate(-2deg); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes brd-shelf {
  0% { transform: scaleX(1); opacity: 0.7; }
  50% { transform: scaleX(0.95); opacity: 1; }
  100% { transform: scaleX(1); opacity: 0.7; }
}
@keyframes brd-lamp {
  0% { opacity: 0.6; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.08); }
  100% { opacity: 0.7; transform: scaleY(0.92); }
}

.scn-heading-discerning-flatterer-from-friend {
  background: linear-gradient(180deg, #2a1e12 0%, #1a120a 40%, #120c06 100%), radial-gradient(ellipse at 50% 30%, #4a3420 0%, transparent 70%);
}
.scn-heading-discerning-flatterer-from-friend .bg-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #3d2b18 0%, #1f160e 100%);
  border-bottom: 2px solid #0d0906;
  animation: df-wall 20s ease-in-out infinite alternate;
}
.scn-heading-discerning-flatterer-from-friend .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #241a10 0%, #140e08 100%);
  box-shadow: inset 0 20px 30px rgba(0,0,0,0.6);
}
.scn-heading-discerning-flatterer-from-friend .table {
  position: absolute; bottom: 22%; left: 50%; transform: translateX(-50%);
  width: 140px; height: 8px;
  background: linear-gradient(90deg, #4a3420, #2a1e12, #4a3420);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.8);
  animation: df-table 12s ease-in-out infinite;
}
.scn-heading-discerning-flatterer-from-friend .candle {
  position: absolute; bottom: 28%; left: 50%; transform: translateX(-50%);
  width: 10px; height: 40px;
  background: linear-gradient(180deg, #d9c09e 0%, #b89a76 100%);
  border-radius: 2px 2px 4px 4px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.5);
}
.scn-heading-discerning-flatterer-from-friend .flame {
  position: absolute; bottom: 62%; left: 50%; transform: translateX(-50%);
  width: 12px; height: 18px;
  background: radial-gradient(circle, #ffdc9e 0%, #f0a050 50%, #d07020 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 20px 8px #d07020, 0 0 40px 12px rgba(208,112,32,0.4);
  animation: df-flame 1.2s ease-in-out infinite alternate;
}
.scn-heading-discerning-flatterer-from-friend .figure-friend {
  position: absolute; bottom: 23%; left: 35%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #2a1e12 0%, #140e08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: df-friend 8s ease-in-out infinite;
}
.scn-heading-discerning-flatterer-from-friend .figure-flatterer {
  position: absolute; bottom: 23%; left: 58%; width: 28px; height: 56px;
  background: linear-gradient(180deg, #2a1e12 0%, #0d0906 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: df-flatterer 6s ease-in-out infinite;
}
.scn-heading-discerning-flatterer-from-friend .shadow-layer {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 40%, transparent 30%, rgba(0,0,0,0.5) 100%);
  pointer-events: none;
  animation: df-shadow 15s ease-in-out infinite alternate;
}
@keyframes df-wall {
  0% { opacity: 0.85; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes df-table {
  0% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-1px); }
  100% { transform: translateX(-50%) translateY(0); }
}
@keyframes df-flame {
  0% { transform: translateX(-50%) scale(1, 1) rotate(-2deg); opacity: 0.9; }
  50% { transform: translateX(-50%) scale(1.05, 1.1) rotate(2deg); opacity: 1; }
  100% { transform: translateX(-50%) scale(0.95, 0.98) rotate(-1deg); opacity: 0.85; }
}
@keyframes df-friend {
  0% { transform: translateY(0) rotate(-1deg); }
  33% { transform: translateY(-2px) rotate(1deg); }
  66% { transform: translateY(0) rotate(0deg); }
  100% { transform: translateY(-1px) rotate(-1deg); }
}
@keyframes df-flatterer {
  0% { transform: translateY(0) scaleX(1) rotate(0deg); }
  25% { transform: translateY(-1px) scaleX(0.95) rotate(4deg); }
  50% { transform: translateY(-3px) scaleX(1) rotate(-2deg); }
  75% { transform: translateY(-2px) scaleX(0.98) rotate(5deg); }
  100% { transform: translateY(0) scaleX(1) rotate(0deg); }
}
@keyframes df-shadow {
  0% { opacity: 0.6; }
  50% { opacity: 0.8; }
  100% { opacity: 0.6; }
}

/* Scene 2 */
.scn-plato-self-love-blindness {
  background: linear-gradient(180deg, #1f1810 0%, #0f0a06 50%, #080502 100%), radial-gradient(ellipse at 50% 60%, #1a1208 0%, transparent 70%);
}
.scn-plato-self-love-blindness .bg-dark {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #251d14 0%, #110c06 100%);
  animation: ps-bg 30s ease-in-out infinite alternate;
}
.scn-plato-self-love-blindness .desk {
  position: absolute; bottom: 15%; left: 10%; right: 10%; height: 6px;
  background: linear-gradient(90deg, #3a2a1a, #1f140c, #3a2a1a);
  border-radius: 2px;
  box-shadow: 0 8px 16px rgba(0,0,0,0.7);
  animation: ps-desk 15s ease-in-out infinite;
}
.scn-plato-self-love-blindness .scroll {
  position: absolute; bottom: 22%; left: 30%; width: 60px; height: 12px;
  background: linear-gradient(180deg, #d4c5a0 0%, #b8a886 100%);
  border-radius: 0 0 30% 30% / 0 0 100% 100%;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.3);
  transform: rotate(-5deg);
  animation: ps-scroll 20s ease-in-out infinite alternate;
}
.scn-plato-self-love-blindness .hand {
  position: absolute; bottom: 20%; left: 28%; width: 14px; height: 30px;
  background: linear-gradient(180deg, #4a3420 0%, #2a1a0e 100%);
  border-radius: 50% 50% 40% 40% / 40% 40% 60% 60%;
  transform-origin: bottom left;
  animation: ps-hand 4s ease-in-out infinite;
}
.scn-plato-self-love-blindness .lamp {
  position: absolute; bottom: 45%; right: 20%; width: 24px; height: 40px;
  background: linear-gradient(180deg, #6a5030 0%, #3a2818 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 10% 10%;
  box-shadow: 0 0 10px 2px #b08040;
  animation: ps-lamp 8s ease-in-out infinite alternate;
}
.scn-plato-self-love-blindness .glow {
  position: absolute; bottom: 40%; right: 15%; width: 50px; height: 50px;
  background: radial-gradient(circle, rgba(208,160,80,0.3) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(6px);
  animation: ps-glow 6s ease-in-out infinite alternate;
}
.scn-plato-self-love-blindness .chair {
  position: absolute; bottom: 16%; left: 15%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #2a1e12 0%, #140e08 100%);
  border-radius: 10% 10% 20% 20% / 10% 10% 40% 40%;
  box-shadow: 2px 0 8px rgba(0,0,0,0.5);
}
@keyframes ps-bg {
  0% { opacity: 0.7; }
  50% { opacity: 0.9; }
  100% { opacity: 0.8; }
}
@keyframes ps-desk {
  0% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
  100% { transform: translateY(0); }
}
@keyframes ps-scroll {
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-2px); }
  100% { transform: rotate(-5deg) translateY(0); }
}
@keyframes ps-hand {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  25% { transform: translateX(4px) translateY(-3px) rotate(-10deg); }
  50% { transform: translateX(8px) translateY(-5px) rotate(-15deg); }
  75% { transform: translateX(4px) translateY(-2px) rotate(-5deg); }
  100% { transform: translateX(0) translateY(0) rotate(0deg); }
}
@keyframes ps-lamp {
  0% { transform: rotate(0deg); box-shadow: 0 0 10px 2px #b08040; }
  50% { transform: rotate(1deg); box-shadow: 0 0 18px 6px #d09050; }
  100% { transform: rotate(-1deg); box-shadow: 0 0 10px 2px #b08040; }
}
@keyframes ps-glow {
  0% { opacity: 0.5; transform: scale(1); }
  50% { opacity: 0.8; transform: scale(1.2); }
  100% { opacity: 0.5; transform: scale(0.9); }
}

/* Scene 3 */
.scn-self-love-flatterer-know-thyself {
  background: linear-gradient(180deg, #1e1610 0%, #0f0a06 50%, #060302 100%), radial-gradient(ellipse at 50% 60%, #1a120a 0%, transparent 80%);
}
.scn-self-love-flatterer-know-thyself .bg-room {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a1e12 0%, #140e08 100%);
  animation: sf-room 25s ease-in-out infinite alternate;
}
.scn-self-love-flatterer-know-thyself .mirror-frame {
  position: absolute; bottom: 20%; left: 50%; transform: translateX(-50%);
  width: 80px; height: 100px;
  border: 6px solid #4a3420;
  background: linear-gradient(135deg, #1a120a 0%, #0d0906 100%);
  border-radius: 4px;
  box-shadow: 0 0 20px 4px rgba(0,0,0,0.8), inset 0 0 10px rgba(255,255,255,0.05);
  animation: sf-frame 20s ease-in-out infinite;
}
.scn-self-love-flatterer-know-thyself .reflection {
  position: absolute; bottom: 23%; left: 51%; transform: translateX(-50%);
  width: 35px; height: 65px;
  background: linear-gradient(180deg, rgba(60,40,20,0.4) 0%, rgba(30,18,10,0.3) 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  filter: blur(1px);
  animation: sf-reflect 8s ease-in-out infinite alternate;
}
.scn-self-love-flatterer-know-thyself .figure-actual {
  position: absolute; bottom: 23%; left: 38%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #3a2818 0%, #1a1008 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sf-figure 6s ease-in-out infinite;
}
.scn-self-love-flatterer-know-thyself .candle-stand {
  position: absolute; bottom: 30%; right: 20%; width: 8px; height: 45px;
  background: linear-gradient(180deg, #5a4030 0%, #2a1a0e 100%);
  border-radius: 3px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.5);
}
.scn-self-love-flatterer-know-thyself .flame-dup {
  position: absolute; bottom: 58%; right: 20%; width: 10px; height: 16px;
  background: radial-gradient(circle, #ffdca0 0%, #e08030 50%, #b05010 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 16px 4px #d07020, 0 0 32px 8px rgba(208,112,32,0.3);
  animation: sf-flame 1.5s ease-in-out infinite alternate;
}
.scn-self-love-flatterer-know-thyself .shadow-cast {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 30% 60%, transparent 40%, rgba(0,0,0,0.6) 100%);
  pointer-events: none;
  animation: sf-shadow 18s ease-in-out infinite alternate;
}
@keyframes sf-room {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes sf-frame {
  0% { transform: translateX(-50%) rotate(0deg); }
  50% { transform: translateX(-50%) rotate(0.5deg); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes sf-reflect {
  0% { opacity: 0.4; transform: translateX(-50%) scaleX(1); }
  50% { opacity: 0.6; transform: translateX(-50%) scaleX(-1) scaleY(0.98); }
  100% { opacity: 0.4; transform: translateX(-50%) scaleX(1); }
}
@keyframes sf-figure {
  0% { transform: translateY(0) rotate(-2deg); }
  33% { transform: translateY(-2px) rotate(1deg); }
  66% { transform: translateY(0) rotate(2deg); }
  100% { transform: translateY(-1px) rotate(0deg); }
}
@keyframes sf-flame {
  0% { transform: translateY(0) scale(1, 1) rotate(-3deg); opacity: 0.9; }
  50% { transform: translateY(-2px) scale(1.05, 1.1) rotate(3deg); opacity: 1; }
  100% { transform: translateY(0) scale(0.95, 0.98) rotate(-2deg); opacity: 0.85; }
}
@keyframes sf-shadow {
  0% { opacity: 0.5; }
  50% { opacity: 0.7; }
  100% { opacity: 0.5; }
}

/* Scene 4 */
.scn-wood-worms-honourable-characters {
  background: linear-gradient(180deg, #1a1410 0%, #0d0906 30%, #060302 100%), radial-gradient(ellipse at 50% 70%, #2a1a0e 0%, transparent 70%);
}
.scn-wood-worms-honourable-characters .wood-grain {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #4a3020 0%, #2a1a0e 25%, #1a1008 50%, #2a1a0e 75%, #4a3020 100%);
  opacity: 0.6;
  animation: wh-grain 45s linear infinite;
}
.scn-wood-worms-honourable-characters .hole-one {
  position: absolute; bottom: 60%; left: 20%; width: 12px; height: 12px;
  background: radial-gradient(circle, #0a0604 0%, #140a06 70%);
  border-radius: 50%;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.8);
  animation: wh-hole 20s ease-in-out infinite alternate;
}
.scn-wood-worms-honourable-characters .hole-two {
  position: absolute; bottom: 45%; left: 60%; width: 10px; height: 10px;
  background: radial-gradient(circle, #0a0604 0%, #140a06 70%);
  border-radius: 50%;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.8);
  animation: wh-hole 25s ease-in-out infinite alternate reverse;
}
.scn-wood-worms-honourable-characters .hole-three {
  position: absolute; bottom: 35%; left: 40%; width: 8px; height: 8px;
  background: radial-gradient(circle, #0a0604 0%, #140a06 70%);
  border-radius: 50%;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.8);
  animation: wh-hole 18s ease-in-out infinite alternate;
}
.scn-wood-worms-honourable-characters .worm {
  position: absolute; bottom: 55%; left: 25%; width: 6px; height: 14px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1f140c 100%);
  border-radius: 50% 50% 40% 40% / 30% 30% 60% 60%;
  transform-origin: bottom center;
  animation: wh-worm 5s ease-in-out infinite;
}
.scn-wood-worms-honourable-characters .dust {
  position: absolute; top: 20%; left: 50%; width: 4px; height: 4px;
  background: rgba(200,180,150,0.08);
  border-radius: 50%;
  filter: blur(2px);
  animation: wh-dust 15s ease-in-out infinite alternate;
}
@keyframes wh-grain {
  0% { background-position: 0 0; }
  100% { background-position: 100% 0; }
}
@keyframes wh-hole {
  0% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(1.1); opacity: 1; }
  100% { transform: scale(0.95); opacity: 0.7; }
}
@keyframes wh-worm {
  0% { transform: translateY(0) scaleY(1) rotate(-5deg); }
  25% { transform: translateY(-3px) scaleY(1.1) rotate(8deg); }
  50% { transform: translateY(-6px) scaleY(0.9) rotate(-3deg); }
  75% { transform: translateY(-3px) scaleY(1.05) rotate(10deg); }
  100% { transform: translateY(0) scaleY(1) rotate(-5deg); }
}
@keyframes wh-dust {
  0% { transform: translateY(0) translateX(0) scale(1); opacity: 0.2; }
  50% { transform: translateY(-10px) translateX(5px) scale(1.5); opacity: 0.4; }
  100% { transform: translateY(0) translateX(0) scale(1); opacity: 0.2; }
}

.scn-memory-improvement { background: linear-gradient(180deg, #f5e6d0 0%, #e3c9a0 100%), radial-gradient(ellipse at 50% 20%, #fff8e7 0%, transparent 60%); }
.scn-memory-improvement .wall { position:absolute; inset:0 0 30% 0; background:linear-gradient(180deg,#f5e6d0,#e8d4b0); border-bottom:2px solid #d4b08c; }
.scn-memory-improvement .bookshelf { position:absolute; bottom:30%; left:5%; width:22%; height:40%; background:#8b6f47; border-radius:4px; background-image:repeating-linear-gradient(0deg,transparent,transparent 8%,#6b4f2e 8%,#6b4f2e 10%); animation:mi-shelf 12s ease-in-out infinite; }
.scn-memory-improvement .table { position:absolute; bottom:5%; left:10%; width:60%; height:20%; background:linear-gradient(180deg,#a67c52,#7a5c3e); border-radius:4px; }
.scn-memory-improvement .book-open { position:absolute; bottom:18%; left:22%; width:18%; height:10%; background:linear-gradient(135deg,#f5e6d0 50%,#d4b08c 50%); border-radius:8px 2px 2px 8px; transform:rotate(-5deg); animation:mi-page 6s ease-in-out infinite; }
.scn-memory-improvement .lamp { position:absolute; bottom:25%; right:12%; width:10%; height:22%; background:linear-gradient(180deg,#c0a060,#8b6f47); border-radius:40% 40% 10% 10%; }
.scn-memory-improvement .glow { position:absolute; bottom:20%; right:10%; width:16%; height:28%; background:radial-gradient(circle,rgba(255,230,180,0.6) 0%,transparent 70%); filter:blur(8px); animation:mi-flicker 2s ease-in-out infinite alternate; }
.scn-memory-improvement .figure { position:absolute; bottom:10%; left:15%; width:10%; height:28%; background:linear-gradient(180deg,#3a2a1a,#1a0e05); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation:mi-read 5s ease-in-out infinite; }
.scn-memory-improvement .quill { position:absolute; bottom:22%; left:20%; width:1.5%; height:14%; background:linear-gradient(180deg,#d4b08c,#8b6f47); clip-path:polygon(50% 0%,0% 100%,100% 100%); animation:mi-write 3s ease-in-out infinite; }
@keyframes mi-shelf { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-1px); } }
@keyframes mi-page { 0% { transform:rotate(-5deg) scaleY(1); } 50% { transform:rotate(-3deg) scaleY(0.95); } 100% { transform:rotate(-5deg) scaleY(1); } }
@keyframes mi-flicker { 0% { opacity:0.8; transform:scale(1); } 50% { opacity:1; transform:scale(1.1); } 100% { opacity:0.9; transform:scale(1); } }
@keyframes mi-read { 0% { transform:translateY(0) rotate(0); } 25% { transform:translateY(-2px) rotate(1deg); } 50% { transform:translateY(0) rotate(0); } 75% { transform:translateY(-1px) rotate(-1deg); } 100% { transform:translateY(0) rotate(0); } }
@keyframes mi-write { 0%,100% { transform:translate(0,0) rotate(-10deg); } 50% { transform:translate(2px,-3px) rotate(-5deg); } }

.scn-memory-life-help { background: linear-gradient(180deg, #f5e6d0 0%, #e8d4b0 50%, #d4b08c 100%), radial-gradient(ellipse at 70% 30%, #fff8e7 0%, transparent 50%); }
.scn-memory-life-help .bg-wall { position:absolute; inset:0 0 35% 0; background:linear-gradient(180deg,#f5e6d0,#e8d4b0); }
.scn-memory-life-help .window { position:absolute; top:10%; right:10%; width:20%; height:30%; background:radial-gradient(circle at 50% 30%, #fff8e7 0%, #b0d0f0 60%, transparent 80%); border:4px solid #8b6f47; border-radius:6px; animation:ml-light 4s ease-in-out infinite alternate; }
.scn-memory-life-help .desk { position:absolute; bottom:10%; left:10%; width:50%; height:15%; background:linear-gradient(180deg,#a67c52,#7a5c3e); border-radius:4px; }
.scn-memory-life-help .scroll { position:absolute; bottom:15%; left:20%; width:12%; height:4%; background:linear-gradient(180deg,#f5e6d0,#d4b08c); border-radius:20%; animation:ml-unroll 8s ease-in-out infinite; }
.scn-memory-life-help .father { position:absolute; bottom:10%; left:30%; width:14%; height:36%; background:linear-gradient(180deg,#3a2a1a,#1a0e05); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation:ml-gesture 6s ease-in-out infinite; }
.scn-memory-life-help .son { position:absolute; bottom:8%; left:16%; width:10%; height:24%; background:linear-gradient(180deg,#2a1a0a,#1a0e05); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation:ml-nod 5s ease-in-out infinite; }
.scn-memory-life-help .warm-glow { position:absolute; bottom:10%; right:10%; width:30%; height:40%; background:radial-gradient(circle,rgba(255,230,180,0.4) 0%,transparent 70%); filter:blur(10px); animation:ml-glow 3s ease-in-out infinite alternate; }
@keyframes ml-light { 0% { opacity:0.7; transform:scale(1); } 50% { opacity:1; transform:scale(1.05); } 100% { opacity:0.8; transform:scale(1); } }
@keyframes ml-unroll { 0%,100% { transform:scaleX(0.8); } 50% { transform:scaleX(1.2); } }
@keyframes ml-gesture { 0%,100% { transform:translateX(0) rotate(0); } 50% { transform:translateX(4px) rotate(2deg); } }
@keyframes ml-nod { 0%,100% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-1px) rotate(-1deg); } }
@keyframes ml-glow { 0% { opacity:0.6; } 100% { opacity:1; } }

.scn-filthy-language-shadow { background: linear-gradient(180deg, #1a1a3e 0%, #2c2244 50%, #4a3a6e 100%), radial-gradient(ellipse at 30% 60%, #3a2a4a 0%, transparent 70%); }
.scn-filthy-language-shadow .dark-wall { position:absolute; inset:0 0 40% 0; background:linear-gradient(180deg,#1a1a3e,#2c2244); }
.scn-filthy-language-shadow .candle { position:absolute; bottom:30%; left:15%; width:3%; height:18%; background:linear-gradient(180deg,#e0c060,#8b6f47); border-radius:10%; animation:fl-flicker 0.8s ease-in-out infinite alternate; }
.scn-filthy-language-shadow .candle-glow { position:absolute; bottom:25%; left:12%; width:10%; height:25%; background:radial-gradient(circle,rgba(255,220,150,0.5) 0%,transparent 70%); filter:blur(6px); animation:fl-glow 1.2s ease-in-out infinite alternate; }
.scn-filthy-language-shadow .shadow-figure { position:absolute; bottom:10%; left:40%; width:18%; height:45%; background:linear-gradient(180deg,#0a0a1a,#000); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation:fl-sway 4s ease-in-out infinite; }
.scn-filthy-language-shadow .shadow-hand { position:absolute; bottom:20%; left:45%; width:6%; height:12%; background:#000; clip-path:polygon(0% 0%,100% 20%,80% 100%,20% 80%); animation:fl-hand 2s ease-in-out infinite; }
.scn-filthy-language-shadow .table-shadow { position:absolute; bottom:10%; left:30%; width:40%; height:8%; background:linear-gradient(180deg,#1a1a2a,#0a0a1a); border-radius:10%; }
.scn-filthy-language-shadow .floor { position:absolute; bottom:0; left:0; right:0; height:10%; background:linear-gradient(180deg,#2c2244,#1a1a3e); }
@keyframes fl-flicker { 0% { opacity:0.8; transform:scaleY(1); } 50% { opacity:1; transform:scaleY(1.1); } 100% { opacity:0.85; transform:scaleY(0.95); } }
@keyframes fl-glow { 0% { opacity:0.5; transform:scale(1); } 50% { opacity:0.8; transform:scale(1.3); } 100% { opacity:0.6; transform:scale(1); } }
@keyframes fl-sway { 0% { transform:translateX(0) rotate(0); } 25% { transform:translateX(2px) rotate(1deg); } 50% { transform:translateX(0) rotate(0); } 75% { transform:translateX(-1px) rotate(-1deg); } 100% { transform:translateX(0) rotate(0); } }
@keyframes fl-hand { 0%,100% { transform:translate(0,0) rotate(0); } 50% { transform:translate(3px,-2px) rotate(15deg); } }

.scn-life-without-luxury { background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 50%, #2a1a0a 100%), radial-gradient(ellipse at 50% 80%, #5a4a3a 0%, transparent 70%); }
.scn-life-without-luxury .room-wall { position:absolute; inset:0 0 30% 0; background:linear-gradient(180deg,#4a3a2a,#3a2a1a); }
.scn-life-without-luxury .floor-mat { position:absolute; bottom:0; left:15%; width:70%; height:15%; background:linear-gradient(180deg,#5a4a3a,#3a2a1a); border-radius:40% 40% 0 0; }
.scn-life-without-luxury .simple-table { position:absolute; bottom:20%; left:30%; width:30%; height:10%; background:linear-gradient(180deg,#6a5a4a,#4a3a2a); border-radius:4px; }
.scn-life-without-luxury .bowl { position:absolute; bottom:22%; left:40%; width:10%; height:8%; background:radial-gradient(circle,#8b7a6a,#6a5a4a); border-radius:50%; animation:ll-bowl 10s ease-in-out infinite; }
.scn-life-without-luxury .lamplight { position:absolute; bottom:30%; right:20%; width:14%; height:20%; background:radial-gradient(circle,rgba(255,200,100,0.4) 0%,transparent 70%); filter:blur(10px); animation:ll-lamp 8s ease-in-out infinite alternate; }
.scn-life-without-luxury .figure-sitting { position:absolute; bottom:10%; left:25%; width:15%; height:30%; background:linear-gradient(180deg,#2a1a0a,#1a0e05); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation:ll-breathe 6s ease-in-out infinite; }
.scn-life-without-luxury .shadow-slow { position:absolute; bottom:5%; left:20%; width:25%; height:10%; background:linear-gradient(180deg,rgba(0,0,0,0.2),transparent); animation:ll-shadow 30s linear infinite; }
@keyframes ll-bowl { 0%,100% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-1px) rotate(2deg); } }
@keyframes ll-lamp { 0% { opacity:0.5; } 50% { opacity:0.8; } 100% { opacity:0.6; } }
@keyframes ll-breathe { 0% { transform:scaleY(1); } 50% { transform:scaleY(0.98); } 100% { transform:scaleY(1); } }
@keyframes ll-shadow { 0% { transform:translateX(-10%); } 100% { transform:translateX(100%); } }

.scn-socrates-draws-theaetetus { background: linear-gradient(180deg, #2a1e14 0%, #3d2a1c 50%, #1f140b 100%), radial-gradient(ellipse at 50% 100%, #5a3a22 0%, transparent 70%); }
.scn-socrates-draws-theaetetus .bg-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #4b3a2a 0%, #2a1e14 100%); border-radius: 30% 30% 0 0 / 40% 40% 0 0; animation: sd-wall 12s ease-in-out infinite alternate; }
.scn-socrates-draws-theaetetus .bg-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #3a2a1a 0%, #1f140b 100%); border-radius: 0 0 20% 20% / 0 0 10% 10%; }
.scn-socrates-draws-theaetetus .table { position:absolute; bottom:22%; left:35%; width:30%; height:6%; background: linear-gradient(180deg, #6b4a2a 0%, #3d2814 100%); border-radius: 4px; box-shadow: 0 6px 12px rgba(0,0,0,0.6); animation: sd-table 8s ease-in-out infinite; }
.scn-socrates-draws-theaetetus .figure-socrates { position:absolute; bottom:20%; left:38%; width:12%; height:35%; background: radial-gradient(ellipse 60% 100% at 50% 100%, #4a3a2a 0%, #1f140b 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: sd-fig1 6s ease-in-out infinite alternate; }
.scn-socrates-draws-theaetetus .figure-theaetetus { position:absolute; bottom:20%; right:38%; width:12%; height:32%; background: radial-gradient(ellipse 60% 100% at 50% 100%, #3d2a1c 0%, #1a0e07 100%); border-radius: 50% 50% 40% 40% / 55% 55% 45% 45%; animation: sd-fig2 6s ease-in-out infinite alternate-reverse; }
.scn-socrates-draws-theaetetus .lamp { position:absolute; bottom:50%; left:50%; width:3%; height:4%; background: radial-gradient(circle, #f0c060 0%, #c08030 70%); border-radius: 50%; box-shadow: 0 0 24px 10px #c08040, 0 0 48px 20px rgba(192,128,64,0.4); animation: sd-lamp 4s ease-in-out infinite alternate; }
.scn-socrates-draws-theaetetus .scroll { position:absolute; bottom:24%; left:48%; width:8%; height:3%; background: linear-gradient(90deg, #8b7355 0%, #c4a87c 50%, #8b7355 100%); border-radius: 10px; transform: rotate(12deg); animation: sd-scroll 10s ease-in-out infinite; }
.scn-socrates-draws-theaetetus .shadow-layer { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 70%, transparent 50%, rgba(0,0,0,0.4) 100%); pointer-events:none; animation: sd-shadow 8s ease-in-out infinite alternate; }
@keyframes sd-wall { 0% { opacity:1 } 50% { opacity:0.85 } 100% { opacity:1 } }
@keyframes sd-table { 0%,100% { transform: translateY(0) scale(1) } 50% { transform: translateY(-2px) scale(0.98) } }
@keyframes sd-fig1 { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(4px) rotate(2deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes sd-fig2 { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(-4px) rotate(-2deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes sd-lamp { 0% { box-shadow: 0 0 20px 8px #c08040, 0 0 40px 15px rgba(192,128,64,0.3); opacity:0.9 } 50% { box-shadow: 0 0 30px 12px #f0c060, 0 0 60px 25px rgba(240,192,96,0.5); opacity:1 } 100% { box-shadow: 0 0 24px 10px #c08040, 0 0 48px 20px rgba(192,128,64,0.4); opacity:0.92 } }
@keyframes sd-scroll { 0%,100% { transform: translateY(0) rotate(12deg) } 50% { transform: translateY(-3px) rotate(10deg) } }
@keyframes sd-shadow { 0% { opacity:0.6 } 50% { opacity:0.8 } 100% { opacity:0.6 } }

.scn-answer-sport-questions { background: linear-gradient(180deg, #2a221a 0%, #3d3228 50%, #1f1812 100%), radial-gradient(ellipse at 50% 100%, #4a3a2a 0%, transparent 70%); }
.scn-answer-sport-questions .room-bg { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #4b3f35 0%, #2a221a 100%); border-radius: 20% 20% 0 0 / 30% 30% 0 0; animation: asq-wall 14s ease-in-out infinite alternate; }
.scn-answer-sport-questions .podium { position:absolute; bottom:18%; left:30%; width:40%; height:10%; background: linear-gradient(180deg, #6b5a48 0%, #3d3228 100%); border-radius: 10% 10% 5% 5% / 20% 20% 5% 5%; box-shadow: 0 6px 10px rgba(0,0,0,0.5); animation: asq-podium 9s ease-in-out infinite; }
.scn-answer-sport-questions .figure-speaker { position:absolute; bottom:20%; left:35%; width:12%; height:38%; background: radial-gradient(ellipse 60% 100% at 50% 100%, #5a4a3a 0%, #1f1812 100%); border-radius: 50% 50% 40% 40% / 55% 55% 45% 45%; animation: asq-speaker 5s ease-in-out infinite alternate; }
.scn-answer-sport-questions .figure-challenger { position:absolute; bottom:22%; right:30%; width:10%; height:30%; background: radial-gradient(ellipse 60% 100% at 50% 100%, #4a3a2a 0%, #1a120c 100%); border-radius: 50% 50% 40% 40% / 50% 50% 50% 50%; transform-origin: bottom center; animation: asq-challenger 6s ease-in-out infinite alternate-reverse; box-shadow: -4px 0 6px rgba(0,0,0,0.3); }
.scn-answer-sport-questions .book { position:absolute; bottom:15%; left:50%; width:6%; height:4%; background: linear-gradient(180deg, #8b7355 0%, #6b5a48 100%); border-radius: 2px; transform: rotate(-8deg); box-shadow: 2px 2px 4px rgba(0,0,0,0.4); animation: asq-book 8s ease-in-out infinite; }
.scn-answer-sport-questions .hand-gesture { position:absolute; bottom:30%; left:48%; width:4%; height:6%; background: radial-gradient(ellipse 50% 100% at 50% 0%, #8b7355 0%, #4a3a2a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform: rotate(20deg); animation: asq-hand 4s ease-in-out infinite alternate; }
.scn-answer-sport-questions .column { position:absolute; bottom:18%; right:48%; width:3%; height:50%; background: linear-gradient(180deg, #6b5a48 0%, #3d3228 100%); border-radius: 8px 8px 0 0; opacity:0.6; animation: asq-column 20s linear infinite; }
@keyframes asq-wall { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes asq-podium { 0%,100% { transform: translateY(0) scale(1) } 50% { transform: translateY(-2px) scale(0.98) } }
@keyframes asq-speaker { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(2deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes asq-challenger { 0% { transform: rotate(0deg) } 50% { transform: rotate(5deg) } 100% { transform: rotate(0deg) } }
@keyframes asq-book { 0%,100% { transform: translateY(0) rotate(-8deg) } 50% { transform: translateY(-3px) rotate(-6deg) } }
@keyframes asq-hand { 0% { transform: rotate(15deg) scale(1) } 50% { transform: rotate(25deg) scale(1.05) } 100% { transform: rotate(15deg) scale(1) } }
@keyframes asq-column { 0% { transform: translateY(0) } 50% { transform: translateY(-5px) } 100% { transform: translateY(0) } }

.scn-check-greediness-for-words { background: linear-gradient(180deg, #1a1410 0%, #2a221c 50%, #0f0a06 100%), radial-gradient(ellipse at 50% 70%, #3d2a1c 0%, transparent 100%); }
.scn-check-greediness-for-words .dark-bg { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 30%, #2a221c 0%, #0f0a06 100%); animation: cgw-bg 15s ease-in-out infinite alternate; }
.scn-check-greediness-for-words .figure-main { position:absolute; bottom:20%; left:40%; width:14%; height:40%; background: radial-gradient(ellipse 60% 100% at 50% 100%, #3d3228 0%, #1a1410 100%); border-radius: 50% 50% 40% 40% / 55% 55% 45% 45%; animation: cgw-main 6s ease-in-out infinite alternate; }
.scn-check-greediness-for-words .figure-helper { position:absolute; bottom:25%; right:38%; width:8%; height:28%; background: radial-gradient(ellipse 60% 100% at 50% 100%, #2a221c 0%, #0f0a06 100%); border-radius: 50% 50% 40% 40% / 50% 50% 50% 50%; animation: cgw-helper 7s ease-in-out infinite alternate-reverse; }
.scn-check-greediness-for-words .hand-restrain { position:absolute; bottom:35%; left:45%; width:6%; height:8%; background: radial-gradient(ellipse 50% 100% at 50% 0%, #8b7355 0%, #4a3a2a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform: rotate(30deg); animation: cgw-hand 4s ease-in-out infinite alternate; }
.scn-check-greediness-for-words .flood-wave { position:absolute; bottom:22%; left:30%; width:40%; height:8%; background: linear-gradient(90deg, transparent 0%, #5a4a3a 20%, #8b7355 50%, #5a4a3a 80%, transparent 100%); border-radius: 50%; filter: blur(3px); opacity:0.6; animation: cgw-wave 3s ease-in-out infinite; }
.scn-check-greediness-for-words .dam-barrier { position:absolute; bottom:16%; left:35%; width:30%; height:4%; background: linear-gradient(180deg, #6b5a48 0%, #3d3228 100%); border-radius: 4px; box-shadow: 0 3px 6px rgba(0,0,0,0.5); animation: cgw-dam 8s ease-in-out infinite; }
.scn-check-greediness-for-words .lantern-glow { position:absolute; bottom:50%; left:20%; width:3%; height:4%; background: radial-gradient(circle, #f0c060 0%, #c08030 70%); border-radius: 50%; box-shadow: 0 0 20px 8px #c08040, 0 0 40px 15px rgba(192,128,64,0.3); animation: cgw-lantern 5s ease-in-out infinite alternate; }
@keyframes cgw-bg { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes cgw-main { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(2deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes cgw-helper { 0% { transform: scale(1) } 50% { transform: scale(0.95) rotate(3deg) } 100% { transform: scale(1) } }
@keyframes cgw-hand { 0% { transform: rotate(25deg) translateX(0) } 50% { transform: rotate(35deg) translateX(4px) } 100% { transform: rotate(25deg) translateX(0) } }
@keyframes cgw-wave { 0% { transform: scaleX(1) opacity:0.4 } 50% { transform: scaleX(1.2) opacity:0.8 } 100% { transform: scaleX(1) opacity:0.4 } }
@keyframes cgw-dam { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-3px) } }
@keyframes cgw-lantern { 0% { box-shadow: 0 0 15px 5px #c08040, 0 0 30px 10px rgba(192,128,64,0.2); opacity:0.85 } 50% { box-shadow: 0 0 25px 10px #f0c060, 0 0 50px 20px rgba(240,192,96,0.4); opacity:1 } 100% { box-shadow: 0 0 18px 6px #c08040, 0 0 35px 12px rgba(192,128,64,0.3); opacity:0.9 } }

.scn-three-kinds-answers-necessary-polite-superfluous { background: linear-gradient(180deg, #2a2220 0%, #3d3430 50%, #1a1412 100%), radial-gradient(ellipse at 50% 100%, #5a4a3a 0%, transparent 70%); }
.scn-three-kinds-answers-necessary-polite-superfluous .chamber-bg { position:absolute; inset:0 0 15% 0; background: linear-gradient(180deg, #4b3f3a 0%, #2a2220 100%); border-radius: 30% 30% 0 0 / 40% 40% 0 0; animation: tka-bg 12s ease-in-out infinite alternate; }
.scn-three-kinds-answers-necessary-polite-superfluous .central-figure { position:absolute; bottom:15%; left:45%; width:10%; height:35%; background: radial-gradient(ellipse 60% 100% at 50% 100%, #5a4a3a 0%, #1a1412 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: tka-fig 6s ease-in-out infinite alternate; }
.scn-three-kinds-answers-necessary-polite-superfluous .answer-block { position:absolute; bottom:30%; width:8%; height:12%; background: linear-gradient(180deg, #8b7355 0%, #4a3a2a 100%); border-radius: 10% 10% 30% 30% / 20% 20% 40% 40%; box-shadow: 0 4px 8px rgba(0,0,0,0.3); }
.scn-three-kinds-answers-necessary-polite-superfluous .answer-block.necessary { left:20%; background: linear-gradient(180deg, #6b5a48 0%, #3d3228 100%); animation: tka-necess 5s ease-in-out infinite; }
.scn-three-kinds-answers-necessary-polite-superfluous .answer-block.polite { left:46%; width:10%; height:14%; background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%); animation: tka-polite 6s ease-in-out infinite 0.5s; }
.scn-three-kinds-answers-necessary-polite-superfluous .answer-block.superfluous { right:20%; background: linear-gradient(180deg, #8b7a6a 0%, #4a3a2a 100%); animation: tka-super 7s ease-in-out infinite 1s; }
.scn-three-kinds-answers-necessary-polite-superfluous .curtain { position:absolute; top:0; width:20%; height:100%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a12 100%); border-radius: 10% 10% 0 0 / 5% 5% 0 0; opacity:0.6; }
.scn-three-kinds-answers-necessary-polite-superfluous .curtain.left { left:0; animation: tka-curtain-left 30s linear infinite; }
.scn-three-kinds-answers-necessary-polite-superfluous .curtain.right { right:0; animation: tka-curtain-right 30s linear infinite; }
.scn-three-kinds-answers-necessary-polite-superfluous .floor-ornament { position:absolute; bottom:0; left:25%; width:50%; height:4%; background: radial-gradient(ellipse, #6b5a48 0%, transparent 100%); border-radius: 50%; animation: tka-ornament 8s ease-in-out infinite; }
@keyframes tka-bg { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes tka-fig { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(2deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes tka-necess { 0%,100% { transform: translateY(0) scale(1) } 50% { transform: translateY(-4px) scale(0.96) } }
@keyframes tka-polite { 0%,100% { transform: translateY(0) scale(1) } 50% { transform: translateY(-6px) scale(0.94) } }
@keyframes tka-super { 0%,100% { transform: translateY(0) scale(1) } 50% { transform: translateY(-8px) scale(0.92) } }
@keyframes tka-curtain-left { 0% { transform: translateX(0) } 50% { transform: translateX(10px) } 100% { transform: translateX(0) } }
@keyframes tka-curtain-right { 0% { transform: translateX(0) } 50% { transform: translateX(-10px) } 100% { transform: translateX(0) } }
@keyframes tka-ornament { 0%,100% { transform: scaleX(1) } 50% { transform: scaleX(0.8) } }

/* ========== compare-virtue-external ========== */
.scn-compare-virtue-external {
  background: linear-gradient(180deg, #2a1e14 0%, #1a120b 40%, #0f0a06 100%), radial-gradient(circle at 40% 30%, #3a281a 0%, transparent 70%);
}
.scn-compare-virtue-external .bg-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #3a281a 0%, #1a120b 100%); animation: cve-wall 12s ease-in-out infinite alternate; }
.scn-compare-virtue-external .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #1a120b 0%, #0f0a06 100%); border-radius: 0 0 10% 10%; box-shadow: inset 0 8px 16px rgba(0,0,0,.6); }
.scn-compare-virtue-external .desk { position:absolute; bottom:22%; left:20%; width:55%; height:12%; background: linear-gradient(135deg, #4a3222 0%, #2a1e14 100%); border-radius: 4% 4% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: cve-desk 8s ease-in-out infinite alternate; }
.scn-compare-virtue-external .figure { position:absolute; bottom:18%; left:55%; width:22%; height:48%; background: linear-gradient(180deg, #212121 0%, #111111 100%); border-radius: 45% 45% 35% 35% / 55% 55% 40% 40%; transform-origin: bottom center; animation: cve-figure 6s ease-in-out infinite; }
.scn-compare-virtue-external .book { position:absolute; bottom:20%; left:25%; width:14%; height:10%; background: linear-gradient(135deg, #b08040 0%, #8a6030 100%); border-radius: 10% 10% 5% 5%; box-shadow: 0 2px 6px rgba(0,0,0,.4); animation: cve-book 4s ease-in-out infinite alternate; }
.scn-compare-virtue-external .scale-left { position:absolute; bottom:28%; left:35%; width:10%; height:8%; background: linear-gradient(135deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 0 0; transform-origin: bottom left; animation: cve-scale 7s ease-in-out infinite; }
.scn-compare-virtue-external .scale-right { position:absolute; bottom:28%; left:48%; width:10%; height:8%; background: linear-gradient(135deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 0 0; transform-origin: bottom right; animation: cve-scale 7s ease-in-out infinite reverse; }
.scn-compare-virtue-external .lantern { position:absolute; bottom:30%; left:60%; width:8%; height:12%; background: radial-gradient(circle at 50% 80%, #ffd060 0%, #b08040 60%, #2a1e14 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 20px 6px #ffd060; animation: cve-lantern 3s ease-in-out infinite alternate; }
.scn-compare-virtue-external .lantern-glow { position:absolute; bottom:30%; left:60%; width:8%; height:12%; background: radial-gradient(circle, rgba(255,208,96,.3) 0%, transparent 70%); border-radius: 50%; filter: blur(8px); animation: cve-glow 3s ease-in-out infinite alternate; }

@keyframes cve-wall { 0% { opacity:.7 } 50% { opacity:.9 } 100% { opacity:.8 } }
@keyframes cve-desk { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes cve-figure { 0%,100% { transform: translateY(0) rotate(-1deg) } 25% { transform: translateY(-3px) rotate(1deg) } 50% { transform: translateY(0) rotate(-1deg) } 75% { transform: translateY(-2px) rotate(1deg) } }
@keyframes cve-book { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-2px) scale(1.02) } 100% { transform: translateY(0) scale(1) } }
@keyframes cve-scale { 0% { transform: rotate(0deg) } 33% { transform: rotate(-5deg) } 66% { transform: rotate(5deg) } 100% { transform: rotate(0deg) } }
@keyframes cve-lantern { 0% { box-shadow: 0 0 12px 4px #ffd060, 0 0 24px 8px rgba(255,208,96,.4); } 50% { box-shadow: 0 0 24px 8px #ffd060, 0 0 40px 12px rgba(255,208,96,.6); } 100% { box-shadow: 0 0 16px 6px #ffd060, 0 0 30px 10px rgba(255,208,96,.5); } }
@keyframes cve-glow { 0% { opacity:.4; transform: scale(1) } 50% { opacity:.7; transform: scale(1.3) } 100% { opacity:.5; transform: scale(1.1) } }

/* ========== antiphanes-plato-frozen-words ========== */
.scn-antiphanes-plato-frozen-words {
  background: linear-gradient(180deg, #1f2a33 0%, #121a22 40%, #0a0f14 100%), radial-gradient(circle at 50% 30%, #2a3a44 0%, transparent 70%);
}
.scn-antiphanes-plato-frozen-words .bg-wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #2a3a44 0%, #121a22 100%); border-radius: 0 0 30% 30%; animation: apf-wall 10s ease-in-out infinite alternate; }
.scn-antiphanes-plato-frozen-words .icicle { position:absolute; width:4%; height:20%; background: linear-gradient(180deg, #b0d8e8 0%, #6090b0 100%); border-radius: 0 0 50% 50% / 0 0 40% 40%; box-shadow: inset 0 2px 4px rgba(0,0,0,.3); animation: apf-icicle 6s ease-in-out infinite; }
.scn-antiphanes-plato-frozen-words .icicle.a { left:15%; top:0; animation-delay: 0s; }
.scn-antiphanes-plato-frozen-words .icicle.b { left:42%; top:0; width:5%; height:26%; animation-delay: 1.5s; }
.scn-antiphanes-plato-frozen-words .icicle.c { left:68%; top:0; width:3%; height:18%; animation-delay: 3s; }
.scn-antiphanes-plato-frozen-words .figure { position:absolute; bottom:20%; left:30%; width:20%; height:55%; background: linear-gradient(180deg, #2a2a2a 0%, #111 100%); border-radius: 45% 45% 35% 35% / 55% 55% 40% 40%; transform-origin: bottom center; animation: apf-figure 8s ease-in-out infinite; }
.scn-antiphanes-plato-frozen-words .torch { position:absolute; bottom:32%; left:45%; width:4%; height:18%; background: linear-gradient(180deg, #6a5030 0%, #3a2818 100%); border-radius: 10% 10% 30% 30%; transform: rotate(15deg); transform-origin: bottom center; animation: apf-torch 4s ease-in-out infinite alternate; }
.scn-antiphanes-plato-frozen-words .flame { position:absolute; bottom:50%; left:46%; width:6%; height:10%; background: radial-gradient(circle, #ffb040 0%, #ff8030 50%, transparent 100%); border-radius: 50%; filter: blur(2px); animation: apf-flame 0.5s ease-in-out infinite alternate; }
.scn-antiphanes-plato-frozen-words .drip { position:absolute; width:2%; height:6%; background: linear-gradient(180deg, #b0d8e8 0%, #6090b0 100%); border-radius: 0 0 50% 50%; opacity:0; animation: apf-drip 4s linear infinite; }
.scn-antiphanes-plato-frozen-words .drip.drip1 { left:17%; top:22%; animation-delay: 2s; }
.scn-antiphanes-plato-frozen-words .drip.drip2 { left:44%; top:28%; animation-delay: 3.5s; }

@keyframes apf-wall { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes apf-icicle { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(0.9) translateY(5%) } }
@keyframes apf-figure { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-3px) rotate(2deg) } 50% { transform: translateY(0) rotate(-1deg) } 75% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes apf-torch { 0% { transform: rotate(15deg) } 50% { transform: rotate(20deg) } 100% { transform: rotate(15deg) } }
@keyframes apf-flame { 0% { transform: scale(1) translateY(0) } 50% { transform: scale(1.2) translateY(-3px) } 100% { transform: scale(0.9) translateY(2px) } }
@keyframes apf-drip { 0% { opacity:0; transform: translateY(0) } 20% { opacity:1 } 80% { opacity:1 } 100% { opacity:0; transform: translateY(80px) } }

/* ========== sophocles-style-toning-down ========== */
.scn-sophocles-style-toning-down {
  background: linear-gradient(180deg, #2a1e14 0%, #1a120b 40%, #0f0a06 100%), radial-gradient(circle at 50% 40%, #3a281a 0%, transparent 70%);
}
.scn-sophocles-style-toning-down .bg-wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #3a281a 0%, #1a120b 100%); animation: sst-wall 14s ease-in-out infinite alternate; }
.scn-sophocles-style-toning-down .desk { position:absolute; bottom:25%; left:15%; width:60%; height:14%; background: linear-gradient(135deg, #4a3222 0%, #2a1e14 100%); border-radius: 6% 6% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: sst-desk 9s ease-in-out infinite alternate; }
.scn-sophocles-style-toning-down .figure { position:absolute; bottom:22%; left:50%; width:25%; height:50%; background: linear-gradient(180deg, #212121 0%, #111 100%); border-radius: 45% 45% 35% 35% / 55% 55% 40% 40%; transform-origin: bottom center; animation: sst-figure 7s ease-in-out infinite; }
.scn-sophocles-style-toning-down .scroll { position:absolute; bottom:30%; left:20%; width:20%; height:8%; background: linear-gradient(135deg, #c0a060 0%, #8a7030 100%); border-radius: 5% 5% 10% 10%; box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: sst-scroll 5s ease-in-out infinite alternate; }
.scn-sophocles-style-toning-down .quill { position:absolute; bottom:34%; left:35%; width:2%; height:16%; background: linear-gradient(180deg, #d0c0a0 0%, #a09070 100%); border-radius: 50% 50% 0 0 / 80% 80% 0 0; transform: rotate(-20deg); transform-origin: bottom center; animation: sst-quill 4s ease-in-out infinite; }
.scn-sophocles-style-toning-down .inkpot { position:absolute; bottom:28%; left:38%; width:6%; height:8%; background: radial-gradient(circle at 50% 30%, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,.5); animation: sst-ink 6s ease-in-out infinite alternate; }
.scn-sophocles-style-toning-down .shadow-hand { position:absolute; bottom:28%; left:32%; width:12%; height:20%; background: linear-gradient(135deg, #111 0%, #222 100%); border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%; transform: rotate(10deg); animation: sst-hand 5s ease-in-out infinite; }

@keyframes sst-wall { 0% { opacity:.7 } 50% { opacity:.9 } 100% { opacity:.8 } }
@keyframes sst-desk { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes sst-figure { 0%,100% { transform: translateY(0) rotate(-1deg) } 25% { transform: translateY(-4px) rotate(2deg) } 50% { transform: translateY(0) rotate(-1deg) } 75% { transform: translateY(-2px) rotate(1deg) } }
@keyframes sst-scroll { 0% { transform: translateX(0) } 50% { transform: translateX(5px) } 100% { transform: translateX(0) } }
@keyframes sst-quill { 0% { transform: rotate(-20deg) } 50% { transform: rotate(-15deg) } 100% { transform: rotate(-20deg) } }
@keyframes sst-ink { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-2px) scale(1.1) } 100% { transform: translateY(0) scale(1) } }
@keyframes sst-hand { 0%,100% { transform: rotate(10deg) translateX(0) } 25% { transform: rotate(15deg) translateX(5px) } 50% { transform: rotate(10deg) translateX(0) } 75% { transform: rotate(5deg) translateX(-5px) } }

/* ========== read-philosophers-attend-words ========== */
.scn-read-philosophers-attend-words {
  background: linear-gradient(180deg, #1a1e2a 0%, #0e121a 40%, #06080c 100%), radial-gradient(circle at 70% 20%, #2a3a4a 0%, transparent 70%);
}
.scn-read-philosophers-attend-words .bg-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a3a4a 0%, #0e121a 100%); animation: rpw-wall 15s ease-in-out infinite alternate; }
.scn-read-philosophers-attend-words .window { position:absolute; top:10%; left:65%; width:25%; height:50%; background: linear-gradient(180deg, #3a5a6a 0%, #1a2a3a 100%); border-radius: 10% 10% 0 0; box-shadow: inset 0 0 20px rgba(0,0,0,.4); border: 4px solid #2a1e14; animation: rpw-window 8s ease-in-out infinite alternate; }
.scn-read-philosophers-attend-words .light-beam { position:absolute; top:15%; left:68%; width:18%; height:60%; background: linear-gradient(135deg, rgba(200,220,240,.3) 0%, transparent 100%); clip-path: polygon(0% 0%, 100% 5%, 80% 100%, 20% 100%); animation: rpw-beam 10s ease-in-out infinite alternate; }
.scn-read-philosophers-attend-words .figure { position:absolute; bottom:15%; left:15%; width:25%; height:55%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 45% 45% 35% 35% / 55% 55% 40% 40%; transform-origin: bottom center; animation: rpw-figure 6s ease-in-out infinite; }
.scn-read-philosophers-attend-words .book { position:absolute; bottom:20%; left:25%; width:18%; height:12%; background: linear-gradient(135deg, #b08040 0%, #8a6030 100%); border-radius: 5% 5% 0 0; box-shadow: 0 2px 6px rgba(0,0,0,.5); animation: rpw-book 4s ease-in-out infinite alternate; }
.scn-read-philosophers-attend-words .shape { position:absolute; width:4%; height:4%; border-radius: 50%; opacity:.6; animation: rpw-shape 7s ease-in-out infinite; }
.scn-read-philosophers-attend-words .shape.a { top:35%; left:40%; background: #b08040; animation-delay: 0s; }
.scn-read-philosophers-attend-words .shape.b { top:25%; left:50%; background: #5080b0; width:3%; height:3%; animation-delay: 1.2s; }
.scn-read-philosophers-attend-words .shape.c { top:45%; left:55%; background: #80b050; width:2%; height:2%; animation-delay: 2.5s; }
.scn-read-philosophers-attend-words .shape.d { top:30%; left:60%; background: #b05080; width:3%; height:3%; animation-delay: 3.8s; }

@keyframes rpw-wall { 0% { opacity:.7 } 50% { opacity:.9 } 100% { opacity:.8 } }
@keyframes rpw-window { 0% { transform: scale(1) } 50% { transform: scale(1.03) } 100% { transform: scale(1) } }
@keyframes rpw-beam { 0% { opacity:.3; transform: translateX(0) } 50% { opacity:.6; transform: translateX(10px) } 100% { opacity:.4; transform: translateX(-5px) } }
@keyframes rpw-figure { 0%,100% { transform: translateY(0) rotate(-1deg) } 25% { transform: translateY(-4px) rotate(2deg) } 50% { transform: translateY(0) rotate(-1deg) } 75% { transform: translateY(-2px) rotate(1deg) } }
@keyframes rpw-book { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes rpw-shape { 0% { transform: translateY(0) scale(1); opacity:.6 } 50% { transform: translateY(-30px) scale(1.5); opacity:.9 } 100% { transform: translateY(0) scale(1); opacity:.6 } }

.scn-shoe-pinches-wife {
  background:
    linear-gradient(180deg, #2a1f1a 0%, #3d2e26 50%, #4a3a30 100%),
    radial-gradient(ellipse at 60% 20%, #4a3a30 0%, transparent 70%);
}

.scn-shoe-pinches-wife .wall-bg {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #1e1612 0%, #2a1f1a 60%);
  animation: spw-wall 10s ease-in-out infinite alternate;
}
.scn-shoe-pinches-wife .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #3a2a20 0%, #1f1510 100%);
  border-radius: 30% 70% 0 0 / 20% 40% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,.6);
}
.scn-shoe-pinches-wife .woman-silhouette {
  position: absolute; bottom: 28%; left: 35%;
  width: 50px; height: 90px;
  background: linear-gradient(180deg, #0d0907 0%, #1a1210 100%);
  border-radius: 40% 40% 50% 50% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: spw-woman 5s ease-in-out infinite;
}
.scn-shoe-pinches-wife .shoe-close {
  position: absolute; bottom: 25%; left: 48%;
  width: 40px; height: 20px;
  background: linear-gradient(135deg, #2a1a10 0%, #0d0804 100%);
  border-radius: 60% 60% 40% 40% / 50% 50% 30% 30%;
  transform: rotate(-15deg);
  box-shadow: 0 4px 8px rgba(0,0,0,.5);
  animation: spw-shoe 7s ease-in-out infinite alternate;
}
.scn-shoe-pinches-wife .lamp-glow {
  position: absolute; top: 30%; left: 60%;
  width: 20px; height: 30px;
  background: radial-gradient(circle at 50% 20%, #b8905a 0%, #7a5a3a 70%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 0 30px 10px #7a5a3a, 0 0 60px 20px rgba(122,90,58,.4);
  animation: spw-lamp 4s ease-in-out infinite alternate;
}
.scn-shoe-pinches-wife .window-dim {
  position: absolute; top: 15%; right: 15%;
  width: 70px; height: 90px;
  background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1a 100%);
  border-radius: 8% 8% 5% 5%;
  box-shadow: inset 0 0 15px 5px rgba(0,0,10,.5), 0 0 10px rgba(0,0,0,.4);
  border: 2px solid #1a120e;
}
.scn-shoe-pinches-wife .shadow-figure {
  position: absolute; bottom: 28%; left: 55%;
  width: 30px; height: 80px;
  background: linear-gradient(180deg, #0f0b09 0%, #1c1410 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 30% 30%;
  opacity: 0.6;
  transform: scaleX(-1);
  animation: spw-shade 12s ease-in-out infinite alternate;
}

@keyframes spw-wall {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.75; }
}
@keyframes spw-woman {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-2px) rotate(1deg); }
  60% { transform: translateY(1px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes spw-shoe {
  0% { transform: rotate(-15deg) translateX(0); }
  50% { transform: rotate(-10deg) translateX(5px); }
  100% { transform: rotate(-15deg) translateX(0); }
}
@keyframes spw-lamp {
  0% { opacity: 0.6; box-shadow: 0 0 20px 6px #6a4a2a; }
  50% { opacity: 1; box-shadow: 0 0 40px 15px #b8905a, 0 0 80px 25px rgba(184,144,90,.3); }
  100% { opacity: 0.7; box-shadow: 0 0 25px 8px #6a4a2a; }
}
@keyframes spw-shade {
  0% { transform: scaleX(-1) translateX(0); opacity: 0.5; }
  50% { transform: scaleX(-1) translateX(-5px); opacity: 0.7; }
  100% { transform: scaleX(-1) translateX(0); opacity: 0.5; }
}

.scn-small-daily-offences {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #0e0e1a 30%, #141420 70%, #1e1e2a 100%),
    radial-gradient(ellipse at 50% 80%, #0e0e1a 0%, transparent 80%);
}

.scn-small-daily-offences .room-dark {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #12121c 0%, #1a1a28 50%);
  animation: sdo-room 12s ease-in-out infinite alternate;
}
.scn-small-daily-offences .table-center {
  position: absolute; bottom: 30%; left: 50%; transform: translateX(-50%);
  width: 120px; height: 40px;
  background: linear-gradient(180deg, #2a2218 0%, #1a1410 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 6px 20px rgba(0,0,0,.7);
}
.scn-small-daily-offences .husband-figure {
  position: absolute; bottom: 25%; left: 30%;
  width: 45px; height: 80px;
  background: linear-gradient(180deg, #0c0c14 0%, #16161e 100%);
  border-radius: 35% 35% 45% 45% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: sdo-husb 6s ease-in-out infinite;
}
.scn-small-daily-offences .wife-figure {
  position: absolute; bottom: 25%; right: 30%;
  width: 40px; height: 75px;
  background: linear-gradient(180deg, #0c0c16 0%, #141420 100%);
  border-radius: 35% 35% 45% 45% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: sdo-wife 5s ease-in-out infinite 1s;
}
.scn-small-daily-offences .lamp-pulse {
  position: absolute; top: 35%; left: 50%; transform: translateX(-50%);
  width: 18px; height: 25px;
  background: radial-gradient(circle at 50% 20%, #5a6a7a 0%, #2a3a4a 70%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 0 20px 8px #3a4a5a, 0 0 40px 15px rgba(58,74,90,.4);
  animation: sdo-lamp 3s ease-in-out infinite alternate;
}
.scn-small-daily-offences .chair-back {
  position: absolute; bottom: 30%; left: 20%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: inset 0 4px 6px rgba(0,0,0,.5);
}
.scn-small-daily-offences .shadow-1 {
  position: absolute; bottom: 25%; left: 25%; width: 60px; height: 100px;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.5) 100%);
  filter: blur(6px);
  animation: sdo-shad1 8s ease-in-out infinite alternate;
}
.scn-small-daily-offences .shadow-2 {
  position: absolute; bottom: 25%; right: 25%; width: 50px; height: 90px;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.4) 100%);
  filter: blur(5px);
  animation: sdo-shad2 7s ease-in-out infinite alternate 0.5s;
}

@keyframes sdo-room {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.6; }
}
@keyframes sdo-husb {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-1px) rotate(2deg); }
  50% { transform: translateY(1px) rotate(-1deg); }
  75% { transform: translateY(-1px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes sdo-wife {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-1px) rotate(-2deg); }
  60% { transform: translateY(2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes sdo-lamp {
  0% { opacity: 0.5; box-shadow: 0 0 15px 5px #2a3a4a; }
  50% { opacity: 1; box-shadow: 0 0 30px 12px #5a6a7a, 0 0 60px 20px rgba(90,106,122,.3); }
  100% { opacity: 0.6; box-shadow: 0 0 18px 6px #2a3a4a; }
}
@keyframes sdo-shad1 {
  0% { transform: scale(1) translateX(0); opacity: 0.8; }
  50% { transform: scale(1.05) translateX(5px); opacity: 1; }
  100% { transform: scale(1) translateX(0); opacity: 0.8; }
}
@keyframes sdo-shad2 {
  0% { transform: scale(1) translateX(0); opacity: 0.7; }
  50% { transform: scale(1.03) translateX(-5px); opacity: 0.9; }
  100% { transform: scale(1) translateX(0); opacity: 0.7; }
}

.scn-olympias-philip-thessalian {
  background:
    linear-gradient(180deg, #f0d5a0 0%, #dbc090 30%, #c0a070 60%, #a08050 100%),
    radial-gradient(ellipse at 30% 10%, #ffea80 0%, transparent 60%);
}

.scn-olympias-philip-thessalian .throne-room {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #e8d0a0 0%, #d4b880 60%, #b89c60 100%);
  animation: opt-room 15s ease-in-out infinite alternate;
}
.scn-olympias-philip-thessalian .floor-tiles {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: repeating-linear-gradient(90deg, #a08050 0px, #a08050 20px, #b09060 20px, #b09060 40px);
  box-shadow: inset 0 10px 20px rgba(0,0,0,.3);
}
.scn-olympias-philip-thessalian .olympias-seated {
  position: absolute; bottom: 22%; left: 25%;
  width: 60px; height: 100px;
  background: linear-gradient(180deg, #8a6040 0%, #5a3820 100%);
  border-radius: 40% 40% 50% 50% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: opt-olym 6s ease-in-out infinite;
}
.scn-olympias-philip-thessalian .thessalian-kneeling {
  position: absolute; bottom: 28%; left: 55%;
  width: 50px; height: 70px;
  background: linear-gradient(180deg, #c89070 0%, #a07050 100%);
  border-radius: 35% 35% 45% 45% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: opt-thes 5s ease-in-out infinite 0.5s;
}
.scn-olympias-philip-thessalian .pillar-left {
  position: absolute; top: 0; left: 5%; width: 20px; bottom: 20%;
  background: linear-gradient(180deg, #d4b880 0%, #b89c60 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 2px 0 8px rgba(0,0,0,.2);
}
.scn-olympias-philip-thessalian .pillar-right {
  position: absolute; top: 0; right: 5%; width: 20px; bottom: 20%;
  background: linear-gradient(180deg, #d4b880 0%, #b89c60 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: -2px 0 8px rgba(0,0,0,.2);
}
.scn-olympias-philip-thessalian .light-beam {
  position: absolute; top: 0; left: 30%; width: 40%; bottom: 30%;
  background: linear-gradient(180deg, rgba(255,230,150,0.4) 0%, transparent 100%);
  clip-path: polygon(30% 0, 70% 0, 85% 100%, 15% 100%);
  animation: opt-beam 10s ease-in-out infinite alternate;
}
.scn-olympias-philip-thessalian .crown-glow {
  position: absolute; top: 20%; left: 28%;
  width: 16px; height: 16px;
  background: radial-gradient(circle, #ffd700 0%, #b8860b 70%);
  border-radius: 50%;
  box-shadow: 0 0 25px 10px #ffd700, 0 0 50px 20px rgba(255,215,0,.4);
  animation: opt-crown 4s ease-in-out infinite alternate;
}

@keyframes opt-room {
  0% { opacity: 0.85; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes opt-olym {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-1px) rotate(1deg); }
  50% { transform: translateY(1px) rotate(-1deg); }
  75% { transform: translateY(-1px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes opt-thes {
  0% { transform: translateY(0) scale(1); }
  30% { transform: translateY(-2px) scale(1.02); }
  60% { transform: translateY(1px) scale(0.98); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes opt-beam {
  0% { opacity: 0.3; }
  50% { opacity: 0.7; }
  100% { opacity: 0.4; }
}
@keyframes opt-crown {
  0% { opacity: 0.6; box-shadow: 0 0 15px 5px #b8860b; }
  50% { opacity: 1; box-shadow: 0 0 30px 12px #ffd700, 0 0 60px 20px rgba(255,215,0,.3); }
  100% { opacity: 0.7; box-shadow: 0 0 20px 8px #b8860b; }
}

.scn-olympias-married-with-eyes {
  background:
    linear-gradient(180deg, #e0c8a0 0%, #c8ae80 30%, #a88860 70%, #8a6e4e 100%),
    radial-gradient(ellipse at 70% 30%, #d4b880 0%, transparent 60%);
}

.scn-olympias-married-with-eyes .hall-bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #d8be90 0%, #b89c60 60%);
  animation: ome-hall 14s ease-in-out infinite alternate;
}
.scn-olympias-married-with-eyes .floor-pattern {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: repeating-conic-gradient(#8a6e4e 0deg 90deg, #9a7e5e 90deg 180deg);
  background-size: 30px 30px;
  box-shadow: inset 0 10px 25px rgba(0,0,0,.4);
}
.scn-olympias-married-with-eyes .courtier-profile {
  position: absolute; bottom: 22%; left: 20%;
  width: 45px; height: 85px;
  background: linear-gradient(180deg, #2a1a10 0%, #1a0c06 100%);
  border-radius: 35% 35% 45% 45% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: ome-court 4s ease-in-out infinite;
}
.scn-olympias-married-with-eyes .bride-veiled {
  position: absolute; bottom: 22%; left: 38%;
  width: 40px; height: 80px;
  background: linear-gradient(180deg, #c8a080 0%, #a07050 100%);
  border-radius: 35% 35% 45% 45% / 55% 55% 35% 35%;
  opacity: 0.8;
  animation: ome-bride 5s ease-in-out infinite 0.5s;
}
.scn-olympias-married-with-eyes .olympias-standing {
  position: absolute; bottom: 20%; right: 25%;
  width: 50px; height: 95px;
  background: linear-gradient(180deg, #8a6040 0%, #5a3820 100%);
  border-radius: 40% 40% 50% 50% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ome-olym 6s ease-in-out infinite;
}
.scn-olympias-married-with-eyes .mirror-stand {
  position: absolute; bottom: 25%; left: 55%;
  width: 30px; height: 70px;
  background: linear-gradient(180deg, #c0a080 0%, #907060 100%);
  border-radius: 20% 20% 10% 10%;
  border: 2px solid #a08060;
  animation: ome-mirror 8s ease-in-out infinite alternate;
}
.scn-olympias-married-with-eyes .window-light {
  position: absolute; top: 10%; right: 10%;
  width: 60px; height: 80px;
  background: linear-gradient(180deg, #ffe0a0 0%, #d4b880 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: inset 0 0 20px 5px rgba(255,220,150,.6);
  animation: ome-window 12s ease-in-out infinite alternate;
}
.scn-olympias-married-with-eyes .shadow-harsh {
  position: absolute; bottom: 20%; left: 15%; width: 70px; height: 120px;
  background: linear-gradient(135deg, rgba(0,0,0,0.5) 0%, transparent 70%);
  filter: blur(4px);
  animation: ome-shad 5s ease-in-out infinite alternate;
}

@keyframes ome-hall {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes ome-court {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-1px) rotate(3deg); }
  50% { transform: translateY(1px) rotate(-2deg); }
  75% { transform: translateY(-1px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes ome-bride {
  0% { transform: translateY(0) scale(1); }
  30% { transform: translateY(-2px) scale(1.02); }
  60% { transform: translateY(1px) scale(0.98); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes ome-olym {
  0% { transform: translateY(0) rotate(0deg); }
  20% { transform: translateY(-1px) rotate(2deg); }
  40% { transform: translateY(1px) rotate(-1deg); }
  60% { transform: translateY(-1px) rotate(2deg); }
  80% { transform: translateY(1px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes ome-mirror {
  0% { box-shadow: 0 0 10px rgba(0,0,0,.2); }
  50% { box-shadow: 0 0 20px rgba(0,0,0,.4), 0 0 30px rgba(0,0,0,.1); }
  100% { box-shadow: 0 0 10px rgba(0,0,0,.2); }
}
@keyframes ome-window {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes ome-shad {
  0% { transform: translateX(0); opacity: 0.6; }
  50% { transform: translateX(10px); opacity: 0.8; }
  100% { transform: translateX(0); opacity: 0.6; }
}

.scn-freechild-education-birth {
  background: 
    linear-gradient(180deg, #f5e6c8 0%, #e3d2b0 40%, #d2be9a 100%),
    radial-gradient(ellipse at 50% 0%, #fff8e7 0%, transparent 60%);
}
.scn-freechild-education-birth .bg-wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(135deg, #f0e0c0 0%, #dec8a8 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.08);
}
.scn-freechild-education-birth .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #b89a78 0%, #a0805e 100%);
  border-radius: 20% 20% 0 0 / 10% 10% 0 0;
}
.scn-freechild-education-birth .window {
  position: absolute; top: 18%; left: 50%; width: 140px; height: 180px;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #fffbee 0%, #f0e4c0 50%, #dcc8a0 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: inset 0 0 20px rgba(255,215,140,0.4);
  animation: feb-window 6s ease-in-out infinite alternate;
}
.scn-freechild-education-birth .desk {
  position: absolute; bottom: 30%; left: 35%; width: 120px; height: 40px;
  background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
.scn-freechild-education-birth .book {
  position: absolute; bottom: 38%; left: 42%; width: 40px; height: 30px;
  background: linear-gradient(135deg, #c8a88a 0%, #a08060 100%);
  border-radius: 2px;
  transform-origin: left center;
  animation: feb-book 8s ease-in-out infinite alternate;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
.scn-freechild-education-birth .lamp {
  position: absolute; bottom: 32%; left: 48%; width: 14px; height: 24px;
  background: radial-gradient(circle, #ffd080 0%, #e0a050 70%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 20px 8px rgba(255,200,100,0.6), 0 0 40px 16px rgba(255,200,100,0.3);
  animation: feb-lamp 4s ease-in-out infinite alternate;
}
.scn-freechild-education-birth .child {
  position: absolute; bottom: 31%; left: 52%; width: 20px; height: 32px;
  background: linear-gradient(180deg, #705540 0%, #4a3020 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: feb-child 5s ease-in-out infinite;
}
.scn-freechild-education-birth .candle {
  position: absolute; bottom: 10%; right: 20%; width: 4px; height: 12px;
  background: #d4a060;
  border-radius: 2px;
  box-shadow: 0 0 10px 4px rgba(255,180,80,0.5);
  animation: feb-candle 3s ease-in-out infinite alternate;
}
@keyframes feb-window {
  0% { opacity: 0.85; transform: translateX(-50%) scaleY(1); }
  50% { opacity: 1; transform: translateX(-50%) scaleY(1.02); }
  100% { opacity: 0.9; transform: translateX(-50%) scaleY(0.98); }
}
@keyframes feb-book {
  0% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(-4deg) translateY(-2px); }
  100% { transform: rotate(0deg) translateY(0); }
}
@keyframes feb-lamp {
  0% { box-shadow: 0 0 15px 6px rgba(255,200,100,0.5), 0 0 30px 12px rgba(255,200,100,0.2); opacity: 0.8; }
  50% { box-shadow: 0 0 25px 10px rgba(255,200,100,0.7), 0 0 50px 20px rgba(255,200,100,0.4); opacity: 1; }
  100% { box-shadow: 0 0 18px 7px rgba(255,200,100,0.55), 0 0 35px 14px rgba(255,200,100,0.25); opacity: 0.85; }
}
@keyframes feb-child {
  0% { transform: translateX(0) translateY(0) rotate(-1deg); }
  50% { transform: translateX(4px) translateY(-1px) rotate(1deg); }
  100% { transform: translateX(0) translateY(0) rotate(-1deg); }
}
@keyframes feb-candle {
  0% { transform: scaleY(1) translateY(0); opacity: 0.9; }
  50% { transform: scaleY(1.1) translateY(-1px); opacity: 1; }
  100% { transform: scaleY(0.95) translateY(0); opacity: 0.85; }
}

.scn-education-poet-wise {
  background: 
    linear-gradient(180deg, #f0d8a8 0%, #d8bc8c 50%, #c0a070 100%),
    radial-gradient(ellipse at 70% 20%, #ffe8c0 0%, transparent 50%);
}
.scn-education-poet-wise .bg-sky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #ffe0b0 0%, #e8c898 100%);
  animation: epw-sky 12s ease-in-out infinite alternate;
}
.scn-education-poet-wise .bg-columns {
  position: absolute; bottom: 30%; left: 15%; right: 15%; height: 50%;
  background: 
    linear-gradient(90deg, transparent 8%, #b89878 8%, #b89878 12%, transparent 12%, transparent 20%, #c8a888 20%, #c8a888 24%, transparent 24%, transparent 48%, #b89878 48%, #b89878 52%, transparent 52%, transparent 76%, #c8a888 76%, #c8a888 80%, transparent 80%);
  border-radius: 0 0 8% 8%;
  box-shadow: inset 0 -10px 20px rgba(0,0,0,0.1);
}
.scn-education-poet-wise .foundation {
  position: absolute; bottom: 25%; left: 10%; right: 10%; height: 8%;
  background: linear-gradient(180deg, #806040 0%, #604020 100%);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  animation: epw-foundation 20s ease-in-out infinite alternate;
}
.scn-education-poet-wise .poet {
  position: absolute; bottom: 34%; left: 42%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: epw-poet 6s ease-in-out infinite;
}
.scn-education-poet-wise .scroll {
  position: absolute; bottom: 38%; left: 48%; width: 28px; height: 16px;
  background: linear-gradient(135deg, #f0d8a8 0%, #d8bc88 100%);
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  transform-origin: left center;
  animation: epw-scroll 8s ease-in-out infinite alternate;
}
.scn-education-poet-wise .lamp {
  position: absolute; bottom: 36%; right: 28%; width: 12px; height: 20px;
  background: radial-gradient(circle, #ffd080 0%, #d09050 70%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 16px 6px rgba(255,180,80,0.6), 0 0 32px 12px rgba(255,180,80,0.3);
  animation: epw-lamp 4s ease-in-out infinite alternate;
}
.scn-education-poet-wise .cloud {
  position: absolute; top: 12%; left: 20%; width: 100px; height: 20px;
  background: linear-gradient(90deg, rgba(255,255,255,0.4) 0%, rgba(255,255,255,0.1) 100%);
  border-radius: 50%;
  filter: blur(8px);
  animation: epw-drift 40s linear infinite;
}
@keyframes epw-sky {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.75; }
}
@keyframes epw-foundation {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes epw-poet {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(2px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes epw-scroll {
  0% { transform: rotate(0deg) scaleX(1); }
  50% { transform: rotate(-6deg) scaleX(0.9); }
  100% { transform: rotate(0deg) scaleX(1); }
}
@keyframes epw-lamp {
  0% { box-shadow: 0 0 12px 4px rgba(255,180,80,0.5), 0 0 24px 8px rgba(255,180,80,0.2); opacity: 0.8; }
  50% { box-shadow: 0 0 20px 8px rgba(255,180,80,0.7), 0 0 40px 16px rgba(255,180,80,0.4); opacity: 1; }
  100% { box-shadow: 0 0 14px 5px rgba(255,180,80,0.55), 0 0 28px 10px rgba(255,180,80,0.25); opacity: 0.85; }
}
@keyframes epw-drift {
  0% { transform: translateX(-50px); }
  100% { transform: translateX(120vw); }
}

.scn-education-diophantus-arrogance {
  background: 
    linear-gradient(180deg, #e8dcc4 0%, #d0c0a8 50%, #b8a88c 100%),
    radial-gradient(ellipse at 30% 60%, #ffe8d0 0%, transparent 50%);
}
.scn-education-diophantus-arrogance .bg-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #e0d0b8 0%, #c8b8a0 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.05);
}
.scn-education-diophantus-arrogance .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #a09078 0%, #80705a 100%);
  border-radius: 10% 10% 0 0 / 5% 5% 0 0;
}
.scn-education-diophantus-arrogance .figure {
  position: absolute; bottom: 32%; left: 50%; width: 34px; height: 80px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #605040 0%, #403020 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: eda-figure 7s ease-in-out infinite;
}
.scn-education-diophantus-arrogance .cape {
  position: absolute; bottom: 36%; left: 50%; width: 50px; height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #806860 0%, #604840 100%);
  border-radius: 20% 80% 50% 50% / 60% 40% 60% 40%;
  clip-path: polygon(0 20%, 80% 0%, 100% 100%, 0% 80%);
  animation: eda-cape 8s ease-in-out infinite alternate;
  opacity: 0.9;
}
.scn-education-diophantus-arrogance .pedestal {
  position: absolute; bottom: 26%; left: 50%; width: 60px; height: 14px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #b09880 0%, #907860 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
.scn-education-diophantus-arrogance .shadow {
  position: absolute; bottom: 26%; left: 40%; width: 80px; height: 12px;
  background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.15) 0%, transparent 70%);
  filter: blur(4px);
  animation: eda-shadow 7s ease-in-out infinite alternate;
}
.scn-education-diophantus-arrogance .light-ray {
  position: absolute; top: 0; left: 35%; width: 30%; height: 100%;
  background: linear-gradient(135deg, rgba(255,255,200,0.15) 0%, rgba(255,255,200,0) 80%);
  clip-path: polygon(40% 0%, 100% 0%, 70% 100%, 10% 100%);
  animation: eda-ray 10s ease-in-out infinite alternate;
  pointer-events: none;
}
.scn-education-diophantus-arrogance .crowd {
  position: absolute; bottom: 28%; left: 10%; right: 10%; height: 50px;
  background: repeating-linear-gradient(90deg, transparent 0px, transparent 6px, #504030 6px, #504030 10px);
  mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent);
  animation: eda-crowd 12s ease-in-out infinite alternate;
}
@keyframes eda-figure {
  0% { transform: translateX(-50%) rotate(0deg); }
  50% { transform: translateX(-50%) rotate(2deg) translateY(-2px); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes eda-cape {
  0% { transform: translateX(-50%) rotate(0deg) scaleX(1); }
  50% { transform: translateX(-50%) rotate(3deg) scaleX(1.05); }
  100% { transform: translateX(-50%) rotate(0deg) scaleX(1); }
}
@keyframes eda-shadow {
  0% { transform: scaleX(1); opacity: 0.6; }
  50% { transform: scaleX(1.1); opacity: 0.4; }
  100% { transform: scaleX(1); opacity: 0.6; }
}
@keyframes eda-ray {
  0% { transform: translateX(0) rotate(0deg); opacity: 0.7; }
  50% { transform: translateX(10px) rotate(2deg); opacity: 1; }
  100% { transform: translateX(0) rotate(0deg); opacity: 0.7; }
}
@keyframes eda-crowd {
  0% { opacity: 0.3; transform: translateY(0); }
  50% { opacity: 0.6; transform: translateY(-2px); }
  100% { opacity: 0.3; transform: translateY(0); }
}

.scn-education-spartan-fine {
  background: 
    linear-gradient(180deg, #d8c8b0 0%, #c0b098 40%, #a89878 100%),
    radial-gradient(ellipse at 40% 30%, #ffe0c0 0%, transparent 60%);
}
.scn-education-spartan-fine .bg-steps {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #a09070 0%, #80705a 100%);
  clip-path: polygon(0 30%, 20% 0%, 40% 30%, 60% 0%, 80% 30%, 100% 0%, 100% 100%, 0% 100%);
}
.scn-education-spartan-fine .bg-pillar {
  position: absolute; bottom: 20%; left: 20%; width: 8%; height: 60%;
  background: linear-gradient(180deg, #b09880 0%, #908068 100%);
  box-shadow: inset -2px 0 4px rgba(0,0,0,0.1);
  border-radius: 4px;
}
.scn-education-spartan-fine .king {
  position: absolute; bottom: 28%; left: 42%; width: 28px; height: 65px;
  background: linear-gradient(180deg, #605040 0%, #403020 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: esf-king 4s ease-in-out infinite alternate;
}
.scn-education-spartan-fine .woman {
  position: absolute; bottom: 28%; left: 30%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #705a4a 0%, #503a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: esf-woman 5s ease-in-out infinite;
}
.scn-education-spartan-fine .judge {
  position: absolute; bottom: 28%; right: 22%; width: 26px; height: 60px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: esf-judge 6s ease-in-out infinite alternate;
}
.scn-education-spartan-fine .table {
  position: absolute; bottom: 24%; left: 35%; width: 80px; height: 16px;
  background: linear-gradient(180deg, #947a5a 0%, #745a3a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
.scn-education-spartan-fine .scroll {
  position: absolute; bottom: 30%; left: 48%; width: 30px; height: 8px;
  background: #c8a880;
  border-radius: 2px;
  box-shadow: 0 0 4px rgba(0,0,0,0.1);
  animation: esf-scroll 7s ease-in-out infinite alternate;
  transform-origin: left center;
}
.scn-education-spartan-fine .spear {
  position: absolute; bottom: 32%; right: 15%; width: 4px; height: 50px;
  background: linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%);
  border-radius: 2px;
  transform: rotate(-15deg);
  animation: esf-spear 8s ease-in-out infinite alternate;
}
@keyframes esf-king {
  0% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0) rotate(-2deg); }
}
@keyframes esf-woman {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(4px) rotate(3deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes esf-judge {
  0% { transform: translateX(0) scaleY(1); }
  50% { transform: translateX(2px) scaleY(1.02); }
  100% { transform: translateX(0) scaleY(1); }
}
@keyframes esf-scroll {
  0% { transform: rotate(0deg) scaleX(1); }
  50% { transform: rotate(-10deg) scaleX(0.8); }
  100% { transform: rotate(0deg) scaleX(1); }
}
@keyframes esf-spear {
  0% { transform: rotate(-15deg) translateY(0); }
  50% { transform: rotate(-12deg) translateY(-3px); }
  100% { transform: rotate(-15deg) translateY(0); }
}

/* ===== Scene 1: war-education-preserved ===== */
.scn-war-education-preserved {
  background: linear-gradient(180deg, #0f1428 0%, #1a2240 40%, #0a0e1a 100%), 
              radial-gradient(ellipse at 30% 10%, #2a3850 0%, transparent 60%);
}

.scn-war-education-preserved .sky-we {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #1a2642 0%, #0d1528 100%);
  animation: we-sky 14s ease-in-out infinite alternate;
}

.scn-war-education-preserved .ruins-we {
  position: absolute; bottom: 30%; left: 10%; width: 80%; height: 20%;
  background: linear-gradient(135deg, #2a2a2a 0%, #1a1a1a 50%, #121212 100%);
  border-radius: 20% 30% 0 0 / 50% 40% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.6);
  animation: we-ruins 20s ease-in-out infinite;
}

.scn-war-education-preserved .figure-we {
  position: absolute; bottom: 22%; left: 35%;
  width: 28px; height: 50px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: we-figure 6s ease-in-out infinite;
}

.scn-war-education-preserved .book-glowing-we {
  position: absolute; bottom: 28%; left: 28%;
  width: 20px; height: 14px;
  background: radial-gradient(circle, #d4a050 0%, #8a6020 100%);
  border-radius: 10%;
  box-shadow: 0 0 20px 6px #b07a30, 0 0 40px 12px rgba(176,122,48,0.4);
  animation: we-book 3s ease-in-out infinite alternate;
}

.scn-war-education-preserved .debris-we-1 {
  position: absolute; bottom: 35%; left: 60%;
  width: 12px; height: 8px;
  background: #2a2a2a;
  border-radius: 20% 50% 30% 40%;
  animation: we-debris1 7s ease-in-out infinite;
}

.scn-war-education-preserved .debris-we-2 {
  position: absolute; bottom: 38%; left: 70%;
  width: 10px; height: 6px;
  background: #1e1e1e;
  border-radius: 40% 20% 30% 50%;
  animation: we-debris2 9s ease-in-out infinite 2s;
}

@keyframes we-sky { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.6; } }
@keyframes we-ruins { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px) translateX(1px); } }
@keyframes we-figure { 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 we-book { 0% { box-shadow: 0 0 16px 4px #b07a30; opacity: 0.8; } 50% { box-shadow: 0 0 30px 10px #e8b050; opacity: 1; } 100% { box-shadow: 0 0 20px 6px #b07a30; opacity: 0.9; } }
@keyframes we-debris1 { 0% { transform: rotate(0deg) translateX(0); } 50% { transform: rotate(15deg) translateX(8px); } 100% { transform: rotate(-10deg) translateX(0); } }
@keyframes we-debris2 { 0% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(-20deg) translateY(-5px); } 100% { transform: rotate(10deg) translateY(0); } }

/* ===== Scene 2: socrates-happiness-education ===== */
.scn-socrates-happiness-education {
  background: linear-gradient(180deg, #b0975a 0%, #d4b87a 30%, #c9a86a 100%), 
              radial-gradient(ellipse at 50% 40%, #e8d098 0%, transparent 70%);
}

.scn-socrates-happiness-education .wall-sh {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #d4c098 0%, #b89a68 100%);
  opacity: 0.4;
  animation: sh-wall 20s ease-in-out infinite alternate;
}

.scn-socrates-happiness-education .floor-sh {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #a08050 0%, #806030 100%);
  border-radius: 20% 30% 0 0;
}

.scn-socrates-happiness-education .socrates-head-sh {
  position: absolute; bottom: 40%; left: 25%;
  width: 22px; height: 26px;
  background: radial-gradient(circle at 30% 40%, #f0e0c0 0%, #d0b880 100%);
  border-radius: 50% 40% 50% 40% / 60% 50% 50% 40%;
  animation: sh-head 8s ease-in-out infinite;
}

.scn-socrates-happiness-education .socrates-body-sh {
  position: absolute; bottom: 18%; left: 22%;
  width: 32px; height: 50px;
  background: linear-gradient(180deg, #d4c0a0 0%, #b89868 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  animation: sh-body 8s ease-in-out infinite;
}

.scn-socrates-happiness-education .lamp-sh {
  position: absolute; bottom: 40%; left: 60%;
  width: 12px; height: 18px;
  background: linear-gradient(180deg, #d8a040 0%, #b07020 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 -8px 20px 6px #ffcc60;
  animation: sh-lamp 4s ease-in-out infinite alternate;
}

.scn-socrates-happiness-education .scroll-sh {
  position: absolute; bottom: 28%; left: 32%;
  width: 30px; height: 12px;
  background: linear-gradient(90deg, #e8d8b0 0%, #c8b080 60%, #e8d8b0 100%);
  border-radius: 40% 40% 20% 20%;
  transform-origin: left center;
  animation: sh-scroll 12s ease-in-out infinite;
}

.scn-socrates-happiness-education .glow-sh {
  position: absolute; inset: -10%; pointer-events: none;
  background: radial-gradient(ellipse at 60% 50%, rgba(255, 200, 80, 0.3) 0%, transparent 60%);
  animation: sh-glow 6s ease-in-out infinite alternate;
}

@keyframes sh-wall { 0%,100% { opacity: 0.3; } 50% { opacity: 0.5; } }
@keyframes sh-head { 0% { transform: rotate(0deg) translateY(0); } 30% { transform: rotate(2deg) translateY(-1px); } 60% { transform: rotate(-1deg) translateY(0); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes sh-body { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(1.01) translateY(-1px); } }
@keyframes sh-lamp { 0% { box-shadow: 0 -6px 12px 4px #ffcc60; } 50% { box-shadow: 0 -10px 24px 8px #ffdd80; } 100% { box-shadow: 0 -6px 12px 4px #ffcc60; } }
@keyframes sh-scroll { 0%,100% { transform: rotate(0deg) scaleX(1); } 50% { transform: rotate(3deg) scaleX(1.05); } }
@keyframes sh-glow { 0% { opacity: 0.5; } 50% { opacity: 1; } 100% { opacity: 0.6; } }

/* ===== Scene 3: sound-healthy-education ===== */
.scn-sound-healthy-education {
  background: linear-gradient(180deg, #e8e0c8 0%, #f0e8d8 40%, #d8c8a8 100%),
              radial-gradient(ellipse at 70% 30%, #fff8e0 0%, transparent 60%);
}

.scn-sound-healthy-education .background-shhe {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #e0d8c0 0%, #c8b898 100%);
  opacity: 0.3;
}

.scn-sound-healthy-education .window-shhe {
  position: absolute; top: 10%; left: 65%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #c0d8e8 0%, #a0b8c8 100%);
  border: 3px solid #908060;
  border-radius: 8%;
  animation: shhe-window 10s ease-in-out infinite alternate;
}

.scn-sound-healthy-education .parent-shhe {
  position: absolute; bottom: 20%; left: 15%;
  width: 30px; height: 70px;
  background: linear-gradient(180deg, #a09880 0%, #786858 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  animation: shhe-parent 6s ease-in-out infinite;
}

.scn-sound-healthy-education .child-shhe {
  position: absolute; bottom: 20%; left: 35%;
  width: 20px; height: 50px;
  background: linear-gradient(180deg, #b8a888 0%, #887868 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: shhe-child 8s ease-in-out infinite 1s;
}

.scn-sound-healthy-education .book-shhe {
  position: absolute; bottom: 28%; left: 22%;
  width: 24px; height: 16px;
  background: linear-gradient(90deg, #d8c8a0 0%, #b8a880 100%);
  border-radius: 10%;
  transform-origin: left center;
  animation: shhe-book 12s ease-in-out infinite;
}

.scn-sound-healthy-education .sunbeam-shhe {
  position: absolute; top: 10%; left: 60%; width: 30px; height: 200px;
  background: linear-gradient(180deg, rgba(255, 240, 200, 0.5) 0%, transparent 100%);
  transform-origin: top left;
  animation: shhe-sunbeam 15s ease-in-out infinite alternate;
}

@keyframes shhe-window { 0%,100% { opacity: 0.7; } 50% { opacity: 1; } }
@keyframes shhe-parent { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(3px) rotate(1deg); } 60% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes shhe-child { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(2deg); } }
@keyframes shhe-book { 0%,100% { transform: rotate(0deg) scaleX(1); } 50% { transform: rotate(-2deg) scaleX(1.06); } }
@keyframes shhe-sunbeam { 0% { opacity: 0.3; transform: rotate(0deg); } 50% { opacity: 0.7; transform: rotate(3deg); } 100% { opacity: 0.4; transform: rotate(-1deg); } }

/* ===== Scene 4: speakers-for-pleasure-profligate ===== */
.scn-speakers-for-pleasure-profligate {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2440 40%, #1a162a 100%),
              radial-gradient(ellipse at 50% 60%, #3a2e4a 0%, transparent 70%);
}

.scn-speakers-for-pleasure-profligate .stage-spp {
  position: absolute; bottom: 15%; left: 10%; width: 80%; height: 10%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: inset 0 5px 10px rgba(0,0,0,0.5);
  animation: spp-stage 4s ease-in-out infinite alternate;
}

.scn-speakers-for-pleasure-profligate .speaker1-spp {
  position: absolute; bottom: 30%; left: 25%;
  width: 24px; height: 55px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: spp-speaker1 3s ease-in-out infinite;
}

.scn-speakers-for-pleasure-profligate .speaker2-spp {
  position: absolute; bottom: 30%; left: 55%;
  width: 22px; height: 58px;
  background: linear-gradient(180deg, #2a2a3a 0%, #0a0a1a 100%);
  border-radius: 50% 40% 30% 40% / 60% 50% 40% 50%;
  animation: spp-speaker2 3.5s ease-in-out infinite 0.5s;
}

.scn-speakers-for-pleasure-profligate .audience-spp-1 {
  position: absolute; bottom: 12%; left: 10%;
  width: 80%; height: 30%;
  background: repeating-linear-gradient(90deg, #1a1a2a 0px, #1a1a2a 8px, #1e1e32 8px, #1e1e32 16px);
  border-radius: 40% 40% 0 0;
  opacity: 0.8;
  animation: spp-audience1 2s ease-in-out infinite alternate;
}

.scn-speakers-for-pleasure-profligate .audience-spp-2 {
  position: absolute; bottom: 8%; left: 10%;
  width: 80%; height: 20%;
  background: repeating-linear-gradient(90deg, #12121e 0px, #12121e 6px, #16162a 6px, #16162a 12px);
  border-radius: 30% 30% 0 0;
  opacity: 0.6;
  animation: spp-audience2 2.5s ease-in-out infinite alternate 0.3s;
}

.scn-speakers-for-pleasure-profligate .shadow-spp {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 50%, transparent 40%, rgba(0,0,0,0.4) 100%);
  animation: spp-shadow 3s ease-in-out infinite alternate;
}

@keyframes spp-stage { 0%,100% { box-shadow: inset 0 5px 10px rgba(0,0,0,0.5); } 50% { box-shadow: inset 0 3px 8px rgba(0,0,0,0.7); } }
@keyframes spp-speaker1 { 0% { transform: rotate(-3deg) translateY(0); } 30% { transform: rotate(2deg) translateY(-2px); } 60% { transform: rotate(-1deg) translateY(0); } 100% { transform: rotate(-3deg) translateY(0); } }
@keyframes spp-speaker2 { 0% { transform: rotate(4deg) translateY(0); } 40% { transform: rotate(-2deg) translateY(-2px); } 70% { transform: rotate(1deg) translateY(0); } 100% { transform: rotate(4deg) translateY(0); } }
@keyframes spp-audience1 { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(0.95) translateY(1px); } }
@keyframes spp-audience2 { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(0.97) translateY(1px); } }
@keyframes spp-shadow { 0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.7; } }

/* === Scene homer-iliad-xvii-446 === */
.scn-homer-iliad-xvii-446 {
  background: 
    linear-gradient(180deg, #2b1d0e 0%, #4a3520 30%, #3a2818 70%, #1f1308 100%),
    radial-gradient(ellipse at 80% 60%, #6b4f30 0%, transparent 60%);
}
.scn-homer-iliad-xvii-446 .hi-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #3a2a18 0%, #4a3520 50%, #3a2a18 100%);
  border-bottom: 2px solid #1f1308;
  animation: hi-wall 20s ease-in-out infinite alternate;
}
.scn-homer-iliad-xvii-446 .hi-window {
  position: absolute; top: 15%; left: 35%; width: 30%; height: 35%;
  background: radial-gradient(ellipse at center, #8a7050 0%, #5a4530 60%, transparent 80%);
  border: 4px solid #2b1d0e; border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(138,112,80,0.2);
  animation: hi-window 15s ease-in-out infinite alternate;
}
.scn-homer-iliad-xvii-446 .hi-desk {
  position: absolute; bottom: 20%; left: 25%; width: 50%; height: 10%;
  background: linear-gradient(180deg, #6b4f30 0%, #4a3520 100%);
  border-radius: 2px 2px 0 0;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
  transform-origin: bottom center;
  animation: hi-desk 12s ease-in-out infinite alternate;
}
.scn-homer-iliad-xvii-446 .hi-scroll {
  position: absolute; bottom: 30%; left: 40%; width: 15%; height: 8%;
  background: linear-gradient(180deg, #c8a86a 0%, #a08050 100%);
  border-radius: 30% 10%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  transform: rotate(-5deg);
  animation: hi-scroll 8s ease-in-out infinite alternate;
}
.scn-homer-iliad-xvii-446 .hi-lamp {
  position: absolute; bottom: 27%; left: 45%; width: 6%; height: 15%;
  background: linear-gradient(180deg, #b08040 0%, #6b4f30 100%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: 0 0 20px 6px #ffcc80, 0 0 40px 12px rgba(255,204,128,0.3);
  animation: hi-lamp 3s ease-in-out infinite alternate;
}
.scn-homer-iliad-xvii-446 .hi-figure {
  position: absolute; bottom: 20%; left: 30%; width: 10%; height: 30%;
  background: linear-gradient(180deg, #1f1308 0%, #0f0a04 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: hi-figure 10s ease-in-out infinite alternate;
}
.scn-homer-iliad-xvii-446 .hi-shadow {
  position: absolute; bottom: 18%; left: 25%; width: 55%; height: 8%;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.6) 0%, transparent 70%);
  filter: blur(6px);
  animation: hi-shadow 12s ease-in-out infinite;
}
@keyframes hi-wall { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes hi-window { 0% { opacity:0.6; box-shadow: inset 0 0 20px rgba(138,112,80,0.1); } 50% { opacity:0.9; box-shadow: inset 0 0 40px rgba(138,112,80,0.3); } 100% { opacity:0.7; box-shadow: inset 0 0 25px rgba(138,112,80,0.15); } }
@keyframes hi-desk { 0% { transform: scaleY(1) translateY(0); } 50% { transform: scaleY(1.02) translateY(-2px); } 100% { transform: scaleY(0.98) translateY(0); } }
@keyframes hi-scroll { 0% { transform: rotate(-5deg) translateX(0); } 50% { transform: rotate(-3deg) translateX(2px); } 100% { transform: rotate(-6deg) translateX(-2px); } }
@keyframes hi-lamp { 0% { box-shadow: 0 0 18px 4px #ffcc80, 0 0 35px 10px rgba(255,204,128,0.3); } 50% { box-shadow: 0 0 25px 8px #ffdda0, 0 0 50px 16px rgba(255,221,160,0.5); } 100% { box-shadow: 0 0 20px 5px #ffcc80, 0 0 40px 12px rgba(255,204,128,0.3); } }
@keyframes hi-figure { 0% { transform: translateY(0) rotate(-1deg); } 30% { transform: translateY(-3px) rotate(0deg); } 70% { transform: translateY(1px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes hi-shadow { 0% { opacity:0.4; transform: scaleX(1); } 50% { opacity:0.7; transform: scaleX(1.1); } 100% { opacity:0.4; transform: scaleX(0.9); } }

/* === Scene euripides-bacchae-1170 === */
.scn-euripides-bacchae-1170 {
  background: 
    linear-gradient(180deg, #1a0e0a 0%, #2a1812 40%, #1a0e0a 100%),
    radial-gradient(ellipse at 30% 70%, #3a2218 0%, transparent 50%);
}
.scn-euripides-bacchae-1170 .eb-bg {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 40%, #3a1e14 0%, transparent 60%);
  animation: eb-bg 20s ease-in-out infinite alternate;
}
.scn-euripides-bacchae-1170 .eb-thyrsus {
  position: absolute; left: 20%; top: 10%; width: 2%; height: 50%;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%);
  border-radius: 50% 50% 10% 10%;
  transform: rotate(15deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: eb-thyrsus 8s ease-in-out infinite;
}
.scn-euripides-bacchae-1170 .eb-mask {
  position: absolute; top: 15%; left: 25%; width: 12%; height: 18%;
  background: radial-gradient(ellipse at 50% 60%, #6a4030 0%, #3a2218 70%);
  border-radius: 50% 50% 40% 40%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.6), inset 0 0 10px #4a2a1a;
  animation: eb-mask 12s ease-in-out infinite alternate;
}
.scn-euripides-bacchae-1170 .eb-bowl {
  position: absolute; bottom: 20%; left: 40%; width: 15%; height: 10%;
  background: radial-gradient(ellipse at 50% 40%, #5a3a28 0%, #2a1a10 100%);
  border-radius: 50%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5), inset 0 -4px 6px #1a0e0a;
  animation: eb-bowl 10s ease-in-out infinite alternate;
}
.scn-euripides-bacchae-1170 .eb-drape {
  position: absolute; top: 5%; right: 10%; width: 25%; height: 60%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1812 60%, #1a0e0a 100%);
  border-radius: 0 0 30% 30%;
  transform: skewX(-5deg);
  filter: blur(2px);
  animation: eb-drape 15s ease-in-out infinite;
}
.scn-euripides-bacchae-1170 .eb-head {
  position: absolute; bottom: 28%; left: 30%; width: 10%; height: 14%;
  background: radial-gradient(ellipse at 50% 40%, #4a2a1a 0%, #2a1812 100%);
  border-radius: 50% 50% 40% 40% / 40% 40% 50% 50%;
  transform: rotate(-10deg);
  box-shadow: inset 0 2px 6px rgba(0,0,0,0.4);
  animation: eb-head 20s ease-in-out infinite alternate;
}
.scn-euripides-bacchae-1170 .eb-hands {
  position: absolute; bottom: 18%; left: 28%; width: 14%; height: 10%;
  background: linear-gradient(180deg, #3a2218 0%, #2a1812 100%);
  border-radius: 30% 30% 20% 20%;
  transform: skewX(10deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: eb-hands 6s ease-in-out infinite alternate;
}
@keyframes eb-bg { 0% { opacity:0.8; transform: scale(1); } 50% { opacity:1; transform: scale(1.05); } 100% { opacity:0.7; transform: scale(0.95); } }
@keyframes eb-thyrsus { 0% { transform: rotate(15deg) translateY(0); } 50% { transform: rotate(12deg) translateY(-2px); } 100% { transform: rotate(18deg) translateY(2px); } }
@keyframes eb-mask { 0% { transform: translateY(0) rotate(-2deg); } 30% { transform: translateY(-4px) rotate(0deg); } 60% { transform: translateY(2px) rotate(2deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes eb-bowl { 0% { transform: scale(1); } 50% { transform: scale(1.02); } 100% { transform: scale(0.98); } }
@keyframes eb-drape { 0% { opacity:0.6; transform: skewX(-5deg); } 50% { opacity:0.9; transform: skewX(-3deg); } 100% { opacity:0.5; transform: skewX(-7deg); } }
@keyframes eb-head { 0% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(-8deg) translateY(-2px); } 100% { transform: rotate(-12deg) translateY(3px); } }
@keyframes eb-hands { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(3px) rotate(5deg); } 100% { transform: translateX(-3px) rotate(-5deg); } }

/* === Scene menon-thessalian-virtue-swarm === */
.scn-menon-thessalian-virtue-swarm {
  background: 
    linear-gradient(180deg, #2b2010 0%, #4a3820 40%, #3a2818 70%, #1f1408 100%),
    radial-gradient(ellipse at 60% 50%, #6a5030 0%, transparent 50%);
}
.scn-menon-thessalian-virtue-swarm .mt-room {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(90deg, #3a2818 0%, #4a3820 50%, #3a2818 100%);
  border-bottom: 2px solid #1f1408;
  animation: mt-room 20s ease-in-out infinite alternate;
}
.scn-menon-thessalian-virtue-swarm .mt-table {
  position: absolute; bottom: 20%; left: 30%; width: 40%; height: 8%;
  background: linear-gradient(180deg, #7a5a38 0%, #5a3a20 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  transform-origin: bottom center;
  animation: mt-table 15s ease-in-out infinite alternate;
}
.scn-menon-thessalian-virtue-swarm .mt-lamp {
  position: absolute; bottom: 27%; left: 45%; width: 5%; height: 12%;
  background: linear-gradient(180deg, #b08040 0%, #6b4f30 100%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: 0 0 20px 6px #ffcc80, 0 0 40px 12px rgba(255,204,128,0.3);
  animation: mt-lamp 4s ease-in-out infinite alternate;
}
.scn-menon-thessalian-virtue-swarm .mt-fig1 {
  position: absolute; bottom: 18%; left: 35%; width: 10%; height: 28%;
  background: linear-gradient(180deg, #1f1408 0%, #0f0a04 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: mt-fig1 12s ease-in-out infinite alternate;
}
.scn-menon-thessalian-virtue-swarm .mt-fig2 {
  position: absolute; bottom: 18%; left: 55%; width: 10%; height: 28%;
  background: linear-gradient(180deg, #2a1a0e 0%, #1a1008 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: mt-fig2 14s ease-in-out infinite alternate;
}
.scn-menon-thessalian-virtue-swarm .mt-cup {
  position: absolute; bottom: 26%; left: 47%; width: 4%; height: 6%;
  background: radial-gradient(ellipse at 50% 30%, #8a6a40 0%, #5a3a20 100%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  animation: mt-cup 8s ease-in-out infinite;
}
.scn-menon-thessalian-virtue-swarm .mt-light {
  position: absolute; top: 10%; left: 30%; width: 40%; height: 30%;
  background: radial-gradient(ellipse at center, rgba(255,204,128,0.08) 0%, transparent 70%);
  filter: blur(10px);
  animation: mt-light 6s ease-in-out infinite alternate;
}
@keyframes mt-room { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes mt-table { 0% { transform: scaleY(1) translateY(0); } 50% { transform: scaleY(1.03) translateY(-1px); } 100% { transform: scaleY(0.97) translateY(2px); } }
@keyframes mt-lamp { 0% { box-shadow: 0 0 16px 4px #ffcc80, 0 0 30px 8px rgba(255,204,128,0.2); } 50% { box-shadow: 0 0 24px 6px #ffdda0, 0 0 50px 14px rgba(255,221,160,0.5); } 100% { box-shadow: 0 0 18px 5px #ffcc80, 0 0 35px 10px rgba(255,204,128,0.3); } }
@keyframes mt-fig1 { 0% { transform: translateY(0) rotate(-1deg); } 30% { transform: translateY(-2px) rotate(1deg); } 60% { transform: translateY(1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes mt-fig2 { 0% { transform: translateY(0) rotate(1deg); } 30% { transform: translateY(-3px) rotate(-1deg); } 60% { transform: translateY(2px) rotate(1deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes mt-cup { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-1px) rotate(2deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes mt-light { 0% { opacity:0.3; transform: scale(1); } 50% { opacity:0.6; transform: scale(1.1); } 100% { opacity:0.2; transform: scale(0.9); } }

/* === Scene many-friends-obstacle-licentious-woman === */
.scn-many-friends-obstacle-licentious-woman {
  background: 
    linear-gradient(180deg, #0f0804 0%, #1a1008 50%, #0f0804 100%),
    radial-gradient(ellipse at 50% 80%, #2a1a10 0%, transparent 50%);
}
.scn-many-friends-obstacle-licentious-woman .mf-bg {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 30% 60%, #1f1408 0%, transparent 70%);
  animation: mf-bg 25s ease-in-out infinite alternate;
}
.scn-many-friends-obstacle-licentious-woman .mf-mirror {
  position: absolute; right: 10%; top: 15%; width: 20%; height: 40%;
  background: linear-gradient(180deg, #4a3820 0%, #2a2010 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 0 20px rgba(0,0,0,0.8), inset 0 0 15px rgba(74,56,32,0.3);
  animation: mf-mirror 18s ease-in-out infinite alternate;
}
.scn-many-friends-obstacle-licentious-woman .mf-candle {
  position: absolute; bottom: 25%; left: 20%; width: 4%; height: 15%;
  background: linear-gradient(180deg, #6a4a30 0%, #3a2818 100%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: 0 0 20px 6px #ff8844, 0 0 40px 12px rgba(255,136,68,0.4);
  animation: mf-candle 3s ease-in-out infinite alternate;
}
.scn-many-friends-obstacle-licentious-woman .mf-woman {
  position: absolute; bottom: 10%; left: 30%; width: 14%; height: 35%;
  background: linear-gradient(180deg, #2a1812 0%, #1a0e0a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: mf-woman 10s ease-in-out infinite alternate;
}
.scn-many-friends-obstacle-licentious-woman .mf-letter {
  position: absolute; bottom: 22%; left: 35%; width: 12%; height: 6%;
  background: linear-gradient(180deg, #a08050 0%, #6a4a30 100%);
  border-radius: 4px;
  transform: rotate(-15deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: mf-letter 8s ease-in-out infinite;
}
.scn-many-friends-obstacle-licentious-woman .mf-shaow {
  position: absolute; bottom: 8%; left: 20%; width: 60%; height: 10%;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.7) 0%, transparent 70%);
  filter: blur(8px);
  animation: mf-shaow 12s ease-in-out infinite;
}
.scn-many-friends-obstacle-licentious-woman .mf-lover {
  position: absolute; bottom: 10%; left: 55%; width: 10%; height: 28%;
  background: linear-gradient(180deg, #1a1008 0%, #0a0602 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: mf-lover 14s ease-in-out infinite alternate;
}
@keyframes mf-bg { 0% { opacity:0.7; transform: scale(1); } 50% { opacity:1; transform: scale(1.03); } 100% { opacity:0.6; transform: scale(0.97); } }
@keyframes mf-mirror { 0% { opacity:0.5; box-shadow: 0 0 15px rgba(0,0,0,0.7); } 50% { opacity:0.8; box-shadow: 0 0 25px rgba(0,0,0,0.9); } 100% { opacity:0.4; box-shadow: 0 0 18px rgba(0,0,0,0.6); } }
@keyframes mf-candle { 0% { box-shadow: 0 0 18px 4px #ff8844, 0 0 35px 10px rgba(255,136,68,0.3); } 50% { box-shadow: 0 0 25px 8px #ffaa66, 0 0 50px 16px rgba(255,170,102,0.5); } 100% { box-shadow: 0 0 20px 5px #ff8844, 0 0 40px 12px rgba(255,136,68,0.3); } }
@keyframes mf-woman { 0% { transform: translateY(0) rotate(-2deg); } 30% { transform: translateY(-2px) rotate(0deg); } 60% { transform: translateY(2px) rotate(2deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes mf-letter { 0% { transform: rotate(-15deg) translateX(0); } 50% { transform: rotate(-12deg) translateX(3px); } 100% { transform: rotate(-18deg) translateX(-3px); } }
@keyframes mf-shaow { 0% { opacity:0.3; transform: scaleX(1); } 50% { opacity:0.6; transform: scaleX(1.15); } 100% { opacity:0.2; transform: scaleX(0.85); } }
@keyframes mf-lover { 0% { transform: translateY(0) rotate(2deg); } 30% { transform: translateY(-2px) rotate(-1deg); } 60% { transform: translateY(1px) rotate(0deg); } 100% { transform: translateY(0) rotate(2deg); } }

.scn-rest-sauce-of-labour {
  background: linear-gradient(180deg, #c9a87c 0%, #b8946a 40%, #8b7355 100%), radial-gradient(ellipse at 50% 0, #dfc9a0 0%, transparent 60%);
}
.scn-rest-sauce-of-labour .wall   { position:absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #b89870 0%, #8a7250 100%); border-radius: 0 0 20% 20%; box-shadow: inset 0 8px 20px rgba(0,0,0,.15); }
.scn-rest-sauce-of-labour .floor  { position:absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #6a5a3a 0%, #4a3a1a 100%); border-radius: 10% 10% 0 0 / 20% 20% 0 0; }
.scn-rest-sauce-of-labour .window { position:absolute; top: 12%; left: 20%; width: 60%; height: 35%; background: linear-gradient(180deg, #d4c4a0 0%, #c0b090 100%); border-radius: 4px; box-shadow: inset 0 0 0 6px #6a5a3a, 0 0 30px rgba(200,180,140,.3); animation: rsl-window 12s ease-in-out infinite alternate; }
.scn-rest-sauce-of-labour .bow    { position:absolute; bottom: 40%; left: 15%; width: 80px; height: 10px; background: linear-gradient(180deg, #b08040 0%, #8a6020 100%); border-radius: 50% 50% 0 0; transform: rotate(-15deg); box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: rsl-bow 6s ease-in-out infinite; }
.scn-rest-sauce-of-labour .lyre   { position:absolute; bottom: 38%; right: 20%; width: 40px; height: 60px; background: linear-gradient(180deg, #c09860 0%, #a07840 100%); border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%; transform: rotate(5deg); box-shadow: 0 4px 8px rgba(0,0,0,.25); animation: rsl-lyre 8s ease-in-out infinite; }
.scn-rest-sauce-of-labour .figure { position:absolute; bottom: 30%; left: 45%; width: 24px; height: 50px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: rsl-figure 9s ease-in-out infinite; }
.scn-rest-sauce-of-labour .dust-a { position:absolute; top: 20%; left: 30%; width: 12px; height: 12px; background: radial-gradient(circle, rgba(255,240,200,.6) 0%, transparent 70%); border-radius: 50%; filter: blur(2px); animation: rsl-dust 25s linear infinite; }
.scn-rest-sauce-of-labour .dust-b { position:absolute; top: 40%; right: 25%; width: 8px; height: 8px; background: radial-gradient(circle, rgba(255,240,200,.4) 0%, transparent 70%); border-radius: 50%; filter: blur(2px); animation: rsl-dust 30s linear infinite reverse; }
@keyframes rsl-window { 0% { opacity: .85; } 50% { opacity: 1; } 100% { opacity: .8; } }
@keyframes rsl-bow { 0% { transform: rotate(-15deg) translateY(0); } 50% { transform: rotate(-12deg) translateY(-2px); } 100% { transform: rotate(-15deg) translateY(0); } }
@keyframes rsl-lyre { 0% { transform: rotate(5deg) scale(1); } 50% { transform: rotate(7deg) scale(1.02); } 100% { transform: rotate(5deg) scale(1); } }
@keyframes rsl-figure { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 50% { transform: translateX(4px) translateY(-2px) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(-1deg); } }
@keyframes rsl-dust { 0% { transform: translateX(-20px) translateY(0); } 50% { transform: translateX(40px) translateY(-15px); } 100% { transform: translateX(-20px) translateY(0); } }

.scn-fathers-test-progress {
  background: linear-gradient(135deg, #f5e6c8 0%, #e0c9a0 50%, #c4a67a 100%), radial-gradient(circle at 30% 40%, #fff4e0 0%, transparent 70%);
}
.scn-fathers-test-progress .room    { position:absolute; inset: 0; background: linear-gradient(180deg, #e8dcc8 0%, #d4c4a8 100%); border-radius: 0 0 10% 10% / 0 0 5% 5%; }
.scn-fathers-test-progress .desk    { position:absolute; bottom: 20%; left: 10%; width: 80%; height: 15%; background: linear-gradient(180deg, #8a6a40 0%, #6a4a20 100%); border-radius: 4px; box-shadow: 0 6px 12px rgba(0,0,0,.3); }
.scn-fathers-test-progress .scroll  { position:absolute; bottom: 24%; left: 20%; width: 50%; height: 8%; background: linear-gradient(90deg, #f0e0c0 0%, #e0d0a8 100%); border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,.2); animation: ftp-scroll 6s ease-in-out infinite; }
.scn-fathers-test-progress .father  { position:absolute; bottom: 30%; left: 55%; width: 20px; height: 60px; background: linear-gradient(180deg, #2a1a0a 0%, #0a0500 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: ftp-father 4s ease-in-out infinite; }
.scn-fathers-test-progress .son     { position:absolute; bottom: 20%; left: 30%; width: 18px; height: 40px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: ftp-son 5s ease-in-out infinite; }
.scn-fathers-test-progress .lamp    { position:absolute; top: 15%; left: 40%; width: 16px; height: 24px; background: radial-gradient(circle, #ffd060 0%, #b08020 70%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 30px 12px #ffd060, 0 0 60px 24px rgba(255,208,96,.3); animation: ftp-lamp 3s ease-in-out infinite alternate; }
.scn-fathers-test-progress .shadow  { position:absolute; bottom: 22%; left: 50%; width: 60px; height: 20px; background: radial-gradient(ellipse, rgba(0,0,0,.3) 0%, transparent 70%); transform: rotate(-10deg); animation: ftp-shadow 4s linear infinite; }
@keyframes ftp-scroll  { 0% { transform: translateX(0) scaleY(1); } 50% { transform: translateX(2px) scaleY(1.02); } 100% { transform: translateX(0) scaleY(1); } }
@keyframes ftp-father  { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 50% { transform: translateX(4px) translateY(-3px) rotate(2deg); } 100% { transform: translateX(0) translateY(0) rotate(-2deg); } }
@keyframes ftp-son     { 0% { transform: translateX(0) translateY(0) rotate(0); } 50% { transform: translateX(-2px) translateY(-1px) rotate(-1deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes ftp-lamp    { 0% { box-shadow: 0 0 20px 8px #ffd060, 0 0 40px 16px rgba(255,208,96,.3); opacity: .9; } 50% { box-shadow: 0 0 40px 16px #ffd060, 0 0 80px 32px rgba(255,208,96,.4); opacity: 1; } 100% { box-shadow: 0 0 24px 10px #ffd060, 0 0 50px 20px rgba(255,208,96,.3); opacity: .95; } }
@keyframes ftp-shadow  { 0% { transform: rotate(-10deg) scaleX(1); } 50% { transform: rotate(-8deg) scaleX(1.05); } 100% { transform: rotate(-10deg) scaleX(1); } }

.scn-kings-eye-horse {
  background: linear-gradient(180deg, #cda050 0%, #b08030 50%, #705020 100%), radial-gradient(ellipse at 40% 60%, #ffd060 0%, transparent 60%);
}
.scn-kings-eye-horse .stable { position:absolute; inset: 0 0 20% 0; background: linear-gradient(180deg, #a08050 0%, #806030 100%); border-radius: 0 0 10% 10%; box-shadow: inset 0 8px 20px rgba(0,0,0,.3); }
.scn-kings-eye-horse .hay    { position:absolute; bottom: 20%; left: 10%; width: 80%; height: 12%; background: linear-gradient(180deg, #c8a860 0%, #a88840 100%); border-radius: 30% 30% 0 0 / 50% 50% 0 0; box-shadow: 0 -4px 8px rgba(0,0,0,.2); animation: keh-hay 10s ease-in-out infinite; }
.scn-kings-eye-horse .horse  { position:absolute; bottom: 32%; left: 30%; width: 60px; height: 50px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform: rotate(-5deg); box-shadow: 0 6px 12px rgba(0,0,0,.4); animation: keh-horse 8s ease-in-out infinite; }
.scn-kings-eye-horse .groom  { position:absolute; bottom: 30%; left: 15%; width: 18px; height: 46px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: keh-groom 5s ease-in-out infinite; }
.scn-kings-eye-horse .king   { position:absolute; bottom: 35%; right: 15%; width: 22px; height: 55px; background: linear-gradient(180deg, #a08060 0%, #604020 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; box-shadow: 0 0 20px 6px rgba(200,180,100,.3); animation: keh-king 6s ease-in-out infinite; }
.scn-kings-eye-horse .bucket { position:absolute; bottom: 30%; left: 50%; width: 20px; height: 16px; background: linear-gradient(180deg, #8a6a40 0%, #6a4a20 100%); border-radius: 0 0 30% 30% / 0 0 40% 40%; transform: translateX(-50%); box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: keh-bucket 9s ease-in-out infinite; }
.scn-kings-eye-horse .beam   { position:absolute; top: 8%; left: 25%; width: 50%; height: 4%; background: linear-gradient(90deg, transparent 0%, rgba(255,240,220,.4) 50%, transparent 100%); border-radius: 2px; filter: blur(4px); animation: keh-beam 20s linear infinite; }
@keyframes keh-hay    { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes keh-horse  { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-4deg) translateY(-3px); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes keh-groom  { 0% { transform: translateX(0) translateY(0) rotate(0); } 50% { transform: translateX(2px) translateY(-2px) rotate(2deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes keh-king   { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 50% { transform: translateX(4px) translateY(-2px) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(-1deg); } }
@keyframes keh-bucket { 0% { transform: translateX(-50%) rotate(0); } 50% { transform: translateX(-50%) rotate(-3deg); } 100% { transform: translateX(-50%) rotate(0); } }
@keyframes keh-beam   { 0% { opacity: .4; transform: translateX(-20%); } 50% { opacity: .7; transform: translateX(20%); } 100% { opacity: .4; transform: translateX(-20%); } }

.scn-memory-storehouse {
  background: linear-gradient(180deg, #d4c4a8 0%, #b8a88c 50%, #9a8a70 100%), radial-gradient(circle at 70% 30%, #fff8f0 0%, transparent 60%);
}
.scn-memory-storehouse .shelves { position:absolute; inset: 10% 10% 20% 10%; background: linear-gradient(180deg, #7a6a50 0%, #5a4a30 100%); border-radius: 4px; box-shadow: inset 0 0 0 4px #4a3a20, 0 8px 16px rgba(0,0,0,.2); }
.scn-memory-storehouse .scroll  { position:absolute; top: 25%; left: 30%; width: 20px; height: 40px; background: linear-gradient(180deg, #e0c8a0 0%, #c0a880 100%); border-radius: 10% 10% 20% 20% / 20% 20% 30% 30%; transform: rotate(10deg); box-shadow: 0 2px 4px rgba(0,0,0,.2); animation: msh-scroll 12s ease-in-out infinite; }
.scn-memory-storehouse .figure  { position:absolute; bottom: 18%; left: 20%; width: 22px; height: 52px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: msh-figure 15s ease-in-out infinite; }
.scn-memory-storehouse .candle  { position:absolute; bottom: 25%; right: 30%; width: 8px; height: 20px; background: linear-gradient(180deg, #e0c090 0%, #a08050 100%); border-radius: 10% 10% 20% 20%; box-shadow: 0 0 16px 4px #ffd060; animation: msh-candle 4s ease-in-out infinite alternate; }
.scn-memory-storehouse .glow    { position:absolute; bottom: 20%; right: 25%; width: 60px; height: 60px; background: radial-gradient(circle, rgba(255,200,80,.3) 0%, transparent 70%); border-radius: 50%; filter: blur(12px); animation: msh-glow 6s ease-in-out infinite; }
.scn-memory-storehouse .door    { position:absolute; bottom: 0; left: 50%; width: 30%; height: 60%; background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); border-radius: 20% 20% 0 0 / 10% 10% 0 0; transform: translateX(-50%); box-shadow: 0 -4px 12px rgba(0,0,0,.3); animation: msh-door 20s ease-in-out infinite; }
@keyframes msh-scroll { 0% { transform: rotate(10deg) translateY(0); } 50% { transform: rotate(12deg) translateY(-3px); } 100% { transform: rotate(10deg) translateY(0); } }
@keyframes msh-figure { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 50% { transform: translateX(2px) translateY(-2px) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(-1deg); } }
@keyframes msh-candle { 0% { box-shadow: 0 0 12px 2px #ffd060; opacity: .9; } 50% { box-shadow: 0 0 20px 6px #ffd060; opacity: 1; } 100% { box-shadow: 0 0 14px 3px #ffd060; opacity: .95; } }
@keyframes msh-glow   { 0% { opacity: .5; transform: scale(1); } 50% { opacity: .8; transform: scale(1.1); } 100% { opacity: .5; transform: scale(1); } }
@keyframes msh-door   { 0% { transform: translateX(-50%) scaleX(1); } 50% { transform: translateX(-50%) scaleX(1.02); } 100% { transform: translateX(-50%) scaleX(1); } }

.scn-man-loves-for-reward { background: linear-gradient(180deg, #1a1a1a 0%, #0d0d0d 60%), radial-gradient(ellipse at 50% 60%, #3a2a1a 0%, transparent 70%); }
.scn-man-loves-for-reward .backdrop { position:absolute; inset:0 0 20% 0; background:linear-gradient(180deg, #2a1a1a 0%, #0d0d0d 100%); }
.scn-man-loves-for-reward .curtain-left { position:absolute; top:0; left:0; width:25%; height:80%; background:linear-gradient(90deg, #5e1a1d 0%, #3a0e10 100%); border-radius:0 30% 30% 0; animation:mlr-curtain 12s ease-in-out infinite alternate; }
.scn-man-loves-for-reward .curtain-right { position:absolute; top:0; right:0; width:25%; height:80%; background:linear-gradient(270deg, #5e1a1d 0%, #3a0e10 100%); border-radius:30% 0 0 30%; animation:mlr-curtain 12s ease-in-out infinite alternate-reverse; }
.scn-man-loves-for-reward .stage-floor { position:absolute; bottom:0; left:0; right:0; height:20%; background:linear-gradient(0deg, #1a1210 0%, #2a1e18 100%); }
.scn-man-loves-for-reward .figure { position:absolute; bottom:22%; left:50%; width:30px; height:45px; transform:translateX(-50%); background:linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; animation:mlr-reach 4s ease-in-out infinite alternate; }
.scn-man-loves-for-reward .reward-glow { position:absolute; bottom:35%; left:55%; width:12px; height:12px; background:radial-gradient(circle, #f0c068 0%, #806030 70%); border-radius:50%; box-shadow:0 0 30px 10px #c08040, 0 0 60px 20px rgba(192,128,64,.5); animation:mlr-glow 2s ease-in-out infinite alternate; }
.scn-man-loves-for-reward .spotlight { position:absolute; top:0; left:30%; width:40%; height:100%; background:linear-gradient(180deg, rgba(255,220,180,.15) 0%, transparent 80%); clip-path:polygon(20% 0, 80% 0, 65% 100%, 35% 100%); animation:mlr-spot 6s ease-in-out infinite alternate; }
@keyframes mlr-curtain { 0% { transform:translateX(0) } 50% { transform:translateX(-5%) } 100% { transform:translateX(0) } }
@keyframes mlr-reach { 0% { transform:translateX(-50%) translateY(0) rotate(-1deg) } 50% { transform:translateX(-50%) translateY(-4px) rotate(2deg) } 100% { transform:translateX(-50%) translateY(0) rotate(0) } }
@keyframes mlr-glow { 0% { transform:scale(1); opacity:.7 } 50% { transform:scale(1.3); opacity:1 } 100% { transform:scale(1); opacity:.8 } }
@keyframes mlr-spot { 0% { opacity:.4 } 50% { opacity:.8 } 100% { opacity:.5 } }

.scn-disgrace-if-mercenary { background: linear-gradient(180deg, #e8e0d0 0%, #f5efe0 40%), radial-gradient(ellipse at 70% 20%, #ffe0b0 0%, transparent 60%); }
.scn-disgrace-if-mercenary .room-wall { position:absolute; inset:0 0 30% 0; background:linear-gradient(180deg, #d0c8b0 0%, #e0d8c0 100%); }
.scn-disgrace-if-mercenary .bright-window { position:absolute; top:6%; left:20%; width:30%; height:40%; background:radial-gradient(ellipse at 50% 50%, #fffde0 0%, #f5e8c0 60%, transparent 100%); border:2px solid #a09880; box-shadow:inset 0 0 30px #fff5c0, 0 0 40px 10px rgba(255,235,180,.6); animation:dim-gleam 5s ease-in-out infinite alternate; }
.scn-disgrace-if-mercenary .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background:linear-gradient(0deg, #a09070 0%, #b8a888 100%); }
.scn-disgrace-if-mercenary .table { position:absolute; bottom:22%; left:35%; width:30%; height:8%; background:linear-gradient(180deg, #6a5a40 0%, #4a3a28 100%); border-radius:4px; box-shadow:0 2px 8px rgba(0,0,0,.3); animation:dim-shake 0.6s ease-in-out infinite; }
.scn-disgrace-if-mercenary .coin-pile { position:absolute; bottom:24%; left:38%; width:12%; height:5%; background:radial-gradient(ellipse at 50% 100%, #d0a040 0%, #a08030 100%); border-radius:50%; box-shadow:0 0 10px rgba(160,128,48,.6); animation:dim-glimmer 2s ease-in-out infinite; }
.scn-disgrace-if-mercenary .mother-silhouette { position:absolute; bottom:25%; left:25%; width:20px; height:45px; background:linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; animation:dim-tremble 0.4s ease-in-out infinite alternate; }
.scn-disgrace-if-mercenary .cradle-shadow { position:absolute; bottom:20%; right:30%; width:30px; height:20px; background:#1a1a1a; border-radius:40% 40% 30% 30%; opacity:.4; animation:dim-rock 3s ease-in-out infinite alternate; }
@keyframes dim-gleam { 0% { opacity:.7; transform:scale(1) } 50% { opacity:1; transform:scale(1.02) } 100% { opacity:.8; transform:scale(1) } }
@keyframes dim-shake { 0% { transform:translateX(0) } 25% { transform:translateX(-2px) } 75% { transform:translateX(2px) } 100% { transform:translateX(0) } }
@keyframes dim-glimmer { 0% { opacity:.5; transform:scale(1) rotate(0deg) } 50% { opacity:1; transform:scale(1.2) rotate(10deg) } 100% { opacity:.6; transform:scale(1) rotate(0) } }
@keyframes dim-tremble { 0% { transform:translateY(0) } 50% { transform:translateY(-1px) } 100% { transform:translateY(0) } }
@keyframes dim-rock { 0% { transform:rotate(-2deg) } 50% { transform:rotate(2deg) } 100% { transform:rotate(-2deg) } }

.scn-wild-grafts-imperfect { background: linear-gradient(180deg, #b8c8b0 0%, #a0b090 60%), radial-gradient(ellipse at 50% 100%, #7a8a6a 0%, transparent 80%); }
.scn-wild-grafts-imperfect .overcast-sky { position:absolute; inset:0 0 50% 0; background:linear-gradient(180deg, #c0d0c0 0%, #b0c0a0 100%); }
.scn-wild-grafts-imperfect .ground-moss { position:absolute; bottom:0; left:0; right:0; height:50%; background:linear-gradient(0deg, #4a5a3a 0%, #6a7a5a 100%); border-radius:30% 30% 0 0 / 20% 20% 0 0; }
.scn-wild-grafts-imperfect .tree-trunk { position:absolute; bottom:35%; left:50%; width:20px; height:30%; transform:translateX(-50%); background:linear-gradient(90deg, #4a3a2a 0%, #5a4a3a 50%, #4a3a2a 100%); border-radius:6px; }
.scn-wild-grafts-imperfect .vine { position:absolute; bottom:55%; left:45%; width:12%; height:40%; background:linear-gradient(180deg, #3a5a2a 0%, #2a4a1a 100%); border-radius:40% 40% 10% 10% / 60% 60% 20% 20%; animation:wgi-twine 8s ease-in-out infinite alternate; }
.scn-wild-grafts-imperfect .leaf-a { position:absolute; bottom:60%; left:40%; width:18px; height:10px; background:linear-gradient(180deg, #5a7a3a 0%, #4a6a2a 100%); border-radius:50% 0 50% 0; transform-origin:bottom left; animation:wgi-sway 6s ease-in-out infinite; }
.scn-wild-grafts-imperfect .leaf-b { position:absolute; bottom:50%; left:46%; width:16px; height:9px; background:linear-gradient(180deg, #5a7a3a 0%, #4a6a2a 100%); border-radius:0 50% 0 50%; transform-origin:bottom right; animation:wgi-sway 6s ease-in-out infinite reverse; }
.scn-wild-grafts-imperfect .imperfect-fruit { position:absolute; bottom:58%; left:48%; width:12px; height:16px; background:radial-gradient(circle at 40% 30%, #a08040 0%, #807030 100%); border-radius:50% 50% 40% 40%; box-shadow:0 0 8px 2px rgba(160,128,64,.3); animation:wgi-bob 4s ease-in-out infinite alternate; }
.scn-wild-grafts-imperfect .drifting-pollen { position:absolute; top:20%; left:10%; width:3px; height:3px; background:rgba(200,200,180,.3); border-radius:50%; filter:blur(2px); animation:wgi-pollen 30s linear infinite; }
@keyframes wgi-twine { 0% { transform:rotate(0deg) scaleY(1) } 50% { transform:rotate(4deg) scaleY(1.02) } 100% { transform:rotate(0deg) scaleY(1) } }
@keyframes wgi-sway { 0% { transform:rotate(0deg) } 25% { transform:rotate(10deg) } 75% { transform:rotate(-8deg) } 100% { transform:rotate(0deg) } }
@keyframes wgi-bob { 0% { transform:translateY(0) } 50% { transform:translateY(-2px) } 100% { transform:translateY(0) } }
@keyframes wgi-pollen { 0% { transform:translate(0,0) } 100% { transform:translate(80vw,20vh) } }

.scn-nature-artistic-complete { background: linear-gradient(180deg, #f5e8c0 0%, #e8d8a0 40%), radial-gradient(ellipse at 50% 60%, #ffe0a0 0%, transparent 70%); }
.scn-nature-artistic-complete .golden-backdrop { position:absolute; inset:0; background:linear-gradient(180deg, #ffe8c0 0%, #f0d8a0 100%); }
.scn-nature-artistic-complete .flower-petal { position:absolute; bottom:40%; left:50%; width:20px; height:30px; background:radial-gradient(ellipse at 30% 20%, #f0c070 0%, #e0a850 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:center bottom; }
.scn-nature-artistic-complete .p1 { transform:translateX(-50%) rotate(-20deg); animation:nac-bloom 6s ease-in-out infinite alternate; }
.scn-nature-artistic-complete .p2 { transform:translateX(-50%) rotate(0deg); animation:nac-bloom 6s ease-in-out infinite alternate 0.5s; }
.scn-nature-artistic-complete .p3 { transform:translateX(-50%) rotate(20deg); animation:nac-bloom 6s ease-in-out infinite alternate 1s; }
.scn-nature-artistic-complete .stem { position:absolute; bottom:25%; left:50%; width:6px; height:20%; transform:translateX(-50%); background:linear-gradient(180deg, #4a7a3a 0%, #2a5a1a 100%); border-radius:3px; }
.scn-nature-artistic-complete .leaf { position:absolute; bottom:30%; left:44%; width:14px; height:8px; background:linear-gradient(180deg, #5a8a4a 0%, #3a6a2a 100%); border-radius:0 50% 0 50%; transform-origin:right center; animation:nac-leaf 4s ease-in-out infinite alternate; }
.scn-nature-artistic-complete .tiny-butterfly { position:absolute; bottom:55%; left:35%; width:12px; height:8px; background:linear-gradient(180deg, #d0a060 0%, #c09050 100%); border-radius:50%; filter:blur(1px); animation:nac-flutter 3s ease-in-out infinite; }
.scn-nature-artistic-complete .glow-halo { position:absolute; bottom:38%; left:50%; width:50px; height:50px; transform:translateX(-50%); background:radial-gradient(circle, rgba(255,230,160,.15) 0%, transparent 70%); border-radius:50%; animation:nac-pulse 8s ease-in-out infinite alternate; }
@keyframes nac-bloom { 0% { transform:scale(0.8) rotate(-20deg) } 50% { transform:scale(1.1) rotate(-15deg) } 100% { transform:scale(0.8) rotate(-20deg) } }
@keyframes nac-leaf { 0% { transform:rotate(0deg) } 50% { transform:rotate(15deg) } 100% { transform:rotate(0deg) } }
@keyframes nac-flutter { 0% { transform:translate(0,0) rotate(0deg) } 25% { transform:translate(10px,-8px) rotate(10deg) } 75% { transform:translate(-6px,-4px) rotate(-8deg) } 100% { transform:translate(0,0) rotate(0deg) } }
@keyframes nac-pulse { 0% { opacity:.3; transform:translateX(-50%) scale(1) } 50% { opacity:.6; transform:translateX(-50%) scale(1.2) } 100% { opacity:.4; transform:translateX(-50%) scale(0.9) } }

.scn-incontinent-lamentations {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a44 50%, #1e1e32 100%), radial-gradient(ellipse at 50% 100%, #2a2a44 0%, transparent 80%);
  position: relative; overflow: hidden; height: 100%;
}
.scn-incontinent-lamentations .bg-dark { position: absolute; inset: 0; background: #0e0e1a; animation: il-bg 10s ease-in-out infinite alternate; }
.scn-incontinent-lamentations .wall { position: absolute; inset: 10% 5% 30% 5%; background: linear-gradient(90deg, #2a2a40 0%, #3a3a5a 50%, #2a2a40 100%); border-radius: 4px; box-shadow: inset 0 0 60px rgba(0,0,0,.6); }
.scn-incontinent-lamentations .window { position: absolute; top: 15%; left: 35%; width: 30%; height: 25%; background: radial-gradient(ellipse at 50% 50%, #4a6a8a 0%, #2a4a6a 70%, #1a2a3a 100%); border-radius: 20% 20% 10% 10%; box-shadow: inset 0 0 30px #5a8aaa, 0 0 40px #3a5a7a; animation: il-window 8s ease-in-out infinite alternate; }
.scn-incontinent-lamentations .figure { position: absolute; bottom: 20%; left: 30%; 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: il-figure 4s ease-in-out infinite; }
.scn-incontinent-lamentations .chair { position: absolute; bottom: 18%; left: 45%; width: 40px; height: 30px; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 10% 10% 20% 20%; box-shadow: 4px 4px 10px rgba(0,0,0,.5); animation: il-chair 6s ease-in-out infinite; }
.scn-incontinent-lamentations .shadow { position: absolute; bottom: 15%; left: 25%; width: 60px; height: 15px; background: rgba(0,0,0,.4); border-radius: 50%; filter: blur(4px); animation: il-shadow 5s ease-in-out infinite alternate; }
.scn-incontinent-lamentations .dust-a { position: absolute; top: 40%; left: 20%; width: 6px; height: 6px; background: rgba(200,200,230,.3); border-radius: 50%; filter: blur(2px); animation: il-dust 12s linear infinite; }
.scn-incontinent-lamentations .dust-b { position: absolute; top: 60%; left: 70%; width: 4px; height: 4px; background: rgba(200,200,230,.2); border-radius: 50%; filter: blur(1px); animation: il-dust 18s linear infinite reverse; }
@keyframes il-bg { 0%,100% { opacity: .3; } 50% { opacity: .6; } }
@keyframes il-window { 0% { opacity: .6; box-shadow: inset 0 0 20px #3a5a7a, 0 0 30px #2a4a6a; } 50% { opacity: 1; box-shadow: inset 0 0 40px #6a9abd, 0 0 60px #4a7a9a; } 100% { opacity: .7; box-shadow: inset 0 0 25px #3a5a7a, 0 0 35px #2a4a6a; } }
@keyframes il-figure { 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 il-chair { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(-1deg); } }
@keyframes il-shadow { 0% { transform: scaleX(1); opacity: .3; } 50% { transform: scaleX(1.2); opacity: .5; } 100% { transform: scaleX(0.9); opacity: .4; } }
@keyframes il-dust { 0% { transform: translateY(0) translateX(0) scale(1); opacity: .3; } 50% { transform: translateY(-30px) translateX(20px) scale(1.5); opacity: .6; } 100% { transform: translateY(-60px) translateX(40px) scale(1); opacity: 0; } }

.scn-sandy-hook-anchor {
  background: linear-gradient(180deg, #a0c8e8 0%, #c8e8ff 40%, #e0f0ff 70%), radial-gradient(ellipse at 50% 100%, #a0d0e8 0%, transparent 70%);
  position: relative; overflow: hidden; height: 100%;
}
.scn-sandy-hook-anchor .sky { position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #a0c8e8 0%, #c0e0f8 100%); animation: sh-sky 15s ease-in-out infinite alternate; }
.scn-sandy-hook-anchor .sea { position: absolute; bottom: 0; left: 0; right: 0; height: 40%; background: linear-gradient(180deg, #6a9aba 0%, #4a7a9a 100%); border-radius: 40% 60% 0 0 / 80% 70% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.2); animation: sh-sea 20s ease-in-out infinite alternate; }
.scn-sandy-hook-anchor .shore { position: absolute; bottom: 35%; left: 10%; width: 30%; height: 8%; background: #d4b878; border-radius: 0 30% 0 0 / 0 100% 0 0; box-shadow: inset 0 -4px 8px rgba(0,0,0,.1); }
.scn-sandy-hook-anchor .anchor { position: absolute; bottom: 30%; left: 25%; width: 40px; height: 50px; background: linear-gradient(180deg, #6a5a3a 0%, #4a3a1a 100%); clip-path: polygon(20% 0%, 80% 0%, 80% 20%, 60% 20%, 60% 60%, 80% 60%, 80% 80%, 50% 80%, 50% 100%, 30% 100%, 30% 80%, 20% 80%, 20% 60%, 40% 60%, 40% 20%, 20% 20%); animation: sh-anchor 8s ease-in-out infinite; }
.scn-sandy-hook-anchor .rope { position: absolute; top: 20%; left: 25%; width: 4px; height: 20%; background: #8a7a5a; border-radius: 2px; transform-origin: top center; animation: sh-rope 6s ease-in-out infinite alternate; }
.scn-sandy-hook-anchor .buoy { position: absolute; bottom: 38%; left: 40%; width: 14px; height: 14px; background: #b84a3a; border-radius: 50%; box-shadow: 0 0 8px rgba(184,74,58,.5); animation: sh-buoy 5s ease-in-out infinite; }
.scn-sandy-hook-anchor .cloud-a { position: absolute; top: 12%; left: 20%; width: 80px; height: 20px; background: linear-gradient(180deg, rgba(200,230,255,.6) 0%, rgba(200,230,255,.1) 100%); border-radius: 50%; filter: blur(6px); animation: sh-drift-a 40s linear infinite; }
.scn-sandy-hook-anchor .cloud-b { position: absolute; top: 20%; right: 10%; width: 60px; height: 14px; background: linear-gradient(180deg, rgba(200,230,255,.5) 0%, rgba(200,230,255,.05) 100%); border-radius: 50%; filter: blur(5px); animation: sh-drift-b 50s linear infinite reverse; }
@keyframes sh-sky { 0% { opacity: .9; } 50% { opacity: 1; } 100% { opacity: .8; } }
@keyframes sh-sea { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-4px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes sh-anchor { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-8px) rotate(2deg); } }
@keyframes sh-rope { 0% { transform: rotate(-2deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-1deg); } }
@keyframes sh-buoy { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3px) rotate(5deg); } }
@keyframes sh-drift-a { 0% { transform: translateX(-40px); } 100% { transform: translateX(120vw); } }
@keyframes sh-drift-b { 0% { transform: translateX(0); } 100% { transform: translateX(-120vw); } }

.scn-full-sail-intemperate {
  background: linear-gradient(180deg, #f0e8d8 0%, #d0c8b8 30%, #a0b8c8 60%, #6a8a9a 100%), radial-gradient(ellipse at 50% 30%, #f0e8d8 0%, transparent 60%);
  position: relative; overflow: hidden; height: 100%;
}
.scn-full-sail-intemperate .sky-bright { position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #f0e8d8 0%, #d0c8b8 100%); animation: fs-sky 6s ease-in-out infinite alternate; }
.scn-full-sail-intemperate .sea-storm { position: absolute; bottom: 0; left: 0; right: 0; height: 45%; background: linear-gradient(180deg, #5a7a8a 0%, #3a5a6a 100%); border-radius: 30% 70% 0 0 / 60% 80% 0 0; box-shadow: inset 0 10px 30px rgba(0,0,0,.4); animation: fs-sea 3s ease-in-out infinite alternate; }
.scn-full-sail-intemperate .hull { position: absolute; bottom: 30%; left: 20%; width: 100px; height: 40px; background: linear-gradient(180deg, #6a4a2a 0%, #4a2a0a 100%); border-radius: 0 0 40% 40% / 0 0 80% 80%; box-shadow: 6px 6px 20px rgba(0,0,0,.5); animation: fs-hull 4s ease-in-out infinite; }
.scn-full-sail-intemperate .sail-fore { position: absolute; bottom: 45%; left: 30%; width: 30px; height: 60px; background: linear-gradient(90deg, #e8dcc8 0%, #c8b898 100%); clip-path: polygon(0% 0%, 100% 20%, 100% 100%, 0% 80%); transform-origin: bottom center; animation: fs-sail-fore 2s ease-in-out infinite alternate; }
.scn-full-sail-intemperate .sail-aft { position: absolute; bottom: 40%; left: 50%; width: 40px; height: 80px; background: linear-gradient(90deg, #e8dcc8 0%, #d8c8a8 100%); clip-path: polygon(0% 10%, 100% 0%, 100% 80%, 0% 100%); transform-origin: bottom left; animation: fs-sail-aft 2.5s ease-in-out infinite alternate; }
.scn-full-sail-intemperate .wave-1 { position: absolute; bottom: 25%; left: 10%; width: 150px; height: 20px; background: #6a8a9a; border-radius: 50%; filter: blur(4px); animation: fs-wave1 1.5s ease-in-out infinite alternate; }
.scn-full-sail-intemperate .wave-2 { position: absolute; bottom: 20%; right: 0; width: 200px; height: 30px; background: #5a7a8a; border-radius: 50%; filter: blur(6px); animation: fs-wave2 2s ease-in-out infinite alternate reverse; }
.scn-full-sail-intemperate .spray { position: absolute; bottom: 35%; left: 40%; width: 8px; height: 8px; background: rgba(200,220,240,.6); border-radius: 50%; filter: blur(2px); box-shadow: 0 0 10px rgba(200,220,240,.6); animation: fs-spray 1.8s ease-in-out infinite; }
@keyframes fs-sky { 0% { opacity: .9; } 50% { opacity: .7; } 100% { opacity: .85; } }
@keyframes fs-sea { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(5px) scaleX(1.03); } 100% { transform: translateY(0) scaleX(1); } }
@keyframes fs-hull { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-4px) rotate(2deg); } }
@keyframes fs-sail-fore { 0% { transform: rotate(0) scaleX(1); } 50% { transform: rotate(4deg) scaleX(1.1); } 100% { transform: rotate(-2deg) scaleX(0.95); } }
@keyframes fs-sail-aft { 0% { transform: rotate(0) scaleY(1); } 50% { transform: rotate(-6deg) scaleY(1.15); } 100% { transform: rotate(2deg) scaleY(0.9); } }
@keyframes fs-wave1 { 0% { transform: translateX(0) scaleY(1); } 50% { transform: translateX(-10px) scaleY(1.3); } 100% { transform: translateX(10px) scaleY(1); } }
@keyframes fs-wave2 { 0% { transform: translateX(0) scaleY(1); } 50% { transform: translateX(15px) scaleY(1.2); } 100% { transform: translateX(-15px) scaleY(1); } }
@keyframes fs-spray { 0%,100% { opacity: .2; transform: translateY(0) scale(1); } 50% { opacity: .8; transform: translateY(-20px) scale(1.5); } }

.scn-wise-man-temperate-fool-intemperate {
  background: linear-gradient(180deg, #f8f4e8 0%, #e8e0d0 50%, #d0c8b8 100%), radial-gradient(ellipse at 50% 50%, #f8f4e8 0%, transparent 80%);
  position: relative; overflow: hidden; height: 100%;
}
.scn-wise-man-temperate-fool-intemperate .room-bg { position: absolute; inset: 5% 5% 5% 5%; background: linear-gradient(180deg, #e8e0d0 0%, #d0c8b8 100%); border-radius: 8px; box-shadow: inset 0 0 60px rgba(0,0,0,.1), 0 0 30px rgba(0,0,0,.05); }
.scn-wise-man-temperate-fool-intemperate .floor { position: absolute; bottom: 0; left: 5%; right: 5%; height: 20%; background: linear-gradient(180deg, #c8b8a0 0%, #b8a890 100%); border-radius: 0 0 8px 8px; box-shadow: inset 0 8px 20px rgba(0,0,0,.15); }
.scn-wise-man-temperate-fool-intemperate .window-lit { position: absolute; top: 15%; left: 60%; width: 25%; height: 30%; background: radial-gradient(ellipse at 50% 50%, #e8f0f8 0%, #c0d0e0 60%, #a0b8c8 100%); border-radius: 10% 10% 5% 5%; box-shadow: inset 0 0 40px #d0e0f0, 0 0 30px rgba(200,220,240,.4); animation: wt-window 12s ease-in-out infinite alternate; }
.scn-wise-man-temperate-fool-intemperate .lamp { position: absolute; top: 20%; left: 80%; width: 10px; height: 30px; background: linear-gradient(180deg, #d0b870 0%, #b8a060 100%); border-radius: 40% 40% 10% 10%; box-shadow: 0 0 20px 10px rgba(200,180,100,.4), 0 0 40px 15px rgba(200,180,100,.2); animation: wt-lamp 5s ease-in-out infinite alternate; }
.scn-wise-man-temperate-fool-intemperate .wise-figure { position: absolute; bottom: 18%; left: 25%; width: 22px; height: 60px; background: linear-gradient(180deg, #3a4a3a 0%, #2a3a2a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wt-wise 7s ease-in-out infinite; }
.scn-wise-man-temperate-fool-intemperate .fool-figure { position: absolute; bottom: 18%; left: 55%; width: 24px; height: 50px; background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%); border-radius: 50% 50% 40% 40% / 50% 50% 50% 50%; transform-origin: bottom center; animation: wt-fool 3s ease-in-out infinite; }
.scn-wise-man-temperate-fool-intemperate .table { position: absolute; bottom: 5%; left: 40%; width: 50px; height: 16px; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%); border-radius: 10% 10% 20% 20%; box-shadow: 0 4px 10px rgba(0,0,0,.2); }
@keyframes wt-window { 0% { opacity: .7; box-shadow: inset 0 0 20px #c0d0e0, 0 0 20px rgba(200,220,240,.3); } 50% { opacity: 1; box-shadow: inset 0 0 50px #e0f0f8, 0 0 40px rgba(200,220,240,.6); } 100% { opacity: .8; box-shadow: inset 0 0 30px #c0d0e0, 0 0 25px rgba(200,220,240,.4); } }
@keyframes wt-lamp { 0% { opacity: .8; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-2px); } 100% { opacity: .9; transform: translateY(0); } }
@keyframes wt-wise { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-1px) rotate(1deg); } }
@keyframes wt-fool { 0% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-3px) rotate(5deg); } 50% { transform: translateY(0) rotate(-3deg); } 75% { transform: translateY(-2px) rotate(7deg); } 100% { transform: translateY(0) rotate(0); } }

.scn-love-only-beautiful {
  background: 
    linear-gradient(170deg, #fbf4e8 0%, #e8d9c4 40%, #d4bfa8 100%),
    radial-gradient(ellipse at 60% 30%, rgba(255,220,180,0.6) 0%, transparent 70%);
}
.scn-love-only-beautiful .room-bg { position:absolute; inset:0; background: linear-gradient(180deg, #fcf5ec 0%, #f0e4d4 100%); opacity:0.7; }
.scn-love-only-beautiful .window { position:absolute; top:12%; left:48%; width:28%; height:48%; background: #d4eaff; border:6px solid #b08a6c; border-radius:8px; box-shadow: inset 0 0 60px rgba(255,200,150,0.3), 0 8px 20px rgba(0,0,0,0.15); transform: perspective(600px) rotateY(6deg); }
.scn-love-only-beautiful .sunbeam { position:absolute; top:50%; left:45%; width:50%; height:90%; background: linear-gradient(180deg, rgba(255,240,200,0.5) 0%, rgba(255,240,200,0.05) 100%); clip-path: polygon(0 0, 100% 0, 70% 100%, 30% 100%); animation: lob-beam 10s ease-in-out infinite alternate; }
.scn-love-only-beautiful .love-light { position:absolute; top:30%; left:40%; width:20%; height:30%; background: radial-gradient(circle, rgba(255,200,100,0.9) 0%, rgba(255,180,80,0.6) 40%, transparent 100%); border-radius:50%; filter:blur(12px); animation: lob-glow 4s ease-in-out infinite alternate; }
.scn-love-only-beautiful .beautiful-object { position:absolute; bottom:26%; left:44%; width:50px; height:70px; background: radial-gradient(ellipse at 60% 30%, #f9d9b0 0%, #d2a87a 60%, #a07850 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; box-shadow: 0 0 40px rgba(255,200,100,0.5); transform: rotate(-2deg); animation: lob-sway 6s ease-in-out infinite; }
.scn-love-only-beautiful .shadow-calumny { position:absolute; bottom:10%; left:10%; width:30%; height:20%; background: radial-gradient(ellipse at center, rgba(60,40,20,0.3) 0%, transparent 100%); filter:blur(15px); animation: lob-shadow 8s ease-in-out infinite alternate; }
.scn-love-only-beautiful .dust-a { position:absolute; top:40%; left:20%; width:4px; height:4px; background: #ffe8c0; border-radius:50%; box-shadow: 0 0 8px #ffe8c0; animation: lob-dust 20s linear infinite; }
.scn-love-only-beautiful .dust-b { position:absolute; top:60%; left:70%; width:3px; height:3px; background: #ffe0b0; border-radius:50%; box-shadow: 0 0 6px #ffe0b0; animation: lob-dust 25s linear infinite reverse; }

@keyframes lob-beam { 0% { opacity:0.6; transform:skewX(-2deg); } 50% { opacity:1; transform:skewX(2deg); } 100% { opacity:0.7; transform:skewX(-1deg); } }
@keyframes lob-glow { 0% { transform:scale(1); opacity:0.8; } 50% { transform:scale(1.2); opacity:1; } 100% { transform:scale(0.95); opacity:0.7; } }
@keyframes lob-sway { 0% { transform:rotate(-2deg) translateY(0); } 50% { transform:rotate(1deg) translateY(-2px); } 100% { transform:rotate(-1deg) translateY(0); } }
@keyframes lob-shadow { 0% { opacity:0.2; transform:scaleX(1); } 50% { opacity:0.4; transform:scaleX(0.8); } 100% { opacity:0.3; transform:scaleX(1.1); } }
@keyframes lob-dust { 0% { transform:translate(0,0) scale(1); opacity:0; } 10% { opacity:1; } 90% { opacity:1; } 100% { transform:translate(50px,-80px) scale(0.5); opacity:0; } }

.scn-aphrodite-moon-love-sun {
  background: 
    linear-gradient(90deg, #1c1c3a 0%, #2a2a4e 50%, #4a3a2a 100%),
    radial-gradient(ellipse at 25% 50%, #3a3a6a 0%, transparent 60%),
    radial-gradient(ellipse at 75% 50%, #6a5a3a 0%, transparent 60%);
}
.scn-aphrodite-moon-love-sun .room-bg { position:absolute; inset:0; background: linear-gradient(180deg, #2a2a4a 0%, #3a3a3a 100%); opacity:0.6; }
.scn-aphrodite-moon-love-sun .window-moon { position:absolute; top:10%; left:8%; width:30%; height:50%; background: #0a0a2e; border:4px solid #4a4a6a; border-radius: 20% 20% 0 0; box-shadow: inset 0 0 80px rgba(100,140,255,0.2); transform: perspective(500px) rotateY(-5deg); overflow:hidden; }
.scn-aphrodite-moon-love-sun .window-sun { position:absolute; top:10%; right:8%; width:30%; height:50%; background: #6a4a2a; border:4px solid #8a7a5a; border-radius: 20% 20% 0 0; box-shadow: inset 0 0 80px rgba(255,200,100,0.3); transform: perspective(500px) rotateY(5deg); overflow:hidden; }
.scn-aphrodite-moon-love-sun .moonlight { position:absolute; top:40%; left:10%; width:20%; height:60%; background: linear-gradient(180deg, rgba(180,200,255,0.3) 0%, transparent 100%); clip-path: polygon(0 0, 100% 0, 70% 100%, 30% 100%); animation: aml-moonbeam 12s ease-in-out infinite alternate; }
.scn-aphrodite-moon-love-sun .sunlight { position:absolute; top:40%; right:10%; width:20%; height:60%; background: linear-gradient(180deg, rgba(255,220,150,0.4) 0%, rgba(255,180,80,0.1) 100%); clip-path: polygon(0 0, 100% 0, 70% 100%, 30% 100%); animation: aml-sunbeam 8s ease-in-out infinite alternate; }
.scn-aphrodite-moon-love-sun .altar { position:absolute; bottom:20%; left:50%; width:80px; height:40px; background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%); border-radius: 8% 8% 50% 50% / 20% 20% 40% 40%; transform:translateX(-50%); box-shadow: 0 4px 12px rgba(0,0,0,0.6); }
.scn-aphrodite-moon-love-sun .shadow-meet { position:absolute; bottom:0; left:30%; width:40%; height:20%; background: radial-gradient(ellipse at center, rgba(20,20,30,0.5) 0%, transparent 100%); filter:blur(20px); animation: aml-meet 15s ease-in-out infinite alternate; }
.scn-aphrodite-moon-love-sun .star-fleck { position:absolute; top:15%; left:15%; width:2px; height:2px; background: #aac0ff; border-radius:50%; box-shadow: 0 0 6px #aac0ff, 30px 20px 0 #aac0ff, -20px 10px 0 #aac0ff; animation: aml-star 5s ease-in-out infinite alternate; }

@keyframes aml-moonbeam { 0% { opacity:0.3; transform:skewY(-3deg); } 50% { opacity:0.6; transform:skewY(3deg); } 100% { opacity:0.4; transform:skewY(0); } }
@keyframes aml-sunbeam { 0% { opacity:0.5; transform:skewY(2deg); } 50% { opacity:0.9; transform:skewY(-2deg); } 100% { opacity:0.6; transform:skewY(0); } }
@keyframes aml-meet { 0% { opacity:0.3; transform:scaleX(0.8); } 50% { opacity:0.6; transform:scaleX(1); } 100% { opacity:0.4; transform:scaleX(0.9); } }
@keyframes aml-star { 0% { opacity:0.2; transform:translateY(0); } 50% { opacity:0.8; transform:translateY(-5px); } 100% { opacity:0.3; transform:translateY(0); } }

.scn-euripides-love-sun {
  background: 
    linear-gradient(170deg, #f7edd0 0%, #e6d4b0 40%, #d4be94 100%),
    radial-gradient(ellipse at 50% 30%, rgba(255,230,180,0.5) 0%, transparent 70%);
}
.scn-euripides-love-sun .room-bg { position:absolute; inset:0; background: linear-gradient(180deg, #faf2e0 0%, #efe4cc 100%); opacity:0.6; }
.scn-euripides-love-sun .window-sun { position:absolute; top:10%; left:35%; width:30%; height:50%; background: #d4e0f0; border:6px solid #b09878; border-radius: 12% 12% 0 0; box-shadow: inset 0 0 60px rgba(255,200,120,0.4); transform: perspective(400px) rotateY(3deg); }
.scn-euripides-love-sun .sunray-a { position:absolute; top:30%; left:30%; width:20%; height:70%; background: linear-gradient(180deg, rgba(255,230,170,0.6) 0%, rgba(255,230,170,0.1) 100%); clip-path: polygon(0 0, 100% 0, 60% 100%, 40% 100%); animation: els-ray-a 14s ease-in-out infinite alternate; }
.scn-euripides-love-sun .sunray-b { position:absolute; top:30%; left:50%; width:18%; height:65%; background: linear-gradient(180deg, rgba(255,230,170,0.4) 0%, transparent 100%); clip-path: polygon(0 0, 100% 0, 70% 100%, 30% 100%); animation: els-ray-b 18s ease-in-out infinite alternate; }
.scn-euripides-love-sun .figure-seated { position:absolute; bottom:20%; left:38%; width:40px; height:80px; background: linear-gradient(180deg, #3a2a1a 0%, #1a1a0a 100%); border-radius: 30% 30% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: els-breathe 5s ease-in-out infinite; }
.scn-euripides-love-sun .floor-shadow { position:absolute; bottom:8%; left:30%; width:40%; height:12%; background: radial-gradient(ellipse at center, rgba(60,40,20,0.25) 0%, transparent 100%); filter:blur(15px); animation: els-shadow 6s ease-in-out infinite alternate; }
.scn-euripides-love-sun .mote { position:absolute; top:50%; left:45%; width:3px; height:3px; background: #ffe8b0; border-radius:50%; box-shadow: 0 0 10px #ffe8b0; animation: els-mote 25s linear infinite; }

@keyframes els-ray-a { 0% { opacity:0.4; transform:rotate(2deg); } 50% { opacity:0.8; transform:rotate(-1deg); } 100% { opacity:0.5; transform:rotate(0deg); } }
@keyframes els-ray-b { 0% { opacity:0.3; transform:rotate(-3deg); } 50% { opacity:0.7; transform:rotate(2deg); } 100% { opacity:0.4; transform:rotate(0deg); } }
@keyframes els-breathe { 0% { transform:scaleY(1) translateY(0); } 50% { transform:scaleY(1.02) translateY(-1px); } 100% { transform:scaleY(1) translateY(0); } }
@keyframes els-shadow { 0% { opacity:0.2; transform:scaleX(1); } 50% { opacity:0.4; transform:scaleX(0.8); } 100% { opacity:0.3; transform:scaleX(1.1); } }
@keyframes els-mote { 0% { transform:translate(0,0) scale(1); opacity:0; } 10% { opacity:1; } 90% { opacity:1; } 100% { transform:translate(40px,-70px) scale(0.3); opacity:0; } }

.scn-soul-cleaves-to-dreams {
  background: 
    linear-gradient(180deg, #0e0e1a 0%, #1a1a2e 50%, #2a1a2a 100%),
    radial-gradient(ellipse at 40% 60%, #2a2a4a 0%, transparent 70%);
}
.scn-soul-cleaves-to-dreams .room-bg { position:absolute; inset:0; background: linear-gradient(180deg, #12121c 0%, #1e1e2a 100%); opacity:0.8; }
.scn-soul-cleaves-to-dreams .figure-reaching { position:absolute; bottom:20%; left:45%; width:30px; height:80px; background: linear-gradient(180deg, #2a2a3a 0%, #12121c 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: scd-reach 4s ease-in-out infinite alternate; }
.scn-soul-cleaves-to-dreams .dream-a { position:absolute; top:30%; left:20%; width:40px; height:30px; background: radial-gradient(circle, rgba(200,180,255,0.4) 0%, transparent 80%); border-radius:50%; filter:blur(8px); animation: scd-dream-a 12s ease-in-out infinite; }
.scn-soul-cleaves-to-dreams .dream-b { position:absolute; top:50%; left:60%; width:50px; height:40px; background: radial-gradient(circle, rgba(200,180,255,0.3) 0%, transparent 80%); border-radius:50%; filter:blur(10px); animation: scd-dream-b 15s ease-in-out infinite reverse; }
.scn-soul-cleaves-to-dreams .dream-c { position:absolute; top:20%; left:55%; width:30px; height:25px; background: radial-gradient(circle, rgba(180,200,255,0.35) 0%, transparent 80%); border-radius:50%; filter:blur(6px); animation: scd-dream-c 10s ease-in-out infinite alternate; }
.scn-soul-cleaves-to-dreams .mist { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, transparent 0%, rgba(30,30,50,0.3) 100%); animation: scd-mist 8s ease-in-out infinite alternate; }
.scn-soul-cleaves-to-dreams .spark-a { position:absolute; top:40%; left:30%; width:2px; height:2px; background: #e0d0ff; border-radius:50%; box-shadow: 0 0 6px #e0d0ff; animation: scd-spark 2s ease-in-out infinite; }
.scn-soul-cleaves-to-dreams .spark-b { position:absolute; top:60%; left:70%; width:2px; height:2px; background: #d0c0ff; border-radius:50%; box-shadow: 0 0 6px #d0c0ff; animation: scd-spark 2.5s ease-in-out infinite reverse; }

@keyframes scd-reach { 0% { transform:translateX(0) translateY(0) rotate(-2deg); } 50% { transform:translateX(10px) translateY(-3px) rotate(2deg); } 100% { transform:translateX(5px) translateY(0) rotate(0deg); } }
@keyframes scd-dream-a { 0% { transform:translate(0,0) scale(1); opacity:0.4; } 50% { transform:translate(15px,-20px) scale(1.2); opacity:0.8; } 100% { transform:translate(-10px,-5px) scale(0.9); opacity:0.3; } }
@keyframes scd-dream-b { 0% { transform:translate(0,0) scale(1); opacity:0.3; } 50% { transform:translate(-20px,20px) scale(1.3); opacity:0.7; } 100% { transform:translate(10px,-10px) scale(0.8); opacity:0.2; } }
@keyframes scd-dream-c { 0% { transform:translate(0,0) rotate(0deg); opacity:0.5; } 50% { transform:translate(5px,-15px) rotate(15deg); opacity:0.9; } 100% { transform:translate(-5px,5px) rotate(-5deg); opacity:0.4; } }
@keyframes scd-mist { 0% { opacity:0.3; } 50% { opacity:0.7; } 100% { opacity:0.4; } }
@keyframes scd-spark { 0% { opacity:0; transform:scale(0.5); } 50% { opacity:1; transform:scale(1.5); } 100% { opacity:0; transform:scale(0.5); } }

/* Scene: liquids-mix-completely */
.scn-liquids-mix-completely {
  background: linear-gradient(160deg, #2a1f1a 0%, #4a3020 30%, #6a4a30 70%), radial-gradient(ellipse at 50% 40%, #8a6030 0%, transparent 60%);
}
.scn-liquids-mix-completely .lmc-wall { position:absolute; inset:0 0 35% 0; background:linear-gradient(180deg, #3a2a1a 0%, transparent 100%); animation:lmc-wall 12s ease-in-out infinite alternate; }
.scn-liquids-mix-completely .lmc-table { position:absolute; bottom:20%; left:10%; right:10%; height:10%; background:linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 0 0 / 100% 100% 0 0; box-shadow:0 -5px 15px rgba(0,0,0,.5); }
.scn-liquids-mix-completely .lmc-glass-left { position:absolute; bottom:28%; left:35%; width:30px; height:45px; background:linear-gradient(180deg, rgba(200,180,160,.3) 0%, rgba(100,80,60,.2) 100%); border:2px solid rgba(180,150,120,.4); border-radius:5px 5px 10px 10px; transform:skewY(-2deg); animation:lmc-glass 6s ease-in-out infinite; }
.scn-liquids-mix-completely .lmc-glass-right { position:absolute; bottom:28%; right:35%; width:30px; height:45px; background:linear-gradient(180deg, rgba(180,160,140,.3) 0%, rgba(80,60,40,.2) 100%); border:2px solid rgba(160,130,100,.4); border-radius:5px 5px 10px 10px; transform:skewY(2deg); animation:lmc-glass 6s ease-in-out infinite reverse; }
.scn-liquids-mix-completely .lmc-pour { position:absolute; bottom:30%; left:38%; width:24%; height:4px; background:linear-gradient(90deg, #c8a050 0%, #b08030 50%, #906020 100%); border-radius:50%; box-shadow:0 2px 6px rgba(200,160,80,.6); animation:lmc-pour 3s ease-in-out infinite alternate; }
.scn-liquids-mix-completely .lmc-glow { position:absolute; bottom:22%; left:45%; width:60px; height:60px; background:radial-gradient(circle, #e0a050 0%, #b07030 50%, transparent 80%); animation:lmc-glow 4s ease-in-out infinite alternate; }
.scn-liquids-mix-completely .lmc-steam { position:absolute; bottom:32%; left:46%; width:20px; height:40px; background:radial-gradient(ellipse at 50% 100%, rgba(200,180,160,.3) 0%, transparent 70%); filter:blur(4px); animation:lmc-steam 8s ease-in-out infinite; }
.scn-liquids-mix-completely .lmc-shadow { position:absolute; bottom:18%; left:20%; right:20%; height:4px; background:linear-gradient(90deg, transparent, rgba(0,0,0,.4) 30%, rgba(0,0,0,.4) 70%, transparent); border-radius:50%; animation:lmc-shadow 6s ease-in-out infinite alternate; }
@keyframes lmc-wall { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.7 } }
@keyframes lmc-glass { 0% { transform:skewY(-2deg) translateY(0) } 50% { transform:skewY(1deg) translateY(-3px) } 100% { transform:skewY(-2deg) translateY(0) } }
@keyframes lmc-pour { 0% { width:20%; opacity:.9 } 50% { width:26%; opacity:1 } 100% { width:22%; opacity:.8 } }
@keyframes lmc-glow { 0% { transform:scale(1); opacity:.7 } 50% { transform:scale(1.2); opacity:1 } 100% { transform:scale(.9); opacity:.6 } }
@keyframes lmc-steam { 0% { transform:translateY(0) scaleX(1); opacity:.5 } 50% { transform:translateY(-20px) scaleX(1.5); opacity:.3 } 100% { transform:translateY(0) scaleX(1); opacity:.5 } }
@keyframes lmc-shadow { 0% { opacity:.3; transform:scaleX(1) } 50% { opacity:.6; transform:scaleX(1.1) } 100% { opacity:.3; transform:scaleX(1) } }

/* Scene: leptis-pipkin-mother-in-law */
.scn-leptis-pipkin-mother-in-law {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2038 40%, #3a2840 100%), radial-gradient(ellipse at 50% 80%, #3a2a3a 0%, transparent 70%);
}
.scn-leptis-pipkin-mother-in-law .lpm-background { position:absolute; inset:0; background:linear-gradient(160deg, #2a2040 0%, #1a1028 100%); animation:lpm-bg 10s ease-in-out infinite alternate; }
.scn-leptis-pipkin-mother-in-law .lpm-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background:linear-gradient(180deg, #3a3040 0%, #1a1020 100%); border-radius: 40% 60% 0 0 / 20% 30% 0 0; }
.scn-leptis-pipkin-mother-in-law .lpm-table { position:absolute; bottom:25%; left:20%; right:20%; height:10%; background:linear-gradient(180deg, #4a3a4a 0%, #2a1a2a 100%); border-radius: 5px; box-shadow:0 4px 10px rgba(0,0,0,.6); }
.scn-leptis-pipkin-mother-in-law .lpm-pipkin { position:absolute; bottom:28%; left:45%; width:20px; height:25px; background:linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); border-radius: 30% 30% 20% 20%; box-shadow: 0 3px 8px rgba(0,0,0,.5); animation:lpm-pipkin 4s ease-in-out infinite alternate; }
.scn-leptis-pipkin-mother-in-law .lpm-bride { position:absolute; bottom:25%; left:38%; width:18px; 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:lpm-bride 5s ease-in-out infinite; }
.scn-leptis-pipkin-mother-in-law .lpm-mother { position:absolute; bottom:25%; right:35%; width:20px; height:42px; background:linear-gradient(180deg, #3a2a3a 0%, #1a101a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; transform:scaleX(-1); animation:lpm-mother 5s ease-in-out infinite; }
.scn-leptis-pipkin-mother-in-law .lpm-hand { position:absolute; bottom:30%; right:38%; width:12px; height:6px; background:#5a4a5a; border-radius: 50% 50% 30% 30%; transform-origin: right bottom; animation:lpm-hand 5s ease-in-out infinite; }
.scn-leptis-pipkin-mother-in-law .lpm-shadow { position:absolute; bottom:18%; left:30%; width:100px; height:6px; background:radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 70%); animation:lpm-shadow 5s ease-in-out infinite alternate; }
@keyframes lpm-bg { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes lpm-pipkin { 0% { transform:translateY(0) rotate(0); opacity:1 } 50% { transform:translateY(-4px) rotate(5deg); opacity:.8 } 100% { transform:translateY(0) rotate(0); opacity:1 } }
@keyframes lpm-bride { 0% { transform:translateX(0) translateY(0) rotate(0) } 25% { transform:translateX(3px) translateY(-2px) rotate(3deg) } 50% { transform:translateX(6px) translateY(0) rotate(0) } 75% { transform:translateX(3px) translateY(-1px) rotate(-2deg) } 100% { transform:translateX(0) translateY(0) rotate(0) } }
@keyframes lpm-mother { 0% { transform:scaleX(-1) translateX(0) rotate(0) } 50% { transform:scaleX(-1) translateX(-5px) rotate(-5deg) } 100% { transform:scaleX(-1) translateX(0) rotate(0) } }
@keyframes lpm-hand { 0% { transform:rotate(0) } 50% { transform:rotate(-10deg) } 100% { transform:rotate(0) } }
@keyframes lpm-shadow { 0% { transform:scaleX(1); opacity:.4 } 50% { transform:scaleX(1.2); opacity:.7 } 100% { transform:scaleX(1); opacity:.4 } }

/* Scene: mothers-sons-fathers-daughters */
.scn-mothers-sons-fathers-daughters {
  background: linear-gradient(180deg, #f5f0e0 0%, #e8dbc0 40%, #d4c4a0 100%), radial-gradient(ellipse at 50% 20%, #fff8ec 0%, transparent 60%);
}
.scn-mothers-sons-fathers-daughters .msf-room { position:absolute; inset:0 0 25% 0; background:linear-gradient(180deg, #ede8d8 0%, #d8c8a8 100%); border-radius: 20% 20% 0 0; animation:msf-room 15s ease-in-out infinite alternate; }
.scn-mothers-sons-fathers-daughters .msf-window { position:absolute; top:10%; left:45%; width:80px; height:100px; background:linear-gradient(180deg, #fff8e0 0%, #f0e8c0 100%); border:6px solid #c8b898; border-radius:8px; box-shadow: inset 0 0 30px rgba(255,240,200,.6); animation:msf-window 8s ease-in-out infinite alternate; }
.scn-mothers-sons-fathers-daughters .msf-mother { position:absolute; bottom:25%; left:22%; width:22px; height:45px; background:linear-gradient(180deg, #4a6a5a 0%, #2a4a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform:scaleX(-1); animation:msf-figure 6s ease-in-out infinite; }
.scn-mothers-sons-fathers-daughters .msf-son { position:absolute; bottom:25%; left:20%; width:14px; height:28px; background:linear-gradient(180deg, #5a7a6a 0%, #3a5a4a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform:scaleX(-1); animation:msf-child 5s ease-in-out infinite; }
.scn-mothers-sons-fathers-daughters .msf-father { position:absolute; bottom:25%; right:22%; width:24px; height:48px; background:linear-gradient(180deg, #5a4a6a 0%, #3a2a4a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation:msf-figure 6s ease-in-out infinite reverse; }
.scn-mothers-sons-fathers-daughters .msf-daughter { position:absolute; bottom:25%; right:20%; width:12px; height:26px; background:linear-gradient(180deg, #6a5a7a 0%, #4a3a5a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation:msf-child 5s ease-in-out infinite reverse; }
.scn-mothers-sons-fathers-daughters .msf-light { position:absolute; top:15%; left:48%; width:40px; height:60px; background:radial-gradient(ellipse, rgba(255,255,200,.8) 0%, transparent 70%); mix-blend-mode: overlay; animation:msf-light 4s ease-in-out infinite alternate; }
@keyframes msf-room { 0% { transform:scaleY(1) } 50% { transform:scaleY(1.005) } 100% { transform:scaleY(1) } }
@keyframes msf-window { 0% { box-shadow: inset 0 0 20px rgba(255,240,200,.4); opacity:.9 } 50% { box-shadow: inset 0 0 40px rgba(255,240,200,.8); opacity:1 } 100% { box-shadow: inset 0 0 20px rgba(255,240,200,.4); opacity:.9 } }
@keyframes msf-figure { 0% { transform:scaleX(-1) translateY(0) rotate(0) } 50% { transform:scaleX(-1) translateY(-2px) rotate(1deg) } 100% { transform:scaleX(-1) translateY(0) rotate(0) } }
@keyframes msf-child { 0% { transform:scaleX(-1) translateY(0) } 50% { transform:scaleX(-1) translateY(-1px) rotate(2deg) } 100% { transform:scaleX(-1) translateY(0) } }
@keyframes msf-light { 0% { opacity:.5; transform:scale(1) } 50% { opacity:.8; transform:scale(1.3) } 100% { opacity:.5; transform:scale(1) } }

/* Scene: lyre-at-wine-parties */
.scn-lyre-at-wine-parties {
  background: linear-gradient(180deg, #2a1a10 0%, #4a3020 40%, #3a2010 100%), radial-gradient(ellipse at 50% 60%, #6a4a30 0%, transparent 70%);
}
.scn-lyre-at-wine-parties .lwp-room { position:absolute; inset:0 0 20% 0; background:linear-gradient(180deg, #3a2010 0%, #1a0a00 100%); animation:lwp-room 12s ease-in-out infinite alternate; }
.scn-lyre-at-wine-parties .lwp-couch { position:absolute; bottom:15%; left:15%; right:15%; height:20%; background:linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%; box-shadow: 0 8px 20px rgba(0,0,0,.7); }
.scn-lyre-at-wine-parties .lwp-figure { position:absolute; bottom:18%; left:25%; width:24px; height:50px; background:linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform:rotate(-10deg); transform-origin: bottom center; animation:lwp-figure 7s ease-in-out infinite; }
.scn-lyre-at-wine-parties .lwp-lyre { position:absolute; bottom:28%; right:30%; width:30px; height:38px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%); border-radius: 40% 40% 20% 20%; transform:rotate(15deg); box-shadow: 0 2px 8px rgba(0,0,0,.5); animation:lwp-lyre 5s ease-in-out infinite alternate; }
.scn-lyre-at-wine-parties .lwp-wine { position:absolute; bottom:25%; right:50%; width:16px; height:22px; background: linear-gradient(180deg, #7a4a2a 0%, #5a2a0a 100%); border-radius: 5px 5px 10px 10px; border:2px solid #4a2a1a; transform:rotate(-5deg); animation:lwp-wine 3s ease-in-out infinite; }
.scn-lyre-at-wine-parties .lwp-candle { position:absolute; top:30%; left:40%; width:6px; height:20px; background: linear-gradient(180deg, #e0b060 0%, #a07030 100%); border-radius: 2px; box-shadow: 0 0 10px #e0a040; animation:lwp-candle 2s ease-in-out infinite alternate; }
.scn-lyre-at-wine-parties .lwp-glow { position:absolute; bottom:20%; left:35%; right:35%; height:40%; background: radial-gradient(ellipse at 50% 100%, rgba(200,150,80,.3) 0%, transparent 70%); pointer-events:none; mix-blend-mode: overlay; animation:lwp-glow 6s ease-in-out infinite alternate; }
@keyframes lwp-room { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes lwp-figure { 0% { transform:rotate(-10deg) translateY(0) } 50% { transform:rotate(-8deg) translateY(-3px) } 100% { transform:rotate(-10deg) translateY(0) } }
@keyframes lwp-lyre { 0% { transform:rotate(15deg) scale(1) } 50% { transform:rotate(18deg) scale(1.05) } 100% { transform:rotate(15deg) scale(1) } }
@keyframes lwp-wine { 0% { transform:rotate(-5deg) translateY(0) } 50% { transform:rotate(-3deg) translateY(-2px) } 100% { transform:rotate(-5deg) translateY(0) } }
@keyframes lwp-candle { 0% { transform:scaleY(1); opacity:.8 } 50% { transform:scaleY(1.1); opacity:1 } 100% { transform:scaleY(.95); opacity:.7 } }
@keyframes lwp-glow { 0% { opacity:.3 } 50% { opacity:.6 } 100% { opacity:.4 } }

/* lamp-out-all-women-alike */
.scn-lamp-out-all-women-alike {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #0f0f1a 40%, #1c1c30 70%, #0a0a14 100%),
    radial-gradient(ellipse at 30% 60%, #2a2a3e 0%, transparent 60%);
}
.scn-lamp-out-all-women-alike .bg-wall {
  position:absolute; inset:0; background: linear-gradient(90deg, #1e1e32 0%, #2a2a3e 50%, #1a1a2e 100%);
  animation: la-pulse 6s ease-in-out infinite alternate;
}
.scn-lamp-out-all-women-alike .bg-floor {
  position:absolute; bottom:0; left:0; width:100%; height:30%;
  background: linear-gradient(180deg, #12121e 0%, #0a0a12 100%);
}
.scn-lamp-out-all-women-alike .bg-shadow {
  position:absolute; bottom:25%; left:20%; width:60%; height:35%;
  background: radial-gradient(ellipse at 30% 50%, #000 0%, transparent 70%);
  opacity:0.7; animation: la-shadow 8s ease-in-out infinite alternate;
}
.scn-lamp-out-all-women-alike .lamp-table {
  position:absolute; bottom:28%; left:38%; width:70px; height:12px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius:4px; animation: la-table 12s ease-in-out infinite;
}
.scn-lamp-out-all-women-alike .lamp-base {
  position:absolute; bottom:32%; left:41%; width:22px; height:18px;
  background: linear-gradient(180deg, #3a3a4e 0%, #2a2a3e 100%);
  border-radius:20% 20% 10% 10%;
}
.scn-lamp-out-all-women-alike .lamp-glow {
  position:absolute; bottom:38%; left:43%; width:12px; height:10px;
  background: radial-gradient(circle, #c08a3a 0%, #805820 60%, transparent 80%);
  border-radius:50%; box-shadow: 0 0 20px 6px #b07830, 0 0 40px 12px rgba(176,120,48,0.4);
  animation: la-flicker 1.5s ease-in-out infinite alternate;
}
.scn-lamp-out-all-women-alike .figure-woman {
  position:absolute; bottom:26%; right:30%; width:24px; height:50px;
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2a 100%);
  border-radius:50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin:bottom center;
  animation: la-woman 4s ease-in-out infinite;
}
.scn-lamp-out-all-women-alike .figure-man-hand {
  position:absolute; bottom:28%; left:35%; width:16px; height:40px;
  background: linear-gradient(180deg, #1e1e32 0%, #0e0e1a 100%);
  border-radius:40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin:bottom right;
  animation: la-hand 3s ease-in-out infinite alternate;
}
.scn-lamp-out-all-women-alike .figures-shadow {
  position:absolute; bottom:24%; right:26%; width:120px; height:40px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 70%);
  animation: la-fshadow 5s ease-in-out infinite alternate;
}
@keyframes la-pulse { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes la-shadow { 0% { transform:scaleY(1) } 50% { transform:scaleY(0.95) scaleX(1.05) } 100% { transform:scaleY(1) } }
@keyframes la-table { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-1px) } }
@keyframes la-flicker { 0% { opacity:0.9; box-shadow:0 0 18px 4px #b07830,0 0 36px 8px rgba(176,120,48,0.3) } 50% { opacity:1; box-shadow:0 0 28px 8px #c89a3a,0 0 50px 16px rgba(200,154,58,0.5) } 100% { opacity:0.85; box-shadow:0 0 14px 2px #a06828,0 0 28px 6px rgba(160,104,40,0.2) } }
@keyframes la-woman { 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 la-hand { 0% { transform:translateX(0) translateY(0) rotate(10deg) } 50% { transform:translateX(2px) translateY(-2px) rotate(-5deg) } 100% { transform:translateX(0) translateY(0) rotate(10deg) } }
@keyframes la-fshadow { 0% { transform:scale(1) } 50% { transform:scale(0.9) } 100% { transform:scale(1.05) } }

/* plato-old-men-decorum */
.scn-plato-old-men-decorum {
  background:
    linear-gradient(180deg, #f2e6c8 0%, #e0d4b8 30%, #c9bda1 70%, #b0a58a 100%),
    radial-gradient(ellipse at 50% 30%, #fff9e6 0%, transparent 70%);
}
.scn-plato-old-men-decorum .bg-interior {
  position:absolute; inset:0; background: linear-gradient(180deg, #f0e2c0 0%, #d6c6a0 100%);
}
.scn-plato-old-men-decorum .window-frame {
  position:absolute; top:8%; left:12%; width:80px; height:120px;
  background: linear-gradient(180deg, #8b7d63 0%, #6b5d4a 100%);
  border-radius:4px; box-shadow: inset 0 0 10px rgba(0,0,0,0.3);
}
.scn-plato-old-men-decorum .window-glow {
  position:absolute; top:10%; left:14%; width:64px; height:96px;
  background: radial-gradient(ellipse at 50% 50%, #fffbe6 0%, #e6d8b0 60%, transparent 100%);
  animation: pd-glow 8s ease-in-out infinite alternate;
}
.scn-plato-old-men-decorum .sunbeam {
  position:absolute; top:10%; left:20%; width:300px; height:300px;
  background: linear-gradient(135deg, rgba(255,240,200,0.4) 0%, transparent 70%);
  transform:rotate(20deg); transform-origin:top left;
  animation: pd-beam 12s ease-in-out infinite alternate;
}
.scn-plato-old-men-decorum .old-man {
  position:absolute; bottom:22%; left:28%; width:28px; height:60px;
  background: linear-gradient(180deg, #c8b897 0%, #a89878 100%);
  border-radius:45% 45% 40% 40% / 55% 55% 35% 35%;
  transform-origin:bottom center;
  animation: pd-old 6s ease-in-out infinite;
}
.scn-plato-old-men-decorum .young-man-1 {
  position:absolute; bottom:24%; left:48%; width:22px; height:52px;
  background: linear-gradient(180deg, #dac8a8 0%, #b8a888 100%);
  border-radius:50% 50% 40% 40% / 55% 55% 35% 35%;
  transform-origin:bottom center;
  animation: pd-young1 8s ease-in-out infinite;
  animation-delay: -2s;
}
.scn-plato-old-men-decorum .young-man-2 {
  position:absolute; bottom:24%; left:58%; width:22px; height:52px;
  background: linear-gradient(180deg, #dac8a8 0%, #b8a888 100%);
  border-radius:50% 50% 40% 40% / 55% 55% 35% 35%;
  transform-origin:bottom center;
  animation: pd-young2 8s ease-in-out infinite;
  animation-delay: -4s;
}
.scn-plato-old-men-decorum .pillar-left {
  position:absolute; bottom:0; left:8%; width:18px; height:60%;
  background: linear-gradient(180deg, #8b7d63 0%, #6b5d4a 100%);
  border-radius:8px 8px 0 0;
}
.scn-plato-old-men-decorum .pillar-right {
  position:absolute; bottom:0; left:74%; width:18px; height:60%;
  background: linear-gradient(180deg, #8b7d63 0%, #6b5d4a 100%);
  border-radius:8px 8px 0 0;
}
@keyframes pd-glow { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes pd-beam { 0% { opacity:0.3; transform:rotate(18deg) scaleX(0.95) } 50% { opacity:0.5; transform:rotate(22deg) scaleX(1.05) } 100% { opacity:0.4; transform:rotate(20deg) scaleX(1) } }
@keyframes pd-old { 0% { transform:translateY(0) rotate(-1deg) } 50% { transform:translateY(-2px) rotate(1deg) } 100% { transform:translateY(0) rotate(-1deg) } }
@keyframes pd-young1 { 0% { transform:translateY(0) } 33% { transform:translateY(-1px) translateX(1px) } 66% { transform:translateY(-1px) translateX(-1px) } 100% { transform:translateY(0) } }
@keyframes pd-young2 { 0% { transform:translateY(0) } 33% { transform:translateY(-1px) translateX(-1px) } 66% { transform:translateY(-1px) translateX(1px) } 100% { transform:translateY(0) } }

/* timoxena-aritylla */
.scn-timoxena-aritylla {
  background:
    linear-gradient(180deg, #f5e6c0 0%, #e8d4a0 40%, #d4be8a 80%, #b8a06e 100%),
    radial-gradient(ellipse at 60% 20%, #fff8e0 0%, transparent 60%);
}
.scn-timoxena-aritylla .bg-room {
  position:absolute; inset:0; background: linear-gradient(180deg, #f0deac 0%, #dcc896 100%);
}
.scn-timoxena-aritylla .window-curtain {
  position:absolute; top:10%; left:32%; width:120px; height:140px;
  background: linear-gradient(180deg, #d4a680 0%, #b08062 100%);
  border-radius:10px 10px 0 0;
  clip-path: polygon(0 0, 100% 0, 85% 100%, 15% 100%);
  animation: ta-curtain 10s ease-in-out infinite alternate;
}
.scn-timoxena-aritylla .table {
  position:absolute; bottom:22%; left:30%; width:120px; height:16px;
  background: linear-gradient(180deg, #8a7050 0%, #6a5a3a 100%);
  border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
.scn-timoxena-aritylla .gilt-cup {
  position:absolute; bottom:30%; left:38%; width:20px; height:24px;
  background: linear-gradient(180deg, #c8a050 0%, #a08030 100%);
  border-radius:30% 30% 10% 10%;
  box-shadow: 0 0 10px 2px rgba(200,160,80,0.5);
  animation: ta-cup 6s ease-in-out infinite;
}
.scn-timoxena-aritylla .cup-glow {
  position:absolute; bottom:32%; left:36%; width:30px; height:30px;
  background: radial-gradient(circle, #e8c860 0%, transparent 70%);
  opacity:0.5;
  animation: ta-cupglow 3s ease-in-out infinite alternate;
}
.scn-timoxena-aritylla .figure-eurydice {
  position:absolute; bottom:24%; left:22%; width:24px; height:48px;
  background: linear-gradient(180deg, #b89878 0%, #98785a 100%);
  border-radius:50% 50% 45% 45% / 55% 55% 35% 35%;
  transform-origin:bottom center;
  animation: ta-eury 7s ease-in-out infinite;
}
.scn-timoxena-aritylla .scroll-unrolled {
  position:absolute; bottom:30%; left:60%; width:50px; height:14px;
  background: linear-gradient(180deg, #e8d4a0 0%, #d4b880 100%);
  border-radius:0 2px 2px 0;
  transform:rotate(-10deg);
  animation: ta-scroll 9s ease-in-out infinite alternate;
}
.scn-timoxena-aritylla .floor-tiles {
  position:absolute; bottom:0; left:0; width:100%; height:20%;
  background: repeating-linear-gradient(90deg, #c8b080 0px, #c8b080 30px, #b8a070 30px, #b8a070 60px);
  animation: ta-floor 15s linear infinite;
}
@keyframes ta-curtain { 0% { transform:scaleX(1) } 50% { transform:scaleX(0.85) } 100% { transform:scaleX(1) } }
@keyframes ta-cup { 0% { transform:translateY(0) rotate(0deg) } 50% { transform:translateY(-1px) rotate(2deg) } 100% { transform:translateY(0) rotate(0deg) } }
@keyframes ta-cupglow { 0% { opacity:0.4 } 50% { opacity:0.6 } 100% { opacity:0.5 } }
@keyframes ta-eury { 0% { transform:translateY(0) rotate(1deg) } 33% { transform:translateY(-2px) rotate(-1deg) } 66% { transform:translateY(-1px) rotate(0deg) } 100% { transform:translateY(0) rotate(1deg) } }
@keyframes ta-scroll { 0% { transform:rotate(-12deg) } 50% { transform:rotate(-8deg) } 100% { transform:rotate(-10deg) } }
@keyframes ta-floor { 0% { background-position:0 0 } 100% { background-position:60px 0 } }

/* pollianus-philosophy */
.scn-pollianus-philosophy {
  background:
    linear-gradient(180deg, #d4c898 0%, #b8a87a 40%, #9a8a5e 80%, #80704a 100%),
    radial-gradient(ellipse at 70% 20%, #f0e4b0 0%, transparent 70%);
}
.scn-pollianus-philosophy .bg-study {
  position:absolute; inset:0; background: linear-gradient(180deg, #e0d4a0 0%, #c8b888 100%);
}
.scn-pollianus-philosophy .bookshelf-back {
  position:absolute; top:8%; left:5%; width:30%; height:75%;
  background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%);
  border-radius:4px;
}
.scn-pollianus-philosophy .bookshelf-rows {
  position:absolute; top:10%; left:6%; width:28%; height:70%;
  background: repeating-linear-gradient(180deg, transparent 0px, transparent 16px, #6a5a3a 16px, #6a5a3a 18px, #5a4a2a 18px, #5a4a2a 20px);
  animation: ph-shelf 20s linear infinite;
}
.scn-pollianus-philosophy .desk {
  position:absolute; bottom:22%; left:30%; width:160px; height:16px;
  background: linear-gradient(180deg, #7a6a4a 0%, #5a4a2e 100%);
  border-radius:6px; box-shadow: 0 6px 10px rgba(0,0,0,0.3);
}
.scn-pollianus-philosophy .open-book {
  position:absolute; bottom:28%; left:36%; width:40px; height:30px;
  background: linear-gradient(180deg, #f0e4be 0%, #d4c49e 100%);
  border-radius:4px;
  clip-path: polygon(0 0, 100% 0, 70% 100%, 30% 100%);
  transform-origin:bottom center;
  animation: ph-book 5s ease-in-out infinite alternate;
}
.scn-pollianus-philosophy .figure-pollianus {
  position:absolute; bottom:24%; left:58%; width:26px; height:56px;
  background: linear-gradient(180deg, #a09070 0%, #807052 100%);
  border-radius:50% 50% 40% 40% / 55% 55% 35% 35%;
  transform-origin:bottom center;
  animation: ph-poll 8s ease-in-out infinite;
}
.scn-pollianus-philosophy .chair {
  position:absolute; bottom:20%; left:54%; width:50px; height:20px;
  background: linear-gradient(180deg, #6a5a3a 0%, #4a3a1e 100%);
  border-radius:10px 10px 4px 4px;
}
.scn-pollianus-philosophy .honeycomb-dish {
  position:absolute; bottom:30%; left:26%; width:18px; height:18px;
  background: radial-gradient(circle, #e8c860 0%, #c8a040 60%, #a08030 100%);
  border-radius:30%;
  box-shadow: 0 0 20px 6px rgba(200,160,80,0.4);
  animation: ph-honey 4s ease-in-out infinite alternate;
}
.scn-pollianus-philosophy .candle {
  position:absolute; bottom:30%; left:22%; width:8px; height:20px;
  background: linear-gradient(180deg, #e8d4a0 0%, #b89868 100%);
  border-radius:2px;
  box-shadow: 0 0 12px 4px #d4b860;
  animation: ph-candle 2s ease-in-out infinite alternate;
}
@keyframes ph-shelf { 0% { background-position:0 0 } 100% { background-position:0 20px } }
@keyframes ph-book { 0% { transform:rotate(-2deg) } 50% { transform:rotate(2deg) } 100% { transform:rotate(-1deg) } }
@keyframes ph-poll { 0% { transform:translateY(0) rotate(-1deg) } 33% { transform:translateY(-2px) rotate(1deg) } 66% { transform:translateY(-1px) rotate(0deg) } 100% { transform:translateY(0) rotate(-0.5deg) } }
@keyframes ph-honey { 0% { transform:scale(0.95); opacity:0.8 } 50% { transform:scale(1.05); opacity:1 } 100% { transform:scale(0.95); opacity:0.9 } }
@keyframes ph-candle { 0% { opacity:0.8; box-shadow:0 0 10px 2px #d4b860 } 50% { opacity:1; box-shadow:0 0 16px 6px #e8c860 } 100% { opacity:0.85; box-shadow:0 0 12px 3px #d4b860 } }

/* age-suitable-marriage */
.scn-age-suitable-marriage {
  background: linear-gradient(180deg, #f5e8d0 0%, #e8d4b8 40%, #d4b896 100%), radial-gradient(ellipse at 70% 20%, rgba(255,230,180,0.3) 0%, transparent 60%);
}
.scn-age-suitable-marriage .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #f0dcc0 0%, #e0c8a8 100%);
  animation: aim-wall 12s ease-in-out infinite alternate;
}
.scn-age-suitable-marriage .floor {
  position: absolute; bottom: 0; left:0; right:0; height:30%;
  background: linear-gradient(180deg, #c8a880 0%, #b09070 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.15);
  animation: aim-floor 8s ease-in-out infinite;
}
.scn-age-suitable-marriage .window {
  position: absolute; top:15%; left:30%; width:40%; height:45%;
  background: linear-gradient(135deg, #d4e8ff 0%, #b0d0f0 50%, #8cb8e0 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: inset 0 0 30px rgba(200,220,255,0.5), 0 0 20px rgba(255,240,200,0.3);
  animation: aim-window 18s ease-in-out infinite alternate;
}
.scn-age-suitable-marriage .figure.ismenodora {
  position: absolute; bottom:22%; left:38%; width:24px; height:60px;
  background: linear-gradient(180deg, #8a6e4e 0%, #5a422e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: aim-fig1 4s ease-in-out infinite;
}
.scn-age-suitable-marriage .figure.baccho {
  position: absolute; bottom:22%; left:52%; width:26px; height:62px;
  background: linear-gradient(180deg, #6a4e36 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: aim-fig2 4.5s ease-in-out infinite 0.2s;
}
.scn-age-suitable-marriage .chair {
  position: absolute; bottom:18%; left:44%; width:40px; height:30px;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%);
  border-radius: 4px 4px 8px 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: aim-chair 6s ease-in-out infinite;
}
.scn-age-suitable-marriage .glow {
  position: absolute; top:25%; left:35%; width:30%; height:40%;
  background: radial-gradient(ellipse, rgba(255,230,180,0.25) 0%, transparent 70%);
  animation: aim-glow 5s ease-in-out infinite alternate;
}
.scn-age-suitable-marriage .curtain.left {
  position: absolute; top:10%; left:25%; width:8%; height:50%;
  background: linear-gradient(90deg, #b09070 0%, #8a7050 100%);
  border-radius: 0 20px 20px 0;
  animation: aim-curtain 10s ease-in-out infinite alternate;
}
.scn-age-suitable-marriage .curtain.right {
  position: absolute; top:10%; right:25%; width:8%; height:50%;
  background: linear-gradient(90deg, #8a7050 0%, #b09070 100%);
  border-radius: 20px 0 0 20px;
  animation: aim-curtain 10s ease-in-out infinite alternate-reverse;
}
@keyframes aim-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.92; } }
@keyframes aim-floor { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes aim-window { 0% { opacity: 0.8; box-shadow: inset 0 0 30px rgba(200,220,255,0.5), 0 0 20px rgba(255,240,200,0.3); } 50% { opacity: 1; box-shadow: inset 0 0 40px rgba(200,220,255,0.7), 0 0 30px rgba(255,240,200,0.5); } 100% { opacity: 0.85; box-shadow: inset 0 0 20px rgba(200,220,255,0.4), 0 0 15px rgba(255,240,200,0.2); } }
@keyframes aim-fig1 { 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(4px) translateY(-1px) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes aim-fig2 { 0% { transform: translateX(0) translateY(0) rotate(1deg); } 25% { transform: translateX(-3px) translateY(-1px) rotate(-1deg); } 50% { transform: translateX(-6px) translateY(0) rotate(1deg); } 75% { transform: translateX(-3px) translateY(-1px) rotate(-1deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes aim-chair { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes aim-glow { 0% { opacity: 0.6; } 50% { opacity: 0.9; } 100% { opacity: 0.7; } }
@keyframes aim-curtain { 0% { transform: translateX(0); } 50% { transform: translateX(5px); } 100% { transform: translateX(0); } }

/* older-woman-guide */
.scn-older-woman-guide {
  background: linear-gradient(180deg, #f2dcc0 0%, #e0c4a0 40%, #c8a880 100%), radial-gradient(ellipse at 60% 30%, rgba(255,220,170,0.4) 0%, transparent 60%);
}
.scn-older-woman-guide .bg-interior {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #e8d0b0 0%, #d4b898 100%);
  animation: owg-bg 15s ease-in-out infinite alternate;
}
.scn-older-woman-guide .floor {
  position: absolute; bottom: 0; left:0; right:0; height:35%;
  background: linear-gradient(180deg, #b09878 0%, #a08868 100%);
  box-shadow: inset 0 6px 12px rgba(0,0,0,0.1);
}
.scn-older-woman-guide .window {
  position: absolute; top:12%; left:25%; width:50%; height:40%;
  background: linear-gradient(135deg, #d8e8f0 0%, #b8d0e0 50%, #98b8d0 100%);
  border-radius: 6px;
  box-shadow: inset 0 0 20px rgba(180,210,240,0.4), 0 0 15px rgba(255,230,200,0.2);
  animation: owg-window 20s ease-in-out infinite alternate;
}
.scn-older-woman-guide .figure.nurse {
  position: absolute; bottom:20%; left:32%; width:28px; height:58px;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a2e1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: owg-nurse 5s ease-in-out infinite;
}
.scn-older-woman-guide .figure.boy {
  position: absolute; bottom:22%; left:48%; width:20px; height:44px;
  background: linear-gradient(180deg, #8a6a4a 0%, #5a3e2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: owg-boy 4s ease-in-out infinite 0.3s;
}
.scn-older-woman-guide .lamp {
  position: absolute; bottom:30%; left:60%; width:12px; height:20px;
  background: radial-gradient(ellipse, #ffd080 0%, #c08040 70%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 20px 6px rgba(255,200,100,0.6), 0 0 40px 12px rgba(255,200,100,0.3);
  animation: owg-lamp 3s ease-in-out infinite alternate;
}
.scn-older-woman-guide .book {
  position: absolute; bottom:26%; left:40%; width:16px; height:20px;
  background: linear-gradient(135deg, #8a7040 0%, #6a5020 100%);
  border-radius: 2px;
  transform: rotate(-10deg);
  box-shadow: 2px 2px 4px rgba(0,0,0,0.3);
  animation: owg-book 7s ease-in-out infinite;
}
.scn-older-woman-guide .shadow {
  position: absolute; bottom:10%; left:30%; width:60px; height:20px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.2) 0%, transparent 70%);
  animation: owg-shadow 6s ease-in-out infinite alternate;
}
@keyframes owg-bg { 0% { opacity:0.95; } 50% { opacity:1; } 100% { opacity:0.93; } }
@keyframes owg-window { 0% { opacity:0.85; box-shadow: inset 0 0 20px rgba(180,210,240,0.4), 0 0 15px rgba(255,230,200,0.2); } 50% { opacity:1; box-shadow: inset 0 0 30px rgba(180,210,240,0.6), 0 0 25px rgba(255,230,200,0.4); } 100% { opacity:0.9; box-shadow: inset 0 0 15px rgba(180,210,240,0.3), 0 0 10px rgba(255,230,200,0.1); } }
@keyframes owg-nurse { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 25% { transform: translateX(3px) translateY(-2px) rotate(2deg); } 50% { transform: translateX(6px) translateY(0) rotate(-2deg); } 75% { transform: translateX(3px) translateY(-1px) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes owg-boy { 0% { transform: translateX(0) translateY(0) rotate(1deg); } 25% { transform: translateX(-2px) translateY(-1px) rotate(-1deg); } 50% { transform: translateX(-4px) translateY(0) rotate(1deg); } 75% { transform: translateX(-2px) translateY(-1px) rotate(-1deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes owg-lamp { 0% { opacity:0.7; box-shadow: 0 0 15px 4px rgba(255,200,100,0.5), 0 0 30px 8px rgba(255,200,100,0.2); } 50% { opacity:1; box-shadow: 0 0 25px 8px rgba(255,200,100,0.8), 0 0 50px 15px rgba(255,200,100,0.4); } 100% { opacity:0.8; box-shadow: 0 0 18px 5px rgba(255,200,100,0.6), 0 0 35px 10px rgba(255,200,100,0.3); } }
@keyframes owg-book { 0% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(-8deg) translateY(-2px); } 100% { transform: rotate(-10deg) translateY(0); } }
@keyframes owg-shadow { 0% { opacity:0.4; transform: scaleX(1); } 50% { opacity:0.6; transform: scaleX(1.1); } 100% { opacity:0.4; transform: scaleX(1); } }

/* heracles-megara-iolaus */
.scn-heracles-megara-iolaus {
  background: linear-gradient(180deg, #c8a880 0%, #b89870 40%, #a08060 100%), radial-gradient(ellipse at 50% 20%, rgba(255,200,150,0.3) 0%, transparent 60%);
}
.scn-heracles-megara-iolaus .bg-temple {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #d4c0a0 0%, #b8a080 50%, #a08868 100%);
  border-radius: 0 0 10% 10%;
  animation: hmi-bg 14s ease-in-out infinite alternate;
}
.scn-heracles-megara-iolaus .altar {
  position: absolute; bottom:20%; left:40%; width:20%; height:15%;
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: hmi-altar 9s ease-in-out infinite;
}
.scn-heracles-megara-iolaus .figure.heracles {
  position: absolute; bottom:18%; left:25%; width:34px; height:80px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: hmi-heracles 6s ease-in-out infinite;
}
.scn-heracles-megara-iolaus .figure.megara {
  position: absolute; bottom:22%; left:42%; width:24px; height:56px;
  background: linear-gradient(180deg, #8a6a4a 0%, #5a3e2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: hmi-megara 5s ease-in-out infinite 0.2s;
}
.scn-heracles-megara-iolaus .figure.iolaus {
  position: absolute; bottom:24%; left:54%; width:22px; height:48px;
  background: linear-gradient(180deg, #6a4e36 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: hmi-iolaus 4.5s ease-in-out infinite 0.4s;
}
.scn-heracles-megara-iolaus .flame {
  position: absolute; bottom:30%; left:48%; width:8px; height:16px;
  background: radial-gradient(ellipse, #ffb860 0%, #d08030 50%, #804020 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 20px 6px rgba(255,180,80,0.6), 0 0 40px 12px rgba(255,180,80,0.3);
  animation: hmi-flame 2s ease-in-out infinite alternate;
}
.scn-heracles-megara-iolaus .garland {
  position: absolute; top:8%; left:20%; width:60%; height:8px;
  background: linear-gradient(90deg, #a08050 0%, #d0b070 20%, #a08050 40%, #d0b070 60%, #a08050 80%, #d0b070 100%);
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: hmi-garland 12s ease-in-out infinite alternate;
}
@keyframes hmi-bg { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.92; } }
@keyframes hmi-altar { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-3px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes hmi-heracles { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 25% { transform: translateX(5px) translateY(-2px) rotate(2deg); } 50% { transform: translateX(10px) translateY(0) rotate(-1deg); } 75% { transform: translateX(5px) translateY(-1px) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes hmi-megara { 0% { transform: translateX(0) translateY(0) rotate(1deg) scale(1); } 25% { transform: translateX(-3px) translateY(-2px) rotate(-2deg) scale(1.02); } 50% { transform: translateX(-6px) translateY(0) rotate(1deg) scale(1); } 75% { transform: translateX(-3px) translateY(-1px) rotate(-1deg) scale(0.98); } 100% { transform: translateX(0) translateY(0) rotate(0) scale(1); } }
@keyframes hmi-iolaus { 0% { transform: translateX(0) translateY(0) rotate(-2deg) scale(1); } 25% { transform: translateX(2px) translateY(-1px) rotate(2deg) scale(1.03); } 50% { transform: translateX(4px) translateY(0) rotate(-2deg) scale(1); } 75% { transform: translateX(2px) translateY(-1px) rotate(1deg) scale(0.97); } 100% { transform: translateX(0) translateY(0) rotate(0) scale(1); } }
@keyframes hmi-flame { 0% { opacity:0.6; transform: scaleY(1) rotate(-5deg); } 50% { opacity:1; transform: scaleY(1.3) rotate(5deg); } 100% { opacity:0.7; transform: scaleY(1) rotate(0); } }
@keyframes hmi-garland { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }

/* ismenodora-acts-audacity */
.scn-ismenodora-acts-audacity {
  background: linear-gradient(180deg, #d4c0a0 0%, #c0a880 40%, #a89070 100%), radial-gradient(ellipse at 30% 20%, rgba(200,180,150,0.2) 0%, transparent 60%);
  box-shadow: inset 0 0 80px rgba(0,0,0,0.3);
}
.scn-ismenodora-acts-audacity .bg-audacity {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #e0d0b8 0%, #c8b098 100%);
  animation: iaa-bg 8s ease-in-out infinite alternate;
}
.scn-ismenodora-acts-audacity .floor {
  position: absolute; bottom:0; left:0; right:0; height:25%;
  background: linear-gradient(180deg, #a08868 0%, #8a7050 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.25);
  animation: iaa-floor 5s ease-in-out infinite;
}
.scn-ismenodora-acts-audacity .figure.ismenodora {
  position: absolute; bottom:18%; left:35%; width:24px; height:62px;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a2e1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: iaa-ismenodora 3s ease-in-out infinite;
}
.scn-ismenodora-acts-audacity .figure.baccho {
  position: absolute; bottom:20%; left:50%; width:26px; height:60px;
  background: linear-gradient(180deg, #5a4230 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: iaa-baccho 3.5s ease-in-out infinite 0.1s;
}
.scn-ismenodora-acts-audacity .figure.friend {
  position: absolute; bottom:22%; left:60%; width:22px; height:54px;
  background: linear-gradient(180deg, #6a4e36 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: iaa-friend 4s ease-in-out infinite 0.2s;
}
.scn-ismenodora-acts-audacity .table {
  position: absolute; bottom:12%; left:28%; width:44%; height:10%;
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: iaa-table 6s ease-in-out infinite;
}
.scn-ismenodora-acts-audacity .cup {
  position: absolute; bottom:18%; left:42%; width:10px; height:14px;
  background: linear-gradient(180deg, #c0a060 0%, #a08040 100%);
  border-radius: 4px 4px 6px 6px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: iaa-cup 2.5s ease-in-out infinite alternate;
}
.scn-ismenodora-acts-audacity .shadow-throw {
  position: absolute; bottom:8%; left:30%; width:80px; height:30px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.3) 0%, transparent 70%);
  animation: iaa-shadow 4s ease-in-out infinite alternate;
}
@keyframes iaa-bg { 0% { opacity:0.85; } 50% { opacity:0.95; } 100% { opacity:0.88; } }
@keyframes iaa-floor { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes iaa-ismenodora { 0% { transform: translateX(0) translateY(0) rotate(-3deg); } 20% { transform: translateX(8px) translateY(-3px) rotate(3deg); } 40% { transform: translateX(16px) translateY(0) rotate(-3deg); } 60% { transform: translateX(8px) translateY(-2px) rotate(2deg); } 80% { transform: translateX(0) translateY(-1px) rotate(-1deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes iaa-baccho { 0% { transform: translateX(0) translateY(0) rotate(2deg); } 25% { transform: translateX(-4px) translateY(-1px) rotate(-2deg); } 50% { transform: translateX(-8px) translateY(0) rotate(2deg); } 75% { transform: translateX(-4px) translateY(-1px) rotate(-1deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes iaa-friend { 0% { transform: translateX(0) translateY(0) rotate(-1deg) scale(1); } 25% { transform: translateX(-2px) translateY(-2px) rotate(1deg) scale(1.05); } 50% { transform: translateX(-4px) translateY(0) rotate(-1deg) scale(1); } 75% { transform: translateX(-2px) translateY(-1px) rotate(1deg) scale(0.95); } 100% { transform: translateX(0) translateY(0) rotate(0) scale(1); } }
@keyframes iaa-table { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-2px) scaleX(1.02); } 100% { transform: translateY(0) scaleX(1); } }
@keyframes iaa-cup { 0% { transform: translateY(0) rotate(-5deg); } 50% { transform: translateY(-4px) rotate(5deg); } 100% { transform: translateY(0) rotate(-3deg); } }
@keyframes iaa-shadow { 0% { opacity:0.3; transform: scaleX(1); } 50% { opacity:0.5; transform: scaleX(1.2); } 100% { opacity:0.3; transform: scaleX(1); } }

.scn-physician-saffron-spikenard-castor {
  background:
    linear-gradient(180deg, #1e1b16 0%, #2f281f 30%, #3f3528 60%, #2a241b 100%),
    radial-gradient(ellipse at 50% 100%, #4a3d2c 0%, #1e1b16 70%);
}
.scn-physician-saffron-spikenard-castor .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(90deg, #2a241b 0%, #3a2f22 50%, #2a241b 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.6); animation: ps-wall 20s ease-in-out infinite alternate;
}
.scn-physician-saffron-spikenard-castor .shelf {
  position: absolute; top: 25%; left: 10%; right: 10%; height: 6px;
  background: linear-gradient(90deg, #3a2f22 0%, #5a4a35 50%, #3a2f22 100%);
  box-shadow: 0 4px 8px rgba(0,0,0,0.5); border-radius: 1px; animation: ps-shelf 30s linear infinite;
}
.scn-physician-saffron-spikenard-castor .jar {
  position: absolute; top: 12%; width: 22px; height: 30px;
  background: linear-gradient(180deg, #6b5a44 0%, #4a3d2c 100%);
  border-radius: 20% 20% 10% 10%; box-shadow: inset -4px -4px 8px rgba(0,0,0,0.5), 0 2px 4px rgba(0,0,0,0.3);
  animation: ps-jar 6s ease-in-out infinite alternate;
}
.scn-physician-saffron-spikenard-castor .jar-a { left: 15%; height: 34px; animation-duration: 5s; }
.scn-physician-saffron-spikenard-castor .jar-b { left: 35%; top: 10%; height: 28px; background: linear-gradient(180deg, #7a684e 0%, #5a4a35 100%); animation-delay: -2s; }
.scn-physician-saffron-spikenard-castor .jar-c { left: 55%; top: 14%; height: 32px; background: linear-gradient(180deg, #5c4d36 0%, #3a2f22 100%); animation-delay: -4s; }
.scn-physician-saffron-spikenard-castor .table {
  position: absolute; bottom: 20%; left: 30%; right: 20%; height: 8px;
  background: linear-gradient(180deg, #4a3d2c 0%, #2a241b 100%);
  border-radius: 2px; box-shadow: 0 -2px 6px rgba(0,0,0,0.5); animation: ps-table 12s ease-in-out infinite alternate;
}
.scn-physician-saffron-spikenard-castor .mortar {
  position: absolute; bottom: 22%; left: 42%; width: 30px; height: 22px;
  background: radial-gradient(circle at 50% 30%, #6b5a44 0%, #3a2f22 100%);
  border-radius: 40% 40% 30% 30%; box-shadow: inset 0 -4px 8px rgba(0,0,0,0.6), 0 2px 4px rgba(0,0,0,0.3);
  transform: rotate(-5deg); animation: ps-mortar 4s ease-in-out infinite alternate;
}
.scn-physician-saffron-spikenard-castor .window {
  position: absolute; top: 8%; right: 12%; width: 50px; height: 70px;
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a4e 50%, #1a1a2e 100%);
  border: 4px solid #4a3d2c; border-radius: 4px; box-shadow: inset 0 0 20px rgba(0,0,0,0.8);
  animation: ps-window 8s ease-in-out infinite alternate;
}
.scn-physician-saffron-spikenard-castor .light-beam {
  position: absolute; top: 8%; right: 12%; width: 50px; height: 70px;
  background: linear-gradient(135deg, rgba(200,180,120,0.15) 0%, rgba(200,180,120,0) 60%);
  clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%);
  filter: blur(4px); animation: ps-beam 6s ease-in-out infinite alternate;
}
@keyframes ps-wall { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes ps-shelf { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes ps-jar { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-3px) scaleY(1.02) } 100% { transform: translateY(0) scaleY(0.98) } }
@keyframes ps-table { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.01) } 100% { transform: scaleX(1) } }
@keyframes ps-mortar { 0% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(-3deg) translateY(-2px) } 100% { transform: rotate(-5deg) translateY(0) } }
@keyframes ps-window { 0% { background: #1a1a2e } 50% { background: #2a2a4e } 100% { background: #1a1a2e } }
@keyframes ps-beam { 0% { opacity: 0.2 } 50% { opacity: 0.5 } 100% { opacity: 0.25 } }

.scn-arcesilaus-bato-cleanthes {
  background:
    linear-gradient(180deg, #1c1814 0%, #2c241e 40%, #3c3228 70%, #1c1814 100%),
    radial-gradient(ellipse at 60% 100%, #3c3228 0%, #1c1814 80%);
}
.scn-arcesilaus-bato-cleanthes .bg-room {
  position: absolute; inset: 0; background: linear-gradient(180deg, #241e18 0%, #342a22 50%, #241e18 100%);
  box-shadow: inset 0 0 80px rgba(0,0,0,0.7); animation: ar-room 18s ease-in-out infinite alternate;
}
.scn-arcesilaus-bato-cleanthes .lectern {
  position: absolute; bottom: 30%; left: 40%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #5a4a35 0%, #3a2f22 100%);
  border-radius: 10% 10% 8% 8%; box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  transform-style: preserve-3d; perspective: 200px; animation: ar-lectern 10s ease-in-out infinite alternate;
}
.scn-arcesilaus-bato-cleanthes .scroll {
  position: absolute; bottom: 38%; left: 42%; width: 30px; height: 8px;
  background: linear-gradient(180deg, #7a684e 0%, #5a4a35 100%);
  border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  transform: rotate(10deg); animation: ar-scroll 8s ease-in-out infinite alternate;
}
.scn-arcesilaus-bato-cleanthes .lamp {
  position: absolute; bottom: 44%; left: 30%; width: 20px; height: 30px;
  background: radial-gradient(circle at 50% 20%, #b08040 0%, #8a6a30 60%, #3a2f22 100%);
  border-radius: 40% 40% 20% 20%; box-shadow: 0 0 20px 6px rgba(176,128,64,0.6), 0 0 40px 12px rgba(176,128,64,0.3);
  animation: ar-lamp 3s ease-in-out infinite alternate;
}
.scn-arcesilaus-bato-cleanthes .figure-teacher {
  position: absolute; bottom: 10%; left: 28%; width: 20px; height: 60px;
  background: linear-gradient(180deg, #1a1512 0%, #0d0a08 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center; animation: ar-teacher 6s ease-in-out infinite;
}
.scn-arcesilaus-bato-cleanthes .figure-student {
  position: absolute; bottom: 10%; right: 25%; width: 18px; height: 50px;
  background: linear-gradient(180deg, #1a1512 0%, #0d0a08 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center; animation: ar-student 8s ease-in-out infinite;
}
.scn-arcesilaus-bato-cleanthes .shelf-books {
  position: absolute; top: 30%; left: 8%; right: 60%; height: 5px;
  background: #5a4a35; box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: ar-shelf 30s linear infinite;
}
@keyframes ar-room { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes ar-lectern { 0% { transform: rotateX(0deg) } 50% { transform: rotateX(5deg) } 100% { transform: rotateX(0deg) } }
@keyframes ar-scroll { 0% { transform: rotate(10deg) translateX(0) } 50% { transform: rotate(8deg) translateX(-4px) } 100% { transform: rotate(10deg) translateX(0) } }
@keyframes ar-lamp { 0% { opacity: 0.9; box-shadow: 0 0 18px 4px rgba(176,128,64,0.5), 0 0 36px 8px rgba(176,128,64,0.25) } 50% { opacity: 1; box-shadow: 0 0 30px 10px rgba(200,160,80,0.7), 0 0 60px 20px rgba(200,160,80,0.35) } 100% { opacity: 0.9; box-shadow: 0 0 20px 5px rgba(176,128,64,0.5), 0 0 40px 10px rgba(176,128,64,0.25) } }
@keyframes ar-teacher { 0% { transform: translateX(0) translateY(0) rotate(1deg) } 25% { transform: translateX(4px) translateY(-2px) rotate(-1deg) } 50% { transform: translateX(8px) translateY(0) rotate(1deg) } 75% { transform: translateX(12px) translateY(-2px) rotate(-1deg) } 100% { transform: translateX(16px) translateY(0) rotate(0) } }
@keyframes ar-student { 0% { transform: translateX(0) rotate(-2deg) } 50% { transform: translateX(-6px) rotate(2deg) } 100% { transform: translateX(0) rotate(-2deg) } }
@keyframes ar-shelf { 0% { transform: translateY(0) } 50% { transform: translateY(1px) } 100% { transform: translateY(0) } }

.scn-xenophon-agesilaus-praise-censure {
  background:
    linear-gradient(180deg, #1a1713 0%, #2b241d 40%, #3b3128 70%, #1a1713 100%),
    radial-gradient(ellipse at 50% 100%, #3b3128 0%, #1a1713 80%);
}
.scn-xenophon-agesilaus-praise-censure .bg-study {
  position: absolute; inset: 0; background: linear-gradient(180deg, #221d17 0%, #322a22 50%, #221d17 100%);
  box-shadow: inset 0 0 80px rgba(0,0,0,0.6); animation: xe-bg 20s ease-in-out infinite alternate;
}
.scn-xenophon-agesilaus-praise-censure .table-round {
  position: absolute; bottom: 22%; left: 30%; right: 30%; height: 8px;
  background: linear-gradient(90deg, #3a2f22 0%, #5a4a35 50%, #3a2f22 100%);
  border-radius: 50%; box-shadow: 0 4px 10px rgba(0,0,0,0.5); animation: xe-table 12s ease-in-out infinite alternate;
}
.scn-xenophon-agesilaus-praise-censure .scroll-open {
  position: absolute; bottom: 28%; left: 45%; width: 40px; height: 12px;
  background: linear-gradient(180deg, #7a684e 0%, #5a4a35 100%);
  border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  transform: rotate(-8deg); animation: xe-scroll 8s ease-in-out infinite alternate;
}
.scn-xenophon-agesilaus-praise-censure .lamp-low {
  position: absolute; bottom: 36%; left: 48%; width: 18px; height: 24px;
  background: radial-gradient(circle at 50% 30%, #c08040 0%, #8a6a30 60%, #3a2f22 100%);
  border-radius: 30% 30% 20% 20%; box-shadow: 0 0 20px 5px rgba(192,128,64,0.5), 0 0 40px 10px rgba(192,128,64,0.2);
  animation: xe-lamp 4s ease-in-out infinite alternate;
}
.scn-xenophon-agesilaus-praise-censure .figure-left {
  position: absolute; bottom: 12%; left: 25%; width: 20px; height: 60px;
  background: linear-gradient(180deg, #1a1512 0%, #0d0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: xe-figure-left 8s ease-in-out infinite;
}
.scn-xenophon-agesilaus-praise-censure .figure-right {
  position: absolute; bottom: 12%; right: 25%; width: 22px; height: 62px;
  background: linear-gradient(180deg, #1a1512 0%, #0d0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: xe-figure-right 8s ease-in-out infinite;
}
.scn-xenophon-agesilaus-praise-censure .pillar {
  position: absolute; bottom: 0; width: 12px; height: 100%;
  background: linear-gradient(90deg, #3a2f22 0%, #5a4a35 30%, #3a2f22 100%);
  box-shadow: inset -2px 0 6px rgba(0,0,0,0.5);
}
.scn-xenophon-agesilaus-praise-censure .pillar-left { left: 8%; }
.scn-xenophon-agesilaus-praise-censure .pillar-right { right: 8%; }
@keyframes xe-bg { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes xe-table { 0% { transform: scaleX(1) translateY(0) } 50% { transform: scaleX(1.02) translateY(-2px) } 100% { transform: scaleX(1) translateY(0) } }
@keyframes xe-scroll { 0% { transform: rotate(-8deg) translateX(0) } 50% { transform: rotate(-6deg) translateX(3px) } 100% { transform: rotate(-8deg) translateX(0) } }
@keyframes xe-lamp { 0% { opacity: 0.8; box-shadow: 0 0 15px 3px rgba(192,128,64,0.4), 0 0 30px 6px rgba(192,128,64,0.2) } 50% { opacity: 1; box-shadow: 0 0 25px 8px rgba(224,160,80,0.7), 0 0 50px 15px rgba(224,160,80,0.35) } 100% { opacity: 0.85; box-shadow: 0 0 18px 4px rgba(192,128,64,0.5), 0 0 36px 8px rgba(192,128,64,0.25) } }
@keyframes xe-figure-left { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(5px) translateY(-2px) rotate(2deg) } 50% { transform: translateX(10px) translateY(0) rotate(0deg) } 75% { transform: translateX(5px) translateY(-2px) rotate(-2deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes xe-figure-right { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(-5px) translateY(-2px) rotate(-2deg) } 50% { transform: translateX(-10px) translateY(0) rotate(0deg) } 75% { transform: translateX(-5px) translateY(-2px) rotate(2deg) } 100% { transform: translateX(0) rotate(0deg) } }

.scn-gadfly-attack-bulls-tick-dogs {
  background:
    linear-gradient(180deg, #1c1814 0%, #2c241e 30%, #3c3228 60%, #1c1814 100%),
    radial-gradient(ellipse at 50% 100%, #3c3228 0%, #1c1814 70%);
}
.scn-gadfly-attack-bulls-tick-dogs .bg-stall {
  position: absolute; inset: 0; background: linear-gradient(180deg, #241e18 0%, #342a22 50%, #241e18 100%);
  box-shadow: inset 0 0 80px rgba(0,0,0,0.7); animation: ga-bg 22s ease-in-out infinite alternate;
}
.scn-gadfly-attack-bulls-tick-dogs .bull-body {
  position: absolute; bottom: 25%; left: 20%; width: 80px; height: 60px;
  background: linear-gradient(180deg, #4a3d2c 0%, #2a241b 100%);
  border-radius: 50% 60% 40% 50% / 60% 50% 60% 50%; box-shadow: 0 8px 16px rgba(0,0,0,0.5);
  animation: ga-bull-body 12s ease-in-out infinite alternate;
}
.scn-gadfly-attack-bulls-tick-dogs .bull-head {
  position: absolute; bottom: 35%; left: 40%; width: 30px; height: 30px;
  background: linear-gradient(180deg, #4a3d2c 0%, #2a241b 100%);
  border-radius: 40% 40% 60% 60%; box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  transform: rotate(15deg); animation: ga-bull-head 10s ease-in-out infinite alternate;
}
.scn-gadfly-attack-bulls-tick-dogs .tick-side {
  position: absolute; bottom: 30%; left: 18%; width: 8px; height: 6px;
  background: #5a4a35; border-radius: 40% 40% 60% 60%;
  box-shadow: 0 0 4px rgba(0,0,0,0.3); animation: ga-tick 4s ease-in-out infinite alternate;
}
.scn-gadfly-attack-bulls-tick-dogs .dog-figure {
  position: absolute; bottom: 22%; right: 20%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #1a1512 0%, #0d0a08 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform: rotate(-10deg); animation: ga-dog 6s ease-in-out infinite;
}
.scn-gadfly-attack-bulls-tick-dogs .speaker-silhouette {
  position: absolute; bottom: 10%; left: 10%; width: 24px; height: 70px;
  background: linear-gradient(180deg, #0d0a08 0%, #000 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center; animation: ga-speaker 8s ease-in-out infinite;
}
.scn-gadfly-attack-bulls-tick-dogs .straw {
  position: absolute; bottom: 18%; left: 15%; right: 85%; height: 120px;
  background: linear-gradient(0deg, #5a4a35 0%, transparent 100%);
  width: 2px; border-radius: 1px; transform: rotate(30deg);
  animation: ga-straw 14s linear infinite;
}
@keyframes ga-bg { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes ga-bull-body { 0% { transform: translateX(0) scaleX(1) } 50% { transform: translateX(5px) scaleX(1.02) } 100% { transform: translateX(0) scaleX(0.98) } }
@keyframes ga-bull-head { 0% { transform: rotate(15deg) translateY(0) } 50% { transform: rotate(18deg) translateY(-3px) } 100% { transform: rotate(15deg) translateY(0) } }
@keyframes ga-tick { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes ga-dog { 0% { transform: rotate(-10deg) translateX(0) } 25% { transform: rotate(-8deg) translateX(4px) } 50% { transform: rotate(-10deg) translateX(0) } 75% { transform: rotate(-12deg) translateX(-4px) } 100% { transform: rotate(-10deg) translateX(0) } }
@keyframes ga-speaker { 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 ga-straw { 0% { transform: rotate(30deg) scaleY(1) } 50% { transform: rotate(28deg) scaleY(1.05) } 100% { transform: rotate(30deg) scaleY(1) } }

/* aristippus-two-slaves – funny, bright-interior */
.scn-aristippus-two-slaves {
  background:
    linear-gradient(180deg, #fdf4ce 0%, #f5e6b8 60%, #e8d5a3 100%),
    radial-gradient(ellipse at 50% 0%, #fff8e0 0%, transparent 70%);
}
.scn-aristippus-two-slaves .wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #faf0d7 0%, #ecd9aa 100%); }
.scn-aristippus-two-slaves .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #d4b882 0%, #b89860 100%); box-shadow: inset 0 12px 20px rgba(0,0,0,.2); }
.scn-aristippus-two-slaves .table { position:absolute; bottom:30%; left:45%; width:22%; height:12%; background: linear-gradient(180deg, #b87850 0%, #8a5a38 100%); border-radius: 4% 4% 6% 6%; box-shadow: 0 6px 12px rgba(0,0,0,.3); animation: a2s-table 4s ease-in-out infinite; }
.scn-aristippus-two-slaves .aristippus { position:absolute; bottom:28%; left:25%; width:16%; height:38%; background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: a2s-figure 3.5s ease-in-out infinite; box-shadow: 0 4px 8px rgba(0,0,0,.3); }
.scn-aristippus-two-slaves .seller { position:absolute; bottom:28%; right:20%; width:18%; height:42%; background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%); border-radius: 45% 45% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: a2s-figure 3.9s ease-in-out infinite 0.3s; box-shadow: 0 4px 8px rgba(0,0,0,.3); }
.scn-aristippus-two-slaves .son { position:absolute; bottom:28%; left:15%; width:10%; height:26%; background: linear-gradient(180deg, #9a8a7a 0%, #6a5a4a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: a2s-son 2.2s ease-in-out infinite; }
.scn-aristippus-two-slaves .coin-bag { position:absolute; bottom:35%; left:48%; width:6%; height:8%; background: #c8a040; border-radius: 30% 30% 40% 40%; box-shadow: 0 2px 6px rgba(0,0,0,.3); animation: a2s-coin 2s ease-in-out infinite; }
.scn-aristippus-two-slaves .chain { position:absolute; bottom:38%; left:52%; width:8%; height:4%; background: #6a5a4a; border-radius: 20%; box-shadow: 0 0 0 2px #4a3a2a; animation: a2s-chain 3s ease-in-out infinite; }
@keyframes a2s-table { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes a2s-figure { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-1px) rotate(0.5deg); } 50% { transform: translateY(0) rotate(-0.5deg); } 75% { transform: translateY(-2px) rotate(0.5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes a2s-son { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(0.95); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes a2s-coin { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-4px) rotate(10deg); } }
@keyframes a2s-chain { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(3px) rotate(5deg); } 100% { transform: translateX(0) rotate(0deg); } }

/* fathers-contradiction-manners – tense, bright-interior */
.scn-fathers-contradiction-manners {
  background:
    linear-gradient(180deg, #f0e6d0 0%, #d9c8a8 50%, #c4b090 100%),
    radial-gradient(ellipse at 80% 20%, #fff5e0 0%, transparent 60%);
}
.scn-fathers-contradiction-manners .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #ede2c8 0%, #d8c8a8 100%); }
.scn-fathers-contradiction-manners .window { position:absolute; top:8%; left:5%; width:25%; height:35%; background: linear-gradient(180deg, #aac8e0 0%, #7aa0c0 100%); border-radius: 4%; box-shadow: 0 0 20px 4px rgba(170,200,224,.4), inset 0 0 8px rgba(0,0,0,.1); animation: fcm-window 6s ease-in-out infinite alternate; }
.scn-fathers-contradiction-manners .father { position:absolute; bottom:25%; left:55%; width:18%; height:45%; background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%); border-radius: 50% 45% 40% 40% / 65% 60% 40% 35%; transform-origin: bottom center; animation: fcm-father 2.8s ease-in-out infinite; box-shadow: 0 6px 10px rgba(0,0,0,.5); }
.scn-fathers-contradiction-manners .son { position:absolute; bottom:25%; left:35%; width:14%; height:38%; background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fcm-son 3.2s ease-in-out infinite; box-shadow: 0 4px 8px rgba(0,0,0,.3); }
.scn-fathers-contradiction-manners .chair { position:absolute; bottom:28%; left:40%; width:10%; height:14%; background: linear-gradient(180deg, #8a6a3a 0%, #5a3a1a 100%); border-radius: 10% 10% 8% 8%; box-shadow: 0 4px 6px rgba(0,0,0,.3); animation: fcm-chair 4s ease-in-out infinite; }
.scn-fathers-contradiction-manners .shadow-father { position:absolute; bottom:22%; left:53%; width:22%; height:30%; background: radial-gradient(ellipse, rgba(0,0,0,0.2) 0%, transparent 70%); transform: skewX(-10deg); filter: blur(4px); animation: fcm-shadow 3s ease-in-out infinite; }
.scn-fathers-contradiction-manners .shadow-son { position:absolute; bottom:22%; left:33%; width:18%; height:25%; background: radial-gradient(ellipse, rgba(0,0,0,0.15) 0%, transparent 70%); transform: skewX(5deg); filter: blur(4px); animation: fcm-shadow 3.2s ease-in-out infinite 0.5s; }
@keyframes fcm-window { 0% { opacity:0.7; transform: scaleX(1); } 50% { opacity:1; transform: scaleX(1.02); } 100% { opacity:0.8; transform: scaleX(0.98); } }
@keyframes fcm-father { 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 fcm-son { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(1px) rotate(-1.5deg); } 60% { transform: translateY(-1px) rotate(0.5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes fcm-chair { 0%,100% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(0.97); } }
@keyframes fcm-shadow { 0%,100% { opacity:0.5; transform: skewX(-10deg) scaleY(1); } 50% { opacity:0.8; transform: skewX(-10deg) scaleY(1.05); } }

/* sons-flatterers-mistresses – dark, dim-interior */
.scn-sons-flatterers-mistresses {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2a1a3a 50%, #0d0d1a 100%),
    radial-gradient(ellipse at 50% 100%, #2a2a4a 0%, transparent 70%);
}
.scn-sons-flatterers-mistresses .bg-dark { position:absolute; inset:0; background: linear-gradient(180deg, transparent 60%, #0a0a14 100%); }
.scn-sons-flatterers-mistresses .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #1a1a24 0%, #0a0a12 100%); box-shadow: inset 0 8px 20px rgba(0,0,0,.6); }
.scn-sons-flatterers-mistresses .table { position:absolute; bottom:22%; left:40%; width:20%; height:10%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%); border-radius: 6% 6% 4% 4%; box-shadow: 0 4px 10px rgba(0,0,0,.7); animation: sfm-table 5s ease-in-out infinite; }
.scn-sons-flatterers-mistresses .young-man { position:absolute; bottom:20%; left:55%; width:16%; height:40%; background: linear-gradient(180deg, #3a2a3a 0%, #1a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sfm-sway 3s ease-in-out infinite; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-sons-flatterers-mistresses .flatterer { position:absolute; bottom:18%; left:42%; width:12%; height:32%; background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%); border-radius: 45% 55% 35% 45% / 65% 60% 40% 35%; transform-origin: bottom center; animation: sfm-flatter 4.5s ease-in-out infinite; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-sons-flatterers-mistresses .mistress { position:absolute; bottom:15%; left:30%; width:14%; height:28%; background: linear-gradient(180deg, #702243 0%, #4a122a 100%); border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%; transform-origin: bottom center; animation: sfm-mistress 3.7s ease-in-out infinite; box-shadow: 0 4px 10px rgba(0,0,0,.6); }
.scn-sons-flatterers-mistresses .dice { position:absolute; bottom:30%; left:48%; width:5%; height:5%; background: #d0c0a0; border-radius: 10%; box-shadow: 0 2px 4px rgba(0,0,0,.5); animation: sfm-dice 2s ease-in-out infinite; }
.scn-sons-flatterers-mistresses .cup { position:absolute; bottom:28%; left:44%; width:6%; height:8%; background: #6a2a1a; border-radius: 0 0 30% 30% / 0 0 40% 40%; animation: sfm-cup 3s ease-in-out infinite; }
.scn-sons-flatterers-mistresses .candle { position:absolute; bottom:40%; left:60%; width:3%; height:15%; background: linear-gradient(180deg, #ffd080 0%, #e8a040 60%, #6a2a10 100%); border-radius: 50% 50% 0 0 / 60% 60% 0 0; box-shadow: 0 0 20px 8px rgba(255,200,100,.4); animation: sfm-candle 1.8s ease-in-out infinite alternate; }
@keyframes sfm-table { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } }
@keyframes sfm-sway { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-2px) rotate(2deg); } 60% { transform: translateY(1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes sfm-flatter { 0% { transform: translateY(0) translateX(0) rotate(0deg); } 25% { transform: translateY(-1px) translateX(4px) rotate(3deg); } 50% { transform: translateY(0) translateX(0) rotate(0deg); } 75% { transform: translateY(-2px) translateX(-3px) rotate(-2deg); } 100% { transform: translateY(0) translateX(0) rotate(0deg); } }
@keyframes sfm-mistress { 0% { transform: translateY(0) rotate(0deg) scaleY(1); } 50% { transform: translateY(-3px) rotate(5deg) scaleY(0.95); } 100% { transform: translateY(0) rotate(0deg) scaleY(1); } }
@keyframes sfm-dice { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(6px) rotate(90deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes sfm-cup { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-4px) rotate(8deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes sfm-candle { 0% { opacity:0.7; transform: scaleY(1) translateY(0); } 50% { opacity:1; transform: scaleY(1.03) translateY(-1px); } 100% { opacity:0.8; transform: scaleY(0.98) translateY(0); } }

/* diogenes-brothel-precept – dark, dim-interior */
.scn-diogenes-brothel-precept {
  background:
    linear-gradient(180deg, #1a0f0f 0%, #2a1515 40%, #0d0505 100%),
    radial-gradient(ellipse at 50% 30%, #3a1a1a 0%, transparent 60%);
}
.scn-diogenes-brothel-precept .bg-dim { position:absolute; inset:0; background: linear-gradient(180deg, transparent 70%, #050505 100%); }
.scn-diogenes-brothel-precept .archway { position:absolute; bottom:25%; left:50%; width:40%; height:55%; transform: translateX(-50%); background: radial-gradient(ellipse at 50% 100%, #1a1a1a 0%, #0a0a0a 100%); border-radius: 50% 50% 0 0 / 40% 40% 0 0; box-shadow: inset 0 0 30px rgba(0,0,0,.8); }
.scn-diogenes-brothel-precept .curtain-left { position:absolute; bottom:30%; left:35%; width:12%; height:45%; background: linear-gradient(180deg, #5e1a1d 0%, #2a0a0a 100%); border-radius: 0 20% 20% 0; transform-origin: top left; animation: dbp-curtain 6s ease-in-out infinite; box-shadow: 2px 0 10px rgba(0,0,0,.5); }
.scn-diogenes-brothel-precept .curtain-right { position:absolute; bottom:30%; right:35%; width:12%; height:45%; background: linear-gradient(180deg, #5e1a1d 0%, #2a0a0a 100%); border-radius: 20% 0 0 20%; transform-origin: top right; animation: dbp-curtain 6s ease-in-out infinite 1s; box-shadow: -2px 0 10px rgba(0,0,0,.5); }
.scn-diogenes-brothel-precept .diogenes { position:absolute; bottom:22%; left:22%; width:16%; height:42%; background: linear-gradient(180deg, #2a2a2a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dbp-figure 3.5s ease-in-out infinite; box-shadow: 0 4px 8px rgba(0,0,0,.6); }
.scn-diogenes-brothel-precept .boy { position:absolute; bottom:22%; left:42%; width:10%; height:28%; background: linear-gradient(180deg, #3a2a2a 0%, #1a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dbp-boy 4s ease-in-out infinite; box-shadow: 0 4px 8px rgba(0,0,0,.6); }
.scn-diogenes-brothel-precept .lantern { position:absolute; top:28%; left:48%; width:5%; height:12%; background: linear-gradient(180deg, #c08040 0%, #a06020 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 30px 10px rgba(192,128,64,.5), 0 0 60px 20px rgba(192,128,64,.2); animation: dbp-lantern 3s ease-in-out infinite alternate; }
.scn-diogenes-brothel-precept .light-pool { position:absolute; bottom:10%; left:30%; width:40%; height:30%; background: radial-gradient(ellipse, rgba(192,128,64,.2) 0%, transparent 80%); filter: blur(10px); animation: dbp-pool 5s ease-in-out infinite alternate; }
@keyframes dbp-curtain { 0%,100% { transform: scaleX(1); } 50% { transform: scaleX(0.92); } }
@keyframes dbp-figure { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes dbp-boy { 0% { transform: translateY(0) scaleY(1); } 30% { transform: translateY(-1px) scaleY(0.96); } 70% { transform: translateY(1px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes dbp-lantern { 0% { opacity:0.8; transform: rotate(-3deg); } 50% { opacity:1; transform: rotate(3deg); } 100% { opacity:0.9; transform: rotate(-3deg); } }
@keyframes dbp-pool { 0% { opacity:0.6; transform: scale(1); } 50% { opacity:0.9; transform: scale(1.1); } 100% { opacity:0.7; transform: scale(0.95); } }

/* ===== protogenes-seasonable-marriage ===== */
.scn-protogenes-seasonable-marriage {
  background:
    linear-gradient(135deg, #e8d5b0 0%, #c9b78a 60%, #b89e6e 100%),
    linear-gradient(90deg, rgba(255,255,240,0.3) 0%, transparent 50%, rgba(200,170,130,0.4) 100%);
}
.scn-protogenes-seasonable-marriage .wall {
  position:absolute; inset:0 0 20% 0;
  background: linear-gradient(180deg, #d4c2a0 0%, #b8a47a 100%);
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.15);
  animation: ps1-wall 8s ease-in-out infinite alternate;
}
.scn-protogenes-seasonable-marriage .window {
  position:absolute; top:8%; left:20%; width:40%; height:50%;
  background: radial-gradient(ellipse at 30% 20%, #fffbe0 0%, #d4c8a0 80%);
  border-radius: 4px;
  box-shadow: inset 0 0 40px #fff8d0, 0 8px 24px rgba(0,0,0,0.3);
  animation: ps1-window 6s ease-in-out infinite alternate;
}
.scn-protogenes-seasonable-marriage .floor {
  position:absolute; bottom:0; left:0; right:0; height:20%;
  background: linear-gradient(180deg, #a08060 0%, #7a6040 100%);
  animation: ps1-floor 12s ease-in-out infinite;
}
.scn-protogenes-seasonable-marriage .table {
  position:absolute; bottom:18%; left:30%; width:25%; height:8%;
  background: linear-gradient(180deg, #6a4e30 0%, #4a3420 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  transform-origin: 50% 100%;
  animation: ps1-table 9s ease-in-out infinite alternate;
}
.scn-protogenes-seasonable-marriage .scroll {
  position:absolute; bottom:25%; left:35%; width:15%; height:6%;
  background: linear-gradient(180deg, #c8b88a 0%, #b09870 100%);
  border-radius: 20% 50% 50% 20% / 50% 30% 30% 50%;
  transform: rotate(-10deg);
  animation: ps1-scroll 5s ease-in-out infinite;
}
.scn-protogenes-seasonable-marriage .figure {
  position:absolute; bottom:20%; left:55%; width:14%; height:40%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ps1-figure 4s ease-in-out infinite alternate;
}
.scn-protogenes-seasonable-marriage .shadow-sharp {
  position:absolute; bottom:16%; left:25%; width:30%; height:10%;
  background: rgba(0,0,0,0.25);
  border-radius: 50%;
  filter: blur(4px);
  animation: ps1-shadow 6s ease-in-out infinite alternate;
}
.scn-protogenes-seasonable-marriage .dust-mote {
  position:absolute; top:20%; left:60%; width:2%; height:2%;
  background: radial-gradient(circle, rgba(255,255,200,0.7) 0%, transparent 70%);
  border-radius: 50%;
  animation: ps1-dust 12s linear infinite, ps1-dust2 5s ease-in-out infinite alternate;
}
@keyframes ps1-wall { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes ps1-window { 0% { box-shadow: inset 0 0 30px #fff8d0, 0 8px 24px rgba(0,0,0,0.3); } 50% { box-shadow: inset 0 0 60px #fffbe0, 0 12px 36px rgba(0,0,0,0.4); } 100% { box-shadow: inset 0 0 20px #f0e4b0, 0 6px 18px rgba(0,0,0,0.25); } }
@keyframes ps1-floor { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.02) translateY(-1px) } }
@keyframes ps1-table { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(1px) rotate(-1deg) } }
@keyframes ps1-scroll { 0%,100% { transform: rotate(-10deg) translateY(0) } 50% { transform: rotate(-8deg) translateY(-2px) } }
@keyframes ps1-figure { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(3px) rotate(2deg) } 100% { transform: translateX(-2px) rotate(-1deg) } }
@keyframes ps1-shadow { 0% { opacity:0.6; transform: scaleX(1) } 50% { opacity:0.4; transform: scaleX(1.2) } 100% { opacity:0.7; transform: scaleX(0.9) } }
@keyframes ps1-dust { 0% { transform: translateY(0) } 100% { transform: translateY(-50px) } }
@keyframes ps1-dust2 { 0% { opacity:0.2; transform: scale(1) } 50% { opacity:0.8; transform: scale(1.5) } 100% { opacity:0.3; transform: scale(1) } }

/* ===== ismenodora-loves-passionately ===== */
.scn-ismenodora-loves-passionately {
  background:
    linear-gradient(180deg, #1a1a3e 0%, #282850 40%, #3a2a5a 100%),
    radial-gradient(ellipse at 80% 20%, #4a4a7a 0%, transparent 70%);
}
.scn-ismenodora-loves-passionately .night-wall {
  position:absolute; inset:0 0 30% 0;
  background: linear-gradient(180deg, #2a2a4e 0%, #1a1a3e 100%);
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.6);
  animation: il-wall 10s ease-in-out infinite alternate;
}
.scn-ismenodora-loves-passionately .door {
  position:absolute; bottom:25%; left:20%; width:30%; height:60%;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
  animation: il-door 8s ease-in-out infinite alternate;
}
.scn-ismenodora-loves-passionately .window-moon {
  position:absolute; top:10%; right:15%; width:20%; height:35%;
  background: radial-gradient(circle at 50% 30%, #c8d8ff 0%, #8090c0 70%, transparent 100%);
  border-radius: 8px;
  box-shadow: 0 0 40px 10px rgba(200,216,255,0.3);
  animation: il-moon 6s ease-in-out infinite alternate;
}
.scn-ismenodora-loves-passionately .figure-kneel {
  position:absolute; bottom:28%; left:45%; width:12%; height:35%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: il-figure 5s ease-in-out infinite alternate;
}
.scn-ismenodora-loves-passionately .garland-a {
  position:absolute; bottom:45%; left:35%; width:15%; height:8%;
  background: radial-gradient(ellipse at 30% 50%, #704040 0%, #402828 100%);
  border-radius: 50%;
  transform: rotate(-20deg);
  animation: il-garland 7s ease-in-out infinite;
}
.scn-ismenodora-loves-passionately .garland-b {
  position:absolute; bottom:42%; left:55%; width:12%; height:6%;
  background: radial-gradient(ellipse at 70% 50%, #704040 0%, #402828 100%);
  border-radius: 50%;
  transform: rotate(25deg);
  animation: il-garland 7s ease-in-out infinite reverse;
}
.scn-ismenodora-loves-passionately .lyre {
  position:absolute; bottom:32%; left:30%; width:8%; height:12%;
  background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  transform: rotate(-15deg);
  animation: il-lyre 4s ease-in-out infinite alternate;
}
.scn-ismenodora-loves-passionately .shadow-dim {
  position:absolute; bottom:20%; left:25%; width:40%; height:12%;
  background: rgba(0,0,0,0.4);
  border-radius: 50%;
  filter: blur(8px);
  animation: il-shadow 9s ease-in-out infinite alternate;
}
@keyframes il-wall { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes il-door { 0% { transform: translateX(0) } 50% { transform: translateX(2px) } 100% { transform: translateX(-2px) } }
@keyframes il-moon { 0% { opacity:0.7; box-shadow: 0 0 30px 8px rgba(200,216,255,0.2); } 50% { opacity:1; box-shadow: 0 0 60px 15px rgba(200,216,255,0.4); } 100% { opacity:0.8; box-shadow: 0 0 40px 10px rgba(200,216,255,0.3); } }
@keyframes il-figure { 0% { transform: translateY(0) rotate(-2deg) } 50% { transform: translateY(-3px) rotate(2deg) } 100% { transform: translateY(0) rotate(-1deg) } }
@keyframes il-garland { 0%,100% { transform: rotate(-20deg) translateY(0) } 50% { transform: rotate(-15deg) translateY(-2px) } }
@keyframes il-lyre { 0% { transform: rotate(-15deg) scale(1) } 50% { transform: rotate(-10deg) scale(1.05) } 100% { transform: rotate(-18deg) scale(0.95) } }
@keyframes il-shadow { 0% { opacity:0.3; transform: scaleX(1) } 50% { opacity:0.5; transform: scaleX(1.2) } 100% { opacity:0.4; transform: scaleX(0.9) } }

/* ===== father-intervene-again ===== */
.scn-father-intervene-again {
  background:
    linear-gradient(180deg, #f0e8d0 0%, #d8ccb0 60%, #c0b094 100%),
    radial-gradient(ellipse at 30% 80%, #ffe0a0 0%, transparent 70%);
}
.scn-father-intervene-again .room-bg {
  position:absolute; inset:0 0 25% 0;
  background: linear-gradient(180deg, #e8dcc4 0%, #d4c8ae 100%);
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.1);
  animation: fi-bg 12s ease-in-out infinite alternate;
}
.scn-father-intervene-again .pillar-l {
  position:absolute; bottom:15%; left:5%; width:8%; height:70%;
  background: linear-gradient(90deg, #b8a890 0%, #d0c0a8 50%, #a89880 100%);
  border-radius: 6px;
  box-shadow: 4px 0 12px rgba(0,0,0,0.2);
  animation: fi-pillar 10s ease-in-out infinite alternate;
}
.scn-father-intervene-again .pillar-r {
  position:absolute; bottom:15%; right:5%; width:8%; height:70%;
  background: linear-gradient(90deg, #b8a890 0%, #d0c0a8 50%, #a89880 100%);
  border-radius: 6px;
  box-shadow: -4px 0 12px rgba(0,0,0,0.2);
  animation: fi-pillar 10s ease-in-out infinite alternate-reverse;
}
.scn-father-intervene-again .father-sit {
  position:absolute; bottom:25%; left:35%; width:18%; height:45%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%);
  border-radius: 50% 50% 40% 40% / 80% 80% 40% 40%;
  transform-origin: bottom center;
  animation: fi-father 5s ease-in-out infinite alternate;
}
.scn-father-intervene-again .scroll-open {
  position:absolute; bottom:28%; left:20%; width:20%; height:5%;
  background: linear-gradient(180deg, #d4c8a8 0%, #c0b090 100%);
  border-radius: 10% 10% 10% 10% / 50% 50% 50% 50%;
  transform: rotate(-5deg);
  animation: fi-scroll 6s ease-in-out infinite alternate;
}
.scn-father-intervene-again .oil-lamp {
  position:absolute; bottom:30%; left:58%; width:6%; height:8%;
  background: radial-gradient(circle, #ffd080 0%, #c09040 70%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 30px 6px rgba(255,208,128,0.6);
  animation: fi-lamp 3s ease-in-out infinite alternate;
}
.scn-father-intervene-again .cushion {
  position:absolute; bottom:13%; left:40%; width:20%; height:6%;
  background: linear-gradient(180deg, #806050 0%, #604030 100%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: fi-cushion 7s ease-in-out infinite;
}
.scn-father-intervene-again .soft-shadow {
  position:absolute; bottom:8%; left:30%; width:40%; height:10%;
  background: rgba(0,0,0,0.1);
  border-radius: 50%;
  filter: blur(10px);
  animation: fi-softshadow 15s ease-in-out infinite alternate;
}
@keyframes fi-bg { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.95 } }
@keyframes fi-pillar { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.005) } 100% { transform: scaleY(0.995) } }
@keyframes fi-father { 0% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes fi-scroll { 0% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(-3deg) translateY(-1px) } 100% { transform: rotate(-6deg) translateY(1px) } }
@keyframes fi-lamp { 0% { opacity:0.8; box-shadow: 0 0 20px 4px rgba(255,208,128,0.4); } 50% { opacity:1; box-shadow: 0 0 40px 10px rgba(255,208,128,0.8); } 100% { opacity:0.9; box-shadow: 0 0 25px 5px rgba(255,208,128,0.5); } }
@keyframes fi-cushion { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes fi-softshadow { 0% { opacity:0.2; transform: scaleX(1) } 50% { opacity:0.4; transform: scaleX(1.1) } 100% { opacity:0.3; transform: scaleX(0.9) } }

/* ===== father-defends-love-and-wealth ===== */
.scn-father-defends-love-and-wealth {
  background:
    linear-gradient(135deg, #e8c090 0%, #d0a070 50%, #b08050 100%),
    radial-gradient(ellipse at 20% 30%, #ffd8a0 0%, transparent 60%);
}
.scn-father-defends-love-and-wealth .golden-wall {
  position:absolute; inset:0 0 25% 0;
  background: linear-gradient(180deg, #d8b880 0%, #c8a868 100%);
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.2);
  animation: fd-wall 10s ease-in-out infinite alternate;
}
.scn-father-defends-love-and-wealth .brazier {
  position:absolute; bottom:20%; left:15%; width:12%; height:15%;
  background: linear-gradient(180deg, #8a6a3a 0%, #4a2a10 100%);
  border-radius: 10% 10% 30% 30% / 20% 20% 40% 40%;
  box-shadow: 0 0 40px 10px rgba(255,160,60,0.5);
  animation: fd-brazier 4s ease-in-out infinite alternate;
}
.scn-father-defends-love-and-wealth .vase {
  position:absolute; bottom:20%; right:20%; width:10%; height:30%;
  background: linear-gradient(180deg, #a08060 0%, #705040 100%);
  border-radius: 40% 40% 10% 10% / 60% 60% 30% 30%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.3);
  animation: fd-vase 8s ease-in-out infinite alternate;
}
.scn-father-defends-love-and-wealth .father-stand {
  position:absolute; bottom:20%; left:40%; width:15%; height:45%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform-origin: bottom center;
  animation: fd-father 5s ease-in-out infinite alternate;
}
.scn-father-defends-love-and-wealth .coin-pile {
  position:absolute; bottom:18%; left:60%; width:16%; height:6%;
  background: radial-gradient(ellipse at 50% 50%, #d4b060 0%, #b09840 100%);
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  animation: fd-coin 6s ease-in-out infinite;
}
.scn-father-defends-love-and-wealth .garland-warm {
  position:absolute; bottom:35%; left:25%; width:40%; height:8%;
  background: radial-gradient(ellipse at 30% 50%, #b06040 0%, #803020 100%);
  border-radius: 50%;
  transform: rotate(-5deg);
  animation: fd-garland 7s ease-in-out infinite alternate;
}
.scn-father-defends-love-and-wealth .radiant-halo {
  position:absolute; top:8%; left:30%; width:40%; height:30%;
  background: radial-gradient(ellipse at 50% 50%, rgba(255,200,100,0.4) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(12px);
  animation: fd-halo 9s ease-in-out infinite alternate;
}
.scn-father-defends-love-and-wealth .ember {
  position:absolute; bottom:22%; left:18%; width:2%; height:2%;
  background: radial-gradient(circle, #ff8040 0%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 6px 2px #ff8040;
  animation: fd-ember 2s ease-in-out infinite, fd-ember2 5s linear infinite;
}
@keyframes fd-wall { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes fd-brazier { 0% { box-shadow: 0 0 30px 8px rgba(255,160,60,0.4); } 50% { box-shadow: 0 0 60px 15px rgba(255,160,60,0.7); } 100% { box-shadow: 0 0 40px 10px rgba(255,160,60,0.5); } }
@keyframes fd-vase { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(-1deg) } }
@keyframes fd-father { 0% { transform: translateX(0) rotate(-1deg) } 50% { transform: translateX(2px) rotate(1deg) } 100% { transform: translateX(-1px) rotate(0) } }
@keyframes fd-coin { 0%,100% { transform: scale(1) translateY(0) } 50% { transform: scale(1.1) translateY(-1px) } }
@keyframes fd-garland { 0% { transform: rotate(-5deg) } 50% { transform: rotate(5deg) } 100% { transform: rotate(-3deg) } }
@keyframes fd-halo { 0% { opacity:0.4; transform: scaleY(1) } 50% { opacity:0.7; transform: scaleY(1.2) } 100% { opacity:0.5; transform: scaleY(0.9) } }
@keyframes fd-ember { 0% { opacity:0.2; transform: scale(1) } 50% { opacity:1; transform: scale(1.5) } 100% { opacity:0.3; transform: scale(0.8) } }
@keyframes fd-ember2 { 0% { transform: translateY(0) } 100% { transform: translateY(-20px) } }

/* Scene: alexander-letters (tense, bright-interior) */
.scn-alexander-letters {
  background:
    linear-gradient(180deg, #d4a373 0%, #b5835a 40%, #8a5a3a 100%),
    radial-gradient(ellipse at 60% 20%, #f0d0a0 0%, transparent 70%);
}
.scn-alexander-letters .window {
  position: absolute; inset: 5% 15% 60% 15%;
  background: radial-gradient(ellipse at 50% 50%, #fff8e0 0%, #e0c8a0 60%, transparent 100%);
  border-radius: 10% / 20%;
  box-shadow: 0 0 60px 20px rgba(255,240,200,0.5);
  animation: s1-window 6s ease-in-out infinite alternate;
}
.scn-alexander-letters .desk {
  position: absolute; bottom: 10%; left: 10%; right: 10%; height: 8%;
  background: linear-gradient(180deg, #6b4a2e 0%, #4a3018 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.6);
  transform: perspective(500px) rotateX(5deg);
}
.scn-alexander-letters .letter {
  position: absolute; bottom: 20%; left: 35%; width: 20%; height: 12%;
  background: linear-gradient(135deg, #f5e6d0 0%, #e0c7a8 100%);
  border: 1px solid #b08a6a;
  border-radius: 2px;
  transform: rotate(-2deg);
  box-shadow: 2px 2px 8px rgba(0,0,0,0.3);
  animation: s1-letter 10s ease-in-out infinite;
}
.scn-alexander-letters .inkwell {
  position: absolute; bottom: 19%; left: 58%; width: 4%; height: 5%;
  background: radial-gradient(circle at 50% 30%, #3a2a1a 0%, #1a0e00 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.8);
  animation: s1-ink 8s ease-in-out infinite alternate;
}
.scn-alexander-letters .figure-alex {
  position: absolute; bottom: 12%; left: 20%; width: 12%; height: 30%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: -4px 0 10px rgba(0,0,0,0.5);
  animation: s1-alex 4s ease-in-out infinite;
}
.scn-alexander-letters .figure-girl {
  position: absolute; bottom: 12%; right: 20%; width: 10%; height: 28%;
  background: linear-gradient(180deg, #8a5a3a 0%, #5a3020 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  opacity: 0.85;
  animation: s1-girl 6s ease-in-out infinite;
}
.scn-alexander-letters .lamp {
  position: absolute; bottom: 38%; left: 50%; transform: translateX(-50%);
  width: 3%; height: 5%;
  background: radial-gradient(circle, #ffd080 0%, #b08030 70%);
  border-radius: 50%;
  box-shadow: 0 0 30px 15px rgba(255,200,80,0.7), 0 0 60px 30px rgba(255,200,80,0.3);
  animation: s1-lamp 3s ease-in-out infinite alternate;
}
.scn-alexander-letters .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.6) 100%);
  pointer-events: none;
  animation: s1-shadow 8s ease-in-out infinite;
}
@keyframes s1-window { 0% { opacity: 0.7; box-shadow: 0 0 40px 15px rgba(255,240,200,0.3); } 50% { opacity: 1; box-shadow: 0 0 80px 30px rgba(255,240,200,0.6); } 100% { opacity: 0.8; box-shadow: 0 0 50px 20px rgba(255,240,200,0.4); } }
@keyframes s1-letter { 0%, 100% { transform: rotate(-2deg) translateY(0); } 50% { transform: rotate(0deg) translateY(-3px); } }
@keyframes s1-ink { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.7); } 100% { transform: scaleY(1.1); } }
@keyframes s1-alex { 0% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(4px) rotate(0deg); } 50% { transform: translateX(-2px) rotate(2deg); } 75% { transform: translateX(3px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes s1-girl { 0% { transform: translateX(0) rotate(0deg); } 33% { transform: translateX(2px) rotate(3deg); } 66% { transform: translateX(-2px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes s1-lamp { 0% { box-shadow: 0 0 20px 10px rgba(255,200,80,0.5); } 50% { box-shadow: 0 0 40px 20px rgba(255,200,80,0.8); } 100% { box-shadow: 0 0 25px 12px rgba(255,200,80,0.6); } }
@keyframes s1-shadow { 0%, 100% { opacity: 0.6; } 50% { opacity: 0.8; } }

/* Scene: love-warlike-feats (warm, bright-interior) */
.scn-love-warlike-feats {
  background:
    linear-gradient(180deg, #f5e6c8 0%, #d4a373 50%, #b5835a 100%),
    radial-gradient(ellipse at 50% 0%, #fff8e0 0%, transparent 60%);
}
.scn-love-warlike-feats .pillar-left {
  position: absolute; left: 5%; top: 0; bottom: 0; width: 6%;
  background: linear-gradient(90deg, #8a7a5a 0%, #c0b090 30%, #8a7a5a 70%, #5a4a3a 100%);
  border-radius: 10px;
  box-shadow: 2px 0 15px rgba(0,0,0,0.3);
}
.scn-love-warlike-feats .pillar-right {
  position: absolute; right: 5%; top: 0; bottom: 0; width: 6%;
  background: linear-gradient(-90deg, #8a7a5a 0%, #c0b090 30%, #8a7a5a 70%, #5a4a3a 100%);
  border-radius: 10px;
  box-shadow: -2px 0 15px rgba(0,0,0,0.3);
}
.scn-love-warlike-feats .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #b08a6a 0%, #7a5a3a 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
  transform: perspective(800px) rotateX(10deg);
}
.scn-love-warlike-feats .shield {
  position: absolute; bottom: 28%; left: 30%; width: 14%; height: 18%;
  background: radial-gradient(circle at 50% 50%, #d4a373 0%, #b08040 70%, #6b4a2e 100%);
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.5), inset 0 0 30px rgba(255,200,80,0.2);
  border: 4px solid #8a6a3a;
  animation: s2-shield 5s ease-in-out infinite;
}
.scn-love-warlike-feats .spear {
  position: absolute; bottom: 18%; left: 45%; width: 2%; height: 50%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a2a1a 100%);
  border-radius: 4px;
  transform: rotate(-15deg);
  transform-origin: bottom center;
  box-shadow: 0 0 6px rgba(0,0,0,0.4);
  animation: s2-spear 7s ease-in-out infinite;
}
.scn-love-warlike-feats .warrior {
  position: absolute; bottom: 12%; left: 40%; 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;
  box-shadow: -6px 0 15px rgba(0,0,0,0.5);
  animation: s2-warrior 8s ease-in-out infinite;
}
.scn-love-warlike-feats .heart-glow {
  position: absolute; bottom: 35%; left: 48%; width: 6%; height: 6%;
  background: radial-gradient(circle, #c8553d 0%, #a0461a 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 15px rgba(200,85,61,0.6), 0 0 60px 30px rgba(200,85,61,0.3);
  animation: s2-heart 3s ease-in-out infinite alternate;
}
.scn-love-warlike-feats .torch-left {
  position: absolute; bottom: 60%; left: 12%; width: 3%; height: 8%;
  background: radial-gradient(circle at 50% 20%, #ffd080 0%, #b08040 70%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(255,200,80,0.6);
  animation: s2-torch-left 4s ease-in-out infinite alternate;
}
.scn-love-warlike-feats .torch-right {
  position: absolute; bottom: 60%; right: 12%; width: 3%; height: 8%;
  background: radial-gradient(circle at 50% 20%, #ffd080 0%, #b08040 70%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(255,200,80,0.6);
  animation: s2-torch-right 4s ease-in-out infinite alternate 2s;
}
@keyframes s2-shield { 0%, 100% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.05) rotate(5deg); } }
@keyframes s2-spear { 0% { transform: rotate(-15deg) translateX(0); } 50% { transform: rotate(-10deg) translateX(5px); } 100% { transform: rotate(-15deg) translateX(0); } }
@keyframes s2-warrior { 0% { transform: translateX(0) rotate(-1deg); } 33% { transform: translateX(8px) rotate(2deg); } 66% { transform: translateX(-4px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes s2-heart { 0% { box-shadow: 0 0 20px 10px rgba(200,85,61,0.4); opacity: 0.8; } 50% { box-shadow: 0 0 40px 20px rgba(200,85,61,0.8); opacity: 1; } 100% { box-shadow: 0 0 25px 12px rgba(200,85,61,0.5); opacity: 0.9; } }
@keyframes s2-torch-left { 0% { box-shadow: 0 0 30px 15px rgba(255,200,80,0.5); } 50% { box-shadow: 0 0 50px 25px rgba(255,200,80,0.8); } 100% { box-shadow: 0 0 35px 18px rgba(255,200,80,0.6); } }
@keyframes s2-torch-right { 0% { box-shadow: 0 0 30px 15px rgba(255,200,80,0.5); } 50% { box-shadow: 0 0 50px 25px rgba(255,200,80,0.8); } 100% { box-shadow: 0 0 35px 18px rgba(255,200,80,0.6); } }

/* Scene: cleomachus-chalcis-battle (tense, overcast) */
.scn-cleomachus-chalcis-battle {
  background:
    linear-gradient(180deg, #5a6a5a 0%, #3a4a3a 50%, #2a3a2a 100%),
    radial-gradient(ellipse at 50% 30%, #6a8a6a 0%, transparent 70%);
}
.scn-cleomachus-chalcis-battle .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #6a7a6a 0%, #4a5a4a 100%);
  box-shadow: inset 0 0 100px rgba(0,0,0,0.3);
  animation: s3-sky 12s ease-in-out infinite alternate;
}
.scn-cleomachus-chalcis-battle .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #3a4a2e 0%, #2a3a1a 100%);
  border-radius: 30% 70% 0 0 / 40% 60% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.5);
}
.scn-cleomachus-chalcis-battle .army-left {
  position: absolute; bottom: 28%; left: 5%; width: 30%; height: 30%;
  background: linear-gradient(180deg, #1a2a1a 0%, #0a1a0a 100%);
  clip-path: polygon(0% 100%, 10% 50%, 20% 70%, 30% 40%, 40% 60%, 50% 30%, 60% 50%, 70% 20%, 80% 40%, 90% 10%, 100% 30%, 100% 100%);
  opacity: 0.8;
  animation: s3-army-left 9s ease-in-out infinite alternate;
}
.scn-cleomachus-chalcis-battle .army-right {
  position: absolute; bottom: 28%; right: 5%; width: 30%; height: 30%;
  background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%);
  clip-path: polygon(0% 30%, 10% 10%, 20% 40%, 30% 20%, 40% 50%, 50% 30%, 60% 60%, 70% 40%, 80% 70%, 90% 50%, 100% 80%, 100% 100%, 0% 100%);
  opacity: 0.8;
  animation: s3-army-right 9s ease-in-out infinite alternate 1s;
}
.scn-cleomachus-chalcis-battle .dust {
  position: absolute; bottom: 35%; left: 20%; right: 20%; height: 10%;
  background: radial-gradient(ellipse at 30% 50%, rgba(180,160,130,0.4) 0%, transparent 100%);
  filter: blur(8px);
  animation: s3-dust 5s ease-in-out infinite alternate;
}
.scn-cleomachus-chalcis-battle .spear-1 {
  position: absolute; bottom: 40%; left: 25%; width: 1.5%; height: 40%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a2a0a 100%);
  border-radius: 2px;
  transform: rotate(20deg);
  transform-origin: bottom center;
  box-shadow: 0 0 4px rgba(0,0,0,0.5);
  animation: s3-spear1 4s ease-in-out infinite;
}
.scn-cleomachus-chalcis-battle .spear-2 {
  position: absolute; bottom: 38%; right: 30%; width: 1.5%; height: 40%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a2a0a 100%);
  border-radius: 2px;
  transform: rotate(-25deg);
  transform-origin: bottom center;
  box-shadow: 0 0 4px rgba(0,0,0,0.5);
  animation: s3-spear2 4s ease-in-out infinite 2s;
}
@keyframes s3-sky { 0% { opacity: 0.6; } 50% { opacity: 0.9; } 100% { opacity: 0.7; } }
@keyframes s3-army-left { 0% { transform: translateX(0) translateY(0); } 50% { transform: translateX(10px) translateY(-5px); } 100% { transform: translateX(-5px) translateY(2px); } }
@keyframes s3-army-right { 0% { transform: translateX(0) translateY(0); } 50% { transform: translateX(-10px) translateY(-5px); } 100% { transform: translateX(5px) translateY(2px); } }
@keyframes s3-dust { 0% { opacity: 0.2; transform: scale(1); } 50% { opacity: 0.5; transform: scale(1.2); } 100% { opacity: 0.3; transform: scale(0.9); } }
@keyframes s3-spear1 { 0%, 100% { transform: rotate(20deg) translateY(0); } 50% { transform: rotate(25deg) translateY(-10px); } }
@keyframes s3-spear2 { 0%, 100% { transform: rotate(-25deg) translateY(0); } 50% { transform: rotate(-30deg) translateY(-10px); } }

/* Scene: cleomachus-love-inspires (tense, overcast) – intimate close-up */
.scn-cleomachus-love-inspires {
  background:
    linear-gradient(180deg, #4a4a3a 0%, #2a3a2a 50%, #1a2a1a 100%),
    radial-gradient(ellipse at 50% 60%, #3a4a3a 0%, transparent 70%);
}
.scn-cleomachus-love-inspires .bg-dark {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.6) 100%);
}
.scn-cleomachus-love-inspires .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%);
  border-radius: 20% 20% 0 0;
}
.scn-cleomachus-love-inspires .cleo-fig {
  position: absolute; bottom: 15%; left: 30%; width: 14%; height: 40%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: -4px 0 12px rgba(0,0,0,0.6);
  animation: s4-cleo 6s ease-in-out infinite;
}
.scn-cleomachus-love-inspires .boy-fig {
  position: absolute; bottom: 15%; right: 30%; width: 12%; height: 36%;
  background: linear-gradient(180deg, #5a4a2a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: 4px 0 12px rgba(0,0,0,0.6);
  animation: s4-boy 6s ease-in-out infinite alternate;
}
.scn-cleomachus-love-inspires .helmet {
  position: absolute; bottom: 50%; left: 28%; width: 10%; height: 8%;
  background: radial-gradient(ellipse at 50% 60%, #6a5a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.7);
  transform: rotate(-10deg);
  animation: s4-helmet 4s ease-in-out infinite alternate;
}
.scn-cleomachus-love-inspires .kiss-glow {
  position: absolute; bottom: 38%; left: 48%; width: 4%; height: 4%;
  background: radial-gradient(circle, #c8553d 0%, #a0461a 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(200,85,61,0.5), 0 0 80px 40px rgba(200,85,61,0.2);
  animation: s4-kiss 3s ease-in-out infinite alternate;
}
.scn-cleomachus-love-inspires .spear {
  position: absolute; bottom: 20%; left: 20%; width: 1.5%; height: 50%;
  background: linear-gradient(180deg, #5a3a1a 0%, #2a1a0a 100%);
  border-radius: 2px;
  transform: rotate(30deg);
  transform-origin: bottom center;
  box-shadow: 0 0 4px rgba(0,0,0,0.5);
  animation: s4-spear 5s ease-in-out infinite;
}
.scn-cleomachus-love-inspires .aura {
  position: absolute; bottom: 25%; left: 35%; right: 35%; height: 20%;
  background: radial-gradient(ellipse at 50% 50%, rgba(200,85,61,0.15) 0%, transparent 70%);
  filter: blur(10px);
  opacity: 0.6;
  animation: s4-aura 8s ease-in-out infinite alternate;
}
@keyframes s4-cleo { 0%, 100% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(5px) rotate(2deg) scale(0.98); } }
@keyframes s4-boy { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-4px) rotate(-2deg) scale(1.02); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes s4-helmet { 0% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(-5deg) translateY(-4px); } 100% { transform: rotate(-10deg) translateY(0); } }
@keyframes s4-kiss { 0% { box-shadow: 0 0 20px 10px rgba(200,85,61,0.3); opacity: 0.7; } 50% { box-shadow: 0 0 60px 30px rgba(200,85,61,0.7); opacity: 1; } 100% { box-shadow: 0 0 30px 15px rgba(200,85,61,0.4); opacity: 0.8; } }
@keyframes s4-spear { 0%, 100% { transform: rotate(30deg) translateY(0); } 50% { transform: rotate(35deg) translateY(-8px); } }
@keyframes s4-aura { 0% { opacity: 0.4; transform: scale(0.95); } 50% { opacity: 0.8; transform: scale(1.05); } 100% { opacity: 0.5; transform: scale(1); } }

.scn-indication-meretricious-friendship {
  background: linear-gradient(180deg, #2b1f1a 0%, #1f1510 50%, #14100b 100%), radial-gradient(ellipse at 50% 80%, #3a2a20 0%, transparent 60%);
}
.scn-indication-meretricious-friendship .room-bg {
  position: absolute; inset: 0; background: linear-gradient(135deg, #2b1f1a 0%, #1f1510 70%); animation: mfr-ambient 20s ease-in-out infinite alternate;
}
.scn-indication-meretricious-friendship .wall {
  position: absolute; bottom: 40%; left: 10%; right: 10%; height: 50%; background: linear-gradient(90deg, #3a2a20 0%, #4a3a2a 50%, #3a2a20 100%); border-radius: 4px; box-shadow: inset 0 4px 20px rgba(0,0,0,0.5); animation: mfr-wall 15s ease-in-out infinite;
}
.scn-indication-meretricious-friendship .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%; background: linear-gradient(180deg, #2a1e15 0%, #1a100a 100%); border-radius: 20% 20% 0 0 / 10% 10% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
}
.scn-indication-meretricious-friendship .window {
  position: absolute; top: 15%; right: 20%; width: 60px; height: 80px; background: radial-gradient(circle at 50% 50%, #a0806040 0%, transparent 70%); border: 4px solid #5a4a3a; border-radius: 4px; transform: perspective(300px) rotateY(-8deg);
}
.scn-indication-meretricious-friendship .candle {
  position: absolute; bottom: 35%; left: 48%; width: 8px; height: 40px; background: linear-gradient(180deg, #f0c080 0%, #c08040 40%, #6a4020 100%); border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%; box-shadow: 0 -10px 30px 6px #c08040, 0 -20px 60px 12px rgba(192,128,64,0.4); animation: mfr-candle 3s ease-in-out infinite alternate;
}
.scn-indication-meretricious-friendship .friend-profile {
  position: absolute; bottom: 20%; left: 30%; width: 30px; height: 70px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: mfr-friend 6s ease-in-out infinite;
}
.scn-indication-meretricious-friendship .flatterer-profile {
  position: absolute; bottom: 20%; right: 30%; width: 28px; height: 68px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: mfr-flatterer 6s ease-in-out infinite alternate;
}
.scn-indication-meretricious-friendship .shadow {
  position: absolute; bottom: 20%; left: 30%; width: 60px; height: 20px; background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 70%); animation: mfr-shadow 6s ease-in-out infinite;
}
@keyframes mfr-ambient { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes mfr-wall { 0% { transform: translateY(0px); } 50% { transform: translateY(-2px); } 100% { transform: translateY(1px); } }
@keyframes mfr-candle { 0% { transform: scaleY(1) scaleX(1); filter: brightness(0.9); } 50% { transform: scaleY(1.05) scaleX(0.95); filter: brightness(1.1); } 100% { transform: scaleY(0.95) scaleX(1.02); filter: brightness(1); } }
@keyframes mfr-friend { 0% { transform: translateX(0px) rotate(0deg); } 25% { transform: translateX(5px) rotate(2deg) scaleY(1.01); } 50% { transform: translateX(10px) rotate(-1deg); } 75% { transform: translateX(5px) rotate(1deg); } 100% { transform: translateX(0px) rotate(0deg); } }
@keyframes mfr-flatterer { 0% { transform: translateX(0px) rotate(0deg) scaleX(1); } 50% { transform: translateX(-8px) rotate(4deg) scaleX(0.9); } 100% { transform: translateX(-3px) rotate(-2deg) scaleX(1.05); } }
@keyframes mfr-shadow { 0% { transform: scaleX(1); opacity: 0.4; } 50% { transform: scaleX(1.2); opacity: 0.6; } 100% { transform: scaleX(0.9); opacity: 0.3; } }

.scn-no-friend-participates-without-advice {
  background: linear-gradient(180deg, #1e1a22 0%, #141218 50%, #0e0c10 100%), radial-gradient(ellipse at 60% 50%, #2a2232 0%, transparent 70%);
}
.scn-no-friend-participates-without-advice .room-back {
  position: absolute; inset: 0; background: linear-gradient(135deg, #1e1a22 0%, #141218 60%); animation: nfa-room 25s ease-in-out infinite alternate;
}
.scn-no-friend-participates-without-advice .desk {
  position: absolute; bottom: 25%; left: 20%; right: 20%; height: 30%; background: linear-gradient(180deg, #4a3a30 0%, #2a1e15 100%); border-radius: 8px; box-shadow: inset 0 4px 10px rgba(0,0,0,0.5); animation: nfa-desk 12s ease-in-out infinite;
}
.scn-no-friend-participates-without-advice .scroll {
  position: absolute; bottom: 40%; left: 35%; width: 40px; height: 12px; background: linear-gradient(90deg, #b8a080 0%, #d0b890 50%, #a89070 100%); border-radius: 4px; transform: rotate(10deg); box-shadow: 0 2px 6px rgba(0,0,0,0.4); animation: nfa-scroll 8s ease-in-out infinite;
}
.scn-no-friend-participates-without-advice .lamp {
  position: absolute; bottom: 45%; left: 60%; width: 14px; height: 50px; background: linear-gradient(180deg, #d0a060 0%, #a07040 40%, #604020 100%); border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%; box-shadow: 0 -15px 40px 8px #b08050, 0 -30px 80px 16px rgba(176,128,80,0.3); animation: nfa-lamp 4s ease-in-out infinite alternate;
}
.scn-no-friend-participates-without-advice .friend-sit {
  position: absolute; bottom: 22%; left: 25%; width: 40px; height: 60px; background: linear-gradient(180deg, #4a3a3a 0%, #2a1e1e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: nfa-friend 7s ease-in-out infinite;
}
.scn-no-friend-participates-without-advice .flatterer-lean {
  position: absolute; bottom: 20%; right: 25%; width: 35px; height: 65px; background: linear-gradient(180deg, #4a3a3a 0%, #2a1e1e 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom left; animation: nfa-flatterer 6s ease-in-out infinite alternate;
}
.scn-no-friend-participates-without-advice .chair {
  position: absolute; bottom: 18%; left: 20%; width: 50px; height: 70px; background: linear-gradient(180deg, #3a2a20 0%, #1a100a 100%); border-radius: 10% 10% 5% 5% / 20% 20% 10% 10%; box-shadow: inset 0 4px 10px rgba(0,0,0,0.5); animation: nfa-chair 10s ease-in-out infinite;
}
@keyframes nfa-room { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes nfa-desk { 0% { transform: translateY(0px); } 50% { transform: translateY(-2px); } 100% { transform: translateY(1px); } }
@keyframes nfa-scroll { 0% { transform: rotate(10deg) scaleX(1); } 50% { transform: rotate(12deg) scaleX(1.05) translateY(-1px); } 100% { transform: rotate(8deg) scaleX(0.95); } }
@keyframes nfa-lamp { 0% { filter: brightness(0.9) drop-shadow(0 0 8px #b08050); } 50% { filter: brightness(1.2) drop-shadow(0 0 20px #d0a060); } 100% { filter: brightness(1) drop-shadow(0 0 12px #b08050); } }
@keyframes nfa-friend { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(3px) rotate(2deg) scaleY(1.01); } 60% { transform: translateX(6px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes nfa-flatterer { 0% { transform: rotate(0deg) translateX(0); } 50% { transform: rotate(8deg) translateX(-10px) scaleY(0.95); } 100% { transform: rotate(-2deg) translateX(-5px); } }
@keyframes nfa-chair { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-3px) scale(1.02); } 100% { transform: translateY(1px) scale(0.98); } }

.scn-simpler-flatterers-assist-execution {
  background: linear-gradient(180deg, #1a1a1e 0%, #121216 50%, #0a0a0c 100%), radial-gradient(ellipse at 40% 60%, #2a2a30 0%, transparent 70%);
}
.scn-simpler-flatterers-assist-execution .hall-bg {
  position: absolute; inset: 0; background: linear-gradient(135deg, #1a1a1e 0%, #121216 60%); animation: sfa-hall 30s ease-in-out infinite alternate;
}
.scn-simpler-flatterers-assist-execution .arch {
  position: absolute; top: 10%; left: 15%; right: 15%; height: 50%; background: radial-gradient(ellipse at 50% 100%, #2a2a30 0%, #1a1a1e 70%); border-radius: 50% / 60% 60% 10% 10%; box-shadow: inset 0 0 30px rgba(0,0,0,0.8); animation: sfa-arch 20s ease-in-out infinite;
}
.scn-simpler-flatterers-assist-execution .chest {
  position: absolute; bottom: 20%; left: 35%; right: 35%; height: 25%; background: linear-gradient(90deg, #4a3a30 0%, #5a4a3a 50%, #4a3a30 100%); border-radius: 8% 8% 5% 5%; box-shadow: inset 0 4px 10px rgba(0,0,0,0.6), 0 8px 20px rgba(0,0,0,0.5); animation: sfa-chest 15s ease-in-out infinite;
}
.scn-simpler-flatterers-assist-execution .flatterer-a {
  position: absolute; bottom: 18%; left: 15%; width: 30px; height: 60px; background: linear-gradient(180deg, #4a3a3a 0%, #2a1e1e 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: sfa-a 5s ease-in-out infinite;
}
.scn-simpler-flatterers-assist-execution .flatterer-b {
  position: absolute; bottom: 18%; right: 15%; width: 30px; height: 58px; background: linear-gradient(180deg, #4a3a3a 0%, #2a1e1e 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: sfa-b 6s ease-in-out infinite alternate;
}
.scn-simpler-flatterers-assist-execution .cunning {
  position: absolute; bottom: 15%; left: 50%; width: 28px; height: 65px; background: linear-gradient(180deg, #3a2a2a 0%, #1a1010 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: translateX(-50%); animation: sfa-cunning 8s ease-in-out infinite;
}
.scn-simpler-flatterers-assist-execution .shadow-ground {
  position: absolute; bottom: 15%; left: 10%; right: 10%; height: 15px; background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%); animation: sfa-shadow 10s ease-in-out infinite;
}
@keyframes sfa-hall { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes sfa-arch { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.97) translateY(3px); } 100% { transform: scaleY(1.02); } }
@keyframes sfa-chest { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-4px) scaleX(1.02); } 100% { transform: translateY(2px) scaleX(0.98); } }
@keyframes sfa-a { 0% { transform: translateX(0) rotate(0deg) scaleY(1); } 30% { transform: translateX(10px) rotate(5deg) scaleY(0.95); } 60% { transform: translateX(15px) rotate(-3deg) scaleY(1.02); } 100% { transform: translateX(0) rotate(0deg) scaleY(1); } }
@keyframes sfa-b { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-10px) rotate(-6deg) scaleY(0.9); } 100% { transform: translateX(-5px) rotate(2deg) scaleY(1.05); } }
@keyframes sfa-cunning { 0% { transform: translateX(-50%) rotate(0deg) scaleY(1); } 40% { transform: translateX(-50%) rotate(3deg) scaleY(0.98); } 70% { transform: translateX(-50%) rotate(-2deg) scaleY(1.03); } 100% { transform: translateX(-50%) rotate(0deg) scaleY(1); } }
@keyframes sfa-shadow { 0% { opacity: 0.4; transform: scaleX(1); } 50% { opacity: 0.6; transform: scaleX(1.1); } 100% { opacity: 0.3; transform: scaleX(0.9); } }

.scn-arcesilaus-apelles-chios-money {
  background: linear-gradient(180deg, #1a1410 0%, #2a1e15 50%, #3a2818 100%), radial-gradient(ellipse at 60% 40%, #5a3a20 0%, transparent 70%);
}
.scn-arcesilaus-apelles-chios-money .room-warm {
  position: absolute; inset: 0; background: linear-gradient(135deg, #2a1e15 0%, #1a1410 60%); animation: aac-room 20s ease-in-out infinite alternate;
}
.scn-arcesilaus-apelles-chios-money .bed {
  position: absolute; bottom: 15%; left: 10%; right: 50%; height: 50%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e15 100%); border-radius: 10% 10% 5% 5% / 20% 20% 10% 10%; box-shadow: inset 0 8px 20px rgba(0,0,0,0.6); animation: aac-bed 15s ease-in-out infinite;
}
.scn-arcesilaus-apelles-chios-money .sick-figure {
  position: absolute; bottom: 20%; left: 18%; width: 40px; height: 60px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom left; animation: aac-sick 8s ease-in-out infinite;
}
.scn-arcesilaus-apelles-chios-money .visitor {
  position: absolute; bottom: 18%; right: 20%; width: 35px; height: 65px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: aac-visitor 7s ease-in-out infinite alternate;
}
.scn-arcesilaus-apelles-chios-money .table {
  position: absolute; bottom: 30%; right: 30%; left: 50%; height: 20%; background: linear-gradient(90deg, #4a3a2a 0%, #5a4a3a 50%, #4a3a2a 100%); border-radius: 4px; box-shadow: inset 0 4px 10px rgba(0,0,0,0.5); animation: aac-table 12s ease-in-out infinite;
}
.scn-arcesilaus-apelles-chios-money .coins {
  position: absolute; bottom: 36%; right: 38%; width: 20px; height: 6px; background: radial-gradient(circle at 50% 50%, #d0a040 0%, #b08030 50%, #905020 100%); border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,0.5), 0 4px 8px rgba(0,0,0,0.3); animation: aac-coins 9s ease-in-out infinite;
}
.scn-arcesilaus-apelles-chios-money .candle {
  position: absolute; bottom: 38%; right: 42%; width: 8px; height: 45px; background: linear-gradient(180deg, #f0a050 0%, #c08030 40%, #804020 100%); border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%; box-shadow: 0 -10px 30px 6px #c08030, 0 -20px 60px 12px rgba(192,128,48,0.4); animation: aac-candle 3s ease-in-out infinite alternate;
}
.scn-arcesilaus-apelles-chios-money .glow-overlay {
  position: absolute; inset: 0; background: radial-gradient(ellipse at 55% 40%, #d0904080 0%, transparent 60%); pointer-events: none; animation: aac-glow 6s ease-in-out infinite alternate;
}
@keyframes aac-room { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes aac-bed { 0% { transform: translateY(0); } 50% { transform: translateY(-3px) scaleY(1.01); } 100% { transform: translateY(1px) scaleY(0.99); } }
@keyframes aac-sick { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(2px) rotate(2deg); } 60% { transform: translateX(-1px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes aac-visitor { 0% { transform: translateX(0) rotate(0deg) scaleX(1); } 50% { transform: translateX(-8px) rotate(5deg) scaleX(0.9); } 100% { transform: translateX(-3px) rotate(-2deg) scaleX(1.05); } }
@keyframes aac-table { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(1px); } }
@keyframes aac-coins { 0% { transform: rotate(0deg) scale(1); filter: brightness(0.9); } 50% { transform: rotate(10deg) scale(1.05); filter: brightness(1.1); } 100% { transform: rotate(-5deg) scale(0.95); filter: brightness(1); } }
@keyframes aac-candle { 0% { transform: scaleY(1) scaleX(1); filter: brightness(0.85); } 50% { transform: scaleY(1.08) scaleX(0.92); filter: brightness(1.15); } 100% { transform: scaleY(0.95) scaleX(1.03); filter: brightness(1); } }
@keyframes aac-glow { 0% { opacity: 0.5; } 50% { opacity: 0.8; } 100% { opacity: 0.6; } }

/* ---- scene: parmenides-hesiod-oldest ---- */
.scn-parmenides-hesiod-oldest {
  background:
    linear-gradient(180deg, #f5ecd8 0%, #e0cba8 40%, #c8a880 100%),
    radial-gradient(ellipse at 50% 20%, #fff8e0 0%, transparent 60%);
}
.scn-parmenides-hesiod-oldest .bg {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #d4bc94 0%, #b89870 100%);
  animation: pho-sky 12s ease-in-out infinite alternate;
}
.scn-parmenides-hesiod-oldest .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #a08060 0%, #7a5e40 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.3);
  animation: pho-floor 18s ease-in-out infinite alternate;
}
.scn-parmenides-hesiod-oldest .wall-left {
  position: absolute; bottom: 25%; left: 0; width: 30%; height: 60%;
  background: linear-gradient(135deg, #c8a880 0%, #b09070 100%);
  border-radius: 0 20% 0 0;
  box-shadow: inset 0 4px 12px rgba(0,0,0,0.2);
  animation: pho-wall 9s ease-in-out infinite;
}
.scn-parmenides-hesiod-oldest .wall-right {
  position: absolute; bottom: 25%; right: 0; width: 30%; height: 60%;
  background: linear-gradient(225deg, #c8a880 0%, #b09070 100%);
  border-radius: 20% 0 0 0;
  box-shadow: inset 0 4px 12px rgba(0,0,0,0.2);
  animation: pho-wall 9s ease-in-out infinite reverse;
}
.scn-parmenides-hesiod-oldest .statue {
  position: absolute; bottom: 30%; left: 50%; width: 40px; height: 80px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #d4b890 0%, #a88860 50%, #7a6040 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.4);
  animation: pho-statue 4s ease-in-out infinite;
}
.scn-parmenides-hesiod-oldest .glow {
  position: absolute; bottom: 35%; left: 50%; width: 30px; height: 30px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #ffe680 0%, #ffcc40 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(255,200,80,0.5), 0 0 60px 20px rgba(255,200,80,0.2);
  animation: pho-glow 3s ease-in-out infinite alternate;
}
.scn-parmenides-hesiod-oldest .scroll {
  position: absolute; bottom: 20%; left: 32%;
  width: 50px; height: 20px;
  background: linear-gradient(180deg, #f0e0c0 0%, #d0b890 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: pho-scroll 5s ease-in-out infinite;
}
.scn-parmenides-hesiod-oldest .dust {
  position: absolute; top: 20%; left: 20%; width: 8px; height: 8px;
  background: radial-gradient(circle, rgba(255,230,180,0.6) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(2px);
  animation: pho-dust 15s linear infinite;
}
@keyframes pho-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.75; } }
@keyframes pho-floor { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes pho-wall { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(1deg); } }
@keyframes pho-statue { 0% { transform: translateX(-50%) translateY(0) rotate(0deg); } 50% { transform: translateX(-50%) translateY(-3px) rotate(1deg); } 100% { transform: translateX(-50%) translateY(0) rotate(-1deg); } }
@keyframes pho-glow { 0% { box-shadow: 0 0 20px 5px rgba(255,200,80,0.5), 0 0 40px 10px rgba(255,200,80,0.2); opacity: 0.8; } 50% { box-shadow: 0 0 40px 12px rgba(255,200,80,0.7), 0 0 80px 20px rgba(255,200,80,0.4); opacity: 1; } 100% { box-shadow: 0 0 25px 8px rgba(255,200,80,0.5), 0 0 50px 15px rgba(255,200,80,0.2); opacity: 0.9; } }
@keyframes pho-scroll { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(5px) rotate(2deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes pho-dust { 0% { transform: translate(0, 0) scale(1); opacity: 0.4; } 50% { transform: translate(-15px, -10px) scale(1.2); opacity: 0.7; } 100% { transform: translate(-30px, -20px) scale(0.8); opacity: 0; } }

/* ---- scene: love-aphrodite-honours-linked ---- */
.scn-love-aphrodite-honours-linked {
  background:
    linear-gradient(180deg, #faead6 0%, #e8d0b0 50%, #ccb090 100%),
    radial-gradient(ellipse at 50% 40%, #fff4e0 0%, transparent 70%);
}
.scn-love-aphrodite-honours-linked .temple-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #e0c8a8 0%, #c8a880 50%, #b09070 100%);
  animation: lah-bg 14s ease-in-out infinite alternate;
}
.scn-love-aphrodite-honours-linked .column-left {
  position: absolute; bottom: 20%; left: 15%; width: 12px; height: 60%;
  background: linear-gradient(180deg, #d4c0a0 0%, #b8a080 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: lah-column 10s ease-in-out infinite;
}
.scn-love-aphrodite-honours-linked .column-right {
  position: absolute; bottom: 20%; right: 15%; width: 12px; height: 60%;
  background: linear-gradient(180deg, #d4c0a0 0%, #b8a080 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: lah-column 10s ease-in-out infinite reverse;
}
.scn-love-aphrodite-honours-linked .figure-love {
  position: absolute; bottom: 28%; left: 35%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #c8a070 0%, #a08050 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lah-figure 6s ease-in-out infinite;
}
.scn-love-aphrodite-honours-linked .figure-aphrodite {
  position: absolute; bottom: 28%; right: 35%; width: 22px; height: 44px;
  background: linear-gradient(180deg, #d4b090 0%, #b89070 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lah-figure 6s ease-in-out infinite 2s;
}
.scn-love-aphrodite-honours-linked .altar {
  position: absolute; bottom: 18%; left: 50%; width: 30px; height: 20px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #c8a070 0%, #a08050 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: lah-altar 8s ease-in-out infinite;
}
.scn-love-aphrodite-honours-linked .lightbeam {
  position: absolute; top: 0; left: 45%; width: 10%; height: 100%;
  background: linear-gradient(180deg, rgba(255,240,200,0.4) 0%, rgba(255,240,200,0) 100%);
  transform: skewX(-2deg);
  animation: lah-beam 6s ease-in-out infinite alternate;
}
.scn-love-aphrodite-honours-linked .cloud-1 {
  position: absolute; top: 12%; left: 20%; width: 70px; height: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.4) 0%, rgba(255,255,255,0.05) 100%);
  border-radius: 50%;
  filter: blur(5px);
  animation: lah-cloud 30s linear infinite;
}
.scn-love-aphrodite-honours-linked .cloud-2 {
  position: absolute; top: 18%; right: 25%; width: 50px; height: 12px;
  background: linear-gradient(180deg, rgba(255,255,255,0.3) 0%, rgba(255,255,255,0.03) 100%);
  border-radius: 50%;
  filter: blur(4px);
  animation: lah-cloud 40s linear infinite reverse;
}
@keyframes lah-bg { 0% { opacity: 0.85; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes lah-column { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes lah-figure { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(2deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(-4px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes lah-altar { 0% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-2px); } 100% { transform: translateX(-50%) translateY(0); } }
@keyframes lah-beam { 0% { opacity: 0.5; transform: skewX(-2deg) scaleX(1); } 50% { opacity: 0.8; transform: skewX(1deg) scaleX(1.1); } 100% { opacity: 0.6; transform: skewX(-1deg) scaleX(0.95); } }
@keyframes lah-cloud { 0% { transform: translateX(-40px); } 100% { transform: translateX(120vw); } }

/* ---- scene: other-gods-reviled ---- */
.scn-other-gods-reviled {
  background:
    linear-gradient(180deg, #e8e0d0 0%, #d0c0a8 40%, #b8a888 100%),
    radial-gradient(ellipse at 50% 60%, #ffffff 0%, transparent 70%);
}
.scn-other-gods-reviled .room-bg {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(135deg, #d8d0c0 0%, #c0b098 100%);
  animation: ogr-bg 16s ease-in-out infinite alternate;
}
.scn-other-gods-reviled .pedestal {
  position: absolute; bottom: 22%; left: 35%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #c0a888 0%, #a08868 100%);
  border-radius: 8% 8% 12% 12%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: ogr-pedestal 10s ease-in-out infinite;
}
.scn-other-gods-reviled .statue-ares {
  position: absolute; bottom: 40%; left: 36%; width: 20px; height: 45px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6a5040 0%, #483028 100%);
  border-radius: 40% 40% 35% 35% / 55% 55% 35% 35%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: ogr-ares 5s ease-in-out infinite;
}
.scn-other-gods-reviled .shield {
  position: absolute; bottom: 42%; left: 44%; width: 18px; height: 18px;
  background: radial-gradient(circle, #a08060 0%, #7a6040 70%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: ogr-shield 4s ease-in-out infinite;
}
.scn-other-gods-reviled .window {
  position: absolute; top: 15%; left: 60%; width: 50px; height: 70px;
  background: linear-gradient(135deg, #b0a898 0%, #908070 100%);
  border-radius: 8px;
  box-shadow: inset 0 0 20px rgba(255,255,255,0.2);
  animation: ogr-window 8s ease-in-out infinite;
}
.scn-other-gods-reviled .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.2) 100%);
  animation: ogr-shadow 12s ease-in-out infinite alternate;
}
.scn-other-gods-reviled .halo {
  position: absolute; top: 18%; left: 45%; width: 40px; height: 40px;
  background: radial-gradient(circle, rgba(200,180,160,0.3) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(8px);
  animation: ogr-halo 7s ease-in-out infinite alternate;
}
@keyframes ogr-bg { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes ogr-pedestal { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes ogr-ares { 0% { transform: translateX(-50%) translateY(0) rotate(0deg); } 50% { transform: translateX(-50%) translateY(-3px) rotate(2deg); } 100% { transform: translateX(-50%) translateY(0) rotate(-2deg); } }
@keyframes ogr-shield { 0% { transform: translate(0, 0) rotate(0deg); } 50% { transform: translate(2px, -2px) rotate(15deg); } 100% { transform: translate(0, 0) rotate(5deg); } }
@keyframes ogr-window { 0% { box-shadow: inset 0 0 20px rgba(255,255,255,0.2); } 50% { box-shadow: inset 0 0 30px rgba(255,255,255,0.4); } 100% { box-shadow: inset 0 0 20px rgba(255,255,255,0.2); } }
@keyframes ogr-shadow { 0% { opacity: 0.4; } 50% { opacity: 0.6; } 100% { opacity: 0.3; } }
@keyframes ogr-halo { 0% { opacity: 0.3; transform: scale(1); } 50% { opacity: 0.6; transform: scale(1.2); } 100% { opacity: 0.4; transform: scale(0.9); } }

/* ---- scene: homer-chrysippus-ares ---- */
.scn-homer-chrysippus-ares {
  background:
    linear-gradient(180deg, #d6cebe 0%, #c0b4a0 50%, #a89880 100%),
    radial-gradient(ellipse at 50% 30%, #faf4e8 0%, transparent 70%);
}
.scn-homer-chrysippus-ares .wall-bg {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #c8bca8 0%, #b0a08c 100%);
  animation: hca-bg 14s ease-in-out infinite alternate;
}
.scn-homer-chrysippus-ares .desk {
  position: absolute; bottom: 25%; left: 25%; right: 25%; height: 18%;
  background: linear-gradient(180deg, #b09878 0%, #90785a 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
  animation: hca-desk 12s ease-in-out infinite;
}
.scn-homer-chrysippus-ares .scroll {
  position: absolute; bottom: 32%; left: 38%; width: 60px; height: 16px;
  background: linear-gradient(180deg, #f0e0c4 0%, #d0b890 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: hca-scroll 8s ease-in-out infinite;
}
.scn-homer-chrysippus-ares .inkwell {
  position: absolute; bottom: 26%; left: 48%; width: 14px; height: 16px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  animation: hca-inkwell 5s ease-in-out infinite;
}
.scn-homer-chrysippus-ares .hand {
  position: absolute; bottom: 34%; left: 44%; width: 12px; height: 20px;
  background: linear-gradient(180deg, #c0a080 0%, #a08060 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  transform-origin: bottom center;
  animation: hca-hand 4s ease-in-out infinite;
}
.scn-homer-chrysippus-ares .window {
  position: absolute; top: 10%; left: 55%; width: 40px; height: 50px;
  background: linear-gradient(135deg, #e8dcc8 0%, #c8b8a0 100%);
  border-radius: 6px;
  box-shadow: inset 0 0 16px rgba(255,255,255,0.3);
  animation: hca-window 9s ease-in-out infinite;
}
.scn-homer-chrysippus-ares .dust-mote {
  position: absolute; top: 30%; left: 10%; width: 6px; height: 6px;
  background: radial-gradient(circle, rgba(255,240,220,0.5) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(1px);
  animation: hca-dust 20s linear infinite;
}
.scn-homer-chrysippus-ares .glow-ink {
  position: absolute; bottom: 27%; left: 49%; width: 10px; height: 10px;
  background: radial-gradient(circle, #5a4a3a 0%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 10px 3px rgba(90,74,58,0.4);
  animation: hca-glow 4s ease-in-out infinite alternate;
}
@keyframes hca-bg { 0% { opacity: 0.85; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes hca-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes hca-scroll { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(4px) rotate(2deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes hca-inkwell { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes hca-hand { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(6px) rotate(5deg); } 50% { transform: translateX(0) rotate(-3deg); } 75% { transform: translateX(-4px) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes hca-window { 0% { box-shadow: inset 0 0 16px rgba(255,255,255,0.3); } 50% { box-shadow: inset 0 0 24px rgba(255,255,255,0.5); } 100% { box-shadow: inset 0 0 16px rgba(255,255,255,0.3); } }
@keyframes hca-dust { 0% { transform: translate(0, 0) scale(1); opacity: 0.3; } 50% { transform: translate(-20px, -15px) scale(1.3); opacity: 0.6; } 100% { transform: translate(-40px, -30px) scale(0.7); opacity: 0; } }
@keyframes hca-glow { 0% { opacity: 0.4; box-shadow: 0 0 8px 2px rgba(90,74,58,0.3); } 50% { opacity: 0.8; box-shadow: 0 0 14px 5px rgba(90,74,58,0.5); } 100% { opacity: 0.5; box-shadow: 0 0 10px 3px rgba(90,74,58,0.4); } }

/* flatterer-not-obvious-tragic */
.scn-flatterer-not-obvious-tragic { background: linear-gradient(180deg, #1a1612 0%, #2a2018 40%, #3d2b1f 100%), radial-gradient(ellipse at 50% 100%, #3d2b1f 0%, transparent 70%); }
.scn-flatterer-not-obvious-tragic .room-wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #2a2018 0%, transparent 100%); animation:fl1-wall 8s ease-in-out infinite alternate; }
.scn-flatterer-not-obvious-tragic .room-floor { position:absolute; bottom:0;left:0;right:0;height:35%; background: linear-gradient(180deg, #3d2b1f 0%, #1a1612 100%); border-radius:20% 20% 0 0; box-shadow:inset 0 8px 12px rgba(0,0,0,.5); }
.scn-flatterer-not-obvious-tragic .table { position:absolute; bottom:30%; left:35%; width:30%; height:8%; background: linear-gradient(180deg, #4a3520 0%, #2a1a0e 100%); border-radius:4px; box-shadow:0 4px 8px rgba(0,0,0,.6); }
.scn-flatterer-not-obvious-tragic .candle { position:absolute; bottom:38%; left:48%; width:6px; height:30px; background: linear-gradient(180deg, #ffd080 0%, #a06020 60%, #4a2a0a 100%); border-radius:50% 50% 20% 20%; animation:fl1-candle 2s ease-in-out infinite alternate; }
.scn-flatterer-not-obvious-tragic .clock { position:absolute; bottom:45%; left:42%; width:24px; height:24px; border:2px solid #6a4a2a; border-radius:50%; background: #1a1410; box-shadow:0 0 6px #6a4a2a; animation:fl1-clock 6s linear infinite; }
.scn-flatterer-not-obvious-tragic .figure { position:absolute; bottom:35%; left:55%; width:20px; height:40px; background: radial-gradient(ellipse at 50% 40%, #2a1a10 0%, #0a0604 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation:fl1-fig 4s ease-in-out infinite alternate; }
.scn-flatterer-not-obvious-tragic .shadow { position:absolute; bottom:30%; left:52%; width:40px; height:12px; background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 70%); animation:fl1-shadow 4s ease-in-out infinite alternate; }
@keyframes fl1-wall {0%{opacity:.8}50%{opacity:1}100%{opacity:.7}}
@keyframes fl1-candle {0%{height:30px;opacity:.8;transform:scaleX(1)}50%{height:32px;opacity:1;transform:scaleX(1.1)}100%{height:28px;opacity:.9;transform:scaleX(1)}}
@keyframes fl1-clock {0%{transform:rotate(0deg)}50%{transform:rotate(180deg)}100%{transform:rotate(360deg)}}
@keyframes fl1-fig {0%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-3px) rotate(0)}100%{transform:translateY(0) rotate(2deg)}}
@keyframes fl1-shadow {0%{transform:scaleX(.8);opacity:.6}50%{transform:scaleX(1);opacity:.8}100%{transform:scaleX(.9);opacity:.65}}

/* wild-grains-wheat-sieve */
.scn-wild-grains-wheat-sieve { background: linear-gradient(180deg, #1e1a16 0%, #2c241c 40%, #3a2e24 100%), radial-gradient(ellipse at 50% 100%, #3a2e24 0%, transparent 70%); }
.scn-wild-grains-wheat-sieve .bg-wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #2c241c 0%, transparent 100%); animation:gr2-wall 10s ease-in-out infinite alternate; }
.scn-wild-grains-wheat-sieve .bg-floor { position:absolute; bottom:0;left:0;right:0;height:40%; background: linear-gradient(180deg, #3a2e24 0%, #1e1a16 100%); border-radius:30% 30% 0 0; box-shadow:inset 0 6px 10px rgba(0,0,0,.5); }
.scn-wild-grains-wheat-sieve .sieve { position:absolute; bottom:35%; left:35%; width:30%; height:20%; border-radius:50%; border:4px solid #6a4a2a; background: radial-gradient(circle at 50% 50%, #3a2a1a 0%, #1a1008 70%), repeating-linear-gradient(90deg, transparent 0, transparent 8px, #6a4a2a 8px, #6a4a2a 9px); box-shadow:0 0 12px rgba(0,0,0,.6), inset 0 0 8px rgba(0,0,0,.4); animation:gr2-sieve 7s ease-in-out infinite alternate; }
.scn-wild-grains-wheat-sieve .grains-wild { position:absolute; bottom:43%; left:40%; width:8px; height:6px; background: #8a6a3a; border-radius:50%; box-shadow: 12px 2px #8a6a3a, 24px -1px #8a6a3a, -8px 4px #8a6a3a, 6px -2px #8a6a3a; animation:gr2-grains 9s ease-in-out infinite; }
.scn-wild-grains-wheat-sieve .grains-wheat { position:absolute; bottom:40%; left:38%; width:6px; height:5px; background: #c8a060; border-radius:50%; box-shadow: 16px -1px #c8a060, -10px 3px #c8a060, 20px 5px #c8a060; animation:gr2-wheat 9s ease-in-out infinite reverse; }
.scn-wild-grains-wheat-sieve .hand { position:absolute; bottom:36%; left:48%; width:18px; height:28px; background: radial-gradient(ellipse at 50% 30%, #6a4a2a 0%, #3a2a1a 60%, #1a1008 100%); border-radius:30% 30% 40% 40% / 50% 50% 40% 40%; transform-origin:bottom center; animation:gr2-hand 5s ease-in-out infinite alternate; }
@keyframes gr2-wall {0%{opacity:.85}50%{opacity:1}100%{opacity:.8}}
@keyframes gr2-sieve {0%{transform:rotate(-3deg)}50%{transform:rotate(2deg)}100%{transform:rotate(-1deg)}}
@keyframes gr2-grains {0%{transform:translateY(0);opacity:.8}50%{transform:translateY(-5px);opacity:1}100%{transform:translateY(2px);opacity:.85}}
@keyframes gr2-wheat {0%{transform:translateY(0);opacity:.7}50%{transform:translateY(-8px);opacity:1}100%{transform:translateY(3px);opacity:.75}}
@keyframes gr2-hand {0%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-4px) rotate(0)}100%{transform:translateY(0) rotate(5deg)}}

/* pleasure-field-flatterer */
.scn-pleasure-field-flatterer { background: linear-gradient(180deg, #1e1814 0%, #2c2018 40%, #3d2b1f 100%), radial-gradient(ellipse at 50% 0%, #3d2b1f 0%, transparent 70%); }
.scn-pleasure-field-flatterer .room-wall { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #2c2018 0%, transparent 100%); animation:pl3-wall 6s ease-in-out infinite alternate; }
.scn-pleasure-field-flatterer .room-floor { position:absolute; bottom:0;left:0;right:0;height:45%; background: linear-gradient(180deg, #3d2b1f 0%, #1e1814 100%); border-radius:40% 40% 0 0; box-shadow:inset 0 10px 14px rgba(0,0,0,.5); }
.scn-pleasure-field-flatterer .figure-flatterer { position:absolute; bottom:30%; left:30%; width:24px; height:44px; background: radial-gradient(ellipse at 50% 40%, #2a1a10 0%, #0a0604 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation:pl3-fig 5s ease-in-out infinite alternate; }
.scn-pleasure-field-flatterer .rose { position:absolute; bottom:36%; left:33%; width:12px; height:16px; background: radial-gradient(circle at 50% 30%, #b87878 0%, #6a3030 70%); border-radius:50% 50% 40% 40%; box-shadow:0 0 10px #b87878; animation:pl3-rose 3s ease-in-out infinite alternate; }
.scn-pleasure-field-flatterer .petals { position:absolute; bottom:38%; left:30%; width:30px; height:30px; background: radial-gradient(circle, #b87878 0%, transparent 70%); filter:blur(3px); animation:pl3-petals 8s linear infinite; }
.scn-pleasure-field-flatterer .shadow { position:absolute; bottom:28%; left:28%; width:40px; height:14px; background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 70%); animation:pl3-shadow 5s ease-in-out infinite alternate; }
@keyframes pl3-wall {0%{opacity:.8}50%{opacity:1}100%{opacity:.75}}
@keyframes pl3-fig {0%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-4px) rotate(0)}100%{transform:translateY(0) rotate(3deg)}}
@keyframes pl3-rose {0%{transform:scale(.9);opacity:.8}50%{transform:scale(1.1);opacity:1}100%{transform:scale(.95);opacity:.85}}
@keyframes pl3-petals {0%{transform:translateX(0) rotate(0deg);opacity:.3}25%{transform:translateX(8px) rotate(90deg);opacity:.5}50%{transform:translateX(-5px) rotate(180deg);opacity:.35}75%{transform:translateX(10px) rotate(270deg);opacity:.45}100%{transform:translateX(0) rotate(360deg);opacity:.3}}
@keyframes pl3-shadow {0%{transform:scaleX(.8);opacity:.5}50%{transform:scaleX(1);opacity:.7}100%{transform:scaleX(.9);opacity:.55}}

/* clever-trick-freedom-of-speech */
.scn-clever-trick-freedom-of-speech { background: linear-gradient(90deg, #1a1412 0%, #2c2018 40%, #1a1412 100%), radial-gradient(ellipse at 50% 50%, #2c2018 0%, transparent 80%); }
.scn-clever-trick-freedom-of-speech .bg-dark { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 60%, #2a1e18 0%, #0e0a08 100%); animation:sp4-bg 10s ease-in-out infinite alternate; }
.scn-clever-trick-freedom-of-speech .figure-speaker { position:absolute; bottom:35%; left:25%; width:22px; height:46px; background: radial-gradient(ellipse at 50% 40%, #2a1a10 0%, #0a0604 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation:sp4-speak 4s ease-in-out infinite alternate; }
.scn-clever-trick-freedom-of-speech .figure-flatterer { position:absolute; bottom:35%; left:55%; width:22px; height:46px; background: radial-gradient(ellipse at 50% 40%, #2a1a10 0%, #0a0604 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation:sp4-flat 4s ease-in-out infinite alternate-reverse; }
.scn-clever-trick-freedom-of-speech .speech-bubble { position:absolute; bottom:60%; left:30%; width:50px; height:30px; background: radial-gradient(ellipse, rgba(180,160,120,.15) 0%, transparent 70%); border-radius:50% 50% 50% 20%; border:1px solid rgba(180,160,120,.3); animation:sp4-bubble 3s ease-in-out infinite alternate; }
.scn-clever-trick-freedom-of-speech .mirror { position:absolute; bottom:40%; left:48%; width:30px; height:40px; background: linear-gradient(135deg, rgba(200,180,140,.2) 0%, rgba(200,180,140,.05) 50%, rgba(200,180,140,.2) 100%); border:1px solid rgba(200,180,140,.4); border-radius:10%; transform:skewX(-5deg); box-shadow:0 0 8px rgba(200,180,140,.3); animation:sp4-mirror 7s ease-in-out infinite alternate; }
.scn-clever-trick-freedom-of-speech .echo { position:absolute; bottom:40%; left:38%; width:16px; height:30px; background: radial-gradient(ellipse at 50% 40%, rgba(180,140,100,.2) 0%, transparent 70%); border-radius:50% 50% 40% 40%; animation:sp4-echo 4s ease-in-out infinite alternate-reverse; }
@keyframes sp4-bg {0%{opacity:.7}50%{opacity:1}100%{opacity:.75}}
@keyframes sp4-speak {0%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-3px) rotate(0)}100%{transform:translateY(0) rotate(2deg)}}
@keyframes sp4-flat {0%{transform:translateY(0) rotate(2deg)}50%{transform:translateY(-3px) rotate(0)}100%{transform:translateY(0) rotate(-2deg)}}
@keyframes sp4-bubble {0%{transform:scale(.8);opacity:.3}50%{transform:scale(1.1);opacity:.6}100%{transform:scale(.9);opacity:.4}}
@keyframes sp4-mirror {0%{transform:skewX(-5deg) scaleY(1);opacity:.4}50%{transform:skewX(0deg) scaleY(1.05);opacity:.6}100%{transform:skewX(-3deg) scaleY(1);opacity:.45}}
@keyframes sp4-echo {0%{transform:translateX(0);opacity:.2}50%{transform:translateX(6px);opacity:.4}100%{transform:translateX(-3px);opacity:.25}}

/* Scene: reason-prunes-not-destroys (rpnd) */
.scn-reason-prunes-not-destroys {
  background: linear-gradient(180deg, #f2e3c6 0%, #d9b68c 40%, #b88a6a 100%),
              radial-gradient(ellipse at 30% 20%, #fff8e7 0%, transparent 60%);
  position: relative; overflow: hidden;
}
.scn-reason-prunes-not-destroys .window {
  position: absolute; top: 5%; left: 10%; width: 55%; height: 45%;
  background: linear-gradient(135deg, #fff4d6 0%, #ffe8b0 40%, #ccb080 100%);
  border: 6px solid #8c6a4a; border-radius: 4px; box-shadow: inset 0 0 30px #ffe4b0;
  animation: rpnd-window 6s ease-in-out infinite alternate;
}
.scn-reason-prunes-not-destroys .pot {
  position: absolute; bottom: 12%; left: 35%; width: 20%; height: 16%;
  background: linear-gradient(180deg, #a0714a 0%, #7a5433 100%);
  border-radius: 10% 10% 30% 30% / 20% 20% 40% 40%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: rpnd-pot 8s ease-in-out infinite;
}
.scn-reason-prunes-not-destroys .plant {
  position: absolute; bottom: 28%; left: 38%; width: 14%; height: 30%;
  background: linear-gradient(180deg, #3a7a3a 0%, #2a5a2a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: rpnd-plant 4s ease-in-out infinite alternate;
}
.scn-reason-prunes-not-destroys .gardener {
  position: absolute; bottom: 14%; left: 52%; width: 14%; height: 32%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: rpnd-gardener 3s ease-in-out infinite;
}
.scn-reason-prunes-not-destroys .sunbeam {
  position: absolute; top: 0; left: 20%; width: 8%; height: 100%;
  background: linear-gradient(180deg, rgba(255,240,200,0.15) 0%, transparent 100%);
  transform: skewX(-8deg);
  animation: rpnd-sunbeam 9s ease-in-out infinite alternate;
}
.scn-reason-prunes-not-destroys .leaf-a {
  position: absolute; top: 30%; left: 36%; width: 6%; height: 4%;
  background: #5a8a3a; border-radius: 50% 50% 30% 30%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: rpnd-fall-a 6s ease-in-out infinite;
}
.scn-reason-prunes-not-destroys .leaf-b {
  position: absolute; top: 25%; left: 40%; width: 5%; height: 3%;
  background: #6a9a4a; border-radius: 50% 50% 30% 30%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: rpnd-fall-b 8s ease-in-out infinite 2s;
}
.scn-reason-prunes-not-destroys .shears {
  position: absolute; bottom: 24%; left: 44%; width: 10%; height: 4%;
  background: linear-gradient(90deg, #6a6a6a 0%, #4a4a4a 100%);
  border-radius: 20% 20% 10% 10%;
  transform: rotate(-20deg);
  animation: rpnd-shears 3s ease-in-out infinite alternate;
}
@keyframes rpnd-window {
  0% { opacity: 0.8; box-shadow: inset 0 0 20px #ffe4b0; }
  50% { opacity: 1; box-shadow: inset 0 0 40px #ffe8b0; }
  100% { opacity: 0.85; box-shadow: inset 0 0 25px #ffe4b0; }
}
@keyframes rpnd-pot {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes rpnd-plant {
  0% { transform: scaleY(1) rotate(-1deg); }
  50% { transform: scaleY(1.02) rotate(1deg); }
  100% { transform: scaleY(0.98) rotate(0deg); }
}
@keyframes rpnd-gardener {
  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 rpnd-sunbeam {
  0% { opacity: 0.4; transform: skewX(-8deg) scaleX(1); }
  50% { opacity: 0.8; transform: skewX(-5deg) scaleX(1.2); }
  100% { opacity: 0.5; transform: skewX(-8deg) scaleX(1); }
}
@keyframes rpnd-fall-a {
  0% { transform: translate(0, 0) rotate(0deg); opacity: 0.8; }
  50% { transform: translate(8px, 30px) rotate(120deg); opacity: 0.6; }
  100% { transform: translate(16px, 60px) rotate(240deg); opacity: 0; }
}
@keyframes rpnd-fall-b {
  0% { transform: translate(0, 0) rotate(0deg); opacity: 0.7; }
  50% { transform: translate(-6px, 20px) rotate(-90deg); opacity: 0.5; }
  100% { transform: translate(-12px, 40px) rotate(-180deg); opacity: 0; }
}
@keyframes rpnd-shears {
  0% { transform: rotate(-20deg) translateX(0); }
  50% { transform: rotate(-15deg) translateX(2px); }
  100% { transform: rotate(-20deg) translateX(0); }
}

/* Scene: mix-wine-not-pour-away (mwnpa) */
.scn-mix-wine-not-pour-away {
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 50%, #1a1008 100%),
              radial-gradient(ellipse at 50% 100%, #4a3a2a 0%, transparent 70%);
  position: relative; overflow: hidden;
}
.scn-mix-wine-not-pour-away .table {
  position: absolute; bottom: 0; left: 5%; width: 90%; height: 20%;
  background: linear-gradient(180deg, #6a5030 0%, #4a3820 100%);
  border-radius: 10% 10% 0 0 / 20% 20% 0 0;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.5);
}
.scn-mix-wine-not-pour-away .amphora {
  position: absolute; bottom: 20%; left: 20%; width: 15%; height: 40%;
  background: linear-gradient(180deg, #8a5a3a 0%, #5a3a1a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.4);
  transform: rotate(5deg);
  animation: mwnpa-amphora 10s ease-in-out infinite alternate;
}
.scn-mix-wine-not-pour-away .bowl {
  position: absolute; bottom: 18%; left: 50%; width: 18%; height: 12%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  box-shadow: 0 4px 6px rgba(0,0,0,0.3);
  animation: mwnpa-bowl 7s ease-in-out infinite;
}
.scn-mix-wine-not-pour-away .waterstream {
  position: absolute; bottom: 30%; left: 48%; width: 4%; height: 30%;
  background: linear-gradient(180deg, #8ab4d4 0%, transparent 100%);
  border-radius: 50%;
  opacity: 0.6;
  animation: mwnpa-water 3s ease-in-out infinite;
}
.scn-mix-wine-not-pour-away .wine-ripple {
  position: absolute; bottom: 16%; left: 48%; width: 10%; height: 4%;
  background: radial-gradient(circle, #a05a3a 0%, transparent 70%);
  border-radius: 50%;
  animation: mwnpa-ripple 4s ease-in-out infinite alternate;
}
.scn-mix-wine-not-pour-away .shadow {
  position: absolute; bottom: 0; left: 30%; width: 40%; height: 10%;
  background: linear-gradient(90deg, transparent, rgba(0,0,0,0.5), transparent);
  filter: blur(4px);
  animation: mwnpa-shadow 12s ease-in-out infinite;
}
.scn-mix-wine-not-pour-away .candle {
  position: absolute; bottom: 28%; right: 10%; width: 4%; height: 18%;
  background: linear-gradient(180deg, #d9b680 0%, #8a6a40 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 0 20px #ffd060, 0 0 40px rgba(255,208,96,0.3);
  animation: mwnpa-candle 5s ease-in-out infinite alternate;
}
@keyframes mwnpa-amphora {
  0% { transform: rotate(5deg) translateY(0); }
  50% { transform: rotate(3deg) translateY(-2px); }
  100% { transform: rotate(5deg) translateY(0); }
}
@keyframes mwnpa-bowl {
  0% { transform: scale(1) rotate(0deg); }
  50% { transform: scale(1.01) rotate(1deg); }
  100% { transform: scale(1) rotate(0deg); }
}
@keyframes mwnpa-water {
  0% { transform: translateY(0) scaleY(1); opacity: 0.6; }
  50% { transform: translateY(-10px) scaleY(1.2); opacity: 0.8; }
  100% { transform: translateY(0) scaleY(1); opacity: 0.6; }
}
@keyframes mwnpa-ripple {
  0% { transform: scale(1); opacity: 0.3; }
  50% { transform: scale(2); opacity: 0.1; }
  100% { transform: scale(1); opacity: 0.3; }
}
@keyframes mwnpa-shadow {
  0% { opacity: 0.5; transform: translateX(0); }
  50% { opacity: 0.7; transform: translateX(5px); }
  100% { opacity: 0.5; transform: translateX(0); }
}
@keyframes mwnpa-candle {
  0% { box-shadow: 0 0 15px #ffd060, 0 0 30px rgba(255,208,96,0.3); }
  50% { box-shadow: 0 0 30px #ffd060, 0 0 60px rgba(255,208,96,0.5); }
  100% { box-shadow: 0 0 20px #ffd060, 0 0 40px rgba(255,208,96,0.3); }
}

/* Scene: pindar-horse-ox-hound (phoh) */
.scn-pindar-horse-ox-hound {
  background: linear-gradient(180deg, #a8b8a0 0%, #7a8a72 40%, #6a7a62 100%),
              radial-gradient(ellipse at 50% 0%, #c0d0b8 0%, transparent 60%);
  position: relative; overflow: hidden;
}
.scn-pindar-horse-ox-hound .sky {
  position: absolute; inset: 0 0 60% 0;
  background: linear-gradient(180deg, #9aa8a0 0%, #b0b8a8 50%, #7a8a72 100%);
  animation: phoh-sky 15s ease-in-out infinite alternate;
}
.scn-pindar-horse-ox-hound .field {
  position: absolute; bottom: 0; left: 0; right: 0; height: 60%;
  background: linear-gradient(180deg, #5a6a4a 0%, #4a5a3a 100%);
  border-radius: 60% 40% 0 0 / 40% 30% 0 0;
}
.scn-pindar-horse-ox-hound .horse {
  position: absolute; bottom: 20%; left: 20%; width: 12%; height: 25%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: phoh-horse 4s ease-in-out infinite;
}
.scn-pindar-horse-ox-hound .chariot {
  position: absolute; bottom: 18%; left: 8%; width: 14%; height: 12%;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a0a 100%);
  border-radius: 10% 10% 30% 30%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: phoh-chariot 4s ease-in-out infinite;
}
.scn-pindar-horse-ox-hound .ox {
  position: absolute; bottom: 22%; left: 60%; width: 14%; height: 20%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: phoh-ox 6s ease-in-out infinite;
}
.scn-pindar-horse-ox-hound .plough {
  position: absolute; bottom: 16%; left: 54%; width: 12%; height: 8%;
  background: linear-gradient(90deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 10% 10% 40% 40% / 20% 20% 30% 30%;
  animation: phoh-plough 6s ease-in-out infinite;
}
.scn-pindar-horse-ox-hound .hound {
  position: absolute; bottom: 24%; right: 15%; width: 10%; height: 18%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: phoh-hound 3s ease-in-out infinite alternate;
}
.scn-pindar-horse-ox-hound .boar {
  position: absolute; bottom: 26%; right: 5%; width: 8%; height: 12%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%;
  transform: rotate(-10deg);
  animation: phoh-boar 3s ease-in-out infinite alternate;
}
@keyframes phoh-sky {
  0% { opacity: 0.7; }
  50% { opacity: 0.9; }
  100% { opacity: 0.8; }
}
@keyframes phoh-horse {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(5px) rotate(2deg); }
  50% { transform: translateX(10px) rotate(0deg); }
  75% { transform: translateX(5px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes phoh-chariot {
  0% { transform: translateX(0); }
  50% { transform: translateX(5px); }
  100% { transform: translateX(0); }
}
@keyframes phoh-ox {
  0% { transform: translateX(0) scaleY(1); }
  50% { transform: translateX(3px) scaleY(0.98); }
  100% { transform: translateX(0) scaleY(1); }
}
@keyframes phoh-plough {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(3px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes phoh-hound {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(8px) rotate(3deg); }
  100% { transform: translateX(16px) rotate(0deg); }
}
@keyframes phoh-boar {
  0% { transform: rotate(-10deg) translateX(0); }
  50% { transform: rotate(-10deg) translateX(-5px); }
  100% { transform: rotate(-10deg) translateX(0); }
}

/* Scene: moderate-anger-courage (mac) */
.scn-moderate-anger-courage {
  background: linear-gradient(180deg, #f0e6d8 0%, #d9c8b0 40%, #b8a088 100%),
              radial-gradient(ellipse at 70% 30%, #fff8e7 0%, transparent 50%);
  position: relative; overflow: hidden;
}
.scn-moderate-anger-courage .chamber {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #f2e6d8 0%, #d9c8b0 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.1);
}
.scn-moderate-anger-courage .figure {
  position: absolute; bottom: 10%; left: 45%; width: 16%; height: 40%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mac-figure 5s ease-in-out infinite alternate;
}
.scn-moderate-anger-courage .shield {
  position: absolute; bottom: 22%; left: 39%; width: 12%; height: 16%;
  background: radial-gradient(circle at 50% 50%, #c08040 0%, #8a5a2a 60%, #5a3a1a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  transform: rotate(10deg);
  animation: mac-shield 4s ease-in-out infinite alternate;
}
.scn-moderate-anger-courage .sword {
  position: absolute; bottom: 15%; left: 52%; width: 4%; height: 28%;
  background: linear-gradient(180deg, #a0a0a0 0%, #606060 50%, #a0a0a0 100%);
  border-radius: 10% 90% 10% 90% / 10% 10% 10% 10%;
  transform: rotate(-15deg);
  transform-origin: bottom center;
  animation: mac-sword 6s ease-in-out infinite alternate;
}
.scn-moderate-anger-courage .lightray {
  position: absolute; top: 0; left: 60%; width: 6%; height: 100%;
  background: linear-gradient(180deg, rgba(255,240,200,0.2) 0%, transparent 100%);
  transform: skewX(-5deg);
  animation: mac-lightray 8s ease-in-out infinite alternate;
}
.scn-moderate-anger-courage .shadow {
  position: absolute; bottom: 0; left: 35%; width: 30%; height: 8%;
  background: linear-gradient(90deg, transparent, rgba(0,0,0,0.4), transparent);
  filter: blur(3px);
  animation: mac-shadow 10s ease-in-out infinite;
}
.scn-moderate-anger-courage .pedestal {
  position: absolute; bottom: 0; left: 40%; width: 20%; height: 10%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 -2px 6px rgba(0,0,0,0.3);
}
@keyframes mac-figure {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(2px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes mac-shield {
  0% { transform: rotate(10deg) scale(1); }
  50% { transform: rotate(12deg) scale(1.02); }
  100% { transform: rotate(10deg) scale(1); }
}
@keyframes mac-sword {
  0% { transform: rotate(-15deg) translateX(0); }
  50% { transform: rotate(-12deg) translateX(2px); }
  100% { transform: rotate(-15deg) translateX(0); }
}
@keyframes mac-lightray {
  0% { opacity: 0.3; transform: skewX(-5deg) scaleX(1); }
  50% { opacity: 0.6; transform: skewX(-3deg) scaleX(1.2); }
  100% { opacity: 0.4; transform: skewX(-5deg) scaleX(1); }
}
@keyframes mac-shadow {
  0% { opacity: 0.4; transform: translateX(0); }
  50% { opacity: 0.6; transform: translateX(3px); }
  100% { opacity: 0.4; transform: translateX(0); }
}

.scn-poets-playful-and-serious {
  background: linear-gradient(180deg, #f5e6c8 0%, #d4b996 60%, #b8946e 100%),
              radial-gradient(ellipse at 50% 70%, #fff4e0 0%, transparent 60%);
}
.scn-poets-playful-and-serious .room {
  position: absolute; inset: 0; background: linear-gradient(180deg, #efe7d0 0%, #d8c8a8 100%);
  animation: ps-room 20s ease-in-out infinite alternate;
}
.scn-poets-playful-and-serious .window {
  position: absolute; top: 10%; left: 60%; width: 30%; height: 45%;
  background: radial-gradient(ellipse at 50% 50%, #fff8e7 0%, #d0c8b0 60%, transparent 100%);
  border-radius: 8px; filter: blur(2px);
  animation: ps-window 12s ease-in-out infinite alternate;
}
.scn-poets-playful-and-serious .desk {
  position: absolute; bottom: 8%; left: 20%; width: 60%; height: 20%;
  background: linear-gradient(180deg, #8b6f4e 0%, #6a4f32 100%);
  border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  animation: ps-desk 24s ease-in-out infinite;
}
.scn-poets-playful-and-serious .scroll {
  position: absolute; bottom: 20%; left: 38%; width: 12%; height: 10%;
  background: linear-gradient(135deg, #dabe8e 0%, #b09060 50%, #dabe8e 100%);
  border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: ps-scroll 6s ease-in-out infinite alternate;
}
.scn-poets-playful-and-serious .lamp {
  position: absolute; bottom: 22%; right: 15%; width: 8%; height: 14%;
  background: radial-gradient(circle at 50% 30%, #ffd699 0%, #d4a363 60%, #8a5a2a 100%);
  border-radius: 20% 20% 40% 40%; box-shadow: 0 0 30px 10px rgba(255,214,153,0.4);
  animation: ps-lamp 4s ease-in-out infinite alternate;
}
.scn-poets-playful-and-serious .figure {
  position: absolute; bottom: 14%; left: 30%; width: 10%; height: 30%;
  background: linear-gradient(180deg, #2a2218 0%, #1a1410 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ps-figure 8s ease-in-out infinite;
}
.scn-poets-playful-and-serious .inkwell {
  position: absolute; bottom: 16%; left: 52%; width: 4%; height: 6%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 30% 30% 20% 20%;
  animation: ps-ink 14s ease-in-out infinite;
}
@keyframes ps-room { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.95; } }
@keyframes ps-window { 0% { opacity: 0.7; transform: scale(1); } 50% { opacity: 1; transform: scale(1.02); } 100% { opacity: 0.8; } }
@keyframes ps-desk { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes ps-scroll { 0% { transform: translate(0,0) rotate(0deg); } 33% { transform: translate(1px,-1px) rotate(2deg); } 66% { transform: translate(-1px,1px) rotate(-1deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes ps-lamp { 0% { box-shadow: 0 0 20px 5px rgba(255,214,153,0.3); opacity: 0.8; } 50% { box-shadow: 0 0 40px 15px rgba(255,214,153,0.6); opacity: 1; } 100% { box-shadow: 0 0 25px 8px rgba(255,214,153,0.35); opacity: 0.85; } }
@keyframes ps-figure { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(1deg); } 50% { transform: translateY(1px) rotate(-1deg); } 75% { transform: translateY(-1px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ps-ink { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }

.scn-daphnaeus-what-else {
  background: linear-gradient(180deg, #d0e8f0 0%, #b0c8d8 50%, #90a8c0 100%),
              radial-gradient(ellipse at 50% 40%, #e8f4ff 0%, transparent 70%);
}
.scn-daphnaeus-what-else .room {
  position: absolute; inset: 0; background: linear-gradient(180deg, #c8dce8 0%, #a0b8c8 100%);
  animation: dw-room 18s ease-in-out infinite alternate;
}
.scn-daphnaeus-what-else .window {
  position: absolute; top: 8%; left: 65%; width: 28%; height: 50%;
  background: radial-gradient(ellipse at 50% 50%, #f0f8ff 0%, #c0d8e8 60%, transparent 100%);
  border-radius: 12px; filter: blur(2px);
  animation: dw-window 15s ease-in-out infinite;
}
.scn-daphnaeus-what-else .rainbow {
  position: absolute; top: 12%; left: 20%; width: 60%; height: 30%;
  background: linear-gradient(180deg, #c8553d 0%, #e8a838 20%, #f5d742 40%, #4a9c6e 60%, #3b7cbf 80%, #8a6bbf 100%);
  border-radius: 50% 50% 0 0; opacity: 0.6; filter: blur(4px);
  animation: dw-rainbow 10s ease-in-out infinite alternate;
}
.scn-daphnaeus-what-else .cloud {
  position: absolute; top: 6%; left: 35%; width: 30%; height: 15%;
  background: radial-gradient(ellipse, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0.1) 100%);
  filter: blur(10px);
  animation: dw-cloud 40s linear infinite;
}
.scn-daphnaeus-what-else .figure-a {
  position: absolute; bottom: 12%; left: 35%; width: 10%; height: 35%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dw-figure 7s ease-in-out infinite;
}
.scn-daphnaeus-what-else .figure-b {
  position: absolute; bottom: 12%; left: 52%; width: 11%; height: 38%;
  background: linear-gradient(180deg, #2e2e40 0%, #1e1e30 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dw-figure 9s ease-in-out infinite reverse;
}
@keyframes dw-room { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes dw-window { 0% { opacity: 0.8; transform: scale(1); } 50% { opacity: 1; transform: scale(1.01); } 100% { opacity: 0.9; } }
@keyframes dw-rainbow { 0% { opacity: 0.4; transform: translateY(0) scaleX(1); } 33% { opacity: 0.6; transform: translateY(-3px) scaleX(1.02); } 66% { opacity: 0.5; transform: translateY(2px) scaleX(0.98); } 100% { opacity: 0.4; } }
@keyframes dw-cloud { 0% { transform: translateX(0); } 100% { transform: translateX(80vw); } }
@keyframes dw-figure { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-3px) rotate(1deg); } 50% { transform: translateY(1px) rotate(-1deg); } 75% { transform: translateY(-2px) rotate(1.5deg); } 100% { transform: translateY(0) rotate(0deg); } }

.scn-erotic-fancy-reflection {
  background: linear-gradient(180deg, #f5e0c0 0%, #d4b896 50%, #b89470 100%),
              radial-gradient(ellipse at 50% 60%, #ffe8d0 0%, transparent 70%);
}
.scn-erotic-fancy-reflection .bg-warm {
  position: absolute; inset: 0; background: linear-gradient(135deg, #f0dcc0 0%, #dcc4a0 50%, #c8ac88 100%);
  animation: ef-bg 25s ease-in-out infinite alternate;
}
.scn-erotic-fancy-reflection .mirror {
  position: absolute; top: 12%; left: 30%; width: 40%; height: 55%;
  background: linear-gradient(135deg, #f8eee0 0%, #e0d0b8 50%, #c8b8a0 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 30px 10px rgba(200,180,160,0.4);
  animation: ef-mirror 16s ease-in-out infinite;
}
.scn-erotic-fancy-reflection .frame {
  position: absolute; top: 10%; left: 28%; width: 44%; height: 59%;
  background: transparent;
  border: 8px solid #a08060;
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 20px 5px rgba(160,128,96,0.3);
  animation: ef-frame 20s ease-in-out infinite alternate;
}
.scn-erotic-fancy-reflection .figure {
  position: absolute; bottom: 14%; left: 38%; width: 12%; height: 40%;
  background: linear-gradient(180deg, #2a2018 0%, #1a1410 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ef-figure 10s ease-in-out infinite;
}
.scn-erotic-fancy-reflection .particle {
  position: absolute; width: 3%; height: 3%;
  background: radial-gradient(circle, #ffdab0 0%, rgba(255,218,176,0) 100%);
  border-radius: 50%;
  filter: blur(2px);
}
.scn-erotic-fancy-reflection .p1 {
  top: 25%; left: 15%;
  animation: ef-particle 8s ease-in-out infinite;
}
.scn-erotic-fancy-reflection .p2 {
  top: 40%; right: 20%;
  animation: ef-particle 12s ease-in-out infinite reverse;
}
.scn-erotic-fancy-reflection .lamp {
  position: absolute; bottom: 20%; right: 12%; width: 6%; height: 12%;
  background: radial-gradient(circle at 50% 30%, #ffcc88 0%, #cc8844 60%, #885522 100%);
  border-radius: 20% 20% 40% 40%;
  box-shadow: 0 0 40px 12px rgba(255,204,136,0.5);
  animation: ef-lamp 3s ease-in-out infinite alternate;
}
@keyframes ef-bg { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.92; } }
@keyframes ef-mirror { 0% { opacity: 0.8; transform: scale(1); } 33% { opacity: 0.9; transform: scale(1.01); } 66% { opacity: 0.85; transform: scale(0.99); } 100% { opacity: 0.8; } }
@keyframes ef-frame { 0% { border-color: #a08060; box-shadow: 0 0 15px 5px rgba(160,128,96,0.3); } 50% { border-color: #c0a080; box-shadow: 0 0 30px 10px rgba(192,160,128,0.5); } 100% { border-color: #a08060; } }
@keyframes ef-figure { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-4px) rotate(1deg); } 50% { transform: translateY(2px) rotate(-1deg); } 75% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ef-particle { 0% { transform: translate(0,0) scale(0.8); opacity: 0.3; } 25% { transform: translate(10px,-15px) scale(1.2); opacity: 0.7; } 50% { transform: translate(-5px,5px) scale(1); opacity: 0.5; } 75% { transform: translate(15px,-8px) scale(1.1); opacity: 0.8; } 100% { transform: translate(0,0) scale(0.8); opacity: 0.3; } }
@keyframes ef-lamp { 0% { box-shadow: 0 0 30px 8px rgba(255,204,136,0.4); opacity: 0.8; } 50% { box-shadow: 0 0 60px 20px rgba(255,204,136,0.7); opacity: 1; } 100% { box-shadow: 0 0 35px 10px rgba(255,204,136,0.45); opacity: 0.85; } }

.scn-ixion-cloud {
  background: linear-gradient(180deg, #1a0a2e 0%, #0e0820 40%, #050510 100%),
              radial-gradient(ellipse at 50% 20%, #2a1a4e 0%, transparent 70%);
}
.scn-ixion-cloud .bg-dark {
  position: absolute; inset: 0; background: linear-gradient(135deg, #1a1028 0%, #0a0818 100%);
  animation: ix-bg 20s ease-in-out infinite alternate;
}
.scn-ixion-cloud .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #0a0818 0%, #050410 100%);
  border-radius: 30% 70% 0 0 / 50% 50% 0 0;
  animation: ix-floor 24s ease-in-out infinite;
}
.scn-ixion-cloud .figure {
  position: absolute; bottom: 12%; left: 42%; width: 12%; height: 45%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: center bottom;
  animation: ix-figure 4s ease-in-out infinite;
}
.scn-ixion-cloud .cloud {
  position: absolute; top: 8%; left: 30%; width: 40%; height: 25%;
  background: radial-gradient(ellipse, rgba(220,220,240,0.6) 0%, rgba(220,220,240,0.05) 100%);
  filter: blur(15px) brightness(0.8);
  animation: ix-cloud 8s ease-in-out infinite alternate;
}
.scn-ixion-cloud .rainbow {
  position: absolute; top: 4%; left: 25%; width: 50%; height: 20%;
  background: linear-gradient(180deg, #c8553d 0%, #e8a838 20%, #f5d742 40%, #4a9c6e 60%, #3b7cbf 80%, #8a6bbf 100%);
  border-radius: 50% 50% 0 0;
  opacity: 0.15;
  animation: ix-rainbow 3s ease-in-out infinite alternate;
}
.scn-ixion-cloud .beam {
  position: absolute; top: 0; left: 48%; width: 4%; height: 40%;
  background: linear-gradient(180deg, rgba(255,220,160,0.5) 0%, rgba(255,220,160,0) 100%);
  filter: blur(3px);
  animation: ix-beam 2s ease-in-out infinite alternate;
}
@keyframes ix-bg { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes ix-floor { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes ix-figure { 0% { transform: translateY(0) rotate(0deg); } 20% { transform: translateY(-6px) rotate(2deg); } 40% { transform: translateY(-10px) rotate(5deg); } 60% { transform: translateY(-7px) rotate(3deg); } 80% { transform: translateY(-2px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ix-cloud { 0% { transform: translateX(0) scale(1); opacity: 0.5; } 33% { transform: translateX(5px) scale(1.05); opacity: 0.7; } 66% { transform: translateX(-3px) scale(0.95); opacity: 0.6; } 100% { transform: translateX(0) scale(1); } }
@keyframes ix-rainbow { 0% { opacity: 0.1; transform: translateY(0); } 50% { opacity: 0.2; transform: translateY(-2px); } 100% { opacity: 0.08; transform: translateY(1px); } }
@keyframes ix-beam { 0% { opacity: 0.3; transform: scaleY(1); } 50% { opacity: 0.6; transform: scaleY(1.2); } 100% { opacity: 0.2; transform: scaleY(0.9); } }

.scn-syracuse-plato-dionysius-philosophy { background: linear-gradient(180deg, #1c1628 0%, #2a1e30 40%, #3c2838 100%), radial-gradient(ellipse at 60% 40%, #c87840 0%, transparent 70%); }
.scn-syracuse-plato-dionysius-philosophy .wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(90deg, #2a1e30, #3c2838, #2a1e30); border-bottom:3px solid #5a3a2a; }
.scn-syracuse-plato-dionysius-philosophy .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #3a2828 0%, #1e1414 100%); box-shadow: inset 0 12px 20px rgba(0,0,0,.6); }
.scn-syracuse-plato-dionysius-philosophy .window { position:absolute; top:8%; left:50%; width:100px; height:140px; transform:translateX(-50%); background: radial-gradient(ellipse at center, #ffd080 0%, #c87840 40%, #3c2838 100%); border-radius:10% 10% 4% 4%; box-shadow: 0 0 60px 30px rgba(200,120,64,.4), 0 0 100px 50px rgba(200,120,64,.2); animation: sy-windowglow 8s ease-in-out infinite alternate; }
.scn-syracuse-plato-dionysius-philosophy .column-left { position:absolute; bottom:35%; left:15%; width:18px; height:110px; background: linear-gradient(90deg, #5a4040, #7a5858, #5a4040); border-radius:4px 4px 0 0; box-shadow: 0 0 20px rgba(0,0,0,.3); }
.scn-syracuse-plato-dionysius-philosophy .column-right { position:absolute; bottom:35%; right:15%; width:18px; height:110px; background: linear-gradient(90deg, #5a4040, #7a5858, #5a4040); border-radius:4px 4px 0 0; box-shadow: 0 0 20px rgba(0,0,0,.3); }
.scn-syracuse-plato-dionysius-philosophy .figure-plato { position:absolute; bottom:33%; left:30%; width:32px; height:60px; background: linear-gradient(180deg, #b07050 0%, #705040 60%, #403030 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sy-plato 7s ease-in-out infinite; }
.scn-syracuse-plato-dionysius-philosophy .figure-plato::before { content:''; position:absolute; top:-8px; left:50%; width:24px; height:24px; transform:translateX(-50%); background: radial-gradient(circle at 40% 30%, #d0a080, #a07050 50%, #704030 100%); border-radius:50% 50% 40% 40%; }
.scn-syracuse-plato-dionysius-philosophy .figure-dionysius { position:absolute; bottom:33%; right:30%; width:38px; height:72px; background: linear-gradient(180deg, #804050 0%, #502830 60%, #301820 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sy-dionysius 7s ease-in-out infinite; }
.scn-syracuse-plato-dionysius-philosophy .figure-dionysius::before { content:''; position:absolute; top:-10px; left:50%; width:28px; height:28px; transform:translateX(-50%); background: radial-gradient(circle at 40% 30%, #a06050, #7a4040 50%, #4a2020 100%); border-radius:50% 50% 40% 40%; }
.scn-syracuse-plato-dionysius-philosophy .dust-geometry { position:absolute; top:30%; left:20%; width:8px; height:8px; background: radial-gradient(circle, rgba(200,160,100,.5), transparent); border-radius:50%; filter:blur(2px); box-shadow: 0 0 12px 4px rgba(200,160,100,.2); animation: sy-dusta 14s ease-in-out infinite; }
.scn-syracuse-plato-dionysius-philosophy .dust-more { position:absolute; top:35%; right:25%; width:6px; height:6px; background: radial-gradient(circle, rgba(200,160,100,.4), transparent); border-radius:50%; filter:blur(1px); box-shadow: 0 0 10px 3px rgba(200,160,100,.15); animation: sy-dustb 18s ease-in-out infinite reverse; }
@keyframes sy-windowglow { 0% { opacity:.7; transform:translateX(-50%) scaleY(1); } 50% { opacity:1; transform:translateX(-50%) scaleY(1.02); box-shadow: 0 0 80px 40px rgba(200,120,64,.5); } 100% { opacity:.8; transform:translateX(-50%) scaleY(.98); } }
@keyframes sy-plato { 0% { transform:translateX(0) rotate(-1deg); } 30% { transform:translateX(4px) rotate(2deg); } 60% { transform:translateX(0) rotate(-1deg); } 100% { transform:translateX(-2px) rotate(0deg); } }
@keyframes sy-dionysius { 0% { transform:translateX(0) rotate(1deg); } 30% { transform:translateX(-3px) rotate(-2deg); } 60% { transform:translateX(0) rotate(0deg); } 100% { transform:translateX(3px) rotate(1deg); } }
@keyframes sy-dusta { 0% { transform:translate(0,0) scale(1); opacity:.3; } 33% { transform:translate(20px,-10px) scale(1.5); opacity:.6; } 66% { transform:translate(-10px,5px) scale(.8); opacity:.2; } 100% { transform:translate(10px,15px) scale(1); opacity:.4; } }
@keyframes sy-dustb { 0% { transform:translate(0,0) scale(1); opacity:.4; } 50% { transform:translate(-25px,12px) scale(1.8); opacity:.8; } 100% { transform:translate(0,0) scale(1); opacity:.3; } }

.scn-epaminondas-agesilaus-constant { background: linear-gradient(180deg, #b8a088 0%, #d4c0a8 30%, #e8d8c0 100%), radial-gradient(ellipse at 50% 20%, #f0e8d0 0%, transparent 80%); }
.scn-epaminondas-agesilaus-constant .bg-bright { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #f0e8d0 0%, #d4c0a8 100%); }
.scn-epaminondas-agesilaus-constant .crowd-left { position:absolute; bottom:25%; left:5%; width:30%; height:50%; background: linear-gradient(90deg, #8a7a6a, #a09080, #8a7a6a); border-radius:50% 50% 0 0 / 80% 80% 0 0; opacity:.5; filter:blur(6px); animation: ea-crowdl 20s ease-in-out infinite alternate; }
.scn-epaminondas-agesilaus-constant .crowd-right { position:absolute; bottom:25%; right:5%; width:30%; height:50%; background: linear-gradient(90deg, #8a7a6a, #a09080, #8a7a6a); border-radius:50% 50% 0 0 / 80% 80% 0 0; opacity:.4; filter:blur(8px); animation: ea-crowdr 22s ease-in-out infinite alternate; }
.scn-epaminondas-agesilaus-constant .figure-epaminondas { position:absolute; bottom:24%; left:38%; width:30px; height:70px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 60%, #2a1a10 100%); border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: ea-epam 12s ease-in-out infinite; }
.scn-epaminondas-agesilaus-constant .figure-epaminondas::before { content:''; position:absolute; top:-6px; left:50%; width:20px; height:20px; transform:translateX(-50%); background: radial-gradient(circle at 40% 30%, #8a7a6a, #6a5a4a 50%, #4a3a2a 100%); border-radius:50% 50% 40% 40%; }
.scn-epaminondas-agesilaus-constant .figure-agesilaus { position:absolute; bottom:24%; right:38%; width:30px; height:68px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 60%, #2a1a10 100%); border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: ea-ages 12s ease-in-out infinite; }
.scn-epaminondas-agesilaus-constant .figure-agesilaus::before { content:''; position:absolute; top:-6px; left:50%; width:20px; height:20px; transform:translateX(-50%); background: radial-gradient(circle at 40% 30%, #8a7a6a, #6a5a4a 50%, #4a3a2a 100%); border-radius:50% 50% 40% 40%; }
.scn-epaminondas-agesilaus-constant .spear-1 { position:absolute; bottom:28%; left:40%; width:3px; height:80px; background: linear-gradient(180deg, #a09080, #706050, #a09080); transform:rotate(-5deg); transform-origin: bottom center; box-shadow: 0 0 4px rgba(0,0,0,.2); animation: ea-spear1 10s ease-in-out infinite; }
.scn-epaminondas-agesilaus-constant .spear-2 { position:absolute; bottom:28%; right:40%; width:3px; height:80px; background: linear-gradient(180deg, #a09080, #706050, #a09080); transform:rotate(5deg); transform-origin: bottom center; box-shadow: 0 0 4px rgba(0,0,0,.2); animation: ea-spear2 10s ease-in-out infinite; }
.scn-epaminondas-agesilaus-constant .light-ray { position:absolute; top:5%; left:30%; width:2px; height:60%; background: linear-gradient(180deg, rgba(240,232,200,.6), transparent); transform:rotate(15deg); filter:blur(3px); animation: ea-ray 15s ease-in-out infinite alternate; }
@keyframes ea-crowdl { 0% { opacity:.4; transform:translateX(0); } 50% { opacity:.6; transform:translateX(5px); } 100% { opacity:.3; transform:translateX(-3px); } }
@keyframes ea-crowdr { 0% { opacity:.3; transform:translateX(0); } 50% { opacity:.5; transform:translateX(-4px); } 100% { opacity:.4; transform:translateX(3px); } }
@keyframes ea-epam { 0% { transform:translateX(0) rotate(0deg) scaleY(1); } 25% { transform:translateX(2px) rotate(1deg) scaleY(1.01); } 75% { transform:translateX(-2px) rotate(-1deg) scaleY(.99); } 100% { transform:translateX(0) rotate(0deg) scaleY(1); } }
@keyframes ea-ages { 0% { transform:translateX(0) rotate(0deg) scaleY(1); } 25% { transform:translateX(-2px) rotate(-1deg) scaleY(1.01); } 75% { transform:translateX(2px) rotate(1deg) scaleY(.99); } 100% { transform:translateX(0) rotate(0deg) scaleY(1); } }
@keyframes ea-spear1 { 0% { transform:rotate(-5deg) translateY(0); } 50% { transform:rotate(-3deg) translateY(-2px); } 100% { transform:rotate(-5deg) translateY(0); } }
@keyframes ea-spear2 { 0% { transform:rotate(5deg) translateY(0); } 50% { transform:rotate(3deg) translateY(-2px); } 100% { transform:rotate(5deg) translateY(0); } }
@keyframes ea-ray { 0% { opacity:.3; transform:rotate(13deg) scaleY(1); } 50% { opacity:.6; transform:rotate(17deg) scaleY(1.2); } 100% { opacity:.4; transform:rotate(13deg) scaleY(1); } }

.scn-detect-flatterer-change-about { background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 50%, #1a1a2a 100%), radial-gradient(ellipse at 50% 60%, #2a4a3a 0%, transparent 60%); }
.scn-detect-flatterer-change-about .wall-dark { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-bottom:2px solid #3a3a4a; }
.scn-detect-flatterer-change-about .figure-polite { position:absolute; bottom:25%; left:25%; width:28px; height:56px; background: linear-gradient(180deg, #5a6a5a 0%, #3a4a3a 60%, #2a3a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: df-polite 10s ease-in-out infinite; }
.scn-detect-flatterer-change-about .figure-polite::before { content:''; position:absolute; top:-6px; left:50%; width:18px; height:18px; transform:translateX(-50%); background: radial-gradient(circle at 40% 30%, #7a8a7a, #4a5a4a 50%, #2a3a2a 100%); border-radius:50%; }
.scn-detect-flatterer-change-about .figure-flat { position:absolute; bottom:25%; right:25%; width:28px; height:56px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 60%, #2a1a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: df-flat 10s ease-in-out infinite; }
.scn-detect-flatterer-change-about .figure-flat::before { content:''; position:absolute; top:-6px; left:50%; width:18px; height:18px; transform:translateX(-50%); background: radial-gradient(circle at 40% 30%, #8a7a6a, #5a4a3a 50%, #3a2a1a 100%); border-radius:50%; }
.scn-detect-flatterer-change-about .mask-left { position:absolute; bottom:30%; left:18%; width:40px; height:30px; background: linear-gradient(135deg, #8a7a60, #5a4a30); border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; opacity:.6; filter:blur(4px); animation: df-maskl 15s ease-in-out infinite; }
.scn-detect-flatterer-change-about .mask-right { position:absolute; bottom:30%; right:18%; width:40px; height:30px; background: linear-gradient(225deg, #8a7a60, #5a4a30); border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; opacity:.5; filter:blur(5px); animation: df-maskr 15s ease-in-out infinite; }
.scn-detect-flatterer-change-about .polypus-body { position:absolute; bottom:10%; left:50%; width:50px; height:30px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 50%, #7a8a6a 0%, #3a4a2a 60%, #1a2a0a 100%); border-radius:50% 50% 40% 40%; animation: df-polybody 20s ease-in-out infinite; }
.scn-detect-flatterer-change-about .polypus-arm-a { position:absolute; bottom:8%; left:44%; width:4px; height:30px; background: linear-gradient(180deg, #5a6a4a, #3a4a2a); border-radius:50%; transform-origin: top center; animation: df-polya 6s ease-in-out infinite; }
.scn-detect-flatterer-change-about .polypus-arm-b { position:absolute; bottom:8%; right:44%; width:4px; height:30px; background: linear-gradient(180deg, #5a6a4a, #3a4a2a); border-radius:50%; transform-origin: top center; animation: df-polyb 6s ease-in-out infinite; }
.scn-detect-flatterer-change-about .shadow-tell { position:absolute; bottom:20%; left:50%; width:60px; height:8px; transform:translateX(-50%); background: radial-gradient(ellipse, rgba(0,0,0,.4), transparent); border-radius:50%; filter:blur(3px); animation: df-shadow 14s ease-in-out infinite; }
@keyframes df-polite { 0% { transform:translateX(0) rotate(0deg); } 20% { transform:translateX(8px) rotate(3deg); } 40% { transform:translateX(12px) rotate(-2deg); } 60% { transform:translateX(4px) rotate(1deg); } 80% { transform:translateX(10px) rotate(-3deg); } 100% { transform:translateX(0) rotate(0deg); } }
@keyframes df-flat { 0% { transform:translateX(0) rotate(0deg); } 20% { transform:translateX(-6px) rotate(-2deg); } 40% { transform:translateX(-10px) rotate(3deg); } 60% { transform:translateX(-4px) rotate(-1deg); } 80% { transform:translateX(-8px) rotate(2deg); } 100% { transform:translateX(0) rotate(0deg); } }
@keyframes df-maskl { 0% { opacity:.5; transform:translateY(0) rotate(0deg) scale(1); } 25% { opacity:.7; transform:translateY(-6px) rotate(10deg) scale(1.05); } 50% { opacity:.3; transform:translateY(4px) rotate(-8deg) scale(.9); } 75% { opacity:.6; transform:translateY(-2px) rotate(5deg) scale(1.02); } 100% { opacity:.5; transform:translateY(0) rotate(0deg) scale(1); } }
@keyframes df-maskr { 0% { opacity:.4; transform:translateY(0) rotate(0deg) scale(1); } 25% { opacity:.6; transform:translateY(-4px) rotate(-12deg) scale(1.03); } 50% { opacity:.7; transform:translateY(6px) rotate(6deg) scale(.95); } 75% { opacity:.3; transform:translateY(2px) rotate(-3deg) scale(1.04); } 100% { opacity:.4; transform:translateY(0) rotate(0deg) scale(1); } }
@keyframes df-polybody { 0% { transform:translateX(-50%) scaleX(1) scaleY(1); } 25% { transform:translateX(-50%) scaleX(1.15) scaleY(.95); } 50% { transform:translateX(-50%) scaleX(.9) scaleY(1.1); } 75% { transform:translateX(-50%) scaleX(1.05) scaleY(.98); } 100% { transform:translateX(-50%) scaleX(1) scaleY(1); } }
@keyframes df-polya { 0% { transform:rotate(0deg) translateY(0); } 30% { transform:rotate(25deg) translateY(-4px); } 60% { transform:rotate(-15deg) translateY(2px); } 100% { transform:rotate(0deg) translateY(0); } }
@keyframes df-polyb { 0% { transform:rotate(0deg) translateY(0); } 30% { transform:rotate(-20deg) translateY(2px); } 60% { transform:rotate(18deg) translateY(-4px); } 100% { transform:rotate(0deg) translateY(0); } }
@keyframes df-shadow { 0% { opacity:.3; transform:translateX(-50%) scaleX(1); } 50% { opacity:.6; transform:translateX(-50%) scaleX(1.3); } 100% { opacity:.2; transform:translateX(-50%) scaleX(.8); } }

.scn-shadow-does-better-than-flatterer { background: linear-gradient(180deg, #1a1a28 0%, #2a2a3a 40%, #1e1e2a 100%), radial-gradient(ellipse at 50% 40%, #4a3a2a 0%, transparent 70%); }
.scn-shadow-does-better-than-flatterer .room-dark { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a28 100%); }
.scn-shadow-does-better-than-flatterer .lamp { position:absolute; top:15%; left:50%; width:20px; height:30px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 30%, #ffd080 0%, #c87840 60%, #6a3a1a 100%); border-radius:50% 50% 30% 30%; box-shadow: 0 0 40px 20px rgba(200,120,64,.4), 0 0 80px 40px rgba(200,120,64,.15); animation: sd-lamp 6s ease-in-out infinite alternate; }
.scn-shadow-does-better-than-flatterer .figure-main { position:absolute; bottom:28%; left:30%; width:30px; height:65px; background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 80%, #1a0a00 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sd-main 8s ease-in-out infinite; }
.scn-shadow-does-better-than-flatterer .figure-main::before { content:''; position:absolute; top:-8px; left:50%; width:22px; height:22px; transform:translateX(-50%); background: radial-gradient(circle at 40% 30%, #8a7a6a, #5a4a3a 50%, #2a1a0a 100%); border-radius:50%; }
.scn-shadow-does-better-than-flatterer .shadow-honest { position:absolute; bottom:20%; left:35%; width:50px; height:40px; background: radial-gradient(ellipse at 30% 50%, rgba(0,0,0,.5), transparent 70%); border-radius:50%; filter:blur(6px); transform-origin: bottom center; animation: sd-shadow 8s ease-in-out infinite; }
.scn-shadow-does-better-than-flatterer .flatterer { position:absolute; bottom:28%; right:20%; width:28px; height:58px; background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 60%, #3a2a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sd-flat 10s ease-in-out infinite; }
.scn-shadow-does-better-than-flatterer .flatterer::before { content:''; position:absolute; top:-6px; left:50%; width:18px; height:18px; transform:translateX(-50%); background: radial-gradient(circle at 40% 30%, #a09080, #7a6a5a 50%, #4a3a2a 100%); border-radius:50%; }
.scn-shadow-does-better-than-flatterer .flatterer-shadow { position:absolute; bottom:20%; right:18%; width:40px; height:30px; background: radial-gradient(ellipse at 30% 50%, rgba(0,0,0,.3), transparent 70%); border-radius:50%; filter:blur(4px); transform-origin: bottom center; animation: sd-flatshad 10s ease-in-out infinite; }
.scn-shadow-does-better-than-flatterer .gesture-hand { position:absolute; bottom:34%; left:44%; width:8px; height:14px; background: linear-gradient(180deg, #6a5a4a, #3a2a1a); border-radius:50% 50% 40% 40%; transform-origin: bottom center; animation: sd-hand 4s ease-in-out infinite; }
.scn-shadow-does-better-than-flatterer .truth-line { position:absolute; bottom:22%; left:30%; width:60%; height:1px; background: linear-gradient(90deg, transparent, rgba(200,160,100,.3), transparent); filter:blur(2px); animation: sd-line 10s ease-in-out infinite; }
@keyframes sd-lamp { 0% { opacity:.7; transform:translateX(-50%) scaleY(1); box-shadow: 0 0 30px 15px rgba(200,120,64,.3); } 50% { opacity:1; transform:translateX(-50%) scaleY(1.08); box-shadow: 0 0 50px 25px rgba(200,120,64,.5); } 100% { opacity:.8; transform:translateX(-50%) scaleY(.95); box-shadow: 0 0 35px 18px rgba(200,120,64,.35); } }
@keyframes sd-main { 0% { transform:translateX(0) rotate(0deg) scaleY(1); } 25% { transform:translateX(4px) rotate(2deg) scaleY(1.01); } 50% { transform:translateX(-2px) rotate(-1deg) scaleY(.99); } 75% { transform:translateX(6px) rotate(1deg) scaleY(1.01); } 100% { transform:translateX(0) rotate(0deg) scaleY(1); } }
@keyframes sd-shadow { 0% { transform:translateX(0) scaleX(1) scaleY(1); opacity:.4; } 25% { transform:translateX(8px) scaleX(1.1) scaleY(.9); opacity:.6; } 50% { transform:translateX(-4px) scaleX(.95) scaleY(1.05); opacity:.3; } 75% { transform:translateX(12px) scaleX(1.2) scaleY(.85); opacity:.5; } 100% { transform:translateX(0) scaleX(1) scaleY(1); opacity:.4; } }
@keyframes sd-flat { 0% { transform:translateX(0) rotate(0deg); } 20% { transform:translateX(-6px) rotate(-3deg); } 40% { transform:translateX(4px) rotate(2deg); } 60% { transform:translateX(-10px) rotate(-4deg); } 80% { transform:translateX(2px) rotate(1deg); } 100% { transform:translateX(0) rotate(0deg); } }
@keyframes sd-flatshad { 0% { transform:translateX(0) scaleX(1); opacity:.3; } 20% { transform:translateX(-12px) scaleX(.9); opacity:.4; } 40% { transform:translateX(8px) scaleX(1.05); opacity:.2; } 60% { transform:translateX(-16px) scaleX(.85); opacity:.5; } 80% { transform:translateX(4px) scaleX(1.02); opacity:.3; } 100% { transform:translateX(0) scaleX(1); opacity:.3; } }
@keyframes sd-hand { 0% { transform:rotate(-10deg) translateY(0); } 30% { transform:rotate(15deg) translateY(-3px); } 60% { transform:rotate(-5deg) translateY(1px); } 100% { transform:rotate(-10deg) translateY(0); } }
@keyframes sd-line { 0% { opacity:.2; transform:scaleX(1); } 50% { opacity:.5; transform:scaleX(1.3); } 100% { opacity:.1; transform:scaleX(.8); } }

/* Scene: hope-and-fear-elements */
.scn-hope-and-fear-elements {
  background:
    linear-gradient(180deg, #d4b88c 0%, #b8956a 40%, #8a6844 100%),
    radial-gradient(ellipse at 70% 50%, #f5dbb0 0%, transparent 70%);
}
.scn-hope-and-fear-elements .left-wall {
  position:absolute; bottom:0; left:0; width:50%; height:100%;
  background: linear-gradient(180deg, #e8d4b0 0%, #b8956a 100%);
  box-shadow: inset -12px 0 20px rgba(0,0,0,0.2);
  animation: he1-wall-left 15s ease-in-out infinite alternate;
}
.scn-hope-and-fear-elements .right-wall {
  position:absolute; bottom:0; right:0; width:50%; height:100%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  box-shadow: inset 12px 0 20px rgba(0,0,0,0.5);
  animation: he1-wall-right 15s ease-in-out infinite alternate;
}
.scn-hope-and-fear-elements .floor {
  position:absolute; bottom:0; left:0; right:0; height:30%;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a2a1a 100%);
  border-radius: 10% 10% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 8px 15px rgba(0,0,0,0.4);
  animation: he1-floor 20s ease-in-out infinite;
}
.scn-hope-and-fear-elements .window {
  position:absolute; bottom:40%; left:20%; width:80px; height:120px;
  background: radial-gradient(ellipse at 50% 50%, #fffaea 0%, #f5dbb0 60%, transparent 100%);
  border-radius: 4% 4% 8% 8%;
  box-shadow: 0 0 40px 20px #f5dbb0;
  animation: he1-window 6s ease-in-out infinite alternate;
}
.scn-hope-and-fear-elements .light-beam {
  position:absolute; bottom:30%; left:15%; width:120px; height:180px;
  background: linear-gradient(180deg, rgba(245,219,176,0.4) 0%, transparent 100%);
  clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%);
  filter: blur(8px);
  animation: he1-beam 8s ease-in-out infinite alternate;
}
.scn-hope-and-fear-elements .figure-hope {
  position:absolute; bottom:20%; left:30%; width:30px; height:80px;
  background: linear-gradient(180deg, #c8a070 0%, #8a6040 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 20px 5px rgba(245,219,176,0.3);
  transform-origin: bottom center;
  animation: he1-figure-hope 5s ease-in-out infinite;
}
.scn-hope-and-fear-elements .figure-fear {
  position:absolute; bottom:25%; right:25%; width:40px; height:100px;
  background: linear-gradient(180deg, #1a0a00 0%, #0a0000 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 15px 3px rgba(0,0,0,0.8);
  transform-origin: bottom center;
  animation: he1-figure-fear 6s ease-in-out infinite;
}

@keyframes he1-wall-left   { 0% { opacity:1 } 50% { opacity:0.8 } 100% { opacity:1 } }
@keyframes he1-wall-right  { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes he1-floor       { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes he1-window      { 0% { box-shadow: 0 0 30px 15px #f5dbb0; opacity:0.9 } 50% { box-shadow: 0 0 50px 25px #fffaea; opacity:1 } 100% { box-shadow: 0 0 40px 20px #f5dbb0; opacity:0.95 } }
@keyframes he1-beam        { 0% { opacity:0.5; transform: scaleX(1) } 50% { opacity:0.8; transform: scaleX(1.1) } 100% { opacity:0.6; transform: scaleX(1) } }
@keyframes he1-figure-hope { 0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(5px) rotate(1deg) } 50% { transform: translateX(10px) rotate(-1deg) } 75% { transform: translateX(15px) rotate(2deg) } 100% { transform: translateX(20px) rotate(0) } }
@keyframes he1-figure-fear { 0% { transform: translateX(0) translateY(0) rotate(0) } 33% { transform: translateX(-3px) translateY(-1px) rotate(2deg) } 66% { transform: translateX(-6px) translateY(0) rotate(-1deg) } 100% { transform: translateX(-2px) translateY(1px) rotate(0) } }

/* Scene: avoid-bad-men-pythagoras */
.scn-avoid-bad-men-pythagoras {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #0f0f1a 100%),
    radial-gradient(ellipse at 50% 100%, #3a2a1a 0%, transparent 70%);
}
.scn-avoid-bad-men-pythagoras .bg {
  position:absolute; inset:0;
  background: radial-gradient(ellipse at 70% 40%, #2a1a0a 0%, transparent 60%);
  animation: ab2-bg 20s ease-in-out infinite alternate;
}
.scn-avoid-bad-men-pythagoras .candle {
  position:absolute; bottom:25%; left:45%; width:20px; height:60px;
  background: linear-gradient(180deg, #8a6a3a 0%, #4a2a1a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 8px 12px rgba(0,0,0,0.6);
  animation: ab2-candle 10s ease-in-out infinite;
}
.scn-avoid-bad-men-pythagoras .flame {
  position:absolute; bottom:calc(25% + 58px); left:calc(45% + 5px); width:10px; height:18px;
  background: radial-gradient(circle, #ffd060 0%, #ff8040 50%, transparent 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%;
  box-shadow: 0 0 30px 12px #ff8040;
  animation: ab2-flame 2s ease-in-out infinite alternate;
}
.scn-avoid-bad-men-pythagoras .hand {
  position:absolute; bottom:30%; left:30%; width:30px; height:40px;
  background: linear-gradient(180deg, #c8a070 0%, #8a6040 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform: rotate(-15deg);
  transform-origin: bottom right;
  animation: ab2-hand 5s ease-in-out infinite;
}
.scn-avoid-bad-men-pythagoras .tail {
  position:absolute; bottom:20%; right:25%; width:20px; height:60px;
  background: linear-gradient(180deg, #1a0a00 0%, #0a0000 100%);
  border-radius: 50% 50% 50% 0 / 40% 40% 60% 0;
  transform: rotate(30deg);
  transform-origin: top left;
  animation: ab2-tail 3s ease-in-out infinite;
}
.scn-avoid-bad-men-pythagoras .figure {
  position:absolute; bottom:20%; left:50%; width:40px; height:90px;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0000 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: -10px 0 15px rgba(0,0,0,0.6);
  transform-origin: bottom center;
  animation: ab2-figure 7s ease-in-out infinite;
}
.scn-avoid-bad-men-pythagoras .shadow-hand {
  position:absolute; bottom:28%; left:25%; width:20px; height:30px;
  background: rgba(0,0,0,0.3);
  border-radius: 50%;
  filter: blur(6px);
  animation: ab2-shadow-hand 5s ease-in-out infinite;
}

@keyframes ab2-bg         { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes ab2-candle     { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes ab2-flame      { 0% { height:15px; opacity:0.8 } 50% { height:20px; opacity:1 } 100% { height:16px; opacity:0.9 } }
@keyframes ab2-hand       { 0% { transform: rotate(-15deg) translateX(0) } 33% { transform: rotate(-10deg) translateX(5px) } 66% { transform: rotate(-18deg) translateX(-2px) } 100% { transform: rotate(-15deg) translateX(0) } }
@keyframes ab2-tail       { 0% { transform: rotate(30deg) scaleY(1) } 50% { transform: rotate(25deg) scaleY(0.9) } 100% { transform: rotate(30deg) scaleY(1) } }
@keyframes ab2-figure     { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(10px) rotate(-3deg) } 50% { transform: translateX(20px) rotate(0) } 75% { transform: translateX(30px) rotate(2deg) } 100% { transform: translateX(40px) rotate(0) } }
@keyframes ab2-shadow-hand{ 0% { transform: translateX(0) scale(1) } 50% { transform: translateX(8px) scale(1.2) } 100% { transform: translateX(0) scale(1) } }

/* Scene: pythagoras-precepts-list */
.scn-pythagoras-precepts-list {
  background:
    linear-gradient(180deg, #f0dbb0 0%, #d4b88c 40%, #b8956a 100%),
    radial-gradient(ellipse at 50% 100%, #e0c8a0 0%, transparent 80%);
}
.scn-pythagoras-precepts-list .tabletop {
  position:absolute; bottom:20%; left:10%; right:10%; height:50%;
  background: linear-gradient(180deg, #c8a070 0%, #a08050 100%);
  border-radius: 8% 8% 4% 4% / 10% 10% 5% 5%;
  box-shadow: 0 12px 20px rgba(0,0,0,0.3);
  animation: pp3-table 30s ease-in-out infinite alternate;
}
.scn-pythagoras-precepts-list .measure {
  position:absolute; bottom:45%; left:40%; width:40px; height:50px;
  background: linear-gradient(180deg, #8a6a3a 0%, #5a3a1a 100%);
  border-radius: 10% 10% 20% 20% / 30% 30% 40% 40%;
  box-shadow: 0 6px 10px rgba(0,0,0,0.4);
  animation: pp3-measure 8s ease-in-out infinite;
}
.scn-pythagoras-precepts-list .ring {
  position:absolute; bottom:35%; left:55%; width:20px; height:20px;
  background: radial-gradient(circle, #c8a070 0%, #8a6040 100%);
  border-radius: 50%;
  box-shadow: inset 0 0 0 3px #a08050;
  animation: pp3-ring 5s ease-in-out infinite alternate;
}
.scn-pythagoras-precepts-list .hand-open {
  position:absolute; bottom:40%; left:25%; width:40px; height:50px;
  background: linear-gradient(180deg, #dbb090 0%, #b89070 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform: rotate(10deg);
  transform-origin: bottom center;
  animation: pp3-hand 6s ease-in-out infinite;
}
.scn-pythagoras-precepts-list .measure-shadow {
  position:absolute; bottom:42%; left:39%; width:45px; height:55px;
  background: rgba(0,0,0,0.15);
  border-radius: 10% 10% 20% 20% / 30% 30% 40% 40%;
  filter: blur(8px);
  animation: pp3-shadow-measure 8s ease-in-out infinite;
}
.scn-pythagoras-precepts-list .ring-shadow {
  position:absolute; bottom:32%; left:54%; width:25px; height:25px;
  background: rgba(0,0,0,0.1);
  border-radius: 50%;
  filter: blur(6px);
  animation: pp3-shadow-ring 5s ease-in-out infinite alternate;
}
.scn-pythagoras-precepts-list .light-spot {
  position:absolute; bottom:30%; left:30%; width:80px; height:100px;
  background: radial-gradient(ellipse, rgba(255,235,200,0.3) 0%, transparent 100%);
  filter: blur(15px);
  animation: pp3-light 12s ease-in-out infinite;
}

@keyframes pp3-table       { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes pp3-measure     { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(3px) rotate(2deg) } 50% { transform: translateX(0) rotate(0) } 75% { transform: translateX(-2px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes pp3-ring        { 0% { box-shadow: inset 0 0 0 3px #a08050; opacity:0.9 } 50% { box-shadow: inset 0 0 0 5px #c8a070; opacity:1 } 100% { box-shadow: inset 0 0 0 3px #a08050; opacity:0.9 } }
@keyframes pp3-hand        { 0% { transform: rotate(10deg) scale(1) } 33% { transform: rotate(5deg) scale(1.05) } 66% { transform: rotate(12deg) scale(0.98) } 100% { transform: rotate(10deg) scale(1) } }
@keyframes pp3-shadow-measure { 0% { transform: translateX(0) scale(1) } 50% { transform: translateX(1px) scale(1.05) } 100% { transform: translateX(0) scale(1) } }
@keyframes pp3-shadow-ring { 0% { opacity:0.5 } 50% { opacity:0.7 } 100% { opacity:0.5 } }
@keyframes pp3-light       { 0% { opacity:0.6; transform: scale(1) } 50% { opacity:1; transform: scale(1.1) } 100% { opacity:0.7; transform: scale(1) } }

/* Scene: pythagoras-precepts-continued */
.scn-pythagoras-precepts-continued {
  background:
    linear-gradient(180deg, #d4b88c 0%, #b8956a 40%, #8a6844 100%),
    radial-gradient(ellipse at 50% 80%, #e8c8a0 0%, transparent 70%);
}
.scn-pythagoras-precepts-continued .bg-room {
  position:absolute; inset:0;
  background: linear-gradient(180deg, #c8a888 0%, #a08060 100%);
  animation: pc4-bg 20s ease-in-out infinite alternate;
}
.scn-pythagoras-precepts-continued .floor {
  position:absolute; bottom:0; left:0; right:0; height:25%;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
  animation: pc4-floor 30s ease-in-out infinite;
}
.scn-pythagoras-precepts-continued .door {
  position:absolute; bottom:25%; right:10%; width:60px; height:110px;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 0 15px rgba(0,0,0,0.4);
  transform-origin: right bottom;
  animation: pc4-door 15s ease-in-out infinite;
}
.scn-pythagoras-precepts-continued .figure {
  position:absolute; bottom:25%; left:20%; width:30px; height:80px;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0000 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 10px 0 15px rgba(0,0,0,0.5);
  transform-origin: bottom center;
  animation: pc4-figure 8s ease-in-out infinite;
}
.scn-pythagoras-precepts-continued .pig {
  position:absolute; bottom:20%; left:55%; width:50px; height:30px;
  background: linear-gradient(180deg, #b08060 0%, #8a6040 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: pc4-pig 12s ease-in-out infinite;
}
.scn-pythagoras-precepts-continued .chamber-pot {
  position:absolute; bottom:35%; left:35%; width:35px; height:25px;
  background: linear-gradient(180deg, #a08060 0%, #6a4a2a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%;
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.3);
  animation: pc4-pot 10s ease-in-out infinite;
}
.scn-pythagoras-precepts-continued .pearls {
  position:absolute; bottom:40%; left:42%; width:10px; height:10px;
  background: radial-gradient(circle, #fff8e0 0%, #c8b890 100%);
  border-radius: 50%;
  box-shadow: 0 0 10px 2px rgba(200,184,144,0.5);
  animation: pc4-pearls 5s ease-in-out infinite alternate;
}
.scn-pythagoras-precepts-continued .light-ray {
  position:absolute; top:10%; left:20%; width:100px; height:200px;
  background: linear-gradient(180deg, rgba(255,235,200,0.3) 0%, transparent 100%);
  clip-path: polygon(0 0, 100% 0, 60% 100%, 40% 100%);
  filter: blur(12px);
  animation: pc4-ray 18s ease-in-out infinite;
}

@keyframes pc4-bg        { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes pc4-floor     { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes pc4-door      { 0% { transform: rotate(0) } 50% { transform: rotate(3deg) } 100% { transform: rotate(0) } }
@keyframes pc4-figure    { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(5px) rotate(1deg) } 50% { transform: translateX(10px) rotate(0) } 75% { transform: translateX(15px) rotate(-1deg) } 100% { transform: translateX(20px) rotate(0) } }
@keyframes pc4-pig       { 0% { transform: translateX(0) scale(1) } 50% { transform: translateX(2px) scale(1.02) } 100% { transform: translateX(0) scale(1) } }
@keyframes pc4-pot       { 0% { transform: rotate(0) } 33% { transform: rotate(2deg) } 66% { transform: rotate(-1deg) } 100% { transform: rotate(0) } }
@keyframes pc4-pearls    { 0% { opacity:0.8; transform: scale(1) } 50% { opacity:1; transform: scale(1.2) } 100% { opacity:0.9; transform: scale(1) } }
@keyframes pc4-ray       { 0% { opacity:0.5; transform: scaleY(1) } 50% { opacity:0.8; transform: scaleY(1.1) } 100% { opacity:0.6; transform: scaleY(1) } }

/* Scene 1: wine-intended-pleasure-mirth */
.scn-wine-intended-pleasure-mirth {
  background: linear-gradient(135deg, #2a1a0a 0%, #3a2a1a 50%, #1a0a00 100%),
              radial-gradient(ellipse at 20% 80%, #4a3020 0%, transparent 70%);
}
.scn-wine-intended-pleasure-mirth .table {
  position: absolute; bottom: 0; left: 5%; right: 5%; height: 35%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4% 4% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.6), 0 -4px 8px rgba(0,0,0,0.3);
  animation: wi1-table 12s ease-in-out infinite alternate;
}
.scn-wine-intended-pleasure-mirth .wine-bottle {
  position: absolute; bottom: 30%; left: 30%; width: 22px; height: 70px;
  background: linear-gradient(90deg, #1a2a1a 0%, #2a3a2a 30%, #1a2a1a 100%);
  border-radius: 10% 10% 6% 6% / 30% 30% 20% 20%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5), inset 0 2px 4px rgba(255,255,255,0.1);
  transform-origin: bottom center;
  animation: wi1-bottle 8s ease-in-out infinite alternate;
}
.scn-wine-intended-pleasure-mirth .wine-glass {
  position: absolute; bottom: 32%; width: 30px; height: 40px;
  background: linear-gradient(180deg, rgba(200,180,160,0.3) 0%, rgba(160,140,120,0.1) 100%);
  border: 1px solid rgba(180,160,140,0.3);
  border-radius: 50% 50% 10% 10% / 80% 80% 10% 10%;
  box-shadow: 0 4px 6px rgba(0,0,0,0.3), inset 0 2px 4px rgba(255,200,150,0.2);
}
.scn-wine-intended-pleasure-mirth .wine-glass.left {
  left: 45%; transform: rotate(-5deg);
  animation: wi1-glass-left 6s ease-in-out infinite alternate;
}
.scn-wine-intended-pleasure-mirth .wine-glass.right {
  left: 55%; transform: rotate(5deg);
  animation: wi1-glass-right 6s ease-in-out infinite alternate;
}
.scn-wine-intended-pleasure-mirth .candle {
  position: absolute; bottom: 32%; left: 20%; width: 12px; height: 40px;
  background: linear-gradient(180deg, #c8a870 0%, #8a6a40 100%);
  border-radius: 6% 6% 4% 4%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: wi1-candle 10s ease-in-out infinite alternate;
}
.scn-wine-intended-pleasure-mirth .flame {
  position: absolute; bottom: 65%; left: 19.5%; width: 14px; height: 20px;
  background: radial-gradient(circle at 50% 60%, #ffd080 0%, #ff8040 40%, transparent 70%);
  border-radius: 50%;
  filter: blur(1px);
  animation: wi1-flame 1.5s ease-in-out infinite alternate;
}
.scn-wine-intended-pleasure-mirth .glow {
  position: absolute; bottom: 30%; left: 10%; right: 10%; height: 60%;
  background: radial-gradient(ellipse at 20% 50%, rgba(255,200,150,0.15) 0%, transparent 70%);
  animation: wi1-glow 6s ease-in-out infinite alternate;
}
.scn-wine-intended-pleasure-mirth .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.6) 100%);
  animation: wi1-shadow 8s ease-in-out infinite;
}

@keyframes wi1-table {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.02); }
  100% { transform: scaleY(0.98); }
}
@keyframes wi1-bottle {
  0% { transform: rotate(-1deg); }
  50% { transform: rotate(1deg) scaleY(1.01); }
  100% { transform: rotate(-0.5deg); }
}
@keyframes wi1-glass-left {
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-2px); }
  100% { transform: rotate(-6deg) translateY(1px); }
}
@keyframes wi1-glass-right {
  0% { transform: rotate(5deg) translateY(0); }
  50% { transform: rotate(3deg) translateY(-2px); }
  100% { transform: rotate(6deg) translateY(1px); }
}
@keyframes wi1-candle {
  0% { transform: scaleY(1) translateY(0); }
  50% { transform: scaleY(1.03) translateY(-1px); }
  100% { transform: scaleY(0.97) translateY(1px); }
}
@keyframes wi1-flame {
  0% { transform: scale(1) translateY(0); opacity: 0.9; }
  30% { transform: scale(1.05) translateY(-2px); opacity: 1; }
  60% { transform: scale(0.95) translateY(1px); opacity: 0.8; }
  100% { transform: scale(1.02) translateY(-1px); opacity: 0.95; }
}
@keyframes wi1-glow {
  0% { opacity: 0.6; }
  50% { opacity: 0.9; }
  100% { opacity: 0.7; }
}
@keyframes wi1-shadow {
  0% { opacity: 0.7; }
  50% { opacity: 0.5; }
  100% { opacity: 0.8; }
}

/* Scene 2: talkativeness-dangerous-hateful-ridiculous */
.scn-talkativeness-dangerous-hateful-ridiculous {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a1a2e 40%, #0a0a1a 100%),
              radial-gradient(ellipse at 50% 0%, #3a2a4a 0%, transparent 60%);
}
.scn-talkativeness-dangerous-hateful-ridiculous .bg-deep {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 30% 50%, rgba(80,40,60,0.3) 0%, transparent 70%);
  animation: td2-bg 20s ease-in-out infinite alternate;
}
.scn-talkativeness-dangerous-hateful-ridiculous .figure {
  position: absolute; bottom: 20%; left: 50%; width: 60px; height: 100px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.6);
  animation: td2-figure 10s ease-in-out infinite;
}
.scn-talkativeness-dangerous-hateful-ridiculous .mouth {
  position: absolute; bottom: 48%; left: 50%; width: 20px; height: 14px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 100%, #1a0a0a 0%, #3a1a1a 80%);
  border-radius: 50%;
  box-shadow: 0 0 8px 2px rgba(80,20,20,0.5);
  animation: td2-mouth 4s ease-in-out infinite alternate;
}
.scn-talkativeness-dangerous-hateful-ridiculous .speech-burst {
  position: absolute; bottom: 55%; left: 50%; width: 60px; height: 60px;
  transform: translateX(-50%);
  background: radial-gradient(circle, rgba(100,80,120,0.3) 0%, transparent 70%);
  border-radius: 50%;
  animation: td2-burst 6s ease-in-out infinite;
}
.scn-talkativeness-dangerous-hateful-ridiculous .chains {
  position: absolute; bottom: 15%; left: 40%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 100%);
  border-radius: 20% / 40%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: td2-chains 8s ease-in-out infinite alternate;
}
.scn-talkativeness-dangerous-hateful-ridiculous .eye {
  position: absolute; bottom: 55%; left: 48%; width: 10px; height: 8px;
  background: radial-gradient(circle, #c8a080 0%, #5a3a2a 100%);
  border-radius: 50%;
  box-shadow: 0 0 6px 2px rgba(200,160,128,0.3);
  animation: td2-eye 5s ease-in-out infinite alternate;
}
.scn-talkativeness-dangerous-hateful-ridiculous .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.7) 100%);
  animation: td2-shadow 12s ease-in-out infinite;
}

@keyframes td2-bg {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes td2-figure {
  0% { transform: translateX(-50%) rotate(0deg); }
  25% { transform: translateX(-50%) rotate(1deg) translateY(-2px); }
  50% { transform: translateX(-50%) rotate(-1deg) translateY(2px); }
  75% { transform: translateX(-50%) rotate(0.5deg) translateY(-1px); }
  100% { transform: translateX(-50%) rotate(-0.5deg); }
}
@keyframes td2-mouth {
  0% { transform: translateX(-50%) scaleY(0.8); opacity: 0.6; }
  50% { transform: translateX(-50%) scaleY(1.2); opacity: 1; }
  100% { transform: translateX(-50%) scaleY(0.9); opacity: 0.7; }
}
@keyframes td2-burst {
  0% { transform: translateX(-50%) scale(0.8); opacity: 0.3; }
  50% { transform: translateX(-50%) scale(1.2); opacity: 0.6; }
  100% { transform: translateX(-50%) scale(0.9); opacity: 0.4; }
}
@keyframes td2-chains {
  0% { transform: translateY(0); }
  50% { transform: translateY(4px); }
  100% { transform: translateY(0); }
}
@keyframes td2-eye {
  0% { transform: scaleX(1); opacity: 0.8; }
  50% { transform: scaleX(0.2); opacity: 0.4; }
  100% { transform: scaleX(1); opacity: 0.9; }
}
@keyframes td2-shadow {
  0% { opacity: 0.7; }
  50% { opacity: 0.5; }
  100% { opacity: 0.8; }
}

/* Scene 3: prating-one-man-prevented-rome-freedom */
.scn-prating-one-man-prevented-rome-freedom {
  background: linear-gradient(180deg, #1a0a0a 0%, #2a0a0a 30%, #0a0000 100%),
              radial-gradient(ellipse at 50% 30%, #3a1020 0%, transparent 60%);
}
.scn-prating-one-man-prevented-rome-freedom .room {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 60% 50%, rgba(80,20,20,0.2) 0%, transparent 80%);
  animation: pr3-room 15s ease-in-out infinite alternate;
}
.scn-prating-one-man-prevented-rome-freedom .figure-kneeling {
  position: absolute; bottom: 15%; left: 50%; width: 50px; height: 80px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 20% 20% 15% 15% / 40% 40% 30% 30%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.7);
  animation: pr3-kneel 8s ease-in-out infinite;
}
.scn-prating-one-man-prevented-rome-freedom .chains {
  position: absolute; bottom: 12%; left: 45%; width: 20px; height: 60px;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 20%;
  box-shadow: inset 0 2px 4px rgba(255,200,150,0.1);
  animation: pr3-chains 6s ease-in-out infinite alternate;
}
.scn-prating-one-man-prevented-rome-freedom .dagger {
  position: absolute; bottom: 20%; left: 60%; width: 12px; height: 40px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5), inset 0 1px 2px rgba(255,255,255,0.1);
  transform: rotate(20deg);
  animation: pr3-dagger 10s ease-in-out infinite alternate;
}
.scn-prating-one-man-prevented-rome-freedom .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.8) 100%);
  animation: pr3-shadow 12s ease-in-out infinite;
}
.scn-prating-one-man-prevented-rome-freedom .eye {
  position: absolute; bottom: 48%; left: 49%; width: 8px; height: 6px;
  background: radial-gradient(circle, #c8a080 0%, #3a2a1a 100%);
  border-radius: 50%;
  box-shadow: 0 0 4px 1px rgba(200,160,128,0.3);
  animation: pr3-eye 4s ease-in-out infinite alternate;
}
.scn-prating-one-man-prevented-rome-freedom .light {
  position: absolute; bottom: 30%; left: 40%; right: 40%; height: 50%;
  background: radial-gradient(ellipse at 50% 0%, rgba(200,150,100,0.1) 0%, transparent 70%);
  animation: pr3-light 8s ease-in-out infinite alternate;
}

@keyframes pr3-room {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes pr3-kneel {
  0% { transform: translateX(-50%) rotate(0deg) translateY(0); }
  25% { transform: translateX(-50%) rotate(1deg) translateY(-2px); }
  50% { transform: translateX(-50%) rotate(-1deg) translateY(2px); }
  75% { transform: translateX(-50%) rotate(0.5deg) translateY(-1px); }
  100% { transform: translateX(-50%) rotate(-0.5deg); }
}
@keyframes pr3-chains {
  0% { transform: translateY(0); }
  50% { transform: translateY(3px); }
  100% { transform: translateY(0); }
}
@keyframes pr3-dagger {
  0% { transform: rotate(20deg) translateX(0); }
  50% { transform: rotate(25deg) translateX(2px); }
  100% { transform: rotate(18deg) translateX(-1px); }
}
@keyframes pr3-shadow {
  0% { opacity: 0.8; }
  50% { opacity: 0.6; }
  100% { opacity: 0.9; }
}
@keyframes pr3-eye {
  0% { transform: scaleX(1); opacity: 0.7; }
  50% { transform: scaleX(0.1); opacity: 0.3; }
  100% { transform: scaleX(1); opacity: 0.8; }
}
@keyframes pr3-light {
  0% { opacity: 0.3; }
  50% { opacity: 0.6; }
  100% { opacity: 0.4; }
}

/* Scene 4: zeno-bit-off-tongue */
.scn-zeno-bit-off-tongue {
  background: linear-gradient(180deg, #1a0e0e 0%, #0e0505 50%, #050101 100%),
              radial-gradient(ellipse at 30% 50%, #3a1010 0%, transparent 60%);
}
.scn-zeno-bit-off-tongue .bg {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 70% 40%, rgba(60,15,15,0.3) 0%, transparent 70%);
  animation: ze4-bg 18s ease-in-out infinite alternate;
}
.scn-zeno-bit-off-tongue .head-profile {
  position: absolute; bottom: 25%; left: 40%; width: 60px; height: 80px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 40% 30% 30% 40% / 50% 40% 40% 50%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.7);
  animation: ze4-head 12s ease-in-out infinite;
}
.scn-zeno-bit-off-tongue .mouth-open {
  position: absolute; bottom: 30%; left: 38%; width: 20px; height: 24px;
  background: radial-gradient(ellipse at 50% 60%, #0a0000 0%, #1a0a0a 80%);
  border-radius: 50%;
  box-shadow: inset 0 0 8px rgba(80,10,10,0.5);
  animation: ze4-mouth 4s ease-in-out infinite alternate;
}
.scn-zeno-bit-off-tongue .tongue-bitten {
  position: absolute; bottom: 35%; left: 36%; width: 14px; height: 10px;
  background: #5e1a1d;
  border-radius: 30% 30% 50% 50%;
  box-shadow: 0 0 6px 2px rgba(94,26,29,0.5);
  transform: rotate(-20deg);
  animation: ze4-tongue 6s ease-in-out infinite;
}
.scn-zeno-bit-off-tongue .blood-drop {
  position: absolute; bottom: 22%; left: 38%; width: 8px; height: 12px;
  background: radial-gradient(circle at 50% 30%, #6a2020 0%, #3a1010 100%);
  border-radius: 50%;
  box-shadow: 0 0 6px 2px rgba(60,10,10,0.4);
  animation: ze4-blood 3s ease-in-out infinite alternate;
}
.scn-zeno-bit-off-tongue .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a1010 0%, #0a0505 100%);
  border-radius: 10% 10% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.6);
  animation: ze4-floor 14s ease-in-out infinite alternate;
}
.scn-zeno-bit-off-tongue .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.7) 100%);
  animation: ze4-shadow 10s ease-in-out infinite;
}
.scn-zeno-bit-off-tongue .glow {
  position: absolute; bottom: 30%; left: 30%; right: 30%; height: 50%;
  background: radial-gradient(ellipse at 50% 30%, rgba(100,30,30,0.15) 0%, transparent 70%);
  animation: ze4-glow 8s ease-in-out infinite alternate;
}

@keyframes ze4-bg {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes ze4-head {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(1deg) translateY(-1px); }
  50% { transform: rotate(-1deg) translateY(2px); }
  75% { transform: rotate(0.5deg) translateY(-1px); }
  100% { transform: rotate(-0.5deg); }
}
@keyframes ze4-mouth {
  0% { transform: scaleY(0.8); opacity: 0.7; }
  50% { transform: scaleY(1.3); opacity: 1; }
  100% { transform: scaleY(0.9); opacity: 0.8; }
}
@keyframes ze4-tongue {
  0% { transform: rotate(-20deg) translateX(0); opacity: 0.9; }
  50% { transform: rotate(-15deg) translateX(2px); opacity: 0.7; }
  100% { transform: rotate(-22deg) translateX(-1px); opacity: 0.85; }
}
@keyframes ze4-blood {
  0% { transform: translateY(0) scale(1); opacity: 0.8; }
  50% { transform: translateY(-3px) scale(1.2); opacity: 0.9; }
  100% { transform: translateY(2px) scale(0.9); opacity: 0.7; }
}
@keyframes ze4-floor {
  0% { transform: translateY(0); }
  50% { transform: translateY(2px); }
  100% { transform: translateY(-1px); }
}
@keyframes ze4-shadow {
  0% { opacity: 0.7; }
  50% { opacity: 0.9; }
  100% { opacity: 0.6; }
}
@keyframes ze4-glow {
  0% { opacity: 0.3; }
  50% { opacity: 0.6; }
  100% { opacity: 0.4; }
}

.scn-philosophy-finds-talkativeness-disease {
  background:
    linear-gradient(180deg, #1c1620 0%, #2b1e28 40%, #3a2630 100%),
    radial-gradient(ellipse at 50% 30%, #4a2a3a 0%, transparent 70%);
}
.scn-philosophy-finds-talkativeness-disease .wall-left {
  position: absolute; left:0; top:0; width:15%; height:100%;
  background: linear-gradient(180deg, #2a1f26 0%, #1c1620 100%);
}
.scn-philosophy-finds-talkativeness-disease .wall-right {
  position: absolute; right:0; top:0; width:25%; height:100%;
  background: linear-gradient(180deg, #2a1f26 0%, #1c1620 100%);
}
.scn-philosophy-finds-talkativeness-disease .floor {
  position: absolute; bottom:0; left:0; right:0; height:20%;
  background: linear-gradient(180deg, #3a2a30 0%, #1e131a 100%);
  border-radius: 10% 10% 0 0;
}
.scn-philosophy-finds-talkativeness-disease .figure {
  position: absolute; bottom:18%; left:50%; width:20px; height:40px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #1a1418 0%, #0a080a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: phl-figure 5s ease-in-out infinite;
}
.scn-philosophy-finds-talkativeness-disease .lamp {
  position: absolute; bottom:35%; left:35%; width:8px; height:8px;
  background: radial-gradient(circle, #d09060 0%, #805030 70%);
  border-radius: 50%;
  box-shadow: 0 0 20px 8px rgba(192,128,64,.6);
  animation: phl-lamp 3s ease-in-out infinite alternate;
}
.scn-philosophy-finds-talkativeness-disease .book {
  position: absolute; bottom:16%; left:45%; width:30px; height:18px;
  background: linear-gradient(135deg, #6a4a3a 0%, #4a2a1a 100%);
  border-radius: 2px;
  transform: rotate(-8deg);
  animation: phl-book 7s ease-in-out infinite;
}
.scn-philosophy-finds-talkativeness-disease .shadow {
  position: absolute; bottom:17%; left:48%; width:28px; height:12px;
  background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 70%);
  animation: phl-shadow 5s ease-in-out infinite;
}
@keyframes phl-lamp {
  0%,100% { opacity:.7; transform: scale(1); box-shadow: 0 0 15px 5px #c08040; }
  50% { opacity:1; transform: scale(1.05); box-shadow: 0 0 25px 8px #e0a060; }
}
@keyframes phl-figure {
  0% { transform: translateX(-50%) rotate(-1deg) translateY(0); }
  50% { transform: translateX(-50%) rotate(1deg) translateY(-3px); }
  100% { transform: translateX(-50%) rotate(-1deg) translateY(0); }
}
@keyframes phl-book {
  0%,100% { transform: rotate(-8deg) translateX(0); }
  50% { transform: rotate(-6deg) translateX(2px); }
}
@keyframes phl-shadow {
  0% { opacity:.3; }
  50% { opacity:.5; }
  100% { opacity:.3; }
}

.scn-portico-olympia-seven-voiced {
  background:
    linear-gradient(180deg, #0c1520 0%, #1a2633 40%, #2a3a4a 100%),
    radial-gradient(ellipse at 50% 50%, #2a3a4a 0%, transparent 60%);
}
.scn-portico-olympia-seven-voiced .sky {
  position: absolute; inset:0 0 20% 0;
  background: linear-gradient(180deg, #1a2a3a 0%, transparent 100%);
  animation: por-sky 20s ease-in-out infinite alternate;
}
.scn-portico-olympia-seven-voiced .portico {
  position: absolute; bottom:25%; left:10%; right:10%; height:30%;
  background: linear-gradient(180deg, #4a5a6a 0%, #2a3a4a 100%);
  border-radius: 30% 30% 0 0 / 50% 50% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,.5);
}
.scn-portico-olympia-seven-voiced .column-left {
  position: absolute; bottom:30%; left:18%; width:8px; height:50px;
  background: linear-gradient(90deg, #5a6a7a 0%, #3a4a5a 100%);
  border-radius: 2px;
}
.scn-portico-olympia-seven-voiced .column-right {
  position: absolute; bottom:30%; right:18%; width:8px; height:50px;
  background: linear-gradient(90deg, #5a6a7a 0%, #3a4a5a 100%);
  border-radius: 2px;
}
.scn-portico-olympia-seven-voiced .column-center {
  position: absolute; bottom:30%; left:50%; width:8px; height:50px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #5a6a7a 0%, #3a4a5a 100%);
  border-radius: 2px;
}
.scn-portico-olympia-seven-voiced .figure {
  position: absolute; bottom:26%; left:50%; width:16px; height:30px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #1a2a3a 0%, #0a1520 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: por-figure 6s ease-in-out infinite;
}
.scn-portico-olympia-seven-voiced .echo-1 {
  position: absolute; bottom:40%; left:35%; width:12px; height:12px;
  border: 2px solid rgba(180,200,220,.4);
  border-radius: 50%;
  animation: por-echo1 8s ease-in-out infinite;
}
.scn-portico-olympia-seven-voiced .echo-2 {
  position: absolute; bottom:45%; right:30%; width:10px; height:10px;
  border: 2px solid rgba(180,200,220,.3);
  border-radius: 50%;
  animation: por-echo2 10s ease-in-out infinite;
}
@keyframes por-sky {
  0% { opacity:.6; }
  50% { opacity:.9; }
  100% { opacity:.6; }
}
@keyframes por-figure {
  0% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-2px); }
  100% { transform: translateX(-50%) translateY(0); }
}
@keyframes por-echo1 {
  0% { transform: scale(0.5); opacity:.8; }
  50% { transform: scale(1.3); opacity:.2; }
  100% { transform: scale(0.5); opacity:.8; }
}
@keyframes por-echo2 {
  0% { transform: scale(0.4); opacity:.6; }
  50% { transform: scale(1.5); opacity:.1; }
  100% { transform: scale(0.4); opacity:.6; }
}

.scn-silence-advantages-hearing {
  background:
    linear-gradient(180deg, #1a1a24 0%, #2a2a3a 40%, #3a3a4a 100%),
    radial-gradient(ellipse at 50% 60%, #4a4a5a 0%, transparent 70%);
}
.scn-silence-advantages-hearing .wall-bg {
  position: absolute; inset:0 0 15% 0;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a24 100%);
}
.scn-silence-advantages-hearing .floor {
  position: absolute; bottom:0; left:0; right:0; height:15%;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a24 100%);
  border-radius: 20% 20% 0 0;
}
.scn-silence-advantages-hearing .figure {
  position: absolute; bottom:18%; left:40%; width:18px; height:38px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sil-figure 6s ease-in-out infinite;
}
.scn-silence-advantages-hearing .ear {
  position: absolute; bottom:28%; left:60%; width:16px; height:20px;
  background: radial-gradient(circle at 50% 50%, #4a4a5a 0%, #2a2a3a 100%);
  border-radius: 40% 60% 50% 50% / 50% 60% 40% 50%;
  animation: sil-ear 4s ease-in-out infinite;
}
.scn-silence-advantages-hearing .soundline {
  position: absolute; bottom:32%; left:55%; width:30px; height:2px;
  background: linear-gradient(90deg, transparent, rgba(180,180,200,.5), transparent);
  transform-origin: left center;
  animation: sil-soundline 5s ease-in-out infinite;
}
.scn-silence-advantages-hearing .shadow {
  position: absolute; bottom:16%; left:38%; width:24px; height:10px;
  background: radial-gradient(ellipse, rgba(0,0,0,.4) 0%, transparent 70%);
}
@keyframes sil-figure {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes sil-ear {
  0%,100% { transform: rotate(0) scale(1); }
  50% { transform: rotate(2deg) scale(1.02); }
}
@keyframes sil-soundline {
  0% { transform: scaleX(0.5); opacity:.3; }
  50% { transform: scaleX(1.2); opacity:.7; }
  100% { transform: scaleX(0.5); opacity:.3; }
}

.scn-talkative-man-table-companions {
  background:
    linear-gradient(180deg, #2a1e1a 0%, #3a2a24 40%, #4a3a34 100%),
    radial-gradient(ellipse at 50% 50%, #5a4a44 0%, transparent 60%);
}
.scn-talkative-man-table-companions .wall {
  position: absolute; inset:0 0 20% 0;
  background: linear-gradient(180deg, #3a2a24 0%, #2a1e1a 100%);
}
.scn-talkative-man-table-companions .floor {
  position: absolute; bottom:0; left:0; right:0; height:20%;
  background: linear-gradient(180deg, #4a3a34 0%, #2a1e1a 100%);
  border-radius: 15% 15% 0 0;
}
.scn-talkative-man-table-companions .table {
  position: absolute; bottom:25%; left:30%; right:30%; height:12%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 5px;
  box-shadow: 0 4px 10px rgba(0,0,0,.5);
}
.scn-talkative-man-table-companions .talker {
  position: absolute; bottom:32%; left:50%; width:24px; height:40px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #1a1614 0%, #0a0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: tlk-talker 3s ease-in-out infinite;
}
.scn-talkative-man-table-companions .companion1 {
  position: absolute; bottom:28%; left:20%; width:14px; height:28px;
  background: linear-gradient(180deg, #3a2a24 0%, #1a1410 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tlk-companion1 4s ease-in-out infinite;
}
.scn-talkative-man-table-companions .companion2 {
  position: absolute; bottom:28%; right:20%; width:12px; height:26px;
  background: linear-gradient(180deg, #3a2a24 0%, #1a1410 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tlk-companion2 4.5s ease-in-out infinite reverse;
}
.scn-talkative-man-table-companions .speech-1 {
  position: absolute; bottom:40%; left:45%; width:12px; height:12px;
  background: radial-gradient(circle, rgba(200,180,160,.3) 0%, transparent 70%);
  border-radius: 50%;
  animation: tlk-speech1 2s ease-in-out infinite;
}
.scn-talkative-man-table-companions .speech-2 {
  position: absolute; bottom:40%; right:40%; width:10px; height:10px;
  background: radial-gradient(circle, rgba(200,180,160,.2) 0%, transparent 70%);
  border-radius: 50%;
  animation: tlk-speech2 2.5s ease-in-out infinite;
}
@keyframes tlk-talker {
  0%,100% { transform: translateX(-50%) rotate(-2deg) translateY(0); }
  50% { transform: translateX(-50%) rotate(2deg) translateY(-2px); }
}
@keyframes tlk-companion1 {
  0%,100% { transform: scale(1) translateX(0); }
  50% { transform: scale(0.9) translateX(-8px); }
}
@keyframes tlk-companion2 {
  0%,100% { transform: scale(1) translateX(0); }
  50% { transform: scale(0.85) translateX(6px); }
}
@keyframes tlk-speech1 {
  0% { transform: scale(0.8); opacity:.5; }
  50% { transform: scale(1.3); opacity:1; }
  100% { transform: scale(0.8); opacity:.5; }
}
@keyframes tlk-speech2 {
  0% { transform: scale(0.7); opacity:.4; }
  50% { transform: scale(1.2); opacity:.9; }
  100% { transform: scale(0.7); opacity:.4; }
}

/* guidance-of-love-holier */
.scn-guidance-of-love-holier {
  background: linear-gradient(135deg, #ffe8d0 0%, #f5d4a8 40%, #e0be8a 100%),
              radial-gradient(ellipse at 30% 30%, rgba(255,230,200,0.6) 0%, transparent 60%);
}
.scn-guidance-of-love-holier .window {
  position: absolute; top: 10%; left: 25%; width: 30%; height: 45%;
  background: linear-gradient(180deg, #a0c8e8 0%, #c8e0f0 60%, #e0f0ff 100%);
  border-radius: 4px 4px 8% 8%;
  box-shadow: inset 0 0 20px rgba(255,255,240,0.4);
  animation: glh-window-glow 6s ease-in-out infinite alternate;
}
.scn-guidance-of-love-holier .sunbeam {
  position: absolute; top: 5%; left: 20%; width: 35%; height: 12%;
  background: linear-gradient(135deg, rgba(255,240,200,0.5) 0%, transparent 100%);
  clip-path: polygon(0% 0%, 100% 0%, 85% 100%, 0% 100%);
  animation: glh-sunbeam-pulse 8s ease-in-out infinite;
}
.scn-guidance-of-love-holier .figure-teacher {
  position: absolute; bottom: 15%; left: 12%; width: 12%; height: 35%;
  background: linear-gradient(180deg, #2c2c3c 0%, #1a1a2a 100%);
  border-radius: 40% 30% 20% 20% / 60% 50% 30% 30%;
  animation: glh-teacher-move 5s ease-in-out infinite;
}
.scn-guidance-of-love-holier .figure-student {
  position: absolute; bottom: 15%; right: 20%; width: 10%; height: 28%;
  background: linear-gradient(180deg, #3a2a2a 0%, #221a1a 100%);
  border-radius: 50% 40% 30% 30% / 60% 50% 30% 30%;
  animation: glh-student-tilt 7s ease-in-out infinite alternate;
}
.scn-guidance-of-love-holier .desk {
  position: absolute; bottom: 5%; left: 40%; width: 20%; height: 12%;
  background: linear-gradient(180deg, #6b4a2e 0%, #4a3222 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
.scn-guidance-of-love-holier .book {
  position: absolute; bottom: 12%; left: 44%; width: 8%; height: 6%;
  background: linear-gradient(135deg, #8a6a4a 0%, #6a4a2a 100%);
  border-radius: 2px;
  transform: rotate(-5deg);
  animation: glh-book-open 9s ease-in-out infinite;
}
.scn-guidance-of-love-holier .heart-glow {
  position: absolute; top: 30%; left: 45%; width: 6%; height: 6%;
  background: radial-gradient(circle, #f0a0a0 0%, #c87878 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 8px rgba(200,120,120,0.5);
  animation: glh-heart-float 4s ease-in-out infinite;
}
@keyframes glh-window-glow { 0% { opacity: 0.8; box-shadow: inset 0 0 20px rgba(255,255,240,0.4); } 50% { opacity: 1; box-shadow: inset 0 0 40px rgba(255,255,240,0.6); } 100% { opacity: 0.9; box-shadow: inset 0 0 30px rgba(255,255,240,0.5); } }
@keyframes glh-sunbeam-pulse { 0% { opacity: 0.3; transform: scaleX(0.95); } 50% { opacity: 0.7; transform: scaleX(1.05); } 100% { opacity: 0.4; transform: scaleX(1); } }
@keyframes glh-teacher-move { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-3px) rotate(1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes glh-student-tilt { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(3px) rotate(2deg); } 100% { transform: translateX(-2px) rotate(-1deg); } }
@keyframes glh-book-open { 0% { transform: rotate(-5deg) scaleY(1); } 50% { transform: rotate(5deg) scaleY(1.1); } 100% { transform: rotate(-5deg) scaleY(1); } }
@keyframes glh-heart-float { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-10px) scale(1.2); } 100% { transform: translateY(0) scale(1); } }

/* love-sows-desire */
.scn-love-sows-desire {
  background: linear-gradient(180deg, #ffeedd 0%, #f5dcc0 40%, #e8c8a8 100%),
              radial-gradient(ellipse at 60% 20%, rgba(255,210,150,0.5) 0%, transparent 70%);
}
.scn-love-sows-desire .window {
  position: absolute; top: 10%; left: 15%; width: 55%; height: 50%;
  background: linear-gradient(135deg, #d0e0f0 0%, #e8f0ff 60%, #ffffff 100%);
  border-radius: 6px 6px 12% 12%;
  box-shadow: inset 0 0 30px rgba(255,255,240,0.3);
}
.scn-love-sows-desire .figure-sower {
  position: absolute; bottom: 15%; left: 35%; width: 14%; height: 40%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 40% 30% 20% 20% / 60% 50% 30% 30%;
  animation: lsd-sower-sway 6s ease-in-out infinite;
}
.scn-love-sows-desire .arm-throw {
  position: absolute; bottom: 35%; left: 30%; width: 10%; height: 20%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  transform-origin: bottom right;
  animation: lsd-arm-throw 3s ease-in-out infinite;
}
.scn-love-sows-desire .seed-1 {
  position: absolute; bottom: 25%; left: 25%; width: 2%; height: 2%;
  background: radial-gradient(circle, #8a6a4a 0%, #6a4a2a 100%);
  border-radius: 50%;
  animation: lsd-seed-fall 5s ease-in infinite;
}
.scn-love-sows-desire .seed-2 {
  position: absolute; bottom: 30%; left: 28%; width: 2%; height: 2%;
  background: radial-gradient(circle, #8a6a4a 0%, #6a4a2a 100%);
  border-radius: 50%;
  animation: lsd-seed-fall 5s ease-in infinite 1.5s;
}
.scn-love-sows-desire .heart-1 {
  position: absolute; bottom: 40%; left: 20%; width: 4%; height: 4%;
  background: radial-gradient(circle, #d87878 0%, #b85858 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 12px 4px rgba(216,120,120,0.4);
  animation: lsd-heart-rise 6s ease-out infinite;
}
.scn-love-sows-desire .heart-2 {
  position: absolute; bottom: 35%; left: 22%; width: 3%; height: 3%;
  background: radial-gradient(circle, #d87878 0%, #b85858 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 10px 3px rgba(216,120,120,0.3);
  animation: lsd-heart-rise 6s ease-out infinite 3s;
}
@keyframes lsd-sower-sway { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes lsd-arm-throw { 0% { transform: rotate(-30deg); } 50% { transform: rotate(20deg); } 100% { transform: rotate(-50deg); } }
@keyframes lsd-seed-fall { 0% { transform: translateY(0) translateX(0) scale(1); opacity: 1; } 50% { transform: translateY(-30px) translateX(20px) scale(0.8); opacity: 0.8; } 100% { transform: translateY(60px) translateX(-10px) scale(0.4); opacity: 0; } }
@keyframes lsd-heart-rise { 0% { transform: translateY(0) scale(0.8); opacity: 0.9; } 50% { transform: translateY(-40px) scale(1.2); opacity: 1; } 100% { transform: translateY(-80px) scale(0.6); opacity: 0; } }

/* zeuxippus-agrees */
.scn-zeuxippus-agrees {
  background: linear-gradient(135deg, #f5e6d0 0%, #e8d4b8 40%, #d8c0a0 100%),
              radial-gradient(ellipse at 50% 10%, rgba(255,220,180,0.4) 0%, transparent 70%);
}
.scn-zeuxippus-agrees .arch-bg {
  position: absolute; top: 0; left: 15%; width: 70%; height: 60%;
  background: radial-gradient(ellipse 70% 100% at 50% 100%, #e8d4b8 0%, transparent 100%);
  clip-path: ellipse(50% 100% at 50% 100%);
}
.scn-zeuxippus-agrees .couch {
  position: absolute; bottom: 10%; left: 20%; width: 60%; height: 15%;
  background: linear-gradient(180deg, #6a4a3a 0%, #4a3020 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 -4px 10px rgba(0,0,0,0.3);
}
.scn-zeuxippus-agrees .figure-za-1 {
  position: absolute; bottom: 22%; left: 25%; width: 10%; height: 25%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 40% 30% 20% 20% / 60% 50% 30% 30%;
  animation: za-figure-gesture 8s ease-in-out infinite;
}
.scn-zeuxippus-agrees .figure-za-2 {
  position: absolute; bottom: 22%; left: 40%; width: 10%; height: 25%;
  background: linear-gradient(180deg, #3a2a2a 0%, #221a1a 100%);
  border-radius: 40% 30% 20% 20% / 60% 50% 30% 30%;
}
.scn-zeuxippus-agrees .figure-za-3 {
  position: absolute; bottom: 22%; right: 25%; width: 10%; height: 25%;
  background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%);
  border-radius: 40% 30% 20% 20% / 60% 50% 30% 30%;
}
.scn-zeuxippus-agrees .table-za {
  position: absolute; bottom: 8%; left: 45%; width: 10%; height: 8%;
  background: linear-gradient(180deg, #7a5a3a 0%, #5a3a2a 100%);
  border-radius: 4px;
}
.scn-zeuxippus-agrees .cup-za {
  position: absolute; bottom: 12%; left: 47%; width: 3%; height: 4%;
  background: radial-gradient(circle, #c8a878 0%, #a08860 100%);
  border-radius: 50% 50% 30% 30%;
  animation: za-cup-bob 5s ease-in-out infinite;
}
@keyframes za-figure-gesture { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3px) rotate(5deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes za-cup-bob { 0% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-5px) rotate(3deg); } 100% { transform: translateY(0) rotate(0); } }

/* plato-madness-kinds */
.scn-plato-madness-kinds {
  background: linear-gradient(180deg, #f0e8dc 0%, #e0d4c4 40%, #d0c0b0 100%),
              radial-gradient(ellipse at 30% 30%, rgba(240,220,200,0.5) 0%, transparent 60%);
}
.scn-plato-madness-kinds .window-pmk {
  position: absolute; top: 8%; left: 20%; width: 40%; height: 45%;
  background: linear-gradient(135deg, #c4d8e8 0%, #e0ecf8 60%, #f0f8ff 100%);
  border-radius: 4px 4px 10% 10%;
  box-shadow: inset 0 0 20px rgba(255,255,240,0.3);
}
.scn-plato-madness-kinds .desk-pmk {
  position: absolute; bottom: 5%; left: 40%; width: 20%; height: 10%;
  background: linear-gradient(180deg, #7a5a3a 0%, #5a3a2a 100%);
  border-radius: 4px 4px 0 0;
}
.scn-plato-madness-kinds .figure-pmk {
  position: absolute; bottom: 15%; left: 30%; width: 12%; height: 30%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 40% 30% 20% 20% / 60% 50% 30% 30%;
  animation: pmk-figure-write 10s ease-in-out infinite;
}
.scn-plato-madness-kinds .scroll-pmk {
  position: absolute; bottom: 10%; left: 35%; width: 4%; height: 8%;
  background: linear-gradient(180deg, #b89a7a 0%, #8a6a4a 100%);
  border-radius: 2px 2px 50% 50%;
  transform: rotate(10deg);
}
.scn-plato-madness-kinds .bubble-1 {
  position: absolute; top: 25%; left: 50%; width: 6%; height: 6%;
  background: radial-gradient(circle, rgba(180,200,220,0.4) 0%, transparent 100%);
  border-radius: 50%;
  border: 1px solid rgba(180,200,220,0.3);
  animation: pmk-bubble-rise 8s ease-in-out infinite;
}
.scn-plato-madness-kinds .bubble-2 {
  position: absolute; top: 20%; left: 55%; width: 4%; height: 4%;
  background: radial-gradient(circle, rgba(200,180,220,0.4) 0%, transparent 100%);
  border-radius: 50%;
  border: 1px solid rgba(200,180,220,0.3);
  animation: pmk-bubble-rise 8s ease-in-out infinite 3s;
}
.scn-plato-madness-kinds .bubble-3 {
  position: absolute; top: 30%; left: 60%; width: 5%; height: 5%;
  background: radial-gradient(circle, rgba(220,200,180,0.4) 0%, transparent 100%);
  border-radius: 50%;
  border: 1px solid rgba(220,200,180,0.3);
  animation: pmk-bubble-rise 8s ease-in-out infinite 6s;
}
@keyframes pmk-figure-write { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(3px) rotate(2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes pmk-bubble-rise { 0% { transform: translateY(0) scale(0.8); opacity: 0.7; } 50% { transform: translateY(-20px) scale(1.2); opacity: 1; } 100% { transform: translateY(40px) scale(0.6); opacity: 0.3; } }

.scn-citizens-become-friends {
  background: linear-gradient(180deg, #f7e8c8 0%, #e6c08a 50%, #c98b4b 100%), radial-gradient(ellipse at 70% 20%, #f0d0a0 0%, transparent 70%);
}
.scn-citizens-become-friends .room-bg { position:absolute; inset:0; background: linear-gradient(180deg, #fcf0d8 0%, #e8c48a 100%); }
.scn-citizens-become-friends .window-frame { position:absolute; top:5%; left:10%; width:30%; height:60%; border:8px solid #8b6a3a; background: #c8e0f0; border-radius:4% 4% 0 0; animation: cb-window 8s ease-in-out infinite alternate; }
.scn-citizens-become-friends .sunlight { position:absolute; top:5%; left:10%; width:30%; height:60%; background: radial-gradient(ellipse at 30% 20%, rgba(255,240,180,0.6) 0%, transparent 80%); filter: blur(10px); animation: cb-sunlight 6s ease-in-out infinite alternate; }
.scn-citizens-become-friends .table { position:absolute; bottom:15%; left:20%; width:60%; height:12%; background: linear-gradient(180deg, #a0784a 0%, #7a5a2e 100%); border-radius:4px; box-shadow: 0 8px 20px rgba(0,0,0,0.3); }
.scn-citizens-become-friends .figure-a { position:absolute; bottom:20%; left:30%; width:20px; height:40px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cb-walk 5s ease-in-out infinite; }
.scn-citizens-become-friends .figure-b { position:absolute; bottom:20%; left:55%; width:20px; height:38px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cb-walk 5s ease-in-out infinite reverse; }
.scn-citizens-become-friends .glow { position:absolute; bottom:20%; left:40%; width:40px; height:40px; background: radial-gradient(circle, rgba(255,220,150,0.5) 0%, transparent 100%); filter: blur(15px); animation: cb-glow 4s ease-in-out infinite alternate; }
@keyframes cb-window { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes cb-sunlight { 0% { transform: scale(1) } 50% { transform: scale(1.05) } 100% { transform: scale(0.95) } }
@keyframes cb-walk { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(8px) rotate(2deg) } 50% { transform: translateX(16px) rotate(-2deg) } 75% { transform: translateX(24px) rotate(1deg) } 100% { transform: translateX(32px) rotate(0) } }
@keyframes cb-glow { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.6 } }

.scn-two-kinds-of-shame {
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, #0e0e1a 100%), radial-gradient(ellipse at 30% 60%, #2a2a3a 0%, transparent 70%);
}
.scn-two-kinds-of-shame .room-dark { position:absolute; inset:0; background: linear-gradient(180deg, #1e1e2e 0%, #0a0a14 100%); }
.scn-two-kinds-of-shame .doorway { position:absolute; right:10%; top:10%; width:30%; height:80%; background: #1a1a2a; border:4px solid #3a3a4a; border-radius:0 0 4% 4%; box-shadow: inset 0 0 30px rgba(0,0,0,0.8); }
.scn-two-kinds-of-shame .shadow-figure { position:absolute; bottom:20%; right:15%; width:24px; height:50px; background: linear-gradient(180deg, #050508 0%, #000 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ks-shadow 6s ease-in-out infinite; }
.scn-two-kinds-of-shame .light-shaft { position:absolute; top:5%; left:5%; width:20%; height:95%; background: linear-gradient(180deg, rgba(220,230,255,0.15) 0%, transparent 100%); clip-path: polygon(0 0, 100% 10%, 100% 90%, 0 100%); animation: ks-light 8s ease-in-out infinite alternate; }
.scn-two-kinds-of-shame .floor-line { position:absolute; bottom:15%; left:0; right:0; height:4px; background: #3a3a4a; opacity:0.5; }
.scn-two-kinds-of-shame .dust { position:absolute; top:30%; left:10%; width:6px; height:6px; background: rgba(200,210,255,0.3); border-radius:50%; filter: blur(2px); animation: ks-dust 12s linear infinite; }
.scn-two-kinds-of-shame .faint-glow { position:absolute; bottom:30%; left:20%; width:80px; height:80px; background: radial-gradient(circle, rgba(100,120,160,0.1) 0%, transparent 100%); filter: blur(20px); animation: ks-glow 5s ease-in-out infinite alternate; }
@keyframes ks-shadow { 0% { transform: translateX(0) scaleY(1) } 50% { transform: translateX(-10px) scaleY(1.02) } 100% { transform: translateX(5px) scaleY(0.98) } }
@keyframes ks-light { 0% { opacity:0.2 } 50% { opacity:0.6 } 100% { opacity:0.3 } }
@keyframes ks-dust { 0% { transform: translate(0,0) } 50% { transform: translate(30px,-10px) } 100% { transform: translate(60px,5px) } }
@keyframes ks-glow { 0% { opacity:0.3 } 50% { opacity:0.7 } 100% { opacity:0.4 } }

.scn-euphemisms-for-passions {
  background: linear-gradient(180deg, #fdf5e6 0%, #f0e0c0 50%, #d8c8a0 100%), radial-gradient(ellipse at 50% 80%, #f5e8d0 0%, transparent 70%);
}
.scn-euphemisms-for-passions .study-bg { position:absolute; inset:0; background: linear-gradient(180deg, #faf0e0 0%, #e8d8b0 100%); }
.scn-euphemisms-for-passions .bookshelf { position:absolute; top:5%; left:5%; width:25%; height:80%; background: linear-gradient(180deg, #b09060 0%, #8a6a3a 100%); border-radius:2%; box-shadow: inset 0 0 20px rgba(0,0,0,0.2); animation: ep-shelf 10s ease-in-out infinite alternate; }
.scn-euphemisms-for-passions .chair { position:absolute; bottom:15%; left:40%; width:35%; height:45%; background: linear-gradient(180deg, #c09860 0%, #a07840 100%); border-radius:10% 10% 5% 5% / 20% 20% 10% 10%; }
.scn-euphemisms-for-passions .lamp-glow { position:absolute; top:10%; right:15%; width:60px; height:60px; background: radial-gradient(circle, rgba(255,230,180,0.6) 0%, transparent 100%); filter: blur(12px); animation: ep-lamp 6s ease-in-out infinite alternate; }
.scn-euphemisms-for-passions .paper { position:absolute; bottom:20%; left:45%; width:20%; height:5%; background: #f5f0e0; border-radius:2px; transform: rotate(-5deg); box-shadow: 0 2px 5px rgba(0,0,0,0.1); animation: ep-paper 8s ease-in-out infinite; }
.scn-euphemisms-for-passions .quill { position:absolute; bottom:25%; left:60%; width:4px; height:25px; background: linear-gradient(180deg, #5a4a3a 0%, #8a7a5a 100%); border-radius:0 0 50% 50%; transform: rotate(20deg); transform-origin: bottom; animation: ep-quill 5s ease-in-out infinite; }
@keyframes ep-shelf { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes ep-lamp { 0% { opacity:0.7; transform: scale(1) } 50% { opacity:1; transform: scale(1.1) } 100% { opacity:0.8; transform: scale(0.95) } }
@keyframes ep-paper { 0% { transform: rotate(-5deg) } 50% { transform: rotate(-2deg) } 100% { transform: rotate(-6deg) } }
@keyframes ep-quill { 0% { transform: rotate(20deg) } 50% { transform: rotate(15deg) } 100% { transform: rotate(22deg) } }

.scn-evasions-by-names {
  background: linear-gradient(180deg, #c0d0e0 0%, #a0b8d0 50%, #8090a0 100%), radial-gradient(ellipse at 70% 30%, #d0e0f0 0%, transparent 70%);
}
.scn-evasions-by-names .bright-room { position:absolute; inset:0; background: linear-gradient(180deg, #d8e8f0 0%, #b8c8d8 100%); }
.scn-evasions-by-names .harsh-shadow { position:absolute; top:0; right:0; width:40%; height:100%; background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.1) 100%); clip-path: polygon(40% 0, 100% 0, 100% 100%, 0% 100%); animation: en-shadow 6s ease-in-out infinite alternate; }
.scn-evasions-by-names .figure-trembling { position:absolute; bottom:20%; left:30%; width:22px; height:45px; background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: en-tremble 0.5s ease-in-out infinite; }
.scn-evasions-by-names .tear-track { position:absolute; top:40%; left:32%; width:2px; height:20px; background: rgba(200,220,255,0.6); border-radius:50%; animation: en-tear 2s ease-in-out infinite; }
.scn-evasions-by-names .wall-line { position:absolute; top:0; left:0; width:100%; height:2px; background: #7a8a9a; }
.scn-evasions-by-names .window-bright { position:absolute; top:5%; left:60%; width:30%; height:50%; background: #e0f0ff; border:6px solid #a0b0c0; border-radius:4% 4% 0 0; box-shadow: inset 0 0 30px rgba(255,255,255,0.5); animation: en-window 10s ease-in-out infinite alternate; }
.scn-evasions-by-names .distortion { position:absolute; top:10%; left:20%; width:100px; height:100px; background: radial-gradient(circle, rgba(200,50,50,0.05) 0%, transparent 100%); filter: blur(20px); animation: en-distort 3s ease-in-out infinite; }
@keyframes en-shadow { 0% { opacity:0.6 } 50% { opacity:0.9 } 100% { opacity:0.7 } }
@keyframes en-tremble { 0% { transform: translate(0,0) } 25% { transform: translate(1px,-1px) } 50% { transform: translate(-1px,1px) } 75% { transform: translate(2px,0) } 100% { transform: translate(-1px,-1px) } }
@keyframes en-tear { 0% { opacity:0; transform: translateY(0) } 50% { opacity:0.8; transform: translateY(10px) } 100% { opacity:0; transform: translateY(20px) } }
@keyframes en-window { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes en-distort { 0% { transform: scale(1) rotate(0) } 50% { transform: scale(1.05) rotate(5deg) } 100% { transform: scale(0.95) rotate(-5deg) } }

.scn-advice-perfection-practice { background: linear-gradient(180deg, #d4b886 0%, #c4a06a 30%, #a08050 60%, #806040 100%), radial-gradient(ellipse at 70% 50%, #f0d8a0 0%, transparent 60%); }
.scn-advice-perfection-practice { position: relative; overflow: hidden; width: 100%; height: 100%; }
.scn-advice-perfection-practice .bg-wall { position: absolute; inset: 0 0 35% 0; background: linear-gradient(180deg, #e8d4a8 0%, #d4b886 40%, #c0a46e 100%); border-radius: 0 0 20% 20% / 0 0 10% 10%; box-shadow: inset 0 -8px 20px rgba(80, 50, 20, .15); animation: si1-wall 16s ease-in-out infinite alternate; }
.scn-advice-perfection-practice .desk { position: absolute; bottom: 10%; left: 10%; right: 10%; height: 30%; background: linear-gradient(180deg, #8a6a3a 0%, #6a4a2a 30%, #4a2a1a 100%); border-radius: 4% 4% 0 0; box-shadow: 0 -6px 14px rgba(0, 0, 0, .3), inset 0 4px 8px rgba(200, 160, 80, .2); transform: perspective(400px) rotateX(5deg); }
.scn-advice-perfection-practice .scroll { position: absolute; bottom: 28%; left: 50%; width: 120px; height: 60px; transform: translateX(-50%); background: linear-gradient(180deg, #f0e0c0 0%, #e0c8a0 50%, #d0b880 100%); border-radius: 0 0 50% 50% / 0 0 60% 60%; box-shadow: 0 4px 10px rgba(0, 0, 0, .2); animation: si1-scroll 8s ease-in-out infinite; }
.scn-advice-perfection-practice .inkwell { position: absolute; bottom: 32%; left: 35%; width: 16px; height: 20px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 30% 30% 20% 20%; box-shadow: inset 0 -4px 6px rgba(0, 0, 0, .4); animation: si1-ink 6s ease-in-out infinite; }
.scn-advice-perfection-practice .candle { position: absolute; bottom: 38%; left: 60%; width: 8px; height: 36px; background: linear-gradient(180deg, #f0e0c0 0%, #e0c8a0 60%, #c0a070 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 6px rgba(200, 160, 80, .3); animation: si1-candle 10s ease-in-out infinite alternate; }
.scn-advice-perfection-practice .glow-warm { position: absolute; bottom: 36%; left: 56%; width: 60px; height: 60px; background: radial-gradient(circle, rgba(255, 210, 120, .4) 0%, rgba(255, 180, 60, .15) 40%, transparent 70%); border-radius: 50%; animation: si1-glow 4s ease-in-out infinite alternate; }
.scn-advice-perfection-practice .hand-write { position: absolute; bottom: 30%; left: 46%; width: 22px; height: 32px; background: linear-gradient(180deg, #d4a878 0%, #c09060 40%, #a07050 100%); border-radius: 40% 30% 30% 40% / 50% 40% 40% 50%; transform-origin: 40% 100%; animation: si1-hand 3s ease-in-out infinite; }
.scn-advice-perfection-practice .shadow-desk { position: absolute; bottom: 8%; left: 8%; right: 8%; height: 6%; background: linear-gradient(180deg, rgba(0, 0, 0, .2) 0%, transparent 100%); border-radius: 50%; filter: blur(3px); animation: si1-shadow 12s ease-in-out infinite alternate; }
@keyframes si1-wall { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes si1-scroll { 0%, 100% { transform: translateX(-50%) scale(1) } 50% { transform: translateX(-50%) scale(1.02) translateY(-2px) } }
@keyframes si1-ink { 0%, 100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes si1-candle { 0%, 100% { transform: scaleY(1) rotate(-1deg) } 50% { transform: scaleY(1.04) rotate(1deg) } }
@keyframes si1-glow { 0% { opacity: .6; transform: scale(1) } 50% { opacity: 1; transform: scale(1.15) } 100% { opacity: .7; transform: scale(.95) } }
@keyframes si1-hand { 0% { transform: rotate(-5deg) translateY(0) } 25% { transform: rotate(2deg) translateY(-2px) } 50% { transform: rotate(-3deg) translateY(1px) } 75% { transform: rotate(4deg) translateY(-1px) } 100% { transform: rotate(-5deg) translateY(0) } }
@keyframes si1-shadow { 0%, 100% { opacity: .5; transform: scaleX(1) } 50% { opacity: .8; transform: scaleX(1.05) } }

.scn-pericles-demosthenes-prepared { background: linear-gradient(180deg, #e8dcc8 0%, #d4c8a8 30%, #b8a888 60%, #a09070 100%), radial-gradient(ellipse at 50% 20%, #f0e8d8 0%, transparent 50%); }
.scn-pericles-demosthenes-prepared { position: relative; overflow: hidden; width: 100%; height: 100%; }
.scn-pericles-demosthenes-prepared .bg-portico { position: absolute; inset: 0 0 20% 0; background: linear-gradient(180deg, #d8ccb0 0%, #c8b898 40%, #b0a080 100%); border-radius: 0 0 40% 40% / 0 0 20% 20%; box-shadow: inset 0 -10px 30px rgba(80, 60, 40, .1); animation: si2-bg 20s ease-in-out infinite alternate; }
.scn-pericles-demosthenes-prepared .column-left { position: absolute; bottom: 18%; left: 18%; width: 14px; height: 60%; background: linear-gradient(90deg, #c0a888 0%, #e0d0b0 30%, #c8b898 70%, #a89070 100%); border-radius: 10%; box-shadow: 2px 0 8px rgba(0, 0, 0, .1); animation: si2-col-l 18s ease-in-out infinite alternate; }
.scn-pericles-demosthenes-prepared .column-right { position: absolute; bottom: 18%; right: 18%; width: 14px; height: 60%; background: linear-gradient(90deg, #c0a888 0%, #e0d0b0 30%, #c8b898 70%, #a89070 100%); border-radius: 10%; box-shadow: -2px 0 8px rgba(0, 0, 0, .1); animation: si2-col-r 18s ease-in-out infinite alternate delay: -9s; }
.scn-pericles-demosthenes-prepared .figure-pericles { position: absolute; bottom: 18%; left: 32%; width: 28px; height: 64px; background: linear-gradient(180deg, #e8dcc0 0%, #d0c0a0 60%, #b8a888 100%); border-radius: 40% 40% 30% 30% / 50% 50% 35% 35%; box-shadow: 0 6px 12px rgba(0, 0, 0, .15); transform-origin: bottom center; animation: si2-fig1 8s ease-in-out infinite; }
.scn-pericles-demosthenes-prepared .figure-demosthenes { position: absolute; bottom: 18%; right: 32%; width: 26px; height: 60px; background: linear-gradient(180deg, #d8c8a8 0%, #c0b090 60%, #a89878 100%); border-radius: 40% 40% 30% 30% / 50% 50% 35% 35%; box-shadow: 0 6px 12px rgba(0, 0, 0, .15); transform-origin: bottom center; animation: si2-fig2 9s ease-in-out infinite; }
.scn-pericles-demosthenes-prepared .sunbeam { position: absolute; top: 0; left: 40%; width: 20%; height: 100%; background: linear-gradient(180deg, rgba(255, 240, 200, .25) 0%, rgba(255, 240, 200, .1) 40%, transparent 70%); transform: skewX(-8deg); filter: blur(8px); animation: si2-beam 14s ease-in-out infinite alternate; }
.scn-pericles-demosthenes-prepared .shadow-col { position: absolute; bottom: 16%; left: 20%; width: 10%; height: 8%; background: linear-gradient(180deg, rgba(0, 0, 0, .08) 0%, transparent 100%); border-radius: 50%; filter: blur(5px); animation: si2-shadow 20s ease-in-out infinite alternate; }
.scn-pericles-demosthenes-prepared .podium { position: absolute; bottom: 15%; left: 50%; width: 50px; height: 10%; transform: translateX(-50%); background: linear-gradient(180deg, #b0a080 0%, #908060 50%, #706050 100%); border-radius: 10% 10% 0 0; box-shadow: 0 -4px 10px rgba(0, 0, 0, .15); animation: si2-podium 12s ease-in-out infinite; }
@keyframes si2-bg { 0%, 100% { opacity: .9 } 50% { opacity: 1 } }
@keyframes si2-col-l { 0%, 100% { transform: translateY(0) } 50% { transform: translateY(-3px) } }
@keyframes si2-col-r { 0%, 100% { transform: translateY(0) } 50% { transform: translateY(-3px) } }
@keyframes si2-fig1 { 0%, 100% { transform: translateY(0) rotate(-2deg) } 30% { transform: translateY(-2px) rotate(0) } 60% { transform: translateY(1px) rotate(1deg) } 100% { transform: translateY(0) rotate(-2deg) } }
@keyframes si2-fig2 { 0%, 100% { transform: translateY(0) rotate(2deg) } 30% { transform: translateY(-2px) rotate(0) } 60% { transform: translateY(1px) rotate(-1deg) } 100% { transform: translateY(0) rotate(2deg) } }
@keyframes si2-beam { 0% { opacity: .3; transform: skewX(-8deg) scaleX(1) } 50% { opacity: .6; transform: skewX(-6deg) scaleX(1.1) } 100% { opacity: .2; transform: skewX(-10deg) scaleX(.9) } }
@keyframes si2-shadow { 0%, 100% { opacity: .4; transform: scaleX(1) } 50% { opacity: .7; transform: scaleX(1.2) } }
@keyframes si2-podium { 0%, 100% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(1.03) } }

.scn-demosthenes-midias-preparation { background: linear-gradient(180deg, #8a7050 0%, #6a5030 30%, #4a3820 60%, #2a1a0a 100%), radial-gradient(ellipse at 60% 40%, #c09860 0%, transparent 50%); }
.scn-demosthenes-midias-preparation { position: relative; overflow: hidden; width: 100%; height: 100%; }
.scn-demosthenes-midias-preparation .bg-chamber { position: absolute; inset: 0 0 25% 0; background: linear-gradient(180deg, #5a4a30 0%, #3a2a18 40%, #1a1008 100%); border-radius: 0 0 30% 30% / 0 0 15% 15%; box-shadow: inset 0 -12px 30px rgba(0, 0, 0, .4); animation: si3-chamber 18s ease-in-out infinite alternate; }
.scn-demosthenes-midias-preparation .table-wood { position: absolute; bottom: 8%; left: 8%; right: 8%; height: 26%; background: linear-gradient(180deg, #5a3a1a 0%, #3a2210 40%, #1a0a00 100%); border-radius: 6% 6% 0 0; box-shadow: 0 -8px 18px rgba(0, 0, 0, .5), inset 0 4px 10px rgba(100, 60, 20, .2); transform: perspective(300px) rotateX(6deg); }
.scn-demosthenes-midias-preparation .scroll-text { position: absolute; bottom: 24%; left: 50%; width: 100px; height: 50px; transform: translateX(-50%); background: linear-gradient(180deg, #c8b090 0%, #b09878 50%, #a08868 100%); border-radius: 0 0 40% 40% / 0 0 50% 50%; box-shadow: 0 4px 10px rgba(0, 0, 0, .35); animation: si3-scroll 6s ease-in-out infinite; }
.scn-demosthenes-midias-preparation .lamp-harsh { position: absolute; bottom: 40%; left: 35%; width: 14px; height: 18px; background: linear-gradient(180deg, #c09860 0%, #a08040 60%, #705020 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 12px 2px rgba(180, 140, 60, .3); animation: si3-lamp 5s ease-in-out infinite alternate; }
.scn-demosthenes-midias-preparation .glow-tense { position: absolute; bottom: 36%; left: 30%; width: 70px; height: 70px; background: radial-gradient(circle, rgba(200, 160, 80, .35) 0%, rgba(180, 130, 50, .12) 30%, transparent 60%); border-radius: 50%; animation: si3-glow 3s ease-in-out infinite alternate; }
.scn-demosthenes-midias-preparation .figure-hunched { position: absolute; bottom: 22%; left: 38%; width: 32px; height: 52px; background: linear-gradient(180deg, #3a2a18 0%, #2a1a0a 60%, #1a0a00 100%); border-radius: 40% 30% 30% 40% / 50% 40% 40% 50%; transform-origin: bottom center; box-shadow: 0 8px 16px rgba(0, 0, 0, .4); animation: si3-hunch 4s ease-in-out infinite; }
.scn-demosthenes-midias-preparation .shadow-sharp { position: absolute; bottom: 6%; left: 10%; right: 10%; height: 10%; background: linear-gradient(180deg, rgba(0, 0, 0, .3) 0%, transparent 100%); border-radius: 50%; filter: blur(2px); animation: si3-sharp 8s ease-in-out infinite alternate; }
.scn-demosthenes-midias-preparation .hand-grip { position: absolute; bottom: 28%; left: 44%; width: 10px; height: 14px; background: linear-gradient(180deg, #5a3a1a 0%, #3a2210 100%); border-radius: 30% 30% 20% 20%; box-shadow: 0 2px 6px rgba(0, 0, 0, .3); animation: si3-grip 3s ease-in-out infinite; }
@keyframes si3-chamber { 0%, 100% { opacity: .85 } 50% { opacity: 1 } }
@keyframes si3-scroll { 0%, 100% { transform: translateX(-50%) scale(1) rotate(0) } 50% { transform: translateX(-50%) scale(1.03) rotate(1deg) } }
@keyframes si3-lamp { 0% { transform: scaleY(1) rotate(-2deg); box-shadow: 0 0 10px 2px rgba(180, 140, 60, .25) } 50% { transform: scaleY(1.06) rotate(0); box-shadow: 0 0 18px 4px rgba(200, 160, 80, .4) } 100% { transform: scaleY(.98) rotate(2deg); box-shadow: 0 0 12px 2px rgba(180, 140, 60, .3) } }
@keyframes si3-glow { 0% { opacity: .5; transform: scale(1) } 50% { opacity: .9; transform: scale(1.2) } 100% { opacity: .6; transform: scale(.9) } }
@keyframes si3-hunch { 0%, 100% { transform: translateY(0) rotate(3deg) } 25% { transform: translateY(-3px) rotate(-2deg) } 50% { transform: translateY(2px) rotate(4deg) } 75% { transform: translateY(-1px) rotate(-1deg) } }
@keyframes si3-sharp { 0%, 100% { opacity: .5; transform: scaleX(1) } 50% { opacity: .8; transform: scaleX(1.15) } }
@keyframes si3-grip { 0%, 100% { transform: translateY(0) rotate(-5deg) } 50% { transform: translateY(-3px) rotate(5deg) } }

.scn-extempore-allowed-limited { background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 30%, #1a0a00 60%, #0a0000 100%), radial-gradient(ellipse at 50% 30%, #6a5030 0%, transparent 60%); }
.scn-extempore-allowed-limited { position: relative; overflow: hidden; width: 100%; height: 100%; }
.scn-extempore-allowed-limited .bg-dim { position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 40%, #0a0000 100%); border-radius: 0 0 50% 50% / 0 0 20% 20%; box-shadow: inset 0 -10px 25px rgba(0, 0, 0, .5); animation: si4-bg 24s ease-in-out infinite alternate; }
.scn-extempore-allowed-limited .arch-stone { position: absolute; bottom: 10%; left: 50%; width: 60%; height: 80%; transform: translateX(-50%); background: linear-gradient(180deg, #5a4028 0%, #3a2818 50%, #2a1a0a 100%); border-radius: 50% 50% 0 0 / 80% 80% 0 0; box-shadow: inset 0 0 30px rgba(0, 0, 0, .3); animation: si4-arch 30s ease-in-out infinite alternate; }
.scn-extempore-allowed-limited .pillar-left { position: absolute; bottom: 10%; left: 18%; width: 10px; height: 75%; background: linear-gradient(90deg, #4a3820 0%, #6a5030 30%, #5a4028 70%, #3a2818 100%); border-radius: 8%; box-shadow: 2px 0 10px rgba(0, 0, 0, .2); animation: si4-pil-l 22s ease-in-out infinite alternate; }
.scn-extempore-allowed-limited .pillar-right { position: absolute; bottom: 10%; right: 18%; width: 10px; height: 75%; background: linear-gradient(90deg, #4a3820 0%, #6a5030 30%, #5a4028 70%, #3a2818 100%); border-radius: 8%; box-shadow: -2px 0 10px rgba(0, 0, 0, .2); animation: si4-pil-r 22s ease-in-out infinite alternate delay: -11s; }
.scn-extempore-allowed-limited .figure-speaker { position: absolute; bottom: 10%; left: 50%; width: 30px; height: 60px; transform: translateX(-50%); background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 60%, #0a0000 100%); border-radius: 40% 40% 30% 30% / 50% 50% 35% 35%; box-shadow: 0 8px 18px rgba(0, 0, 0, .4); transform-origin: bottom center; animation: si4-speak 6s ease-in-out infinite; }
.scn-extempore-allowed-limited .hand-restrained { position: absolute; bottom: 32%; left: 48%; width: 8px; height: 16px; background: linear-gradient(180deg, #3a2a18 0%, #2a1a0a 100%); border-radius: 30% 30% 20% 20%; transform-origin: 50% 100%; box-shadow: 0 2px 6px rgba(0, 0, 0, .3); animation: si4-hand 5s ease-in-out infinite; }
.scn-extempore-allowed-limited .glow-amber { position: absolute; bottom: 40%; left: 38%; width: 40px; height: 40px; background: radial-gradient(circle, rgba(160, 120, 60, .25) 0%, rgba(120, 80, 30, .08) 30%, transparent 60%); border-radius: 50%; animation: si4-amber 8s ease-in-out infinite alternate; }
.scn-extempore-allowed-limited .shadow-soft { position: absolute; bottom: 8%; left: 5%; right: 5%; height: 8%; background: linear-gradient(180deg, rgba(0, 0, 0, .2) 0%, transparent 100%); border-radius: 50%; filter: blur(4px); animation: si4-soft 15s ease-in-out infinite alternate; }
@keyframes si4-bg { 0%, 100% { opacity: .7 } 50% { opacity: .9 } }
@keyframes si4-arch { 0%, 100% { transform: translateX(-50%) scale(1) } 50% { transform: translateX(-50%) scale(1.02) } }
@keyframes si4-pil-l { 0%, 100% { transform: translateY(0) } 50% { transform: translateY(-4px) } }
@keyframes si4-pil-r { 0%, 100% { transform: translateY(0) } 50% { transform: translateY(-4px) } }
@keyframes si4-speak { 0%, 100% { transform: translateX(-50%) rotate(0) } 20% { transform: translateX(-50%) rotate(2deg) translateY(-2px) } 40% { transform: translateX(-50%) rotate(-1deg) translateY(0) } 60% { transform: translateX(-50%) rotate(1deg) translateY(-1px) } 80% { transform: translateX(-50%) rotate(-2deg) translateY(-1px) } }
@keyframes si4-hand { 0%, 100% { transform: rotate(0) translateY(0) } 30% { transform: rotate(30deg) translateY(-2px) } 60% { transform: rotate(15deg) translateY(1px) } 100% { transform: rotate(0) translateY(0) } }
@keyframes si4-amber { 0% { opacity: .4; transform: scale(1) } 50% { opacity: .8; transform: scale(1.25) } 100% { opacity: .5; transform: scale(.9) } }
@keyframes si4-soft { 0%, 100% { opacity: .3; transform: scaleX(1) } 50% { opacity: .6; transform: scaleX(1.1) } }

/* Scene: love-makes-peevish-kind */
.scn-love-makes-peevish-kind {
  background: linear-gradient(180deg, #f5e6c8 0%, #e0c090 50%, #c8a87a 100%),
              radial-gradient(ellipse at 20% 60%, #ffdd99 0%, transparent 70%);
}

.scn-love-makes-peevish-kind .wall {
  position: absolute; inset: 0; 
  background: linear-gradient(135deg, #d4b48c 0%, #b38a5e 100%);
  animation: lpk-wall 12s ease-in-out infinite alternate;
}

.scn-love-makes-peevish-kind .fireplace {
  position: absolute; bottom: 25%; left: 50%; transform: translateX(-50%);
  width: 120px; height: 100px;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a3a2a 100%);
  border-radius: 12% 12% 6% 6%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.5);
}

.scn-love-makes-peevish-kind .fire-glow {
  position: absolute; bottom: 28%; left: 50%; transform: translateX(-50%);
  width: 70px; height: 70px;
  background: radial-gradient(circle, #ffcc66 0%, #c08040 60%, transparent 100%);
  border-radius: 50%;
  animation: lpk-glow 3s ease-in-out infinite alternate;
}

.scn-love-makes-peevish-kind .fire-flame {
  position: absolute; bottom: 28%; left: 50%; transform: translateX(-50%);
  width: 40px; height: 60px;
  background: linear-gradient(180deg, #ff9933 0%, #cc6600 50%, #804000 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  animation: lpk-flame 1.5s ease-in-out infinite alternate;
}

.scn-love-makes-peevish-kind .figure-chair {
  position: absolute; bottom: 25%; left: 30%;
  width: 50px; height: 70px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: lpk-chair 8s ease-in-out infinite;
}

.scn-love-makes-peevish-kind .window-sky {
  position: absolute; top: 15%; right: 15%;
  width: 80px; height: 100px;
  background: linear-gradient(180deg, #b0d4f0 0%, #80b0d0 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(255,255,200,0.3);
  animation: lpk-sky 20s ease-in-out infinite alternate;
}

.scn-love-makes-peevish-kind .window-frame {
  position: absolute; top: 15%; right: 15%;
  width: 80px; height: 100px;
  border: 4px solid #5a3a1a;
  border-radius: 4px;
  box-shadow: 0 0 0 2px #3a2a0a;
  animation: lpk-frame 12s ease-in-out infinite alternate;
}

.scn-love-makes-peevish-kind .rug {
  position: absolute; bottom: 0; left: 10%; right: 10%;
  height: 20%;
  background: linear-gradient(180deg, #8b5a2b 0%, #6b3a1a 100%);
  border-radius: 40% 40% 0 0;
  animation: lpk-rug 24s ease-in-out infinite alternate;
}

@keyframes lpk-wall {
  0% { opacity: 0.9; }
  50% { opacity: 1; background: linear-gradient(135deg, #d4b48c 0%, #b38a5e 50%, #a07050 100%); }
  100% { opacity: 0.85; }
}

@keyframes lpk-glow {
  0% { transform: translateX(-50%) scale(1); opacity: 0.8; box-shadow: 0 0 30px 10px #c08040; }
  50% { transform: translateX(-50%) scale(1.1); opacity: 1; box-shadow: 0 0 50px 20px #ffcc66; }
  100% { transform: translateX(-50%) scale(1); opacity: 0.9; box-shadow: 0 0 35px 12px #c08040; }
}

@keyframes lpk-flame {
  0% { transform: translateX(-50%) scaleY(1) translateY(0); }
  25% { transform: translateX(-50%) scaleY(1.08) translateY(-2px); }
  50% { transform: translateX(-50%) scaleY(0.92) translateY(2px); }
  75% { transform: translateX(-50%) scaleY(1.04) translateY(-1px); }
  100% { transform: translateX(-50%) scaleY(1) translateY(0); }
}

@keyframes lpk-chair {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-4px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}

@keyframes lpk-sky {
  0% { background: linear-gradient(180deg, #b0d4f0 0%, #80b0d0 100%); }
  50% { background: linear-gradient(180deg, #c0e0ff 0%, #90c0e0 100%); }
  100% { background: linear-gradient(180deg, #a0c8e8 0%, #70a0c0 100%); }
}

@keyframes lpk-frame {
  0% { box-shadow: 0 0 0 2px #3a2a0a; }
  50% { box-shadow: 0 0 0 3px #5a3a1a; }
  100% { box-shadow: 0 0 0 2px #3a2a0a; }
}

@keyframes lpk-rug {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.02); }
  100% { transform: scaleY(1); }
}

/* Scene: lover-crouches-like-cock */
.scn-lover-crouches-like-cock {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 30%, #0f0f1a 100%),
              radial-gradient(ellipse at 30% 50%, #4a4a6e 0%, transparent 60%);
}

.scn-lover-crouches-like-cock .bg-dark {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #12121a 0%, #0a0a12 100%);
  animation: lcl-bg 15s ease-in-out infinite alternate;
}

.scn-lover-crouches-like-cock .floor-shadow {
  position: absolute; bottom: 0; left: 0; right: 0;
  height: 30%;
  background: linear-gradient(180deg, #1a1a24 0%, #0a0a10 100%);
  border-radius: 20% 20% 0 0;
  animation: lcl-floor 12s ease-in-out infinite alternate;
}

.scn-lover-crouches-like-cock .wall-crack {
  position: absolute; top: 20%; left: 40%;
  width: 2px; height: 60px;
  background: #3a3a4a;
  transform: rotate(10deg);
  animation: lcl-crack 20s ease-in-out infinite alternate;
}

.scn-lover-crouches-like-cock .crouch-figure {
  position: absolute; bottom: 20%; left: 35%;
  width: 40px; height: 50px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: lcl-crouch 3s ease-in-out infinite;
}

.scn-lover-crouches-like-cock .light-source {
  position: absolute; top: 30%; right: 25%;
  width: 12px; height: 12px;
  background: radial-gradient(circle, #ffd080 0%, #b08040 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 8px #b08040;
  animation: lcl-light 4s ease-in-out infinite alternate;
}

.scn-lover-crouches-like-cock .light-ray {
  position: absolute; top: 30%; right: 25%;
  width: 80px; height: 2px;
  background: linear-gradient(90deg, rgba(255,208,128,0.4) 0%, transparent 100%);
  transform-origin: right center;
  transform: rotate(-20deg);
  animation: lcl-ray 4s ease-in-out infinite alternate;
}

.scn-lover-crouches-like-cock .dust-motes {
  position: absolute; top: 20%; left: 10%; right: 10%;
  height: 60%;
  background: radial-gradient(circle at 30% 50%, rgba(200,200,200,0.05) 0%, transparent 80%);
  animation: lcl-dust 30s linear infinite;
}

@keyframes lcl-bg {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}

@keyframes lcl-floor {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.03); }
  100% { transform: scaleY(1); }
}

@keyframes lcl-crack {
  0% { transform: rotate(10deg) scaleY(1); }
  50% { transform: rotate(12deg) scaleY(1.02); }
  100% { transform: rotate(10deg) scaleY(1); }
}

@keyframes lcl-crouch {
  0% { transform: translateX(0) translateY(0) rotate(-2deg); }
  25% { transform: translateX(3px) translateY(-1px) rotate(1deg); }
  50% { transform: translateX(-2px) translateY(1px) rotate(-1deg); }
  75% { transform: translateX(4px) translateY(-2px) rotate(2deg); }
  100% { transform: translateX(0) translateY(0) rotate(-2deg); }
}

@keyframes lcl-light {
  0% { box-shadow: 0 0 20px 8px #b08040; opacity: 0.8; }
  50% { box-shadow: 0 0 30px 12px #d0a060; opacity: 1; }
  100% { box-shadow: 0 0 20px 8px #b08040; opacity: 0.8; }
}

@keyframes lcl-ray {
  0% { transform: rotate(-20deg) scaleX(1); opacity: 0.5; }
  50% { transform: rotate(-18deg) scaleX(1.1); opacity: 0.8; }
  100% { transform: rotate(-20deg) scaleX(1); opacity: 0.5; }
}

@keyframes lcl-dust {
  0% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
  100% { transform: translateY(0); }
}

/* Scene: sappho-fire-words */
.scn-sappho-fire-words {
  background: linear-gradient(180deg, #1a0a00 0%, #3a1a0a 40%, #2a0a00 100%),
              radial-gradient(ellipse at 50% 60%, #8a3a1a 0%, transparent 70%);
}

.scn-sappho-fire-words .bg-warm {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #2a1000 0%, #1a0a00 100%);
  animation: sfw-bg 16s ease-in-out infinite alternate;
}

.scn-sappho-fire-words .face-profile {
  position: absolute; bottom: 30%; right: 40%;
  width: 70px; height: 90px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 60% 40% 40% 60% / 50% 40% 60% 50%;
  transform-origin: bottom center;
  animation: sfw-face 12s ease-in-out infinite;
}

.scn-sappho-fire-words .mouth-glow {
  position: absolute; bottom: 38%; right: 40%;
  width: 20px; height: 10px;
  background: radial-gradient(circle, #ffcc66 0%, #cc6600 100%);
  border-radius: 50%;
  filter: blur(2px);
  animation: sfw-mouth 2s ease-in-out infinite alternate;
}

.scn-sappho-fire-words .flame-large {
  position: absolute; bottom: 35%; right: 30%;
  width: 30px; height: 60px;
  background: linear-gradient(180deg, #ff9933 0%, #cc6600 50%, #803300 100%);
  border-radius: 50% 50% 20% 20% / 70% 70% 20% 20%;
  transform-origin: bottom center;
  animation: sfw-flame-l 3s ease-in-out infinite alternate;
}

.scn-sappho-fire-words .flame-small {
  position: absolute; bottom: 38%; right: 33%;
  width: 18px; height: 40px;
  background: linear-gradient(180deg, #ffbb66 0%, #cc6600 60%, #803300 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: sfw-flame-s 2.4s ease-in-out infinite alternate;
}

.scn-sappho-fire-words .sparks {
  position: absolute; bottom: 35%; right: 30%;
  width: 80px; height: 80px;
  background: radial-gradient(circle at 50% 100%, rgba(255,160,50,0.3) 0%, transparent 70%);
  animation: sfw-sparks 4s ease-in-out infinite;
}

.scn-sappho-fire-words .lyre {
  position: absolute; bottom: 20%; right: 15%;
  width: 30px; height: 40px;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a2a0a 100%);
  border-radius: 20% 20% 40% 40% / 30% 30% 50% 50%;
  transform: rotate(-10deg);
  animation: sfw-lyre 10s ease-in-out infinite;
}

@keyframes sfw-bg {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}

@keyframes sfw-face {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}

@keyframes sfw-mouth {
  0% { transform: scaleX(1) scaleY(0.8); opacity: 0.7; }
  50% { transform: scaleX(1.2) scaleY(1.2); opacity: 1; }
  100% { transform: scaleX(1) scaleY(0.8); opacity: 0.7; }
}

@keyframes sfw-flame-l {
  0% { transform: scaleY(1) translateY(0); }
  25% { transform: scaleY(1.1) translateY(-3px); }
  50% { transform: scaleY(0.9) translateY(2px); }
  75% { transform: scaleY(1.05) translateY(-1px); }
  100% { transform: scaleY(1) translateY(0); }
}

@keyframes sfw-flame-s {
  0% { transform: scaleY(1) translateY(0); }
  30% { transform: scaleY(0.85) translateY(3px); }
  60% { transform: scaleY(1.15) translateY(-3px); }
  100% { transform: scaleY(1) translateY(0); }
}

@keyframes sfw-sparks {
  0% { opacity: 0.3; transform: scale(1); }
  50% { opacity: 0.8; transform: scale(1.1); }
  100% { opacity: 0.3; transform: scale(1); }
}

@keyframes sfw-lyre {
  0% { transform: rotate(-10deg) scale(1); }
  50% { transform: rotate(-8deg) scale(1.02); }
  100% { transform: rotate(-10deg) scale(1); }
}

/* Scene: daphnaeus-recites-sappho */
.scn-daphnaeus-recites-sappho {
  background: linear-gradient(180deg, #f0e0c8 0%, #d8c8a8 50%, #c0b090 100%),
              radial-gradient(ellipse at 60% 30%, #f5e6d0 0%, transparent 70%);
}

.scn-daphnaeus-recites-sappho .hall-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #e8d8b8 0%, #c8b898 100%);
  animation: drs-bg 18s ease-in-out infinite alternate;
}

.scn-daphnaeus-recites-sappho .column-left {
  position: absolute; top: 10%; left: 10%;
  width: 20px; height: 80%;
  background: linear-gradient(180deg, #b8a888 0%, #9a8a6a 100%);
  border-radius: 4px;
  animation: drs-col 14s ease-in-out infinite alternate;
}

.scn-daphnaeus-recites-sappho .column-right {
  position: absolute; top: 10%; right: 10%;
  width: 20px; height: 80%;
  background: linear-gradient(180deg, #b8a888 0%, #9a8a6a 100%);
  border-radius: 4px;
  animation: drs-col 14s ease-in-out infinite alternate-reverse;
}

.scn-daphnaeus-recites-sappho .figure-daph {
  position: absolute; bottom: 20%; left: 40%;
  width: 60px; height: 90px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: drs-figure 10s ease-in-out infinite;
}

.scn-daphnaeus-recites-sappho .hand-gesture {
  position: absolute; bottom: 45%; left: 48%;
  width: 20px; height: 30px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  transform-origin: bottom center;
  animation: drs-hand 6s ease-in-out infinite;
}

.scn-daphnaeus-recites-sappho .light-rays {
  position: absolute; top: 0; left: 30%; right: 30%;
  height: 100%;
  background: radial-gradient(ellipse at 50% 0%, rgba(255,240,200,0.2) 0%, transparent 70%);
  animation: drs-rays 20s ease-in-out infinite alternate;
}

.scn-daphnaeus-recites-sappho .scroll {
  position: absolute; bottom: 20%; left: 35%;
  width: 12px; height: 20px;
  background: linear-gradient(180deg, #c8a878 0%, #a88858 100%);
  border-radius: 30% 30% 10% 10% / 40% 40% 20% 20%;
  transform: rotate(15deg);
  animation: drs-scroll 12s ease-in-out infinite;
}

@keyframes drs-bg {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}

@keyframes drs-col {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.02); }
  100% { transform: scaleY(1); }
}

@keyframes drs-figure {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-1px) rotate(1deg); }
  50% { transform: translateY(0) rotate(-1deg); }
  75% { transform: translateY(-1px) rotate(0.5deg); }
  100% { transform: translateY(0) rotate(0deg); }
}

@keyframes drs-hand {
  0% { transform: rotate(-10deg) translateY(0); }
  30% { transform: rotate(-5deg) translateY(-3px); }
  60% { transform: rotate(-15deg) translateY(2px); }
  100% { transform: rotate(-10deg) translateY(0); }
}

@keyframes drs-rays {
  0% { background: radial-gradient(ellipse at 50% 0%, rgba(255,240,200,0.15) 0%, transparent 70%); }
  50% { background: radial-gradient(ellipse at 50% 0%, rgba(255,240,200,0.25) 0%, transparent 70%); }
  100% { background: radial-gradient(ellipse at 50% 0%, rgba(255,240,200,0.15) 0%, transparent 70%); }
}

@keyframes drs-scroll {
  0% { transform: rotate(15deg) scale(1); }
  50% { transform: rotate(18deg) scale(1.03); }
  100% { transform: rotate(15deg) scale(1); }
}

/* love-conversation-ends */
.scn-love-conversation-ends {
  background:
    linear-gradient(180deg, #f5e6c8 0%, #d4b086 40%, #b8916a 100%),
    radial-gradient(ellipse at 30% 50%, #ffe0a0 0%, transparent 60%);
}
.scn-love-conversation-ends .room-bg { position:absolute; inset:0; background: linear-gradient(135deg, #e8d4b0 0%, #c9a575 50%, #a8835a 100%); animation: lce-room 12s ease-in-out infinite alternate; }
.scn-love-conversation-ends .lce-window { position:absolute; top:12%; left:12%; width:60px; height:80px; background: radial-gradient(circle, #fffbe0 0%, #eeddbb 70%); border: 4px solid #8b6f4a; border-radius: 4px; box-shadow: 0 0 30px 10px rgba(255,235,180,0.5); animation: lce-glow 4s ease-in-out infinite alternate; }
.scn-love-conversation-ends .lce-table { position:absolute; bottom:28%; left:50%; width:120px; height:20px; transform:translateX(-50%); background: linear-gradient(180deg, #7a5d3e 0%, #5c4229 100%); border-radius: 6px; box-shadow: 0 4px 10px rgba(0,0,0,0.3); }
.scn-love-conversation-ends .lce-figure-left { position:absolute; bottom:30%; left:35%; width:24px; height:40px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e05 100%); border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%; transform-origin: bottom center; animation: lce-sit 8s ease-in-out infinite; }
.scn-love-conversation-ends .lce-figure-right { position:absolute; bottom:30%; left:55%; width:24px; height:40px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e05 100%); border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%; transform-origin: bottom center; animation: lce-sit 8s ease-in-out infinite reverse; }
.scn-love-conversation-ends .lce-door { position:absolute; bottom:18%; right:10%; width:50px; height:90px; background: linear-gradient(180deg, #7a5d3e 0%, #4f3923 100%); border-radius: 4px; box-shadow: inset -2px 0 6px rgba(0,0,0,0.4); animation: lce-door-open 15s ease-in-out infinite; }
.scn-love-conversation-ends .lce-diogenes { position:absolute; bottom:20%; right:18%; width:20px; height:50px; background: linear-gradient(180deg, #2f1f10 0%, #0e0702 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: lce-walk 6s ease-in-out infinite; }
.scn-love-conversation-ends .lce-light { position:absolute; top:10%; left:40%; width:80px; height:80px; background: radial-gradient(circle, rgba(255,240,200,0.3) 0%, transparent 70%); animation: lce-lightpulse 5s ease-in-out infinite alternate; }
@keyframes lce-room { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes lce-glow { 0% { box-shadow: 0 0 20px 5px rgba(255,235,180,0.4); } 50% { box-shadow: 0 0 40px 15px rgba(255,235,180,0.7); } 100% { box-shadow: 0 0 25px 8px rgba(255,235,180,0.5); } }
@keyframes lce-sit { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-1px) rotate(2deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-1px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes lce-door-open { 0%,100% { transform: scaleX(1); } 50% { transform: scaleX(0.3) translateX(-10px); } }
@keyframes lce-walk { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-10px) rotate(-3deg); } 50% { transform: translateX(-20px) rotate(0deg); } 75% { transform: translateX(-30px) rotate(3deg); } 100% { transform: translateX(-40px) rotate(0deg); } }
@keyframes lce-lightpulse { 0% { opacity:0.6; transform: scale(1); } 50% { opacity:1; transform: scale(1.1); } 100% { opacity:0.7; transform: scale(0.95); } }

/* marriage-celebrated */
.scn-marriage-celebrated {
  background:
    linear-gradient(180deg, #fdf0e0 0%, #e0c4a8 40%, #c09a7a 100%),
    radial-gradient(ellipse at 50% 20%, #fff8ee 0%, transparent 70%);
}
.scn-marriage-celebrated .hall-bg { position:absolute; inset:0; background: linear-gradient(135deg, #f3e1ca 0%, #d6b692 50%, #b99674 100%); animation: mc-hall 15s ease-in-out infinite alternate; }
.scn-marriage-celebrated .mc-altar { position:absolute; bottom:20%; left:50%; width:80px; height:60px; transform:translateX(-50%); background: linear-gradient(180deg, #d4a373 0%, #a87a50 100%); border-radius: 10% 10% 5% 5%; box-shadow: 0 8px 20px rgba(0,0,0,0.3); }
.scn-marriage-celebrated .mc-pisias { position:absolute; bottom:25%; left:50%; width:30px; height:60px; transform:translateX(-50%); background: linear-gradient(180deg, #f5f0e6 0%, #d9cdb8 100%); border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%; box-shadow: 0 2px 8px rgba(0,0,0,0.2); animation: mc-stand 8s ease-in-out infinite; }
.scn-marriage-celebrated .mc-crown { position:absolute; top:22%; left:50%; width:20px; height:8px; transform:translateX(-50%); background: linear-gradient(90deg, #ffd700 0%, #e6b800 50%, #cc9900 100%); border-radius: 50% 50% 0 0; box-shadow: 0 0 12px 4px #ffd700; animation: mc-crownglow 3s ease-in-out infinite alternate; }
.scn-marriage-celebrated .mc-robe { position:absolute; bottom:30%; left:47%; width:40px; height:30px; background: linear-gradient(180deg, #faf5ee 0%, #e8dfcf 100%); border-radius: 0 0 30% 30% / 0 0 60% 60%; transform: skewX(-5deg); box-shadow: 0 4px 10px rgba(0,0,0,0.15); }
.scn-marriage-celebrated .mc-attendee-left { position:absolute; bottom:25%; left:20%; width:22px; height:45px; background: linear-gradient(180deg, #7a5d3e 0%, #3f2a18 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mc-bow 9s ease-in-out infinite; }
.scn-marriage-celebrated .mc-attendee-right { position:absolute; bottom:25%; right:20%; width:22px; height:45px; background: linear-gradient(180deg, #7a5d3e 0%, #3f2a18 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mc-bow 9s ease-in-out infinite reverse; }
.scn-marriage-celebrated .mc-garland { position:absolute; top:8%; left:10%; right:10%; height:12px; background: linear-gradient(90deg, #c8553d 0%, #a0461a 30%, #c8553d 50%, #a0461a 70%, #c8553d 100%); border-radius: 40%; filter: blur(1px); animation: mc-garland-sway 12s ease-in-out infinite; }
.scn-marriage-celebrated .mc-light { position:absolute; top:5%; left:45%; width:60px; height:100px; background: linear-gradient(180deg, rgba(255,250,240,0.4) 0%, transparent 100%); animation: mc-light-beam 6s ease-in-out infinite alternate; }
@keyframes mc-hall { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes mc-stand { 0%,100% { transform: translateX(-50%) rotate(0deg); } 25% { transform: translateX(-50%) rotate(1deg) translateY(-2px); } 50% { transform: translateX(-50%) rotate(0deg); } 75% { transform: translateX(-50%) rotate(-1deg) translateY(-2px); } }
@keyframes mc-crownglow { 0% { box-shadow: 0 0 8px 2px #ffd700; opacity:0.8; } 50% { box-shadow: 0 0 20px 6px #ffd700, 0 0 40px 12px rgba(255,215,0,0.4); opacity:1; } 100% { box-shadow: 0 0 10px 3px #ffd700; opacity:0.9; } }
@keyframes mc-bow { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(2px) rotate(-5deg); } 60% { transform: translateY(0) rotate(0deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes mc-garland-sway { 0% { transform: translateX(0) scaleY(1); } 50% { transform: translateX(5px) scaleY(1.05); } 100% { transform: translateX(-5px) scaleY(1); } }
@keyframes mc-light-beam { 0% { opacity:0.3; transform: scaleY(0.8); } 50% { opacity:0.7; transform: scaleY(1.1); } 100% { opacity:0.4; transform: scaleY(0.9); } }

/* go-worship-god */
.scn-go-worship-god {
  background:
    linear-gradient(180deg, #f7e8d0 0%, #d6b27a 40%, #b08a5c 100%),
    radial-gradient(ellipse at 50% 30%, #ffeca8 0%, transparent 60%);
}
.scn-go-worship-god .temple-bg { position:absolute; inset:0; background: linear-gradient(135deg, #e8cfb0 0%, #c7a67e 50%, #a88560 100%); animation: gwg-temple 14s ease-in-out infinite alternate; }
.scn-go-worship-god .gwg-altar { position:absolute; bottom:20%; left:50%; width:70px; height:50px; transform:translateX(-50%); background: linear-gradient(180deg, #b8956a 0%, #8a6b48 100%); border-radius: 8px 8px 4px 4px; box-shadow: 0 6px 16px rgba(0,0,0,0.3); }
.scn-go-worship-god .gwg-statue { position:absolute; bottom:30%; left:50%; width:18px; height:45px; transform:translateX(-50%); background: linear-gradient(180deg, #d4b48a 0%, #b08860 100%); border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%; box-shadow: 0 0 20px 6px rgba(255,220,150,0.5); animation: gwg-statue-glow 6s ease-in-out infinite alternate; }
.scn-go-worship-god .gwg-father { position:absolute; bottom:22%; left:30%; width:22px; height:48px; background: linear-gradient(180deg, #5a4030 0%, #2a1a10 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: gwg-walk 5s ease-in-out infinite; }
.scn-go-worship-god .gwg-follower1 { position:absolute; bottom:22%; left:38%; width:20px; height:44px; background: linear-gradient(180deg, #6a5038 0%, #3a2818 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: gwg-walk 5s ease-in-out infinite 0.5s; }
.scn-go-worship-god .gwg-follower2 { position:absolute; bottom:22%; left:22%; width:20px; height:44px; background: linear-gradient(180deg, #6a5038 0%, #3a2818 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: gwg-walk 5s ease-in-out infinite 1s; }
.scn-go-worship-god .gwg-torch { position:absolute; bottom:30%; left:35%; width:4px; height:20px; background: linear-gradient(180deg, #8b6f4a 0%, #5c4229 100%); border-radius: 2px; transform-origin: bottom center; }
.scn-go-worship-god .gwg-torch::after { content:''; position:absolute; top:-8px; left:-4px; width:12px; height:14px; background: radial-gradient(circle, #ffd080 0%, #ffa040 50%, #ff6600 100%); border-radius: 50%; box-shadow: 0 0 20px 8px #ffa040; animation: gwg-fire 2s ease-in-out infinite alternate; }
.scn-go-worship-god .gwg-rays { position:absolute; top:0; left:40%; width:20%; height:40%; background: linear-gradient(180deg, rgba(255,250,220,0.3) 0%, transparent 100%); clip-path: polygon(50% 0, 0% 100%, 100% 100%); animation: gwg-rays 10s ease-in-out infinite alternate; }
@keyframes gwg-temple { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes gwg-statue-glow { 0% { box-shadow: 0 0 12px 3px rgba(255,220,150,0.4); } 50% { box-shadow: 0 0 30px 12px rgba(255,220,150,0.8), 0 0 60px 20px rgba(255,200,100,0.3); } 100% { box-shadow: 0 0 15px 5px rgba(255,220,150,0.5); } }
@keyframes gwg-walk { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(8px) rotate(-3deg); } 50% { transform: translateX(16px) rotate(0deg); } 75% { transform: translateX(24px) rotate(3deg); } 100% { transform: translateX(32px) rotate(0deg); } }
@keyframes gwg-fire { 0% { transform: scale(1) rotate(0deg); opacity:0.8; } 50% { transform: scale(1.2) rotate(10deg); opacity:1; } 100% { transform: scale(0.9) rotate(-5deg); opacity:0.9; } }
@keyframes gwg-rays { 0% { opacity:0.2; transform: rotate(0deg); } 50% { opacity:0.6; transform: rotate(5deg); } 100% { opacity:0.3; transform: rotate(-3deg); } }

/* conjugal-advice-quince */
.scn-conjugal-advice-quince {
  background:
    linear-gradient(180deg, #f5e0c0 0%, #dbb690 40%, #c09070 100%),
    radial-gradient(ellipse at 50% 60%, #ffecc0 0%, transparent 70%);
}
.scn-conjugal-advice-quince .bedroom-bg { position:absolute; inset:0; background: linear-gradient(135deg, #edd8b8 0%, #c9ac8a 50%, #a88764 100%); animation: caq-room 16s ease-in-out infinite alternate; }
.scn-conjugal-advice-quince .caq-bed { position:absolute; bottom:10%; left:20%; width:60%; height:50%; background: linear-gradient(180deg, #c9a575 0%, #a07a58 100%); border-radius: 30% 30% 10% 10% / 40% 40% 20% 20%; box-shadow: inset 0 -10px 20px rgba(0,0,0,0.2); }
.scn-conjugal-advice-quince .caq-bride { position:absolute; bottom:30%; left:35%; width:22px; height:45px; background: linear-gradient(180deg, #f5f0e6 0%, #d9cdb8 100%); border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%; transform-origin: bottom center; animation: caq-sit 7s ease-in-out infinite; }
.scn-conjugal-advice-quince .caq-groom { position:absolute; bottom:30%; left:50%; width:24px; height:48px; background: linear-gradient(180deg, #5a4030 0%, #2a1a10 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: caq-sit 7s ease-in-out infinite 0.5s; }
.scn-conjugal-advice-quince .caq-quince { position:absolute; bottom:32%; left:42%; width:12px; height:14px; background: radial-gradient(circle at 40% 30%, #ffe680 0%, #d4a017 100%); border-radius: 50% 50% 40% 40% / 50% 50% 60% 60%; box-shadow: 0 0 10px 3px rgba(212,160,23,0.5); animation: caq-quince-glow 4s ease-in-out infinite alternate; }
.scn-conjugal-advice-quince .caq-lamp { position:absolute; top:15%; left:55%; width:16px; height:30px; background: linear-gradient(180deg, #d4a373 0%, #a87a50 100%); border-radius: 4px 4px 2px 2px; box-shadow: 0 0 30px 12px #ffd080; animation: caq-lamp-glow 5s ease-in-out infinite alternate; }
.scn-conjugal-advice-quince .caq-window { position:absolute; top:10%; right:10%; width:50px; height:60px; background: radial-gradient(circle, #fffbe0 0%, #ceb690 70%); border: 3px solid #8b6f4a; border-radius: 4px; box-shadow: 0 0 20px 6px rgba(255,235,180,0.4); animation: caq-window-glow 8s ease-in-out infinite alternate; }
.scn-conjugal-advice-quince .caq-curtain-left { position:absolute; top:8%; right:15%; width:28px; height:70px; background: linear-gradient(180deg, #b87878 0%, #9a5a5a 100%); border-radius: 0 0 40% 40% / 0 0 60% 60%; transform-origin: top right; animation: caq-curtain-sway 10s ease-in-out infinite; }
.scn-conjugal-advice-quince .caq-curtain-right { position:absolute; top:8%; right:8%; width:28px; height:70px; background: linear-gradient(180deg, #b87878 0%, #9a5a5a 100%); border-radius: 0 0 40% 40% / 0 0 60% 60%; transform-origin: top left; animation: caq-curtain-sway 10s ease-in-out infinite reverse; }
@keyframes caq-room { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes caq-sit { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-1px) rotate(2deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-1px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes caq-quince-glow { 0% { box-shadow: 0 0 6px 1px rgba(212,160,23,0.3); opacity:0.8; } 50% { box-shadow: 0 0 16px 6px rgba(212,160,23,0.7); opacity:1; } 100% { box-shadow: 0 0 8px 2px rgba(212,160,23,0.4); opacity:0.9; } }
@keyframes caq-lamp-glow { 0% { box-shadow: 0 0 20px 8px rgba(255,208,128,0.4); } 50% { box-shadow: 0 0 40px 16px rgba(255,208,128,0.8); } 100% { box-shadow: 0 0 25px 10px rgba(255,208,128,0.5); } }
@keyframes caq-window-glow { 0% { box-shadow: 0 0 12px 3px rgba(255,235,180,0.3); } 50% { box-shadow: 0 0 30px 12px rgba(255,235,180,0.6); } 100% { box-shadow: 0 0 15px 5px rgba(255,235,180,0.4); } }
@keyframes caq-curtain-sway { 0% { transform: rotate(0deg); } 25% { transform: rotate(8deg); } 50% { transform: rotate(0deg); } 75% { transform: rotate(-8deg); } 100% { transform: rotate(0deg); } }

/* Scene 1: flatterer-imitate-good-gives-palm */
.scn-flatterer-imitate-good-gives-palm {
  background: 
    linear-gradient(135deg, #1b1a1e 0%, #2d2a2f 40%, #3b3530 100%),
    radial-gradient(ellipse at 50% 30%, #4a423a 0%, transparent 70%);
}
.scn-flatterer-imitate-good-gives-palm .bg {
  position: absolute; inset: 0; 
  background: radial-gradient(circle at 60% 40%, #3d3528 0%, transparent 60%);
  animation: fl-bg 9s ease-in-out infinite alternate;
}
.scn-flatterer-imitate-good-gives-palm .wall-l {
  position: absolute; left: 0; top: 0; width: 30%; height: 100%;
  background: linear-gradient(180deg, #2a2622 0%, #1e1c1a 100%);
  clip-path: polygon(0 0, 100% 0, 85% 100%, 0 100%);
}
.scn-flatterer-imitate-good-gives-palm .wall-r {
  position: absolute; right: 0; top: 0; width: 30%; height: 100%;
  background: linear-gradient(180deg, #2a2622 0%, #1e1c1a 100%);
  clip-path: polygon(15% 0, 100% 0, 100% 100%, 0 100%);
}
.scn-flatterer-imitate-good-gives-palm .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(0deg, #1a1715 0%, #2f2a26 100%);
  border-radius: 20% 20% 0 0 / 10% 10% 0 0;
}
.scn-flatterer-imitate-good-gives-palm .table {
  position: absolute; bottom: 25%; left: 50%; width: 120px; height: 20px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #4e3d2f 0%, #6b5544 50%, #4e3d2f 100%);
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
}
.scn-flatterer-imitate-good-gives-palm .lamp {
  position: absolute; bottom: 38%; left: 35%;
  width: 12px; height: 28px;
  background: linear-gradient(180deg, #b89a6a 0%, #8a7048 100%);
  border-radius: 4px;
  transform-origin: bottom center;
  animation: fl-lamp 5s ease-in-out infinite;
}
.scn-flatterer-imitate-good-gives-palm .lamp::before {
  content: ''; position: absolute; top: -8px; left: -4px; width: 20px; height: 12px;
  background: radial-gradient(circle at center, #f0c868 0%, #b08040 70%);
  border-radius: 50%;
  box-shadow: 0 0 24px 10px #c8a050;
}
.scn-flatterer-imitate-good-gives-palm .hand-flatterer {
  position: absolute; bottom: 26%; left: 42%; width: 24px; height: 14px;
  background: radial-gradient(ellipse at 30% 50%, #c09b7a 0%, #8a6e54 100%);
  border-radius: 60% 40% 30% 70% / 50% 50% 50% 50%;
  transform: rotate(15deg);
  animation: fl-hand 6s ease-in-out infinite alternate;
}
.scn-flatterer-imitate-good-gives-palm .hand-receiver {
  position: absolute; bottom: 27%; left: 54%; width: 20px; height: 12px;
  background: radial-gradient(ellipse at 30% 50%, #b8906a 0%, #7a624a 100%);
  border-radius: 50% 40% 20% 60% / 50% 40% 60% 50%;
  transform: rotate(-10deg);
  animation: fl-hand-r 6s ease-in-out infinite alternate;
}
.scn-flatterer-imitate-good-gives-palm .palm-leaf {
  position: absolute; bottom: 27%; left: 46%; width: 32px; height: 18px;
  background: linear-gradient(135deg, #5a7a4a 0%, #3a5a2a 100%);
  clip-path: polygon(10% 0%, 90% 0%, 100% 100%, 0% 100%);
  transform: rotate(20deg);
  animation: fl-leaf 4s ease-in-out infinite alternate;
}
@keyframes fl-bg {
  0% { opacity: 0.7; }
  50% { opacity: 0.9; }
  100% { opacity: 0.8; }
}
@keyframes fl-lamp {
  0% { transform: rotate(-2deg) scaleY(1); }
  50% { transform: rotate(2deg) scaleY(1.05); }
  100% { transform: rotate(-1deg) scaleY(0.98); }
}
@keyframes fl-hand {
  0% { transform: rotate(15deg) translateX(0); }
  50% { transform: rotate(10deg) translateX(4px); }
  100% { transform: rotate(18deg) translateX(2px); }
}
@keyframes fl-hand-r {
  0% { transform: rotate(-10deg) translateX(0); }
  50% { transform: rotate(-14deg) translateX(-3px); }
  100% { transform: rotate(-8deg) translateX(0); }
}
@keyframes fl-leaf {
  0% { transform: rotate(20deg) scale(1); }
  50% { transform: rotate(25deg) scale(1.08); }
  100% { transform: rotate(18deg) scale(0.95); }
}

/* Scene 2: good-points-opposite-action */
.scn-good-points-opposite-action {
  background: 
    linear-gradient(180deg, #1f1d22 0%, #2e2a30 50%, #1a181c 100%),
    radial-gradient(ellipse at 50% 70%, #3a3538 0%, transparent 60%);
}
.scn-good-points-opposite-action .bg {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 40% 30%, #2c2830 0%, transparent 70%);
  animation: go-bg 12s ease-in-out infinite alternate;
}
.scn-good-points-opposite-action .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #1a181a 0%, #2c282c 100%);
  border-radius: 30% 70% 0 0 / 50% 50% 0 0;
}
.scn-good-points-opposite-action .window {
  position: absolute; top: 15%; left: 50%; width: 80px; height: 110px;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #2a3a4a 0%, #1a2a3a 100%);
  border: 4px solid #4a4038;
  border-radius: 6px;
  box-shadow: inset 0 0 20px rgba(20,30,50,0.5);
  animation: go-window 8s ease-in-out infinite alternate;
}
.scn-good-points-opposite-action .runner {
  position: absolute; bottom: 28%; left: 20%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #3a3238 0%, #1e1a1e 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform: skew(10deg);
  animation: go-runner 3s ease-in-out infinite;
}
.scn-good-points-opposite-action .centaur {
  position: absolute; bottom: 24%; right: 20%; width: 50px; height: 40px;
  background: linear-gradient(180deg, #3a3238 0%, #1e1a1e 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%);
  transform: scaleX(-1);
  animation: go-centaur 4s ease-in-out infinite alternate;
}
.scn-good-points-opposite-action .scroll {
  position: absolute; bottom: 30%; left: 45%; width: 18px; height: 24px;
  background: linear-gradient(180deg, #b0a08a 0%, #8a7a6a 100%);
  border-radius: 10% 10% 30% 30%;
  transform: rotate(-20deg);
  animation: go-scroll 5s ease-in-out infinite;
}
.scn-good-points-opposite-action .shadow-runner {
  position: absolute; bottom: 25%; left: 18%; width: 24px; height: 8px;
  background: rgba(0,0,0,0.4);
  border-radius: 50%;
  filter: blur(3px);
  animation: go-shadow 3s ease-in-out infinite;
}
.scn-good-points-opposite-action .shadow-centaur {
  position: absolute; bottom: 22%; right: 18%; width: 40px; height: 10px;
  background: rgba(0,0,0,0.4);
  border-radius: 50%;
  filter: blur(4px);
  animation: go-shadow 4s ease-in-out infinite reverse;
}
@keyframes go-bg {
  0% { opacity: 0.6; }
  50% { opacity: 0.85; }
  100% { opacity: 0.7; }
}
@keyframes go-window {
  0% { transform: translateX(-50%) scale(1); }
  50% { transform: translateX(-50%) scale(1.02); }
  100% { transform: translateX(-50%) scale(0.98); }
}
@keyframes go-runner {
  0% { transform: skew(10deg) translateX(0) rotate(0deg); }
  25% { transform: skew(12deg) translateX(10px) rotate(5deg); }
  50% { transform: skew(8deg) translateX(20px) rotate(10deg); }
  75% { transform: skew(14deg) translateX(30px) rotate(5deg); }
  100% { transform: skew(10deg) translateX(40px) rotate(0deg); }
}
@keyframes go-centaur {
  0% { transform: scaleX(-1) translateX(0) rotate(0deg); }
  50% { transform: scaleX(-1) translateX(-8px) rotate(3deg); }
  100% { transform: scaleX(-1) translateX(4px) rotate(-2deg); }
}
@keyframes go-scroll {
  0% { transform: rotate(-20deg) translateY(0); }
  50% { transform: rotate(-15deg) translateY(-4px); }
  100% { transform: rotate(-22deg) translateY(2px); }
}
@keyframes go-shadow {
  0% { transform: scaleX(1); opacity: 0.4; }
  50% { transform: scaleX(1.3); opacity: 0.6; }
  100% { transform: scaleX(0.9); opacity: 0.3; }
}

/* Scene 3: pleasure-common-to-both */
.scn-pleasure-common-to-both {
  background: 
    linear-gradient(45deg, #2a262a 0%, #3d3835 40%, #2e2a2e 100%),
    radial-gradient(ellipse at 60% 50%, #4a4440 0%, transparent 70%);
}
.scn-pleasure-common-to-both .bg {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 30% 40%, #3a3430 0%, transparent 60%);
  animation: pl-bg 10s ease-in-out infinite alternate;
}
.scn-pleasure-common-to-both .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(0deg, #1c1a1c 0%, #302c30 100%);
  border-radius: 20% 80% 0 0 / 30% 30% 0 0;
}
.scn-pleasure-common-to-both .table {
  position: absolute; bottom: 22%; left: 50%; width: 100px; height: 16px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #4a4038 0%, #6a5e54 50%, #4a4038 100%);
  border-radius: 4px;
  box-shadow: 0 6px 16px rgba(0,0,0,0.6);
}
.scn-pleasure-common-to-both .cup-l {
  position: absolute; bottom: 26%; left: 43%; width: 14px; height: 18px;
  background: radial-gradient(ellipse at 50% 40%, #b0a08a 0%, #7a6e62 100%);
  border-radius: 30% 30% 10% 10%;
  transform: rotate(-5deg);
  animation: pl-cup-l 5s ease-in-out infinite;
}
.scn-pleasure-common-to-both .cup-r {
  position: absolute; bottom: 26%; right: 43%; width: 14px; height: 18px;
  background: radial-gradient(ellipse at 50% 40%, #b0a08a 0%, #7a6e62 100%);
  border-radius: 30% 30% 10% 10%;
  transform: rotate(5deg);
  animation: pl-cup-r 5s ease-in-out infinite reverse;
}
.scn-pleasure-common-to-both .figure-l {
  position: absolute; bottom: 18%; left: 28%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #3a3238 0%, #1e1a1e 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform: rotate(-5deg);
  animation: pl-figure 7s ease-in-out infinite alternate;
}
.scn-pleasure-common-to-both .figure-r {
  position: absolute; bottom: 18%; right: 28%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #3a3238 0%, #1e1a1e 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform: rotate(5deg);
  animation: pl-figure 7s ease-in-out infinite alternate-reverse;
}
.scn-pleasure-common-to-both .lamp {
  position: absolute; bottom: 36%; left: 50%; width: 10px; height: 22px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #c8a060 0%, #9a7a48 100%);
  border-radius: 4px;
  animation: pl-lamp 8s ease-in-out infinite;
}
.scn-pleasure-common-to-both .lamp::before {
  content: ''; position: absolute; top: -6px; left: -3px; width: 16px; height: 10px;
  background: radial-gradient(circle, #e0b870 0%, #b08040 70%);
  border-radius: 50%;
  box-shadow: 0 0 20px 8px #c89050;
}
.scn-pleasure-common-to-both .glow {
  position: absolute; bottom: 20%; left: 35%; right: 35%; height: 20%;
  background: radial-gradient(ellipse at 50% 100%, #e0c080 0%, transparent 70%);
  opacity: 0.3;
  mix-blend-mode: overlay;
  animation: pl-glow 6s ease-in-out infinite alternate;
}
@keyframes pl-bg {
  0% { opacity: 0.7; }
  50% { opacity: 0.85; }
  100% { opacity: 0.75; }
}
@keyframes pl-cup-l {
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(-8deg) translateY(-2px); }
  100% { transform: rotate(-3deg) translateY(1px); }
}
@keyframes pl-cup-r {
  0% { transform: rotate(5deg) translateY(0); }
  50% { transform: rotate(8deg) translateY(-2px); }
  100% { transform: rotate(3deg) translateY(1px); }
}
@keyframes pl-figure {
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(-2deg) translateY(-3px); }
  100% { transform: rotate(-7deg) translateY(0); }
}
@keyframes pl-lamp {
  0% { transform: translateX(-50%) rotate(-1deg); }
  50% { transform: translateX(-50%) rotate(1deg); }
  100% { transform: translateX(-50%) rotate(-2deg); }
}
@keyframes pl-glow {
  0% { opacity: 0.2; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(1.1); }
  100% { opacity: 0.3; transform: scale(0.95); }
}

/* Scene 4: friends-use-mirth-for-good */
.scn-friends-use-mirth-for-good {
  background: 
    linear-gradient(135deg, #faf0d8 0%, #f5e6c8 40%, #ede0b8 100%),
    radial-gradient(ellipse at 50% 50%, #ffe8c0 0%, transparent 70%);
}
.scn-friends-use-mirth-for-good .bg-warm {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 30% 30%, #fcf4e0 0%, transparent 60%);
  animation: fr-bg 8s ease-in-out infinite alternate;
}
.scn-friends-use-mirth-for-good .floor-warm {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(0deg, #d4c4a0 0%, #e8d8b8 100%);
  border-radius: 40% 60% 0 0 / 20% 20% 0 0;
}
.scn-friends-use-mirth-for-good .table-feast {
  position: absolute; bottom: 18%; left: 50%; width: 140px; height: 14px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #b09870 0%, #d8c4a0 50%, #b09870 100%);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(100,80,50,0.3);
  animation: fr-table 6s ease-in-out infinite;
}
.scn-friends-use-mirth-for-good .bowl {
  position: absolute; bottom: 24%; left: 38%; width: 28px; height: 16px;
  background: radial-gradient(ellipse at 50% 40%, #c8a86a 0%, #a08050 100%);
  border-radius: 50% 50% 20% 20%;
  transform: rotate(-5deg);
  animation: fr-bowl 7s ease-in-out infinite alternate;
}
.scn-friends-use-mirth-for-good .wine-cup {
  position: absolute; bottom: 24%; right: 38%; width: 16px; height: 22px;
  background: linear-gradient(180deg, #b08060 0%, #8a6040 100%);
  border-radius: 30% 30% 10% 10%;
  transform: rotate(5deg);
  animation: fr-cup 5s ease-in-out infinite;
}
.scn-friends-use-mirth-for-good .friend-l {
  position: absolute; bottom: 14%; left: 22%; width: 22px; height: 44px;
  background: linear-gradient(180deg, #4a4038 0%, #2a2420 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform: rotate(-3deg);
  animation: fr-friend-l 4s ease-in-out infinite;
}
.scn-friends-use-mirth-for-good .friend-r {
  position: absolute; bottom: 14%; right: 22%; width: 22px; height: 44px;
  background: linear-gradient(180deg, #4a4038 0%, #2a2420 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform: rotate(3deg);
  animation: fr-friend-r 4s ease-in-out infinite;
}
.scn-friends-use-mirth-for-good .laugh-hand-l {
  position: absolute; bottom: 24%; left: 28%; width: 12px; height: 8px;
  background: radial-gradient(ellipse at 30% 50%, #b8a080 0%, #8a7060 100%);
  border-radius: 40% 60% 20% 80% / 50% 50% 50% 50%;
  transform: rotate(20deg);
  animation: fr-hand-l 3s ease-in-out infinite alternate;
}
.scn-friends-use-mirth-for-good .laugh-hand-r {
  position: absolute; bottom: 24%; right: 28%; width: 12px; height: 8px;
  background: radial-gradient(ellipse at 30% 50%, #b8a080 0%, #8a7060 100%);
  border-radius: 60% 40% 80% 20% / 50% 50% 50% 50%;
  transform: rotate(-20deg);
  animation: fr-hand-r 3s ease-in-out infinite alternate;
}
.scn-friends-use-mirth-for-good .sparkle {
  position: absolute; top: 20%; left: 20%; width: 6px; height: 6px;
  background: radial-gradient(circle, #ffecb0 0%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 12px 4px rgba(255,220,100,0.6);
  animation: fr-sparkle 4s ease-in-out infinite alternate;
}
@keyframes fr-bg {
  0% { opacity: 0.85; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes fr-table {
  0% { transform: translateX(-50%) scale(1); }
  50% { transform: translateX(-50%) scale(1.02); }
  100% { transform: translateX(-50%) scale(0.98); }
}
@keyframes fr-bowl {
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(-2deg) translateY(-2px); }
  100% { transform: rotate(-8deg) translateY(0); }
}
@keyframes fr-cup {
  0% { transform: rotate(5deg) scale(1); }
  50% { transform: rotate(8deg) scale(1.05); }
  100% { transform: rotate(2deg) scale(0.95); }
}
@keyframes fr-friend-l {
  0% { transform: rotate(-3deg) translateY(0) scale(1); }
  25% { transform: rotate(-1deg) translateY(-3px) scale(1.02); }
  50% { transform: rotate(-5deg) translateY(-1px) scale(0.98); }
  75% { transform: rotate(0deg) translateY(-4px) scale(1.01); }
  100% { transform: rotate(-3deg) translateY(0) scale(1); }
}
@keyframes fr-friend-r {
  0% { transform: rotate(3deg) translateY(0) scale(1); }
  25% { transform: rotate(1deg) translateY(-3px) scale(1.02); }
  50% { transform: rotate(5deg) translateY(-1px) scale(0.98); }
  75% { transform: rotate(0deg) translateY(-4px) scale(1.01); }
  100% { transform: rotate(3deg) translateY(0) scale(1); }
}
@keyframes fr-hand-l {
  0% { transform: rotate(20deg) translateX(0); }
  50% { transform: rotate(30deg) translateX(4px); }
  100% { transform: rotate(15deg) translateX(0); }
}
@keyframes fr-hand-r {
  0% { transform: rotate(-20deg) translateX(0); }
  50% { transform: rotate(-30deg) translateX(-4px); }
  100% { transform: rotate(-15deg) translateX(0); }
}
@keyframes fr-sparkle {
  0% { transform: scale(1) translate(0,0); opacity: 0.7; }
  50% { transform: scale(1.5) translate(10px,-10px); opacity: 1; }
  100% { transform: scale(0.8) translate(5px,5px); opacity: 0.5; }
}

.scn-examine-matter-beginning { background: linear-gradient(180deg,#2a1f1a 0%,#1a1210 100%); }
.scn-examine-matter-beginning .emb-bg { position:absolute;inset:0;background:radial-gradient(ellipse at 50% 70%, #4a3020 0%,transparent 60%);animation:emb-glow 6s ease-in-out infinite; }
.scn-examine-matter-beginning .emb-desk { position:absolute;bottom:0;left:5%;right:5%;height:30%;background:linear-gradient(180deg,#3a2a1a 0%,#1e150e 100%);border-radius:4% 4% 0 0; }
.scn-examine-matter-beginning .emb-candle { position:absolute;bottom:32%;left:35%;width:6px;height:40px;background:linear-gradient(0deg,#c08040 0%,#a06020 100%);border-radius:3px; }
.scn-examine-matter-beginning .emb-flame { position:absolute;bottom:66%;left:35%;width:10px;height:14px;background:radial-gradient(circle,#ffd080 0%,#ffa040 50%,transparent 100%);border-radius:50%;animation:emb-flicker 0.8s ease-in-out infinite alternate; }
.scn-examine-matter-beginning .emb-figure { position:absolute;bottom:24%;left:60%;width:24px;height:50px;background:linear-gradient(180deg,#0a0808 0%,#1a1010 100%);border-radius:50% 50% 40% 40% / 60% 60% 40% 40%;transform-origin:bottom center;animation:emb-sway 4s ease-in-out infinite; }
.scn-examine-matter-beginning .emb-papers { position:absolute;bottom:18%;left:30%;width:40px;height:30px;background:linear-gradient(180deg,#d4c4a8 0%,#b8a080 100%);border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,0.5);animation:emb-float 7s ease-in-out infinite; }
.scn-examine-matter-beginning .emb-book { position:absolute;bottom:20%;left:42%;width:50px;height:35px;background:linear-gradient(135deg,#8a6a4a 0%,#5a3a2a 100%);border-radius:2px;transform:rotate(-5deg);animation:emb-glow 6s ease-in-out infinite; }
@keyframes emb-flicker { 0% { transform:scaleY(1) translateY(0);opacity:0.9 } 50% { transform:scaleY(1.2) translateY(-1px);opacity:1 } 100% { transform:scaleY(0.8) translateY(0);opacity:0.8 } }
@keyframes emb-glow { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.6 } }
@keyframes emb-sway { 0% { transform:translateX(0) rotate(0) } 25% { transform:translateX(3px) rotate(2deg) } 50% { transform:translateX(0) rotate(0) } 75% { transform:translateX(-3px) rotate(-2deg) } 100% { transform:translateX(0) rotate(0) } }
@keyframes emb-float { 0% { transform:translateY(0) } 50% { transform:translateY(-4px) } 100% { transform:translateY(0) } }

.scn-censure-and-praise-immoderate { background: linear-gradient(180deg,#1e1815 0%,#0e0a08 100%); }
.scn-censure-and-praise-immoderate .cpi-bg { position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%, #2a2018 0%,transparent 70%);animation:cpi-glint 8s ease-in-out infinite alternate; }
.scn-censure-and-praise-immoderate .cpi-speaker { position:absolute;bottom:20%;left:50%;width:30px;height:60px;transform:translateX(-50%);background:linear-gradient(180deg,#11100e 0%,#1e1815 100%);border-radius:50% 50% 40% 40% / 60% 60% 40% 40%;transform-origin:bottom center;animation:cpi-rock 5s ease-in-out infinite; }
.scn-censure-and-praise-immoderate .cpi-arm-l { position:absolute;bottom:44%;left:38%;width:18px;height:6px;background:#1a1512;border-radius:0 50% 50% 0;transform-origin:right center;animation:cpi-gesture-l 3s ease-in-out infinite; }
.scn-censure-and-praise-immoderate .cpi-arm-r { position:absolute;bottom:44%;left:50%;width:18px;height:6px;background:#1a1512;border-radius:50% 0 0 50%;transform-origin:left center;animation:cpi-gesture-r 3s ease-in-out infinite 0.5s; }
.scn-censure-and-praise-immoderate .cpi-shadow { position:absolute;bottom:0;left:0;right:0;height:20%;background:linear-gradient(180deg,transparent,#0a0604);animation:cpi-shadow-move 6s ease-in-out infinite; }
@keyframes cpi-glint { 0% { opacity:0.5 } 50% { opacity:0.8 } 100% { opacity:0.4 } }
@keyframes cpi-rock { 0% { transform:translateX(-50%) rotate(0) } 25% { transform:translateX(-50%) rotate(1.5deg) } 50% { transform:translateX(-50%) rotate(0) } 75% { transform:translateX(-50%) rotate(-1.5deg) } 100% { transform:translateX(-50%) rotate(0) } }
@keyframes cpi-gesture-l { 0% { transform:rotate(0) } 50% { transform:rotate(-30deg) } 100% { transform:rotate(0) } }
@keyframes cpi-gesture-r { 0% { transform:rotate(0) } 50% { transform:rotate(25deg) } 100% { transform:rotate(0) } }
@keyframes cpi-shadow-move { 0% { opacity:0.3 } 50% { opacity:0.6 } 100% { opacity:0.3 } }

.scn-flatterer-convicted-counterfeit { background: linear-gradient(180deg,#1a1412 0%,#0d0907 100%); }
.scn-flatterer-convicted-counterfeit .fcc-bg { position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%, #2a1c14 0%,transparent 65%);animation:fcc-ambient 10s ease-in-out infinite; }
.scn-flatterer-convicted-counterfeit .fcc-mirror { position:absolute;top:15%;left:50%;width:80px;height:100px;transform:translateX(-50%);background:linear-gradient(135deg,#4a3a2e 0%,#2a1e16 100%);border:4px solid #6a5040;border-radius:20% 20% 15% 15%;box-shadow:inset 0 0 20px #1a0e08;animation:fcc-mirror-glow 7s ease-in-out infinite alternate; }
.scn-flatterer-convicted-counterfeit .fcc-figure { position:absolute;bottom:18%;left:38%;width:22px;height:46px;background:linear-gradient(180deg,#12100e 0%,#1c1612 100%);border-radius:50% 50% 40% 40% / 60% 60% 40% 40%;transform-origin:bottom center;animation:fcc-breathe 4s ease-in-out infinite; }
.scn-flatterer-convicted-counterfeit .fcc-reflection { position:absolute;bottom:18%;left:58%;width:22px;height:46px;background:linear-gradient(180deg,#12100e 0%,#1c1612 100%);border-radius:50% 50% 40% 40% / 60% 60% 40% 40%;transform:scaleX(-1);transform-origin:bottom center;animation:fcc-breathe 4s ease-in-out infinite 0.5s;filter:brightness(0.8);}
.scn-flatterer-convicted-counterfeit .fcc-mask { position:absolute;bottom:12%;left:50%;width:16px;height:20px;transform:translateX(-50%);background:linear-gradient(180deg,#8a6a4a 0%,#4a3020 100%);border-radius:50% 50% 40% 40%;animation:fcc-mask-sway 6s ease-in-out infinite; }
.scn-flatterer-convicted-counterfeit .fcc-spotlight { position:absolute;top:0;left:30%;width:80px;height:100%;background:linear-gradient(180deg,rgba(180,160,120,0.2) 0%,transparent 80%);border-radius:50%;filter:blur(10px);animation:fcc-spotlight-sway 15s ease-in-out infinite; }
@keyframes fcc-ambient { 0% { opacity:0.6 } 50% { opacity:0.9 } 100% { opacity:0.5 } }
@keyframes fcc-mirror-glow { 0% { box-shadow:inset 0 0 20px #1a0e08 } 50% { box-shadow:inset 0 0 30px #2a1a12 } 100% { box-shadow:inset 0 0 20px #1a0e08 } }
@keyframes fcc-breathe { 0% { transform:translateY(0) } 50% { transform:translateY(-2px) } 100% { transform:translateY(0) } }
@keyframes fcc-mask-sway { 0% { transform:translateX(-50%) rotate(0) } 25% { transform:translateX(-50%) rotate(8deg) } 50% { transform:translateX(-50%) rotate(0) } 75% { transform:translateX(-50%) rotate(-8deg) } 100% { transform:translateX(-50%) rotate(0) } }
@keyframes fcc-spotlight-sway { 0% { transform:translateX(0) } 50% { transform:translateX(10px) } 100% { transform:translateX(0) } }

.scn-ape-imitates-man-dancing { background: linear-gradient(180deg,#1e1810 0%,#0d0a07 100%); }
.scn-ape-imitates-man-dancing .aimd-bg { position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%, #3a2a1a 0%,transparent 70%);animation:aimd-glow 6s ease-in-out infinite; }
.scn-ape-imitates-man-dancing .aimd-ape { position:absolute;bottom:15%;left:50%;width:28px;height:44px;transform:translateX(-50%);background:linear-gradient(180deg,#241c14 0%,#0e0a06 100%);border-radius:50% 50% 30% 30% / 60% 60% 40% 40%;transform-origin:bottom center;animation:aimd-dance 1.5s ease-in-out infinite; }
.scn-ape-imitates-man-dancing .aimd-hat { position:absolute;bottom:64%;left:50%;width:30px;height:10px;transform:translateX(-50%);background:#2a1e14;border-radius:50% 50% 0 0;animation:aimd-hat-bob 1.5s ease-in-out infinite 0.2s; }
.scn-ape-imitates-man-dancing .aimd-cane { position:absolute;bottom:28%;left:44%;width:4px;height:36px;background:#4a3a2a;border-radius:2px;transform-origin:bottom center;animation:aimd-cane-swing 1.5s ease-in-out infinite 0.3s; }
.scn-ape-imitates-man-dancing .aimd-spotlight { position:absolute;top:5%;left:30%;width:100px;height:90%;background:radial-gradient(ellipse at center, rgba(220,190,140,0.2) 0%, transparent 60%);animation:aimd-spotlight-sway 4s ease-in-out infinite; }
.scn-ape-imitates-man-dancing .aimd-notes { position:absolute;bottom:50%;left:60%;width:8px;height:8px;background:radial-gradient(circle,#c8a860 0%,transparent 100%);border-radius:50%;animation:aimd-note-float 3s ease-in-out infinite; }
.scn-ape-imitates-man-dancing .aimd-shadow { position:absolute;bottom:0;left:35%;right:35%;height:8%;background:rgba(0,0,0,0.5);border-radius:50%;animation:aimd-shadow-squash 1.5s ease-in-out infinite; }
@keyframes aimd-glow { 0% { opacity:0.4 } 50% { opacity:0.8 } 100% { opacity:0.5 } }
@keyframes aimd-dance { 0% { transform:translateX(-50%) translateY(0) rotate(-5deg) scaleX(0.95) } 30% { transform:translateX(-40%) translateY(-4px) rotate(0) scaleX(1) } 60% { transform:translateX(-60%) translateY(-2px) rotate(5deg) scaleX(0.95) } 100% { transform:translateX(-50%) translateY(0) rotate(-5deg) scaleX(0.95) } }
@keyframes aimd-hat-bob { 0% { transform:translateX(-50%) translateY(0) rotate(0) } 30% { transform:translateX(-50%) translateY(-3px) rotate(-8deg) } 60% { transform:translateX(-50%) translateY(-1px) rotate(8deg) } 100% { transform:translateX(-50%) translateY(0) rotate(0) } }
@keyframes aimd-cane-swing { 0% { transform:rotate(0) } 50% { transform:rotate(20deg) } 100% { transform:rotate(0) } }
@keyframes aimd-spotlight-sway { 0% { transform:translateX(0) } 50% { transform:translateX(15px) } 100% { transform:translateX(0) } }
@keyframes aimd-note-float { 0% { transform:translateY(0) scale(0.8);opacity:0 } 50% { transform:translateY(-20px) scale(1);opacity:0.8 } 100% { transform:translateY(-40px) scale(0.6);opacity:0 } }
@keyframes aimd-shadow-squash { 0% { transform:scaleX(1) scaleY(1) } 50% { transform:scaleX(1.2) scaleY(0.8) } 100% { transform:scaleX(1) scaleY(1) } }

/* Scene: good-conditions-not-apatheia */
.scn-good-conditions-not-apatheia {
  background: 
    linear-gradient(180deg, #fdf6e3 0%, #e8dcc8 100%),
    radial-gradient(ellipse at 60% 30%, rgba(255,235,200,0.6) 0%, transparent 70%);
}
.scn-good-conditions-not-apatheia .bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #faf0e6 0%, #d9cdb4 100%);
}
.scn-good-conditions-not-apatheia .window {
  position: absolute; top: 10%; right: 10%; width: 28%; height: 45%;
  background: linear-gradient(180deg, #c9e2f5 0%, #e6f0fa 100%);
  border: 6px solid #8c7a5e; border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(255,255,220,0.5);
  animation: gca-glow 5s ease-in-out infinite alternate;
}
.scn-good-conditions-not-apatheia .lightbeam {
  position: absolute; top: 10%; right: 10%; width: 40%; height: 70%;
  background: linear-gradient(135deg, rgba(255,255,200,0.15) 0%, rgba(255,255,200,0) 100%);
  transform: skewX(-15deg); transform-origin: top right;
  animation: gca-sway 8s ease-in-out infinite alternate;
}
.scn-good-conditions-not-apatheia .chair {
  position: absolute; bottom: 18%; left: 15%; width: 22%; height: 35%;
  background: linear-gradient(180deg, #6b4f3a 0%, #4a3424 100%);
  border-radius: 30% 30% 10% 10% / 40% 40% 20% 20%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.3);
  animation: gca-creak 12s ease-in-out infinite;
}
.scn-good-conditions-not-apatheia .figure {
  position: absolute; bottom: 20%; left: 18%; width: 14%; height: 28%;
  background: linear-gradient(180deg, #c5a882 0%, #a08060 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: gca-breathe 4s ease-in-out infinite;
}
.scn-good-conditions-not-apatheia .book {
  position: absolute; bottom: 22%; left: 24%; width: 8%; height: 6%;
  background: linear-gradient(135deg, #c0a080 0%, #907050 100%);
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: gca-book 6s ease-in-out infinite;
}
.scn-good-conditions-not-apatheia .shelf {
  position: absolute; top: 15%; left: 5%; width: 15%; height: 70%;
  background: linear-gradient(180deg, #8c7a5e 0%, #6b5a42 100%);
  border-right: 4px solid #5a4a32;
  box-shadow: 2px 0 6px rgba(0,0,0,0.2);
}
.scn-good-conditions-not-apatheia .cat {
  position: absolute; bottom: 20%; left: 32%; width: 8%; height: 6%;
  background: radial-gradient(circle, #8b7355 0%, #5a4a32 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: gca-cat 3s ease-in-out infinite alternate;
}
@keyframes gca-glow {
  0% { box-shadow: inset 0 0 15px rgba(255,255,220,0.3); opacity: 0.8; }
  50% { box-shadow: inset 0 0 30px rgba(255,255,220,0.7); opacity: 1; }
  100% { box-shadow: inset 0 0 20px rgba(255,255,220,0.5); opacity: 0.9; }
}
@keyframes gca-sway {
  0% { transform: skewX(-15deg) translateX(0); opacity: 0.5; }
  50% { transform: skewX(-12deg) translateX(5px); opacity: 0.7; }
  100% { transform: skewX(-18deg) translateX(-3px); opacity: 0.6; }
}
@keyframes gca-creak {
  0%,100% { transform: translateY(0); }
  25% { transform: translateY(-2px) rotate(0.5deg); }
  50% { transform: translateY(0) rotate(0deg); }
  75% { transform: translateY(-1px) rotate(-0.5deg); }
}
@keyframes gca-breathe {
  0%,100% { transform: scaleY(1); }
  25% { transform: scaleY(1.01); }
  50% { transform: scaleY(1); }
  75% { transform: scaleY(0.99); }
}
@keyframes gca-book {
  0%,100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(2deg); }
}
@keyframes gca-cat {
  0% { transform: scale(1) translateY(0); }
  50% { transform: scale(1.05) translateY(-3px); }
  100% { transform: scale(0.95) translateY(2px); }
}

/* Scene: passion-follows-judgement-different */
.scn-passion-follows-judgement-different {
  background: 
    linear-gradient(90deg, #d9e0ed 0%, #f5eee6 50%, #f8e4d0 100%),
    radial-gradient(ellipse at 70% 50%, rgba(255,200,150,0.3) 0%, transparent 60%);
}
.scn-passion-follows-judgement-different .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #e6e9f0 0%, #d4d0c8 100%);
}
.scn-passion-follows-judgement-different .table {
  position: absolute; bottom: 15%; left: 5%; width: 90%; height: 12%;
  background: linear-gradient(180deg, #7a6b5a 0%, #5a4a3a 100%);
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.3);
}
.scn-passion-follows-judgement-different .book {
  position: absolute; bottom: 28%; left: 15%; width: 20%; height: 16%;
  background: linear-gradient(135deg, #b0a090 0%, #807060 100%);
  border-radius: 2px 2px 10% 10%;
  transform: skewY(4deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: pfd-book 10s ease-in-out infinite;
}
.scn-passion-follows-judgement-different .candle {
  position: absolute; bottom: 28%; right: 20%; width: 6%; height: 18%;
  background: linear-gradient(180deg, #f5e6d0 0%, #c8b090 100%);
  border-radius: 20% 20% 5% 5%;
  box-shadow: 0 0 10px rgba(255,200,100,0.4);
}
.scn-passion-follows-judgement-different .flame {
  position: absolute; bottom: 46%; right: 21.5%; width: 3%; height: 8%;
  background: radial-gradient(circle, #ffd060 0%, #ff8820 50%, transparent 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 20px 6px #ff8820;
  animation: pfd-flame 2s ease-in-out infinite alternate;
}
.scn-passion-follows-judgement-different .figure {
  position: absolute; bottom: 15%; left: 38%; width: 20%; height: 30%;
  background: linear-gradient(180deg, #c5b8a8 0%, #9a8a7a 100%);
  border-radius: 50% 50% 20% 20% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: pfd-figure 6s ease-in-out infinite;
}
.scn-passion-follows-judgement-different .window {
  position: absolute; top: 8%; left: 5%; width: 30%; height: 40%;
  background: linear-gradient(180deg, #b8d4e8 0%, #d0e4f0 100%);
  border: 6px solid #8c7a5e; border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(200,220,240,0.4);
  animation: pfd-window 7s ease-in-out infinite alternate;
}
.scn-passion-follows-judgement-different .shadow-split {
  position: absolute; top: 0; left: 50%; width: 2px; height: 100%;
  background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.2) 50%, rgba(0,0,0,0.1) 100%);
  animation: pfd-shadow 9s ease-in-out infinite;
}
@keyframes pfd-book {
  0%,100% { transform: skewY(4deg) translateY(0); }
  50% { transform: skewY(6deg) translateY(-3px); }
}
@keyframes pfd-flame {
  0% { transform: scaleY(1) translateY(0); opacity: 0.8; }
  25% { transform: scaleY(0.9) translateY(-2px); opacity: 1; }
  75% { transform: scaleY(1.1) translateY(1px); opacity: 0.9; }
  100% { transform: scaleY(1) translateY(0); opacity: 0.85; }
}
@keyframes pfd-figure {
  0%,100% { transform: rotate(0deg) scaleY(1); }
  25% { transform: rotate(2deg) scaleY(1.01); }
  50% { transform: rotate(-1deg) scaleY(0.99); }
  75% { transform: rotate(1deg) scaleY(1); }
}
@keyframes pfd-window {
  0% { box-shadow: inset 0 0 15px rgba(200,220,240,0.3); opacity: 0.8; }
  50% { box-shadow: inset 0 0 30px rgba(200,220,240,0.6); opacity: 1; }
  100% { box-shadow: inset 0 0 20px rgba(200,220,240,0.4); opacity: 0.9; }
}
@keyframes pfd-shadow {
  0%,100% { opacity: 0.5; }
  50% { opacity: 0.8; }
}

/* Scene: chrysippus-definition-endurance */
.scn-chrysippus-definition-endurance {
  background: 
    linear-gradient(180deg, #e8ded0 0%, #c8b898 100%),
    radial-gradient(ellipse at 30% 20%, rgba(255,230,180,0.3) 0%, transparent 60%);
}
.scn-chrysippus-definition-endurance .bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #d4c4a8 0%, #c0b090 100%);
}
.scn-chrysippus-definition-endurance .column {
  position: absolute; top: 0; left: 8%; width: 12%; height: 100%;
  background: linear-gradient(90deg, #b0a090 0%, #d0c0b0 50%, #a09080 100%);
  border-radius: 4px;
  box-shadow: 4px 0 8px rgba(0,0,0,0.2);
}
.scn-chrysippus-definition-endurance .desk {
  position: absolute; bottom: 12%; left: 15%; width: 65%; height: 14%;
  background: linear-gradient(180deg, #7a6b5a 0%, #5a4a3a 100%);
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.3);
  animation: cde-desk 15s ease-in-out infinite;
}
.scn-chrysippus-definition-endurance .scroll {
  position: absolute; bottom: 18%; left: 20%; width: 40%; height: 8%;
  background: linear-gradient(180deg, #e8dcc8 0%, #c8b898 100%);
  border-radius: 20% 20% 10% 10%;
  transform: rotate(-2deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: cde-scroll 20s ease-in-out infinite;
}
.scn-chrysippus-definition-endurance .figure {
  position: absolute; bottom: 12%; left: 35%; width: 18%; height: 35%;
  background: linear-gradient(180deg, #b8a898 0%, #8a7a6a 100%);
  border-radius: 50% 50% 25% 25% / 65% 65% 35% 35%;
  transform-origin: bottom center;
  animation: cde-figure 5s ease-in-out infinite;
}
.scn-chrysippus-definition-endurance .inkwell {
  position: absolute; bottom: 16%; left: 50%; width: 5%; height: 5%;
  background: radial-gradient(circle, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  animation: cde-ink 8s ease-in-out infinite;
}
.scn-chrysippus-definition-endurance .window {
  position: absolute; top: 6%; right: 10%; width: 25%; height: 35%;
  background: linear-gradient(180deg, #b8d4e8 0%, #d0e4f0 100%);
  border: 6px solid #8c7a5e; border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(200,220,240,0.4);
  animation: cde-window 9s ease-in-out infinite alternate;
}
.scn-chrysippus-definition-endurance .stool {
  position: absolute; bottom: 12%; left: 55%; width: 12%; height: 10%;
  background: linear-gradient(180deg, #6b5a4a 0%, #4a3a2a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
@keyframes cde-desk {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes cde-scroll {
  0%,100% { transform: rotate(-2deg) translateX(0); }
  50% { transform: rotate(-1deg) translateX(3px); }
}
@keyframes cde-figure {
  0%,100% { transform: rotate(0deg) scaleY(1); }
  25% { transform: rotate(2deg) scaleY(1.01); }
  50% { transform: rotate(-1deg) scaleY(0.98); }
  75% { transform: rotate(1deg) scaleY(1); }
}
@keyframes cde-ink {
  0%,100% { transform: scale(1); }
  50% { transform: scale(1.15); opacity: 0.9; }
}
@keyframes cde-window {
  0% { box-shadow: inset 0 0 15px rgba(200,220,240,0.3); opacity: 0.8; }
  50% { box-shadow: inset 0 0 30px rgba(200,220,240,0.6); opacity: 1; }
  100% { box-shadow: inset 0 0 20px rgba(200,220,240,0.4); opacity: 0.9; }
}

/* Scene: sins-not-equal */
.scn-sins-not-equal {
  background: 
    linear-gradient(180deg, #c8b8a8 0%, #a09080 50%, #7a6b5a 100%),
    radial-gradient(ellipse at 50% 30%, rgba(200,180,160,0.3) 0%, transparent 70%);
}
.scn-sins-not-equal .bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #b8a898 0%, #9a8a7a 100%);
}
.scn-sins-not-equal .spotlight {
  position: absolute; top: 0; left: 35%; width: 30%; height: 100%;
  background: linear-gradient(180deg, rgba(255,240,220,0.3) 0%, transparent 80%);
  animation: sne-spotlight 3s ease-in-out infinite alternate;
}
.scn-sins-not-equal .scale-base {
  position: absolute; bottom: 20%; left: 30%; width: 40%; height: 8%;
  background: linear-gradient(180deg, #6b5a4a 0%, #4a3a2a 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.4);
}
.scn-sins-not-equal .scale-left {
  position: absolute; bottom: 28%; left: 20%; width: 18%; height: 10%;
  background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%);
  border-radius: 20% 20% 40% 40%;
  transform-origin: top center;
  animation: sne-left 4s ease-in-out infinite;
}
.scn-sins-not-equal .scale-right {
  position: absolute; bottom: 28%; right: 20%; width: 18%; height: 6%;
  background: linear-gradient(180deg, #b8a898 0%, #9a8a7a 100%);
  border-radius: 20% 20% 40% 40%;
  transform-origin: top center;
  animation: sne-right 4s ease-in-out infinite;
}
.scn-sins-not-equal .judge {
  position: absolute; bottom: 15%; left: 42%; width: 16%; height: 35%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 20% 20% / 70% 70% 30% 30%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.3);
  animation: sne-judge 5s ease-in-out infinite;
}
.scn-sins-not-equal .gavel {
  position: absolute; bottom: 22%; left: 38%; width: 10%; height: 4%;
  background: linear-gradient(180deg, #8c7a5e 0%, #6b5a42 100%);
  border-radius: 4px;
  transform: rotate(-20deg);
  transform-origin: left center;
  animation: sne-gavel 2s ease-in-out infinite;
}
.scn-sins-not-equal .bars {
  position: absolute; top: 0; left: 10%; width: 4%; height: 100%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  box-shadow: 20px 0 0 #4a3a2a, 40px 0 0 #4a3a2a, 60px 0 0 #4a3a2a;
  opacity: 0.5;
  animation: sne-bars 8s ease-in-out infinite;
}
@keyframes sne-spotlight {
  0% { opacity: 0.4; transform: scaleX(1); }
  50% { opacity: 0.7; transform: scaleX(1.05); }
  100% { opacity: 0.5; transform: scaleX(0.95); }
}
@keyframes sne-left {
  0%,100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-8px) rotate(-3deg); }
  50% { transform: translateY(-12px) rotate(-5deg); }
  75% { transform: translateY(-4px) rotate(-2deg); }
}
@keyframes sne-right {
  0%,100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(4px) rotate(2deg); }
  50% { transform: translateY(6px) rotate(4deg); }
  75% { transform: translateY(2px) rotate(1deg); }
}
@keyframes sne-judge {
  0%,100% { transform: rotate(0deg) translateY(0); }
  25% { transform: rotate(2deg) translateY(-2px); }
  50% { transform: rotate(-1deg) translateY(0); }
  75% { transform: rotate(1deg) translateY(-1px); }
}
@keyframes sne-gavel {
  0%,100% { transform: rotate(-20deg) translateY(0); }
  25% { transform: rotate(-30deg) translateY(2px); }
  50% { transform: rotate(-15deg) translateY(-2px); }
  75% { transform: rotate(-25deg) translateY(1px); }
}
@keyframes sne-bars {
  0%,100% { opacity: 0.3; }
  50% { opacity: 0.6; }
}

.scn-sacred-seedtimes { background: linear-gradient(180deg, #8a9a8a 0%, #6a7a6a 50%, #4a5a4a 100%), radial-gradient(ellipse at 50% 30%, rgba(200,210,200,.3) 0%, transparent 60%); }
.scn-sacred-seedtimes .sky    { position:absolute; inset:0 0 55% 0; background: linear-gradient(180deg, #9aaa9a 0%, #7a8a7a 100%); animation: ss-sky 15s ease-in-out infinite alternate; }
.scn-sacred-seedtimes .clouds { position:absolute; top:10%; left:10%; width:70%; height:8%; background: radial-gradient(ellipse at 30% 50%, rgba(255,255,255,.4) 0%, transparent 70%); filter: blur(6px); animation: ss-clouds 45s linear infinite; }
.scn-sacred-seedtimes .field  { position:absolute; bottom:0; left:0; right:0; height:55%; background: linear-gradient(180deg, #5a6a3a 0%, #3a4a2a 100%); border-radius: 30% 70% 0 0 / 20% 80% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,.4); animation: ss-field 20s ease-in-out infinite alternate; }
.scn-sacred-seedtimes .furrows{ position:absolute; bottom:20%; left:10%; right:10%; height:20%; background: repeating-linear-gradient(90deg, #4a5a2a 0px, #4a5a2a 2px, transparent 2px, transparent 30px); animation: ss-furrows 8s ease-in-out infinite; }
.scn-sacred-seedtimes .sower  { position:absolute; bottom:30%; left:20%; width:20px; height:40px; background: linear-gradient(180deg, #2a2a1a 0%, #1a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ss-sower 6s ease-in-out infinite; }
.scn-sacred-seedtimes .seed   { position:absolute; bottom:35%; left:22%; width:4px; height:4px; background: #8a6a3a; border-radius:50%; animation: ss-seed 4s ease-in infinite; }
.scn-sacred-seedtimes .tree   { position:absolute; bottom:28%; left:70%; width:30px; height:50px; background: linear-gradient(180deg, #5a4a2a 0%, #3a2a1a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 40% 40%; box-shadow: 0 4px 6px rgba(0,0,0,.3); transform-origin: bottom center; animation: ss-tree 12s ease-in-out infinite; }
@keyframes ss-sky     { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes ss-clouds  { 0% { transform: translateX(-20%) } 100% { transform: translateX(120%) } }
@keyframes ss-field   { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(1) } }
@keyframes ss-furrows { 0% { background-position: 0 top } 100% { background-position: 30px top } }
@keyframes ss-sower   { 0% { transform: translateX(0) rotate(-2deg) } 25% { transform: translateX(8px) rotate(2deg) } 50% { transform: translateX(16px) rotate(-2deg) } 75% { transform: translateX(24px) rotate(2deg) } 100% { transform: translateX(32px) rotate(0deg) } }
@keyframes ss-seed    { 0% { transform: translateY(0) scale(1); opacity:1 } 50% { transform: translateY(20px) scale(.8); opacity:.8 } 100% { transform: translateY(40px) scale(.5); opacity:0 } }
@keyframes ss-tree    { 0% { transform: rotate(-1deg) } 50% { transform: rotate(1deg) } 100% { transform: rotate(-1deg) } }

.scn-gorgias-recommend-harmony { background: linear-gradient(180deg, #f0d080 0%, #e8b850 40%, #d09830 100%), radial-gradient(ellipse at 50% 20%, #ffe8a0 0%, transparent 70%); }
.scn-gorgias-recommend-harmony .stage   { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #b08040 0%, #906030 100%); border-radius:20% 20% 0 0; }
.scn-gorgias-recommend-harmony .curtain-left  { position:absolute; top:0; left:0; width:20%; height:100%; background: linear-gradient(180deg, #3060a0 0%, #204080 80%); border-radius:0 30% 30% 0; box-shadow: inset -10px 0 15px rgba(0,0,0,.3); animation: grh-curtain 10s ease-in-out infinite; }
.scn-gorgias-recommend-harmony .curtain-right { position:absolute; top:0; right:0; width:20%; height:100%; background: linear-gradient(180deg, #3060a0 0%, #204080 80%); border-radius:30% 0 0 30%; box-shadow: inset 10px 0 15px rgba(0,0,0,.3); animation: grh-curtain 10s ease-in-out infinite alternate; }
.scn-gorgias-recommend-harmony .podium  { position:absolute; bottom:20%; left:50%; transform:translateX(-50%); width:80px; height:30px; background: linear-gradient(180deg, #c09850 0%, #a08030 100%); border-radius:10% 10% 5% 5%; box-shadow:0 4px 6px rgba(0,0,0,.3); }
.scn-gorgias-recommend-harmony .gorgias { position:absolute; bottom:25%; left:55%; width:22px; height:50px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: grh-gorgias 4s ease-in-out infinite; }
.scn-gorgias-recommend-harmony .melanthius{ position:absolute; bottom:25%; left:35%; width:20px; height:48px; background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: grh-melanthius 5s ease-in-out infinite; }
.scn-gorgias-recommend-harmony .wife    { position:absolute; bottom:20%; left:20%; width:18px; height:35px; background: linear-gradient(180deg, #4a3a5a 0%, #3a2a4a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: grh-wife 7s ease-in-out infinite; }
.scn-gorgias-recommend-harmony .maid    { position:absolute; bottom:20%; right:20%; width:16px; height:38px; background: linear-gradient(180deg, #4a5a3a 0%, #3a4a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: grh-maid 6s ease-in-out infinite; }
.scn-gorgias-recommend-harmony .speech-shape { position:absolute; top:15%; left:45%; width:60px; height:35px; background: #e8e8f0; border-radius:30% 30% 30% 30% / 40% 40% 40% 40%; box-shadow: 0 2px 10px rgba(0,0,0,.2); animation: grh-speech 3s ease-in-out infinite; }
@keyframes grh-curtain { 0% { transform: scaleX(1) } 50% { transform: scaleX(.95) } 100% { transform: scaleX(1) } }
@keyframes grh-gorgias { 0% { transform: translateY(0) rotate(-3deg) } 25% { transform: translateY(-2px) rotate(3deg) } 50% { transform: translateY(0) rotate(-2deg) } 75% { transform: translateY(-1px) rotate(4deg) } 100% { transform: translateY(0) rotate(-3deg) } }
@keyframes grh-melanthius { 0% { transform: translateX(0) rotate(0deg) } 33% { transform: translateX(5px) rotate(15deg) } 66% { transform: translateX(-2px) rotate(-5deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes grh-wife { 0% { transform: rotate(0deg) } 50% { transform: rotate(5deg) } 100% { transform: rotate(0deg) } }
@keyframes grh-maid { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes grh-speech { 0% { transform: scale(1) rotate(0deg); opacity:.8 } 50% { transform: scale(1.1) rotate(5deg); opacity:1 } 100% { transform: scale(1) rotate(0deg); opacity:.8 } }

.scn-cat-perfume-drives-mad { background: linear-gradient(180deg, #1a1a3a 0%, #2a2a4a 50%, #1a1a3a 100%), radial-gradient(ellipse at 50% 30%, rgba(255,200,100,.15) 0%, transparent 60%); }
.scn-cat-perfume-drives-mad .wall   { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #1a1a3a 0%, #2a2a4a 100%); animation: cpd-wall 20s ease-in-out infinite alternate; }
.scn-cat-perfume-drives-mad .floor  { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius:10% 10% 0 0; }
.scn-cat-perfume-drives-mad .table  { position:absolute; bottom:35%; left:50%; transform:translateX(-50%); width:120px; height:20px; background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%); border-radius:10% 10% 15% 15% / 30% 30% 40% 40%; box-shadow: 0 8px 12px rgba(0,0,0,.5); }
.scn-cat-perfume-drives-mad .perfume-bottle { position:absolute; bottom:40%; left:48%; width:14px; height:30px; background: linear-gradient(180deg, #c0b0a0 0%, #a09080 100%); border-radius:30% 30% 10% 10% / 40% 40% 20% 20%; box-shadow: 0 0 8px rgba(255,200,150,.3); animation: cpd-perfume 8s ease-in-out infinite; }
.scn-cat-perfume-drives-mad .cat    { position:absolute; bottom:38%; left:42%; width:24px; height:18px; background: #0a0a1a; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cpd-cat 5s ease-in-out infinite; }
.scn-cat-perfume-drives-mad .wife-chair { position:absolute; bottom:28%; left:30%; width:20px; height:45px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cpd-wife 12s ease-in-out infinite; }
.scn-cat-perfume-drives-mad .candle { position:absolute; bottom:45%; left:60%; width:6px; height:15px; background: #3a2a1a; border-radius: 30% 30% 15% 15% / 40% 40% 20% 20%; }
.scn-cat-perfume-drives-mad .candle::after { content:''; position:absolute; top:-10px; left:50%; transform:translateX(-50%); width:4px; height:10px; background: radial-gradient(circle, #ffd060 0%, #ff9030 60%); border-radius:50%; box-shadow: 0 0 12px #ffb040; animation: cpd-flame 2s ease-in-out infinite; }
@keyframes cpd-wall    { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes cpd-perfume { 0% { transform: translateY(0) rotate(0deg); opacity:.7 } 50% { transform: translateY(-2px) rotate(3deg); opacity:1 } 100% { transform: translateY(0) rotate(0deg); opacity:.7 } }
@keyframes cpd-cat     { 0% { transform: translateX(0) rotate(0deg) } 20% { transform: translateX(2px) rotate(-5deg) } 40% { transform: translateX(-1px) rotate(5deg) } 60% { transform: translateX(1px) rotate(-3deg) } 80% { transform: translateX(-2px) rotate(3deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes cpd-wife    { 0% { transform: rotate(0deg) scaleY(1) } 50% { transform: rotate(2deg) scaleY(1.02) } 100% { transform: rotate(0deg) scaleY(1) } }
@keyframes cpd-flame   { 0% { transform: translateX(-50%) scale(1); opacity:.8 } 50% { transform: translateX(-50%) scale(1.2); opacity:1 } 100% { transform: translateX(-50%) scale(1); opacity:.8 } }

.scn-elephants-bulls-colours { background: linear-gradient(180deg, #8a9a9a 0%, #6a7a7a 50%, #4a5a5a 100%), radial-gradient(ellipse at 50% 30%, rgba(200,210,210,.2) 0%, transparent 60%); }
.scn-elephants-bulls-colours .sky   { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #9aaaaa 0%, #7a8a8a 100%); animation: ebc-sky 18s ease-in-out infinite alternate; }
.scn-elephants-bulls-colours .ground{ position:absolute; bottom:0; left:0; right:0; height:45%; background: linear-gradient(180deg, #5a6a4a 0%, #3a4a2a 100%); border-radius: 40% 60% 0 0 / 20% 30% 0 0; }
.scn-elephants-bulls-colours .elephant { position:absolute; bottom:25%; left:20%; width:50px; height:40px; background: #4a5a5a; border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; box-shadow: 0 4px 8px rgba(0,0,0,.3); animation: ebc-elephant 10s ease-in-out infinite; }
.scn-elephants-bulls-colours .elephant::before { content:''; position:absolute; top:-8px; left:15px; width:20px; height:10px; background: #4a5a5a; border-radius: 60% 60% 40% 40% / 80% 80% 40% 40%; }
.scn-elephants-bulls-colours .bull   { position:absolute; bottom:25%; right:20%; width:40px; height:35px; background: #6a5a3a; border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; box-shadow: 0 4px 8px rgba(0,0,0,.3); animation: ebc-bull 12s ease-in-out infinite; }
.scn-elephants-bulls-colours .bull::before { content:''; position:absolute; top:-6px; left:10px; width:20px; height:8px; background: #6a5a3a; border-radius: 60% 60% 40% 40% / 80% 80% 40% 40%; }
.scn-elephants-bulls-colours .white-cloth { position:absolute; bottom:38%; left:32%; width:20px; height:20px; background: #e8e8e8; border-radius:10% 10% 10% 10% / 20% 20% 20% 20%; box-shadow: 0 2px 4px rgba(0,0,0,.2); animation: ebc-white 6s ease-in-out infinite; }
.scn-elephants-bulls-colours .red-cloth  { position:absolute; bottom:38%; right:32%; width:20px; height:20px; background: #c8553d; border-radius:10% 10% 10% 10% / 20% 20% 20% 20%; box-shadow: 0 2px 4px rgba(0,0,0,.2); animation: ebc-red 7s ease-in-out infinite; }
.scn-elephants-bulls-colours .grass  { position:absolute; bottom:15%; left:5%; right:5%; height:10%; background: repeating-linear-gradient(90deg, #4a5a2a 0px, #4a5a2a 2px, transparent 2px, transparent 40px); animation: ebc-grass 25s linear infinite; }
@keyframes ebc-sky    { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes ebc-elephant { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-3px) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes ebc-bull    { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes ebc-white   { 0% { transform: translateY(0) rotate(0deg); opacity:.8 } 50% { transform: translateY(-5px) rotate(15deg); opacity:1 } 100% { transform: translateY(0) rotate(0deg); opacity:.8 } }
@keyframes ebc-red     { 0% { transform: translateY(0) rotate(0deg); opacity:.8 } 50% { transform: translateY(-5px) rotate(-15deg); opacity:1 } 100% { transform: translateY(0) rotate(0deg); opacity:.8 } }
@keyframes ebc-grass   { 0% { background-position: 0 bottom } 100% { background-position: 40px bottom } }

/* ===== SCENE 1: homer-iliad-xi-313 ===== */
.scn-homer-iliad-xi-313 {
  background: 
    linear-gradient(180deg, #3a2a1a 0%, #1e140a 100%),
    radial-gradient(ellipse at 50% 100%, #2a1e12 0%, transparent 70%);
}
.scn-homer-iliad-xi-313 .wall-bg {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(135deg, #4a3a2a 0%, #2a1e12 100%);
  animation: hi3-wall 20s ease-in-out infinite alternate;
}
.scn-homer-iliad-xi-313 .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: repeating-linear-gradient(90deg, #3a2a1a 0px, #2a1a0a 4px, #3a2a1a 8px);
  border-top: 4px solid #1a1008;
}
.scn-homer-iliad-xi-313 .desk {
  position: absolute; bottom: 18%; left: 30%; right: 30%; height: 12%;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a3020 100%);
  border-radius: 4px 4px 8px 8px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.6);
  animation: hi3-desk 8s ease-in-out infinite;
}
.scn-homer-iliad-xi-313 .lamp {
  position: absolute; bottom: 32%; left: 38%; width: 24px; height: 32px;
  background: radial-gradient(circle at 50% 40%, #f0c068 0%, #b08040 50%, transparent 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  box-shadow: 0 0 20px 6px #c08040, 0 0 40px 12px rgba(192,128,64,0.4);
  animation: hi3-lampglow 4s ease-in-out infinite alternate;
}
.scn-homer-iliad-xi-313 .scroll {
  position: absolute; bottom: 22%; left: 44%; width: 50px; height: 14px;
  background: linear-gradient(180deg, #d4c0a0 0%, #b8a080 100%);
  border-radius: 70% 70% 80% 80% / 50% 50% 50% 50%;
  transform: rotate(-2deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: hi3-scroll 6s ease-in-out infinite;
}
.scn-homer-iliad-xi-313 .chair {
  position: absolute; bottom: 10%; left: 55%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 20% 20% 40% 40% / 30% 30% 50% 50%;
  transform-origin: bottom center;
  animation: hi3-chair 12s ease-in-out infinite;
}
@keyframes hi3-wall { 0%{opacity:0.9} 50%{opacity:1} 100%{opacity:0.85} }
@keyframes hi3-desk { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-2px)} }
@keyframes hi3-lampglow { 0%{box-shadow:0 0 16px 4px #c08040,0 0 32px 8px rgba(192,128,64,0.3);opacity:0.85} 50%{box-shadow:0 0 28px 8px #ffd060,0 0 56px 16px rgba(255,208,96,0.5);opacity:1} 100%{box-shadow:0 0 20px 5px #c08040,0 0 40px 10px rgba(192,128,64,0.35);opacity:0.9} }
@keyframes hi3-scroll { 0%,100%{transform:rotate(-2deg) translateX(0)} 50%{transform:rotate(2deg) translateX(3px)} }
@keyframes hi3-chair { 0%,100%{transform:rotate(0) translateY(0)} 30%{transform:rotate(-1deg) translateY(-1px)} 70%{transform:rotate(1deg) translateY(-1px)} }

/* ===== SCENE 2: thucydides-ii-64 ===== */
.scn-thucydides-ii-64 {
  background: 
    linear-gradient(180deg, #2a1e12 0%, #1a1008 100%),
    radial-gradient(ellipse at 50% 0%, #3a2a1a 0%, transparent 80%);
}
.scn-thucydides-ii-64 .wall-bg {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #3a2a1a 0%, #20150a 100%);
  animation: th2-wall 15s ease-in-out infinite alternate;
}
.scn-thucydides-ii-64 .table-edge {
  position: absolute; bottom: 0; left: 10%; right: 10%; height: 35%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 60% 60% 0 0 / 40% 40% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.7);
}
.scn-thucydides-ii-64 .candle {
  position: absolute; bottom: 38%; left: 30%; width: 16px; height: 28px;
  background: linear-gradient(180deg, #f0d090 0%, #b08040 70%, transparent 100%);
  border-radius: 50% 50% 30% 30% / 80% 80% 30% 30%;
  box-shadow: 0 0 24px 8px #c08040, 0 0 48px 16px rgba(192,128,64,0.3);
  animation: th2-candle 3s ease-in-out infinite alternate;
}
.scn-thucydides-ii-64 .book {
  position: absolute; bottom: 22%; left: 42%; width: 60px; height: 36px;
  background: linear-gradient(135deg, #d4c0a0 0%, #b8a080 100%);
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  transform: rotate(4deg);
  animation: th2-book 6s ease-in-out infinite;
}
.scn-thucydides-ii-64 .figure {
  position: absolute; bottom: 28%; left: 55%; width: 50px; height: 90px;
  background: linear-gradient(180deg, #1a1410 0%, #0a0805 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: th2-fig 8s ease-in-out infinite;
}
.scn-thucydides-ii-64 .hand {
  position: absolute; bottom: 35%; left: 46%; width: 14px; height: 20px;
  background: #1a1410;
  border-radius: 50% 50% 40% 40% / 40% 40% 30% 30%;
  animation: th2-hand 5s ease-in-out infinite alternate;
}
@keyframes th2-wall { 0%{opacity:0.85} 50%{opacity:1} 100%{opacity:0.9} }
@keyframes th2-candle { 0%{box-shadow:0 0 20px 6px #c08040,0 0 40px 12px rgba(192,128,64,0.4);opacity:0.9} 50%{box-shadow:0 0 30px 10px #ffd060,0 0 60px 20px rgba(255,208,96,0.6);opacity:1} 100%{box-shadow:0 0 22px 7px #c08040,0 0 44px 14px rgba(192,128,64,0.35);opacity:0.9} }
@keyframes th2-book { 0%,100%{transform:rotate(4deg) translateY(0)} 50%{transform:rotate(2deg) translateY(-3px)} }
@keyframes th2-fig { 0%,100%{transform:rotate(0) translateY(0)} 40%{transform:rotate(-1deg) translateY(-2px)} 80%{transform:rotate(1deg) translateY(-2px)} }
@keyframes th2-hand { 0%{transform:translate(0,0) rotate(-5deg)} 100%{transform:translate(4px,-4px) rotate(5deg)} }

/* ===== SCENE 3: achilles-supper-wyttenbach ===== */
.scn-achilles-supper-wyttenbach {
  background: 
    linear-gradient(180deg, #2a1e12 0%, #1a1008 100%),
    radial-gradient(circle at 50% 60%, #3a2a1a 0%, transparent 70%);
}
.scn-achilles-supper-wyttenbach .table-top {
  position: absolute; bottom: 5%; left: 15%; right: 15%; top: 35%;
  background: radial-gradient(ellipse at 50% 50%, #4a3020 0%, #2a1a0a 100%);
  border-radius: 50% 50% 45% 45% / 40% 40% 35% 35%;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.8), 0 8px 20px rgba(0,0,0,0.5);
}
.scn-achilles-supper-wyttenbach .plate {
  position: absolute; bottom: 30%; left: 30%; width: 50px; height: 40px;
  background: radial-gradient(circle at 50% 40%, #c87850 0%, #a05030 100%);
  border-radius: 50% 50% 45% 45% / 40% 40% 35% 35%;
  transform: rotate(-2deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: asw-plate 10s ease-in-out infinite;
}
.scn-achilles-supper-wyttenbach .goblet {
  position: absolute; bottom: 38%; left: 48%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #c0a080 0%, #908070 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: asw-goblet 8s ease-in-out infinite alternate;
}
.scn-achilles-supper-wyttenbach .lamp {
  position: absolute; bottom: 42%; left: 20%; width: 20px; height: 30px;
  background: radial-gradient(circle at 50% 40%, #f0c060 0%, #b08030 60%, transparent 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%;
  box-shadow: 0 0 20px 6px #c08030, 0 0 40px 12px rgba(192,128,48,0.4);
  animation: asw-lamp 4s ease-in-out infinite alternate;
}
.scn-achilles-supper-wyttenbach .bread {
  position: absolute; bottom: 32%; left: 62%; width: 30px; height: 20px;
  background: linear-gradient(180deg, #d4a373 0%, #b08050 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(10deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: asw-bread 12s ease-in-out infinite;
}
.scn-achilles-supper-wyttenbach .napkin {
  position: absolute; bottom: 40%; left: 10%; width: 40px; height: 16px;
  background: linear-gradient(180deg, #e0d0c0 0%, #c0b0a0 100%);
  border-radius: 40% 40% 60% 60% / 30% 30% 50% 50%;
  transform: rotate(-15deg);
  animation: asw-napkin 7s ease-in-out infinite alternate;
}
@keyframes asw-plate { 0%,100%{transform:rotate(-2deg)} 50%{transform:rotate(2deg) translateY(-1px)} }
@keyframes asw-goblet { 0%{transform:rotate(0) translateY(0)} 50%{transform:rotate(-1deg) translateY(-2px)} 100%{transform:rotate(1deg) translateY(0)} }
@keyframes asw-lamp { 0%{box-shadow:0 0 16px 4px #c08030,0 0 32px 8px rgba(192,128,48,0.3);opacity:0.9} 50%{box-shadow:0 0 28px 8px #ffd060,0 0 56px 16px rgba(255,208,96,0.5);opacity:1} 100%{box-shadow:0 0 20px 5px #c08030,0 0 40px 10px rgba(192,128,48,0.35);opacity:0.9} }
@keyframes asw-bread { 0%,100%{transform:rotate(10deg) scale(1)} 50%{transform:rotate(6deg) scale(0.95)} }
@keyframes asw-napkin { 0%{transform:rotate(-15deg) translateX(0)} 100%{transform:rotate(-10deg) translateX(5px)} }

/* ===== SCENE 4: balonta-ekpheugein-proverb ===== */
.scn-balonta-ekpheugein-proverb {
  background: 
    linear-gradient(180deg, #2a1e12 0%, #1a1008 100%),
    radial-gradient(ellipse at 30% 50%, #3a2a1a 0%, transparent 70%);
}
.scn-balonta-ekpheugein-proverb .wall-bg {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(135deg, #3a2a1a 0%, #20150a 100%);
  animation: bep-wall 25s ease-in-out infinite alternate;
}
.scn-balonta-ekpheugein-proverb .window-light {
  position: absolute; inset: 10% 0 20% 0;
  background: radial-gradient(ellipse at 70% 50%, rgba(255,240,220,0.15) 0%, transparent 60%);
  animation: bep-light 8s ease-in-out infinite alternate;
}
.scn-balonta-ekpheugein-proverb .target {
  position: absolute; bottom: 40%; left: 15%; width: 70px; height: 70px;
  background: radial-gradient(circle at 50% 50%, #c06040 0%, #fff 15%, #c06040 30%, #fff 45%, #c06040 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.5);
  animation: bep-target 6s ease-in-out infinite;
}
.scn-balonta-ekpheugein-proverb .archer {
  position: absolute; bottom: 15%; right: 20%; width: 50px; height: 80px;
  background: linear-gradient(180deg, #1a1410 0%, #0a0805 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bep-archer 4s ease-in-out infinite;
}
.scn-balonta-ekpheugein-proverb .bow {
  position: absolute; bottom: 30%; right: 30%; width: 40px; height: 70px;
  border: 4px solid #1a1410;
  border-radius: 50%;
  border-color: transparent transparent transparent #1a1410;
  transform: rotate(-20deg);
  animation: bep-bow 4s ease-in-out infinite alternate;
}
.scn-balonta-ekpheugein-proverb .arrow-shaft {
  position: absolute; bottom: 40%; right: 30%; width: 50px; height: 4px;
  background: #d4c0a0;
  transform: rotate(20deg);
  transform-origin: left center;
  animation: bep-arrow 4s ease-in-out infinite;
}
.scn-balonta-ekpheugein-proverb .arrow-head {
  position: absolute; bottom: 55%; right: 18%; width: 14px; height: 14px;
  background: radial-gradient(circle at 50% 50%, #e0d0c0 0%, #a09080 100%);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  animation: bep-head 4s ease-in-out infinite;
}
@keyframes bep-wall { 0%{opacity:0.9} 50%{opacity:1} 100%{opacity:0.85} }
@keyframes bep-light { 0%{opacity:0.5} 50%{opacity:0.8} 100%{opacity:0.6} }
@keyframes bep-target { 0%,100%{transform:scale(1) rotate(0)} 50%{transform:scale(0.98) rotate(2deg)} }
@keyframes bep-archer { 0%,100%{transform:rotate(0) translateY(0)} 30%{transform:rotate(-2deg) translateY(-2px)} 70%{transform:rotate(2deg) translateY(-2px)} }
@keyframes bep-bow { 0%{transform:rotate(-20deg)} 100%{transform:rotate(-15deg)} }
@keyframes bep-arrow { 0%,100%{transform:rotate(20deg) translateX(0)} 50%{transform:rotate(15deg) translateX(5px)} }
@keyframes bep-head { 0%,100%{transform:rotate(0) scale(1)} 50%{transform:rotate(10deg) scale(0.9)} }

.scn-love-power-and-favour { background: linear-gradient(180deg, #f5e6c8 0%, #d4b87a 40%, #b8955a 100%), radial-gradient(ellipse at 50% 0%, #fff2d0 0%, transparent 60%); }
.scn-love-power-and-favour .window { position: absolute; top: 8%; left: 25%; width: 50%; height: 55%; background: linear-gradient(180deg, #ffedd0 0%, #ffe4b0 100%); border: 8px solid #a07a4a; border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%; box-shadow: inset 0 0 40px rgba(255,215,140,.5); animation: lpf-window 6s ease-in-out infinite alternate; }
.scn-love-power-and-favour .sunbeam { position: absolute; top: 12%; left: 30%; width: 40%; height: 60%; background: linear-gradient(135deg, rgba(255,235,180,.3) 0%, transparent 70%); clip-path: polygon(20% 0, 80% 0, 100% 100%, 0% 100%); filter: blur(8px); animation: lpf-sunbeam 10s ease-in-out infinite alternate; }
.scn-love-power-and-favour .pedestal { position: absolute; bottom: 20%; left: 50%; transform: translateX(-50%); width: 40px; height: 20px; background: linear-gradient(180deg, #b89060 0%, #8a6a3a 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.3); }
.scn-love-power-and-favour .offering { position: absolute; bottom: 26%; left: 50%; transform: translateX(-50%); width: 20px; height: 20px; background: radial-gradient(circle, #fff8a0 0%, #f0d060 60%, #c09040 100%); border-radius: 50%; box-shadow: 0 0 20px 6px rgba(240,208,96,.6); animation: lpf-offering 4s ease-in-out infinite alternate; }
.scn-love-power-and-favour .votary-left { position: absolute; bottom: 10%; left: 20%; width: 30px; height: 70px; background: linear-gradient(180deg, #5a4040 0%, #2a2020 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: lpf-votary 8s ease-in-out infinite; }
.scn-love-power-and-favour .votary-right { position: absolute; bottom: 10%; right: 20%; width: 30px; height: 70px; background: linear-gradient(180deg, #5a4040 0%, #2a2020 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: scaleX(-1); transform-origin: bottom center; animation: lpf-votary 8s ease-in-out infinite 4s; }
.scn-love-power-and-favour .favour-1 { position: absolute; bottom: 35%; left: 35%; width: 8px; height: 8px; background: radial-gradient(circle, #ffe080 0%, transparent 70%); border-radius: 50%; animation: lpf-favour 12s linear infinite; }
.scn-love-power-and-favour .favour-2 { position: absolute; bottom: 40%; left: 60%; width: 6px; height: 6px; background: radial-gradient(circle, #ffd060 0%, transparent 70%); border-radius: 50%; animation: lpf-favour 15s linear infinite 5s; }
@keyframes lpf-window { 0% { opacity: .8; filter: brightness(1); } 50% { opacity: 1; filter: brightness(1.1); } 100% { opacity: .9; filter: brightness(.95); } }
@keyframes lpf-sunbeam { 0% { transform: translateX(-5%) skewX(-2deg); } 50% { transform: translateX(0) skewX(1deg); } 100% { transform: translateX(5%) skewX(-1deg); } }
@keyframes lpf-offering { 0% { transform: translateX(-50%) scale(1); box-shadow: 0 0 15px 4px rgba(240,208,96,.5); } 50% { transform: translateX(-50%) scale(1.15); box-shadow: 0 0 30px 10px rgba(240,208,96,.8); } 100% { transform: translateX(-50%) scale(.95); box-shadow: 0 0 20px 6px rgba(240,208,96,.6); } }
@keyframes lpf-votary { 0% { transform: rotate(0) translateY(0); } 30% { transform: rotate(-5deg) translateY(-2px); } 60% { transform: rotate(2deg) translateY(-1px); } 100% { transform: rotate(0) translateY(0); } }
@keyframes lpf-favour { 0% { transform: translateY(0) scale(.5); opacity: 0; } 20% { opacity: 1; } 80% { opacity: 1; } 100% { transform: translateY(-60px) scale(1); opacity: 0; } }

.scn-love-makes-sluggish-quick { background: linear-gradient(180deg, #3a2a1a 0%, #5a3a2a 30%, #8a5a3a 100%), radial-gradient(ellipse at 80% 20%, #c08050 0%, transparent 50%); }
.scn-love-makes-sluggish-quick .fireplace { position: absolute; bottom: 20%; left: 15%; width: 60px; height: 50px; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 20% 20% 50% 50% / 40% 40% 60% 60%; box-shadow: inset 0 -10px 20px rgba(0,0,0,.5); }
.scn-love-makes-sluggish-quick .flame { position: absolute; bottom: 30%; left: 18%; width: 24px; height: 30px; background: radial-gradient(ellipse at 50% 100%, #fff4a0 0%, #f08030 60%, transparent 100%); border-radius: 50% 50% 20% 20% / 80% 80% 20% 20%; animation: lmsq-flame 0.8s ease-in-out infinite alternate; filter: blur(3px); }
.scn-love-makes-sluggish-quick .log { position: absolute; bottom: 22%; left: 15%; width: 40px; height: 6px; background: linear-gradient(90deg, #5a3a2a 0%, #7a5a3a 100%); border-radius: 50%; transform: rotate(15deg); animation: lmsq-log 6s ease-in-out infinite; }
.scn-love-makes-sluggish-quick .figure-slow { position: absolute; bottom: 18%; left: 40%; width: 24px; height: 60px; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: lmsq-slow 5s ease-in-out infinite; }
.scn-love-makes-sluggish-quick .figure-fast { position: absolute; bottom: 18%; left: 70%; width: 24px; height: 60px; background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: lmsq-fast 5s ease-in-out infinite 2.5s; }
.scn-love-makes-sluggish-quick .trail-1 { position: absolute; bottom: 18%; left: 55%; width: 30px; height: 50px; background: linear-gradient(90deg, transparent 0%, rgba(200,150,100,.2) 100%); clip-path: polygon(0 20%, 100% 0, 100% 100%, 0 80%); animation: lmsq-trail 5s ease-in-out infinite 2.5s; }
.scn-love-makes-sluggish-quick .trail-2 { position: absolute; bottom: 18%; left: 45%; width: 20px; height: 40px; background: linear-gradient(90deg, transparent 0%, rgba(200,150,100,.1) 100%); clip-path: polygon(0 30%, 100% 10%, 100% 90%, 0 70%); animation: lmsq-trail 5s ease-in-out infinite 3s; }
@keyframes lmsq-flame { 0% { transform: scaleY(1) translateY(0); } 50% { transform: scaleY(1.2) translateY(-2px); } 100% { transform: scaleY(.9) translateY(1px); } }
@keyframes lmsq-log { 0% { transform: rotate(15deg) scaleX(1); } 50% { transform: rotate(10deg) scaleX(.95); } 100% { transform: rotate(15deg) scaleX(1); } }
@keyframes lmsq-slow { 0% { transform: translateX(0) rotate(0); } 30% { transform: translateX(5px) rotate(2deg); } 60% { transform: translateX(10px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes lmsq-fast { 0% { transform: translateX(-10px) rotate(-2deg) scaleX(1.1); } 40% { transform: translateX(20px) rotate(3deg); } 70% { transform: translateX(5px) rotate(-1deg); } 100% { transform: translateX(-10px) rotate(-2deg) scaleX(1.1); } }
@keyframes lmsq-trail { 0% { opacity: 0; } 20% { opacity: 1; } 60% { opacity: 1; } 100% { opacity: 0; } }

.scn-anytus-alcibiades { background: linear-gradient(180deg, #d4a86a 0%, #b08040 40%, #8a5a2a 100%), radial-gradient(ellipse at 70% 50%, #f0c080 0%, transparent 70%); }
.scn-anytus-alcibiades .table { position: absolute; bottom: 25%; left: 10%; right: 40%; height: 8px; background: linear-gradient(90deg, #5a3a1a 0%, #7a5a3a 50%, #5a3a1a 100%); border-radius: 2px; box-shadow: 0 4px 10px rgba(0,0,0,.3); }
.scn-anytus-alcibiades .doorway { position: absolute; bottom: 10%; right: 10%; width: 50px; height: 80px; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 50% 50% 0 0 / 80% 80% 0 0; box-shadow: inset 0 0 20px rgba(0,0,0,.6); animation: aa-door 6s ease-in-out infinite alternate; }
.scn-anytus-alcibiades .alcibiades { position: absolute; bottom: 20%; right: 20%; width: 20px; height: 60px; background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: aa-alcibiades 8s ease-in-out infinite alternate; }
.scn-anytus-alcibiades .anytus { position: absolute; bottom: 30%; left: 15%; width: 20px; height: 50px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(5deg); animation: aa-anytus 10s ease-in-out infinite; }
.scn-anytus-alcibiades .cups { position: absolute; bottom: 28%; left: 20%; width: 8px; height: 8px; background: radial-gradient(circle, #d4a86a 0%, #a08050 100%); border-radius: 50%; box-shadow: 20px 0 0 #d4a86a, 40px 0 0 #d4a86a, 60px 0 0 #d4a86a, 80px 0 0 #d4a86a; animation: aa-cups 4s ease-in-out infinite alternate; }
.scn-anytus-alcibiades .lamp { position: absolute; top: 10%; left: 40%; width: 6px; height: 12px; background: linear-gradient(180deg, #c0a070 0%, #806040 100%); border-radius: 50%; box-shadow: 0 0 20px 4px rgba(240,200,120,.6); animation: aa-lamp 5s ease-in-out infinite alternate; }
.scn-anytus-alcibiades .curtain { position: absolute; top: 0; left: 5%; width: 30px; height: 100%; background: linear-gradient(180deg, #8a2a1a 0%, #5a1a0a 100%); border-radius: 0 40% 40% 0 / 0 60% 60% 0; animation: aa-curtain 12s ease-in-out infinite; }
@keyframes aa-door { 0% { transform: scaleX(1); } 50% { transform: scaleX(.9) translateX(5px); } 100% { transform: scaleX(1); } }
@keyframes aa-alcibiades { 0% { transform: translateX(0) rotate(0); } 40% { transform: translateX(-15px) rotate(5deg); } 80% { transform: translateX(-25px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes aa-anytus { 0% { transform: rotate(5deg) translateY(0); } 50% { transform: rotate(10deg) translateY(-1px); } 100% { transform: rotate(5deg) translateY(0); } }
@keyframes aa-cups { 0% { filter: brightness(1); } 50% { filter: brightness(1.3); } 100% { filter: brightness(.9); } }
@keyframes aa-lamp { 0% { opacity: .7; box-shadow: 0 0 15px 2px rgba(240,200,120,.4); } 50% { opacity: 1; box-shadow: 0 0 30px 8px rgba(240,200,120,.8); } 100% { opacity: .8; box-shadow: 0 0 20px 4px rgba(240,200,120,.5); } }
@keyframes aa-curtain { 0% { transform: translateX(0); } 50% { transform: translateX(8px); } 100% { transform: translateX(0); } }

.scn-zeuxippus-pleased { background: linear-gradient(180deg, #e8d4b0 0%, #c8a878 40%, #a88858 100%), radial-gradient(ellipse at 30% 40%, #f0d8b0 0%, transparent 60%); }
.scn-zeuxippus-pleased .chair { position: absolute; bottom: 15%; left: 25%; width: 50px; height: 40px; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 20% 20% 40% 40% / 40% 40% 60% 60%; box-shadow: 0 6px 12px rgba(0,0,0,.3); }
.scn-zeuxippus-pleased .figure { position: absolute; bottom: 20%; left: 25%; width: 30px; height: 70px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: zp-figure 6s ease-in-out infinite alternate; }
.scn-zeuxippus-pleased .scroll { position: absolute; bottom: 12%; left: 35%; width: 40px; height: 6px; background: linear-gradient(90deg, #e0c8a0 0%, #b09870 100%); border-radius: 50%; transform: rotate(5deg); animation: zp-scroll 8s ease-in-out infinite; }
.scn-zeuxippus-pleased .lamp { position: absolute; bottom: 35%; left: 55%; width: 8px; height: 14px; background: linear-gradient(180deg, #c0a070 0%, #806040 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 20px 6px rgba(200,160,100,.7); animation: zp-lamp 4s ease-in-out infinite alternate; }
.scn-zeuxippus-pleased .bookshelf { position: absolute; top: 5%; left: 5%; width: 20px; height: 90%; background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%); border-radius: 4px; box-shadow: inset 0 0 10px rgba(0,0,0,.5); }
.scn-zeuxippus-pleased .books { position: absolute; top: 8%; left: 5%; width: 18px; height: 80%; background: linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%); box-shadow: -18px 0 0 #7a5a3a, 18px 0 0 #9a7a5a, 36px 0 0 #5a3a2a, -36px 0 0 #605030; border-radius: 2px; animation: zp-books 12s ease-in-out infinite alternate; }
.scn-zeuxippus-pleased .glow { position: absolute; top: 20%; left: 30%; width: 60px; height: 60px; background: radial-gradient(circle, rgba(255,230,180,.3) 0%, transparent 70%); border-radius: 50%; animation: zp-glow 3s ease-in-out infinite alternate; }
@keyframes zp-figure { 0% { transform: translateX(0) rotate(0); } 30% { transform: translateX(5px) rotate(-5deg); } 60% { transform: translateX(10px) rotate(3deg); } 100% { transform: translateX(15px) rotate(0) scale(1.05); } }
@keyframes zp-scroll { 0% { transform: rotate(5deg) translateX(0); } 50% { transform: rotate(8deg) translateX(2px); } 100% { transform: rotate(5deg) translateX(0); } }
@keyframes zp-lamp { 0% { opacity: .6; box-shadow: 0 0 12px 2px rgba(200,160,100,.4); } 50% { opacity: 1; box-shadow: 0 0 30px 10px rgba(200,160,100,.8); } 100% { opacity: .7; box-shadow: 0 0 18px 4px rgba(200,160,100,.5); } }
@keyframes zp-books { 0% { filter: brightness(1); } 50% { filter: brightness(1.1); } 100% { filter: brightness(.9); } }
@keyframes zp-glow { 0% { opacity: .5; transform: scale(1); } 50% { opacity: 1; transform: scale(1.3); } 100% { opacity: .6; transform: scale(.95); } }

.scn-continence-not-absolute-virtue {
  background: linear-gradient(180deg, #f0e0c8 0%, #d4c4a0 50%, #b8a88a 100%), radial-gradient(ellipse at 50% 100%, #c8b894 0%, transparent 70%);
}
.scn-continence-not-absolute-virtue .window {
  position: absolute; inset: 5% 10% 50% 15%; background: linear-gradient(180deg, #fff8e0 0%, #ffe0a0 100%); border-radius: 4% 4% 0 0; box-shadow: 0 0 40px 10px rgba(255,224,160,0.5); animation: cnv-glow 8s ease-in-out infinite alternate;
}
.scn-continence-not-absolute-virtue .sill {
  position: absolute; bottom: 40%; left: 12%; right: 8%; height: 4%; background: linear-gradient(180deg, #a08060 0%, #806040 100%); border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
.scn-continence-not-absolute-virtue .books {
  position: absolute; bottom: 35%; left: 5%; width: 30%; height: 30%; background: linear-gradient(180deg, #8b6f47 0%, #6b4f2f 100%); border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,0.3); animation: cnv-float 12s ease-in-out infinite;
}
.scn-continence-not-absolute-virtue .scale-base {
  position: absolute; bottom: 20%; left: 40%; width: 20%; height: 8%; background: linear-gradient(180deg, #7a5a3a 0%, #4a3a2a 100%); border-radius: 50%; box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
.scn-continence-not-absolute-virtue .scale-arm {
  position: absolute; bottom: 28%; left: 42%; width: 16%; height: 2%; background: #3a2a1a; transform-origin: 50% 0; border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.4); animation: cnv-scale 6s ease-in-out infinite alternate;
}
.scn-continence-not-absolute-virtue .figure {
  position: absolute; bottom: 15%; left: 65%; width: 8%; height: 30%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: cnv-figure 10s ease-in-out infinite;
}
.scn-continence-not-absolute-virtue .plant {
  position: absolute; bottom: 18%; left: 10%; width: 12%; height: 20%; background: linear-gradient(180deg, #3a5a2a 0%, #2a3a1a 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 12px 4px rgba(58,90,42,0.3); animation: cnv-sway 7s ease-in-out infinite;
}
.scn-continence-not-absolute-virtue .dust-1 {
  position: absolute; top: 30%; left: 20%; width: 4px; height: 4px; background: rgba(255,224,160,0.6); border-radius: 50%; box-shadow: 0 0 8px 2px rgba(255,224,160,0.3); animation: cnv-dust 20s linear infinite;
}
.scn-continence-not-absolute-virtue .dust-2 {
  position: absolute; top: 40%; left: 70%; width: 3px; height: 3px; background: rgba(255,224,160,0.4); border-radius: 50%; box-shadow: 0 0 6px 1px rgba(255,224,160,0.2); animation: cnv-dust 25s linear infinite reverse;
}
@keyframes cnv-glow {
  0% { box-shadow: 0 0 30px 8px rgba(255,224,160,0.4); opacity: 0.9; }
  50% { box-shadow: 0 0 50px 15px rgba(255,224,160,0.7); opacity: 1; }
  100% { box-shadow: 0 0 35px 10px rgba(255,224,160,0.5); opacity: 0.95; }
}
@keyframes cnv-float {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}
@keyframes cnv-scale {
  0% { transform: rotate(-5deg); }
  50% { transform: rotate(5deg); }
  100% { transform: rotate(-3deg); }
}
@keyframes cnv-figure {
  0%,100% { transform: translateX(0) rotate(0); }
  50% { transform: translateX(2px) rotate(-2deg); }
}
@keyframes cnv-sway {
  0%,100% { transform: rotate(-3deg); }
  50% { transform: rotate(3deg); }
}
@keyframes cnv-dust {
  0% { transform: translate(0,0) scale(1); opacity: 0.3; }
  25% { transform: translate(20px,-10px) scale(1.2); opacity: 0.6; }
  50% { transform: translate(40px,-20px) scale(0.8); opacity: 0.2; }
  75% { transform: translate(60px,-30px) scale(1.1); opacity: 0.5; }
  100% { transform: translate(80px,-40px) scale(1); opacity: 0.3; }
}

.scn-conflict-soul-verses {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a1a3e 50%, #3a1a2e 100%), radial-gradient(ellipse at 50% 0%, #2a1a3e 0%, transparent 60%);
}
.scn-conflict-soul-verses .incense {
  position: absolute; top: 0; left: 30%; width: 40%; height: 100%; background: radial-gradient(ellipse at 50% 80%, rgba(200,180,160,0.15) 0%, transparent 70%); filter: blur(10px); animation: csv-smoke 20s ease-in-out infinite;
}
.scn-conflict-soul-verses .face-left {
  position: absolute; bottom: 20%; left: 20%; width: 15%; height: 30%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 50% 30% 40% 20% / 60% 40% 40% 20%; transform-origin: bottom right; animation: csv-face-left 3s ease-in-out infinite;
}
.scn-conflict-soul-verses .face-right {
  position: absolute; bottom: 20%; right: 20%; width: 15%; height: 30%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 30% 50% 20% 40% / 40% 60% 20% 40%; transform-origin: bottom left; animation: csv-face-right 3s ease-in-out infinite alternate;
}
.scn-conflict-soul-verses .candle {
  position: absolute; bottom: 50%; left: 50%; width: 4%; height: 12%; transform: translateX(-50%); background: linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%); border-radius: 10%; box-shadow: 0 0 20px 8px rgba(255,200,100,0.3); animation: csv-candle 0.5s ease-in-out infinite alternate;
}
.scn-conflict-soul-verses .shadow-left {
  position: absolute; bottom: 10%; left: 10%; width: 40%; height: 20%; background: linear-gradient(180deg, rgba(0,0,0,0.4) 0%, transparent 100%); border-radius: 0 0 50% 50%; animation: csv-shadow 4s ease-in-out infinite alternate;
}
.scn-conflict-soul-verses .shadow-right {
  position: absolute; bottom: 10%; right: 10%; width: 40%; height: 20%; background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, transparent 100%); border-radius: 0 0 50% 50%; animation: csv-shadow 4s ease-in-out infinite alternate-reverse;
}
@keyframes csv-smoke {
  0% { transform: translateY(0) scale(1); opacity: 0.3; }
  50% { transform: translateY(-20px) scale(1.2); opacity: 0.5; }
  100% { transform: translateY(-40px) scale(0.8); opacity: 0.2; }
}
@keyframes csv-face-left {
  0%,100% { transform: rotate(5deg); }
  50% { transform: rotate(-5deg); }
}
@keyframes csv-face-right {
  0%,100% { transform: rotate(-5deg); }
  50% { transform: rotate(5deg); }
}
@keyframes csv-candle {
  0% { transform: translateX(-50%) scale(1); opacity: 0.8; }
  100% { transform: translateX(-50%) scale(1.05); opacity: 1; }
}
@keyframes csv-shadow {
  0% { transform: scaleX(1) translateY(0); opacity: 0.4; }
  50% { transform: scaleX(1.1) translateY(-5px); opacity: 0.6; }
  100% { transform: scaleX(0.9) translateY(2px); opacity: 0.3; }
}

.scn-incontinence-knows-better {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a1020 50%, #1a0a1a 100%), radial-gradient(ellipse at 50% 50%, #3a1a2a 0%, transparent 60%);
}
.scn-incontinence-knows-better .body {
  position: absolute; bottom: 20%; left: 30%; width: 40%; height: 50%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 30% 30% 20% 20%; transform-origin: center; animation: ikb-body 4s ease-in-out infinite alternate;
}
.scn-incontinence-knows-better .arm-left {
  position: absolute; bottom: 40%; left: 15%; width: 18%; height: 6%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 30% 30% 10% 10%; transform-origin: right center; transform: rotate(30deg); animation: ikb-arm-left 2s ease-in-out infinite alternate;
}
.scn-incontinence-knows-better .arm-right {
  position: absolute; bottom: 40%; right: 15%; width: 18%; height: 6%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 30% 30% 10% 10%; transform-origin: left center; transform: rotate(-30deg); animation: ikb-arm-right 2.5s ease-in-out infinite alternate;
}
.scn-incontinence-knows-better .chain {
  position: absolute; bottom: 25%; left: 38%; width: 24%; height: 4%; background: repeating-linear-gradient(90deg, #6a5a4a 0px, #6a5a4a 4px, #4a3a2a 4px, #4a3a2a 8px); border-radius: 10%; box-shadow: 0 2px 6px rgba(0,0,0,0.5); animation: ikb-chain 1s ease-in-out infinite;
}
.scn-incontinence-knows-better .shadow {
  position: absolute; bottom: 10%; left: 20%; width: 60%; height: 15%; background: linear-gradient(180deg, rgba(0,0,0,0.5) 0%, transparent 100%); border-radius: 50%; animation: ikb-shadow 3s ease-in-out infinite alternate;
}
.scn-incontinence-knows-better .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 10%; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 40% 40% 0 0;
}
@keyframes ikb-body {
  0% { transform: scale(1) rotate(0); }
  50% { transform: scale(1.02) rotate(2deg); }
  100% { transform: scale(0.98) rotate(-2deg); }
}
@keyframes ikb-arm-left {
  0% { transform: rotate(20deg); }
  50% { transform: rotate(40deg); }
  100% { transform: rotate(25deg); }
}
@keyframes ikb-arm-right {
  0% { transform: rotate(-20deg); }
  50% { transform: rotate(-40deg); }
  100% { transform: rotate(-25deg); }
}
@keyframes ikb-chain {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes ikb-shadow {
  0% { transform: scaleX(1) translateY(0); opacity: 0.5; }
  100% { transform: scaleX(1.1) translateY(-3px); opacity: 0.7; }
}

.scn-intemperate-language {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a1020 50%, #1a0a1a 100%), radial-gradient(ellipse at 50% 60%, #3a1a2a 0%, transparent 60%);
}
.scn-intemperate-language .mouth {
  position: absolute; bottom: 35%; left: 35%; width: 30%; height: 15%; background: #1a0a0a; border-radius: 0 0 50% 50% / 0 0 80% 80%; border: 3px solid #3a2a1a; box-shadow: 0 0 20px 4px rgba(0,0,0,0.5); animation: itl-mouth 2s ease-in-out infinite alternate;
}
.scn-intemperate-language .lip-top {
  position: absolute; bottom: 47%; left: 35%; width: 30%; height: 3%; background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%); border-radius: 50% 50% 0 0; animation: itl-lip-top 2s ease-in-out infinite alternate;
}
.scn-intemperate-language .lip-bottom {
  position: absolute; bottom: 33%; left: 35%; width: 30%; height: 3%; background: linear-gradient(180deg, #3a2a1a 0%, #4a3a2a 100%); border-radius: 0 0 50% 50%; animation: itl-lip-bottom 2s ease-in-out infinite alternate;
}
.scn-intemperate-language .hand {
  position: absolute; bottom: 50%; left: 20%; width: 10%; height: 20%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 40% 40% 30% 30%; transform-origin: bottom center; animation: itl-hand 3s ease-in-out infinite alternate;
}
.scn-intemperate-language .shadow {
  position: absolute; bottom: 15%; left: 30%; width: 40%; height: 20%; background: linear-gradient(180deg, rgba(0,0,0,0.4) 0%, transparent 100%); border-radius: 50%; animation: itl-shadow 4s ease-in-out infinite alternate;
}
.scn-intemperate-language .splotch {
  position: absolute; top: 20%; left: 40%; width: 20%; height: 20%; background: radial-gradient(circle, rgba(180,140,120,0.15) 0%, transparent 70%); filter: blur(8px); animation: itl-splotch 10s ease-in-out infinite;
}
@keyframes itl-mouth {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.3); }
  100% { transform: scaleY(0.9); }
}
@keyframes itl-lip-top {
  0% { transform: translateY(0); }
  50% { transform: translateY(4px); }
  100% { transform: translateY(-1px); }
}
@keyframes itl-lip-bottom {
  0% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
  100% { transform: translateY(1px); }
}
@keyframes itl-hand {
  0% { transform: rotate(-10deg); }
  50% { transform: rotate(10deg); }
  100% { transform: rotate(-5deg); }
}
@keyframes itl-shadow {
  0% { transform: scaleX(1) translateY(0); opacity: 0.4; }
  100% { transform: scaleX(1.2) translateY(-5px); opacity: 0.6; }
}
@keyframes itl-splotch {
  0% { transform: translateY(0) scale(1); opacity: 0.2; }
  50% { transform: translateY(-10px) scale(1.3); opacity: 0.4; }
  100% { transform: translateY(5px) scale(0.9); opacity: 0.1; }
}

/* unripe-grapes-bees */
.scn-unripe-grapes-bees { background: linear-gradient(180deg, #2a1f10 0%, #1a120a 100%), radial-gradient(ellipse at 50% 70%, #3a2a1a 0%, transparent 60%); }
.scn-unripe-grapes-bees .bg { position:absolute; inset:0; background: linear-gradient(135deg, rgba(42,31,16,0.4) 0%, transparent 50%); animation: ugb-bg 12s ease-in-out infinite alternate; }
.scn-unripe-grapes-bees .vine { position:absolute; top:10%; left:20%; width:8px; height:55%; background: linear-gradient(180deg, #5a4a3a 0%, #2a1f10 100%); border-radius: 40% 60% 40% 60%; transform-origin: top; animation: ugb-vine 8s ease-in-out infinite; }
.scn-unripe-grapes-bees .grapes { position:absolute; top:40%; left:30%; width:50px; height:60px; background: radial-gradient(circle at 40% 40%, #7a6a5a 0%, #3a2a1a 60%, #1a120a 100%); border-radius: 50%; box-shadow: 0 0 30px 10px rgba(58,42,26,0.5); animation: ugb-grapes 5s ease-in-out infinite alternate; }
.scn-unripe-grapes-bees .hand { position:absolute; bottom:20%; left:35%; width:40px; height:80px; background: linear-gradient(135deg, #2a1f10 0%, #1a120a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: ugb-hand 6s ease-in-out infinite; }
.scn-unripe-grapes-bees .bee-a, .scn-unripe-grapes-bees .bee-b { position:absolute; width:14px; height:10px; background: linear-gradient(90deg, #402000 0%, #f0b000 20%, #402000 40%, #f0b000 60%, #402000 80%, #f0b000 100%); border-radius: 50%; }
.scn-unripe-grapes-bees .bee-a { top:35%; left:15%; animation: ugb-bee-a 12s linear infinite; }
.scn-unripe-grapes-bees .bee-b { top:45%; left:55%; animation: ugb-bee-b 14s linear infinite; }
.scn-unripe-grapes-bees .leaf { position:absolute; top:30%; left:25%; width:30px; height:50px; background: linear-gradient(135deg, #4a6a3a 0%, #2a4a1a 100%); border-radius: 50% 0 50% 0; transform: rotate(-20deg); animation: ugb-leaf 7s ease-in-out infinite alternate; }
@keyframes ugb-bg { 0% { opacity:0.6; } 50% { opacity:0.8; } 100% { opacity:0.5; } }
@keyframes ugb-vine { 0% { transform:rotate(0deg) translateY(0); } 50% { transform:rotate(2deg) translateY(-3px); } 100% { transform:rotate(-1deg) translateY(0); } }
@keyframes ugb-grapes { 0% { transform:scale(1) translateY(0); } 50% { transform:scale(1.05) translateY(-2px); } 100% { transform:scale(0.98) translateY(0); } }
@keyframes ugb-hand { 0% { transform:translateX(0) translateY(0) rotate(0deg); } 25% { transform:translateX(10px) translateY(-5px) rotate(-3deg); } 50% { transform:translateX(20px) translateY(-8px) rotate(0deg); } 75% { transform:translateX(10px) translateY(-3px) rotate(3deg); } 100% { transform:translateX(0) translateY(0) rotate(0deg); } }
@keyframes ugb-bee-a { 0% { transform:translate(0,0) rotate(0deg); } 25% { transform:translate(60px, -30px) rotate(15deg); } 50% { transform:translate(120px, -10px) rotate(0deg); } 75% { transform:translate(60px, 20px) rotate(-10deg); } 100% { transform:translate(0,0) rotate(0deg); } }
@keyframes ugb-bee-b { 0% { transform:translate(0,0); } 30% { transform:translate(-40px, -20px); } 60% { transform:translate(-80px, 10px); } 100% { transform:translate(0,0); } }
@keyframes ugb-leaf { 0% { transform:rotate(-20deg) translateY(0); } 50% { transform:rotate(-15deg) translateY(-4px); } 100% { transform:rotate(-25deg) translateY(0); } }

/* first-quarrel-beware */
.scn-first-quarrel-beware { background: linear-gradient(180deg, #1a1410 0%, #0d0a08 100%), radial-gradient(ellipse at 50% 50%, #2a1e18 0%, transparent 65%); }
.scn-first-quarrel-beware .bg { position:absolute; inset:0; background: linear-gradient(135deg, rgba(26,20,16,0.5) 0%, transparent 50%); animation: fqb-bg 10s ease-in-out infinite alternate; }
.scn-first-quarrel-beware .pot { position:absolute; bottom:30%; left:50%; width:80px; height:100px; transform:translateX(-50%); background: linear-gradient(180deg, #c8553d 0%, #8a3a2a 100%); border-radius: 20% 20% 10% 10% / 30% 30% 20% 20%; box-shadow: 0 8px 20px rgba(0,0,0,0.6); animation: fqb-pot 4s ease-in-out infinite; }
.scn-first-quarrel-beware .figure-left { position:absolute; bottom:20%; left:25%; width:30px; height:90px; background: linear-gradient(180deg, #1a1410 0%, #0d0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: fqb-fig-left 5s ease-in-out infinite; }
.scn-first-quarrel-beware .figure-right { position:absolute; bottom:20%; right:25%; width:30px; height:90px; background: linear-gradient(180deg, #1a1410 0%, #0d0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: fqb-fig-right 5s ease-in-out infinite; }
.scn-first-quarrel-beware .crack { position:absolute; bottom:30%; left:50%; width:4px; height:40px; transform:translateX(-50%) rotate(-10deg); background: linear-gradient(180deg, transparent 0%, #4a2a1a 30%, #6a3a2a 60%, transparent 100%); box-shadow: 0 0 8px 2px rgba(106,58,42,0.5); animation: fqb-crack 2s ease-in-out infinite alternate; }
.scn-first-quarrel-beware .shadow-floor { position:absolute; bottom:15%; left:20%; right:20%; height:20px; background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%); filter: blur(4px); animation: fqb-shadow 8s ease-in-out infinite alternate; }
@keyframes fqb-bg { 0% { opacity:0.4; } 50% { opacity:0.7; } 100% { opacity:0.5; } }
@keyframes fqb-pot { 0% { transform:translateX(-50%) rotate(0deg); } 25% { transform:translateX(-50%) rotate(1deg); } 50% { transform:translateX(-50%) rotate(0deg); } 75% { transform:translateX(-50%) rotate(-1deg); } 100% { transform:translateX(-50%) rotate(0deg); } }
@keyframes fqb-fig-left { 0% { transform:translateX(0) rotate(0deg); } 50% { transform:translateX(-3px) rotate(2deg); } 100% { transform:translateX(0) rotate(0deg); } }
@keyframes fqb-fig-right { 0% { transform:translateX(0) rotate(0deg); } 50% { transform:translateX(3px) rotate(-2deg); } 100% { transform:translateX(0) rotate(0deg); } }
@keyframes fqb-crack { 0% { opacity:0.3; box-shadow:0 0 4px 1px rgba(106,58,42,0.3); } 50% { opacity:0.9; box-shadow:0 0 12px 4px rgba(106,58,42,0.7); } 100% { opacity:0.4; box-shadow:0 0 6px 2px rgba(106,58,42,0.4); } }
@keyframes fqb-shadow { 0% { transform:scaleX(1); } 50% { transform:scaleX(1.1); opacity:0.6; } 100% { transform:scaleX(1); } }

/* love-kindling-material */
.scn-love-kindling-material { background: linear-gradient(180deg, #2a1a10 0%, #1a0e08 100%), radial-gradient(ellipse at 50% 60%, #3a2a1a 0%, transparent 60%); }
.scn-love-kindling-material .bg { position:absolute; inset:0; background: linear-gradient(135deg, rgba(42,26,16,0.5) 0%, transparent 50%); animation: lkm-bg 14s ease-in-out infinite alternate; }
.scn-love-kindling-material .chaff { position:absolute; bottom:35%; left:30%; width:90px; height:40px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 40% 60% 30% 70%; box-shadow: 0 4px 12px rgba(0,0,0,0.4); animation: lkm-chaff 9s ease-in-out infinite alternate; }
.scn-love-kindling-material .flame { position:absolute; bottom:50%; left:50%; width:30px; height:50px; transform:translateX(-50%); background: radial-gradient(circle at 50% 100%, #f0a020 0%, #d06010 40%, #8a2a0a 80%, transparent 100%); border-radius: 50% 50% 20% 20% / 80% 80% 20% 20%; animation: lkm-flame 2s ease-in-out infinite alternate; }
.scn-love-kindling-material .wick { position:absolute; bottom:42%; left:50%; width:2px; height:20px; transform:translateX(-50%); background: linear-gradient(180deg, #3a2a1a 0%, #1a0e08 100%); animation: lkm-wick 6s ease-in-out infinite; }
.scn-love-kindling-material .hare-fur { position:absolute; bottom:38%; left:20%; width:30px; height:20px; background: radial-gradient(circle, #8a7a6a 0%, #5a4a3a 100%); border-radius: 50% 40% 60% 30%; filter: blur(3px); animation: lkm-fur 7s ease-in-out infinite alternate; }
.scn-love-kindling-material .spark-a, .scn-love-kindling-material .spark-b { position:absolute; width:4px; height:4px; background: #f0c040; border-radius: 50%; box-shadow: 0 0 6px 2px rgba(240,192,64,0.6); }
.scn-love-kindling-material .spark-a { top:30%; left:40%; animation: lkm-spark-a 3s ease-out infinite; }
.scn-love-kindling-material .spark-b { top:25%; left:55%; animation: lkm-spark-b 3.5s ease-out infinite 0.5s; }
@keyframes lkm-bg { 0% { opacity:0.5; } 50% { opacity:0.7; } 100% { opacity:0.4; } }
@keyframes lkm-chaff { 0% { transform:translateY(0) rotate(0deg); } 50% { transform:translateY(-3px) rotate(-2deg); } 100% { transform:translateY(0) rotate(0deg); } }
@keyframes lkm-flame { 0% { transform:translateX(-50%) scaleY(1) rotate(0deg); } 25% { transform:translateX(-50%) scaleY(1.05) rotate(2deg); } 50% { transform:translateX(-50%) scaleY(0.95) rotate(-1deg); } 75% { transform:translateX(-50%) scaleY(1.1) rotate(1deg); } 100% { transform:translateX(-50%) scaleY(1) rotate(0deg); } }
@keyframes lkm-wick { 0% { transform:translateX(-50%) rotate(0deg); } 50% { transform:translateX(-50%) rotate(5deg); } 100% { transform:translateX(-50%) rotate(0deg); } }
@keyframes lkm-fur { 0% { transform:scale(1); } 50% { transform:scale(1.03); } 100% { transform:scale(0.98); } }
@keyframes lkm-spark-a { 0% { transform:translate(0,0) scale(1); opacity:1; } 50% { transform:translate(-10px, -30px) scale(0.8); opacity:0.6; } 100% { transform:translate(-25px, -60px) scale(0.2); opacity:0; } }
@keyframes lkm-spark-b { 0% { transform:translate(0,0) scale(1); opacity:1; } 50% { transform:translate(15px, -25px) scale(0.7); opacity:0.5; } 100% { transform:translate(30px, -55px) scale(0.1); opacity:0; } }

/* drugged-bait-wives */
.scn-drugged-bait-wives { background: linear-gradient(180deg, #1a1418 0%, #0d0a0d 100%), radial-gradient(ellipse at 50% 40%, #2a1e22 0%, transparent 70%); }
.scn-drugged-bait-wives .bg { position:absolute; inset:0; background: linear-gradient(135deg, rgba(26,20,24,0.5) 0%, transparent 50%); animation: dbw-bg 11s ease-in-out infinite alternate; }
.scn-drugged-bait-wives .fish { position:absolute; bottom:35%; left:40%; width:70px; height:30px; background: linear-gradient(180deg, #4a4a4a 0%, #2a2a2a 100%); border-radius: 50% 40% 40% 50%; transform:rotate(-10deg); box-shadow: 0 2px 8px rgba(0,0,0,0.5); animation: dbw-fish 3s ease-in-out infinite; }
.scn-drugged-bait-wives .hook { position:absolute; bottom:50%; left:55%; width:20px; height:30px; background: transparent; border: 3px solid #8a7a6a; border-color: transparent transparent #8a7a6a #8a7a6a; border-radius: 0 0 50% 50%; transform:rotate(45deg); animation: dbw-hook 2s ease-in-out infinite alternate; }
.scn-drugged-bait-wives .bait { position:absolute; bottom:38%; left:55%; width:14px; height:4px; background: linear-gradient(90deg, #6a5a4a 0%, #3a2a1a 100%); border-radius: 50%; animation: dbw-bait 1.5s ease-in-out infinite; }
.scn-drugged-bait-wives .hand { position:absolute; bottom:20%; right:20%; width:35px; height:70px; background: linear-gradient(180deg, #2a1f18 0%, #1a120a 100%); border-radius: 50% 30% 40% 40% / 60% 50% 40% 40%; transform-origin: bottom; animation: dbw-hand 4s ease-in-out infinite; }
.scn-drugged-bait-wives .rod { position:absolute; bottom:25%; right:25%; width:120px; height:4px; background: linear-gradient(90deg, #5a4a3a 0%, #3a2a1a 100%); transform-origin: right bottom; transform:rotate(20deg); border-radius: 2px; animation: dbw-rod 3s ease-in-out infinite; }
@keyframes dbw-bg { 0% { opacity:0.4; } 50% { opacity:0.6; } 100% { opacity:0.5; } }
@keyframes dbw-fish { 0% { transform:rotate(-10deg) translateY(0); } 25% { transform:rotate(-12deg) translateY(-2px); } 50% { transform:rotate(-8deg) translateY(0); } 75% { transform:rotate(-14deg) translateY(3px); } 100% { transform:rotate(-10deg) translateY(0); } }
@keyframes dbw-hook { 0% { transform:rotate(45deg) translateY(0); } 50% { transform:rotate(50deg) translateY(-3px); } 100% { transform:rotate(45deg) translateY(0); } }
@keyframes dbw-bait { 0% { transform:translateX(0) rotate(0deg); } 50% { transform:translateX(2px) rotate(10deg); } 100% { transform:translateX(0) rotate(0deg); } }
@keyframes dbw-hand { 0% { transform:translateX(0) rotate(0deg); } 25% { transform:translateX(2px) rotate(2deg); } 50% { transform:translateX(0) rotate(0deg); } 75% { transform:translateX(-2px) rotate(-2deg); } 100% { transform:translateX(0) rotate(0deg); } }
@keyframes dbw-rod { 0% { transform:rotate(20deg) scaleX(1); } 50% { transform:rotate(22deg) scaleX(1.02); } 100% { transform:rotate(20deg) scaleX(1); } }

/* Scene 1: heading-vice-sufficient-unhappiness */
.scn-heading-vice-sufficient-unhappiness {
  background: linear-gradient(180deg, #1a1a1a 0%, #2a2a2a 50%, #151515 100%),
              radial-gradient(ellipse at 50% 80%, #2a2a2a 0%, transparent 70%);
}
.scn-heading-vice-sufficient-unhappiness .bg-wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%);
}
.scn-heading-vice-sufficient-unhappiness .bg-shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 60%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.6) 100%);
  animation: vs-shadow 8s ease-in-out infinite alternate;
}
.scn-heading-vice-sufficient-unhappiness .desk {
  position: absolute; bottom: 20%; left: 30%; right: 30%; height: 10%;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  border-radius: 4px;
}
.scn-heading-vice-sufficient-unhappiness .candle {
  position: absolute; bottom: 30%; left: 48%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #e0c080 0%, #a08040 100%);
  border-radius: 2px 2px 0 0;
  animation: vs-flicker 0.5s ease-in-out infinite;
}
.scn-heading-vice-sufficient-unhappiness .figure {
  position: absolute; bottom: 20%; left: 35%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom;
  animation: vs-sway 4s ease-in-out infinite;
}
.scn-heading-vice-sufficient-unhappiness .book {
  position: absolute; bottom: 21%; left: 45%; width: 24px; height: 18px;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%);
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,.6);
  transform: rotate(-10deg);
  animation: vs-bookbreathe 6s ease-in-out infinite;
}
@keyframes vs-shadow {
  0% { opacity: 0.4; }
  50% { opacity: 0.7; }
  100% { opacity: 0.4; }
}
@keyframes vs-flicker {
  0% { opacity: 0.8; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.05); }
  100% { opacity: 0.8; transform: scaleY(1); }
}
@keyframes vs-sway {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(2px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes vs-bookbreathe {
  0% { transform: scale(1) rotate(-10deg); }
  50% { transform: scale(1.02) rotate(-8deg); }
  100% { transform: scale(1) rotate(-10deg); }
}

/* Scene 2: dowry-wife-sell-oneself */
.scn-dowry-wife-sell-oneself {
  background: linear-gradient(180deg, #1a0a0a 0%, #2a1510 50%, #0a0505 100%),
              radial-gradient(ellipse at 50% 70%, #3a1a10 0%, transparent 70%);
}
.scn-dowry-wife-sell-oneself .bg-cave {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a1510 0%, #0a0505 100%);
}
.scn-dowry-wife-sell-oneself .pyre {
  position: absolute; bottom: 10%; left: 30%; right: 30%; height: 30%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a1a0a 100%);
  clip-path: polygon(0% 100%, 30% 0%, 70% 0%, 100% 100%);
}
.scn-dowry-wife-sell-oneself .flame {
  position: absolute; bottom: 35%; left: 45%; width: 20px; height: 40px;
  background: radial-gradient(ellipse at 50% 100%, #ff8040 0%, #ff4020 50%, #802010 100%);
  border-radius: 50% 50% 20% 20%;
  animation: dw-flame 1.5s ease-in-out infinite;
}
.scn-dowry-wife-sell-oneself .figure {
  position: absolute; bottom: 10%; left: 35%; width: 25px; height: 45px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom;
  animation: dw-figure 3s ease-in-out infinite;
}
.scn-dowry-wife-sell-oneself .smoke {
  position: absolute; top: 15%; left: 40%; width: 40px; height: 20px;
  background: rgba(200,200,200,0.1);
  filter: blur(8px);
  border-radius: 50%;
  animation: dw-smoke 6s ease-in-out infinite;
}
.scn-dowry-wife-sell-oneself .spark1 {
  position: absolute; bottom: 45%; left: 42%; width: 4px; height: 4px;
  background: #ffa060; border-radius: 50%;
  box-shadow: 0 0 6px #ffa060;
  animation: dw-spark1 2s ease-in-out infinite;
}
.scn-dowry-wife-sell-oneself .spark2 {
  position: absolute; bottom: 40%; left: 55%; width: 3px; height: 3px;
  background: #ff8040; border-radius: 50%;
  box-shadow: 0 0 4px #ff8040;
  animation: dw-spark2 2.5s ease-in-out infinite;
}
@keyframes dw-flame {
  0% { transform: scaleY(1) rotate(-2deg); opacity: 0.8; }
  50% { transform: scaleY(1.2) rotate(2deg); opacity: 1; }
  100% { transform: scaleY(1) rotate(-2deg); opacity: 0.8; }
}
@keyframes dw-figure {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-2px) rotate(-3deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes dw-smoke {
  0% { transform: translateY(0) scale(1); opacity: 0.4; }
  50% { transform: translateY(-10px) scale(1.2); opacity: 0.6; }
  100% { transform: translateY(0) scale(1); opacity: 0.4; }
}
@keyframes dw-spark1 {
  0% { transform: translate(0,0); opacity: 1; }
  50% { transform: translate(5px, -10px); opacity: 0.5; }
  100% { transform: translate(0,0); opacity: 1; }
}
@keyframes dw-spark2 {
  0% { transform: translate(0,0); opacity: 1; }
  50% { transform: translate(-5px, -8px); opacity: 0.5; }
  100% { transform: translate(0,0); opacity: 1; }
}

/* Scene 3: wife-left-behind-phylace */
.scn-wife-left-behind-phylace {
  background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 50%, #0a0a1a 100%),
              radial-gradient(ellipse at 50% 50%, #2a2a3a 0%, transparent 60%);
}
.scn-wife-left-behind-phylace .wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1e1e2e 0%, #0e0e1e 100%);
}
.scn-wife-left-behind-phylace .window {
  position: absolute; top: 15%; left: 50%; width: 80px; height: 100px;
  transform: translateX(-50%);
  background: #1a2a3a; border: 4px solid #3a2a1a; border-radius: 4px;
}
.scn-wife-left-behind-phylace .windowsill {
  position: absolute; top: calc(15% + 100px); left: 50%; width: 88px; height: 10px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
}
.scn-wife-left-behind-phylace .moonlight {
  position: absolute; top: 15%; left: 50%; width: 80px; height: 100px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 50%, rgba(200,200,255,0.15) 0%, transparent 70%);
  animation: wl-moon 8s ease-in-out infinite alternate;
}
.scn-wife-left-behind-phylace .figure {
  position: absolute; bottom: 25%; left: 45%; width: 22px; height: 40px;
  background: linear-gradient(180deg, #2a1a2a 0%, #1a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom;
  animation: wl-figure 5s ease-in-out infinite;
}
.scn-wife-left-behind-phylace .chair {
  position: absolute; bottom: 25%; left: 40%; width: 30px; height: 30px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4px;
  transform-origin: bottom;
  animation: wl-chair 5s ease-in-out infinite;
}
.scn-wife-left-behind-phylace .tear {
  position: absolute; bottom: 45%; left: 48%; width: 4px; height: 4px;
  background: rgba(180,180,220,0.6); border-radius: 50%;
  animation: wl-tear 3s ease-in-out infinite;
}
@keyframes wl-moon {
  0% { opacity: 0.3; }
  50% { opacity: 0.5; }
  100% { opacity: 0.3; }
}
@keyframes wl-figure {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(2px) rotate(3deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes wl-chair {
  0% { transform: scale(1) rotate(0deg); }
  50% { transform: scale(1.02) rotate(1deg); }
  100% { transform: scale(1) rotate(0deg); }
}
@keyframes wl-tear {
  0% { transform: translate(0,0); opacity: 0; }
  50% { transform: translate(0,10px); opacity: 1; }
  100% { transform: translate(0,20px); opacity: 0; }
}

/* Scene 4: vice-ill-effect-everybody */
.scn-vice-ill-effect-everybody {
  background: linear-gradient(180deg, #0a0a0a 0%, #1a0a0a 50%, #050505 100%),
              radial-gradient(ellipse at 50% 80%, #2a0a0a 0%, transparent 70%);
}
.scn-vice-ill-effect-everybody .wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #151010 0%, #0a0505 100%);
}
.scn-vice-ill-effect-everybody .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #2a1a1a 0%, #0a0505 100%);
}
.scn-vice-ill-effect-everybody .chain {
  position: absolute; bottom: 30%; left: 40%; width: 5px; height: 40px;
  background: #5a4a3a; border-radius: 2px;
  animation: ve-chain 6s ease-in-out infinite;
}
.scn-vice-ill-effect-everybody .figure {
  position: absolute; bottom: 20%; left: 35%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom;
  animation: ve-figure 4s ease-in-out infinite;
}
.scn-vice-ill-effect-everybody .torch {
  position: absolute; bottom: 30%; right: 25%; width: 10px; height: 30px;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a1a0a 100%);
  border-radius: 2px;
}
.scn-vice-ill-effect-everybody .flame {
  position: absolute; bottom: calc(30% + 30px); right: 25%; width: 15px; height: 25px;
  background: radial-gradient(ellipse at 50% 100%, #ff8040 0%, #ff4020 50%, #802010 100%);
  border-radius: 50% 50% 20% 20%;
  animation: ve-flame 1.5s ease-in-out infinite;
}
.scn-vice-ill-effect-everybody .branding-iron {
  position: absolute; bottom: 25%; left: 50%; width: 15px; height: 15px;
  background: #a0461a; border-radius: 50%;
  box-shadow: 0 0 10px #a0461a;
  animation: ve-brand 3s ease-in-out infinite;
}
@keyframes ve-chain {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(5deg); }
  100% { transform: rotate(0deg); }
}
@keyframes ve-figure {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-2px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes ve-flame {
  0% { transform: scaleY(1) rotate(-3deg); opacity: 0.9; }
  50% { transform: scaleY(1.2) rotate(3deg); opacity: 1; }
  100% { transform: scaleY(1) rotate(-3deg); opacity: 0.9; }
}
@keyframes ve-brand {
  0% { transform: scale(1) translate(0,0); }
  50% { transform: scale(1.1) translate(0,-3px); }
  100% { transform: scale(1) translate(0,0); }
}

.scn-pythian-priestess-compared {
  background:
    linear-gradient(180deg, #fff5e0 0%, #f5d088 30%, #d49a4a 60%, #b57030 100%),
    radial-gradient(ellipse at 50% 30%, #f5d088 0%, transparent 70%);
}
.scn-pythian-priestess-compared .bg {
  position: absolute; inset: 0 0 30% 0;
  background: radial-gradient(ellipse at 50% 0%, #ffe9b0 0%, transparent 60%);
  animation: ppc-sky 12s ease-in-out infinite alternate;
}
.scn-pythian-priestess-compared .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #d49a4a 0%, #a97230 100%);
  border-radius: 40% 60% 0 0 / 30% 30% 0 0;
}
.scn-pythian-priestess-compared .leg-l {
  position: absolute; bottom: 30%; left: 42%; width: 8px; height: 60px;
  background: linear-gradient(180deg, #8a5a2a 0%, #5a3a1a 100%);
  border-radius: 2px;
  transform-origin: bottom center;
  transform: rotate(-25deg);
  animation: ppc-leg 10s ease-in-out infinite;
}
.scn-pythian-priestess-compared .leg-r {
  position: absolute; bottom: 30%; left: 56%; width: 8px; height: 60px;
  background: linear-gradient(180deg, #8a5a2a 0%, #5a3a1a 100%);
  border-radius: 2px;
  transform-origin: bottom center;
  transform: rotate(25deg);
  animation: ppc-leg 10s ease-in-out infinite reverse;
}
.scn-pythian-priestess-compared .leg-m {
  position: absolute; bottom: 30%; left: 49%; width: 8px; height: 55px;
  background: linear-gradient(180deg, #8a5a2a 0%, #5a3a1a 100%);
  border-radius: 2px;
  transform-origin: bottom center;
  transform: rotate(0deg) scaleX(0.6);
  animation: ppc-leg 10s ease-in-out infinite 0.5s;
}
.scn-pythian-priestess-compared .seat {
  position: absolute; bottom: 58%; left: 43%; width: 30px; height: 15px;
  background: linear-gradient(180deg, #b08040 0%, #8a5a2a 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: ppc-seat 8s ease-in-out infinite;
}
.scn-pythian-priestess-compared .priestess {
  position: absolute; bottom: 63%; left: 46%; width: 24px; height: 45px;
  background: linear-gradient(180deg, #6a4a3a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ppc-priestess 6s ease-in-out infinite;
}
.scn-pythian-priestess-compared .glow {
  position: absolute; bottom: 60%; left: 44%; width: 40px; height: 40px;
  background: radial-gradient(circle, #ffd060 0%, #c08040 40%, transparent 70%);
  border-radius: 50%;
  animation: ppc-glow 4s ease-in-out infinite alternate;
}
.scn-pythian-priestess-compared .flute {
  position: absolute; bottom: 72%; left: 38%; width: 30px; height: 4px;
  background: linear-gradient(90deg, #a08060 0%, #c09070 50%, #a08060 100%);
  border-radius: 2px;
  transform: rotate(-20deg);
  animation: ppc-flute 7s ease-in-out infinite;
}
@keyframes ppc-sky {
  0% { opacity: 0.7; }
  50% { opacity: 1; transform: scale(1.02); }
  100% { opacity: 0.8; }
}
@keyframes ppc-leg {
  0% { transform: rotate(-25deg) translateY(0); }
  50% { transform: rotate(-27deg) translateY(-2px); }
  100% { transform: rotate(-25deg) translateY(0); }
}
@keyframes ppc-seat {
  0% { transform: translateY(0) scaleX(1); }
  50% { transform: translateY(-2px) scaleX(0.95); }
  100% { transform: translateY(0) scaleX(1); }
}
@keyframes ppc-priestess {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-2px) rotate(2deg); }
  50% { transform: translateY(0) rotate(0deg); }
  75% { transform: translateY(-1px) rotate(-2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes ppc-glow {
  0% { transform: scale(0.9); opacity: 0.7; }
  50% { transform: scale(1.1); opacity: 1; }
  100% { transform: scale(1); opacity: 0.85; }
}
@keyframes ppc-flute {
  0% { transform: rotate(-20deg) translateX(0); }
  50% { transform: rotate(-18deg) translateX(3px); }
  100% { transform: rotate(-20deg) translateX(0); }
}

/* Scene: important-point-poets-legislators */
.scn-important-point-poets-legislators {
  background:
    linear-gradient(180deg, #e8f0ff 0%, #c0d8f0 40%, #a0b8d0 100%),
    radial-gradient(ellipse at 50% 30%, #d0e0f8 0%, transparent 70%);
}
.scn-important-point-poets-legislators .bg {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #f0f8ff 0%, transparent 100%);
  animation: ipp-bg 15s ease-in-out infinite;
}
.scn-important-point-poets-legislators .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #b0c8e0 0%, #889ab0 100%);
  border-radius: 10% 10% 0 0 / 20% 20% 0 0;
}
.scn-important-point-poets-legislators .figure-poet {
  position: absolute; bottom: 35%; left: 18%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #4a5a6a 0%, #2a3a4a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ipp-figure 8s ease-in-out infinite;
}
.scn-important-point-poets-legislators .figure-legislator {
  position: absolute; bottom: 35%; left: 46%; width: 22px; height: 52px;
  background: linear-gradient(180deg, #3a4a5a 0%, #1a2a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ipp-figure 8s ease-in-out infinite -2s;
}
.scn-important-point-poets-legislators .figure-philosopher {
  position: absolute; bottom: 35%; left: 72%; width: 20px; height: 48px;
  background: linear-gradient(180deg, #5a6a7a 0%, #3a4a5a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ipp-figure 8s ease-in-out infinite -4s;
}
.scn-important-point-poets-legislators .symbol-poet {
  position: absolute; bottom: 55%; left: 16%; width: 14px; height: 18px;
  background: radial-gradient(circle, #d0b080 0%, #a08050 100%);
  border-radius: 50%;
  animation: ipp-symbol 6s ease-in-out infinite;
}
.scn-important-point-poets-legislators .symbol-legislator {
  position: absolute; bottom: 55%; left: 45%; width: 16px; height: 20px;
  background: linear-gradient(180deg, #c0a060 0%, #a08040 100%);
  border-radius: 4px;
  animation: ipp-symbol 6s ease-in-out infinite -2s;
}
.scn-important-point-poets-legislators .symbol-philosopher {
  position: absolute; bottom: 55%; left: 71%; width: 12px; height: 16px;
  background: radial-gradient(circle, #ffeeaa 0%, #ccaa66 100%);
  border-radius: 50% 50% 0 0;
  animation: ipp-symbol 6s ease-in-out infinite -4s;
}
.scn-important-point-poets-legislators .light {
  position: absolute; top: 5%; left: 40%; width: 60px; height: 60px;
  background: radial-gradient(circle, #ffffff 0%, #c0d0e0 40%, transparent 70%);
  border-radius: 50%;
  animation: ipp-light 10s ease-in-out infinite alternate;
}
@keyframes ipp-bg {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes ipp-figure {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes ipp-symbol {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-4px) scale(1.1); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes ipp-light {
  0% { transform: scale(0.9); opacity: 0.7; }
  50% { transform: scale(1.1); opacity: 1; }
  100% { transform: scale(1); opacity: 0.85; }
}

/* Scene: philosophers-gods-different */
.scn-philosophers-gods-different {
  background:
    linear-gradient(180deg, #d8e8f0 0%, #b0c8d8 50%, #889ab0 100%),
    radial-gradient(ellipse at 50% 20%, #c8d8e8 0%, transparent 60%);
}
.scn-philosophers-gods-different .bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #e0f0f8 0%, transparent 80%);
  animation: pgd-bg 20s ease-in-out infinite;
}
.scn-philosophers-gods-different .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #a0b8cc 0%, #8090a0 100%);
  border-radius: 20% 20% 0 0 / 15% 15% 0 0;
}
.scn-philosophers-gods-different .philosopher {
  position: absolute; bottom: 30%; left: 40%; width: 24px; height: 52px;
  background: linear-gradient(180deg, #3a4a5a 0%, #1a2a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pgd-philo 8s ease-in-out infinite;
}
.scn-philosophers-gods-different .table {
  position: absolute; bottom: 30%; left: 38%; width: 50px; height: 8px;
  background: linear-gradient(180deg, #7a8a9a 0%, #5a6a7a 100%);
  border-radius: 2px;
  animation: pgd-table 12s ease-in-out infinite;
}
.scn-philosophers-gods-different .scroll {
  position: absolute; bottom: 34%; left: 40%; width: 20px; height: 6px;
  background: linear-gradient(180deg, #c0b090 0%, #a09070 100%);
  border-radius: 3px 1px 1px 3px;
  animation: pgd-scroll 10s ease-in-out infinite;
}
.scn-philosophers-gods-different .peace-glow {
  position: absolute; top: 12%; left: 18%; width: 50px; height: 50px;
  background: radial-gradient(circle, #ffd0a0 0%, #e0b080 40%, transparent 70%);
  border-radius: 50%;
  animation: pgd-peace 6s ease-in-out infinite alternate;
}
.scn-philosophers-gods-different .war-glow {
  position: absolute; top: 15%; right: 18%; width: 50px; height: 50px;
  background: radial-gradient(circle, #b04030 0%, #802020 40%, transparent 70%);
  border-radius: 50%;
  animation: pgd-war 4s ease-in-out infinite alternate;
}
.scn-philosophers-gods-different .dove {
  position: absolute; top: 18%; left: 22%; width: 12px; height: 10px;
  background: radial-gradient(circle, #f0e0c0 0%, #c0a080 100%);
  border-radius: 50% 50% 0 0;
  animation: pgd-dove 8s ease-in-out infinite;
}
.scn-philosophers-gods-different .spear {
  position: absolute; top: 20%; right: 22%; width: 4px; height: 30px;
  background: linear-gradient(180deg, #606060 0%, #404040 100%);
  border-radius: 2px;
  transform: rotate(20deg);
  animation: pgd-spear 5s ease-in-out infinite;
}
@keyframes pgd-bg {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes pgd-philo {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes pgd-table {
  0% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
  100% { transform: translateY(0); }
}
@keyframes pgd-scroll {
  0% { transform: scaleX(1); }
  50% { transform: scaleX(1.1); }
  100% { transform: scaleX(1); }
}
@keyframes pgd-peace {
  0% { transform: scale(0.9); opacity: 0.6; }
  50% { transform: scale(1.1); opacity: 1; }
  100% { transform: scale(1); opacity: 0.8; }
}
@keyframes pgd-war {
  0% { transform: scale(0.8); opacity: 0.5; }
  50% { transform: scale(1.2); opacity: 1; }
  100% { transform: scale(0.9); opacity: 0.7; }
}
@keyframes pgd-dove {
  0% { transform: translateY(0) rotate(-5deg); }
  50% { transform: translateY(-6px) rotate(3deg); }
  100% { transform: translateY(0) rotate(-5deg); }
}
@keyframes pgd-spear {
  0% { transform: rotate(20deg) translateX(0); }
  50% { transform: rotate(25deg) translateX(2px); }
  100% { transform: rotate(20deg) translateX(0); }
}

/* Scene: poets-legislators-differ */
.scn-poets-legislators-differ {
  background:
    linear-gradient(180deg, #f0e8d0 0%, #d8c8a0 40%, #b09870 100%),
    radial-gradient(ellipse at 50% 40%, #d8c8a0 0%, transparent 70%);
}
.scn-poets-legislators-differ .bg {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #fff5e0 0%, transparent 80%);
  animation: pld-bg 18s ease-in-out infinite;
}
.scn-poets-legislators-differ .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #c0a880 0%, #908060 100%);
  border-radius: 15% 15% 0 0 / 10% 10% 0 0;
}
.scn-poets-legislators-differ .podium {
  position: absolute; bottom: 25%; left: 40%; width: 60px; height: 14px;
  background: linear-gradient(180deg, #a09070 0%, #807050 100%);
  border-radius: 4px 4px 2px 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: pld-podium 10s ease-in-out infinite;
}
.scn-poets-legislators-differ .solon {
  position: absolute; bottom: 28%; left: 44%; width: 22px; height: 55px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pld-solon 6s ease-in-out infinite;
}
.scn-poets-legislators-differ .crowd-left {
  position: absolute; bottom: 25%; left: 8%; width: 80px; height: 40px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 40% 40% 0 0 / 60% 60% 0 0;
  animation: pld-crowd 10s ease-in-out infinite;
}
.scn-poets-legislators-differ .crowd-center {
  position: absolute; bottom: 25%; left: 36%; width: 70px; height: 42px;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0000 100%);
  border-radius: 40% 40% 0 0 / 60% 60% 0 0;
  animation: pld-crowd 10s ease-in-out infinite -3s;
}
.scn-poets-legislators-differ .crowd-right {
  position: absolute; bottom: 25%; left: 64%; width: 80px; height: 38px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 40% 40% 0 0 / 60% 60% 0 0;
  animation: pld-crowd 10s ease-in-out infinite -6s;
}
.scn-poets-legislators-differ .voting-urn {
  position: absolute; bottom: 25%; left: 48%; width: 16px; height: 20px;
  background: radial-gradient(ellipse at 50% 30%, #b09870 0%, #806850 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%;
  animation: pld-urn 7s ease-in-out infinite;
}
.scn-poets-legislators-differ .light-beam {
  position: absolute; top: 0; left: 40%; width: 60px; height: 100%;
  background: linear-gradient(180deg, rgba(255,255,200,0.3) 0%, transparent 100%);
  animation: pld-beam 12s ease-in-out infinite alternate;
}
@keyframes pld-bg {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes pld-podium {
  0% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
  100% { transform: translateY(0); }
}
@keyframes pld-solon {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-2px) rotate(2deg); }
  50% { transform: translateY(-3px) rotate(-1deg); }
  75% { transform: translateY(-1px) rotate(3deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes pld-crowd {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-3px) scaleY(0.95); }
  100% { transform: translateY(0) scaleY(1); }
}
@keyframes pld-urn {
  0% { transform: scale(1); }
  50% { transform: scale(1.05); }
  100% { transform: scale(1); }
}
@keyframes pld-beam {
  0% { opacity: 0.3; transform: scaleX(1); }
  50% { opacity: 0.5; transform: scaleX(1.1); }
  100% { opacity: 0.4; transform: scaleX(0.9); }
}

/* scene: euripides-love-righteous */
.scn-euripides-love-righteous { background: linear-gradient(180deg, #f5e6d3 0%, #c9a06c 50%, #8b6f47 100%), radial-gradient(ellipse at 30% 60%, #f4d03f 0%, transparent 60%); }
.scn-euripides-love-righteous .bg-wall { position:absolute; inset:0; background: linear-gradient(90deg, #d4b896 0%, #f0e0cc 30%, #d4b896 100%); }
.scn-euripides-love-righteous .lamp { position:absolute; bottom:30%; left:20%; width:12px; height:20px; background: linear-gradient(180deg, #8b5e3c, #4a2e1a); border-radius:10%; }
.scn-euripides-love-righteous .lamp-glow { position:absolute; bottom:28%; left:18%; width:40px; height:40px; background: radial-gradient(circle, #f4d03f 0%, #e6b800 30%, transparent 70%); border-radius:50%; animation: elr-lamp-flicker 3s ease-in-out infinite alternate; }
.scn-euripides-love-righteous .figure { position:absolute; bottom:25%; left:30%; width:30px; height:80px; background: linear-gradient(180deg, #3a2e24 0%, #1e1510 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom; animation: elr-fig-sway 5s ease-in-out infinite; }
.scn-euripides-love-righteous .scroll { position:absolute; bottom:60%; left:36%; width:40px; height:12px; background: linear-gradient(180deg, #f0e0c0, #d4b080); border-radius:5px; transform:rotate(-10deg); animation: elr-scroll-turn 8s ease-in-out infinite; }
.scn-euripides-love-righteous .book { position:absolute; bottom:22%; left:35%; width:20px; height:30px; background: linear-gradient(180deg, #a08060, #705040); border-radius:2px; box-shadow:2px 2px 4px rgba(0,0,0,0.3); animation: elr-book-lift 6s ease-in-out infinite; }
.scn-euripides-love-righteous .shadow { position:absolute; bottom:10%; left:25%; width:80px; height:20px; background:rgba(0,0,0,0.4); filter:blur(4px); border-radius:50%; animation: elr-shadow-pulse 4s ease-in-out infinite alternate; }
@keyframes elr-lamp-flicker { 0% {opacity:0.8; transform:scale(0.8);} 50% {opacity:1; transform:scale(1);} 100% {opacity:0.85; transform:scale(0.9);} }
@keyframes elr-fig-sway { 0% {transform: rotate(0deg) translateY(0);} 50% {transform: rotate(2deg) translateY(-2px);} 100% {transform: rotate(-1deg) translateY(0);} }
@keyframes elr-scroll-turn { 0% {transform: rotate(-10deg) translateX(0);} 50% {transform: rotate(-5deg) translateX(3px);} 100% {transform: rotate(-10deg) translateX(0);} }
@keyframes elr-book-lift { 0% {transform: translateY(0);} 50% {transform: translateY(-3px);} 100% {transform: translateY(0);} }
@keyframes elr-shadow-pulse { 0% {opacity:0.3; transform:scaleX(1);} 50% {opacity:0.5; transform:scaleX(1.2);} 100% {opacity:0.3; transform:scaleX(1);} }

/* scene: lovers-soul-encouraged */
.scn-lovers-soul-encouraged { background: linear-gradient(180deg, #f7e9d0 0%, #e0c9a0 50%, #c0a080 100%), radial-gradient(ellipse at 50% 30%, #fff5e0 0%, transparent 60%); }
.scn-lovers-soul-encouraged .bg-room { position:absolute; inset:0; background: linear-gradient(90deg, #d4b896 0%, #f0e0cc 30%, #d4b896 100%); }
.scn-lovers-soul-encouraged .column { position:absolute; bottom:20%; left:45%; width:16px; height:120px; background: linear-gradient(180deg, #b8a080, #8a6e4a); border-radius:4px; box-shadow:-2px 0 4px rgba(0,0,0,0.3); }
.scn-lovers-soul-encouraged .figure-left { position:absolute; bottom:25%; left:28%; width:35px; height:80px; background: linear-gradient(180deg, #4a3a2e 0%, #2a1e18 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom; animation: lse-nod 6s ease-in-out infinite; }
.scn-lovers-soul-encouraged .figure-right { position:absolute; bottom:25%; right:28%; width:40px; height:85px; background: linear-gradient(180deg, #3a2e24 0%, #1e1510 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom; animation: lse-gesture 7s ease-in-out infinite; }
.scn-lovers-soul-encouraged .light-beam { position:absolute; bottom:40%; left:20%; width:200px; height:80px; background: linear-gradient(180deg, rgba(255,255,200,0.3) 0%, transparent); transform:rotate(-10deg); transform-origin:bottom left; animation: lse-beam 12s ease-in-out infinite alternate; }
.scn-lovers-soul-encouraged .shadow-arch { position:absolute; bottom:10%; left:10%; width:80%; height:30px; background:rgba(0,0,0,0.2); filter:blur(8px); border-radius:50%; animation: lse-shadow 10s ease-in-out infinite; }
@keyframes lse-nod { 0% {transform: rotate(0deg);} 50% {transform: rotate(1deg) translateY(-1px);} 100% {transform: rotate(-1deg) translateY(0);} }
@keyframes lse-gesture { 0% {transform: rotate(0deg) translateX(0);} 50% {transform: rotate(3deg) translateX(2px);} 100% {transform: rotate(0deg) translateX(0);} }
@keyframes lse-beam { 0% {transform: rotate(-15deg) scaleX(0.8); opacity:0.6;} 50% {transform: rotate(-5deg) scaleX(1.2); opacity:1;} 100% {transform: rotate(-15deg) scaleX(0.8); opacity:0.6;} }
@keyframes lse-shadow { 0% {opacity:0.2; transform:scaleX(1);} 50% {opacity:0.4; transform:scaleX(1.1);} 100% {opacity:0.2; transform:scaleX(1);} }

/* scene: youths-liberty-watch */
.scn-youths-liberty-watch { background: linear-gradient(180deg, #2a1a0e 0%, #1a0e06 50%, #0a0502 100%), radial-gradient(ellipse at 40% 70%, #4a2a1a 0%, transparent 70%); }
.scn-youths-liberty-watch .bg-dark { position:absolute; inset:0; background: linear-gradient(90deg, #1a0e06 0%, #2a1a0e 30%, #1a0e06 100%); }
.scn-youths-liberty-watch .candle { position:absolute; bottom:30%; left:50%; width:10px; height:30px; background: linear-gradient(180deg, #8b5e3c, #4a2e1a); transform:translateX(-50%); }
.scn-youths-liberty-watch .candle-glow { position:absolute; bottom:25%; left:48%; width:60px; height:60px; background: radial-gradient(circle, #ffa500 0%, #d4740a 30%, transparent 70%); border-radius:50%; transform:translateX(-50%); animation: ylw-flicker 1.5s ease-in-out infinite alternate; }
.scn-youths-liberty-watch .figure-watch { position:absolute; bottom:25%; left:30%; width:40px; height:90px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom; animation: ylw-watch 3s ease-in-out infinite; }
.scn-youths-liberty-watch .figure-youth { position:absolute; bottom:25%; right:35%; width:35px; height:75px; background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom; animation: ylw-cower 4s ease-in-out infinite; }
.scn-youths-liberty-watch .shadow-bar { position:absolute; bottom:15%; left:20%; width:60%; height:8px; background:rgba(0,0,0,0.6); filter:blur(3px); border-radius:2px; animation: ylw-bar-sway 5s ease-in-out infinite; }
@keyframes ylw-flicker { 0% {opacity:0.7; transform: translateX(-50%) scale(0.9);} 50% {opacity:1; transform: translateX(-50%) scale(1.1);} 100% {opacity:0.8; transform: translateX(-50%) scale(0.95);} }
@keyframes ylw-watch { 0% {transform: rotate(0deg) translateY(0);} 50% {transform: rotate(2deg) translateY(-2px);} 100% {transform: rotate(-1deg) translateY(0);} }
@keyframes ylw-cower { 0% {transform: rotate(0deg) scaleX(1);} 50% {transform: rotate(-5deg) scaleX(0.9);} 100% {transform: rotate(0deg) scaleX(1);} }
@keyframes ylw-bar-sway { 0% {transform: translateY(0) rotate(0deg);} 50% {transform: translateY(2px) rotate(1deg);} 100% {transform: translateY(0) rotate(0deg);} }

/* scene: check-youth-excesses */
.scn-check-youth-excesses { background: linear-gradient(180deg, #1a0a0a 0%, #0a0505 50%, #000 100%), radial-gradient(ellipse at 20% 30%, #4a1a1a 0%, transparent 70%); }
.scn-check-youth-excesses .bg-abyss { position:absolute; inset:0; background: linear-gradient(90deg, #0a0505 0%, #1a0a0a 50%, #0a0505 100%); }
.scn-check-youth-excesses .glow-light { position:absolute; top:10%; left:20%; width:30px; height:30px; background: radial-gradient(circle, #ff8c00 0%, #cc6600 30%, transparent 70%); border-radius:50%; animation: cye-glow 3s ease-in-out infinite alternate; }
.scn-check-youth-excesses .hand { position:absolute; bottom:40%; left:30%; width:50px; height:60px; background: linear-gradient(180deg, #3a2e24 0%, #1e1510 100%); border-radius:30% 30% 20% 20% / 40% 40% 30% 30%; transform-origin:bottom; animation: cye-hand 5s ease-in-out infinite; }
.scn-check-youth-excesses .arm { position:absolute; bottom:40%; left:25%; width:20px; height:100px; background: linear-gradient(180deg, #3a2e24 0%, #1e1510 100%); border-radius:10px; transform-origin:top; animation: cye-arm 6s ease-in-out infinite; }
.scn-check-youth-excesses .bridle { position:absolute; bottom:30%; left:35%; width:40px; height:8px; background:#4a3a2e; border-radius:4px; animation: cye-bridle 4s ease-in-out infinite; }
.scn-check-youth-excesses .youth-arm { position:absolute; bottom:30%; right:30%; width:18px; height:70px; background: linear-gradient(180deg, #2a1e18 0%, #1a100a 100%); border-radius:10px; transform-origin:top; animation: cye-youth-arm 7s ease-in-out infinite; }
@keyframes cye-glow { 0% {opacity:0.6; transform: scale(0.8);} 50% {opacity:1; transform: scale(1.1);} 100% {opacity:0.7; transform: scale(0.9);} }
@keyframes cye-hand { 0% {transform: rotate(0deg) translateY(0);} 50% {transform: rotate(2deg) translateY(-3px);} 100% {transform: rotate(-1deg) translateY(0);} }
@keyframes cye-arm { 0% {transform: rotate(0deg) scaleY(1);} 50% {transform: rotate(3deg) scaleY(1.05);} 100% {transform: rotate(0deg) scaleY(1);} }
@keyframes cye-bridle { 0% {transform: translateX(0) rotate(0deg);} 50% {transform: translateX(2px) rotate(2deg);} 100% {transform: translateX(0) rotate(0deg);} }
@keyframes cye-youth-arm { 0% {transform: rotate(0deg) translateX(0);} 50% {transform: rotate(5deg) translateX(2px);} 100% {transform: rotate(0deg) translateX(0);} }

/* Scene: contrary-to-evidence (tense, bright interior) */
.scn-ce { background: linear-gradient(180deg, #f5f0e8 0%, #d0c8b8 50%, #a09880 100%), radial-gradient(ellipse at 30% 20%, #fff9f0 0%, transparent 60%); }
.scn-ce .ce-wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #f0e8d8 0%, #e0d8c8 100%); animation: ce-wall 15s ease-in-out infinite alternate; }
.scn-ce .ce-floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #c8b8a8 0%, #a09080 100%); border-radius: 0 0 15% 15% / 0 0 20% 20%; }
.scn-ce .ce-desk { position:absolute; bottom:20%; left:50%; width:120px; height:50px; transform:translateX(-50%); background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); border-radius:4px; box-shadow:0 4px 8px rgba(0,0,0,.2); }
.scn-ce .ce-lamp { position:absolute; bottom:48%; left:30%; width:8px; height:30px; background: linear-gradient(180deg, #b0a090 0%, #8a7a6a 100%); border-radius:4px; transform:rotate(5deg); }
.scn-ce .ce-lamp::after { content:''; position:absolute; bottom:0; left:-6px; width:20px; height:8px; background:radial-gradient(circle, #ffe080 0%, #d0a040 70%); border-radius:50%; box-shadow:0 0 20px 6px rgba(255,224,128,.6), 0 0 40px 12px rgba(255,224,128,.3); animation:ce-glow 0.8s ease-in-out infinite alternate; }
.scn-ce .ce-chair { position:absolute; bottom:20%; left:55%; width:40px; height:45px; background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); border-radius:20% 20% 40% 40% / 30% 30% 40% 40%; transform:rotate(2deg); }
.scn-ce .ce-figure { position:absolute; bottom:25%; left:40%; width:20px; height:50px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation:ce-walk 2s ease-in-out infinite; }
.scn-ce .ce-book { position:absolute; bottom:23%; left:48%; width:25px; height:15px; background: linear-gradient(135deg, #6a4a3a 0%, #4a2a1a 100%); border-radius:2px; transform:rotate(-10deg); animation:ce-book 4s ease-in-out infinite; }
.scn-ce .ce-clock { position:absolute; top:25%; right:25%; width:30px; height:30px; border-radius:50%; background:radial-gradient(circle, #f0e8d8 0%, #c0b8a8 70%); border:2px solid #8a7a6a; animation:ce-clock 6s linear infinite; }
.scn-ce .ce-clock::after { content:''; position:absolute; top:50%; left:50%; width:2px; height:10px; background:#4a3a2a; transform-origin:bottom center; animation:ce-hand 6s linear infinite; }
@keyframes ce-wall   { 0% { opacity:1; } 50% { opacity:0.95; } 100% { opacity:1; } }
@keyframes ce-glow   { 0% { box-shadow:0 0 15px 4px rgba(255,224,128,.4), 0 0 30px 8px rgba(255,224,128,.2); } 50% { box-shadow:0 0 25px 8px rgba(255,224,128,.7), 0 0 50px 16px rgba(255,224,128,.4); } 100% { box-shadow:0 0 20px 6px rgba(255,224,128,.5), 0 0 40px 12px rgba(255,224,128,.3); } }
@keyframes ce-walk   { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 25% { transform: translateX(5px) translateY(-1px) rotate(1deg); } 50% { transform: translateX(10px) translateY(0) rotate(-2deg); } 75% { transform: translateX(15px) translateY(-1px) rotate(1deg); } 100% { transform: translateX(20px) translateY(0) rotate(0); } }
@keyframes ce-book   { 0% { transform: translateY(0) rotate(-10deg); } 50% { transform: translateY(-2px) rotate(-8deg); } 100% { transform: translateY(0) rotate(-10deg); } }
@keyframes ce-clock  { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes ce-hand   { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

/* Scene: hunter-and-animal-analogy (calm, bright interior) */
.scn-ha { background: linear-gradient(180deg, #f8f0e0 0%, #e0d0b0 50%, #c0a880 100%), radial-gradient(ellipse at 70% 30%, #fff8ee 0%, transparent 60%); }
.scn-ha .ha-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #eee0c8 0%, #d8c8b0 100%); }
.scn-ha .ha-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #c0a880 0%, #a08868 100%); border-radius: 0 0 20% 20% / 0 0 15% 15%; }
.scn-ha .ha-window-frame { position:absolute; top:10%; left:20%; right:20%; height:55%; border:12px solid #8a7a5a; background:transparent; border-radius:8px; box-shadow: inset 0 0 20px rgba(0,0,0,.1); }
.scn-ha .ha-window-glass { position:absolute; top:10%; left:20%; right:20%; height:55%; background: linear-gradient(180deg, #b0d0e0 0%, #a0c0d0 100%); animation: ha-sky 20s ease-in-out infinite alternate; }
.scn-ha .ha-tree { position:absolute; top:25%; left:30%; width:10px; height:60px; background: linear-gradient(180deg, #5a4a2a 0%, #3a2a1a 100%); border-radius: 50% 50% 0 0; transform-origin: bottom center; animation: ha-tree-sway 8s ease-in-out infinite; }
.scn-ha .ha-tree::before { content:''; position:absolute; top:-30px; left:-15px; width:40px; height:35px; background: linear-gradient(180deg, #6a7a3a 0%, #4a5a2a 100%); border-radius: 50%; }
.scn-ha .ha-deer { position:absolute; bottom:45%; left:40%; width:24px; height:30px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 40% 40% 50% 50% / 50% 50% 40% 40%; animation: ha-deer-bob 5s ease-in-out infinite; }
.scn-ha .ha-deer::before { content:''; position:absolute; top:-10px; left:8px; width:6px; height:12px; background: #4a3a2a; border-radius: 0 50% 50% 0; transform:rotate(10deg); }
.scn-ha .ha-hunter { position:absolute; bottom:30%; left:50%; width:18px; height:45px; background: linear-gradient(180deg, #2a2a1a 0%, #1a1a0a 100%); border-radius: 40% 40% 50% 50% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ha-hunter-breathe 6s ease-in-out infinite; }
@keyframes ha-sky        { 0% { opacity:0.9; background-position: 0% 0%; } 100% { opacity:1; background-position: 100% 0%; } }
@keyframes ha-tree-sway  { 0% { transform: rotate(0deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(0deg); } }
@keyframes ha-deer-bob   { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ha-hunter-breathe { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-1px) scaleX(1.01); } 100% { transform: translateY(0) scaleX(1); } }

/* Scene: deliberative-element-different-opinions (calm, bright interior) */
.scn-de { background: linear-gradient(180deg, #f0ece0 0%, #d8d0c0 50%, #b8b0a0 100%), radial-gradient(ellipse at 50% 40%, #fff8f0 0%, transparent 70%); }
.scn-de .de-wall { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #e8e0d0 0%, #d0c8b8 100%); }
.scn-de .de-floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #b8b0a0 0%, #a09080 100%); border-radius: 10% 10% 0 0; }
.scn-de .de-table { position:absolute; bottom:18%; left:50%; width:100px; height:40px; transform:translateX(-50%); background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); border-radius:4px; }
.scn-de .de-chair { position:absolute; bottom:18%; left:45%; width:30px; height:35px; background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); border-radius:20% 20% 40% 40% / 30% 30% 40% 40%; transform:rotate(-2deg); }
.scn-de .de-figure { position:absolute; bottom:22%; left:46%; width:16px; height:45px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: de-breathe 6s ease-in-out infinite; }
.scn-de .de-shadow-a { position:absolute; bottom:20%; left:30%; width:40px; height:30px; background: rgba(30,30,50,.2); border-radius:50%; filter: blur(8px); animation: de-shadow-pulse 4s ease-in-out infinite alternate; }
.scn-de .de-shadow-b { position:absolute; bottom:20%; right:30%; width:40px; height:30px; background: rgba(30,30,50,.2); border-radius:50%; filter: blur(8px); animation: de-shadow-pulse 6s ease-in-out infinite alternate-reverse; }
.scn-de .de-book { position:absolute; bottom:22%; left:55%; width:20px; height:12px; background: linear-gradient(135deg, #6a4a3a 0%, #4a2a1a 100%); border-radius:2px; transform:rotate(8deg); animation: de-book-tilt 5s ease-in-out infinite; }
@keyframes de-breathe        { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-1px) scaleY(1.01); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes de-shadow-pulse   { 0% { transform: scale(1); opacity:0.5; } 50% { transform: scale(1.1); opacity:0.7; } 100% { transform: scale(1); opacity:0.5; } }
@keyframes de-book-tilt      { 0% { transform: rotate(8deg); } 50% { transform: rotate(6deg); } 100% { transform: rotate(8deg); } }

/* Scene: passion-weighs-in-balance (calm, bright interior) */
.scn-pw { background: linear-gradient(180deg, #f5f0e8 0%, #d8d0c0 50%, #b0a890 100%), radial-gradient(ellipse at 40% 60%, #fff8f0 0%, transparent 60%); }
.scn-pw .pw-bg { position:absolute; inset:0 0 10% 0; background: linear-gradient(180deg, #e8e0d0 0%, #d0c8b0 100%); }
.scn-pw .pw-table { position:absolute; bottom:10%; left:0; right:0; height:10%; background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); border-radius: 20% 20% 0 0; }
.scn-pw .pw-scale { position:absolute; bottom:20%; left:50%; width:80px; height:6px; transform:translateX(-50%); background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius:2px; }
.scn-pw .pw-scale::after { content:''; position:absolute; top:-15px; left:38px; width:4px; height:15px; background: #4a3a2a; }
.scn-pw .pw-pan-left { position:absolute; bottom:16%; left:38%; width:30px; height:8px; background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); border-radius:40% 40% 20% 20%; transform-origin: center top; animation: pw-sway 4s ease-in-out infinite; }
.scn-pw .pw-pan-right { position:absolute; bottom:16%; right:38%; width:30px; height:8px; background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); border-radius:40% 40% 20% 20%; transform-origin: center top; animation: pw-sway 4s ease-in-out infinite-reverse; }
.scn-pw .pw-flame { position:absolute; bottom:18%; left:36%; width:10px; height:14px; background: radial-gradient(circle, #ffe080 0%, #d09040 70%); border-radius:50%; box-shadow: 0 0 12px 4px rgba(255,224,128,.5); animation: pw-flame-flicker 0.8s ease-in-out infinite alternate; }
.scn-pw .pw-book { position:absolute; bottom:18%; right:36%; width:20px; height:14px; background: linear-gradient(135deg, #6a4a3a 0%, #4a2a1a 100%); border-radius:2px; transform:rotate(5deg); animation: pw-book-bob 6s ease-in-out infinite; }
@keyframes pw-sway          { 0% { transform: rotate(-8deg); } 50% { transform: rotate(8deg); } 100% { transform: rotate(-8deg); } }
@keyframes pw-flame-flicker { 0% { transform: scaleY(1) scaleX(1); opacity:0.9; box-shadow:0 0 10px 3px rgba(255,224,128,.4); } 50% { transform: scaleY(1.15) scaleX(0.9); opacity:1; box-shadow:0 0 18px 6px rgba(255,224,128,.7); } 100% { transform: scaleY(1) scaleX(1); opacity:0.9; box-shadow:0 0 12px 4px rgba(255,224,128,.5); } }
@keyframes pw-book-bob      { 0% { transform: translateY(0) rotate(5deg); } 50% { transform: translateY(-1px) rotate(7deg); } 100% { transform: translateY(0) rotate(5deg); } }

.scn-parents-continue-bringing-up { background: linear-gradient(180deg, #3a2212 0%, #1a1408 100%), radial-gradient(ellipse at 50% 100%, #7a4a2a 0%, transparent 70%); }
.scn-parents-continue-bringing-up .room { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%); }
.scn-parents-continue-bringing-up .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius:20% 20% 0 0; box-shadow: inset 0 8px 12px rgba(0,0,0,.5); }
.scn-parents-continue-bringing-up .window { position:absolute; top:20%; left:20%; width:30%; height:30%; background: radial-gradient(ellipse at center, #6a5a3a 0%, #2a1a0a 100%); border-radius:12% 12% 4% 4%; box-shadow: 0 0 20px 4px rgba(100,80,40,.3); }
.scn-parents-continue-bringing-up .parent { position:absolute; bottom:35%; left:35%; width:30px; height:60px; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: si1-parent 4s ease-in-out infinite; }
.scn-parents-continue-bringing-up .child { position:absolute; bottom:35%; left:50%; width:20px; height:40px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: si1-child 4s ease-in-out infinite 0.5s; }
.scn-parents-continue-bringing-up .candle { position:absolute; bottom:40%; left:30%; width:8px; height:14px; background: linear-gradient(180deg, #e0c080 0%, #b09050 100%); border-radius:2px; box-shadow: 0 0 10px 2px #b09050; animation: si1-candle 2s ease-in-out infinite alternate; }
.scn-parents-continue-bringing-up .glow { position:absolute; bottom:38%; left:28%; width:40px; height:40px; background: radial-gradient(circle, rgba(255,200,100,.6) 0%, transparent 70%); border-radius:50%; animation: si1-glow 3s ease-in-out infinite alternate; pointer-events:none; }
.scn-parents-continue-bringing-up .shadow { position:absolute; bottom:0; left:30%; width:80px; height:30px; background: rgba(0,0,0,.5); border-radius:50%; filter:blur(8px); animation: si1-shadow 4s ease-in-out infinite; }
@keyframes si1-parent { 0%{ transform: translateY(0) rotate(-1deg) } 50%{ transform: translateY(-2px) rotate(1deg) } 100%{ transform: translateY(0) rotate(-1deg) } }
@keyframes si1-child { 0%{ transform: translateY(0) scale(1) } 50%{ transform: translateY(-1px) scale(1.02) } 100%{ transform: translateY(0) scale(1) } }
@keyframes si1-candle { 0%{ transform: scaleY(1) opacity:.9 } 50%{ transform: scaleY(1.05) opacity:1 } 100%{ transform: scaleY(0.95) opacity:.85 } }
@keyframes si1-glow { 0%{ transform: scale(1) opacity:.6 } 50%{ transform: scale(1.2) opacity:.9 } 100%{ transform: scale(0.9) opacity:.5 } }
@keyframes si1-shadow { 0%{ transform: translateX(0) scale(1) } 50%{ transform: translateX(5px) scale(1.1) } 100%{ transform: translateX(0) scale(1) } }

.scn-danaus-heirs { background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 50%, #2a1a0a 100%), radial-gradient(ellipse at 20% 80%, #8a6a4a 0%, transparent 70%); }
.scn-danaus-heirs .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); animation: si2-sky 20s ease-in-out infinite alternate; }
.scn-danaus-heirs .ground { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius:30% 70% 0 0 / 50% 50% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,.4); }
.scn-danaus-heirs .figure-main { position:absolute; bottom:45%; left:25%; width:35px; height:70px; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: si2-main 6s ease-in-out infinite; }
.scn-danaus-heirs .figure-group { position:absolute; bottom:45%; left:45%; width:80px; height:90px; background: radial-gradient(ellipse at 50% 100%, #3a2a1a 0%, transparent 70%); border-radius:50%; animation: si2-group 8s ease-in-out infinite; }
.scn-danaus-heirs .tree { position:absolute; bottom:45%; left:75%; width:20px; height:80px; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius:20% 20% 10% 10%; transform-origin: bottom center; animation: si2-tree 10s ease-in-out infinite; }
.scn-danaus-heirs .path { position:absolute; bottom:20%; left:10%; width:50%; height:6px; background: #4a3a2a; border-radius:50%; filter:blur(3px); animation: si2-path 15s ease-in-out infinite; }
.scn-danaus-heirs .clouds { position:absolute; top:15%; left:5%; width:120px; height:30px; background: linear-gradient(90deg, rgba(100,80,60,.4) 0%, transparent 100%); border-radius:50%; filter:blur(10px); animation: si2-clouds 40s linear infinite; }
@keyframes si2-sky { 0%{ opacity:.8 } 50%{ opacity:1 } 100%{ opacity:.7 } }
@keyframes si2-main { 0%{ transform: translateY(0) rotate(-2deg) } 50%{ transform: translateY(-3px) rotate(0deg) } 100%{ transform: translateY(0) rotate(2deg) } }
@keyframes si2-group { 0%{ transform: scale(1) translateX(0) } 50%{ transform: scale(1.02) translateX(2px) } 100%{ transform: scale(1) translateX(0) } }
@keyframes si2-tree { 0%{ transform: rotate(-2deg) } 50%{ transform: rotate(1deg) } 100%{ transform: rotate(-2deg) } }
@keyframes si2-path { 0%{ transform: scaleX(1) opacity:.6 } 50%{ transform: scaleX(1.1) opacity:.8 } 100%{ transform: scaleX(1) opacity:.6 } }
@keyframes si2-clouds { 0%{ transform: translateX(-50px) } 100%{ transform: translateX(200px) } }

.scn-money-finds-friends { background: linear-gradient(180deg, #3a2212 0%, #1a1408 100%), radial-gradient(ellipse at 50% 60%, #8a6a3a 0%, transparent 70%); }
.scn-money-finds-friends .room { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%); }
.scn-money-finds-friends .table { position:absolute; bottom:22%; left:10%; width:80%; height:18%; background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%); border-radius:10% 10% 5% 5%; box-shadow: 0 6px 12px rgba(0,0,0,.6); }
.scn-money-finds-friends .host { position:absolute; bottom:30%; left:25%; width:40px; height:70px; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: si3-host 5s ease-in-out infinite; }
.scn-money-finds-friends .guest-left { position:absolute; bottom:28%; left:10%; width:35px; 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: si3-guest 5s ease-in-out infinite 1s; }
.scn-money-finds-friends .guest-right { position:absolute; bottom:28%; right:10%; width:35px; 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: si3-guest 5s ease-in-out infinite 2.5s; }
.scn-money-finds-friends .candelabra { position:absolute; bottom:40%; left:48%; width:12px; height:30px; background: linear-gradient(180deg, #c0a060 0%, #806030 100%); border-radius:4px; box-shadow: 0 0 12px 3px #a08040; animation: si3-candle 3s ease-in-out infinite alternate; }
.scn-money-finds-friends .wine { position:absolute; bottom:25%; left:45%; width:10px; height:15px; background: radial-gradient(circle, #a04030 0%, #602010 100%); border-radius:50%; box-shadow: 0 0 6px 2px #a04030; animation: si3-wine 4s ease-in-out infinite; }
.scn-money-finds-friends .glow { position:absolute; bottom:38%; left:46%; width:60px; height:60px; background: radial-gradient(circle, rgba(255,200,100,.5) 0%, transparent 70%); border-radius:50%; pointer-events:none; animation: si3-glow 3.5s ease-in-out infinite alternate; }
@keyframes si3-host { 0%{ transform: translateY(0) rotate(-1deg) } 50%{ transform: translateY(-2px) rotate(1deg) } 100%{ transform: translateY(0) rotate(-1deg) } }
@keyframes si3-guest { 0%{ transform: translateY(0) } 50%{ transform: translateY(-1px) } 100%{ transform: translateY(0) } }
@keyframes si3-candle { 0%{ transform: scaleY(1) opacity:.9 } 50%{ transform: scaleY(1.1) opacity:1 } 100%{ transform: scaleY(0.9) opacity:.8 } }
@keyframes si3-wine { 0%{ transform: translateY(0) scale(1) } 50%{ transform: translateY(-1px) scale(1.05) } 100%{ transform: translateY(0) scale(1) } }
@keyframes si3-glow { 0%{ transform: scale(1) opacity:.4 } 50%{ transform: scale(1.3) opacity:.7 } 100%{ transform: scale(0.9) opacity:.5 } }

.scn-natural-affection-obscured { background: linear-gradient(180deg, #1a2a2a 0%, #0a1a1a 100%), radial-gradient(ellipse at 50% 40%, #2a4a3a 0%, transparent 70%); }
.scn-natural-affection-obscured .room { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #1a2a2a 0%, #0a1a1a 100%); box-shadow: inset 0 0 30px rgba(0,0,0,.5); }
.scn-natural-affection-obscured .window-frame { position:absolute; top:10%; left:20%; width:60%; height:50%; border:8px solid #2a3a2a; background: transparent; border-radius:8px; box-shadow: inset 0 0 20px rgba(0,0,0,.4); }
.scn-natural-affection-obscured .garden { position:absolute; top:12%; left:22%; width:56%; height:46%; background: radial-gradient(ellipse at 50% 80%, #2a4a3a 0%, #0a1a1a 100%); border-radius:4px; overflow:hidden; }
.scn-natural-affection-obscured .vine { position:absolute; top:20%; left:40%; width:6px; height:60%; background: linear-gradient(180deg, #3a5a3a 0%, #1a2a1a 100%); border-radius:3px; transform-origin: top center; animation: si4-vine 20s ease-in-out infinite alternate; }
.scn-natural-affection-obscured .flower { position:absolute; top:25%; left:42%; width:10px; height:10px; background: radial-gradient(circle, #6a8a6a 0%, #3a5a3a 100%); border-radius:50%; animation: si4-flower 8s ease-in-out infinite; }
.scn-natural-affection-obscured .figure { position:absolute; bottom:30%; left:50%; width:30px; height:50px; background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: si4-figure 7s ease-in-out infinite; }
.scn-natural-affection-obscured .shadow { position:absolute; bottom:0; left:35%; width:80px; height:20px; background: rgba(0,0,0,.6); border-radius:50%; filter:blur(10px); animation: si4-shadow 7s ease-in-out infinite; }
@keyframes si4-vine { 0%{ transform: scaleY(1) } 50%{ transform: scaleY(1.1) } 100%{ transform: scaleY(0.9) } }
@keyframes si4-flower { 0%{ transform: scale(1) opacity:.8 } 50%{ transform: scale(1.2) opacity:1 } 100%{ transform: scale(0.9) opacity:.7 } }
@keyframes si4-figure { 0%{ transform: translateY(0) rotate(-1deg) } 50%{ transform: translateY(-2px) rotate(0deg) } 100%{ transform: translateY(0) rotate(1deg) } }
@keyframes si4-shadow { 0%{ transform: scaleX(1) opacity:.6 } 50%{ transform: scaleX(1.1) opacity:.8 } 100%{ transform: scaleX(1) opacity:.6 } }

.scn-bashfulness-modesty-vice {
  background: 
    linear-gradient(180deg, #2a1e14 0%, #1f1510 40%, #3a2a1e 100%),
    radial-gradient(ellipse at 30% 60%, #4a3620 0%, transparent 80%);
}
.scn-bashfulness-modesty-vice .wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(90deg, #3a2a1e 0%, #2a1e14 40%, #1f1510 100%); }
.scn-bashfulness-modesty-vice .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #1f1510 0%, #140e0a 100%); box-shadow: inset 0 20px 30px rgba(0,0,0,.6); }
.scn-bashfulness-modesty-vice .window { position:absolute; top:20%; left:65%; width:80px; height:100px; background: linear-gradient(180deg, #6a5a3e 0%, #4a3a2a 100%); border-radius:4px; box-shadow: inset 0 0 20px rgba(0,0,0,.5); }
.scn-bashfulness-modesty-vice .plant-stem { position:absolute; bottom:30%; left:50%; width:6px; height:80px; background: linear-gradient(180deg, #3a5a2a 0%, #2a3a1a 100%); border-radius:2px; transform-origin: bottom center; animation: bs1-stem 6s ease-in-out infinite alternate; }
.scn-bashfulness-modesty-vice .plant-leaf { position:absolute; width:40px; height:20px; background: linear-gradient(135deg, #4a6a3a 0%, #2a4a1a 100%); border-radius:50% 0 50% 0; transform-origin: left center; }
.scn-bashfulness-modesty-vice .leaf-a { bottom:45%; left:48%; animation: bs1-leaf-a 4s ease-in-out infinite; }
.scn-bashfulness-modesty-vice .leaf-b { bottom:38%; left:52%; animation: bs1-leaf-b 5s ease-in-out infinite; }
.scn-bashfulness-modesty-vice .shadow { position:absolute; bottom:30%; left:45%; width:120px; height:30px; background: radial-gradient(ellipse, rgba(0,0,0,.4) 0%, transparent 100%); filter: blur(8px); animation: bs1-shadow 8s ease-in-out infinite alternate; }
@keyframes bs1-stem { 0% { transform: rotate(-2deg) scaleY(1); } 50% { transform: rotate(2deg) scaleY(0.95); } 100% { transform: rotate(-1deg) scaleY(1); } }
@keyframes bs1-leaf-a { 0% { transform: rotate(0deg) scaleX(1); } 50% { transform: rotate(15deg) scaleX(0.9); } 100% { transform: rotate(0deg) scaleX(1); } }
@keyframes bs1-leaf-b { 0% { transform: rotate(-5deg) scaleX(1); } 50% { transform: rotate(10deg) scaleX(0.85); } 100% { transform: rotate(-5deg) scaleX(1); } }
@keyframes bs1-shadow { 0% { opacity:.5; transform: scaleX(1); } 50% { opacity:.8; transform: scaleX(1.1); } 100% { opacity:.5; transform: scaleX(1); } }

.scn-bashfulness-shamefacedness {
  background: 
    linear-gradient(180deg, #2a1e14 0%, #1f1510 40%, #3a2a1e 100%),
    radial-gradient(ellipse at 50% 30%, #4a3620 0%, transparent 70%);
}
.scn-bashfulness-shamefacedness .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(90deg, #2a1e14 0%, #1f1510 60%, #3a2a1e 100%); }
.scn-bashfulness-shamefacedness .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #1f1510 0%, #140e0a 100%); box-shadow: inset 0 10px 20px rgba(0,0,0,.5); }
.scn-bashfulness-shamefacedness .figure { position:absolute; bottom:25%; left:40%; width:30px; height:70px; background: linear-gradient(180deg, #2a1e14 0%, #140e0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: bs2-figure 8s ease-in-out infinite; }
.scn-bashfulness-shamefacedness .mirror { position:absolute; bottom:30%; left:55%; width:50px; height:60px; background: linear-gradient(135deg, #6a5a4a 0%, #4a3a2a 100%); border-radius:4px; box-shadow: inset 0 0 10px rgba(0,0,0,.4); animation: bs2-mirror 12s ease-in-out infinite alternate; }
.scn-bashfulness-shamefacedness .candle { position:absolute; bottom:28%; left:50%; width:8px; height:25px; background: linear-gradient(180deg, #c0a060 0%, #8a6a3a 100%); border-radius:2px; }
.scn-bashfulness-shamefacedness .candle::after { content:''; position:absolute; top:-10px; left:50%; width:6px; height:10px; background: radial-gradient(ellipse, #ffd060 0%, #c08040 70%, transparent 100%); transform:translateX(-50%); animation: bs2-flame 2s ease-in-out infinite alternate; }
.scn-bashfulness-shamefacedness .shadow { position:absolute; bottom:25%; left:35%; width:100px; height:20px; background: radial-gradient(ellipse, rgba(0,0,0,.3) 0%, transparent 100%); filter: blur(6px); animation: bs2-shadow 9s ease-in-out infinite alternate; }
@keyframes bs2-figure { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-8px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes bs2-mirror { 0% { opacity:.8; filter: brightness(0.9); } 50% { opacity:1; filter: brightness(1); } 100% { opacity:.8; filter: brightness(0.9); } }
@keyframes bs2-flame { 0% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(1.3) scaleX(0.8); } 100% { transform: translateX(-50%) scaleY(1); } }
@keyframes bs2-shadow { 0% { opacity:.4; transform: scaleX(1); } 50% { opacity:.7; transform: scaleX(1.2); } 100% { opacity:.4; transform: scaleX(1); } }

.scn-bashfulness-weakness-modesty {
  background: 
    linear-gradient(180deg, #2a1e14 0%, #1f1510 50%, #3a2a1e 100%),
    radial-gradient(ellipse at 40% 50%, #4a3620 0%, transparent 80%);
}
.scn-bashfulness-weakness-modesty .wall { position:absolute; inset:0 0 25% 0; background: linear-gradient(90deg, #1f1510 0%, #2a1e14 60%, #1f1510 100%); }
.scn-bashfulness-weakness-modesty .curtain-left { position:absolute; top:0; bottom:25%; left:0; width:30%; background: linear-gradient(135deg, #4a3a2a 0%, #2a1e14 100%); border-radius:0 40% 0 0; clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%); animation: bs3-curtain-l 10s ease-in-out infinite alternate; }
.scn-bashfulness-weakness-modesty .curtain-right { position:absolute; top:0; bottom:25%; right:0; width:30%; background: linear-gradient(225deg, #4a3a2a 0%, #2a1e14 100%); border-radius:40% 0 0 0; clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%); animation: bs3-curtain-r 10s ease-in-out infinite alternate; }
.scn-bashfulness-weakness-modesty .figure { position:absolute; bottom:20%; left:50%; width:24px; height:60px; background: linear-gradient(180deg, #2a1e14 0%, #1f1510 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform:translateX(-50%); animation: bs3-figure 7s ease-in-out infinite; }
.scn-bashfulness-weakness-modesty .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #1f1510 0%, #140e0a 100%); box-shadow: inset 0 10px 20px rgba(0,0,0,.5); }
.scn-bashfulness-weakness-modesty .glow { position:absolute; bottom:30%; left:50%; width:80px; height:80px; background: radial-gradient(circle, rgba(192,160,96,.15) 0%, transparent 100%); filter: blur(10px); transform:translateX(-50%); animation: bs3-glow 5s ease-in-out infinite alternate; }
@keyframes bs3-curtain-l { 0% { transform: translateX(0); } 50% { transform: translateX(-5px); } 100% { transform: translateX(0); } }
@keyframes bs3-curtain-r { 0% { transform: translateX(0); } 50% { transform: translateX(5px); } 100% { transform: translateX(0); } }
@keyframes bs3-figure { 0% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) translateY(-2px) rotate(1deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes bs3-glow { 0% { opacity:.3; transform: translateX(-50%) scale(0.8); } 50% { opacity:.6; transform: translateX(-50%) scale(1.1); } 100% { opacity:.3; transform: translateX(-50%) scale(0.8); } }

.scn-bashfulness-fear-censure {
  background: 
    linear-gradient(180deg, #1a1a2e 0%, #141420 50%, #2a2a3e 100%),
    radial-gradient(ellipse at 60% 40%, #2a2a4e 0%, transparent 70%);
}
.scn-bashfulness-fear-censure .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #141420 0%, #0e0e18 100%); box-shadow: inset 0 15px 25px rgba(0,0,0,.7); }
.scn-bashfulness-fear-censure .doorway { position:absolute; top:10%; right:20%; width:80px; height:130px; background: linear-gradient(180deg, #1e1e2e 0%, #141420 100%); border-radius:4px; box-shadow: inset 0 0 20px rgba(0,0,0,.6); }
.scn-bashfulness-fear-censure .light-beam { position:absolute; top:10%; right:20%; width:80px; height:130px; background: linear-gradient(135deg, rgba(200,180,140,.3) 0%, transparent 60%); clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); animation: bs4-beam 4s ease-in-out infinite alternate; }
.scn-bashfulness-fear-censure .figure { position:absolute; bottom:30%; left:40%; width:28px; height:65px; background: linear-gradient(180deg, #1a1a2e 0%, #0e0e18 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: bs4-figure 6s ease-in-out infinite; }
.scn-bashfulness-fear-censure .shadow { position:absolute; bottom:30%; left:35%; width:140px; height:25px; background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 100%); filter: blur(8px); animation: bs4-shadow 5s ease-in-out infinite alternate; }
.scn-bashfulness-fear-censure .chain { position:absolute; top:8%; left:50%; width:40px; height:8px; background: linear-gradient(90deg, #4a4a5a 0%, #2a2a3a 100%); border-radius:2px; filter: drop-shadow(0 2px 2px rgba(0,0,0,.5)); animation: bs4-chain 3s ease-in-out infinite; }
@keyframes bs4-beam { 0% { opacity:.2; } 50% { opacity:.6; } 100% { opacity:.2; } }
@keyframes bs4-figure { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-10px) rotate(-3deg) scaleY(0.95); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes bs4-shadow { 0% { opacity:.3; transform: scaleX(1); } 50% { opacity:.7; transform: scaleX(1.3); } 100% { opacity:.3; transform: scaleX(1); } }
@keyframes bs4-chain { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(3px) rotate(5deg); } 100% { transform: translateY(0) rotate(0deg); } }

/* Scene 1 – unreasonable-mourning (tense, dim interior) */
.scn-unreasonable-mourning {
  background:
    linear-gradient(180deg, #2a1f1a 0%, #1a1410 50%, #0f0b09 100%),
    radial-gradient(ellipse at 50% 100%, #3a2a20 0%, transparent 70%);
}
.scn-unreasonable-mourning .bg-urm {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a1f1a 0%, #1a1410 50%, #0f0b09 100%);
}
.scn-unreasonable-mourning .wall-left-urm {
  position: absolute; left: 0; top: 0; width: 20%; height: 100%;
  background: linear-gradient(180deg, #3d2d22 0%, #2a1e16 100%);
  border-right: 2px solid rgba(0,0,0,.3);
}
.scn-unreasonable-mourning .wall-right-urm {
  position: absolute; right: 0; top: 0; width: 20%; height: 100%;
  background: linear-gradient(180deg, #3d2d22 0%, #2a1e16 100%);
  border-left: 2px solid rgba(0,0,0,.3);
}
.scn-unreasonable-mourning .floor-urm {
  position: absolute; bottom: 0; height: 30%; left: 0; right: 0;
  background: linear-gradient(0deg, #1e1612 0%, #2a1e16 100%);
}
.scn-unreasonable-mourning .window-urm {
  position: absolute; top: 20%; left: 50%; transform: translateX(-50%);
  width: 40%; height: 40%;
  background: linear-gradient(180deg, rgba(80,100,120,.15), rgba(40,50,60,.05));
  border: 3px solid #3d2d22; border-radius: 2px;
  animation: urm-window 10s ease-in-out infinite alternate;
}
.scn-unreasonable-mourning .figure-urm {
  position: absolute; bottom: 25%; left: 30%;
  width: 30px; height: 40px;
  background: linear-gradient(180deg, #1a1410 0%, #0f0b09 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: urm-figure 6s ease-in-out infinite;
}
.scn-unreasonable-mourning .candle-urm {
  position: absolute; bottom: 35%; left: 20%;
  width: 6px; height: 20px;
  background: linear-gradient(180deg, #e8c080 0%, #b08040 100%);
  border-radius: 2px;
  animation: urm-candle 3s ease-in-out infinite alternate;
}
.scn-unreasonable-mourning .glow-urm {
  position: absolute; bottom: 35%; left: 20%;
  width: 40px; height: 40px;
  background: radial-gradient(circle, #f0c068 0%, rgba(240,192,104,0) 70%);
  border-radius: 50%;
  pointer-events: none;
  animation: urm-glow 3s ease-in-out infinite alternate;
}
@keyframes urm-window {
  0% { opacity: 0.1; }
  50% { opacity: 0.2; background: linear-gradient(180deg, rgba(100,120,140,.2), rgba(60,70,80,.05)); }
  100% { opacity: 0.15; }
}
@keyframes urm-figure {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-2px) rotate(3deg); }
  60% { transform: translateY(1px) rotate(-2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes urm-candle {
  0% { transform: scaleY(1); opacity: 0.9; }
  50% { transform: scaleY(1.05); opacity: 1; }
  100% { transform: scaleY(0.95); opacity: 0.85; }
}
@keyframes urm-glow {
  0% { transform: scale(0.9); opacity: 0.6; }
  50% { transform: scale(1.1); opacity: 0.8; }
  100% { transform: scale(0.95); opacity: 0.7; }
}

/* Scene 2 – wife-fortitude-examples (warm, bright interior) */
.scn-wife-fortitude-examples {
  background:
    linear-gradient(180deg, #fdf5e6 0%, #f5e6ca 40%, #e6d3b8 100%),
    radial-gradient(ellipse at 50% 100%, #f0e0c0 0%, transparent 70%);
}
.scn-wife-fortitude-examples .bg-wef {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #fdf5e6 0%, #f5e6ca 40%, #e6d3b8 100%);
}
.scn-wife-fortitude-examples .wall-left-wef {
  position: absolute; left: 0; top: 0; width: 15%; height: 100%;
  background: linear-gradient(180deg, #d4b896 0%, #c4a884 100%);
  border-right: 1px solid rgba(0,0,0,.1);
}
.scn-wife-fortitude-examples .wall-right-wef {
  position: absolute; right: 0; top: 0; width: 15%; height: 100%;
  background: linear-gradient(180deg, #d4b896 0%, #c4a884 100%);
  border-left: 1px solid rgba(0,0,0,.1);
}
.scn-wife-fortitude-examples .floor-wef {
  position: absolute; bottom: 0; height: 20%; left: 0; right: 0;
  background: linear-gradient(0deg, #c4a884 0%, #d4b896 100%);
}
.scn-wife-fortitude-examples .window-wef {
  position: absolute; left: 50%; top: 15%; transform: translateX(-50%);
  width: 35%; height: 45%;
  background: linear-gradient(135deg, #87ceeb 0%, #b0e0e6 100%);
  border: 4px solid #a08060; border-radius: 3px;
  animation: wef-window 15s ease-in-out infinite alternate;
}
.scn-wife-fortitude-examples .table-wef {
  position: absolute; bottom: 20%; left: 25%; width: 40%; height: 8%;
  background: linear-gradient(180deg, #a08060 0%, #806040 100%);
  border-radius: 2px;
}
.scn-wife-fortitude-examples .chair-wef {
  position: absolute; bottom: 20%; left: 40%;
  width: 20px; height: 40px;
  background: linear-gradient(180deg, #806040 0%, #604020 100%);
  border-radius: 4px 4px 6px 6px;
  animation: wef-chair 8s ease-in-out infinite alternate;
}
.scn-wife-fortitude-examples .figure-wef {
  position: absolute; bottom: 20%; left: 42%;
  width: 22px; height: 45px;
  background: linear-gradient(180deg, #6a5040 0%, #4a3020 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wef-figure 10s ease-in-out infinite;
}
.scn-wife-fortitude-examples .sunlight-wef {
  position: absolute; top: 30%; left: 10%; width: 80%; height: 70%;
  background: linear-gradient(135deg, rgba(255,255,200,.2) 0%, transparent 50%);
  pointer-events: none;
  animation: wef-sunlight 20s ease-in-out infinite alternate;
}
@keyframes wef-window {
  0% { background: linear-gradient(135deg, #87ceeb 0%, #b0e0e6 100%); }
  50% { background: linear-gradient(135deg, #b0e0e6 0%, #c8e6f0 100%); }
  100% { background: linear-gradient(135deg, #a0d4ee 0%, #b8e2f2 100%); }
}
@keyframes wef-chair {
  0% { transform: rotate(-1deg) translateY(0); }
  50% { transform: rotate(1deg) translateY(1px); }
  100% { transform: rotate(-1deg) translateY(0); }
}
@keyframes wef-figure {
  0% { transform: translateY(0) rotate(0deg); }
  40% { transform: translateY(-1px) rotate(2deg); }
  80% { transform: translateY(0) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes wef-sunlight {
  0% { opacity: 0.3; transform: scale(1) translate(0,0); }
  50% { opacity: 0.5; transform: scale(1.05) translate(5px,-3px); }
  100% { opacity: 0.35; transform: scale(1) translate(0,0); }
}

/* Scene 3 – household-quiet-after-death (calm, dim interior) */
.scn-household-quiet-after-death {
  background:
    linear-gradient(180deg, #1c1e2e 0%, #2a2c40 40%, #1a1c2a 100%),
    radial-gradient(ellipse at 50% 30%, #3a3c54 0%, transparent 70%);
}
.scn-household-quiet-after-death .bg-hqd {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1c1e2e 0%, #2a2c40 40%, #1a1c2a 100%);
}
.scn-household-quiet-after-death .wall-left-hqd {
  position: absolute; left: 0; top: 0; width: 10%; height: 100%;
  background: linear-gradient(180deg, #2a2c40 0%, #1c1e2e 100%);
}
.scn-household-quiet-after-death .wall-right-hqd {
  position: absolute; right: 0; top: 0; width: 10%; height: 100%;
  background: linear-gradient(180deg, #2a2c40 0%, #1c1e2e 100%);
}
.scn-household-quiet-after-death .floor-hqd {
  position: absolute; bottom: 0; height: 25%; left: 0; right: 0;
  background: linear-gradient(0deg, #101220 0%, #1a1c2a 100%);
}
.scn-household-quiet-after-death .chair-empty-hqd {
  position: absolute; bottom: 20%; left: 40%;
  width: 18px; height: 30px;
  background: linear-gradient(180deg, #4a4c64 0%, #2a2c40 100%);
  border-radius: 4px;
  animation: hqd-chair 12s ease-in-out infinite alternate;
}
.scn-household-quiet-after-death .lamp-hqd {
  position: absolute; bottom: 35%; left: 20%;
  width: 10px; height: 20px;
  background: linear-gradient(180deg, #c0a060 0%, #806040 100%);
  border-radius: 2px;
  animation: hqd-lamp 8s ease-in-out infinite alternate;
}
.scn-household-quiet-after-death .window-cold-hqd {
  position: absolute; left: 20%; top: 20%; width: 30%; height: 30%;
  background: linear-gradient(180deg, #3c4058 0%, #2c3048 100%);
  border: 3px solid #4a4c64; border-radius: 3px;
  animation: hqd-window 20s ease-in-out infinite alternate;
}
.scn-household-quiet-after-death .figure-sitting-hqd {
  position: absolute; bottom: 20%; left: 40%;
  width: 18px; height: 25px;
  background: linear-gradient(180deg, #101220 0%, #0a0c18 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: hqd-figure 15s ease-in-out infinite;
}
@keyframes hqd-chair {
  0% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(1deg) translateY(1px); }
  100% { transform: rotate(0deg) translateY(0); }
}
@keyframes hqd-lamp {
  0% { opacity: 0.6; transform: scaleY(1); }
  50% { opacity: 0.8; transform: scaleY(1.03); }
  100% { opacity: 0.65; transform: scaleY(1); }
}
@keyframes hqd-window {
  0% { opacity: 0.4; background: linear-gradient(180deg, #3c4058 0%, #2c3048 100%); }
  50% { opacity: 0.5; background: linear-gradient(180deg, #4c5068 0%, #3c4058 100%); }
  100% { opacity: 0.45; background: linear-gradient(180deg, #3c4058 0%, #2c3048 100%); }
}
@keyframes hqd-figure {
  0% { transform: scaleY(1) rotate(0deg); }
  50% { transform: scaleY(1.02) rotate(0.5deg); }
  100% { transform: scaleY(1) rotate(0deg); }
}

/* Scene 4 – mothers-playthings-then-grief (tense, dim interior) */
.scn-mothers-playthings-then-grief {
  background:
    linear-gradient(180deg, #1a1215 0%, #2a1a1e 40%, #0f0a0c 100%),
    radial-gradient(ellipse at 50% 30%, #3a2028 0%, transparent 70%);
}
.scn-mothers-playthings-then-grief .bg-mtg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1a1215 0%, #2a1a1e 40%, #0f0a0c 100%);
}
.scn-mothers-playthings-then-grief .wall-left-mtg {
  position: absolute; left: 0; top: 0; width: 20%; height: 100%;
  background: linear-gradient(180deg, #2a1a1e 0%, #1a1215 100%);
}
.scn-mothers-playthings-then-grief .wall-right-mtg {
  position: absolute; right: 0; top: 0; width: 20%; height: 100%;
  background: linear-gradient(180deg, #2a1a1e 0%, #1a1215 100%);
}
.scn-mothers-playthings-then-grief .floor-mtg {
  position: absolute; bottom: 0; height: 30%; left: 0; right: 0;
  background: linear-gradient(0deg, #0f0a0c 0%, #1a1215 100%);
}
.scn-mothers-playthings-then-grief .figure-mother-mtg {
  position: absolute; bottom: 25%; left: 35%;
  width: 30px; height: 50px;
  background: linear-gradient(180deg, #201a1e 0%, #0f0a0c 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mtg-mother 5s ease-in-out infinite;
}
.scn-mothers-playthings-then-grief .figure-child-mtg {
  position: absolute; bottom: 25%; left: 45%;
  width: 15px; height: 20px;
  background: linear-gradient(180deg, #2a1a1e 0%, #1a1215 100%);
  border-radius: 50% 50% 30% 30% / 50% 50% 30% 30%;
  animation: mtg-child 3s ease-in-out infinite;
}
.scn-mothers-playthings-then-grief .toy-a-mtg {
  position: absolute; bottom: 30%; left: 25%;
  width: 10px; height: 10px;
  background: #704030;
  clip-path: polygon(50% 0, 100% 30%, 80% 100%, 20% 100%, 0 30%);
  animation: mtg-toy-a 4s ease-in-out infinite;
}
.scn-mothers-playthings-then-grief .toy-b-mtg {
  position: absolute; bottom: 30%; left: 55%;
  width: 8px; height: 8px;
  background: #806050;
  clip-path: circle(50% at 50% 50%);
  animation: mtg-toy-b 5s ease-in-out infinite alternate;
}
.scn-mothers-playthings-then-grief .lamp-mtg {
  position: absolute; bottom: 35%; right: 20%;
  width: 8px; height: 15px;
  background: linear-gradient(180deg, #e0a060 0%, #a06030 100%);
  border-radius: 2px;
  animation: mtg-lamp 2s ease-in-out infinite alternate;
}
.scn-mothers-playthings-then-grief .glow-mtg {
  position: absolute; bottom: 35%; right: 20%;
  width: 50px; height: 50px;
  background: radial-gradient(circle, rgba(224,160,96,.8) 0%, rgba(224,160,96,0) 70%);
  border-radius: 50%;
  pointer-events: none;
  animation: mtg-glow 2s ease-in-out infinite alternate;
}
@keyframes mtg-mother {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-2px) rotate(4deg); }
  60% { transform: translateY(1px) rotate(-3deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes mtg-child {
  0% { transform: translateX(0) rotate(0deg); }
  40% { transform: translateX(2px) rotate(5deg); }
  80% { transform: translateX(-1px) rotate(-3deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes mtg-toy-a {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-3px) rotate(10deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes mtg-toy-b {
  0% { transform: translateX(0) rotate(0deg); }
  100% { transform: translateX(5px) rotate(20deg); }
}
@keyframes mtg-lamp {
  0% { opacity: 0.7; transform: scaleY(1); }
  100% { opacity: 0.9; transform: scaleY(1.1); }
}
@keyframes mtg-glow {
  0% { opacity: 0.4; transform: scale(0.9); }
  100% { opacity: 0.7; transform: scale(1.1); }
}

/* Scene 1: curiosity-natures-secrets – overcast calm */
.scn-curiosity-natures-secrets {
  background: linear-gradient(180deg, #b8c8d4 0%, #8a9ba8 40%, #6b7d8a 100%),
              radial-gradient(ellipse at 50% 100%, #7a8b98 0%, transparent 70%);
}
.scn-curiosity-natures-secrets .bg-overcast {
  position: absolute; inset: 0; background: linear-gradient(180deg, rgba(190,200,210,.3) 0%, transparent 60%);
  animation: ns-cloud 20s ease-in-out infinite alternate;
}
.scn-curiosity-natures-secrets .window-pane {
  position: absolute; top: 10%; left: 30%; width: 40%; height: 50%;
  background: rgba(220,230,240,.2); border: 2px solid rgba(150,160,170,.4); border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(200,210,220,.1); animation: ns-pane 8s ease-in-out infinite alternate;
}
.scn-curiosity-natures-secrets .pot {
  position: absolute; bottom: 20%; left: 50%; width: 60px; height: 50px;
  transform: translateX(-50%); background: linear-gradient(180deg, #a08060 0%, #7a5f45 100%);
  border-radius: 8% 8% 12% 12%; box-shadow: 0 4px 8px rgba(0,0,0,.3);
}
.scn-curiosity-natures-secrets .stem {
  position: absolute; bottom: calc(20% + 50px); left: 50%; width: 6px; height: 60px;
  transform: translateX(-50%); background: linear-gradient(180deg, #4a6a3a 0%, #2d4a1e 100%);
  border-radius: 3px; animation: ns-sway 6s ease-in-out infinite;
}
.scn-curiosity-natures-secrets .leaf {
  position: absolute; width: 30px; height: 18px;
  background: linear-gradient(135deg, #5a8a4a 0%, #3a6a2a 100%);
  border-radius: 50% 50% 50% 0 / 60% 60% 40% 0; transform-origin: bottom center;
}
.scn-curiosity-natures-secrets .left-leaf {
  bottom: calc(20% + 70px); left: calc(50% - 20px);
  transform: rotate(-30deg); animation: ns-leaf 7s ease-in-out infinite;
}
.scn-curiosity-natures-secrets .right-leaf {
  bottom: calc(20% + 50px); left: calc(50% + 10px);
  transform: rotate(20deg); animation: ns-leaf 7s ease-in-out infinite reverse;
}
.scn-curiosity-natures-secrets .bloom {
  position: absolute; bottom: calc(20% + 110px); left: 50%; width: 20px; height: 20px;
  transform: translateX(-50%); background: radial-gradient(circle, #e8d0b0 0%, #c8a878 60%, #a08060 100%);
  border-radius: 50%; box-shadow: 0 0 12px 2px rgba(200,168,120,.3);
  animation: ns-bloom 10s ease-in-out infinite alternate;
}
.scn-curiosity-natures-secrets .soft-light {
  position: absolute; top: 5%; left: 25%; width: 50%; height: 40%;
  background: radial-gradient(ellipse at 50% 0%, rgba(240,248,255,.15) 0%, transparent 70%);
  opacity: .6; animation: ns-glow 12s ease-in-out infinite alternate;
}
@keyframes ns-cloud { 0% { opacity: .4 } 100% { opacity: .7 } }
@keyframes ns-pane { 0% { opacity: .3 } 50% { opacity: .6 } 100% { opacity: .4 } }
@keyframes ns-sway { 0%,100% { transform: translateX(-50%) rotate(-1deg) } 50% { transform: translateX(-50%) rotate(2deg) } }
@keyframes ns-leaf { 0% { transform: rotate(-30deg) scaleY(1) } 50% { transform: rotate(-20deg) scaleY(1.05) } 100% { transform: rotate(-30deg) scaleY(1) } }
@keyframes ns-bloom { 0% { transform: translateX(-50%) scale(1) } 50% { transform: translateX(-50%) scale(1.1) } 100% { transform: translateX(-50%) scale(.95) } }
@keyframes ns-glow { 0% { opacity: .3 } 50% { opacity: .6 } 100% { opacity: .4 } }

/* Scene 2: curiosity-plant-shapes – sunlit calm */
.scn-curiosity-plant-shapes {
  background: linear-gradient(180deg, #f5e6c8 0%, #e8d5a8 40%, #d4b880 100%),
              radial-gradient(ellipse at 50% 0%, #fff8e0 0%, transparent 60%);
}
.scn-curiosity-plant-shapes .table {
  position: absolute; bottom: 15%; left: 5%; right: 5%; height: 12%;
  background: linear-gradient(180deg, #b89a70 0%, #8a7050 100%);
  border-radius: 4px; box-shadow: 0 8px 20px rgba(0,0,0,.2);
}
.scn-curiosity-plant-shapes .fruit-oblong {
  position: absolute; bottom: calc(15% + 12%); left: 20%; width: 22px; height: 46px;
  background: linear-gradient(180deg, #d4a050 0%, #b08030 100%);
  border-radius: 30% 30% 30% 30% / 40% 40% 40% 40%; box-shadow: 0 4px 8px rgba(0,0,0,.15);
  animation: ps-bob 5s ease-in-out infinite alternate;
}
.scn-curiosity-plant-shapes .fruit-round {
  position: absolute; bottom: calc(15% + 12% + 10px); left: 35%; width: 40px; height: 40px;
  background: radial-gradient(circle at 30% 30%, #e8b060 0%, #c88840 100%);
  border-radius: 50%; box-shadow: 0 4px 8px rgba(0,0,0,.15);
  animation: ps-bob 6s ease-in-out infinite alternate-reverse;
}
.scn-curiosity-plant-shapes .fruit-angular {
  position: absolute; bottom: calc(15% + 12% + 5px); left: 55%; width: 36px; height: 36px;
  background: linear-gradient(135deg, #c8a060 0%, #a08040 100%);
  border-radius: 10% 30% 10% 30%; box-shadow: 0 4px 8px rgba(0,0,0,.15);
  transform: rotate(15deg); animation: ps-spin 8s ease-in-out infinite;
}
.scn-curiosity-plant-shapes .sunbeam {
  position: absolute; top: 0; left: 30%; width: 20%; height: 80%;
  background: linear-gradient(180deg, rgba(255,240,200,.2) 0%, transparent 100%);
  clip-path: polygon(40% 0%, 60% 0%, 70% 100%, 30% 100%);
  animation: ps-beam 12s ease-in-out infinite alternate;
}
.scn-curiosity-plant-shapes .shadow-cast {
  position: absolute; bottom: 15%; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.1) 100%);
  border-radius: 50% 50% 0 0; animation: ps-shadow 10s ease-in-out infinite alternate;
}
.scn-curiosity-plant-shapes .leaf-accent {
  position: absolute; bottom: calc(15% + 12% + 10px); left: 70%; width: 20px; height: 12px;
  background: linear-gradient(135deg, #6a9a4a 0%, #4a7a2a 100%);
  border-radius: 50% 0 50% 0; transform: rotate(-40deg);
  animation: ps-leaf 7s ease-in-out infinite alternate;
}
@keyframes ps-bob { 0% { transform: translateY(0) } 100% { transform: translateY(-4px) } }
@keyframes ps-spin { 0% { transform: rotate(15deg) } 50% { transform: rotate(20deg) } 100% { transform: rotate(15deg) } }
@keyframes ps-beam { 0% { opacity: .3 } 50% { opacity: .6 } 100% { opacity: .4 } }
@keyframes ps-shadow { 0% { opacity: .2 } 100% { opacity: .4 } }
@keyframes ps-leaf { 0% { transform: rotate(-40deg) scaleX(1) } 100% { transform: rotate(-30deg) scaleX(1.1) } }

/* Scene 3: curiosity-history-misery – dark dim interior */
.scn-curiosity-history-misery {
  background: linear-gradient(180deg, #1a1a2e 0%, #0f0f1f 50%, #050510 100%),
              radial-gradient(ellipse at 50% 100%, #1e1e3e 0%, transparent 70%);
}
.scn-curiosity-history-misery .wall-dark {
  position: absolute; inset: 0; background: linear-gradient(180deg, #222238 0%, #121228 100%);
  animation: hm-wall 15s ease-in-out infinite alternate;
}
.scn-curiosity-history-misery .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,.6);
}
.scn-curiosity-history-misery .chair {
  position: absolute; bottom: 20%; left: 30%; width: 60px; height: 80px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 4px 4px 8px 8px; box-shadow: 0 4px 12px rgba(0,0,0,.5);
  animation: hm-chair 10s ease-in-out infinite alternate;
}
.scn-curiosity-history-misery .figure-hunched {
  position: absolute; bottom: 20%; left: 38%; width: 24px; height: 40px;
  background: linear-gradient(180deg, #2a2a3e 0%, #0e0e1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: hm-figure 6s ease-in-out infinite;
}
.scn-curiosity-history-misery .candle {
  position: absolute; bottom: 25%; left: 55%; width: 8px; height: 30px;
  background: linear-gradient(180deg, #c8a878 0%, #8a6a4a 100%);
  border-radius: 2px; box-shadow: 0 0 6px rgba(200,168,120,.3);
}
.scn-curiosity-history-misery .candle-glow {
  position: absolute; bottom: 25%; left: 55%; width: 40px; height: 40px;
  transform: translate(-50%, -50%); background: radial-gradient(circle, rgba(255,200,150,.25) 0%, transparent 60%);
  border-radius: 50%; animation: hm-glow 3s ease-in-out infinite alternate;
}
.scn-curiosity-history-misery .book {
  position: absolute; bottom: 20%; left: 48%; width: 30px; height: 20px;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a1a00 100%);
  border-radius: 2px; transform: rotate(-5deg); box-shadow: 0 2px 4px rgba(0,0,0,.4);
  animation: hm-book 9s ease-in-out infinite alternate;
}
@keyframes hm-wall { 0% { opacity: .8 } 50% { opacity: .9 } 100% { opacity: .7 } }
@keyframes hm-chair { 0% { transform: translateX(0) } 50% { transform: translateX(2px) } 100% { transform: translateX(0) } }
@keyframes hm-figure { 0%,100% { transform: translateX(0) rotate(-2deg) } 50% { transform: translateX(3px) rotate(2deg) } }
@keyframes hm-glow { 0% { transform: translate(-50%, -50%) scale(1); opacity: .7 } 50% { transform: translate(-50%, -50%) scale(1.2); opacity: 1 } 100% { transform: translate(-50%, -50%) scale(1); opacity: .8 } }
@keyframes hm-book { 0% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(-3deg) translateY(-2px) } 100% { transform: rotate(-5deg) translateY(0) } }

/* Scene 4: curiosity-fresh-evils – dark dim interior with stage */
.scn-curiosity-fresh-evils {
  background: linear-gradient(180deg, #12121e 0%, #080812 50%, #020208 100%),
              radial-gradient(ellipse at 50% 30%, #1e1e30 0%, transparent 60%);
}
.scn-curiosity-fresh-evils .backdrop {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a14 100%);
  animation: fe-backdrop 20s ease-in-out infinite alternate;
}
.scn-curiosity-fresh-evils .curtain {
  position: absolute; top: 0; bottom: 0; width: 20%; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 0 30% 30% 0 / 0 40% 40% 0; box-shadow: inset -8px 0 20px rgba(0,0,0,.5);
}
.scn-curiosity-fresh-evils .left-curtain { left: 0; animation: fe-curtainL 15s ease-in-out infinite alternate; }
.scn-curiosity-fresh-evils .right-curtain { right: 0; transform: scaleX(-1); animation: fe-curtainR 15s ease-in-out infinite alternate; }
.scn-curiosity-fresh-evils .stage {
  position: absolute; bottom: 10%; left: 20%; right: 20%; height: 15%;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1010 100%);
  border-radius: 8px 8px 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,.6);
}
.scn-curiosity-fresh-evils .spotlight {
  position: absolute; top: 5%; left: 35%; width: 30%; height: 60%;
  background: linear-gradient(180deg, rgba(240,220,200,.15) 0%, transparent 100%);
  clip-path: polygon(35% 0%, 65% 0%, 75% 100%, 25% 100%);
  animation: fe-spot 8s ease-in-out infinite alternate;
}
.scn-curiosity-fresh-evils .prop-goblet {
  position: absolute; bottom: calc(10% + 15% + 2px); left: 50%; width: 18px; height: 28px;
  transform: translateX(-50%); background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 20% 20%; box-shadow: 0 0 8px rgba(200,180,150,.2);
  animation: fe-goblet 7s ease-in-out infinite alternate;
}
.scn-curiosity-fresh-evils .prop-smoke {
  position: absolute; bottom: calc(10% + 15% + 30px); left: 50%; width: 30px; height: 20px;
  transform: translateX(-50%); background: radial-gradient(ellipse, rgba(200,200,200,.1) 0%, transparent 70%);
  border-radius: 50%; filter: blur(4px); animation: fe-smoke 12s linear infinite alternate;
}
@keyframes fe-backdrop { 0% { opacity: .7 } 50% { opacity: .9 } 100% { opacity: .8 } }
@keyframes fe-curtainL { 0% { transform: translateX(0) } 50% { transform: translateX(5px) } 100% { transform: translateX(0) } }
@keyframes fe-curtainR { 0% { transform: scaleX(-1) translateX(0) } 50% { transform: scaleX(-1) translateX(5px) } 100% { transform: scaleX(-1) translateX(0) } }
@keyframes fe-spot { 0% { opacity: .2 } 50% { opacity: .5 } 100% { opacity: .3 } }
@keyframes fe-goblet { 0% { transform: translateX(-50%) translateY(0) rotate(-2deg) } 50% { transform: translateX(-50%) translateY(-2px) rotate(2deg) } 100% { transform: translateX(-50%) translateY(0) rotate(-2deg) } }
@keyframes fe-smoke { 0% { transform: translateX(-50%) translateY(0) scale(1); opacity: .1 } 100% { transform: translateX(-50%) translateY(-10px) scale(1.5); opacity: 0 } }

.scn-need-to-utter {
  background: linear-gradient(180deg, #c8b78e 0%, #a38b6c 40%, #7a654a 100%),
              radial-gradient(ellipse at 30% 20%, #eeddbb 0%, transparent 70%);
}
.scn-need-to-utter .room-wall { position:absolute; inset:0; background: linear-gradient(135deg, #b89a7a 0%, #8d7455 100%); }
.scn-need-to-utter .window-frame { position:absolute; top:8%; left:15%; width:35%; height:55%; background: #c0a882; border:8px solid #6b5a42; border-radius:4px; box-shadow: inset 0 0 30px rgba(255,235,190,0.3); }
.scn-need-to-utter .desk { position:absolute; bottom:10%; left:5%; right:5%; height:18%; background: linear-gradient(180deg, #6a4e34 0%, #503c28 100%); border-radius: 4px; box-shadow: 0 -4px 8px rgba(0,0,0,0.4); }
.scn-need-to-utter .candle { position:absolute; bottom:26%; left:20%; width:4%; height:12%; background: linear-gradient(180deg, #f5e0c0 0%, #b38a5e 100%); border-radius: 4px; transform-origin: bottom center; animation: nu-candle 3s ease-in-out infinite alternate; }
.scn-need-to-utter .figure-scribe { position:absolute; bottom:10%; left:50%; width:12%; height:30%; background: linear-gradient(180deg, #3d3328 0%, #261e16 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: translateX(-50%); animation: nu-scribe 6s ease-in-out infinite; }
.scn-need-to-utter .book { position:absolute; bottom:24%; left:35%; width:10%; height:6%; background: linear-gradient(135deg, #7a5a3a 0%, #5a4028 100%); border-radius: 2px; transform: rotate(-5deg); }
.scn-need-to-utter .dust-motes { position:absolute; top:20%; left:20%; width:60%; height:60%; background: radial-gradient(circle at 30% 40%, rgba(255,240,200,0.15) 0%, transparent 70%); filter: blur(4px); animation: nu-dust 20s linear infinite; }

@keyframes nu-candle { 0% { transform: scaleY(1) rotate(0deg); opacity:0.9; } 50% { transform: scaleY(1.02) rotate(0.5deg); opacity:1; } 100% { transform: scaleY(0.98) rotate(-0.5deg); opacity:0.85; } }
@keyframes nu-scribe { 0% { transform: translateX(-50%) translateY(0) rotate(0deg); } 30% { transform: translateX(-49%) translateY(-1px) rotate(1deg); } 70% { transform: translateX(-51%) translateY(-1px) rotate(-1deg); } 100% { transform: translateX(-50%) translateY(0) rotate(0deg); } }
@keyframes nu-dust { 0% { transform: translate(0,0); opacity:0.3; } 25% { transform: translate(10px,-5px); opacity:0.5; } 50% { transform: translate(20px,0); opacity:0.2; } 75% { transform: translate(10px,5px); opacity:0.4; } 100% { transform: translate(0,0); opacity:0.3; } }

.scn-villainous-ring {
  background: linear-gradient(180deg, #1f1c1a 0%, #2b2420 40%, #1a1513 100%),
              radial-gradient(ellipse at 60% 50%, #2f2a26 0%, transparent 70%);
}
.scn-villainous-ring .vault-wall { position:absolute; inset:0; background: linear-gradient(180deg, #2d2622 0%, #1c1714 100%); }
.scn-villainous-ring .table { position:absolute; bottom:15%; left:5%; right:5%; height:12%; background: linear-gradient(180deg, #3a2e28 0%, #251e1a 100%); border-radius: 8px; box-shadow: 0 -6px 12px rgba(0,0,0,0.6); }
.scn-villainous-ring .ring-hand { position:absolute; bottom:20%; left:45%; width:8%; height:18%; background: linear-gradient(180deg, #4a3a30 0%, #2a1e1a 100%); border-radius: 20% 20% 40% 40% / 30% 30% 50% 50%; transform-origin: bottom center; animation: vr-hand 5s ease-in-out infinite; }
.scn-villainous-ring .shadow-figure { position:absolute; bottom:10%; left:30%; width:15%; height:40%; background: linear-gradient(180deg, #0d0b0a 0%, #050404 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform: translateX(-50%); animation: vr-figure 8s ease-in-out infinite; }
.scn-villainous-ring .lamp { position:absolute; top:5%; right:10%; width:5%; height:10%; background: radial-gradient(circle, #6a4a2a 0%, #3a2210 70%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 40px 10px rgba(100,60,20,0.6); animation: vr-lamp 4s ease-in-out infinite alternate; }
.scn-villainous-ring .coin-pile { position:absolute; bottom:14%; left:20%; width:12%; height:6%; background: radial-gradient(ellipse at 50% 50%, #8a6a3a 0%, #4a3018 100%); border-radius: 80% 80% 20% 20%; box-shadow: inset 0 -2px 4px rgba(0,0,0,0.5); }
.scn-villainous-ring .drip { position:absolute; top:30%; left:50%; width:2%; height:10%; background: linear-gradient(180deg, transparent 0%, rgba(100,50,20,0.4) 50%, transparent 100%); border-radius: 50%; transform: translateX(-50%); animation: vr-drip 3s ease-in-out infinite; }

@keyframes vr-hand { 0% { transform: rotate(-5deg) translateY(0); } 30% { transform: rotate(3deg) translateY(-2px); } 60% { transform: rotate(-2deg) translateY(0); } 100% { transform: rotate(5deg) translateY(-1px); } }
@keyframes vr-figure { 0% { transform: translateX(-50%) scale(1) rotate(0deg); } 25% { transform: translateX(-48%) scale(1.02) rotate(1deg); } 50% { transform: translateX(-52%) scale(0.98) rotate(-1deg); } 75% { transform: translateX(-49%) scale(1.01) rotate(0.5deg); } 100% { transform: translateX(-50%) scale(1) rotate(0deg); } }
@keyframes vr-lamp { 0% { opacity:0.7; transform: scale(1); } 50% { opacity:1; transform: scale(1.05); } 100% { opacity:0.6; transform: scale(0.95); } }
@keyframes vr-drip { 0% { transform: translateX(-50%) translateY(0); opacity:0.8; } 50% { transform: translateX(-50%) translateY(20px); opacity:0; } 100% { transform: translateX(-50%) translateY(0); opacity:0.8; } }

.scn-define-precept {
  background: linear-gradient(180deg, #d4c4a8 0%, #b8a282 40%, #8e785e 100%),
              radial-gradient(ellipse at 20% 30%, #f5eddc 0%, transparent 70%);
}
.scn-define-precept .chamber-bg { position:absolute; inset:0; background: linear-gradient(135deg, #c4b092 0%, #9a856a 100%); }
.scn-define-precept .bedframe { position:absolute; bottom:5%; left:10%; right:10%; height:40%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2e24 100%); border-radius: 8px; box-shadow: inset 0 -8px 16px rgba(0,0,0,0.3); }
.scn-define-precept .sick-figure { position:absolute; bottom:10%; left:20%; width:20%; height:30%; background: linear-gradient(180deg, #5a4e40 0%, #3a3028 100%); border-radius: 60% 60% 40% 40% / 50% 50% 30% 30%; transform-origin: bottom center; animation: dp-sick 6s ease-in-out infinite; }
.scn-define-precept .pillow { position:absolute; bottom:35%; left:15%; width:18%; height:8%; background: radial-gradient(ellipse at 50% 50%, #f0e4d0 0%, #c8b898 100%); border-radius: 80% 80% 60% 60%; }
.scn-define-precept .window-light { position:absolute; top:5%; left:5%; width:40%; height:60%; background: linear-gradient(135deg, rgba(255,240,200,0.25) 0%, transparent 100%); filter: blur(20px); animation: dp-light 12s ease-in-out infinite alternate; }
.scn-define-precept .curtain { position:absolute; top:0; left:0; width:20%; height:100%; background: linear-gradient(180deg, #7a6a5a 0%, #4a3e32 100%); border-radius: 0 40% 40% 0; box-shadow: 4px 0 12px rgba(0,0,0,0.2); }
.scn-define-precept .medicine-cup { position:absolute; bottom:20%; right:15%; width:6%; height:8%; background: linear-gradient(180deg, #b89878 0%, #8a7058 100%); border-radius: 10% 10% 30% 30%; transform: rotate(10deg); animation: dp-cup 4s ease-in-out infinite; }

@keyframes dp-sick { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-3px) rotate(2deg); } 60% { transform: translateY(0) rotate(-1deg); } 100% { transform: translateY(-2px) rotate(0deg); } }
@keyframes dp-light { 0% { opacity:0.6; transform: scale(1); } 50% { opacity:0.9; transform: scale(1.05); } 100% { opacity:0.7; transform: scale(0.95); } }
@keyframes dp-cup { 0% { transform: rotate(10deg) translateY(0); } 50% { transform: rotate(8deg) translateY(-2px); } 100% { transform: rotate(12deg) translateY(0); } }

.scn-vicious-hide {
  background: linear-gradient(180deg, #1a1412 0%, #261e1a 40%, #0f0b0a 100%),
              radial-gradient(ellipse at 40% 60%, #2a221e 0%, transparent 70%);
}
.scn-vicious-hide .cellar-wall { position:absolute; inset:0; background: linear-gradient(180deg, #2a1e1a 0%, #140e0c 100%); }
.scn-vicious-hide .figure-crouch { position:absolute; bottom:10%; left:30%; width:18%; height:35%; background: linear-gradient(180deg, #1a1412 0%, #0a0808 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: vh-crouch 7s ease-in-out infinite; }
.scn-vicious-hide .shackle { position:absolute; bottom:20%; left:20%; width:6%; height:4%; background: linear-gradient(135deg, #5a4a3a 0%, #3a2e28 100%); border-radius: 20%; box-shadow: 2px 2px 4px rgba(0,0,0,0.5); }
.scn-vicious-hide .poison-vial { position:absolute; bottom:15%; right:20%; width:4%; height:10%; background: linear-gradient(180deg, #6a4a2a 0%, #3a2210 100%); border-radius: 20% 20% 10% 10%; animation: vh-vial 5s ease-in-out infinite; }
.scn-vicious-hide .cobweb { position:absolute; top:5%; left:10%; width:30%; height:40%; background: radial-gradient(ellipse at 30% 40%, rgba(200,180,160,0.15) 0%, transparent 60%); filter: blur(4px); animation: vh-web 20s linear infinite; }
.scn-vicious-hide .crack { position:absolute; top:15%; right:15%; width:8%; height:20%; background: linear-gradient(135deg, #1a1412 0%, #0a0808 100%); border-bottom: 2px solid rgba(100,80,60,0.3); transform: rotate(20deg); }
.scn-vicious-hide .shadow-pool { position:absolute; bottom:0; left:0; right:0; height:15%; background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.6) 0%, transparent 100%); animation: vh-pool 8s ease-in-out infinite alternate; }

@keyframes vh-crouch { 0% { transform: scale(1) rotate(0deg) translateY(0); } 25% { transform: scale(1.02) rotate(1deg) translateY(-2px); } 50% { transform: scale(0.98) rotate(-1deg) translateY(0); } 75% { transform: scale(1.01) rotate(0.5deg) translateY(-1px); } 100% { transform: scale(1) rotate(0deg) translateY(0); } }
@keyframes vh-vial { 0% { transform: rotate(0deg) translateY(0); } 30% { transform: rotate(5deg) translateY(-3px); } 60% { transform: rotate(-3deg) translateY(0); } 100% { transform: rotate(0deg) translateY(-1px); } }
@keyframes vh-web { 0% { transform: scale(1); opacity:0.3; } 50% { transform: scale(1.05); opacity:0.5; } 100% { transform: scale(1); opacity:0.3; } }
@keyframes vh-pool { 0% { opacity:0.4; transform: scaleY(1); } 50% { opacity:0.7; transform: scaleY(1.1); } 100% { opacity:0.4; transform: scaleY(1); } }

.scn-clear-away-insolence-ribaldry {
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, #0f0f1f 100%),
              radial-gradient(ellipse at 50% 60%, #3a3a4a 0%, transparent 70%);
}
.scn-clear-away-insolence-ribaldry .clr-bg { position:absolute; inset:0; background: linear-gradient(135deg, rgba(60,50,40,0.3) 0%, transparent 100%); }
.scn-clear-away-insolence-ribaldry .clr-table { position:absolute; bottom:20%; left:15%; right:15%; height:8%; background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.6); }
.scn-clear-away-insolence-ribaldry .clr-patient { position:absolute; bottom:25%; left:20%; width:30%; height:12%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; animation: clr-breathe 6s ease-in-out infinite; }
.scn-clear-away-insolence-ribaldry .clr-hand { position:absolute; bottom:33%; left:55%; width:10%; height:6%; background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); border-radius: 40% 60% 30% 50% / 50% 50% 50% 50%; transform-origin: 100% 50%; animation: clr-reach 8s ease-in-out infinite; }
.scn-clear-away-insolence-ribaldry .clr-scalpel { position:absolute; bottom:34%; left:62%; width:4%; height:2%; background: linear-gradient(90deg, #c0c0c0 0%, #888 100%); border-radius: 2px 10px 10px 2px; transform: rotate(30deg); animation: clr-cut 8s ease-in-out infinite; }
.scn-clear-away-insolence-ribaldry .clr-light { position:absolute; top:10%; left:45%; width:10%; height:5%; background: radial-gradient(circle, #ffd080 0%, transparent 70%); border-radius: 50%; box-shadow: 0 0 30px 15px rgba(255,208,128,0.3); animation: clr-glow 4s ease-in-out infinite alternate; }
.scn-clear-away-insolence-ribaldry .clr-shadow { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.5) 100%); }
@keyframes clr-breathe { 0% { transform: scale(1); } 50% { transform: scale(1.02); } 100% { transform: scale(1); } }
@keyframes clr-reach { 0% { transform: translate(0,0) rotate(0deg); } 50% { transform: translate(5px,-3px) rotate(5deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes clr-cut { 0% { transform: rotate(30deg) scaleY(1); } 50% { transform: rotate(40deg) scaleY(1.1); } 100% { transform: rotate(30deg) scaleY(1); } }
@keyframes clr-glow { 0% { opacity: 0.7; box-shadow: 0 0 20px 10px rgba(255,208,128,0.2); } 100% { opacity: 1; box-shadow: 0 0 40px 20px rgba(255,208,128,0.5); } }

.scn-comic-poets-serious-joking-destroy {
  background: linear-gradient(180deg, #1e1e2e 0%, #2a2a3e 40%, #1a1a2a 100%),
              radial-gradient(ellipse at 50% 30%, #3a3a4a 0%, transparent 60%);
}
.scn-comic-poets-serious-joking-destroy .com-bg { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 100%, #2a2a3a 0%, transparent 80%); }
.scn-comic-poets-serious-joking-destroy .com-curtain { position:absolute; top:0; left:0; right:0; height:15%; background: linear-gradient(180deg, #6a3a2a 0%, #4a2a1a 100%); border-radius: 0 0 40% 40%; animation: com-sway 10s ease-in-out infinite alternate; }
.scn-comic-poets-serious-joking-destroy .com-stage { position:absolute; bottom:15%; left:10%; right:10%; height:40%; background: linear-gradient(180deg, #3a3a2a 0%, #2a2a1a 100%); border-radius: 10% 10% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,0.5); }
.scn-comic-poets-serious-joking-destroy .com-figure-left { position:absolute; bottom:25%; left:20%; width:12%; height:25%; background: linear-gradient(180deg, #2a2a1a 0%, #1a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: com-bow 6s ease-in-out infinite; }
.scn-comic-poets-serious-joking-destroy .com-figure-right { position:absolute; bottom:25%; right:20%; width:12%; height:25%; background: linear-gradient(180deg, #3a3a2a 0%, #2a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: com-bow 6s ease-in-out infinite reverse; }
.scn-comic-poets-serious-joking-destroy .com-mask { position:absolute; bottom:55%; left:40%; width:10%; height:8%; background: radial-gradient(circle, #c0a080 0%, #a08060 100%); border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,0.3); animation: com-float 4s ease-in-out infinite; }
.scn-comic-poets-serious-joking-destroy .com-plate { position:absolute; bottom:20%; left:45%; width:20%; height:5%; background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); border-radius: 50%; animation: com-tilt 8s ease-in-out infinite; }
@keyframes com-sway { 0% { transform: translateX(-2px); } 50% { transform: translateX(2px); } 100% { transform: translateX(-2px); } }
@keyframes com-bow { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(2px) rotate(5deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(2px) rotate(-5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes com-float { 0% { transform: translateY(0); } 50% { transform: translateY(-5px); } 100% { transform: translateY(0); } }
@keyframes com-tilt { 0% { transform: rotate(0deg); } 30% { transform: rotate(5deg); } 70% { transform: rotate(-5deg); } 100% { transform: rotate(0deg); } }

.scn-prosperity-need-outspoken-friends {
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 60%, #12121a 100%),
              radial-gradient(ellipse at 30% 40%, #3a3a4a 0%, transparent 70%);
}
.scn-prosperity-need-outspoken-friends .prs-bg { position:absolute; inset:0; background: repeating-linear-gradient(45deg, rgba(40,30,20,0.1) 0px, rgba(40,30,20,0.1) 2px, transparent 2px, transparent 4px); }
.scn-prosperity-need-outspoken-friends .prs-wall { position:absolute; bottom:30%; left:0; right:0; height:70%; background: linear-gradient(180deg, #3a3a2a 0%, #2a2a1a 100%); border-radius: 0; }
.scn-prosperity-need-outspoken-friends .prs-table { position:absolute; bottom:20%; left:15%; right:15%; height:6%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.5); }
.scn-prosperity-need-outspoken-friends .prs-lamp { position:absolute; bottom:45%; left:30%; width:8%; height:12%; background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 20px 10px rgba(255,200,100,0.3); animation: prs-glow 5s ease-in-out infinite alternate; }
.scn-prosperity-need-outspoken-friends .prs-figure-sit { position:absolute; bottom:18%; left:25%; width:12%; height:20%; background: linear-gradient(180deg, #3a3a2a 0%, #1a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: prs-sit 8s ease-in-out infinite; }
.scn-prosperity-need-outspoken-friends .prs-figure-stand { position:absolute; bottom:20%; right:25%; width:10%; height:30%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: prs-stand 6s ease-in-out infinite; }
.scn-prosperity-need-outspoken-friends .prs-chair { position:absolute; bottom:18%; left:22%; width:18%; height:10%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a1a 100%); border-radius: 10% 10% 20% 20%; box-shadow: 0 4px 6px rgba(0,0,0,0.4); animation: prs-rock 7s ease-in-out infinite alternate; }
@keyframes prs-glow { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes prs-sit { 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 prs-stand { 0% { transform: translateX(0); } 25% { transform: translateX(5px); } 75% { transform: translateX(-5px); } 100% { transform: translateX(0); } }
@keyframes prs-rock { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(0deg); } }

.scn-example-well-ill-excesses {
  background: linear-gradient(90deg, #1a1a2a 0%, #2a2a3a 50%, #1a1a2a 100%),
              radial-gradient(ellipse at 50% 50%, #2a2a3a 0%, transparent 80%);
}
.scn-example-well-ill-excesses .exm-bg { position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,0.4) 0%, transparent 100%); }
.scn-example-well-ill-excesses .exm-split { position:absolute; left:50%; top:0; bottom:0; width:2%; background: linear-gradient(180deg, #5a4a3a 0%, #2a1a1a 100%); z-index:1; }
.scn-example-well-ill-excesses .exm-well-side { position:absolute; left:0; top:0; bottom:0; right:50%; background: linear-gradient(90deg, #3a4a3a 0%, #2a3a2a 100%); }
.scn-example-well-ill-excesses .exm-ill-side { position:absolute; right:0; top:0; bottom:0; left:50%; background: linear-gradient(90deg, #2a2a3a 0%, #1a1a2a 100%); }
.scn-example-well-ill-excesses .exm-well-figure { position:absolute; bottom:20%; left:20%; width:15%; height:30%; background: linear-gradient(180deg, #5a7a5a 0%, #3a5a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: exm-well 8s ease-in-out infinite; }
.scn-example-well-ill-excesses .exm-ill-figure { position:absolute; bottom:15%; right:20%; width:15%; height:25%; background: linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: exm-ill 6s ease-in-out infinite; }
.scn-example-well-ill-excesses .exm-bottle { position:absolute; bottom:35%; left:15%; width:6%; height:15%; background: linear-gradient(180deg, #6a8a6a 0%, #4a6a4a 100%); border-radius: 20% 20% 10% 10%; transform: rotate(10deg); animation: exm-tilt 10s ease-in-out infinite; }
.scn-example-well-ill-excesses .exm-bath { position:absolute; bottom:10%; right:25%; width:30%; height:10%; background: linear-gradient(180deg, #4a5a6a 0%, #2a3a4a 100%); border-radius: 30% 30% 50% 50%; box-shadow: inset 0 4px 8px rgba(0,0,0,0.5); animation: exm-slosh 12s ease-in-out infinite; }
@keyframes exm-well { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-3px) rotate(3deg); } 70% { transform: translateY(0) rotate(-2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes exm-ill { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-1px) scale(0.95); } 100% { transform: translateY(0) scale(1); } }
@keyframes exm-tilt { 0% { transform: rotate(10deg); } 50% { transform: rotate(15deg); } 100% { transform: rotate(10deg); } }
@keyframes exm-slosh { 0% { transform: translateX(0); } 25% { transform: translateX(5px); } 75% { transform: translateX(-5px); } 100% { transform: translateX(0); } }

.scn-love-loses-friendship-aim {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a1a1a 100%), radial-gradient(ellipse at 50% 30%, #4a2a2a 0%, transparent 70%);
}
.scn-love-loses-friendship-aim .curtain-left {
  position: absolute; left: 0; top: 0; bottom: 0; width: 22%;
  background: linear-gradient(90deg, #5e1a1d, #3a0a0a);
  border-radius: 0 40% 40% 0;
  animation: lla-curtain 7s ease-in-out infinite alternate;
  transform-origin: left center;
}
.scn-love-loses-friendship-aim .curtain-right {
  position: absolute; right: 0; top: 0; bottom: 0; width: 22%;
  background: linear-gradient(270deg, #5e1a1d, #3a0a0a);
  border-radius: 40% 0 0 40%;
  animation: lla-curtain 7s ease-in-out infinite alternate-reverse;
  transform-origin: right center;
}
.scn-love-loses-friendship-aim .stage {
  position: absolute; bottom: 8%; left: 10%; right: 10%; height: 45%;
  background: #2a1a1a;
  border-top: 2px solid #4a2a2a;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.6);
}
.scn-love-loses-friendship-aim .husband {
  position: absolute; bottom: 22%; left: 42%; width: 16px; height: 32px;
  background: linear-gradient(180deg, #3a2a1a, #1a1a0a);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: lla-husband 5s ease-in-out infinite;
  transform-origin: bottom center;
}
.scn-love-loses-friendship-aim .wife {
  position: absolute; bottom: 24%; left: 53%; width: 14px; height: 30px;
  background: linear-gradient(180deg, #4a2a1a, #2a1a0a);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: lla-wife 4s ease-in-out infinite;
  transform-origin: bottom center;
}
.scn-love-loses-friendship-aim .lamp {
  position: absolute; bottom: 32%; left: 48%; width: 8px; height: 14px;
  background: radial-gradient(circle, #c08040, #7a5020);
  border-radius: 50% 50% 0 0;
  box-shadow: 0 0 20px 6px #c08040, 0 0 40px 12px rgba(192,128,64,0.5);
  animation: lla-lamp 2s ease-in-out infinite alternate;
}
.scn-love-loses-friendship-aim .shadow-hint {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,0.7));
  pointer-events: none;
  animation: lla-shadow 10s ease-in-out infinite alternate;
}
@keyframes lla-curtain {
  0% { transform: scaleX(1) rotate(0deg); }
  50% { transform: scaleX(0.95) rotate(2deg); }
  100% { transform: scaleX(1) rotate(0deg); }
}
@keyframes lla-husband {
  0% { transform: translateX(0) rotate(0); }
  30% { transform: translateX(3px) rotate(2deg); }
  60% { transform: translateX(-2px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes lla-wife {
  0% { transform: translateX(0) rotate(0); }
  50% { transform: translateX(-4px) rotate(-5deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes lla-lamp {
  0% { opacity: 0.8; box-shadow: 0 0 12px 4px #c08040; }
  50% { opacity: 1; box-shadow: 0 0 24px 8px #e0a060; }
  100% { opacity: 0.9; box-shadow: 0 0 18px 6px #c08040; }
}
@keyframes lla-shadow {
  0% { opacity: 0.5; }
  50% { opacity: 0.8; }
  100% { opacity: 0.6; }
}

.scn-not-love-if-gain {
  background: linear-gradient(180deg, #1a1a3e 0%, #2a1a2a 100%), radial-gradient(ellipse at 50% 50%, #3a2a3a 0%, transparent 70%);
}
.scn-not-love-if-gain .wall {
  position: absolute; top: 0; left: 0; right: 0; bottom: 30%;
  background: linear-gradient(180deg, #1a1a2e, #2a1a2a);
}
.scn-not-love-if-gain .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #3a2a1a, #2a1a0a);
}
.scn-not-love-if-gain .table {
  position: absolute; bottom: 35%; left: 33%; right: 33%; height: 8%;
  background: linear-gradient(180deg, #4a3a2a, #2a1a0a);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.scn-not-love-if-gain .husband {
  position: absolute; bottom: 22%; left: 40%; width: 16px; height: 32px;
  background: linear-gradient(180deg, #3a2a1a, #1a1a0a);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: nlg-husband 6s ease-in-out infinite;
  transform-origin: bottom center;
}
.scn-not-love-if-gain .wife {
  position: absolute; bottom: 26%; left: 55%; width: 14px; height: 28px;
  background: linear-gradient(180deg, #4a2a1a, #2a1a0a);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: nlg-wife 5s ease-in-out infinite;
  transform-origin: bottom center;
}
.scn-not-love-if-gain .lamp {
  position: absolute; bottom: 40%; left: 50%; width: 8px; height: 14px;
  background: radial-gradient(circle, #c08040, #7a5020);
  border-radius: 50% 50% 0 0;
  box-shadow: 0 0 20px 5px #c08040;
  animation: nlg-lamp 2.5s ease-in-out infinite alternate;
  transform: translateX(-50%);
}
.scn-not-love-if-gain .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,0.8));
  animation: nlg-shadow 8s ease-in-out infinite alternate;
}
.scn-not-love-if-gain .cup {
  position: absolute; bottom: 35%; left: 45%; width: 6px; height: 8px;
  background: #5a3a2a;
  border-radius: 50% 50% 0 0;
  animation: nlg-lamp 2.5s ease-in-out infinite alternate;
  transform: translateX(-50%);
}
@keyframes nlg-husband {
  0% { transform: translateX(0) rotate(0); }
  25% { transform: translateX(4px) rotate(2deg); }
  50% { transform: translateX(0) rotate(0); }
  75% { transform: translateX(-4px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes nlg-wife {
  0% { transform: translateX(0) rotate(0); }
  50% { transform: translateX(-6px) rotate(-6deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes nlg-lamp {
  0% { opacity: 0.8; box-shadow: 0 0 12px 3px #c08040; }
  50% { opacity: 1; box-shadow: 0 0 24px 8px #e0a060; }
  100% { opacity: 0.9; box-shadow: 0 0 16px 5px #c08040; }
}
@keyframes nlg-shadow {
  0% { opacity: 0.6; }
  50% { opacity: 1; }
  100% { opacity: 0.75; }
}

.scn-bastard-love-cynosarges {
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2a 100%), radial-gradient(ellipse at 70% 30%, #3a3a4a 0%, transparent 70%);
}
.scn-bastard-love-cynosarges .column-left {
  position: absolute; left: 8%; bottom: 0; width: 8%; top: 0;
  background: linear-gradient(90deg, #4a4a5a, #2a2a3a);
  border-radius: 4px;
  animation: blc-column 12s ease-in-out infinite alternate;
  transform-origin: center bottom;
}
.scn-bastard-love-cynosarges .column-right {
  position: absolute; right: 8%; bottom: 0; width: 8%; top: 0;
  background: linear-gradient(270deg, #4a4a5a, #2a2a3a);
  border-radius: 4px;
  animation: blc-column 12s ease-in-out infinite alternate-reverse;
  transform-origin: center bottom;
}
.scn-bastard-love-cynosarges .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #3a3a4a, #2a2a3a);
  border-radius: 50% 50% 0 0;
}
.scn-bastard-love-cynosarges .eagle-body {
  position: absolute; bottom: 50%; left: 62%; width: 22px; height: 18px;
  background: #0a0a1a;
  border-radius: 50%;
  animation: blc-eagle 3s ease-in-out infinite alternate;
  transform-origin: center bottom;
}
.scn-bastard-love-cynosarges .eagle-wing-left {
  position: absolute; bottom: 50%; left: 58%; width: 16px; height: 10px;
  background: #0a0a1a;
  border-radius: 50% 0 50% 0;
  transform-origin: right center;
  animation: blc-wing 1.8s ease-in-out infinite alternate;
}
.scn-bastard-love-cynosarges .eagle-wing-right {
  position: absolute; bottom: 50%; left: 66%; width: 16px; height: 10px;
  background: #0a0a1a;
  border-radius: 0 50% 0 50%;
  transform-origin: left center;
  animation: blc-wing 1.8s ease-in-out infinite alternate-reverse;
}
.scn-bastard-love-cynosarges .man {
  position: absolute; bottom: 20%; left: 44%; width: 22px; height: 40px;
  background: #1a1a2a;
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: blc-man 7s ease-in-out infinite;
  transform-origin: bottom center;
}
.scn-bastard-love-cynosarges .boy {
  position: absolute; bottom: 25%; left: 56%; width: 16px; height: 32px;
  background: #1a1a2a;
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: blc-boy 5s ease-in-out infinite;
  transform-origin: bottom center;
}
@keyframes blc-column {
  0% { transform: scaleY(1) rotate(0); }
  50% { transform: scaleY(1.02) rotate(1deg); }
  100% { transform: scaleY(1) rotate(0); }
}
@keyframes blc-eagle {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-3px) scaleY(1.1); }
  100% { transform: translateY(0) scaleY(1); }
}
@keyframes blc-wing {
  0% { transform: rotate(-10deg) scaleX(1); }
  50% { transform: rotate(20deg) scaleX(1.2); }
  100% { transform: rotate(-10deg) scaleX(1); }
}
@keyframes blc-man {
  0% { transform: translateX(0) rotate(0); }
  30% { transform: translateX(5px) rotate(2deg); }
  60% { transform: translateX(-2px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes blc-boy {
  0% { transform: translateX(0) rotate(0); }
  50% { transform: translateX(-4px) rotate(-4deg); }
  100% { transform: translateX(0) rotate(0); }
}

.scn-friendship-noble-pleasure-vulgar {
  background: linear-gradient(180deg, #f0e0c0 0%, #d0b080 100%), radial-gradient(ellipse at 50% 20%, #ffe0b0 0%, transparent 80%);
}
.scn-friendship-noble-pleasure-vulgar .window {
  position: absolute; top: 0; left: 10%; width: 30%; height: 40%;
  background: linear-gradient(180deg, #a0c0d0, #c0d8e0);
  border: 4px solid #5a3a1a;
  box-shadow: inset 0 0 20px rgba(255,255,255,0.3);
  animation: fnp-light 10s ease-in-out infinite alternate;
}
.scn-friendship-noble-pleasure-vulgar .light-beam {
  position: absolute; top: 8%; left: 15%; width: 22%; height: 45%;
  background: linear-gradient(180deg, rgba(255,255,200,0.5), transparent);
  filter: blur(6px);
  animation: fnp-beam 12s ease-in-out infinite alternate;
}
.scn-friendship-noble-pleasure-vulgar .couch {
  position: absolute; bottom: 8%; left: 20%; right: 20%; height: 18%;
  background: linear-gradient(180deg, #8a6a4a, #5a3a2a);
  border-radius: 12px;
  box-shadow: 0 0 15px rgba(0,0,0,0.15);
}
.scn-friendship-noble-pleasure-vulgar .slave {
  position: absolute; bottom: 12%; left: 32%; width: 18px; height: 30px;
  background: #4a3a2a;
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: fnp-slave 6s ease-in-out infinite;
  transform-origin: bottom center;
}
.scn-friendship-noble-pleasure-vulgar .boy {
  position: absolute; bottom: 14%; left: 56%; width: 16px; height: 28px;
  background: #3a2a1a;
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: fnp-boy 7s ease-in-out infinite;
  transform-origin: bottom center;
}
.scn-friendship-noble-pleasure-vulgar .table {
  position: absolute; bottom: 18%; left: 38%; right: 38%; height: 6%;
  background: #6a4a3a;
  border-radius: 6px;
  box-shadow: 0 3px 6px rgba(0,0,0,0.2);
}
.scn-friendship-noble-pleasure-vulgar .cup {
  position: absolute; bottom: 18%; left: 48%; width: 8px; height: 10px;
  background: #c08040;
  border-radius: 0 0 50% 50%;
  animation: fnp-cup 4s ease-in-out infinite alternate;
  transform-origin: bottom center;
}
@keyframes fnp-light {
  0% { opacity: 0.7; background: #a0c0d0; }
  50% { opacity: 1; background: #c0e0f0; }
  100% { opacity: 0.8; background: #b0d0e0; }
}
@keyframes fnp-beam {
  0% { opacity: 0.3; transform: rotate(-2deg) translateX(0); }
  50% { opacity: 0.6; transform: rotate(2deg) translateX(8px); }
  100% { opacity: 0.4; transform: rotate(-1deg) translateX(0); }
}
@keyframes fnp-slave {
  0% { transform: translateX(0) rotate(0); }
  25% { transform: translateX(6px) rotate(2deg); }
  75% { transform: translateX(-4px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes fnp-boy {
  0% { transform: translateX(0) rotate(0); }
  50% { transform: translateX(-5px) rotate(-5deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes fnp-cup {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(10deg); }
  100% { transform: rotate(0deg); }
}

/* curiosity-defamation */
.scn-curiosity-defamation {
  background: linear-gradient(180deg, #1e1713 0%, #2a1f1a 40%, #1e1713 100%),
              radial-gradient(ellipse at 30% 80%, #3a2a1e 0%, transparent 70%);
}
.scn-curiosity-defamation .bg {
  position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 60%, #2a1f1a 0%, #14100c 100%);
  animation: cd-bg 6s ease-in-out infinite alternate;
}
.scn-curiosity-defamation .curtain {
  position: absolute; top: 0; left: 0; width: 35%; height: 100%;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 40%, #2a1a1a 100%);
  border-radius: 0 60% 60% 0 / 0 80% 80% 0; transform-origin: left center;
  animation: cd-curtain 4s ease-in-out infinite;
}
.scn-curiosity-defamation .figure {
  position: absolute; bottom: 15%; left: 42%; width: 12%; height: 40%;
  background: linear-gradient(135deg, #1c1612 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: cd-figure 3s ease-in-out infinite;
}
.scn-curiosity-defamation .candle {
  position: absolute; bottom: 28%; left: 55%; width: 2%; height: 8%;
  background: linear-gradient(180deg, #f0d080 0%, #b08040 100%);
  border-radius: 50% 50% 20% 20% / 40% 40% 30% 30%;
  animation: cd-candle 2s ease-in-out infinite alternate;
}
.scn-curiosity-defamation .table {
  position: absolute; bottom: 20%; left: 40%; width: 30%; height: 6%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.5);
}
.scn-curiosity-defamation .shadow {
  position: absolute; bottom: 10%; left: 30%; width: 20%; height: 30%;
  background: rgba(0,0,0,.6); filter: blur(8px); border-radius: 50%;
  animation: cd-shadow 5s ease-in-out infinite alternate;
}
.scn-curiosity-defamation .glow {
  position: absolute; bottom: 30%; left: 54%; width: 6%; height: 6%;
  background: radial-gradient(circle, #ffd890 0%, transparent 80%);
  filter: blur(10px); animation: cd-glow 2s ease-in-out infinite alternate;
}
@keyframes cd-bg { 0% { opacity: .7 } 50% { opacity: 1 } 100% { opacity: .8 } }
@keyframes cd-curtain { 0% { transform: scaleX(1) } 25% { transform: scaleX(.95) } 50% { transform: scaleX(1) } 75% { transform: scaleX(.97) } 100% { transform: scaleX(1) } }
@keyframes cd-figure { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(-2deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes cd-candle { 0% { opacity: .8; transform: scaleY(1) } 50% { opacity: 1; transform: scaleY(1.05) } 100% { opacity: .85; transform: scaleY(.95) } }
@keyframes cd-shadow { 0% { transform: translateX(0) scale(1) } 50% { transform: translateX(5px) scale(1.1) } 100% { transform: translateX(0) scale(1) } }
@keyframes cd-glow { 0% { opacity: .6; transform: scale(1) } 100% { opacity: 1; transform: scale(1.2) } }

/* curiosity-people-shy */
.scn-curiosity-people-shy {
  background: linear-gradient(180deg, #1a1410 0%, #2a2018 40%, #1a1410 100%),
              radial-gradient(ellipse at 70% 50%, #3a2a1e 0%, transparent 70%);
}
.scn-curiosity-people-shy .bg {
  position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 60%, #241c16 0%, #100c0a 100%);
  animation: cp-bg 8s ease-in-out infinite alternate;
}
.scn-curiosity-people-shy .wall {
  position: absolute; top: 0; left: 0; right: 0; height: 60%;
  background: linear-gradient(180deg, #3a2a1e 0%, #1a1410 100%);
  box-shadow: inset 0 20px 30px rgba(0,0,0,.6);
}
.scn-curiosity-people-shy .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #2a1f1a 0%, #1a1410 100%);
}
.scn-curiosity-people-shy .group-a {
  position: absolute; bottom: 20%; left: 20%; width: 12%; height: 45%;
  background: linear-gradient(135deg, #1a1410 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: cp-group-a 4s ease-in-out infinite;
}
.scn-curiosity-people-shy .group-b {
  position: absolute; bottom: 18%; left: 35%; width: 14%; height: 48%;
  background: linear-gradient(135deg, #1a1410 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: cp-group-b 3.5s ease-in-out infinite;
}
.scn-curiosity-people-shy .group-c {
  position: absolute; bottom: 22%; left: 52%; width: 11%; height: 42%;
  background: linear-gradient(135deg, #1a1410 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: cp-group-c 5s ease-in-out infinite;
}
.scn-curiosity-people-shy .lantern {
  position: absolute; bottom: 35%; left: 68%; width: 3%; height: 8%;
  background: linear-gradient(180deg, #e0b060 0%, #b08040 100%);
  border-radius: 20% 20% 10% 10%; box-shadow: 0 0 16px 4px #c09050;
  animation: cp-lantern 2s ease-in-out infinite alternate;
}
.scn-curiosity-people-shy .light {
  position: absolute; bottom: 30%; left: 60%; width: 20%; height: 25%;
  background: radial-gradient(ellipse, rgba(192,144,80,.4) 0%, transparent 70%);
  filter: blur(15px); animation: cp-light 3s ease-in-out infinite alternate;
}
@keyframes cp-bg { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .9 } }
@keyframes cp-group-a { 0% { transform: translateX(0) } 25% { transform: translateX(-3px) rotate(1deg) } 50% { transform: translateX(0) } 75% { transform: translateX(2px) rotate(-1deg) } 100% { transform: translateX(0) } }
@keyframes cp-group-b { 0% { transform: translateX(0) } 33% { transform: translateX(2px) rotate(-1deg) } 66% { transform: translateX(-2px) rotate(1deg) } 100% { transform: translateX(0) } }
@keyframes cp-group-c { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes cp-lantern { 0% { opacity: .8; transform: scaleY(1) } 100% { opacity: 1; transform: scaleY(1.1) } }
@keyframes cp-light { 0% { opacity: .6; transform: scale(1) } 100% { opacity: 1; transform: scale(1.15) } }

/* curiosity-no-confidence */
.scn-curiosity-no-confidence {
  background: linear-gradient(180deg, #1a1410 0%, #2a1f1a 40%, #1a1410 100%),
              radial-gradient(ellipse at 50% 80%, #2a1a12 0%, transparent 70%);
}
.scn-curiosity-no-confidence .bg {
  position: absolute; inset: 0; background: radial-gradient(ellipse at 60% 50%, #241c16 0%, #100c0a 100%);
  animation: nc-bg 7s ease-in-out infinite alternate;
}
.scn-curiosity-no-confidence .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #2a1f1a 0%, #1a1410 100%);
}
.scn-curiosity-no-confidence .column {
  position: absolute; top: 10%; left: 15%; width: 8%; height: 70%;
  background: linear-gradient(90deg, #3a2a1e 0%, #4a3a2a 30%, #3a2a1e 100%);
  border-radius: 10% 10% 5% 5% / 20% 20% 10% 10%;
  box-shadow: 4px 0 12px rgba(0,0,0,.5);
}
.scn-curiosity-no-confidence .figure-left {
  position: absolute; bottom: 20%; left: 28%; width: 12%; height: 42%;
  background: linear-gradient(135deg, #1c1612 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: nc-left 3s ease-in-out infinite;
}
.scn-curiosity-no-confidence .scroll {
  position: absolute; bottom: 30%; left: 40%; width: 10%; height: 4%;
  background: linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%;
  transform: rotate(-15deg); animation: nc-scroll 4s ease-in-out infinite;
}
.scn-curiosity-no-confidence .figure-right {
  position: absolute; bottom: 22%; left: 55%; width: 13%; height: 44%;
  background: linear-gradient(135deg, #1c1612 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: nc-right 3.5s ease-in-out infinite;
}
.scn-curiosity-no-confidence .spy {
  position: absolute; bottom: 25%; left: 10%; width: 8%; height: 30%;
  background: linear-gradient(135deg, #1a1410 0%, #0a0806 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: nc-spy 5s ease-in-out infinite;
}
@keyframes nc-bg { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes nc-left { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-1px) rotate(2deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes nc-scroll { 0% { transform: rotate(-15deg) translateY(0) } 50% { transform: rotate(-12deg) translateY(-2px) } 100% { transform: rotate(-15deg) translateY(0) } }
@keyframes nc-right { 0% { transform: translateY(0) } 33% { transform: translateY(-2px) rotate(-1deg) } 66% { transform: translateY(0) rotate(1deg) } 100% { transform: translateY(0) } }
@keyframes nc-spy { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.05) } 100% { transform: scaleY(1) } }

/* curiosity-incontinence */
.scn-curiosity-incontinence {
  background: linear-gradient(180deg, #1a1410 0%, #2a1f1a 40%, #1a1410 100%),
              radial-gradient(ellipse at 40% 50%, #3a2218 0%, transparent 70%);
}
.scn-curiosity-incontinence .bg {
  position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 50%, #241c16 0%, #100c0a 100%);
  animation: ci-bg 9s ease-in-out infinite alternate;
}
.scn-curiosity-incontinence .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #2a1f1a 0%, #1a1410 100%);
}
.scn-curiosity-incontinence .door {
  position: absolute; top: 10%; left: 25%; width: 25%; height: 70%;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  border-radius: 4px; box-shadow: inset 0 0 20px rgba(0,0,0,.6);
  transform-origin: left center; animation: ci-door 6s ease-in-out infinite;
}
.scn-curiosity-incontinence .crack-light {
  position: absolute; top: 25%; left: 45%; width: 1%; height: 40%;
  background: linear-gradient(180deg, #e0b060 0%, transparent 100%);
  filter: blur(3px); opacity: .7; animation: ci-crack 2s ease-in-out infinite alternate;
}
.scn-curiosity-incontinence .inner-silhouette {
  position: absolute; bottom: 20%; left: 30%; width: 10%; height: 35%;
  background: #0e0a08; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ci-inner 4s ease-in-out infinite;
}
.scn-curiosity-incontinence .peeper {
  position: absolute; bottom: 25%; left: 18%; width: 8%; height: 28%;
  background: #0e0a08; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: ci-peeper 3s ease-in-out infinite;
}
.scn-curiosity-incontinence .shadow {
  position: absolute; bottom: 10%; left: 20%; width: 15%; height: 20%;
  background: rgba(0,0,0,.5); filter: blur(10px); border-radius: 50%;
  animation: ci-shadow 5s ease-in-out infinite alternate;
}
@keyframes ci-bg { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .9 } }
@keyframes ci-door { 0% { transform: skewY(0) } 50% { transform: skewY(-2deg) } 100% { transform: skewY(0) } }
@keyframes ci-crack { 0% { opacity: .5; transform: scaleX(1) } 100% { opacity: 1; transform: scaleX(1.5) } }
@keyframes ci-inner { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes ci-peeper { 0% { transform: rotate(0) } 33% { transform: rotate(-3deg) } 66% { transform: rotate(2deg) } 100% { transform: rotate(0) } }
@keyframes ci-shadow { 0% { transform: translateX(0) scale(1) } 100% { transform: translateX(5px) scale(1.05) } }

/* man-reason-varied */
.scn-man-reason-varied {
  background: linear-gradient(180deg, #9ba8b0 0%, #e0e4e8 30%, #d2d7dc 60%, #bcc3c8 100%),
              radial-gradient(ellipse at 50% 30%, #dbe0e5 0%, transparent 70%);
}
.scn-man-reason-varied .overcast-sky {
  position: absolute; inset: 0 0 60% 0;
  background: linear-gradient(180deg, #7b8a94 0%, transparent 100%);
  animation: mnrv-sky 15s ease-in-out infinite alternate;
}
.scn-man-reason-varied .distant-hills {
  position: absolute; bottom: 35%; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #6b7b7d 0%, #5a6a6c 100%);
  border-radius: 50% 50% 0 0/ 100% 100% 0 0;
  opacity: 0.6;
  animation: mnrv-hills 20s ease-in-out infinite alternate;
}
.scn-man-reason-varied .foreground-hill {
  position: absolute; bottom: 10%; left: -5%; right: -5%; height: 30%;
  background: linear-gradient(180deg, #4a5a5c 0%, #3a4a4c 100%);
  border-radius: 40% 60% 0 0/ 80% 70% 0 0;
  animation: mnrv-hill 25s ease-in-out infinite alternate;
}
.scn-man-reason-varied .contemplative-figure {
  position: absolute; bottom: 22%; left: 48%; width: 24px; height: 50px;
  background: radial-gradient(ellipse at 50% 40%, #1a2a2c 0%, #0f1a1c 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mnrv-figure 6s ease-in-out infinite;
}
.scn-man-reason-varied .tree-silhouette {
  position: absolute; bottom: 30%; left: 25%; width: 8px; height: 60px;
  background: #2a3a3c;
  border-radius: 20%;
  box-shadow: -20px 0 #2a3a3c, 20px 0 #2a3a3c, -40px 0 #2a3a3c;
  animation: mnrv-tree 12s ease-in-out infinite alternate;
}
.scn-man-reason-varied .drift-cloud {
  position: absolute; top: 15%; height: 20px; background: rgba(255,255,255,0.4); border-radius: 50%; filter: blur(8px);
}
.scn-man-reason-varied .cloud-1 {
  left: 10%; width: 80px; animation: mnrv-cloud 30s linear infinite;
}
.scn-man-reason-varied .cloud-2 {
  left: 50%; width: 60px; animation: mnrv-cloud 40s linear infinite reverse; animation-delay: -10s;
}
@keyframes mnrv-sky { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes mnrv-hills { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-2px) scale(1.01) } 100% { transform: translateY(0) scale(1) } }
@keyframes mnrv-hill { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes mnrv-figure { 0% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(-0.5deg) } }
@keyframes mnrv-tree { 0% { transform: rotate(-1deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-1deg) } }
@keyframes mnrv-cloud { 0% { transform: translateX(0) } 50% { transform: translateX(20px) } 100% { transform: translateX(40px) } }

/* animals-marry-naturally */
.scn-animals-marry-naturally {
  background: linear-gradient(180deg, #d1b88c 0%, #c4a87c 30%, #b89468 60%, #a07858 100%),
              radial-gradient(ellipse at 50% 0%, #e0c8a0 0%, transparent 70%);
}
.scn-animals-marry-naturally .warm-sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #d8c4a0 0%, transparent 100%);
  animation: amnn-sky 20s ease-in-out infinite alternate;
}
.scn-animals-marry-naturally .meadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, #7a9a5a 0%, #5a7a3a 100%);
  border-radius: 60% 40% 0 0 / 80% 60% 0 0;
  animation: amnn-meadow 18s ease-in-out infinite alternate;
}
.scn-animals-marry-naturally .animal-pair {
  position: absolute; bottom: 30%; width: 30px; height: 40px;
  background: #4a3a2a;
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
}
.scn-animals-marry-naturally .pair-left {
  left: 35%;
  animation: amnn-left 8s ease-in-out infinite;
}
.scn-animals-marry-naturally .pair-right {
  left: 55%;
  animation: amnn-right 8s ease-in-out infinite;
}
.scn-animals-marry-naturally .bush {
  position: absolute; bottom: 20%; left: 20%; width: 40px; height: 30px;
  background: #5a7a3a;
  border-radius: 50%;
  box-shadow: -10px -5px 0 #4a6a2a, 10px -5px 0 #4a6a2a;
  animation: amnn-bush 12s ease-in-out infinite alternate;
}
.scn-animals-marry-naturally .golden-drift {
  position: absolute; width: 6px; height: 6px; background: #f0d080; border-radius: 50%; filter: blur(2px);
}
.scn-animals-marry-naturally .particle-1 {
  top: 20%; left: 10%; animation: amnn-drift 12s ease-in-out infinite;
}
.scn-animals-marry-naturally .particle-2 {
  top: 30%; left: 70%; animation: amnn-drift 16s ease-in-out infinite reverse; animation-delay: -5s;
}
@keyframes amnn-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes amnn-meadow { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(1) } }
@keyframes amnn-left { 0% { transform: rotate(-5deg) translateY(0) } 25% { transform: rotate(0) translateY(-2px) } 50% { transform: rotate(5deg) translateY(0) } 75% { transform: rotate(0) translateY(-2px) } 100% { transform: rotate(-5deg) translateY(0) } }
@keyframes amnn-right { 0% { transform: rotate(5deg) translateY(0) } 25% { transform: rotate(0) translateY(-2px) } 50% { transform: rotate(-5deg) translateY(0) } 75% { transform: rotate(0) translateY(-2px) } 100% { transform: rotate(5deg) translateY(0) } }
@keyframes amnn-bush { 0% { transform: scale(1) rotate(-2deg) } 50% { transform: scale(1.05) rotate(2deg) } 100% { transform: scale(1) rotate(-2deg) } }
@keyframes amnn-drift { 0% { transform: translateY(0) } 50% { transform: translateY(-20px) } 100% { transform: translateY(0) } }

/* male-animal-procreation */
.scn-male-animal-procreation {
  background: linear-gradient(180deg, #b0c8b0 0%, #d0e0c0 30%, #e0f0d0 60%, #c0d0b0 100%),
              radial-gradient(ellipse at 50% 80%, #e0f0d0 0%, transparent 70%);
}
.scn-male-animal-procreation .spring-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #a0bcb0 0%, transparent 100%);
  animation: mapr-sky 18s ease-in-out infinite alternate;
}
.scn-male-animal-procreation .rolling-hills {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #7a9a6a 0%, #5a7a4a 100%);
  border-radius: 30% 70% 0 0 / 60% 80% 0 0;
  animation: mapr-hills 20s ease-in-out infinite alternate;
}
.scn-male-animal-procreation .male-animal {
  position: absolute; bottom: 25%; left: 30%; width: 28px; height: 38px;
  background: #4a5a3a;
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: mapr-male 6s ease-in-out infinite;
}
.scn-male-animal-procreation .female-animal {
  position: absolute; bottom: 25%; left: 50%; width: 24px; height: 34px;
  background: #5a6a4a;
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: mapr-female 6s ease-in-out infinite reverse;
}
.scn-male-animal-procreation .blossom-branch {
  position: absolute; bottom: 40%; left: 20%; width: 60px; height: 4px;
  background: #4a5a3a;
  border-radius: 2px;
  box-shadow: 10px -10px 0 #f0c0a0, 20px -5px 0 #f0c0a0, -5px -8px 0 #f0c0a0;
  animation: mapr-branch 12s ease-in-out infinite alternate;
}
.scn-male-animal-procreation .soft-cloud {
  position: absolute; top: 15%; background: rgba(255,255,255,0.3); border-radius: 50%; filter: blur(10px);
}
.scn-male-animal-procreation .c-a { left: 10%; width: 90px; height: 20px; animation: mapr-cloud 35s linear infinite; }
.scn-male-animal-procreation .c-b { left: 60%; width: 70px; height: 16px; animation: mapr-cloud 45s linear infinite reverse; animation-delay: -15s; }
.scn-male-animal-procreation .floating-petal {
  position: absolute; width: 6px; height: 6px; background: #f0b0a0; border-radius: 50%; filter: blur(1px);
}
.scn-male-animal-procreation .p-1 { top: 20%; left: 30%; animation: mapr-petal 8s ease-in infinite; }
.scn-male-animal-procreation .p-2 { top: 40%; left: 70%; animation: mapr-petal 10s ease-in infinite reverse; animation-delay: -4s; }
@keyframes mapr-sky { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes mapr-hills { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes mapr-male { 0% { transform: translateY(0) rotate(0) } 25% { transform: translateY(-3px) rotate(-5deg) } 50% { transform: translateY(0) rotate(0) } 75% { transform: translateY(-3px) rotate(5deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes mapr-female { 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 mapr-branch { 0% { transform: rotate(-3deg) } 50% { transform: rotate(3deg) } 100% { transform: rotate(-3deg) } }
@keyframes mapr-cloud { 0% { transform: translateX(0) } 50% { transform: translateX(30px) } 100% { transform: translateX(60px) } }
@keyframes mapr-petal { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(20px) rotate(180deg) } 100% { transform: translateY(40px) rotate(360deg) } }

/* animals-forethought-offspring */
.scn-animals-forethought-offspring {
  background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 30%, #4a3a2a 60%, #2a1a0a 100%),
              radial-gradient(ellipse at 50% 50%, #6a5a4a 0%, transparent 60%);
}
.scn-animals-forethought-offspring .nest-background {
  position: absolute; inset: 30% 20% 20% 20%;
  background: radial-gradient(ellipse at 50% 50%, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 50%;
  animation: afo-nest 20s ease-in-out infinite alternate;
}
.scn-animals-forethought-offspring .branch {
  position: absolute; top: 30%; left: 10%; right: 10%; height: 8px;
  background: #4a3a2a;
  border-radius: 4px;
  animation: afo-branch 15s ease-in-out infinite alternate;
}
.scn-animals-forethought-offspring .parent-bird {
  position: absolute; top: 25%; left: 45%; width: 30px; height: 20px;
  background: #3a2a1a;
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  transform-origin: center bottom;
  animation: afo-parent 4s ease-in-out infinite;
}
.scn-animals-forethought-offspring .chick-1 {
  position: absolute; top: 38%; left: 42%; width: 14px; height: 14px;
  background: #4a3a2a;
  border-radius: 50%;
  animation: afo-chick 3s ease-in-out infinite;
}
.scn-animals-forethought-offspring .chick-2 {
  position: absolute; top: 38%; left: 52%; width: 14px; height: 14px;
  background: #4a3a2a;
  border-radius: 50%;
  animation: afo-chick 3.5s ease-in-out infinite reverse;
}
.scn-animals-forethought-offspring .leaf {
  position: absolute; top: 20%; right: 15%; width: 20px; height: 10px;
  background: #5a7a3a;
  border-radius: 50% 0 50% 0;
  animation: afo-leaf 10s ease-in-out infinite alternate;
}
.scn-animals-forethought-offspring .soft-glow {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 50%, rgba(255,200,150,0.1) 0%, transparent 70%);
  animation: afo-glow 8s ease-in-out infinite alternate;
}
@keyframes afo-nest { 0% { transform: scale(1) } 50% { transform: scale(1.02) } 100% { transform: scale(1) } }
@keyframes afo-branch { 0% { transform: rotate(-1deg) } 50% { transform: rotate(1deg) } 100% { transform: rotate(-1deg) } }
@keyframes afo-parent { 0% { transform: rotate(0) scale(1) } 25% { transform: rotate(-10deg) scale(1.1) } 50% { transform: rotate(0) scale(1) } 75% { transform: rotate(10deg) scale(1.1) } 100% { transform: rotate(0) scale(1) } }
@keyframes afo-chick { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes afo-leaf { 0% { transform: rotate(0) } 50% { transform: rotate(20deg) } 100% { transform: rotate(0) } }
@keyframes afo-glow { 0% { opacity:0.3 } 50% { opacity:0.6 } 100% { opacity:0.3 } }

.scn-curiosity-diogenes-athlete {
  background: linear-gradient(180deg, #ffe8b0 0%, #ffd180 30%, #b8d4ff 60%, #7ab4ff 100%), radial-gradient(ellipse at 50% 0%, #fff5e0 0%, transparent 50%);
}
.scn-curiosity-diogenes-athlete .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #9ac8ff 0%, transparent 100%);
  animation: dog-sky 20s ease-in-out infinite alternate;
}
.scn-curiosity-diogenes-athlete .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #c8a86e 0%, #8b6f3a 100%);
  border-radius: 30% 70% 0 0 / 50% 80% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
}
.scn-curiosity-diogenes-athlete .sun {
  position: absolute; top: 10%; left: 70%; width: 60px; height: 60px;
  background: radial-gradient(circle, #fff4c0 0%, #ffd930 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px #ffd930, 0 0 120px 40px rgba(255,217,48,0.3);
  animation: dog-sun 12s ease-in-out infinite alternate;
}
.scn-curiosity-diogenes-athlete .chariot {
  position: absolute; bottom: 32%; left: 30%; width: 80px; height: 40px;
  background: linear-gradient(180deg, #c06020 0%, #8a3c0a 100%);
  border-radius: 8% 8% 12% 12% / 30% 30% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: dog-chariot 2s ease-in-out infinite;
}
.scn-curiosity-diogenes-athlete .horse {
  position: absolute; bottom: 32%; left: 38%; width: 70px; height: 50px;
  background: linear-gradient(180deg, #e0c8a0 0%, #a08050 100%);
  border-radius: 40% 60% 50% 50% / 70% 60% 40% 30%;
  transform-origin: 70% 100%;
  animation: dog-horse 1s ease-in-out infinite alternate;
}
.scn-curiosity-diogenes-athlete .athlete {
  position: absolute; bottom: 35%; left: 32%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #d08040 0%, #a05020 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: center bottom;
  animation: dog-athlete 3s ease-in-out infinite;
}
.scn-curiosity-diogenes-athlete .woman {
  position: absolute; bottom: 35%; right: 20%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #f0c890 0%, #c89860 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  animation: dog-woman 6s ease-in-out infinite alternate;
}
.scn-curiosity-diogenes-athlete .diogenes {
  position: absolute; bottom: 35%; left: 10%; width: 28px; height: 45px;
  background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 40% 40%;
  transform: scaleX(-1);
  animation: dog-diogenes 4s ease-in-out infinite;
}
@keyframes dog-sky { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes dog-sun { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-5px) scale(1.05); } 100% { transform: translateY(0) scale(1); } }
@keyframes dog-chariot { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes dog-horse { 0% { transform: rotate(-5deg); } 100% { transform: rotate(5deg); } }
@keyframes dog-athlete { 0% { transform: rotate(0) translateY(0); } 25% { transform: rotate(-15deg) translateY(-4px); } 50% { transform: rotate(0) translateY(0); } 75% { transform: rotate(20deg) translateY(-4px); } 100% { transform: rotate(0) translateY(0); } }
@keyframes dog-woman { 0% { transform: translateX(0); } 100% { transform: translateX(20px); } }
@keyframes dog-diogenes { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(10px) rotate(5deg); } 100% { transform: translateX(0) rotate(0); } }

.scn-curiosity-senses-maid {
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 40%, #0f0f1f 100%), radial-gradient(ellipse at 30% 50%, #3a3a5a 0%, transparent 70%);
}
.scn-curiosity-senses-maid .wall-bg {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #2e2e44 0%, #1e1e32 100%);
  animation: maid-wall 30s ease-in-out infinite alternate;
}
.scn-curiosity-senses-maid .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 0 0 0 0;
}
.scn-curiosity-senses-maid .window {
  position: absolute; top: 15%; left: 55%; width: 50px; height: 70px;
  background: radial-gradient(ellipse, #a0a0b0 0%, #4a4a5a 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 8px #2a2a3e;
  animation: maid-window 18s ease-in-out infinite alternate;
}
.scn-curiosity-senses-maid .maid {
  position: absolute; bottom: 18%; left: 30%; width: 22px; height: 55px;
  background: linear-gradient(180deg, #d0c0a0 0%, #a09070 100%);
  border-radius: 30% 30% 40% 40% / 40% 40% 50% 50%;
  animation: maid-walk 8s ease-in-out infinite;
}
.scn-curiosity-senses-maid .broom {
  position: absolute; bottom: 18%; left: 40%; width: 4px; height: 40px;
  background: #6a5a3a;
  border-radius: 2px;
  transform-origin: 2px 100%;
  animation: maid-broom 4s ease-in-out infinite;
}
.scn-curiosity-senses-maid .dust {
  position: absolute; bottom: 20%; left: 45%; width: 30px; height: 6px;
  background: rgba(200,180,160,0.3);
  border-radius: 50%;
  filter: blur(3px);
  animation: maid-dust 12s linear infinite;
}
.scn-curiosity-senses-maid .shadow {
  position: absolute; bottom: 18%; left: 28%; width: 40px; height: 20px;
  background: rgba(0,0,0,0.3);
  border-radius: 50%;
  filter: blur(6px);
}
@keyframes maid-wall { 0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes maid-window { 0% { opacity: 0.3; box-shadow: inset 0 0 8px #2a2a3e; } 50% { opacity: 0.8; box-shadow: inset 0 0 20px #6a6a7a; } 100% { opacity: 0.4; box-shadow: inset 0 0 8px #2a2a3e; } }
@keyframes maid-walk { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(10px) rotate(3deg); } 50% { transform: translateX(20px) rotate(0); } 75% { transform: translateX(30px) rotate(-3deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes maid-broom { 0%,100% { transform: rotate(-10deg); } 50% { transform: rotate(20deg); } }
@keyframes maid-dust { 0% { transform: translateX(0) scale(1); } 100% { transform: translateX(120px) scale(1.5); opacity: 0; } }

.scn-curiosity-horses-bolt {
  background: linear-gradient(180deg, #1f1a24 0%, #2a202e 40%, #18121c 100%), radial-gradient(ellipse at 50% 60%, #3a2840 0%, transparent 70%);
}
.scn-curiosity-horses-bolt .stable-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a1e1e 0%, #1e1212 100%);
  animation: hor-wall 6s ease-in-out infinite alternate;
}
.scn-curiosity-horses-bolt .straw {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: #4a3a1a;
  border-radius: 10% 0 0 0;
}
.scn-curiosity-horses-bolt .lantern {
  position: absolute; top: 20%; left: 10%; width: 12px; height: 16px;
  background: radial-gradient(circle, #ffb040 0%, #c08020 100%);
  border-radius: 4px;
  box-shadow: 0 0 20px 6px #ffb040, 0 0 40px 12px rgba(255,176,64,0.4);
  animation: hor-lantern 3s ease-in-out infinite alternate;
}
.scn-curiosity-horses-bolt .horse-rear {
  position: absolute; bottom: 30%; left: 40%; width: 80px; height: 60px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e06 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: 50% 100%;
  animation: hor-horse1 1.5s ease-in-out infinite;
}
.scn-curiosity-horses-bolt .horse-second {
  position: absolute; bottom: 30%; left: 55%; width: 70px; height: 55px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0e 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: 50% 100%;
  animation: hor-horse2 1.8s ease-in-out infinite;
}
.scn-curiosity-horses-bolt .rein-snap {
  position: absolute; bottom: 40%; left: 48%; width: 30px; height: 2px;
  background: #6a5a3a;
  animation: hor-rein 0.5s ease-in-out infinite;
}
.scn-curiosity-horses-bolt .spark {
  position: absolute; bottom: 40%; left: 70%; width: 6px; height: 6px;
  background: #ffe0a0;
  border-radius: 50%;
  box-shadow: 0 0 8px 2px #ffe0a0;
  animation: hor-spark 1.2s linear infinite;
}
@keyframes hor-wall { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes hor-lantern { 0% { opacity: 0.7; box-shadow: 0 0 15px 4px #ffb040, 0 0 30px 8px rgba(255,176,64,0.3); } 100% { opacity: 1; box-shadow: 0 0 25px 8px #ffb040, 0 0 50px 16px rgba(255,176,64,0.5); } }
@keyframes hor-horse1 { 0% { transform: rotate(-8deg) translateY(0); } 25% { transform: rotate(5deg) translateY(-5px); } 50% { transform: rotate(-8deg) translateY(0); } 75% { transform: rotate(8deg) translateY(-5px); } 100% { transform: rotate(-8deg) translateY(0); } }
@keyframes hor-horse2 { 0% { transform: rotate(5deg) translateY(0); } 25% { transform: rotate(-8deg) translateY(-3px); } 50% { transform: rotate(5deg) translateY(0); } 75% { transform: rotate(-5deg) translateY(-3px); } 100% { transform: rotate(5deg) translateY(0); } }
@keyframes hor-rein { 0%,100% { transform: scaleX(1); } 50% { transform: scaleX(1.5); } }
@keyframes hor-spark { 0% { transform: translate(0,0) scale(1); } 100% { transform: translate(50px,-20px) scale(0); } }

.scn-curiosity-democritus-eyesight {
  background: linear-gradient(180deg, #1f1a14 0%, #2a221c 40%, #15100c 100%), radial-gradient(ellipse at 60% 50%, #3a2e22 0%, transparent 70%);
}
.scn-curiosity-democritus-eyesight .room-wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #2a2220 0%, #1a1412 100%);
  animation: dem-wall 30s ease-in-out infinite alternate;
}
.scn-curiosity-democritus-eyesight .table {
  position: absolute; bottom: 25%; left: 40%; width: 60px; height: 30px;
  background: linear-gradient(180deg, #6a5030 0%, #3a2a18 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.scn-curiosity-democritus-eyesight .candle {
  position: absolute; bottom: 48%; left: 42%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #ffe0b0 0%, #c08a40 100%);
  border-radius: 2px 2px 50% 50%;
  box-shadow: 0 -4px 16px 4px #ffc070;
  animation: dem-candle 4s ease-in-out infinite alternate;
}
.scn-curiosity-democritus-eyesight .burning-glass {
  position: absolute; bottom: 43%; left: 50%; width: 18px; height: 18px;
  background: radial-gradient(circle, #c0e0ff 0%, #8aaad0 60%, #4a6a8a 100%);
  border-radius: 50%;
  box-shadow: 0 0 10px 2px rgba(120,160,200,0.5);
  animation: dem-glass 6s ease-in-out infinite;
}
.scn-curiosity-democritus-eyesight .window-shuttered {
  position: absolute; top: 10%; left: 70%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e06 100%);
  border-radius: 2px;
  box-shadow: inset 0 0 6px #0a0604;
}
.scn-curiosity-democritus-eyesight .democritus {
  position: absolute; bottom: 25%; left: 38%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #c0a080 0%, #806040 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: dem-figure 10s ease-in-out infinite alternate;
}
.scn-curiosity-democritus-eyesight .book {
  position: absolute; bottom: 28%; left: 46%; width: 20px; height: 14px;
  background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%);
  border-radius: 1px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
}
@keyframes dem-wall { 0% { opacity:0.6; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes dem-candle { 0% { opacity:0.8; transform: translateY(0) scaleY(1); } 50% { opacity:1; transform: translateY(-2px) scaleY(1.05); } 100% { opacity:0.9; transform: translateY(0) scaleY(1); } }
@keyframes dem-glass { 0% { transform: rotate(0) scale(1); } 50% { transform: rotate(10deg) scale(1.05); } 100% { transform: rotate(0) scale(1); } }
@keyframes dem-figure { 0% { transform: translateX(0) rotate(0); } 30% { transform: translateX(5px) rotate(3deg); } 60% { transform: translateX(0) rotate(0); } 100% { transform: translateX(-3px) rotate(-2deg); } }

/* scene 1: curiosity-hounds-scent – sunlit, calm */
.scn-curiosity-hounds-scent {
  background: linear-gradient(180deg, #87ceeb 0%, #f0e68c 40%, #f5deb3 70%), radial-gradient(ellipse at 30% 20%, #fff8dc 0%, transparent 60%);
  position: relative; height: 100%; overflow: hidden;
}
.scn-curiosity-hounds-scent .sky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #cce5ff 0%, transparent 100%);
  animation: sc1-sky 14s ease-in-out infinite alternate;
}
.scn-curiosity-hounds-scent .sun {
  position: absolute; top: 12%; left: 65%; width: 50px; height: 50px;
  background: radial-gradient(circle, #fff5cc 0%, #ffd700 40%, #ffb90f 70%);
  border-radius: 50%; box-shadow: 0 0 60px 30px rgba(255,215,0,0.5);
  animation: sc1-sun 20s ease-in-out infinite;
}
.scn-curiosity-hounds-scent .field {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #7cb342 0%, #558b2f 40%, #33691e 100%);
  border-radius: 40% 30% 0 0 / 100% 80% 0 0;
  animation: sc1-field 12s ease-in-out infinite alternate;
}
.scn-curiosity-hounds-scent .hunter {
  position: absolute; bottom: 28%; left: 25%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #6b421a 0%, #3e2723 50%, #1a0f0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sc1-hunter 5s ease-in-out infinite;
}
.scn-curiosity-hounds-scent .hounds {
  position: absolute; bottom: 22%; left: 40%; width: 24px; height: 28px;
  background: linear-gradient(135deg, #8d6e63 0%, #4e342e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: sc1-hounds 4s ease-in-out infinite;
}
.scn-curiosity-hounds-scent .leash {
  position: absolute; bottom: 35%; left: 27%; width: 40px; height: 2px;
  background: #5d4037; transform: rotate(25deg);
  animation: sc1-leash 5s ease-in-out infinite;
}
.scn-curiosity-hounds-scent .scent-trail {
  position: absolute; bottom: 20%; left: 50%; width: 80px; height: 10px;
  background: linear-gradient(90deg, transparent, rgba(255,235,179,0.4) 30%, transparent 70%);
  filter: blur(4px); border-radius: 50%;
  animation: sc1-scent 8s ease-in-out infinite;
}
@keyframes sc1-sky { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes sc1-sun { 0% { transform: translateY(0) scale(1); box-shadow: 0 0 60px 30px rgba(255,215,0,0.5); } 50% { transform: translateY(-5px) scale(1.03); box-shadow: 0 0 80px 40px rgba(255,215,0,0.6); } 100% { transform: translateY(2px) scale(0.98); box-shadow: 0 0 50px 25px rgba(255,215,0,0.4); } }
@keyframes sc1-field { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }
@keyframes sc1-hunter { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(8px) rotate(2deg); } 50% { transform: translateX(16px) rotate(0deg); } 75% { transform: translateX(8px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes sc1-hounds { 0% { transform: translateX(0) translateY(0); } 25% { transform: translateX(5px) translateY(-2px); } 50% { transform: translateX(10px) translateY(0); } 75% { transform: translateX(5px) translateY(-1px); } 100% { transform: translateX(0) translateY(0); } }
@keyframes sc1-leash { 0%,100% { transform: rotate(25deg) } 50% { transform: rotate(30deg) } }
@keyframes sc1-scent { 0% { opacity: 0; transform: scaleX(0.5); } 50% { opacity: 1; transform: scaleX(1.2); } 100% { opacity: 0; transform: scaleX(0.5); } }

/* scene 2: curiosity-eagles-claws – calm, dim-interior */
.scn-curiosity-eagles-claws {
  background: linear-gradient(180deg, #2c2c3e 0%, #1e1e2a 40%, #0d0d14 100%), radial-gradient(ellipse at 50% 80%, #3a3a5a 0%, transparent 70%);
  position: relative; height: 100%; overflow: hidden;
}
.scn-curiosity-eagles-claws .wall {
  position: absolute; inset: 0; 
  background: linear-gradient(135deg, #3a3a4a 0%, #252533 50%, #12121a 100%);
}
.scn-curiosity-eagles-claws .window {
  position: absolute; top: 20%; left: 10%; width: 80px; height: 100px;
  background: linear-gradient(180deg, #4a6a7a 0%, #2a3a4a 100%);
  border: 6px solid #2a2a3a; border-radius: 4px; box-shadow: inset 0 0 30px rgba(0,0,0,0.8), 0 0 20px rgba(0,0,0,0.5);
  animation: sc2-window 15s ease-in-out infinite alternate;
}
.scn-curiosity-eagles-claws .eagle {
  position: absolute; bottom: 25%; left: 50%; width: 70px; height: 90px;
  background: linear-gradient(180deg, #5d4037 0%, #3e2723 40%, #1e1110 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sc2-eagle 8s ease-in-out infinite;
}
.scn-curiosity-eagles-claws .talon {
  position: absolute; bottom: 18%; left: 48%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #6d4c41 0%, #4e342e 100%);
  border-radius: 40% 40% 20% 20%; transform: rotate(10deg);
  box-shadow: inset 0 2px 4px #1a0f0a;
  animation: sc2-talon 6s ease-in-out infinite alternate;
}
.scn-curiosity-eagles-claws .perch {
  position: absolute; bottom: 20%; left: 35%; width: 100px; height: 8px;
  background: linear-gradient(90deg, #4e342e 0%, #3e2723 50%, #2a1a14 100%);
  border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,0.6);
}
.scn-curiosity-eagles-claws .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.5) 100%);
  animation: sc2-shadow 10s ease-in-out infinite alternate;
}
@keyframes sc2-window { 0% { opacity: 0.6; transform: scale(0.95); } 50% { opacity: 0.8; transform: scale(1.02); } 100% { opacity: 0.7; transform: scale(1); } }
@keyframes sc2-eagle { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-3px) rotate(-1deg); } 50% { transform: translateY(0) rotate(1deg); } 75% { transform: translateY(-2px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes sc2-talon { 0% { transform: rotate(10deg) scaleY(1); } 50% { transform: rotate(5deg) scaleY(1.1); } 100% { transform: rotate(10deg) scaleY(1); } }
@keyframes sc2-shadow { 0% { opacity: 0.4; } 50% { opacity: 0.6; } 100% { opacity: 0.5; } }

/* scene 3: curiosity-zenocrates-feet – calm, dim-interior */
.scn-curiosity-zenocrates-feet {
  background: linear-gradient(180deg, #1a1a2e 0%, #16213e 40%, #0f3460 100%), radial-gradient(ellipse at 40% 60%, #1a2a4a 0%, transparent 70%);
  position: relative; height: 100%; overflow: hidden;
}
.scn-curiosity-zenocrates-feet .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
}
.scn-curiosity-zenocrates-feet .house-wall {
  position: absolute; bottom: 15%; left: 10%; width: 50%; height: 85%;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%);
  border-radius: 4px; box-shadow: -10px 0 20px rgba(0,0,0,0.6);
}
.scn-curiosity-zenocrates-feet .door {
  position: absolute; bottom: 15%; left: 25%; width: 60px; height: 100px;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  border: 4px solid #2a1a0a; border-radius: 4px;
  animation: sc3-door 14s ease-in-out infinite alternate;
}
.scn-curiosity-zenocrates-feet .interior {
  position: absolute; bottom: 25%; left: 28%; width: 50px; height: 60px;
  background: linear-gradient(180deg, #f0c860 0%, #d4a040 100%);
  box-shadow: 0 0 30px 10px rgba(212,160,64,0.5);
  border-radius: 2px; animation: sc3-interior 6s ease-in-out infinite;
}
.scn-curiosity-zenocrates-feet .figure {
  position: absolute; bottom: 10%; left: 65%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, #0a0a14 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  animation: sc3-figure 4s ease-in-out infinite;
}
.scn-curiosity-zenocrates-feet .averted-head {
  position: absolute; bottom: 45%; left: 63%; width: 18px; height: 18px;
  background: radial-gradient(circle, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 50%; transform: rotate(30deg);
  animation: sc3-head 4s ease-in-out infinite;
}
.scn-curiosity-zenocrates-feet .feet {
  position: absolute; bottom: 5%; left: 68%; width: 20px; height: 10px;
  background: linear-gradient(90deg, #1a1a2a 0%, #2a2a3a 100%);
  border-radius: 40% 40% 20% 20%;
  animation: sc3-feet 4s ease-in-out infinite;
}
@keyframes sc3-door { 0% { transform: scaleX(1); } 50% { transform: scaleX(0.95); } 100% { transform: scaleX(1); } }
@keyframes sc3-interior { 0% { opacity: 0.7; box-shadow: 0 0 20px 8px rgba(212,160,64,0.4); } 50% { opacity: 0.9; box-shadow: 0 0 40px 20px rgba(212,160,64,0.6); } 100% { opacity: 0.8; box-shadow: 0 0 25px 10px rgba(212,160,64,0.5); } }
@keyframes sc3-figure { 0% { transform: translateX(0) translateY(0); } 25% { transform: translateX(-3px) translateY(-1px); } 50% { transform: translateX(0) translateY(0); } 75% { transform: translateX(3px) translateY(-1px); } 100% { transform: translateX(0) translateY(0); } }
@keyframes sc3-head { 0% { transform: rotate(30deg) translateX(0); } 25% { transform: rotate(20deg) translateX(2px); } 50% { transform: rotate(30deg) translateX(0); } 75% { transform: rotate(40deg) translateX(-2px); } 100% { transform: rotate(30deg) translateX(0); } }
@keyframes sc3-feet { 0% { transform: translateX(0) scaleX(1); } 25% { transform: translateX(-2px) scaleX(1.1); } 50% { transform: translateX(0) scaleX(1); } 75% { transform: translateX(2px) scaleX(0.9); } 100% { transform: translateX(0) scaleX(1); } }

/* scene 4: curiosity-untoward-sights – calm, dim-interior */
.scn-curiosity-untoward-sights {
  background: linear-gradient(180deg, #1e1e2a 0%, #2a2a3a 30%, #1a1a2a 70%), radial-gradient(ellipse at 50% 90%, #3a3a4a 0%, transparent 70%);
  position: relative; height: 100%; overflow: hidden;
}
.scn-curiosity-untoward-sights .back-wall {
  position: absolute; top: 0; left: 0; right: 0; bottom: 35%;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%);
  border-bottom: 4px solid #1a1a2a;
}
.scn-curiosity-untoward-sights .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
}
.scn-curiosity-untoward-sights .table {
  position: absolute; bottom: 20%; left: 20%; width: 60%; height: 12px;
  background: linear-gradient(90deg, #5d4037 0%, #4e342e 50%, #3e2723 100%);
  border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: sc4-table 10s ease-in-out infinite alternate;
}
.scn-curiosity-untoward-sights .utensil-1 {
  position: absolute; bottom: 22%; left: 30%; width: 10px; height: 20px;
  background: #6d4c41; border-radius: 0 0 20% 20%;
  transform: rotate(25deg); animation: sc4-utensil1 6s ease-in-out infinite;
}
.scn-curiosity-untoward-sights .utensil-2 {
  position: absolute; bottom: 21%; left: 55%; width: 12px; height: 16px;
  background: #8d6e63; border-radius: 20% 20% 0 0;
  transform: rotate(-15deg); animation: sc4-utensil2 7s ease-in-out infinite;
}
.scn-curiosity-untoward-sights .maid {
  position: absolute; bottom: 18%; left: 45%; width: 28px; height: 50px;
  background: linear-gradient(180deg, #6d4c41 0%, #4e342e 40%, #3e2723 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sc4-maid 5s ease-in-out infinite;
}
.scn-curiosity-untoward-sights .maid-shadow {
  position: absolute; bottom: 10%; left: 40%; width: 40px; height: 8px;
  background: rgba(0,0,0,0.4); border-radius: 50%;
  filter: blur(3px); animation: sc4-shadow 5s ease-in-out infinite;
}
@keyframes sc4-table { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-2px) scaleX(1.02); } 100% { transform: translateY(0) scaleX(1); } }
@keyframes sc4-utensil1 { 0% { transform: rotate(25deg) translateY(0); } 25% { transform: rotate(30deg) translateY(-3px); } 50% { transform: rotate(25deg) translateY(0); } 75% { transform: rotate(20deg) translateY(-2px); } 100% { transform: rotate(25deg) translateY(0); } }
@keyframes sc4-utensil2 { 0% { transform: rotate(-15deg) translateY(0); } 25% { transform: rotate(-20deg) translateY(-2px); } 50% { transform: rotate(-15deg) translateY(0); } 75% { transform: rotate(-10deg) translateY(-1px); } 100% { transform: rotate(-15deg) translateY(0); } }
@keyframes sc4-maid { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 20% { transform: translateX(4px) translateY(-2px) rotate(2deg); } 40% { transform: translateX(8px) translateY(0) rotate(0deg); } 60% { transform: translateX(4px) translateY(-1px) rotate(-2deg); } 80% { transform: translateX(0) translateY(0) rotate(0deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }
@keyframes sc4-shadow { 0% { transform: scale(1); opacity: 0.4; } 25% { transform: scale(1.1); opacity: 0.5; } 50% { transform: scale(1); opacity: 0.4; } 75% { transform: scale(0.9); opacity: 0.3; } 100% { transform: scale(1); opacity: 0.4; } }

.scn-bashfulness-flatterers-applause {
  background: radial-gradient(ellipse at 50% 100%, #1e1a13 0%, #0d0b08 70%), linear-gradient(180deg, #2a241c 0%, #18140f 100%);
}
.scn-bashfulness-flatterers-applause .room-bg { position:absolute; inset:0; background: linear-gradient(180deg, #3a3228 0%, #1a1610 100%); }
.scn-bashfulness-flatterers-applause .stage { position:absolute; bottom:20%; left:10%; right:10%; height:35%; background: linear-gradient(180deg, #4a3f32 0%, #2a2218 100%); border-radius:30% 30% 0 0; box-shadow: inset 0 8px 12px rgba(0,0,0,.6); }
.scn-bashfulness-flatterers-applause .podium { position:absolute; bottom:35%; left:50%; width:30px; height:25%; transform:translateX(-50%); background: linear-gradient(180deg, #5a4a38 0%, #3a2e20 100%); border-radius:20% 20% 4% 4%; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-bashfulness-flatterers-applause .speaker { position:absolute; bottom:45%; left:50%; width:24px; height:50px; transform:translateX(-50%); background: linear-gradient(180deg, #1a1610 0%, #0d0a08 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: bfa-speak 4s ease-in-out infinite; }
.scn-bashfulness-flatterers-applause .flatterer { position:absolute; bottom:30%; width:20px; height:40px; background: linear-gradient(180deg, #2a241c 0%, #1a1610 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: bfa-clap 3s ease-in-out infinite; }
.scn-bashfulness-flatterers-applause .flatterer-1 { left:18%; animation-delay:0s; }
.scn-bashfulness-flatterers-applause .flatterer-2 { left:38%; animation-delay:0.6s; }
.scn-bashfulness-flatterers-applause .flatterer-3 { left:62%; animation-delay:1.2s; }
.scn-bashfulness-flatterers-applause .lamp-glow { position:absolute; top:10%; left:50%; width:120px; height:120px; transform:translateX(-50%); background: radial-gradient(circle, #c8a060 0%, rgba(200,160,96,0.3) 40%, transparent 70%); border-radius:50%; animation: bfa-glow 6s ease-in-out infinite alternate; }
.scn-bashfulness-flatterers-applause .shadow-veil { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 100%, transparent 0%, rgba(0,0,0,.4) 80%); pointer-events:none; animation: bfa-veil 8s ease-in-out infinite; }
@keyframes bfa-speak { 0% { transform:translateX(-50%) translateY(0) rotate(0deg); } 30% { transform:translateX(-50%) translateY(-3px) rotate(2deg); } 60% { transform:translateX(-50%) translateY(0) rotate(-1deg); } 100% { transform:translateX(-50%) translateY(0) rotate(0deg); } }
@keyframes bfa-clap { 0%,100% { transform: translateY(0) scaleY(1); } 25% { transform: translateY(-5px) scaleY(0.9); } 50% { transform: translateY(-2px) scaleY(1.05); } 75% { transform: translateY(-5px) scaleY(0.9); } }
@keyframes bfa-glow { 0% { opacity:.6; transform: translateX(-50%) scale(0.95); } 50% { opacity:1; transform: translateX(-50%) scale(1.1); } 100% { opacity:.7; transform: translateX(-50%) scale(1); } }
@keyframes bfa-veil { 0%,100% { opacity:.8; } 50% { opacity:.9; } }

.scn-bashfulness-pericles-altar {
  background: radial-gradient(ellipse at 50% 30%, #3a2818 0%, #0d0a05 80%), linear-gradient(180deg, #1c140e 0%, #0f0b07 100%);
}
.scn-bashfulness-pericles-altar .chamber-bg { position:absolute; inset:0; background: linear-gradient(180deg, #2a1e14 0%, #0f0b07 100%); }
.scn-bashfulness-pericles-altar .altar-block { position:absolute; bottom:25%; left:50%; width:80px; height:50px; transform:translateX(-50%); background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%); border-radius:8% 8% 4% 4%; box-shadow: 0 6px 12px rgba(0,0,0,.6); }
.scn-bashfulness-pericles-altar .altar-flame { position:absolute; bottom:45%; left:50%; width:16px; height:28px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 100%, #ffaa40 0%, #d07020 60%, transparent 100%); border-radius:50% 50% 20% 20%; animation: bpa-flame 2s ease-in-out infinite alternate; }
.scn-bashfulness-pericles-altar .pericles-fig { position:absolute; bottom:28%; left:42%; width:20px; height:45px; background: linear-gradient(180deg, #1a1410 0%, #0d0a07 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform:rotate(5deg); animation: bpa-pericles 5s ease-in-out infinite; }
.scn-bashfulness-pericles-altar .friend-fig { position:absolute; bottom:28%; left:56%; width:18px; height:40px; background: linear-gradient(180deg, #2a2018 0%, #1a1410 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform:rotate(-5deg); animation: bpa-friend 5s ease-in-out infinite; }
.scn-bashfulness-pericles-altar .torchlight { position:absolute; top:5%; left:50%; width:160px; height:200px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 0%, #ffcc80 0%, rgba(255,204,128,0.15) 50%, transparent 80%); border-radius:50%; animation: bpa-torch 4s ease-in-out infinite alternate; }
.scn-bashfulness-pericles-altar .vignette { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 50%, transparent 50%, rgba(0,0,0,.5) 100%); pointer-events:none; }
@keyframes bpa-flame { 0% { height:28px; opacity:.8; transform:translateX(-50%) scaleY(1); } 50% { height:34px; opacity:1; transform:translateX(-50%) scaleY(1.15); } 100% { height:26px; opacity:.85; transform:translateX(-50%) scaleY(0.95); } }
@keyframes bpa-pericles { 0%,100% { transform:rotate(5deg) translateY(0); } 50% { transform:rotate(3deg) translateY(-3px); } }
@keyframes bpa-friend { 0%,100% { transform:rotate(-5deg) translateY(0); } 50% { transform:rotate(-3deg) translateY(-2px); } }
@keyframes bpa-torch { 0% { opacity:.6; transform:translateX(-50%) scale(0.95); } 50% { opacity:1; transform:translateX(-50%) scale(1.05); } 100% { opacity:.7; transform:translateX(-50%) scale(0.98); } }

.scn-thespesius-underworld {
  background: radial-gradient(ellipse at 50% 100%, #4a1a0a 0%, #0a0502 80%), linear-gradient(180deg, #1a0a05 0%, #0a0502 100%);
}
.scn-thespesius-underworld .cave-bg { position:absolute; inset:0; background: linear-gradient(180deg, #0d0704 0%, #1a0a05 100%); }
.scn-thespesius-underworld .fire-pit { position:absolute; bottom:18%; width:60px; height:40px; background: radial-gradient(ellipse at 50% 100%, #e07020 0%, #801000 60%, transparent 80%); border-radius:50%; animation: thu-fire 3s ease-in-out infinite alternate; }
.scn-thespesius-underworld .fire-pit-1 { left:20%; animation-delay:0s; }
.scn-thespesius-underworld .fire-pit-2 { right:20%; animation-delay:1.5s; }
.scn-thespesius-underworld .thespesius { position:absolute; bottom:25%; left:35%; width:22px; height:50px; background: linear-gradient(180deg, #1a0a05 0%, #0d0402 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: thu-walk 6s ease-in-out infinite; }
.scn-thespesius-underworld .guide { position:absolute; bottom:25%; left:50%; width:20px; height:48px; background: linear-gradient(180deg, #2a1410 0%, #1a0a05 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: thu-guide 6s ease-in-out infinite; }
.scn-thespesius-underworld .souls { position:absolute; bottom:15%; left:15%; right:15%; height:20%; background: repeating-linear-gradient(90deg, rgba(80,30,10,0.3) 0px, rgba(80,30,10,0.1) 10px, transparent 20px); animation: thu-souls 12s linear infinite; }
.scn-thespesius-underworld .smoke { position:absolute; top:10%; left:0; right:0; height:30%; background: radial-gradient(ellipse at 50% 0%, rgba(120,60,20,0.15) 0%, transparent 70%); animation: thu-smoke 20s ease-in-out infinite alternate; }
@keyframes thu-fire { 0% { transform:scaleY(1) translateY(0); opacity:.7; } 50% { transform:scaleY(1.3) translateY(-4px); opacity:1; } 100% { transform:scaleY(0.9) translateY(2px); opacity:.8; } }
@keyframes thu-walk { 0%,100% { transform:translateX(0) rotate(0deg); } 25% { transform:translateX(8px) rotate(2deg); } 50% { transform:translateX(16px) rotate(0deg); } 75% { transform:translateX(8px) rotate(-2deg); } }
@keyframes thu-guide { 0%,100% { transform:translateX(0) rotate(0deg); } 25% { transform:translateX(6px) rotate(-1deg); } 50% { transform:translateX(12px) rotate(0deg); } 75% { transform:translateX(6px) rotate(1deg); } }
@keyframes thu-souls { 0% { opacity:.3; } 50% { opacity:.6; } 100% { opacity:.3; } }
@keyframes thu-smoke { 0% { transform:translateY(0) scale(1); opacity:.2; } 50% { transform:translateY(-8px) scale(1.1); opacity:.4; } 100% { transform:translateY(-4px) scale(0.95); opacity:.2; } }

.scn-punishment-father {
  background: radial-gradient(ellipse at 50% 20%, #3a1005 0%, #050200 100%), linear-gradient(180deg, #0d0502 0%, #050200 100%);
}
.scn-punishment-father .gulf-bg { position:absolute; inset:0; background: linear-gradient(180deg, #0a0502 0%, #1a0803 100%); }
.scn-punishment-father .father-fig { position:absolute; bottom:20%; left:50%; width:24px; height:55px; transform:translateX(-50%); background: linear-gradient(180deg, #2a0c03 0%, #0d0301 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: puf-rise 8s ease-in-out infinite; }
.scn-punishment-father .chains { position:absolute; bottom:35%; left:45%; width:40px; height:30px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); clip-path: polygon(0% 0%, 30% 20%, 50% 0%, 70% 20%, 100% 0%, 80% 50%, 100% 100%, 50% 80%, 0% 100%, 20% 50%); animation: puf-chains 4s ease-in-out infinite; }
.scn-punishment-father .fire-glow { position:absolute; top:10%; left:30%; width:200px; height:200px; background: radial-gradient(circle, #e08030 0%, rgba(200,80,20,0.2) 40%, transparent 70%); border-radius:50%; animation: puf-glow 5s ease-in-out infinite alternate; }
.scn-punishment-father .torture-shade { position:absolute; bottom:0; left:0; right:0; height:15%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.7) 100%); }
.scn-punishment-father .particles { position:absolute; inset:0; background: radial-gradient(circle at 20% 30%, rgba(255,160,80,0.1) 0%, transparent 5%), radial-gradient(circle at 60% 50%, rgba(255,160,80,0.08) 0%, transparent 8%), radial-gradient(circle at 80% 20%, rgba(255,160,80,0.12) 0%, transparent 4%); animation: puf-particles 15s linear infinite; }
@keyframes puf-rise { 0% { transform:translateX(-50%) translateY(0); } 30% { transform:translateX(-50%) translateY(-12px) rotate(1deg); } 60% { transform:translateX(-50%) translateY(-5px) rotate(-1deg); } 100% { transform:translateX(-50%) translateY(0); } }
@keyframes puf-chains { 0%,100% { transform:rotate(-5deg); } 50% { transform:rotate(5deg); } }
@keyframes puf-glow { 0% { opacity:.5; transform:scale(0.95); } 50% { opacity:1; transform:scale(1.1); } 100% { opacity:.6; transform:scale(1); } }
@keyframes puf-particles { 0% { background-position:0% 0%, 0% 0%, 0% 0%; } 100% { background-position:20% 100%, -20% 100%, 40% 100%; } }

/* education-famous-men — warm interior */
.scn-education-famous-men {
  background: linear-gradient(180deg, #f5e6d0 0%, #d4b48c 60%, #a67c52 100%), radial-gradient(ellipse at 30% 20%, #fff8e0 0%, transparent 60%);
}
.scn-education-famous-men .fm-wall { position:absolute; inset:0; background: linear-gradient(135deg, #e6d5b8 0%, #cba87a 100%); }
.scn-education-famous-men .fm-window { position:absolute; top:10%; left:10%; width:30%; height:40%; background: linear-gradient(135deg, #fff8e0 0%, #e6d5b8 100%); border-radius:10px; box-shadow:inset 0 0 20px rgba(255,255,255,0.5); animation: fm-glow 6s ease-in-out infinite alternate; }
.scn-education-famous-men .fm-table { position:absolute; bottom:15%; left:20%; width:60%; height:18%; background: linear-gradient(180deg, #8b5e3c 0%, #5c3a21 100%); border-radius:6px; }
.scn-education-famous-men .fm-figure { position:absolute; bottom:30%; width:30px; height:60px; background:#3a2518; border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: fm-breathe 4s ease-in-out infinite; }
.scn-education-famous-men .fm-left { left:25%; }
.scn-education-famous-men .fm-center { left:45%; width:35px; height:65px; }
.scn-education-famous-men .fm-right { left:65%; }
.scn-education-famous-men .fm-lamp { position:absolute; bottom:33%; left:48%; width:12px; height:20px; background:#c88a3d; border-radius:50% 50% 10% 10%; box-shadow:0 0 15px 5px #ffd060; animation: fm-glow 3s ease-in-out infinite alternate; }
.scn-education-famous-men .fm-scroll { position:absolute; bottom:12%; left:40%; width:40px; height:8px; background:#e6cba0; border-radius:30%; transform:rotate(-10deg); animation: fm-slide 12s ease-in-out infinite; }
@keyframes fm-glow { 0% { opacity:0.7; box-shadow:0 0 10px 2px #ffd060; } 50% { opacity:1; box-shadow:0 0 25px 6px #ffd060; } 100% { opacity:0.8; box-shadow:0 0 15px 3px #ffd060; } }
@keyframes fm-breathe { 0% { transform:scaleY(1) translateY(0); } 50% { transform:scaleY(1.02) translateY(-2px); } 100% { transform:scaleY(1) translateY(0); } }
@keyframes fm-slide { 0% { transform:rotate(-10deg) translateX(0); } 25% { transform:rotate(-5deg) translateX(10px); } 50% { transform:rotate(-10deg) translateX(0); } 75% { transform:rotate(-15deg) translateX(-10px); } 100% { transform:rotate(-10deg) translateX(0); } }

/* education-deficiency-remedy — calm study */
.scn-education-deficiency-remedy {
  background: linear-gradient(180deg, #c0d6e4 0%, #e6f0f5 50%, #f5f0e6 100%), radial-gradient(ellipse at 80% 20%, #ffffff 0%, transparent 70%);
}
.scn-education-deficiency-remedy .dr-wall { position:absolute; inset:0; background: linear-gradient(180deg, #d4e0e8 0%, #b8c8d4 100%); }
.scn-education-deficiency-remedy .dr-window { position:absolute; top:12%; right:10%; width:28%; height:45%; background: linear-gradient(135deg, #ffffff 0%, #e0edf5 100%); border-radius:8px; box-shadow:0 4px 15px rgba(0,0,0,0.1); animation: dr-light 8s ease-in-out infinite alternate; }
.scn-education-deficiency-remedy .dr-desk { position:absolute; bottom:20%; left:15%; width:70%; height:15%; background: linear-gradient(180deg, #d4b48c 0%, #b8966b 100%); border-radius:4px; }
.scn-education-deficiency-remedy .dr-chair { position:absolute; bottom:25%; left:35%; width:40%; height:30%; background: linear-gradient(180deg, #8b6f4e 0%, #5c442b 100%); border-radius:30% 30% 10% 10%; }
.scn-education-deficiency-remedy .dr-figure { position:absolute; bottom:28%; left:40%; width:30px; height:55px; background:#5c442b; border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: dr-sway 4s ease-in-out infinite; }
.scn-education-deficiency-remedy .dr-book { position:absolute; bottom:30%; left:25%; width:50px; height:12px; background:#f5ebe0; border-radius:2px; transform:rotate(-5deg); animation: dr-turn 12s ease-in-out infinite; }
.scn-education-deficiency-remedy .dr-candle { position:absolute; bottom:35%; left:50%; width:8px; height:30px; background:#fff8e0; border-radius:50% 50% 10% 10%; box-shadow:0 0 10px 3px #ffd080; animation: dr-flicker 2s ease-in-out infinite alternate; }
.scn-education-deficiency-remedy .dr-hourglass { position:absolute; bottom:25%; right:20%; width:20px; height:30px; border:2px solid #8b7355; border-radius:50%; animation: dr-sand 10s linear infinite; }
@keyframes dr-light { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.9; } }
@keyframes dr-sway { 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 dr-turn { 0% { transform:rotate(-5deg) translateY(0); } 25% { transform:rotate(-3deg) translateY(-2px); } 50% { transform:rotate(-5deg) translateY(0); } 75% { transform:rotate(-7deg) translateY(1px); } 100% { transform:rotate(-5deg) translateY(0); } }
@keyframes dr-flicker { 0% { transform:scaleY(1); opacity:0.9; } 50% { transform:scaleY(1.1); opacity:1; } 100% { transform:scaleY(0.9); opacity:0.8; } }
@keyframes dr-sand { 0% { background:transparent; } 100% { background:linear-gradient(180deg, #f5ede0 0%, #d4b48c 100%); } }

/* education-power-of-labour — forge workshop */
.scn-education-power-of-labour {
  background: linear-gradient(180deg, #8b4513 0%, #4a2510 50%, #2b1408 100%), radial-gradient(ellipse at 50% 30%, #ff8c42 0%, transparent 60%);
}
.scn-education-power-of-labour .pl-workshop { position:absolute; inset:0; background: linear-gradient(180deg, #6b3a1a 0%, #3a1a0a 100%); }
.scn-education-power-of-labour .pl-anvil { position:absolute; bottom:20%; left:35%; width:80px; height:30px; background: linear-gradient(180deg, #666 0%, #333 100%); border-radius:20% 20% 10% 10%; box-shadow:0 4px 8px rgba(0,0,0,0.5); }
.scn-education-power-of-labour .pl-hammer { position:absolute; bottom:30%; left:42%; width:10px; height:40px; background:#444; border-radius:2px; transform-origin:bottom center; animation: pl-strike 2s ease-in-out infinite; }
.scn-education-power-of-labour .pl-rock { position:absolute; bottom:18%; left:50%; width:30px; height:20px; background:#7a7a7a; border-radius:40% 40% 20% 20%; }
.scn-education-power-of-labour .pl-drop { position:absolute; top:30%; left:50%; width:6px; height:8px; background:#4a7fb5; border-radius:50%; animation: pl-drip 3s ease-in-out infinite; }
.scn-education-power-of-labour .pl-fire { position:absolute; bottom:30%; left:25%; width:40px; height:50px; background: radial-gradient(ellipse at 50% 100%, #ff8c42 0%, #ff5500 40%, transparent 70%); animation: pl-blaze 1s ease-in-out infinite alternate; }
.scn-education-power-of-labour .pl-bellows { position:absolute; bottom:35%; left:20%; width:30px; height:20px; background:#5c3a1a; border-radius:30%; animation: pl-pump 3s ease-in-out infinite; }
.scn-education-power-of-labour .pl-chain { position:absolute; top:5%; left:45%; width:4px; height:15%; background:#777; border-radius:2px; animation: pl-swing 5s ease-in-out infinite; }
@keyframes pl-strike { 0% { transform:rotate(0deg); } 10% { transform:rotate(-20deg); } 20% { transform:rotate(0deg); } 30% { transform:rotate(-20deg); } 40% { transform:rotate(0deg); } 100% { transform:rotate(0deg); } }
@keyframes pl-drip { 0% { top:30%; opacity:1; } 80% { top:60%; opacity:1; } 100% { top:65%; opacity:0; } }
@keyframes pl-blaze { 0% { transform:scaleY(1) scaleX(1); opacity:0.8; } 50% { transform:scaleY(1.1) scaleX(0.9); opacity:1; } 100% { transform:scaleY(1) scaleX(1); opacity:0.8; } }
@keyframes pl-pump { 0% { transform:scaleX(1); } 50% { transform:scaleX(0.8); } 100% { transform:scaleX(1); } }
@keyframes pl-swing { 0% { transform:rotate(-15deg); } 25% { transform:rotate(15deg); } 50% { transform:rotate(-10deg); } 75% { transform:rotate(10deg); } 100% { transform:rotate(-15deg); } }

/* education-soil-neglect — overcast field */
.scn-education-soil-neglect {
  background: linear-gradient(180deg, #b0b8c4 0%, #8a929e 50%, #6b737f 100%), radial-gradient(ellipse at 50% 0%, #d0d8e0 0%, transparent 70%);
}
.scn-education-soil-neglect .sn-sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #c0c8d0 0%, #a0a8b4 100%); animation: sn-clouds 30s linear infinite; }
.scn-education-soil-neglect .sn-ground { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #7a6b5a 0%, #5c4e3e 100%); }
.scn-education-soil-neglect .sn-plant { position:absolute; bottom:30%; left:40%; width:20px; height:40px; background:#6b8e23; border-radius:50% 50% 20% 20%; transform-origin:bottom center; animation: sn-wilt 8s ease-in-out infinite; }
.scn-education-soil-neglect .sn-can { position:absolute; bottom:20%; left:60%; width:30px; height:25px; background:#5c4e3e; border-radius:10% 10% 20% 20%; transform:rotate(-15deg); animation: sn-tilt 10s ease-in-out infinite; }
.scn-education-soil-neglect .sn-fence { position:absolute; bottom:35%; left:20%; width:4px; height:30px; background:#4a3a2a; border-radius:2px; box-shadow:10px 0 0 #4a3a2a, 20px 0 0 #4a3a2a; }
.scn-education-soil-neglect .sn-sun { position:absolute; top:15%; right:20%; width:40px; height:40px; background:radial-gradient(circle, #f0e8d0 0%, transparent 70%); border-radius:50%; opacity:0.3; animation: sn-fade 20s ease-in-out infinite alternate; }
.scn-education-soil-neglect .sn-bird { position:absolute; top:20%; left:30%; width:10px; height:6px; background:#333; border-radius:50%; animation: sn-fly 15s linear infinite; }
@keyframes sn-clouds { 0% { background-position:0 0; } 100% { background-position:100% 0; } }
@keyframes sn-wilt { 0% { transform:rotate(0deg) scaleY(1); } 50% { transform:rotate(-10deg) scaleY(0.8); } 100% { transform:rotate(0deg) scaleY(1); } }
@keyframes sn-tilt { 0% { transform:rotate(-15deg); } 25% { transform:rotate(-20deg); } 50% { transform:rotate(-15deg); } 75% { transform:rotate(-10deg); } 100% { transform:rotate(-15deg); } }
@keyframes sn-fade { 0% { opacity:0.2; } 50% { opacity:0.4; } 100% { opacity:0.2; } }
@keyframes sn-fly { 0% { transform:translateX(0) scaleX(1); } 50% { transform:translateX(200px) scaleX(-1); } 100% { transform:translateX(0) scaleX(1); } }

/* ===== index-timoxena (dim study desk) ===== */
.scn-index-timoxena {
  background:
    radial-gradient(ellipse at 50% 60%, #4a3e3a 0%, transparent 60%),
    linear-gradient(180deg, #2a2420 0%, #1e1815 40%, #14100e 100%);
}
.scn-index-timoxena .wall {
  position:absolute; inset:0 0 25% 0;
  background: linear-gradient(180deg, #3a322e 0%, #251e1a 100%);
  border-radius:0 0 20% 20%;
  animation: tx-wall 20s ease-in-out infinite alternate;
}
.scn-index-timoxena .desk {
  position:absolute; bottom:0; left:10%; right:10%; height:25%;
  background: linear-gradient(180deg, #5c4a3e 0%, #3e3228 100%);
  border-radius:8% 8% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,.6);
}
.scn-index-timoxena .candle {
  position:absolute; bottom:22%; left:52%; width:6px; height:28px;
  background: linear-gradient(180deg, #e8d0b0 0%, #b89870 40%, #8a6a4a 100%);
  border-radius: 2px 2px 4px 4px;
  transform-origin: bottom center;
  animation: tx-candle 4s ease-in-out infinite;
}
.scn-index-timoxena .glow {
  position:absolute; bottom:26%; left:48%; width:40px; height:50px;
  background: radial-gradient(circle, #ffdd90 0%, #e0b060 30%, transparent 70%);
  border-radius:50%;
  filter: blur(6px);
  opacity:0.6;
  animation: tx-glow 5s ease-in-out infinite alternate;
}
.scn-index-timoxena .letter {
  position:absolute; bottom:10%; left:40%; width:30%; height:12%;
  background: linear-gradient(135deg, #d4c4a8 0%, #b8a48c 100%);
  border-radius:4px;
  box-shadow: 2px 4px 8px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,200,.3);
  transform: rotate(-2deg);
  animation: tx-letter 8s ease-in-out infinite;
}
.scn-index-timoxena .inkwell {
  position:absolute; bottom:8%; left:62%; width:12px; height:10px;
  background: radial-gradient(circle at 50% 30%, #2a2a2a 0%, #0e0e0e 100%);
  border-radius:50% 50% 30% 30%;
  box-shadow: 0 2px 6px rgba(0,0,0,.5);
}
.scn-index-timoxena .quill {
  position:absolute; bottom:10%; left:63%; width:2px; height:18px;
  background: linear-gradient(180deg, #d0c0a0 0%, #a8947a 100%);
  border-radius:40%;
  transform: rotate(15deg);
  transform-origin: bottom center;
  animation: tx-quill 3s ease-in-out infinite;
}
.scn-index-timoxena .hand-silhouette {
  position:absolute; bottom:14%; left:35%; width:20px; height:12px;
  background: #1a1412;
  border-radius:50% 40% 30% 30%;
  transform: rotate(-10deg);
  opacity:0.5;
  animation: tx-hand 6s ease-in-out infinite alternate;
}
@keyframes tx-wall { 0% { opacity:.7 } 50% { opacity:.9 } 100% { opacity:.75 } }
@keyframes tx-candle { 0%,100% { transform: rotate(0) } 50% { transform: rotate(-1deg) } }
@keyframes tx-glow { 0% { opacity:.5; transform: scale(1) } 50% { opacity:.8; transform: scale(1.1) } 100% { opacity:.6; transform: scale(1) } }
@keyframes tx-letter { 0%,100% { transform: rotate(-2deg) translateY(0) } 50% { transform: rotate(-1deg) translateY(-2px) } }
@keyframes tx-quill { 0%,100% { transform: rotate(15deg) } 50% { transform: rotate(22deg) } }
@keyframes tx-hand { 0% { transform: rotate(-10deg) translateY(0) } 100% { transform: rotate(-8deg) translateY(-1px) } }

/* ===== index-vice (dim room with seated figure) ===== */
.scn-index-vice {
  background:
    radial-gradient(ellipse at 60% 50%, #3a302c 0%, transparent 70%),
    linear-gradient(180deg, #1a1614 0%, #120f0d 50%, #0c0a09 100%);
}
.scn-index-vice .room-bg {
  position:absolute; inset:0;
  background: linear-gradient(90deg, #1e1916 0%, #2a221e 30%, #1e1916 100%);
  animation: vi-room 25s ease-in-out infinite alternate;
}
.scn-index-vice .chair {
  position:absolute; bottom:12%; left:20%; width:35%; height:40%;
  background: linear-gradient(135deg, #3c322c 0%, #261e1a 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%;
  box-shadow: 4px 4px 12px rgba(0,0,0,.5);
}
.scn-index-vice .lamp {
  position:absolute; bottom:30%; left:65%; width:6px; height:35px;
  background: #4a3e34;
  border-radius: 2px 2px 4px 4px;
}
.scn-index-vice .lamp-glow {
  position:absolute; bottom:36%; left:60%; width:50px; height:60px;
  background: radial-gradient(circle, #e0b060 0%, #c09040 30%, transparent 70%);
  border-radius:50%;
  filter:blur(8px);
  opacity:0.5;
  animation: vi-glow 6s ease-in-out infinite alternate;
}
.scn-index-vice .figure {
  position:absolute; bottom:18%; left:22%; width:22%; height:45%;
  background: #0f0d0c;
  border-radius: 50% 50% 30% 30% / 70% 70% 40% 40%;
  transform-origin: bottom center;
  animation: vi-figure 8s ease-in-out infinite;
}
.scn-index-vice .clock {
  position:absolute; top:8%; right:15%; width:24px; height:24px;
  background: radial-gradient(circle, #6a5a4a 0%, #3a3028 100%);
  border-radius:50%;
  box-shadow: 0 2px 8px rgba(0,0,0,.5);
  animation: vi-clock 12s linear infinite;
}
.scn-index-vice .framed-shadow {
  position:absolute; top:15%; left:10%; width:30%; height:40%;
  background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, transparent 100%);
  border-radius: 10% 40% 0 0;
  filter: blur(3px);
  animation: vi-shadow 15s ease-in-out infinite alternate;
}
@keyframes vi-room { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes vi-glow { 0% { opacity:.4; transform: scale(1) } 50% { opacity:.7; transform: scale(1.15) } 100% { opacity:.5; transform: scale(1) } }
@keyframes vi-figure { 0%,100% { transform: rotate(0) translateY(0) } 50% { transform: rotate(-2deg) translateY(-3px) } }
@keyframes vi-clock { 0% { transform: rotate(0) } 100% { transform: rotate(360deg) } }
@keyframes vi-shadow { 0% { opacity:.2 } 50% { opacity:.4 } 100% { opacity:.2 } }

/* ===== index-wyttenbach (bookshelf dim interior) ===== */
.scn-index-wyttenbach {
  background:
    radial-gradient(ellipse at 40% 30%, #4a3e36 0%, transparent 80%),
    linear-gradient(180deg, #1e1713 0%, #14100d 60%, #0c0907 100%);
}
.scn-index-wyttenbach .wall-shelf {
  position:absolute; inset:0 10% 0 10%;
  background: linear-gradient(180deg, #2a221e 0%, #1a1411 100%);
  border-radius: 10% 10% 0 0;
  animation: wy-wall 30s ease-in-out infinite alternate;
}
.scn-index-wyttenbach .shelf-l1 {
  position:absolute; top:20%; left:15%; right:15%; height:4px;
  background: linear-gradient(90deg, #3c322c 0%, #5a4a40 50%, #3c322c 100%);
  box-shadow: 0 2px 4px rgba(0,0,0,.5);
}
.scn-index-wyttenbach .shelf-l2 {
  position:absolute; top:55%; left:15%; right:15%; height:4px;
  background: linear-gradient(90deg, #3c322c 0%, #5a4a40 50%, #3c322c 100%);
  box-shadow: 0 2px 4px rgba(0,0,0,.5);
}
.scn-index-wyttenbach .book-stack {
  position:absolute; top:24%; left:20%; width:40%; height:30%;
  background: repeating-linear-gradient(
    90deg,
    #5c4a3e 0px, #4a3a30 4px, #3e2e24 8px,
    #5c4a3e 8px, #4a3a30 12px, #3e2e24 16px
  );
  border-radius: 4px;
  box-shadow: 2px 4px 8px rgba(0,0,0,.4);
  animation: wy-books 10s ease-in-out infinite alternate;
}
.scn-index-wyttenbach .open-book {
  position:absolute; bottom:15%; left:25%; width:40%; height:18%;
  background: linear-gradient(135deg, #c8b898 0%, #b0a080 50%, #9a8a6a 100%);
  border-radius: 4px 20px 10px 4px;
  box-shadow: 2px 4px 8px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,200,.3);
  transform: rotate(-3deg);
  animation: wy-openbook 7s ease-in-out infinite;
}
.scn-index-wyttenbach .candle {
  position:absolute; bottom:22%; left:55%; width:5px; height:25px;
  background: linear-gradient(180deg, #e0c8a8 0%, #b89870 40%, #7a5a3a 100%);
  border-radius: 2px;
  transform-origin: bottom center;
  animation: wy-candle 5s ease-in-out infinite;
}
.scn-index-wyttenbach .candle-glow {
  position:absolute; bottom:26%; left:50%; width:50px; height:60px;
  background: radial-gradient(circle, #ffe090 0%, #d0a050 35%, transparent 70%);
  border-radius:50%;
  filter:blur(10px);
  opacity:0.5;
  animation: wy-candle-glow 6s ease-in-out infinite alternate;
}
.scn-index-wyttenbach .scroll {
  position:absolute; bottom:8%; left:60%; width:10%; height:8%;
  background: linear-gradient(180deg, #d4c4a8 0%, #b0a080 100%);
  border-radius: 0 0 50% 50%;
  box-shadow: 0 2px 6px rgba(0,0,0,.3);
  transform: rotate(5deg);
  animation: wy-scroll 9s ease-in-out infinite;
}
@keyframes wy-wall { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes wy-books { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes wy-openbook { 0%,100% { transform: rotate(-3deg) translateY(0) } 50% { transform: rotate(-2deg) translateY(-2px) } }
@keyframes wy-candle { 0%,100% { transform: rotate(0) } 50% { transform: rotate(-1deg) } }
@keyframes wy-candle-glow { 0% { opacity:.4; transform: scale(1) } 50% { opacity:.7; transform: scale(1.2) } 100% { opacity:.5; transform: scale(1) } }
@keyframes wy-scroll { 0% { transform: rotate(5deg) translateY(0) } 50% { transform: rotate(3deg) translateY(-1px) } 100% { transform: rotate(5deg) translateY(0) } }

/* Scene 1: curiosity-memory-register - dim interior monster market */
.scn-curiosity-memory-register {
  background: 
    linear-gradient(180deg, #1f1a1a 0%, #302022 40%, #1e1415 100%),
    radial-gradient(ellipse at 50% 0%, #3a2a2a 0%, transparent 70%);
}
.scn-curiosity-memory-register .bg { position:absolute; inset:0; background: linear-gradient(180deg, #2b1f20 0%, #1a1112 100%); }
.scn-curiosity-memory-register .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #3d2b28 0%, #1f1615 100%); border-radius: 0 0 30% 30% / 0 0 20% 20%; }
.scn-curiosity-memory-register .stall { position:absolute; bottom:28%; left:30%; width:40%; height:45%; background: linear-gradient(90deg, #4d352f 0%, #6a4a42 50%, #4d352f 100%); border-radius: 10% 10% 0 0; box-shadow: inset 0 -8px 12px rgba(0,0,0,0.5); }
.scn-curiosity-memory-register .lantern { position:absolute; top:12%; left:55%; width:8px; height:12px; background: radial-gradient(circle, #e8b878 0%, #a06030 100%); border-radius: 50% 50% 10% 10%; box-shadow: 0 0 20px 6px #c08040, 0 0 40px 12px rgba(192,128,64,0.4); animation: cur-lantern 4s ease-in-out infinite; }
.scn-curiosity-memory-register .figure-a { position:absolute; bottom:28%; left:20%; width:16px; height:30px; background: linear-gradient(180deg, #2a1e1a 0%, #0e0a08 100%); border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%; transform-origin: bottom center; animation: cur-wobble-a 3s ease-in-out infinite; }
.scn-curiosity-memory-register .figure-b { position:absolute; bottom:28%; right:25%; width:14px; height:28px; background: linear-gradient(180deg, #2a1e1a 0%, #0e0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cur-wobble-b 3.5s ease-in-out infinite alternate; box-shadow: inset 0 -4px 0 #3a2a2a; } /* deformed lower body */
.scn-curiosity-memory-register .shadow { position:absolute; bottom:22%; left:18%; width:20%; height:8px; background: rgba(0,0,0,0.5); border-radius: 50%; filter: blur(4px); animation: cur-shadow 3s ease-in-out infinite; }

@keyframes cur-lantern { 
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(5deg) translateY(-2px); }
  100% { transform: rotate(-3deg) translateY(0); }
}
@keyframes cur-wobble-a {
  0% { transform: translateX(0) rotate(-2deg); }
  30% { transform: translateX(4px) rotate(3deg); }
  60% { transform: translateX(-2px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes cur-wobble-b {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-3px) scaleY(0.95); }
  100% { transform: translateY(0) scaleY(1); }
}
@keyframes cur-shadow {
  0%,100% { transform: scaleX(1) translateX(0); opacity:0.6; }
  50% { transform: scaleX(1.2) translateX(4px); opacity:0.4; }
}

/* Scene 2: item-minotaur-monster - dark chamber with Minotaur */
.scn-item-minotaur-monster {
  background: 
    linear-gradient(180deg, #1a1618 0%, #2c2224 40%, #1f181a 100%),
    radial-gradient(ellipse at 50% 20%, #3a2a2e 0%, transparent 60%);
}
.scn-item-minotaur-monster .bg { position:absolute; inset:0; background: linear-gradient(90deg, #1c1517 0%, #2e2022 50%, #1c1517 100%); }
.scn-item-minotaur-monster .pedestal { position:absolute; bottom:20%; left:50%; width:60px; height:30px; transform:translateX(-50%); background: linear-gradient(180deg, #4a3a3a 0%, #2a1e1e 100%); border-radius: 10% 10% 0 0; box-shadow: 0 6px 12px rgba(0,0,0,0.5); }
.scn-item-minotaur-monster .minotaur { position:absolute; bottom:30%; left:50%; width:50px; height:70px; transform:translateX(-50%); background: linear-gradient(180deg, #3a2a2a 0%, #1f1415 100%); border-radius: 50% 50% 20% 20% / 40% 40% 20% 20%; clip-path: none; box-shadow: inset 0 -8px 12px rgba(0,0,0,0.4); animation: min-breath 6s ease-in-out infinite; }
.scn-item-minotaur-monster .minotaur::before { content:''; position:absolute; top:-10px; left:10px; width:30px; height:20px; background: linear-gradient(180deg, #2a1e1e 0%, #1f1415 100%); border-radius: 50% 50% 0 0; transform: rotate(20deg); } /* horns */
.scn-item-minotaur-monster .rays { position:absolute; top:10%; left:35%; width:30%; height:40%; background: radial-gradient(ellipse at 50% 0%, rgba(200,180,160,0.15) 0%, transparent 70%); filter: blur(10px); animation: min-rays 8s ease-in-out infinite alternate; }
.scn-item-minotaur-monster .viewer { position:absolute; bottom:20%; right:15%; width:14px; height:30px; background: linear-gradient(180deg, #1a1414 0%, #0e0a0a 100%); border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%; transform-origin: bottom center; animation: min-viewer 4s ease-in-out infinite; }
.scn-item-minotaur-monster .shadow { position:absolute; bottom:18%; left:40%; width:20%; height:10px; background: rgba(0,0,0,0.6); border-radius: 50%; filter: blur(6px); animation: min-shadow 6s ease-in-out infinite; }

@keyframes min-breath {
  0%,100% { transform: translateX(-50%) scaleY(1) translateY(0); }
  50% { transform: translateX(-50%) scaleY(1.02) translateY(-2px); }
}
@keyframes min-rays {
  0% { opacity:1; transform: scale(1); }
  100% { opacity:0.7; transform: scale(1.05); }
}
@keyframes min-viewer {
  0% { transform: translateX(0) rotate(-2deg); }
  50% { transform: translateX(2px) rotate(2deg); }
  100% { transform: translateX(0) rotate(-1deg); }
}
@keyframes min-shadow {
  0%,100% { transform: scaleX(1) translateX(0); opacity:0.7; }
  50% { transform: scaleX(0.9) translateX(5px); opacity:0.5; }
}

/* Scene 3: curiosity-habit-control - calm dim study */
.scn-curiosity-habit-control {
  background: 
    linear-gradient(180deg, #2f2620 0%, #3d322c 50%, #2a221e 100%),
    radial-gradient(ellipse at 50% 0%, #4a3c34 0%, transparent 60%);
}
.scn-curiosity-habit-control .bg { position:absolute; inset:0; background: linear-gradient(90deg, #2c2420 0%, #3f342e 50%, #2c2420 100%); }
.scn-curiosity-habit-control .desk { position:absolute; bottom:20%; left:25%; width:50%; height:20%; background: linear-gradient(180deg, #5a463e 0%, #3a2e28 100%); border-radius: 8% 8% 0 0; box-shadow: inset 0 4px 8px rgba(0,0,0,0.3); }
.scn-curiosity-habit-control .book { position:absolute; bottom:30%; left:40%; width:20px; height:14px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3c32 100%); border-radius: 8% 8% 0 0; box-shadow: 0 2px 4px rgba(0,0,0,0.4); transform: rotate(-5deg); animation: hab-book 8s ease-in-out infinite; }
.scn-curiosity-habit-control .figure { position:absolute; bottom:22%; left:38%; width:18px; height:34px; background: linear-gradient(180deg, #2a221e 0%, #16120e 100%); border-radius: 50% 50% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: hab-figure 6s ease-in-out infinite; }
.scn-curiosity-habit-control .candle { position:absolute; bottom:34%; left:50%; width:6px; height:18px; background: linear-gradient(180deg, #f0e0c0 0%, #c0a878 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 8px 2px #d0b080; }
.scn-curiosity-habit-control .glow { position:absolute; bottom:32%; left:48%; width:30px; height:30px; background: radial-gradient(circle, rgba(240,200,150,0.4) 0%, transparent 70%); filter: blur(8px); animation: hab-glow 3s ease-in-out infinite alternate; }

@keyframes hab-figure {
  0%,100% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-2px) rotate(1deg); }
}
@keyframes hab-glow {
  0% { opacity:0.6; transform: scale(1); }
  100% { opacity:1; transform: scale(1.1); }
}
@keyframes hab-book {
  0%,100% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-1px); }
}

/* Scene 4: curiosity-epitaphs-inscriptions - sunlit cemetery */
.scn-curiosity-epitaphs-inscriptions {
  background: 
    linear-gradient(180deg, #b8d0e0 0%, #d8e8f0 40%, #a0b8c8 100%),
    radial-gradient(ellipse at 50% 0%, #c0d8e8 0%, transparent 60%);
}
.scn-curiosity-epitaphs-inscriptions .sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #c8dce8 0%, #e8f0f4 100%); animation: epi-sky 12s ease-in-out infinite alternate; }
.scn-curiosity-epitaphs-inscriptions .ground { position:absolute; bottom:0; left:0; right:0; height:55%; background: linear-gradient(180deg, #7c9a6e 0%, #5a7a4c 100%); border-radius: 40% 60% 0 0 / 20% 30% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,0.1); }
.scn-curiosity-epitaphs-inscriptions .grave-a { position:absolute; bottom:35%; left:25%; width:30px; height:40px; background: linear-gradient(180deg, #b0a898 0%, #8c8274 100%); border-radius: 10% 10% 4% 4%; box-shadow: 2px 4px 8px rgba(0,0,0,0.3); transform: rotate(-2deg); animation: epi-grave-a 10s ease-in-out infinite; }
.scn-curiosity-epitaphs-inscriptions .grave-a::before { content:''; position:absolute; top:5px; left:5px; width:20px; height:15px; background: linear-gradient(180deg, #8c8274 0%, #6e665a 100%); border-radius: 4px; } /* inscription block */
.scn-curiosity-epitaphs-inscriptions .grave-b { position:absolute; bottom:38%; right:30%; width:25px; height:35px; background: linear-gradient(180deg, #9c9484 0%, #7a7264 100%); border-radius: 10% 10% 4% 4%; box-shadow: 2px 4px 8px rgba(0,0,0,0.3); transform: rotate(3deg); animation: epi-grave-b 12s ease-in-out infinite; }
.scn-curiosity-epitaphs-inscriptions .figure { position:absolute; bottom:35%; left:15%; width:12px; height:28px; background: linear-gradient(180deg, #2a2e2a 0%, #1a1c1a 100%); border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%; transform-origin: bottom center; animation: epi-walk 6s ease-in-out infinite; }
.scn-curiosity-epitaphs-inscriptions .cloud { position:absolute; top:20%; left:10%; width:80px; height:16px; background: linear-gradient(180deg, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0.2) 100%); border-radius: 50%; filter: blur(8px); animation: epi-cloud 40s linear infinite; }

@keyframes epi-sky {
  0% { opacity:0.9; }
  50% { opacity:1; }
  100% { opacity:0.85; }
}
@keyframes epi-grave-a {
  0%,100% { transform: rotate(-2deg) translateY(0); }
  50% { transform: rotate(-1deg) translateY(-2px); }
}
@keyframes epi-grave-b {
  0%,100% { transform: rotate(3deg) translateY(0); }
  50% { transform: rotate(2deg) translateY(-3px); }
}
@keyframes epi-walk {
  0% { transform: translateX(0) translateY(0) rotate(-1deg); }
  30% { transform: translateX(8px) translateY(-2px) rotate(2deg); }
  60% { transform: translateX(16px) translateY(0) rotate(-1deg); }
  100% { transform: translateX(24px) translateY(-1px) rotate(1deg); }
}
@keyframes epi-cloud {
  0% { transform: translateX(0); }
  100% { transform: translateX(120vw); }
}

/* curiosity-secret-ailments */
.scn-curiosity-secret-ailments {
  background: 
    linear-gradient(180deg, #1a1a2e 0%, #2a1a1a 40%, #1a0f0f 100%),
    radial-gradient(ellipse at 50% 70%, #3a2a1a 0%, transparent 60%);
}
.scn-curiosity-secret-ailments .room-wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(135deg, #2a1a1a 0%, #1a0f0f 80%);
}
.scn-curiosity-secret-ailments .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
}
.scn-curiosity-secret-ailments .bed {
  position: absolute; bottom: 20%; left: 50%; width: 160px; height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
}
.scn-curiosity-secret-ailments .figure-ill {
  position: absolute; bottom: 24%; left: 50%; width: 50px; height: 40px;
  transform: translateX(-60%);
  background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  filter: brightness(0.4);
  animation: sa-figure 12s ease-in-out infinite;
}
.scn-curiosity-secret-ailments .candle-glow {
  position: absolute; bottom: 30%; right: 30%; width: 14px; height: 20px;
  background: radial-gradient(circle, #ffd070 0%, #b08030 70%);
  border-radius: 30% 30% 10% 10% / 40% 40% 10% 10%;
  box-shadow: 0 0 24px 8px #b08030, 0 0 48px 16px rgba(176,128,48,0.5);
  animation: sa-candle 2s ease-in-out infinite alternate;
}
.scn-curiosity-secret-ailments .doctor-shadow {
  position: absolute; bottom: 20%; right: 8%; width: 30px; height: 80px;
  background: linear-gradient(180deg, rgba(30,20,20,0.9) 0%, rgba(10,5,5,0.8) 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  filter: blur(2px);
  animation: sa-shadow 8s ease-in-out infinite;
}
@keyframes sa-figure {
  0%   { transform: translateX(-60%) translateY(0) rotate(0deg); opacity: 0.7; }
  50%  { transform: translateX(-58%) translateY(-2px) rotate(1deg); opacity: 0.8; }
  100% { transform: translateX(-60%) translateY(0) rotate(0deg); opacity: 0.7; }
}
@keyframes sa-candle {
  0%   { box-shadow: 0 0 20px 6px #b08030, 0 0 40px 12px rgba(176,128,48,0.4); }
  50%  { box-shadow: 0 0 30px 10px #ffd070, 0 0 60px 20px rgba(255,208,112,0.5); }
  100% { box-shadow: 0 0 22px 8px #b08030, 0 0 44px 14px rgba(176,128,48,0.45); }
}
@keyframes sa-shadow {
  0%,100% { transform: translateX(0) translateY(0); opacity: 0.6; }
  50%     { transform: translateX(-5px) translateY(-3px); opacity: 0.8; }
}

/* curiosity-professional-spying */
.scn-curiosity-professional-spying {
  background: 
    linear-gradient(135deg, #1a1a2e 0%, #0f0f1e 50%, #1a1a2e 100%),
    radial-gradient(ellipse at 30% 50%, #2a2a3e 0%, transparent 70%);
}
.scn-curiosity-professional-spying .dark-room {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #0a0a14 0%, #1a1a2e 100%);
  filter: brightness(0.7);
}
.scn-curiosity-professional-spying .door-frame {
  position: absolute; left: 25%; top: 10%; width: 120px; height: 200px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.8);
}
.scn-curiosity-professional-spying .peephole {
  position: absolute; left: 28%; top: 45%; width: 20px; height: 20px;
  background: radial-gradient(circle, #c0a060 0%, #806030 100%);
  border-radius: 50%;
  box-shadow: 0 0 10px 2px #806030;
  animation: ps-peep 3s ease-in-out infinite alternate;
}
.scn-curiosity-professional-spying .spy-figure {
  position: absolute; left: 30%; top: 40%; width: 30px; height: 80px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a0f0f 100%);
  border-radius: 50% 50% 40% 40% / 20% 20% 40% 40%;
  transform: rotate(15deg);
  filter: drop-shadow(0 8px 6px rgba(0,0,0,0.7));
  animation: ps-spy 5s ease-in-out infinite;
}
.scn-curiosity-professional-spying .curtain {
  position: absolute; left: 25%; top: 8%; width: 30px; height: 120px;
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%);
  border-radius: 20% 0 0 20%;
  filter: blur(1px);
  animation: ps-curtain 8s ease-in-out infinite;
}
.scn-curiosity-professional-spying .light-slant {
  position: absolute; left: 28%; top: 35%; width: 80px; height: 100px;
  background: linear-gradient(135deg, rgba(180,160,100,0.2) 0%, transparent 100%);
  transform: skewX(-20deg);
  animation: ps-light 6s ease-in-out infinite alternate;
}
@keyframes ps-peep {
  0%   { transform: scale(1); opacity: 0.7; }
  50%  { transform: scale(1.1); opacity: 0.9; }
  100% { transform: scale(1); opacity: 0.7; }
}
@keyframes ps-spy {
  0%,100% { transform: rotate(15deg) translateY(0); }
  50%     { transform: rotate(18deg) translateY(-2px); }
}
@keyframes ps-curtain {
  0%,100% { transform: translateX(0) rotate(0deg); }
  50%     { transform: translateX(-8px) rotate(-3deg); }
}
@keyframes ps-light {
  0%,100% { opacity: 0.3; }
  50%     { opacity: 0.6; }
}

/* curiosity-neglect-own */
.scn-curiosity-neglect-own {
  background: 
    linear-gradient(180deg, #1e1e2e 0%, #2a1a1a 40%, #1a0f0f 100%),
    radial-gradient(ellipse at 50% 60%, #2e2e1e 0%, transparent 60%);
}
.scn-curiosity-neglect-own .room-interior {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1a1a2e 0%, #0f0f1e 100%);
}
.scn-curiosity-neglect-own .window-frame {
  position: absolute; left: 20%; top: 10%; width: 160px; height: 160px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 8px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.6);
}
.scn-curiosity-neglect-own .curtain-left {
  position: absolute; left: 20%; top: 10%; width: 40px; height: 160px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0f0a 100%);
  border-radius: 20% 0 0 20%;
  filter: drop-shadow(4px 0 4px rgba(0,0,0,0.5));
  animation: no-curtain-l 6s ease-in-out infinite;
}
.scn-curiosity-neglect-own .curtain-right {
  position: absolute; left: 60%; top: 10%; width: 40px; height: 160px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0f0a 100%);
  border-radius: 0 20% 20% 0;
  filter: drop-shadow(-4px 0 4px rgba(0,0,0,0.5));
  animation: no-curtain-r 6s ease-in-out infinite;
}
.scn-curiosity-neglect-own .figure-at-window {
  position: absolute; left: 35%; top: 30%; width: 40px; height: 100px;
  background: linear-gradient(180deg, #2a1a1a 0%, #0f0a0a 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%;
  transform: rotate(5deg);
  animation: no-figure 4s ease-in-out infinite;
}
.scn-curiosity-neglect-own .vineyard-outside {
  position: absolute; left: 22%; top: 20%; width: 140px; height: 120px;
  background: linear-gradient(180deg, #3a4a2a 0%, #2a3a1a 100%);
  border-radius: 20% 20% 0 0;
  filter: blur(2px) brightness(0.4);
  animation: no-vine 10s ease-in-out infinite;
}
.scn-curiosity-neglect-own .neighbor-house {
  position: absolute; right: 25%; top: 30%; width: 60px; height: 80px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 4px;
  filter: brightness(0.3);
  animation: no-house 12s ease-in-out infinite alternate;
}
.scn-curiosity-neglect-own .bird {
  position: absolute; left: 30%; top: 15%; width: 14px; height: 10px;
  background: radial-gradient(ellipse, #2a2a2a 0%, transparent 100%);
  border-radius: 50%;
  animation: no-bird 3s ease-in-out infinite;
}
@keyframes no-curtain-l {
  0%,100% { transform: translateX(0); }
  50%     { transform: translateX(-10px); }
}
@keyframes no-curtain-r {
  0%,100% { transform: translateX(0); }
  50%     { transform: translateX(10px); }
}
@keyframes no-figure {
  0%,100% { transform: rotate(5deg) translateY(0); }
  50%     { transform: rotate(8deg) translateY(-2px); }
}
@keyframes no-vine {
  0%   { transform: scaleY(1); opacity: 0.5; }
  50%  { transform: scaleY(1.02); opacity: 0.6; }
  100% { transform: scaleY(1); opacity: 0.5; }
}
@keyframes no-house {
  0%,100% { transform: translateY(0); }
  50%     { transform: translateY(-3px); }
}
@keyframes no-bird {
  0%,100% { transform: translate(0, 0) scale(1); }
  50%     { transform: translate(20px, -10px) scale(0.8); }
}

/* curiosity-countryman-quotes */
.scn-curiosity-countryman-quotes {
  background: 
    linear-gradient(180deg, #87CEEB 0%, #b0d4e8 30%, #e0f0ff 60%),
    radial-gradient(ellipse at 50% 0%, #fffacd 0%, transparent 70%);
}
.scn-curiosity-countryman-quotes .sky {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #87CEEB 0%, transparent 100%);
  animation: cq-sky 20s ease-in-out infinite alternate;
}
.scn-curiosity-countryman-quotes .hills-back {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #6a9e4a 0%, #3a6e2a 100%);
  border-radius: 60% 40% 0 0;
  filter: blur(4px);
  animation: cq-hills-back 15s ease-in-out infinite;
}
.scn-curiosity-countryman-quotes .hills-front {
  position: absolute; bottom: 15%; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #8bc34a 0%, #4a7a2a 100%);
  border-radius: 40% 60% 0 0;
  filter: brightness(0.8);
  animation: cq-hills-front 12s ease-in-out infinite alternate;
}
.scn-curiosity-countryman-quotes .field {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #b8a060 0%, #8a6e30 100%);
  border-radius: 20% 30% 0 0;
}
.scn-curiosity-countryman-quotes .farmer-silhouette {
  position: absolute; bottom: 10%; left: 30%; width: 40px; height: 90px;
  background: linear-gradient(180deg, #2a1a0a 0%, #0f0a05 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%;
  transform: rotate(-5deg);
  animation: cq-farmer 6s ease-in-out infinite;
}
.scn-curiosity-countryman-quotes .spade {
  position: absolute; bottom: 12%; left: 28%; width: 8px; height: 50px;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%);
  border-radius: 2px;
  transform: rotate(-20deg);
  animation: cq-spade 4s ease-in-out infinite;
}
.scn-curiosity-countryman-quotes .sun-rays {
  position: absolute; top: 10%; left: 40%; width: 120px; height: 80px;
  background: radial-gradient(ellipse at 50% 0%, rgba(255,255,200,0.3) 0%, transparent 70%);
  filter: blur(10px);
  animation: cq-sun 8s ease-in-out infinite alternate;
}
.scn-curiosity-countryman-quotes .cloud-drift {
  position: absolute; top: 12%; left: 10%; width: 100px; height: 30px;
  background: radial-gradient(ellipse, rgba(255,255,255,0.6) 0%, transparent 100%);
  filter: blur(6px);
  animation: cq-cloud 40s linear infinite;
}
@keyframes cq-sky {
  0%,100% { opacity: 0.7; }
  50%     { opacity: 1; }
}
@keyframes cq-hills-back {
  0%,100% { transform: translateY(0); }
  50%     { transform: translateY(-2px); }
}
@keyframes cq-hills-front {
  0%   { transform: translateY(0) scaleX(1); }
  50%  { transform: translateY(-1px) scaleX(1.01); }
  100% { transform: translateY(0) scaleX(1); }
}
@keyframes cq-farmer {
  0%   { transform: rotate(-5deg) translateY(0); }
  50%  { transform: rotate(-3deg) translateY(-2px); }
  100% { transform: rotate(-5deg) translateY(0); }
}
@keyframes cq-spade {
  0%   { transform: rotate(-20deg) translate(0,0); }
  50%  { transform: rotate(-15deg) translate(2px,-2px); }
  100% { transform: rotate(-20deg) translate(0,0); }
}
@keyframes cq-sun {
  0%   { opacity: 0.4; transform: scaleY(1); }
  50%  { opacity: 0.7; transform: scaleY(1.1); }
  100% { opacity: 0.4; transform: scaleY(1); }
}
@keyframes cq-cloud {
  0%   { transform: translateX(-120px); }
  100% { transform: translateX(120vw); }
}

/* curiosity-pricked-ears */
.scn-curiosity-pricked-ears {
  background: radial-gradient(ellipse 120% 80% at 50% 60%, #2a1a0a 40%, #1a0e04 70%, #0d0702 100%),
              linear-gradient(180deg, #1c1008 0%, #2a1a0a 40%, #0d0702 100%);
}
.scn-curiosity-pricked-ears .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #1c1008 0%, #2a1a0a 70%, transparent 100%);
  box-shadow: inset 0 -20px 30px rgba(0,0,0,.5);
}
.scn-curiosity-pricked-ears .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #0d0702 0%, #1a0e04 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,.6);
}
.scn-curiosity-pricked-ears .window-grate {
  position: absolute; top: 15%; left: 50%; width: 80px; height: 100px;
  transform: translateX(-50%);
  background: radial-gradient(circle at 50% 50%, #6b4a2a 30%, #1a0e04 31%, #1a0e04 100%);
  border: 4px solid #2a1a0a;
  box-shadow: inset 0 0 20px rgba(0,0,0,.8), 0 0 15px #3a2a1a;
}
.scn-curiosity-pricked-ears .figure {
  position: absolute; bottom: 25%; left: 50%; width: 60px; height: 120px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse 60% 100% at 50% 60%, #1c1008 0%, #0d0702 100%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 15px 25px rgba(0,0,0,.7);
  animation: pri-fig 8s ease-in-out infinite;
}
@keyframes pri-fig {
  0% { transform: translateX(-50%) translateY(0) scale(1); }
  50% { transform: translateX(-50%) translateY(-3px) scale(1.02); }
  100% { transform: translateX(-50%) translateY(0) scale(1); }
}
.scn-curiosity-pricked-ears .ear-left {
  position: absolute; bottom: 70%; left: 40%; width: 20px; height: 30px;
  background: radial-gradient(ellipse 100% 70% at 50% 50%, #1c1008 0%, #0d0702 100%);
  border-radius: 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: pri-earL 3s ease-in-out infinite;
}
@keyframes pri-earL {
  0% { transform: rotate(-10deg) scaleY(1); }
  50% { transform: rotate(5deg) scaleY(1.2); }
  100% { transform: rotate(-10deg) scaleY(1); }
}
.scn-curiosity-pricked-ears .ear-right {
  position: absolute; bottom: 70%; right: 40%; width: 20px; height: 30px;
  background: radial-gradient(ellipse 100% 70% at 50% 50%, #1c1008 0%, #0d0702 100%);
  border-radius: 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: pri-earR 3.5s ease-in-out infinite;
}
@keyframes pri-earR {
  0% { transform: rotate(10deg) scaleY(1); }
  50% { transform: rotate(-5deg) scaleY(1.15); }
  100% { transform: rotate(10deg) scaleY(1); }
}
.scn-curiosity-pricked-ears .candle-glow {
  position: absolute; top: 40%; right: 20%; width: 30px; height: 30px;
  background: radial-gradient(circle, #ffa040 0%, #b06020 40%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px #b06020, 0 0 120px 40px rgba(176,96,32,.4);
  animation: pri-glow 5s ease-in-out infinite alternate;
}
@keyframes pri-glow {
  0% { opacity: .6; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.05); }
  100% { opacity: .7; transform: scale(.98); }
}
.scn-curiosity-pricked-ears .shadow-shape {
  position: absolute; bottom: 25%; left: 30%; width: 100px; height: 40px;
  background: radial-gradient(ellipse 100% 50% at 50% 50%, #0d0702 0%, transparent 100%);
  filter: blur(8px);
  animation: pri-shad 6s ease-in-out infinite;
}
@keyframes pri-shad {
  0% { transform: translateX(0) scaleX(1); opacity: .6; }
  50% { transform: translateX(10px) scaleX(1.1); opacity: .8; }
  100% { transform: translateX(-5px) scaleX(.95); opacity: .5; }
}

/* curiosity-bad-news-travel */
.scn-curiosity-bad-news-travel {
  background: linear-gradient(0deg, #0a0a0a 0%, #141010 50%, #1a1210 100%),
              radial-gradient(ellipse 150% 60% at 50% 100%, #1a1210 0%, transparent 100%);
}
.scn-curiosity-bad-news-travel .bg-dark {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1a1210 0%, #0a0a0a 100%);
  opacity: .3;
}
.scn-curiosity-bad-news-travel .stair-rail {
  position: absolute; top: 30%; left: 20%; right: 20%; height: 60%;
  background: linear-gradient(180deg, transparent 0%, #0a0a0a 10%, #141010 20%, #0a0a0a 30%, #141010 40%, #0a0a0a 50%, #141010 60%, #0a0a0a 70%, #141010 80%, #0a0a0a 90%, #141010 100%);
  border-radius: 0 0 30% 30%;
  box-shadow: inset 0 10px 20px rgba(0,0,0,.8);
}
.scn-curiosity-bad-news-travel .messenger {
  position: absolute; bottom: 20%; left: 10%; width: 40px; height: 100px;
  background: radial-gradient(ellipse 60% 100% at 50% 60%, #1c1410 0%, #0a0a0a 100%);
  border-radius: 30% 30% 20% 20%;
  transform: rotate(10deg);
  box-shadow: 5px 10px 20px rgba(0,0,0,.7);
  animation: bad-msg 12s ease-in-out infinite;
}
@keyframes bad-msg {
  0% { transform: rotate(10deg) translateY(0); }
  50% { transform: rotate(5deg) translateY(-5px); }
  100% { transform: rotate(10deg) translateY(0); }
}
.scn-curiosity-bad-news-travel .scroll-hand {
  position: absolute; bottom: 50%; left: 25%; width: 30px; height: 60px;
  background: radial-gradient(ellipse 60% 100% at 50% 50%, #1c1410 0%, #0a0a0a 100%);
  border-radius: 20% 20% 40% 40%;
  transform: rotate(-30deg);
  animation: bad-hand 8s ease-in-out infinite;
}
@keyframes bad-hand {
  0% { transform: rotate(-30deg) scaleY(1); }
  50% { transform: rotate(-25deg) scaleY(1.1); }
  100% { transform: rotate(-30deg) scaleY(1); }
}
.scn-curiosity-bad-news-travel .letter-seal {
  position: absolute; bottom: 45%; left: 20%; width: 20px; height: 20px;
  background: radial-gradient(circle, #5e1a1d 0%, #3a0c0c 100%);
  border-radius: 50%;
  box-shadow: 0 0 10px 2px #5e1a1d;
  animation: bad-seal 4s ease-in-out infinite alternate;
}
@keyframes bad-seal {
  0% { opacity: .7; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.1); }
  100% { opacity: .8; transform: scale(.95); }
}
.scn-curiosity-bad-news-travel .lamp-low {
  position: absolute; top: 60%; right: 15%; width: 40px; height: 50px;
  background: radial-gradient(ellipse 80% 100% at 50% 50%, #6b4a2a 0%, #1a1210 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 40px 10px rgba(107,74,42,.5);
  animation: bad-lamp 6s ease-in-out infinite;
}
@keyframes bad-lamp {
  0% { opacity: .6; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.05); }
  100% { opacity: .7; transform: scaleY(.98); }
}
.scn-curiosity-bad-news-travel .shadow-figure {
  position: absolute; bottom: 5%; left: 60%; width: 80px; height: 120px;
  background: radial-gradient(ellipse 70% 100% at 50% 50%, #0a0a0a 0%, transparent 100%);
  filter: blur(10px);
  animation: bad-shad 15s ease-in-out infinite;
}
@keyframes bad-shad {
  0% { transform: translateX(0) scaleY(1); opacity: .5; }
  50% { transform: translateX(-15px) scaleY(1.1); opacity: .7; }
  100% { transform: translateX(5px) scaleY(.95); opacity: .4; }
}
.scn-curiosity-bad-news-travel .dust-motes {
  position: absolute; top: 30%; left: 0; right: 0; height: 100%;
  background: radial-gradient(circle at 20% 40%, rgba(255,255,200,.05) 0%, transparent 50%),
              radial-gradient(circle at 80% 60%, rgba(255,255,200,.03) 0%, transparent 50%);
  filter: blur(4px);
  animation: bad-dust 30s linear infinite;
}
@keyframes bad-dust {
  0% { transform: translateY(0); opacity: .3; }
  50% { transform: translateY(-20px); opacity: .6; }
  100% { transform: translateY(0); opacity: .3; }
}

/* item-cupping-glasses */
.scn-item-cupping-glasses {
  background: linear-gradient(180deg, #1c1410 0%, #2a1a10 40%, #1c1410 100%),
              radial-gradient(ellipse 100% 60% at 50% 100%, #2a1a10 0%, transparent 70%);
}
.scn-item-cupping-glasses .shelf {
  position: absolute; bottom: 40%; left: 10%; right: 10%; height: 8px;
  background: linear-gradient(0deg, #3a2a1a 0%, #5a3a2a 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,.6);
}
.scn-item-cupping-glasses .cup-left {
  position: absolute; bottom: 50%; left: 20%; width: 40px; height: 50px;
  background: radial-gradient(ellipse 100% 80% at 50% 50%, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 30% 30% 20% 20%;
  border: 3px solid #1c1410;
  box-shadow: 0 5px 10px rgba(0,0,0,.5);
  transform: rotate(-10deg);
  animation: cup-sway1 7s ease-in-out infinite;
}
@keyframes cup-sway1 {
  0% { transform: rotate(-10deg) translateY(0); }
  50% { transform: rotate(0deg) translateY(-2px); }
  100% { transform: rotate(-10deg) translateY(0); }
}
.scn-item-cupping-glasses .cup-right {
  position: absolute; bottom: 50%; right: 20%; width: 45px; height: 55px;
  background: radial-gradient(ellipse 100% 80% at 50% 50%, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 30% 30% 20% 20%;
  border: 3px solid #1c1410;
  box-shadow: 0 5px 10px rgba(0,0,0,.5);
  transform: rotate(5deg);
  animation: cup-sway2 9s ease-in-out infinite;
}
@keyframes cup-sway2 {
  0% { transform: rotate(5deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-3px); }
  100% { transform: rotate(5deg) translateY(0); }
}
.scn-item-cupping-glasses .flame {
  position: absolute; top: 30%; left: 50%; width: 20px; height: 30px;
  background: radial-gradient(ellipse 100% 100% at 50% 100%, #ffa040 0%, #b06020 60%, transparent 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 40px 15px #b06020, 0 0 80px 30px rgba(176,96,32,.3);
  animation: cup-flame 3s ease-in-out infinite alternate;
}
@keyframes cup-flame {
  0% { transform: scaleY(1) rotate(0deg); opacity: .8; }
  50% { transform: scaleY(1.15) rotate(3deg); opacity: 1; }
  100% { transform: scaleY(.95) rotate(-2deg); opacity: .7; }
}
.scn-item-cupping-glasses .hand-cupping {
  position: absolute; bottom: 35%; left: 35%; width: 30px; height: 40px;
  background: radial-gradient(ellipse 80% 100% at 50% 50%, #3a2a1a 0%, #1c1410 100%);
  border-radius: 30% 30% 40% 40%;
  transform: rotate(20deg);
  animation: cup-hand 5s ease-in-out infinite;
}
@keyframes cup-hand {
  0% { transform: rotate(20deg) scaleX(1); }
  50% { transform: rotate(15deg) scaleX(1.05); }
  100% { transform: rotate(20deg) scaleX(1); }
}
.scn-item-cupping-glasses .drip-red {
  position: absolute; bottom: 20%; left: 30%; width: 6px; height: 20px;
  background: linear-gradient(180deg, #5e1a1d 0%, #3a0c0c 100%);
  border-radius: 50% 50% 20% 20%;
  animation: cup-drip 4s ease-in-out infinite;
}
@keyframes cup-drip {
  0% { transform: translateY(0); opacity: .8; }
  50% { transform: translateY(15px); opacity: .5; }
  100% { transform: translateY(0); opacity: .8; }
}
.scn-item-cupping-glasses .shadow-cup {
  position: absolute; bottom: 38%; left: 20%; width: 80px; height: 20px;
  background: radial-gradient(ellipse 100% 100% at 50% 0%, #0a0a0a 0%, transparent 100%);
  filter: blur(6px);
  animation: cup-shadow 10s ease-in-out infinite;
}
@keyframes cup-shadow {
  0% { transform: translateX(0) scaleX(1); opacity: .4; }
  50% { transform: translateX(10px) scaleX(1.1); opacity: .6; }
  100% { transform: translateX(-5px) scaleX(.95); opacity: .3; }
}

/* curiosity-malignity */
.scn-curiosity-malignity {
  background: linear-gradient(180deg, #1a0a0a 0%, #2a1410 40%, #0d0505 100%),
              radial-gradient(ellipse 120% 80% at 50% 80%, #2a1410 0%, transparent 100%);
}
.scn-curiosity-malignity .wall-panel {
  position: absolute; inset: 0 0 30% 0;
  background: repeating-linear-gradient(90deg, transparent 0px, transparent 20px, rgba(0,0,0,.1) 20px, rgba(0,0,0,.1) 22px);
  box-shadow: inset 0 -20px 40px rgba(0,0,0,.6);
}
.scn-curiosity-malignity .figure-left {
  position: absolute; bottom: 20%; left: 15%; width: 50px; height: 140px;
  background: radial-gradient(ellipse 70% 100% at 50% 60%, #1c1008 0%, #0d0505 100%);
  border-radius: 30% 30% 20% 20%;
  transform: rotate(-5deg);
  box-shadow: 5px 10px 20px rgba(0,0,0,.7);
  animation: mal-figL 9s ease-in-out infinite;
}
@keyframes mal-figL {
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(0deg) translateY(-4px); }
  100% { transform: rotate(-5deg) translateY(0); }
}
.scn-curiosity-malignity .figure-right {
  position: absolute; bottom: 25%; right: 15%; width: 45px; height: 130px;
  background: radial-gradient(ellipse 70% 100% at 50% 60%, #1c1008 0%, #0d0505 100%);
  border-radius: 30% 30% 20% 20%;
  transform: rotate(3deg);
  box-shadow: -5px 10px 20px rgba(0,0,0,.7);
  animation: mal-figR 11s ease-in-out infinite;
}
@keyframes mal-figR {
  0% { transform: rotate(3deg) translateY(0); }
  50% { transform: rotate(-2deg) translateY(-3px); }
  100% { transform: rotate(3deg) translateY(0); }
}
.scn-curiosity-malignity .grin-shadow {
  position: absolute; bottom: 40%; right: 18%; width: 30px; height: 12px;
  background: radial-gradient(ellipse 100% 50% at 50% 100%, #2a1a1a 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(3px);
  animation: mal-grin 4s ease-in-out infinite alternate;
}
@keyframes mal-grin {
  0% { transform: scaleX(1) rotate(0deg); opacity: .5; }
  50% { transform: scaleX(1.3) rotate(5deg); opacity: .8; }
  100% { transform: scaleX(.9) rotate(-3deg); opacity: .4; }
}
.scn-curiosity-malignity .knife-gleam {
  position: absolute; bottom: 30%; right: 30%; width: 4px; height: 30px;
  background: linear-gradient(180deg, #c8a060 0%, #8a6020 100%);
  border-radius: 20% 20% 50% 50%;
  box-shadow: 0 0 10px 2px #c8a060;
  transform: rotate(-20deg);
  animation: mal-knife 3s ease-in-out infinite alternate;
}
@keyframes mal-knife {
  0% { opacity: .3; transform: rotate(-20deg) scaleY(1); }
  50% { opacity: .8; transform: rotate(-15deg) scaleY(1.1); }
  100% { opacity: .2; transform: rotate(-25deg) scaleY(.95); }
}
.scn-curiosity-malignity .lantern-bracket {
  position: absolute; top: 20%; left: 10%; width: 30px; height: 40px;
  background: radial-gradient(ellipse 80% 100% at 50% 80%, #5a3a2a 0%, #2a1a0a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 30px 10px rgba(107,74,42,.5);
  animation: mal-lantern 7s ease-in-out infinite;
}
@keyframes mal-lantern {
  0% { opacity: .6; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.05) rotate(2deg); }
  100% { opacity: .7; transform: scale(.98) rotate(-1deg); }
}
.scn-curiosity-malignity .shadow-pool {
  position: absolute; bottom: 0; left: 20%; right: 20%; height: 30%;
  background: radial-gradient(ellipse 100% 50% at 50% 0%, #0d0505 0%, transparent 100%);
  filter: blur(12px);
  animation: mal-pool 14s ease-in-out infinite;
}
@keyframes mal-pool {
  0% { transform: scaleY(1) translateY(0); opacity: .4; }
  50% { transform: scaleY(1.2) translateY(5px); opacity: .6; }
  100% { transform: scaleY(.95) translateY(-3px); opacity: .3; }
}

/* footnote-readings-4 */
.scn-footnote-readings-4 {
  background:
    linear-gradient(180deg, #1a1010 0%, #2a1a0a 60%, #3a2010 100%),
    radial-gradient(ellipse at 30% 60%, #3a2a1a 0%, transparent 70%);
  position: relative;
  overflow: hidden;
}
.scn-footnote-readings-4 .wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #2a2018 0%, #1a1008 100%);
  animation: fr4-fade 10s ease-in-out infinite alternate;
}
.scn-footnote-readings-4 .shelf {
  position: absolute; bottom: 45%; left: 5%; right: 5%; height: 8%;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%);
  border-radius: 2px;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.6);
}
.scn-footnote-readings-4 .desk {
  position: absolute; bottom: 18%; left: 10%; right: 10%; height: 30%;
  background: linear-gradient(160deg, #5a3a24 0%, #3a2214 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  animation: fr4-breath 6s ease-in-out infinite;
}
.scn-footnote-readings-4 .book {
  position: absolute; bottom: 32%; left: 30%; width: 25%; height: 12%;
  background: linear-gradient(155deg, #7a5a3a 0%, #4a3020 100%);
  border-radius: 2px;
  transform: skewX(-5deg);
  box-shadow: 0 4px 6px rgba(0,0,0,0.4);
  animation: fr4-pulse 8s ease-in-out infinite;
}
.scn-footnote-readings-4 .candle {
  position: absolute; bottom: 35%; left: 20%; width: 4%; height: 10%;
  background: linear-gradient(180deg, #d4a050 0%, #8a6030 100%);
  border-radius: 2px 2px 0 0;
  box-shadow: 0 -8px 16px 4px rgba(200,150,60,0.4);
}
.scn-footnote-readings-4 .glow {
  position: absolute; bottom: 30%; left: 15%; width: 40%; height: 40%;
  background: radial-gradient(circle, rgba(200,160,80,0.25) 0%, transparent 70%);
  pointer-events: none;
  animation: fr4-glow 4s ease-in-out infinite alternate;
}
.scn-footnote-readings-4 .scholar {
  position: absolute; bottom: 30%; left: 45%; width: 12%; height: 20%;
  background: linear-gradient(180deg, #2a1a10 0%, #1a0e08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform: rotate(-5deg);
  box-shadow: -4px 0 8px rgba(0,0,0,0.4);
  animation: fr4-read 7s ease-in-out infinite;
}
@keyframes fr4-fade { 0% { opacity: 0.7 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes fr4-breath { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes fr4-pulse { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes fr4-glow { 0% { opacity: 0.5 } 50% { opacity: 0.8 } 100% { opacity: 0.6 } }
@keyframes fr4-read { 0%,100% { transform: rotate(-5deg) translateY(0) } 25% { transform: rotate(-4deg) translateY(-2px) } 50% { transform: rotate(-5deg) translateY(-1px) } 75% { transform: rotate(-6deg) translateY(-2px) } }

/* item-sword-damocles */
.scn-item-sword-damocles {
  background:
    linear-gradient(180deg, #0e0a08 0%, #1a1210 40%, #0e0a08 100%),
    radial-gradient(ellipse at 50% 20%, #2a1a10 0%, transparent 60%);
  position: relative;
  overflow: hidden;
}
.scn-item-sword-damocles .room {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(0deg, #1a1210 0px, #1a1210 2px, #12100e 2px, #12100e 4px);
  opacity: 0.3;
}
.scn-item-sword-damocles .beam {
  position: absolute; top: -5%; left: 50%; width: 2%; height: 30%;
  background: linear-gradient(180deg, rgba(200,180,140,0.4) 0%, transparent 100%);
  transform: translateX(-50%);
  animation: sd-beam 8s ease-in-out infinite alternate;
}
.scn-item-sword-damocles .thread {
  position: absolute; top: 20%; left: 50%; width: 1px; height: 15%;
  background: #8a7a6a;
  transform: translateX(-50%);
  box-shadow: 0 0 2px rgba(200,180,140,0.3);
}
.scn-item-sword-damocles .blade {
  position: absolute; top: 34%; left: 50%; width: 2%; height: 30%;
  background: linear-gradient(180deg, #b0a090 0%, #7a7060 50%, #4a4038 100%);
  transform: translateX(-50%) rotate(2deg);
  border-radius: 0 0 2px 2px;
  box-shadow: 0 0 8px rgba(200,180,140,0.2);
  animation: sd-sway 6s ease-in-out infinite;
}
.scn-item-sword-damocles .hilt {
  position: absolute; top: 32%; left: 50%; width: 6%; height: 4%;
  background: linear-gradient(90deg, #3a3028 0%, #6a5a48 50%, #3a3028 100%);
  transform: translateX(-50%);
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: sd-sway 6s ease-in-out infinite;
}
.scn-item-sword-damocles .shadow {
  position: absolute; bottom: 15%; left: 30%; width: 40%; height: 8%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%);
  transform: rotate(-5deg);
  animation: sd-shadow 12s ease-in-out infinite alternate;
}
@keyframes sd-beam { 0% { opacity: 0.3 } 50% { opacity: 0.7 } 100% { opacity: 0.4 } }
@keyframes sd-sway { 0%,100% { transform: translateX(-50%) rotate(2deg) } 25% { transform: translateX(-50%) rotate(3deg) translateY(-1px) } 50% { transform: translateX(-50%) rotate(1.5deg) } 75% { transform: translateX(-50%) rotate(3deg) translateY(1px) } }
@keyframes sd-shadow { 0% { opacity: 0.4 } 50% { opacity: 0.7 } 100% { opacity: 0.5 } }

/* footnote-readings-5 */
.scn-footnote-readings-5 {
  background:
    linear-gradient(180deg, #1a1815 0%, #2a2218 50%, #1a120e 100%),
    radial-gradient(ellipse at 50% 80%, #3a2a1a 0%, transparent 60%);
  position: relative;
  overflow: hidden;
}
.scn-footnote-readings-5 .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(0deg, #2a1e14 0%, #1a120a 100%);
  box-shadow: inset 0 20px 20px -20px rgba(0,0,0,0.5);
}
.scn-footnote-readings-5 .column-left {
  position: absolute; bottom: 20%; left: 10%; width: 8%; height: 60%;
  background: linear-gradient(90deg, #4a3830 0%, #6a5448 50%, #4a3830 100%);
  border-radius: 3px;
  box-shadow: 4px 0 8px rgba(0,0,0,0.3);
}
.scn-footnote-readings-5 .column-right {
  position: absolute; bottom: 20%; right: 10%; width: 8%; height: 60%;
  background: linear-gradient(90deg, #4a3830 0%, #6a5448 50%, #4a3830 100%);
  border-radius: 3px;
  box-shadow: -4px 0 8px rgba(0,0,0,0.3);
}
.scn-footnote-readings-5 .flame {
  position: absolute; bottom: 40%; left: 50%; width: 6%; height: 12%;
  background: radial-gradient(circle at 50% 20%, #c08040 0%, #8a5020 60%, transparent 100%);
  transform: translateX(-50%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 32px 8px rgba(200,120,40,0.4);
  animation: fr5-fire 3s ease-in-out infinite alternate;
}
.scn-footnote-readings-5 .tripod {
  position: absolute; bottom: 32%; left: 40%; width: 20%; height: 18%;
  background:
    linear-gradient(180deg, transparent 0%, #3a3028 0),
    radial-gradient(ellipse at 50% 0%, #5a4a3c 0%, #2a1e12 100%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}
.scn-footnote-readings-5 .figure {
  position: absolute; bottom: 20%; left: 30%; width: 10%; height: 25%;
  background: linear-gradient(180deg, #1a1410 0%, #0a0806 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform: rotate(-3deg);
  box-shadow: 2px 0 6px rgba(0,0,0,0.5);
  animation: fr5-bow 9s ease-in-out infinite;
}
.scn-footnote-readings-5 .window {
  position: absolute; top: 5%; left: 40%; width: 20%; height: 25%;
  border: 6px solid #3a2a20;
  background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1e 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
  animation: fr5-window 12s ease-in-out infinite alternate;
}
@keyframes fr5-fire { 0% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(1.1) } 100% { transform: translateX(-50%) scaleY(0.9) } }
@keyframes fr5-bow { 0%,100% { transform: rotate(-3deg) translateY(0) } 30% { transform: rotate(-2deg) translateY(-2px) } 60% { transform: rotate(-4deg) translateY(-1px) } 80% { transform: rotate(-3deg) translateY(-3px) } }
@keyframes fr5-window { 0% { opacity: 0.3 } 50% { opacity: 0.6 } 100% { opacity: 0.4 } }

/* footnote-readings-6 */
.scn-footnote-readings-6 {
  background:
    linear-gradient(180deg, #12100e 0%, #221a14 60%, #2a1e16 100%),
    radial-gradient(ellipse at 60% 70%, #3a2820 0%, transparent 60%);
  position: relative;
  overflow: hidden;
}
.scn-footnote-readings-6 .backdrop {
  position: absolute; inset: 0 0 25% 0;
  background: repeating-linear-gradient(0deg, #2a1e16 0px, #2a1e16 1px, #1a120e 1px, #1a120e 3px);
  opacity: 0.2;
}
.scn-footnote-readings-6 .lectern {
  position: absolute; bottom: 12%; left: 25%; width: 30%; height: 40%;
  background: linear-gradient(160deg, #4a3426 0%, #2a1a10 100%);
  border-radius: 6px 6px 0 0;
  box-shadow: 0 8px 16px rgba(0,0,0,0.5);
  transform: skewX(-4deg);
}
.scn-footnote-readings-6 .scroll {
  position: absolute; bottom: 30%; left: 34%; width: 14%; height: 16%;
  background: linear-gradient(160deg, #c8b090 0%, #8a7058 100%);
  border-radius: 50% / 30% 30% 40% 40%;
  transform: rotate(8deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: fr6-unroll 10s ease-in-out infinite;
}
.scn-footnote-readings-6 .candle {
  position: absolute; bottom: 40%; left: 22%; width: 3%; height: 12%;
  background: linear-gradient(180deg, #d4a050 0%, #8a6030 100%);
  border-radius: 2px 2px 0 0;
  box-shadow: 0 -10px 20px 4px rgba(200,150,60,0.3);
}
.scn-footnote-readings-6 .glow {
  position: absolute; bottom: 35%; left: 18%; width: 30%; height: 35%;
  background: radial-gradient(circle, rgba(200,160,80,0.15) 0%, transparent 70%);
  pointer-events: none;
  animation: fr6-glow 4s ease-in-out infinite alternate;
}
.scn-footnote-readings-6 .reader {
  position: absolute; bottom: 18%; left: 42%; width: 14%; height: 28%;
  background: linear-gradient(180deg, #1a1410 0%, #0a0806 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform: rotate(4deg);
  box-shadow: -2px 0 6px rgba(0,0,0,0.4);
  animation: fr6-read 8s ease-in-out infinite;
}
.scn-footnote-readings-6 .cat {
  position: absolute; bottom: 16%; left: 20%; width: 8%; height: 6%;
  background: linear-gradient(180deg, #3a2e28 0%, #1e1612 100%);
  border-radius: 50% 30% 30% 50% / 40% 40% 60% 60%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: fr6-cat 12s ease-in-out infinite;
}
@keyframes fr6-unroll { 0% { transform: rotate(8deg) scaleX(0.9) } 50% { transform: rotate(8deg) scaleX(1.1) } 100% { transform: rotate(8deg) scaleX(0.9) } }
@keyframes fr6-glow { 0% { opacity: 0.4 } 50% { opacity: 0.8 } 100% { opacity: 0.5 } }
@keyframes fr6-read { 0%,100% { transform: rotate(4deg) translateY(0) } 30% { transform: rotate(3deg) translateY(-2px) } 60% { transform: rotate(5deg) translateY(-1px) } 80% { transform: rotate(4deg) translateY(-3px) } }
@keyframes fr6-cat { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(10px) rotate(5deg) } 50% { transform: translateX(0) rotate(0deg) } 75% { transform: translateX(-5px) rotate(-3deg) } 100% { transform: translateX(0) rotate(0deg) } }

.scn-persian-lying {
  background: linear-gradient(180deg, #2a1e14 0%, #1a1208 60%), radial-gradient(ellipse at 50% 30%, #3a2a1a 0%, transparent 80%);
}
.scn-persian-lying .room-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a1208 0%, #2a1e14 100%); opacity: 0.9;
}
.scn-persian-lying .wall-shadow {
  position: absolute; inset: 0 0 50% 0; background: radial-gradient(ellipse at 50% 100%, #0a0804 0%, transparent 70%); animation: pl-shadow 8s ease-in-out infinite alternate;
}
.scn-persian-lying .table {
  position: absolute; bottom: 20%; left: 30%; width: 40%; height: 8%; background: linear-gradient(180deg, #4a3a28 0%, #2a1a0e 100%); border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.6);
}
.scn-persian-lying .book {
  position: absolute; bottom: 24%; left: 38%; width: 20%; height: 12%; background: linear-gradient(180deg, #6a5a3a 0%, #4a3a22 100%); border-radius: 2px; transform: rotate(-2deg); box-shadow: 0 2px 6px rgba(0,0,0,0.5); animation: pl-book 6s ease-in-out infinite;
}
.scn-persian-lying .candle {
  position: absolute; bottom: 28%; left: 45%; width: 3%; height: 18%; background: linear-gradient(180deg, #d4b080 0%, #8a6a40 100%); border-radius: 50% 50% 10% 10%; transform: rotate(5deg); animation: pl-candle 4s ease-in-out infinite;
}
.scn-persian-lying .candle-glow {
  position: absolute; bottom: 28%; left: 44%; width: 10%; height: 20%; background: radial-gradient(circle, rgba(255,200,100,0.4) 0%, transparent 70%); border-radius: 50%; animation: pl-glow 3s ease-in-out infinite alternate;
}
.scn-persian-lying .scribe {
  position: absolute; bottom: 22%; left: 28%; width: 12%; height: 28%; background: linear-gradient(180deg, #2a1e14 0%, #0a0604 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pl-scribe 5s ease-in-out infinite;
}
@keyframes pl-shadow {
  0% { opacity: 0.6; }
  50% { opacity: 0.8; }
  100% { opacity: 0.5; }
}
@keyframes pl-book {
  0% { transform: rotate(-2deg) translateY(0); }
  50% { transform: rotate(-1deg) translateY(-2px); }
  100% { transform: rotate(-2deg) translateY(0); }
}
@keyframes pl-candle {
  0% { transform: rotate(5deg) scaleY(1); }
  50% { transform: rotate(4deg) scaleY(0.98); }
  100% { transform: rotate(5deg) scaleY(1); }
}
@keyframes pl-glow {
  0% { opacity: 0.8; box-shadow: 0 0 20px 8px rgba(255,200,100,0.3); }
  50% { opacity: 1; box-shadow: 0 0 30px 12px rgba(255,200,100,0.5); }
  100% { opacity: 0.9; box-shadow: 0 0 25px 10px rgba(255,200,100,0.4); }
}
@keyframes pl-scribe {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(4px) rotate(2deg); }
  50% { transform: translateX(8px) rotate(0deg); }
  75% { transform: translateX(12px) rotate(-2deg); }
  100% { transform: translateX(16px) rotate(0deg); }
}

.scn-greediness-outcome {
  background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 60%), radial-gradient(ellipse at 30% 40%, #2a2a4e 0%, transparent 80%);
}
.scn-greediness-outcome .room-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 100%); opacity: 0.85;
}
.scn-greediness-outcome .wall-shadow {
  position: absolute; inset: 0 0 40% 0; background: radial-gradient(ellipse at 50% 100%, #05050e 0%, transparent 70%); animation: go-shadow 10s ease-in-out infinite alternate;
}
.scn-greediness-outcome .table {
  position: absolute; bottom: 15%; left: 25%; width: 50%; height: 6%; background: linear-gradient(180deg, #3a2a20 0%, #1a120a 100%); border-radius: 4px; box-shadow: 0 6px 16px rgba(0,0,0,0.7);
}
.scn-greediness-outcome .empty-plate {
  position: absolute; bottom: 18%; left: 35%; width: 12%; height: 4%; background: radial-gradient(circle, #3a3028 0%, #1a1410 100%); border-radius: 50%; border: 2px solid #2a2218; animation: go-plate 7s ease-in-out infinite;
}
.scn-greediness-outcome .chest {
  position: absolute; bottom: 15%; right: 20%; width: 18%; height: 14%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0e 100%); border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.6); transform: rotate(-3deg); animation: go-chest 9s ease-in-out infinite;
}
.scn-greediness-outcome .chain {
  position: absolute; bottom: 20%; left: 28%; width: 2%; height: 8%; background: linear-gradient(180deg, #5a5040 0%, #3a3020 100%); border-radius: 2px; animation: go-chain 4s ease-in-out infinite alternate;
}
.scn-greediness-outcome .figure-hunched {
  position: absolute; bottom: 18%; left: 20%; width: 14%; height: 30%; background: linear-gradient(180deg, #1a1a2e 0%, #0a0a16 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: go-figure 4s ease-in-out infinite;
}
@keyframes go-shadow {
  0% { opacity: 0.7; }
  50% { opacity: 0.9; }
  100% { opacity: 0.6; }
}
@keyframes go-plate {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(5deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes go-chest {
  0% { transform: rotate(-3deg) translateY(0); }
  50% { transform: rotate(-1deg) translateY(-3px); }
  100% { transform: rotate(-3deg) translateY(0); }
}
@keyframes go-chain {
  0% { transform: scaleY(1); opacity: 0.8; }
  50% { transform: scaleY(1.1); opacity: 1; }
  100% { transform: scaleY(1); opacity: 0.8; }
}
@keyframes go-figure {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(-3px) rotate(2deg); }
  50% { transform: translateX(-6px) rotate(-2deg); }
  75% { transform: translateX(-3px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}

.scn-fire-destruction {
  background: linear-gradient(180deg, #1a0a02 0%, #2a1206 50%), radial-gradient(ellipse at 50% 20%, #3a1a08 0%, transparent 90%);
}
.scn-fire-destruction .dark-sky {
  position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #0a0502 0%, transparent 100%); opacity: 0.9; animation: fd-sky 15s ease-in-out infinite alternate;
}
.scn-fire-destruction .fire-flames {
  position: absolute; bottom: 20%; left: 30%; width: 40%; height: 30%; background: radial-gradient(ellipse at 50% 100%, #ff6a30 0%, #c84010 40%, #8a2208 70%, transparent 100%); border-radius: 50% 50% 30% 30%; animation: fd-flames 1.5s ease-in-out infinite alternate;
}
.scn-fire-destruction .fire-glow {
  position: absolute; bottom: 10%; left: 20%; width: 60%; height: 50%; background: radial-gradient(ellipse at 50% 60%, rgba(255,100,30,0.4) 0%, transparent 70%); animation: fd-glow 2s ease-in-out infinite alternate;
}
.scn-fire-destruction .building {
  position: absolute; bottom: 10%; left: 35%; width: 30%; height: 40%; background: linear-gradient(180deg, #3a2020 0%, #1a0a0a 100%); border-radius: 8% 8% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,0.6); animation: fd-building 6s ease-in-out infinite;
}
.scn-fire-destruction .smoke-1 {
  position: absolute; top: 15%; left: 25%; width: 20%; height: 10%; background: rgba(60,50,40,0.3); filter: blur(12px); border-radius: 50%; animation: fd-smoke-a 20s linear infinite;
}
.scn-fire-destruction .smoke-2 {
  position: absolute; top: 10%; right: 20%; width: 15%; height: 8%; background: rgba(50,40,30,0.2); filter: blur(10px); border-radius: 50%; animation: fd-smoke-b 25s linear infinite reverse;
}
.scn-fire-destruction .figure-silhouette {
  position: absolute; bottom: 5%; left: 20%; width: 10%; height: 25%; background: #0a0604; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fd-figure 3s ease-in-out infinite;
}
@keyframes fd-sky {
  0% { opacity: 0.85; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes fd-flames {
  0% { transform: scaleY(1) translateY(0); opacity: 0.9; }
  50% { transform: scaleY(1.15) translateY(-5px); opacity: 1; }
  100% { transform: scaleY(0.95) translateY(0); opacity: 0.85; }
}
@keyframes fd-glow {
  0% { opacity: 0.6; box-shadow: 0 0 40px 20px rgba(255,100,30,0.3); }
  50% { opacity: 0.8; box-shadow: 0 0 60px 30px rgba(255,100,30,0.5); }
  100% { opacity: 0.7; box-shadow: 0 0 50px 25px rgba(255,100,30,0.4); }
}
@keyframes fd-building {
  0% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
  100% { transform: translateY(0); }
}
@keyframes fd-smoke-a {
  0% { transform: translateX(0) scale(1); opacity: 0.3; }
  50% { transform: translateX(20px) scale(1.2); opacity: 0.5; }
  100% { transform: translateX(40px) scale(0.8); opacity: 0.1; }
}
@keyframes fd-smoke-b {
  0% { transform: translateX(0) scale(1); opacity: 0.2; }
  50% { transform: translateX(-15px) scale(1.3); opacity: 0.4; }
  100% { transform: translateX(-30px) scale(0.7); opacity: 0.05; }
}
@keyframes fd-figure {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(5px) rotate(3deg); }
  100% { transform: translateX(0) rotate(0deg); }
}

.scn-item-account-book-fire {
  background: linear-gradient(180deg, #1a0e06 0%, #0a0602 60%), radial-gradient(ellipse at 50% 30%, #2a160a 0%, transparent 80%);
}
.scn-item-account-book-fire .room-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #0a0602 0%, #1a0e06 100%); opacity: 0.85;
}
.scn-item-account-book-fire .hearth {
  position: absolute; bottom: 0; left: 10%; width: 30%; height: 20%; background: linear-gradient(180deg, #3a1a0a 0%, #1a0804 100%); border-radius: 30% 30% 0 0; box-shadow: inset 0 8px 16px rgba(0,0,0,0.7);
}
.scn-item-account-book-fire .fire-glow {
  position: absolute; bottom: 5%; left: 12%; width: 20%; height: 20%; background: radial-gradient(circle, rgba(255,150,50,0.5) 0%, transparent 80%); animation: ab-glow 2.5s ease-in-out infinite alternate;
}
.scn-item-account-book-fire .desk {
  position: absolute; bottom: 10%; left: 35%; width: 50%; height: 6%; background: linear-gradient(180deg, #4a3020 0%, #2a1a0e 100%); border-radius: 4px; box-shadow: 0 6px 16px rgba(0,0,0,0.6);
}
.scn-item-account-book-fire .book {
  position: absolute; bottom: 14%; left: 40%; width: 20%; height: 10%; background: linear-gradient(180deg, #6a5230 0%, #4a3a1a 100%); border-radius: 2px; transform: rotate(-1deg); box-shadow: 0 4px 10px rgba(0,0,0,0.5); animation: ab-book 7s ease-in-out infinite;
}
.scn-item-account-book-fire .coin-pile {
  position: absolute; bottom: 14%; right: 15%; width: 12%; height: 6%; background: radial-gradient(circle at 50% 100%, #c8a050 0%, #8a6a30 50%, #4a3a1a 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 2px 8px rgba(0,0,0,0.5); animation: ab-coin 4s ease-in-out infinite;
}
.scn-item-account-book-fire .figure-hand {
  position: absolute; bottom: 15%; left: 38%; width: 6%; height: 10%; background: linear-gradient(180deg, #3a2014 0%, #2a1208 100%); border-radius: 40% 40% 20% 20%; transform: rotate(20deg); transform-origin: bottom center; animation: ab-hand 3s ease-in-out infinite alternate;
}
@keyframes ab-glow {
  0% { opacity: 0.7; box-shadow: 0 0 30px 15px rgba(255,150,50,0.3); }
  50% { opacity: 1; box-shadow: 0 0 50px 25px rgba(255,150,50,0.5); }
  100% { opacity: 0.8; box-shadow: 0 0 40px 20px rgba(255,150,50,0.35); }
}
@keyframes ab-book {
  0% { transform: rotate(-1deg) translateY(0); }
  50% { transform: rotate(0deg) translateY(-2px); }
  100% { transform: rotate(-1deg) translateY(0); }
}
@keyframes ab-coin {
  0% { transform: scale(1) rotate(0deg); }
  50% { transform: scale(1.05) rotate(3deg); }
  100% { transform: scale(1) rotate(0deg); }
}
@keyframes ab-hand {
  0% { transform: rotate(20deg) translateY(0); }
  50% { transform: rotate(25deg) translateY(-3px); }
  100% { transform: rotate(20deg) translateY(0); }
}

/* scene: avoid-flatterers-pestilent */
.scn-avoid-flatterers-pestilent {
  background: linear-gradient(180deg, #1a1a1a 0%, #2a1a0a 50%, #0d0d0d 100%), radial-gradient(ellipse at 50% 100%, #4a2a1a 0%, transparent 80%);
}
.scn-avoid-flatterers-pestilent .wall {
  position: absolute; inset: 0 50% 0 0; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a05 100%);
  animation: wall-shade-afp 10s ease-in-out infinite alternate;
}
.scn-avoid-flatterers-pestilent .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(0deg, #1a0f0a 0%, #2a1a0a 100%);
  animation: floor-flicker-afp 6s ease-in-out infinite alternate;
}
.scn-avoid-flatterers-pestilent .father {
  position: absolute; bottom: 20%; left: 10%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #0d0d0d 0%, #1a1a1a 50%, #0d0d0d 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  animation: figure-breathe-afp 4s ease-in-out infinite;
}
.scn-avoid-flatterers-pestilent .son {
  position: absolute; bottom: 22%; left: 22%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0d0d0d 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  animation: figure-breathe-afp 4s ease-in-out infinite -1.5s;
}
.scn-avoid-flatterers-pestilent .flatterer {
  position: absolute; bottom: 20%; right: 10%; width: 35px; height: 70px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a05 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom right;
  animation: lean-afp 5s ease-in-out infinite;
}
.scn-avoid-flatterers-pestilent .lantern {
  position: absolute; bottom: 30%; left: 45%; width: 8px; height: 8px;
  background: radial-gradient(circle, #ffd060 0%, #b08040 70%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px #b08040, 0 0 60px 20px rgba(176,128,64,0.4);
  animation: glow-pulse-afp 3s ease-in-out infinite alternate;
}
@keyframes wall-shade-afp {
  0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.8; }
}
@keyframes floor-flicker-afp {
  0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; }
}
@keyframes figure-breathe-afp {
  0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); }
}
@keyframes lean-afp {
  0% { transform: rotate(0deg) scaleX(1); } 50% { transform: rotate(3deg) scaleX(1.05); } 100% { transform: rotate(-1deg) scaleX(1); }
}
@keyframes glow-pulse-afp {
  0% { opacity: 0.8; box-shadow: 0 0 20px 5px #b08040; }
  50% { opacity: 1; box-shadow: 0 0 40px 15px #ffd060, 0 0 80px 25px rgba(255,208,96,0.5); }
  100% { opacity: 0.9; box-shadow: 0 0 25px 8px #b08040; }
}

/* scene: flatterers-corrupt-sons */
.scn-flatterers-corrupt-sons {
  background: linear-gradient(180deg, #1a0a0a 0%, #2a1a0a 40%, #0d0d0d 100%), radial-gradient(ellipse at 50% 50%, #4a2a1a 0%, transparent 70%);
}
.scn-flatterers-corrupt-sons .table {
  position: absolute; bottom: 0; left: 5%; right: 5%; height: 30%; background: linear-gradient(0deg, #2a1a0a 0%, #3a2a1a 100%); border-radius: 20% 20% 0 0;
}
.scn-flatterers-corrupt-sons .young {
  position: absolute; bottom: 30%; left: 15%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0d0d0d 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  animation: breathe-fcs 4s ease-in-out infinite;
}
.scn-flatterers-corrupt-sons .flatterer {
  position: absolute; bottom: 30%; right: 15%; width: 35px; height: 65px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a05 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom right;
  animation: lean-fcs 5s ease-in-out infinite;
}
.scn-flatterers-corrupt-sons .cup {
  position: absolute; bottom: 35%; left: 38%; width: 20px; height: 25px;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 10% 10%;
  animation: raise-cup-fcs 6s ease-in-out infinite;
}
.scn-flatterers-corrupt-sons .candle {
  position: absolute; bottom: 42%; left: 55%; width: 6px; height: 20px;
  background: linear-gradient(180deg, #ffd060 0%, #b08040 100%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: 0 0 20px 8px #b08040;
  animation: candle-flicker-fcs 2s ease-in-out infinite alternate;
}
@keyframes breathe-fcs {
  0% { transform: scaleY(1); } 50% { transform: scaleY(1.03); } 100% { transform: scaleY(1); }
}
@keyframes lean-fcs {
  0% { transform: rotate(0deg) scaleX(1); } 50% { transform: rotate(4deg) scaleX(1.05); } 100% { transform: rotate(-2deg) scaleX(1); }
}
@keyframes raise-cup-fcs {
  0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-5px) rotate(5deg); } 100% { transform: translateY(0) rotate(-5deg); }
}
@keyframes candle-flicker-fcs {
  0% { opacity: 0.8; transform: scaleY(1); } 50% { opacity: 1; transform: scaleY(1.1); } 100% { opacity: 0.9; transform: scaleY(0.95); }
}

/* scene: flatterers-accursed-tribe */
.scn-flatterers-accursed-tribe {
  background: linear-gradient(180deg, #0d0d0d 0%, #1a0a0a 50%, #0d0d0d 100%), radial-gradient(ellipse at 50% 30%, #2a1a0a 0%, transparent 80%);
}
.scn-flatterers-accursed-tribe .rich-man {
  position: absolute; bottom: 30%; left: 50%; width: 45px; height: 70px; transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  animation: rich-breathe-fat 4s ease-in-out infinite;
}
.scn-flatterers-accursed-tribe .flatterer-1 {
  position: absolute; bottom: 25%; left: 10%; width: 30px; height: 55px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a05 100%);
  border-radius: 50% 40% 20% 20% / 60% 60% 30% 30%;
  animation: crowd-sway-fat 5s ease-in-out infinite;
}
.scn-flatterers-accursed-tribe .flatterer-2 {
  position: absolute; bottom: 28%; left: 25%; width: 35px; height: 60px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a05 100%);
  border-radius: 40% 50% 20% 20% / 60% 60% 30% 30%;
  animation: crowd-sway-fat 5s ease-in-out infinite -1s;
}
.scn-flatterers-accursed-tribe .flatterer-3 {
  position: absolute; bottom: 22%; right: 25%; width: 32px; height: 58px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a05 100%);
  border-radius: 50% 40% 20% 20% / 60% 60% 30% 30%;
  animation: crowd-sway-fat 5s ease-in-out infinite -2s;
}
.scn-flatterers-accursed-tribe .flatterer-4 {
  position: absolute; bottom: 26%; right: 10%; width: 36px; height: 62px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a05 100%);
  border-radius: 40% 50% 20% 20% / 60% 60% 30% 30%;
  animation: crowd-sway-fat 5s ease-in-out infinite -3.5s;
}
.scn-flatterers-accursed-tribe .glow {
  position: absolute; top: 20%; left: 50%; width: 12px; height: 12px; transform: translateX(-50%);
  background: radial-gradient(circle, #ffd060 0%, #b08040 70%);
  border-radius: 50%; box-shadow: 0 0 40px 15px #b08040;
  animation: glow-pulse-fat 3s ease-in-out infinite alternate;
}
@keyframes rich-breathe-fat {
  0% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(1.02); } 100% { transform: translateX(-50%) scaleY(1); }
}
@keyframes crowd-sway-fat {
  0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(3px) rotate(2deg); } 100% { transform: translateX(-3px) rotate(-1deg); }
}
@keyframes glow-pulse-fat {
  0% { opacity: 0.7; box-shadow: 0 0 20px 8px #b08040; }
  50% { opacity: 1; box-shadow: 0 0 50px 20px #ffd060, 0 0 80px 30px rgba(255,208,96,0.5); }
  100% { opacity: 0.8; box-shadow: 0 0 30px 12px #b08040; }
}

/* scene: banish-flatterers */
.scn-banish-flatterers {
  background: linear-gradient(180deg, #0d0a0a 0%, #1a0f0a 50%, #0d0a0a 100%), radial-gradient(ellipse at 70% 30%, #2a1a0a 0%, transparent 70%);
}
.scn-banish-flatterers .door {
  position: absolute; left: 20%; right: 20%; bottom: 0; top: 10%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a05 100%);
  border: 2px solid #0d0a0a; border-radius: 5% 5% 0 0;
  animation: door-shake-bf 2s ease-in-out infinite;
}
.scn-banish-flatterers .father {
  position: absolute; bottom: 20%; left: 25%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0d0d0d 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom;
  animation: push-bf 2s ease-in-out infinite;
}
.scn-banish-flatterers .flatterer {
  position: absolute; bottom: 20%; left: 40%; width: 35px; height: 70px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a05 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom left;
  animation: fall-bf 2s ease-in-out infinite alternate;
}
.scn-banish-flatterers .son {
  position: absolute; bottom: 20%; left: 15%; width: 25px; height: 55px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0d0d0d 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  animation: watch-bf 3s ease-in-out infinite;
}
.scn-banish-flatterers .shadow {
  position: absolute; bottom: 0; left: 40%; width: 40px; height: 10px;
  background: rgba(0,0,0,0.5); border-radius: 50%; filter: blur(3px);
  animation: shadow-slide-bf 2s ease-in-out infinite alternate;
}
@keyframes door-shake-bf {
  0% { transform: translateX(0); } 25% { transform: translateX(-2px); } 75% { transform: translateX(2px); } 100% { transform: translateX(0); }
}
@keyframes push-bf {
  0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(5px) rotate(2deg); } 100% { transform: translateX(0) rotate(-1deg); }
}
@keyframes fall-bf {
  0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(5px) rotate(5deg); } 100% { transform: translateX(10px) rotate(10deg); }
}
@keyframes watch-bf {
  0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); }
}
@keyframes shadow-slide-bf {
  0% { transform: translateX(0); } 50% { transform: translateX(5px); } 100% { transform: translateX(10px); }
}

.scn-not-enemy {
  background: 
    linear-gradient(135deg, #2b1d14 0%, #3d2a1e 40%, #1a110c 100%),
    radial-gradient(ellipse at 30% 60%, #4a3324 0%, transparent 70%);
}
.scn-not-enemy .wall { position:absolute; inset:0; background: linear-gradient(180deg, #2b1d14 0%, #3d2a1e 50%, #1a110c 100%); }
.scn-not-enemy .window { position:absolute; top:15%; left:20%; width:40%; height:45%; background: radial-gradient(ellipse at 30% 30%, #6a5a4a 0%, #2b1d14 80%); border: 6px solid #4a3324; box-shadow: inset 0 0 30px rgba(0,0,0,.6); animation: ne-light 8s ease-in-out infinite alternate; }
.scn-not-enemy .desk { position:absolute; bottom:12%; left:10%; right:30%; height:18%; background: linear-gradient(180deg, #5a4030 0%, #3a2818 100%); border-radius: 4px; box-shadow: 0 -4px 12px rgba(0,0,0,.4); }
.scn-not-enemy .book { position:absolute; bottom:18%; left:18%; width:30px; height:20px; background: #7a6040; border-radius: 2px; transform: rotate(-5deg); box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: ne-book 12s ease-in-out infinite; }
.scn-not-enemy .candle { position:absolute; bottom:28%; left:45%; width:10px; height:30px; background: linear-gradient(180deg, #f0d080 0%, #c0a050 50%, #604020 100%); border-radius: 40% 40% 10% 10%; transform-origin: bottom center; animation: ne-candle 4s ease-in-out infinite alternate; }
.scn-not-enemy .candle::after { content:''; position:absolute; top:-8px; left:50%; transform:translateX(-50%); width:6px; height:12px; background: radial-gradient(circle, #ffd060 0%, #ffa030 70%); border-radius: 50%; box-shadow: 0 0 20px 6px rgba(255,160,48,.5); animation: ne-flame 2s ease-in-out infinite alternate; }
.scn-not-enemy .figure { position:absolute; bottom:12%; right:15%; width:25px; height:60px; background: linear-gradient(180deg, #1a110c 0%, #0a0705 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: ne-figure 6s ease-in-out infinite; }
.scn-not-enemy .shadow { position:absolute; bottom:10%; right:15%; width:30px; height:20px; background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 70%); animation: ne-shadow 6s ease-in-out infinite; }
@keyframes ne-light { 0% { opacity:.6 } 50% { opacity:.8 } 100% { opacity:.5 } }
@keyframes ne-book { 0%,100% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(-3deg) translateY(-2px) } }
@keyframes ne-candle { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(0.98) } }
@keyframes ne-flame { 0% { transform: translateX(-50%) scale(1) } 50% { transform: translateX(-50%) scale(1.2) } 100% { transform: translateX(-50%) scale(0.9) } }
@keyframes ne-figure { 0%,100% { transform: translateX(0) translateY(0) rotate(0) } 25% { transform: translateX(-2px) translateY(-1px) rotate(1deg) } 50% { transform: translateX(0) translateY(-3px) rotate(0) } 75% { transform: translateX(2px) translateY(-1px) rotate(-1deg) } }
@keyframes ne-shadow { 0%,100% { transform: scale(1) } 50% { transform: scale(1.1) } }

.scn-borrow-rhetoric {
  background: 
    linear-gradient(180deg, #2a1f18 0%, #3b2b20 50%, #1a110c 100%),
    radial-gradient(ellipse at 50% 80%, #4a3528 0%, transparent 60%);
}
.scn-borrow-rhetoric .bg-wall { position:absolute; inset:0; background: linear-gradient(180deg, #2a1f18 0%, #1a110c 100%); }
.scn-borrow-rhetoric .chair { position:absolute; bottom:15%; left:30%; right:30%; height:25%; background: linear-gradient(180deg, #5a4030 0%, #3a2818 100%); border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%; box-shadow: 0 4px 12px rgba(0,0,0,.5); }
.scn-borrow-rhetoric .old-man { position:absolute; bottom:18%; left:35%; width:30px; height:50px; background: linear-gradient(180deg, #2a1f18 0%, #0a0705 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: br-man 5s ease-in-out infinite; }
.scn-borrow-rhetoric .candle { position:absolute; bottom:28%; left:45%; width:8px; height:28px; background: linear-gradient(180deg, #e8c080 0%, #b08040 100%); border-radius: 40% 40% 10% 10%; transform-origin: bottom center; animation: br-candle 3s ease-in-out infinite alternate; }
.scn-borrow-rhetoric .candle::after { content:''; position:absolute; top:-6px; left:50%; transform:translateX(-50%); width:5px; height:10px; background: radial-gradient(circle, #ffd060 0%, #ffa030 70%); border-radius:50%; box-shadow: 0 0 15px 4px rgba(255,160,48,.5); animation: br-flame 2s ease-in-out infinite alternate; }
.scn-borrow-rhetoric .coin { position:absolute; bottom:20%; left:52%; width:12px; height:12px; background: radial-gradient(circle, #c8a060 0%, #a08040 70%); border-radius:50%; box-shadow: 0 2px 6px rgba(0,0,0,.4); animation: br-coin 4s ease-in-out infinite; }
.scn-borrow-rhetoric .shadow { position:absolute; bottom:10%; left:30%; right:30%; height:10%; background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 80%); animation: br-shadow 5s ease-in-out infinite; }
@keyframes br-man { 0%,100% { transform: translateY(0) rotate(0) } 25% { transform: translateY(-2px) rotate(2deg) } 50% { transform: translateY(-4px) rotate(0) } 75% { transform: translateY(-2px) rotate(-2deg) } }
@keyframes br-candle { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.03) } 100% { transform: scaleY(0.97) } }
@keyframes br-flame { 0% { transform: translateX(-50%) scale(1) } 50% { transform: translateX(-50%) scale(1.15) } 100% { transform: translateX(-50%) scale(0.85) } }
@keyframes br-coin { 0%,100% { transform: translateY(0) rotate(0) } 25% { transform: translateY(-8px) rotate(30deg) } 50% { transform: translateY(0) rotate(0) } 75% { transform: translateY(-6px) rotate(-20deg) } }
@keyframes br-shadow { 0%,100% { transform: scale(1) } 50% { transform: scale(1.05) } }

.scn-poverty-distress {
  background: 
    linear-gradient(180deg, #0e0a08 0%, #1a110c 30%, #2b1d14 70%, #0e0a08 100%),
    radial-gradient(ellipse at 50% 90%, #1a110c 0%, transparent 70%);
}
.scn-poverty-distress .bg-dark { position:absolute; inset:0; background: linear-gradient(180deg, #0e0a08 0%, #1a110c 60%, #0e0a08 100%); }
.scn-poverty-distress .bars { position:absolute; top:5%; bottom:10%; left:10%; right:10%; border: 6px solid #2a1a10; border-radius: 8px; box-shadow: inset 0 0 40px rgba(0,0,0,.8); animation: pd-bars 10s ease-in-out infinite; }
.scn-poverty-distress .figure-crouch { position:absolute; bottom:20%; left:45%; width:28px; height:40px; background: linear-gradient(180deg, #1a110c 0%, #0a0705 100%); border-radius: 40% 40% 50% 50% / 40% 40% 60% 60%; transform-origin: bottom center; animation: pd-figure 2s ease-in-out infinite; }
.scn-poverty-distress .chains { position:absolute; bottom:30%; left:20%; width:40px; height:20px; background: repeating-linear-gradient(90deg, #4a3a2a 0px, #4a3a2a 4px, transparent 4px, transparent 8px); border-radius: 4px; animation: pd-chains 4s linear infinite; }
.scn-poverty-distress .coins-fall { position:absolute; top:10%; left:50%; width:10px; height:10px; background: radial-gradient(circle, #c8a060 0%, #a08040 70%); border-radius:50%; box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: pd-coins 3s ease-in-out infinite; }
.scn-poverty-distress .shadow-intense { position:absolute; bottom:15%; left:30%; right:30%; height:15%; background: radial-gradient(ellipse, rgba(0,0,0,.8) 0%, transparent 70%); animation: pd-shadow 2s ease-in-out infinite alternate; }
.scn-poverty-distress .sweat { position:absolute; top:25%; left:25%; width:4px; height:6px; background: radial-gradient(circle, #8a8a8a 0%, transparent 70%); border-radius:50%; animation: pd-sweat 1.5s ease-in-out infinite; }
@keyframes pd-bars { 0%,100% { transform: scale(1) } 50% { transform: scale(1.02) } }
@keyframes pd-figure { 0%,100% { transform: translateY(0) rotate(0) } 25% { transform: translateY(-3px) rotate(3deg) } 50% { transform: translateY(-6px) rotate(0) } 75% { transform: translateY(-3px) rotate(-3deg) } }
@keyframes pd-chains { 0% { transform: translateX(0) } 100% { transform: translateX(-20px) } }
@keyframes pd-coins { 0% { transform: translateY(-30px) rotate(0) } 50% { transform: translateY(0) rotate(180deg) } 100% { transform: translateY(20px) rotate(360deg) } }
@keyframes pd-shadow { 0% { opacity:.6 } 100% { opacity:1 } }
@keyframes pd-sweat { 0%,100% { transform: translateY(0) scale(1) } 50% { transform: translateY(-8px) scale(1.5) } }

.scn-goat-ox-proverb {
  background: 
    linear-gradient(135deg, #3b2b20 0%, #4a3828 50%, #2a1f18 100%),
    radial-gradient(ellipse at 20% 80%, #5a4030 0%, transparent 60%);
}
.scn-goat-ox-proverb .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #4a3828 0%, #2a1f18 100%); border-radius: 20% 20% 0 0 / 40% 40% 0 0; }
.scn-goat-ox-proverb .wall-back { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #3b2b20 0%, #2a1f18 100%); }
.scn-goat-ox-proverb .man-comic { position:absolute; bottom:20%; left:40%; width:30px; height:55px; background: linear-gradient(180deg, #3b2b20 0%, #1a110c 100%); border-radius: 40% 40% 50% 50% / 50% 50% 60% 60%; transform-origin: bottom center; animation: go-man 3s ease-in-out infinite; }
.scn-goat-ox-proverb .man-comic::before { content:''; position:absolute; top:8px; left:-10px; width:20px; height:10px; background: #4a3828; border-radius: 50%; transform: rotate(20deg); }
.scn-goat-ox-proverb .ox { position:absolute; bottom:20%; right:20%; width:50px; height:35px; background: linear-gradient(180deg, #6a5040 0%, #4a3828 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; animation: go-ox 4s ease-in-out infinite; }
.scn-goat-ox-proverb .goat { position:absolute; bottom:22%; left:15%; width:30px; height:25px; background: linear-gradient(180deg, #7a6050 0%, #5a4030 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; animation: go-goat 2.5s ease-in-out infinite; }
.scn-goat-ox-proverb .rope { position:absolute; bottom:28%; left:35%; width:40px; height:4px; background: #8a7050; border-radius: 2px; transform: rotate(15deg); animation: go-rope 3s ease-in-out infinite; }
.scn-goat-ox-proverb .speech-bubble { position:absolute; top:10%; left:35%; width:60px; height:30px; background: rgba(255,255,255,.7); border-radius: 50% 50% 50% 0; transform: rotate(10deg); animation: go-speech 4s ease-in-out infinite; }
.scn-goat-ox-proverb .speech-bubble::after { content:''; position:absolute; bottom:-10px; left:10px; width:0; height:0; border: 8px solid transparent; border-top-color: rgba(255,255,255,.7); transform: rotate(20deg); }
@keyframes go-man { 0%,100% { transform: translateY(0) rotate(-5deg) } 25% { transform: translateY(-10px) rotate(5deg) } 50% { transform: translateY(-15px) rotate(-2deg) } 75% { transform: translateY(-10px) rotate(2deg) } }
@keyframes go-ox { 0%,100% { transform: translateY(0) scale(1) } 50% { transform: translateY(-4px) scale(1.02) } }
@keyframes go-goat { 0%,100% { transform: translateY(0) rotate(-3deg) } 50% { transform: translateY(-6px) rotate(3deg) } }
@keyframes go-rope { 0%,100% { transform: rotate(15deg) } 50% { transform: rotate(25deg) } }
@keyframes go-speech { 0%,100% { transform: scale(1) rotate(10deg) } 50% { transform: scale(1.1) rotate(15deg) } }

/* epicurus-contradiction */
.scn-epicurus-contradiction {
  background: 
    linear-gradient(180deg, #2a1d0f 0%, #4a3520 30%, #6a4f30 60%, #3d2b16 100%),
    radial-gradient(ellipse at 30% 60%, #8a6b40 0%, transparent 70%);
}
.scn-epicurus-contradiction .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #5a4530 0%, #3a2b1a 100%); box-shadow: inset 0 0 40px rgba(0,0,0,0.6); }
.scn-epicurus-contradiction .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #4a3520 0%, #2a1d0f 100%); }
.scn-epicurus-contradiction .table { position:absolute; bottom:18%; left:30%; width:50%; height:6%; background: linear-gradient(90deg, #7a5c40 0%, #9a7a55 30%, #7a5c40 100%); border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.5); animation: ec-table 10s ease-in-out infinite; }
@keyframes ec-table { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
.scn-epicurus-contradiction .winecup { position:absolute; bottom:24%; left:38%; width:8px; height:14px; background: linear-gradient(180deg, #c0a060 0%, #806040 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 2px 4px rgba(0,0,0,0.3); animation: ec-cup 3s ease-in-out infinite; }
@keyframes ec-cup { 0%,100% { transform: rotate(0deg); } 50% { transform: rotate(-5deg); } }
.scn-epicurus-contradiction .book { position:absolute; bottom:22%; left:52%; width:18px; height:12px; background: linear-gradient(135deg, #b08050 0%, #907040 100%); border-radius: 2px; transform: rotate(-10deg); box-shadow: 0 2px 6px rgba(0,0,0,0.4); animation: ec-book 6s ease-in-out infinite; }
@keyframes ec-book { 0%,100% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(-10deg) translateY(-4px); } }
.scn-epicurus-contradiction .figure-scribe { position:absolute; bottom:10%; left:45%; width:20px; height:36px; background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: ec-scribe 8s ease-in-out infinite; }
@keyframes ec-scribe { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(10px) rotate(3deg); } 50% { transform: translateX(20px) rotate(0deg); } 75% { transform: translateX(10px) rotate(-3deg); } 100% { transform: translateX(0) rotate(0deg); } }
.scn-epicurus-contradiction .urn { position:absolute; bottom:14%; right:20%; width:14px; height:20px; background: linear-gradient(180deg, #6a5a40 0%, #4a3a28 100%); border-radius: 30% 30% 20% 20%; box-shadow: inset 0 -4px 8px rgba(0,0,0,0.4); animation: ec-urn 12s ease-in-out infinite alternate; }
@keyframes ec-urn { 0% { transform: scale(1); } 100% { transform: scale(1.05); } }
.scn-epicurus-contradiction .candle { position:absolute; bottom:28%; left:25%; width:6px; height:16px; background: linear-gradient(180deg, #f0d080 0%, #c09840 100%); border-radius: 2px; box-shadow: 0 0 12px 4px rgba(240,208,128,0.4); animation: ec-candle 2s ease-in-out infinite alternate; }
@keyframes ec-candle { 0% { opacity:0.9; box-shadow: 0 0 12px 4px rgba(240,208,128,0.4); } 100% { opacity:1; box-shadow: 0 0 20px 8px rgba(240,208,128,0.6); } }

/* lights-out */
.scn-lights-out {
  background: 
    linear-gradient(180deg, #0a0a14 0%, #141425 40%, #1a1a30 100%),
    radial-gradient(ellipse at 50% 60%, #2a2a4a 0%, transparent 80%);
}
.scn-lights-out .room-dark { position:absolute; inset:0; background: linear-gradient(135deg, #0a0a14 0%, #1a1a30 100%); }
.scn-lights-out .table-outline { position:absolute; bottom:15%; left:25%; width:50%; height:8%; background: #1a1a2a; border-radius: 10px; box-shadow: 0 0 20px rgba(0,0,0,0.8); }
.scn-lights-out .candle-glow { position:absolute; bottom:30%; left:40%; width:12px; height:12px; border-radius:50%; background: radial-gradient(circle, rgba(255,200,100,0.3) 0%, transparent 70%); box-shadow: 0 0 30px 15px rgba(255,200,100,0.2); animation: lo-fade 5s ease-in-out infinite; }
@keyframes lo-fade { 0% { opacity:0.8; transform: scale(1); } 50% { opacity:0.2; transform: scale(0.6); } 100% { opacity:0.8; transform: scale(1); } }
.scn-lights-out .extinguished-wisp { position:absolute; bottom:32%; left:42%; width:4px; height:6px; background: rgba(200,200,200,0.4); border-radius:50%; filter: blur(2px); animation: lo-wisp 4s ease-in-out infinite; }
@keyframes lo-wisp { 0% { transform: translateY(0) scale(1); opacity:0.6; } 50% { transform: translateY(-20px) scale(2); opacity:0; } 100% { transform: translateY(0) scale(1); opacity:0.6; } }
.scn-lights-out .figure-flee { position:absolute; bottom:10%; left:20%; width:18px; height:34px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: lo-flee 6s ease-in-out infinite; }
@keyframes lo-flee { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(80px) rotate(5deg); } 60% { transform: translateX(160px) rotate(0deg); } 100% { transform: translateX(0) rotate(0deg); } }
.scn-lights-out .door-slit { position:absolute; right:12%; bottom:0; width:14px; height:40%; background: linear-gradient(180deg, #2a2a3a 0%, #0a0a14 100%); border-left: 2px solid #3a3a4a; animation: lo-door 8s ease-in-out infinite; }
@keyframes lo-door { 0%,100% { transform: scaleX(1); } 50% { transform: scaleX(0.3); } }

/* deity-nature */
.scn-deity-nature {
  background: 
    linear-gradient(180deg, #f5e6d0 0%, #e0c8a8 40%, #c0a080 100%),
    radial-gradient(ellipse at 70% 30%, #fff0d0 0%, transparent 60%);
}
.scn-deity-nature .wall-warm { position:absolute; inset:0 0 25% 0; background: linear-gradient(90deg, #d4b896 0%, #c0a080 100%); }
.scn-deity-nature .window-frame { position:absolute; top:15%; left:35%; width:30%; height:50%; border: 8px solid #8a6a4a; background: transparent; border-radius: 4px; box-shadow: inset 0 0 20px rgba(0,0,0,0.2); }
.scn-deity-nature .window-glass { position:absolute; top:15%; left:35%; width:30%; height:50%; background: linear-gradient(135deg, #a0c0d0 0%, #d0e0f0 100%); opacity:0.3; animation: dn-glass 8s ease-in-out infinite; }
@keyframes dn-glass { 0%,100% { opacity:0.3; } 50% { opacity:0.5; } }
.scn-deity-nature .sunlight-beam { position:absolute; top:30%; left:40%; width:40%; height:40%; background: linear-gradient(135deg, rgba(255,220,180,0.6) 0%, transparent 100%); clip-path: polygon(0 0, 100% 0, 60% 100%, 0 100%); animation: dn-beam 6s ease-in-out infinite alternate; }
@keyframes dn-beam { 0% { transform: translateX(0) skewX(0deg); } 100% { transform: translateX(10px) skewX(-2deg); } }
.scn-deity-nature .figure-praising { position:absolute; bottom:20%; left:45%; width:20px; height:40px; background: linear-gradient(180deg, #4a3a28 0%, #2a1d0f 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dn-praise 3s ease-in-out infinite; }
@keyframes dn-praise { 0%,100% { transform: scaleY(1) rotate(0deg); } 50% { transform: scaleY(1.1) rotate(3deg); } }
.scn-deity-nature .scroll { position:absolute; bottom:22%; left:55%; width:12px; height:16px; background: linear-gradient(180deg, #d0b090 0%, #b09070 100%); border-radius: 2px; transform: rotate(15deg); animation: dn-scroll 7s ease-in-out infinite; }
@keyframes dn-scroll { 0%,100% { transform: rotate(15deg) translateY(0); } 50% { transform: rotate(15deg) translateY(-5px); } }
.scn-deity-nature .potted-plant { position:absolute; bottom:15%; left:22%; width:20px; height:30px; background: linear-gradient(180deg, #6a8a50 0%, #4a6a30 100%); border-radius: 50% 50% 0 0; animation: dn-plant 12s ease-in-out infinite alternate; }
@keyframes dn-plant { 0% { transform: scale(1); } 100% { transform: scale(1.05); } }

/* themistocles-camillus */
.scn-themistocles-camillus {
  background: 
    linear-gradient(180deg, #f0e8d0 0%, #d0c8a0 30%, #a09070 60%, #807050 100%),
    radial-gradient(ellipse at 50% 20%, #fff8e0 0%, transparent 70%);
}
.scn-themistocles-camillus .sky-sunlit { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #5a80b0 0%, #90b8d0 50%, #c0d8e8 100%); }
.scn-themistocles-camillus .sun { position:absolute; top:8%; left:50%; width:40px; height:40px; margin-left:-20px; background: radial-gradient(circle, #ffe080 0%, #ffd060 40%, transparent 70%); border-radius:50%; box-shadow: 0 0 60px 30px rgba(255,224,128,0.3); animation: tc-sun 20s ease-in-out infinite alternate; }
@keyframes tc-sun { 0% { transform: scale(1); opacity:0.9; } 100% { transform: scale(1.05); opacity:1; } }
.scn-themistocles-camillus .acropolis { position:absolute; bottom:35%; left:15%; width:30%; height:20%; background: linear-gradient(180deg, #c0a880 0%, #a08860 100%); clip-path: polygon(10% 100%, 20% 20%, 40% 0%, 60% 10%, 80% 0%, 90% 30%, 100% 100%); animation: tc-acro 15s ease-in-out infinite; }
@keyframes tc-acro { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
.scn-themistocles-camillus .colonnade { position:absolute; bottom:30%; right:10%; width:20%; height:25%; background: repeating-linear-gradient(90deg, #a08860 0px, #a08860 6px, transparent 6px, transparent 12px); border-radius: 0 0 4px 4px; animation: tc-col 10s ease-in-out infinite alternate; }
@keyframes tc-col { 0% { opacity:0.8; } 100% { opacity:1; } }
.scn-themistocles-camillus .figure-left { position:absolute; bottom:20%; left:25%; width:18px; height:36px; background: linear-gradient(180deg, #2a1d0f 0%, #1a1008 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: tc-figureL 6s ease-in-out infinite; }
@keyframes tc-figureL { 0%,100% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(5px) rotate(2deg); } }
.scn-themistocles-camillus .figure-right { position:absolute; bottom:20%; right:25%; width:18px; height:36px; background: linear-gradient(180deg, #2a1d0f 0%, #1a1008 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: tc-figureR 6s ease-in-out infinite 3s; }
@keyframes tc-figureR { 0%,100% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-5px) rotate(-2deg); } }
.scn-themistocles-camillus .ground { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #8a7a50 0%, #6a5a3a 100%); }
.scn-themistocles-camillus .olive-branch { position:absolute; bottom:22%; left:48%; width:4px; height:12px; background: #6a8a50; border-radius: 2px; transform: rotate(-30deg); transform-origin: bottom; animation: tc-olive 4s ease-in-out infinite alternate; }
@keyframes tc-olive { 0% { transform: rotate(-30deg) scaleX(1); } 100% { transform: rotate(-30deg) scaleX(1.2); } }

.scn-bashfulness-harmonious-blending {
  background:
    radial-gradient(ellipse at 50% 50%, #3a2a1a 0%, #1a1210 60%, #0a0808 100%),
    linear-gradient(180deg, #2a2018 0%, #1a1410 100%);
}
.scn-bashfulness-harmonious-blending .bg-shadow {
  position: absolute; inset: 0; opacity: 0.3;
  background: radial-gradient(ellipse at 30% 70%, #4a3a2a 0%, transparent 70%);
  animation: hb-shadow 6s ease-in-out infinite alternate;
}
.scn-bashfulness-harmonious-blending .blend-core {
  position: absolute; top: 35%; left: 50%; width: 60px; height: 60px; transform: translate(-50%,-50%);
  background: radial-gradient(circle, #c89860 0%, #a07040 40%, #6a4a30 70%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(200,152,96,0.3), 0 0 60px 20px rgba(160,112,64,0.15);
  animation: hb-pulse 4s ease-in-out infinite alternate;
}
.scn-bashfulness-harmonious-blending .thread-left {
  position: absolute; top: 48%; left: 15%; width: 120px; height: 4px;
  background: linear-gradient(90deg, transparent 0%, #c89860 40%, #a07040 80%, transparent 100%);
  border-radius: 2px;
  transform-origin: left center;
  animation: hb-thread-l 8s ease-in-out infinite alternate;
}
.scn-bashfulness-harmonious-blending .thread-right {
  position: absolute; top: 30%; right: 15%; width: 120px; height: 4px;
  background: linear-gradient(270deg, transparent 0%, #b88850 40%, #906838 80%, transparent 100%);
  border-radius: 2px;
  transform-origin: right center;
  animation: hb-thread-r 8s ease-in-out infinite alternate;
}
.scn-bashfulness-harmonious-blending .sparkle-a {
  position: absolute; top: 40%; left: 35%; width: 6px; height: 6px;
  background: radial-gradient(circle, #ffe0a0 0%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 8px 2px rgba(255,224,160,0.4);
  animation: hb-sparkle 5s ease-in-out infinite;
}
.scn-bashfulness-harmonious-blending .sparkle-b {
  position: absolute; top: 35%; right: 30%; width: 4px; height: 4px;
  background: radial-gradient(circle, #ffd080 0%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 6px 1px rgba(255,208,128,0.3);
  animation: hb-sparkle 7s ease-in-out infinite 1.5s;
}
@keyframes hb-shadow { 0% { opacity: 0.2; } 50% { opacity: 0.4; } 100% { opacity: 0.2; } }
@keyframes hb-pulse { 0% { transform: translate(-50%,-50%) scale(0.95); } 50% { transform: translate(-50%,-50%) scale(1.05); } 100% { transform: translate(-50%,-50%) scale(1); } }
@keyframes hb-thread-l { 0% { transform: scaleX(0.8) translateY(0); } 50% { transform: scaleX(1.2) translateY(4px); } 100% { transform: scaleX(0.9) translateY(-2px); } }
@keyframes hb-thread-r { 0% { transform: scaleX(0.8) translateY(0); } 50% { transform: scaleX(1.2) translateY(-4px); } 100% { transform: scaleX(0.9) translateY(2px); } }
@keyframes hb-sparkle { 0% { opacity: 0.2; transform: scale(0.5); } 50% { opacity: 1; transform: scale(1.5); } 100% { opacity: 0.3; transform: scale(0.8); } }

.scn-bashfulness-vine-pruning {
  background:
    radial-gradient(ellipse at 50% 80%, #3a2a1a 0%, #1a1210 60%, #0a0808 100%),
    linear-gradient(180deg, #2a2418 0%, #1a1410 100%);
}
.scn-bashfulness-vine-pruning .wall-drape {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e1a 100%);
  border-radius: 0 0 30% 30% / 0 0 20% 20%;
  animation: vp-drape 12s ease-in-out infinite alternate;
}
.scn-bashfulness-vine-pruning .figure-pruner {
  position: absolute; bottom: 20%; left: 38%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #2a1e1a 0%, #140e0a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: vp-figure 4s ease-in-out infinite;
}
.scn-bashfulness-vine-pruning .vine-stem {
  position: absolute; bottom: 25%; right: 25%; width: 8px; height: 90px;
  background: linear-gradient(180deg, #4a6a3a 0%, #2a4a1a 100%);
  border-radius: 4px;
  transform-origin: bottom center;
  animation: vp-vine 8s ease-in-out infinite alternate;
}
.scn-bashfulness-vine-pruning .shears-tool {
  position: absolute; bottom: 38%; left: 44%; width: 18px; height: 8px;
  background: linear-gradient(135deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 2px;
  transform-origin: right center;
  animation: vp-shears 3s ease-in-out infinite;
}
.scn-bashfulness-vine-pruning .lantern-glow {
  position: absolute; bottom: 30%; left: 15%; width: 12px; height: 16px;
  background: radial-gradient(circle at 50% 50%, #f0c060 0%, #c08040 50%, transparent 100%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 0 40px 10px rgba(240,192,96,0.3), 0 0 80px 20px rgba(192,128,64,0.15);
  animation: vp-lantern 3s ease-in-out infinite alternate;
}
.scn-bashfulness-vine-pruning .leaf-a {
  position: absolute; bottom: 60%; right: 30%; width: 12px; height: 6px;
  background: radial-gradient(ellipse at 50% 50%, #5a8a4a 0%, #3a6a2a 100%);
  border-radius: 50% 0 50% 0;
  transform: rotate(20deg);
  animation: vp-leaf 6s ease-in-out infinite alternate;
}
.scn-bashfulness-vine-pruning .leaf-b {
  position: absolute; bottom: 45%; right: 20%; width: 10px; height: 5px;
  background: radial-gradient(ellipse at 50% 50%, #4a7a3a 0%, #2a5a1a 100%);
  border-radius: 50% 0 50% 0;
  transform: rotate(-30deg);
  animation: vp-leaf 8s ease-in-out infinite alternate 2s;
}
@keyframes vp-drape { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes vp-figure { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-3px) rotate(1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes vp-vine { 0% { transform: scaleY(1) translateX(0); } 50% { transform: scaleY(1.05) translateX(3px); } 100% { transform: scaleY(1) translateX(-1px); } }
@keyframes vp-shears { 0% { transform: rotate(0deg); } 25% { transform: rotate(10deg); } 50% { transform: rotate(0deg); } 75% { transform: rotate(-10deg); } 100% { transform: rotate(0deg); } }
@keyframes vp-lantern { 0% { box-shadow: 0 0 20px 5px rgba(240,192,96,0.2); } 50% { box-shadow: 0 0 50px 15px rgba(240,192,96,0.4); } 100% { box-shadow: 0 0 30px 8px rgba(240,192,96,0.25); } }
@keyframes vp-leaf { 0% { transform: rotate(20deg) scale(1); } 50% { transform: rotate(30deg) scale(1.2); } 100% { transform: rotate(15deg) scale(0.9); } }

.scn-bashfulness-nurses-rubbing {
  background:
    radial-gradient(ellipse at 50% 60%, #4a3020 0%, #1a1210 60%, #0a0808 100%),
    linear-gradient(180deg, #2a2018 0%, #1a1410 100%);
}
.scn-bashfulness-nurses-rubbing .nurse-arm {
  position: absolute; bottom: 30%; left: 20%; width: 40px; height: 60px;
  background: linear-gradient(135deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom left;
  animation: nr-arm 3s ease-in-out infinite alternate;
}
.scn-bashfulness-nurses-rubbing .infant-body {
  position: absolute; bottom: 15%; left: 35%; width: 50px; height: 40px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: center bottom;
  animation: nr-infant 4s ease-in-out infinite;
}
.scn-bashfulness-nurses-rubbing .cloth-fold {
  position: absolute; bottom: 32%; left: 28%; width: 30px; height: 10px;
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 20% 20% 10% 10%;
  animation: nr-cloth 5s ease-in-out infinite alternate;
}
.scn-bashfulness-nurses-rubbing .light-spot {
  position: absolute; top: 20%; left: 50%; width: 80px; height: 80px;
  background: radial-gradient(circle, rgba(200,160,120,0.4) 0%, transparent 70%);
  border-radius: 50%;
  transform: translateX(-50%);
  animation: nr-spot 8s ease-in-out infinite alternate;
}
.scn-bashfulness-nurses-rubbing .warm-haze {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 40% 50%, rgba(180,140,100,0.1) 0%, transparent 60%);
  animation: nr-haze 10s ease-in-out infinite alternate;
}
@keyframes nr-arm { 0% { transform: translate(0, 0) rotate(-5deg); } 50% { transform: translate(6px, -4px) rotate(10deg); } 100% { transform: translate(2px, -2px) rotate(0deg); } }
@keyframes nr-infant { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(1px) scale(1.02); } 100% { transform: translateY(0) scale(0.98); } }
@keyframes nr-cloth { 0% { transform: translateX(0) scaleY(1); } 50% { transform: translateX(4px) scaleY(1.1); } 100% { transform: translateX(-2px) scaleY(0.9); } }
@keyframes nr-spot { 0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes nr-haze { 0% { opacity: 0.3; } 50% { opacity: 0.6; } 100% { opacity: 0.4; } }

.scn-bashfulness-stoics-distinction {
  background:
    radial-gradient(ellipse at 50% 30%, #3a2a1a 0%, #1a1210 60%, #0a0808 100%),
    linear-gradient(180deg, #201810 0%, #14100a 100%);
}
.scn-bashfulness-stoics-distinction .bg-arch {
  position: absolute; top: 0; left: 20%; right: 20%; height: 60%;
  background: radial-gradient(ellipse at 50% 100%, #4a3a2a 0%, transparent 60%);
  border-radius: 40% 40% 0 0 / 60% 60% 0 0;
  animation: sd-arch 12s ease-in-out infinite alternate;
}
.scn-bashfulness-stoics-distinction .pillar-left {
  position: absolute; bottom: 0; left: 25%; width: 20px; height: 70%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: inset -4px 0 8px rgba(0,0,0,0.5);
  animation: sd-pillar-l 6s ease-in-out infinite alternate;
}
.scn-bashfulness-stoics-distinction .pillar-right {
  position: absolute; bottom: 0; right: 25%; width: 20px; height: 70%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e18 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: inset 4px 0 8px rgba(0,0,0,0.5);
  animation: sd-pillar-r 6s ease-in-out infinite alternate 2s;
}
.scn-bashfulness-stoics-distinction .scale-beam {
  position: absolute; top: 45%; left: 20%; right: 20%; height: 6px;
  background: linear-gradient(90deg, transparent 0%, #6a5a4a 20%, #8a7a6a 50%, #6a5a4a 80%, transparent 100%);
  border-radius: 3px;
  transform-origin: center;
  animation: sd-beam 8s ease-in-out infinite alternate;
}
.scn-bashfulness-stoics-distinction .light-beam {
  position: absolute; top: 10%; left: 45%; width: 60px; height: 200px;
  background: linear-gradient(180deg, rgba(200,160,120,0.4) 0%, transparent 100%);
  transform: rotate(5deg);
  border-radius: 10% 10% 0 0;
  filter: blur(4px);
  animation: sd-light 5s ease-in-out infinite alternate;
}
.scn-bashfulness-stoics-distinction .hover-dust {
  position: absolute; bottom: 20%; left: 10%; width: 4px; height: 4px;
  background: radial-gradient(circle, #c8a880 0%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 6px rgba(200,168,128,0.4);
  animation: sd-dust 15s linear infinite;
}
@keyframes sd-arch { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes sd-pillar-l { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(0.98); } }
@keyframes sd-pillar-r { 0% { transform: scaleY(0.98); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes sd-beam { 0% { transform: rotate(-3deg); } 50% { transform: rotate(0deg); } 100% { transform: rotate(3deg); } }
@keyframes sd-light { 0% { opacity: 0.3; transform: rotate(5deg) scaleY(0.9); } 50% { opacity: 0.7; transform: rotate(0deg) scaleY(1.1); } 100% { opacity: 0.4; transform: rotate(-2deg) scaleY(0.95); } }
@keyframes sd-dust { 0% { transform: translate(0, 0) scale(1); opacity: 0; } 20% { opacity: 1; } 80% { opacity: 0.5; } 100% { transform: translate(30px, -60px) scale(0.5); opacity: 0; } }

/* Scene 1: antisthenes-friends-red-hot-enemies */
.scn-antisthenes-friends-red-hot-enemies {
  background: linear-gradient(135deg, #1a1410 0%, #2a1c14 40%, #0e0a08 100%), radial-gradient(ellipse at 80% 60%, #b84313 0%, transparent 60%);
}
.scn-antisthenes-friends-red-hot-enemies .af-hearth {
  position: absolute; bottom: 30%; left: 5%; width: 25%; height: 40%;
  background: radial-gradient(ellipse at 50% 80%, #ff9b44 0%, #b84313 40%, transparent 70%);
  border-radius: 50% 50% 30% 30%; filter: blur(4px);
  animation: af-fire 3s ease-in-out infinite alternate;
}
.scn-antisthenes-friends-red-hot-enemies .af-window {
  position: absolute; top: 10%; right: 8%; width: 30%; height: 45%;
  background: linear-gradient(180deg, #1a2a3a 0%, #2c4050 60%, #3a5060 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  box-shadow: inset 0 0 20px rgba(0,0,0,.7);
  animation: af-window-glow 12s ease-in-out infinite alternate;
}
.scn-antisthenes-friends-red-hot-enemies .af-moonbeam {
  position: absolute; top: 10%; right: 8%; width: 30%; height: 90%;
  background: linear-gradient(180deg, rgba(200,220,255,.15) 0%, transparent 100%);
  filter: blur(10px);
  animation: af-beam-sway 20s ease-in-out infinite alternate;
}
.scn-antisthenes-friends-red-hot-enemies .af-figure-l {
  position: absolute; bottom: 12%; left: 25%; width: 15%; height: 35%;
  background: linear-gradient(90deg, #1a1210 0%, #2a1e1a 50%, #1a1210 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: af-breathe 4.5s ease-in-out infinite;
}
.scn-antisthenes-friends-red-hot-enemies .af-figure-r {
  position: absolute; bottom: 12%; right: 25%; width: 15%; height: 35%;
  background: linear-gradient(270deg, #1a1210 0%, #2a1e1a 50%, #1a1210 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: af-breathe 5s ease-in-out infinite 0.5s;
}
.scn-antisthenes-friends-red-hot-enemies .af-table {
  position: absolute; bottom: 12%; left: 35%; width: 30%; height: 6%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 10% 10% 30% 30% / 50% 50% 30% 30%;
  box-shadow: 0 4px 12px rgba(0,0,0,.7);
  animation: af-table-glow 3s ease-in-out infinite alternate;
}
.scn-antisthenes-friends-red-hot-enemies .af-shadow-wall {
  position: absolute; bottom: 0; left: 0; right: 0; height: 70%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.6) 100%);
  animation: af-shadow-deepen 15s ease-in-out infinite alternate;
}
@keyframes af-fire {
  0% { transform: scale(1) rotate(-1deg); opacity: .8; box-shadow: 0 0 40px #b84313; }
  50% { transform: scale(1.05) rotate(1deg); opacity: 1; box-shadow: 0 0 80px #ff7b24; }
  100% { transform: scale(.95) rotate(-0.5deg); opacity: .85; box-shadow: 0 0 50px #b84313; }
}
@keyframes af-window-glow {
  0% { opacity: .5; filter: brightness(.8); }
  50% { opacity: .8; filter: brightness(1.1); }
  100% { opacity: .6; filter: brightness(.9); }
}
@keyframes af-breathe {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-4px) scale(1.02); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes af-beam-sway {
  0% { transform: translateX(-5px) skewX(-2deg); opacity: .4; }
  50% { transform: translateX(5px) skewX(2deg); opacity: .7; }
  100% { transform: translateX(-3px) skewX(-1deg); opacity: .5; }
}
@keyframes af-shadow-deepen {
  0% { opacity: .5; } 50% { opacity: .8; } 100% { opacity: .6; }
}
@keyframes af-table-glow {
  0% { box-shadow: 0 4px 12px rgba(0,0,0,.7); }
  50% { box-shadow: 0 4px 24px rgba(184,67,19,.3); }
  100% { box-shadow: 0 4px 12px rgba(0,0,0,.7); }
}

/* Scene 2: clear-imputation-enemy */
.scn-clear-imputation-enemy {
  background: linear-gradient(180deg, #141a20 0%, #1c2430 40%, #0a0e12 100%), radial-gradient(ellipse at 50% 0%, #2c4050 0%, transparent 60%);
}
.scn-clear-imputation-enemy .ci-bg {
  position: absolute; inset: 0; background: linear-gradient(135deg, #182028, #0e141a);
  animation: ci-room-breathe 20s ease-in-out infinite alternate;
}
.scn-clear-imputation-enemy .ci-window {
  position: absolute; top: 5%; left: 5%; width: 40%; height: 50%;
  background: linear-gradient(180deg, #1a2a3a 0%, #2c4050 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%;
  box-shadow: inset 0 0 30px #000;
  animation: ci-window-fade 15s ease-in-out infinite alternate;
}
.scn-clear-imputation-enemy .ci-moon {
  position: absolute; top: 10%; left: 20%; width: 8%; height: 14%;
  background: radial-gradient(circle, #e8f0f8 0%, #b0c8d8 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 10px rgba(200,220,240,.3);
  animation: ci-moon-drift 30s linear infinite alternate;
}
.scn-clear-imputation-enemy .ci-figure {
  position: absolute; bottom: 10%; right: 15%; width: 30%; height: 55%;
  background: linear-gradient(180deg, #2a2e3a 0%, #141820 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ci-figure-shift 8s ease-in-out infinite;
}
.scn-clear-imputation-enemy .ci-stain {
  position: absolute; bottom: 20%; right: 25%; width: 10%; height: 10%;
  background: radial-gradient(circle, #1a0a0a 0%, #0e0505 70%, transparent 100%);
  border-radius: 40% 60% 50% 50% / 60% 40% 60% 40%;
  filter: blur(2px);
  animation: ci-stain-pulse 12s ease-in-out infinite alternate;
}
.scn-clear-imputation-enemy .ci-hand {
  position: absolute; bottom: 35%; right: 35%; width: 12%; height: 20%;
  background: linear-gradient(180deg, #3a2e2a 0%, #1a1412 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: 80% 80%;
  animation: ci-hand-brush 6s ease-in-out infinite;
}
.scn-clear-imputation-enemy .ci-shadow {
  position: absolute; bottom: 0; left: 10%; right: 0; height: 60%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.5) 100%);
  animation: ci-shadow-shift 15s ease-in-out infinite alternate;
}
@keyframes ci-window-fade {
  0% { opacity: .6; } 50% { opacity: .9; } 100% { opacity: .7; }
}
@keyframes ci-moon-drift {
  0% { transform: translateX(0) translateY(0) scale(1); }
  50% { transform: translateX(10px) translateY(-5px) scale(1.05); }
  100% { transform: translateX(-5px) translateY(3px) scale(.95); }
}
@keyframes ci-figure-shift {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-8px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes ci-stain-pulse {
  0% { transform: scale(1); opacity: .6; }
  50% { transform: scale(1.2); opacity: .9; }
  100% { transform: scale(.9); opacity: .7; }
}
@keyframes ci-hand-brush {
  0% { transform: translate(0, 0) rotate(0deg); }
  25% { transform: translate(-10px, 5px) rotate(-15deg); }
  50% { transform: translate(-15px, 10px) rotate(-25deg); }
  75% { transform: translate(-10px, 5px) rotate(-15deg); }
  100% { transform: translate(0, 0) rotate(0deg); }
}
@keyframes ci-shadow-shift {
  0% { opacity: .4; } 50% { opacity: .7; } 100% { opacity: .5; }
}
@keyframes ci-room-breathe {
  0% { filter: brightness(1); } 50% { filter: brightness(1.1); } 100% { filter: brightness(.95); }
}

/* Scene 3: false-charge-not-despite-neglect */
.scn-false-charge-not-despite-neglect {
  background: linear-gradient(135deg, #1a1410 0%, #0e0a08 50%, #1a1410 100%), radial-gradient(ellipse at 30% 40%, #b87a30 0%, transparent 70%);
}
.scn-false-charge-not-despite-neglect .fc-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a1410, #0e0a08);
  animation: fc-bg-pulse 15s ease-in-out infinite alternate;
}
.scn-false-charge-not-despite-neglect .fc-desk {
  position: absolute; bottom: 5%; left: 10%; right: 10%; height: 40%;
  background: linear-gradient(180deg, #3a2510 0%, #1a1008 100%);
  border-radius: 20% 20% 5% 5% / 30% 30% 10% 10%;
  box-shadow: inset 0 10px 20px rgba(0,0,0,.7);
  animation: fc-desk-shift 20s ease-in-out infinite alternate;
}
.scn-false-charge-not-despite-neglect .fc-document {
  position: absolute; bottom: 30%; left: 25%; width: 30%; height: 20%;
  background: linear-gradient(135deg, #d4c9b8 0%, #b8a890 100%);
  border-radius: 5% 10% 5% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,.5);
  transform-origin: left center;
  animation: fc-document-rustle 8s ease-in-out infinite;
}
.scn-false-charge-not-despite-neglect .fc-seal {
  position: absolute; bottom: 35%; left: 40%; width: 6%; height: 8%;
  background: radial-gradient(circle, #c8553d 0%, #702243 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,.4);
  animation: fc-seal-glow 6s ease-in-out infinite alternate;
}
.scn-false-charge-not-despite-neglect .fc-quill {
  position: absolute; bottom: 40%; left: 50%; width: 20%; height: 4%;
  background: linear-gradient(270deg, #d4c9b8 0%, #8a7a6a 50%, #1a1410 100%);
  border-radius: 40% 40% 40% 40% / 80% 80% 20% 20%;
  transform-origin: 100% 50%;
  animation: fc-quill-tremble 4s ease-in-out infinite alternate;
}
.scn-false-charge-not-despite-neglect .fc-hand {
  position: absolute; bottom: 30%; left: 15%; width: 18%; height: 25%;
  background: linear-gradient(180deg, #3a2a22 0%, #1a1410 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: 80% 80%;
  animation: fc-hand-point 7s ease-in-out infinite;
}
.scn-false-charge-not-despite-neglect .fc-shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 80%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.7) 100%);
  animation: fc-shadow-deepen 12s ease-in-out infinite alternate;
}
@keyframes fc-bg-pulse {
  0% { filter: brightness(1); } 50% { filter: brightness(1.05); } 100% { filter: brightness(.95); }
}
@keyframes fc-desk-shift {
  0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); }
}
@keyframes fc-document-rustle {
  0% { transform: rotate(0deg) skewX(0deg); }
  25% { transform: rotate(2deg) skewX(1deg); }
  50% { transform: rotate(-1deg) skewX(-2deg); }
  75% { transform: rotate(3deg) skewX(1deg); }
  100% { transform: rotate(0deg) skewX(0deg); }
}
@keyframes fc-seal-glow {
  0% { transform: scale(1); box-shadow: 0 2px 4px rgba(0,0,0,.4); }
  50% { transform: scale(1.1); box-shadow: 0 0 12px #c8553d; }
  100% { transform: scale(.95); box-shadow: 0 2px 4px rgba(0,0,0,.4); }
}
@keyframes fc-quill-tremble {
  0% { transform: rotate(-5deg) translateX(0); }
  50% { transform: rotate(-3deg) translateX(4px); }
  100% { transform: rotate(-5deg) translateX(0); }
}
@keyframes fc-hand-point {
  0% { transform: translate(0, 0) rotate(0deg); }
  25% { transform: translate(15px, -5px) rotate(10deg); }
  50% { transform: translate(25px, -10px) rotate(15deg); }
  75% { transform: translate(15px, -5px) rotate(10deg); }
  100% { transform: translate(0, 0) rotate(0deg); }
}
@keyframes fc-shadow-deepen {
  0% { opacity: .5; } 50% { opacity: .8; } 100% { opacity: .6; }
}

/* Scene 4: keep-tongue-under-control */
.scn-keep-tongue-under-control {
  background: linear-gradient(180deg, #141214 0%, #1a181a 30%, #0a080a 100%), radial-gradient(ellipse at 50% 30%, #b87a30 0%, transparent 60%);
}
.scn-keep-tongue-under-control .kt-bg {
  position: absolute; inset: 0; background: linear-gradient(135deg, #141214, #0a080a);
  animation: kt-bg-shift 25s ease-in-out infinite alternate;
}
.scn-keep-tongue-under-control .kt-pedestal {
  position: absolute; bottom: 15%; left: 35%; right: 35%; height: 10%;
  background: linear-gradient(180deg, #2a1e1a 0%, #1a1008 100%);
  border-radius: 10% 10% 30% 30% / 40% 40% 20% 20%;
  box-shadow: inset 0 4px 8px rgba(0,0,0,.6);
  animation: kt-pedestal-breathe 8s ease-in-out infinite;
}
.scn-keep-tongue-under-control .kt-calm-mask {
  position: absolute; bottom: 35%; left: 40%; right: 40%; height: 25%;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  box-shadow: inset 0 -4px 8px rgba(0,0,0,.5);
  transform-origin: bottom center;
  animation: kt-mask-breathe 5s ease-in-out infinite;
}
.scn-keep-tongue-under-control .kt-angry-shadow {
  position: absolute; bottom: 25%; left: 25%; right: 25%; height: 45%;
  background: radial-gradient(ellipse at 50% 60%, #8a2020 0%, transparent 70%);
  filter: blur(15px);
  transform-origin: bottom center;
  animation: kt-anger-surge 10s ease-in-out infinite alternate;
}
.scn-keep-tongue-under-control .kt-chain {
  position: absolute; bottom: 10%; left: 30%; right: 30%; height: 15%;
  background: linear-gradient(90deg, transparent 0%, #6a5a4a 20%, #8a7a6a 50%, #6a5a4a 80%, transparent 100%);
  border-radius: 20% 20% 40% 40% / 60% 60% 20% 20%;
  filter: blur(2px);
  animation: kt-chain-rattle 6s ease-in-out infinite alternate;
}
.scn-keep-tongue-under-control .kt-glow {
  position: absolute; top: 10%; left: 45%; right: 45%; height: 15%;
  background: radial-gradient(circle, #ffd680 0%, #b87a30 60%, transparent 100%);
  filter: blur(20px);
  animation: kt-glow-pulse 4s ease-in-out infinite alternate;
}
@keyframes kt-bg-shift {
  0% { filter: brightness(1); } 50% { filter: brightness(1.1); } 100% { filter: brightness(.9); }
}
@keyframes kt-pedestal-breathe {
  0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-2px) scale(1.01); } 100% { transform: translateY(0) scale(1); }
}
@keyframes kt-mask-breathe {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-5px) scale(1.02); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes kt-anger-surge {
  0% { transform: scale(1) translateY(0); opacity: .3; filter: blur(15px); }
  50% { transform: scale(1.15) translateY(-10px); opacity: .7; filter: blur(10px); }
  100% { transform: scale(1) translateY(0); opacity: .4; filter: blur(15px); }
}
@keyframes kt-chain-rattle {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(4px) rotate(2deg); }
  75% { transform: translateX(-4px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes kt-glow-pulse {
  0% { transform: scale(.9); opacity: .6; box-shadow: 0 0 30px #b87a30; }
  50% { transform: scale(1.1); opacity: 1; box-shadow: 0 0 60px #ffd680; }
  100% { transform: scale(.9); opacity: .7; box-shadow: 0 0 30px #b87a30; }
}

.scn-darius-datis {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a3a4e 50%, #0e1a2e 100%), radial-gradient(ellipse at 30% 50%, #2a4a6e 0%, transparent 70%);
}
.scn-darius-datis .window {
  position: absolute; top: 15%; right: 15%; width: 30px; height: 50px;
  background: radial-gradient(circle at 50% 30%, rgba(180,200,230,0.8) 0%, rgba(100,120,160,0.3) 50%, transparent 70%);
  border-radius: 4px; box-shadow: 0 0 30px 15px rgba(180,200,230,0.3);
  animation: dd-window-glow 6s ease-in-out infinite alternate;
}
.scn-darius-datis .chain {
  position: absolute; top: 10%; left: 40%; width: 4px; height: 140px;
  background: linear-gradient(180deg, #6a7a8a 0%, #4a5a6a 50%, #3a4a5a 100%);
  border-radius: 2px; transform-origin: top center;
  animation: dd-chain-sway 4s ease-in-out infinite alternate;
}
.scn-darius-datis .table {
  position: absolute; bottom: 25%; left: 20%; width: 60%; height: 20px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 2px; box-shadow: 0 4px 12px rgba(0,0,0,0.6);
  animation: dd-table-shift 12s ease-in-out infinite alternate;
}
.scn-darius-datis .manacles {
  position: absolute; bottom: 38%; left: 30%; width: 16px; height: 12px;
  background: #5a4a3a; border-radius: 30% 30% 40% 40%;
  box-shadow: 0 0 6px rgba(255,255,255,0.2);
  animation: dd-manacles-rustle 5s ease-in-out infinite alternate;
}
.scn-darius-datis .figure {
  position: absolute; bottom: 20%; left: 48%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dd-figure-turn 8s ease-in-out infinite alternate;
}
@keyframes dd-window-glow {
  0% { opacity: 0.6; transform: scale(0.95); }
  50% { opacity: 1; transform: scale(1.05); box-shadow: 0 0 40px 20px rgba(180,200,230,0.5); }
  100% { opacity: 0.7; transform: scale(1); }
}
@keyframes dd-chain-sway {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(2deg); }
  100% { transform: rotate(-2deg); }
}
@keyframes dd-table-shift {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(1px); }
}
@keyframes dd-manacles-rustle {
  0% { transform: translateX(0); }
  50% { transform: translateX(3px); }
  100% { transform: translateX(-2px); }
}
@keyframes dd-figure-turn {
  0% { transform: rotate(-3deg); }
  50% { transform: rotate(3deg) scale(1.02); }
  100% { transform: rotate(-1deg); }
}

.scn-hare-debts {
  background: linear-gradient(180deg, #3a2a1a 0%, #4a3a2a 50%, #2a1a0a 100%), radial-gradient(ellipse at 50% 20%, #6a5a3a 0%, transparent 60%);
}
.scn-hare-debts .desk {
  position: absolute; bottom: 30%; left: 10%; width: 80%; height: 18px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 4px; box-shadow: 0 4px 10px rgba(0,0,0,0.5);
}
.scn-hare-debts .hare1, .scn-hare-debts .hare2, .scn-hare-debts .hare3 {
  position: absolute; bottom: 38%; width: 24px; height: 32px;
  background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
}
.scn-hare-debts .hare1 { left: 20%; animation: hd-hop1 3s ease-in-out infinite; }
.scn-hare-debts .hare2 { left: 45%; animation: hd-hop2 3.5s ease-in-out infinite 0.5s; }
.scn-hare-debts .hare3 { left: 70%; animation: hd-hop3 2.8s ease-in-out infinite 1s; }
.scn-hare-debts .coin {
  position: absolute; bottom: 38%; left: 35%; width: 10px; height: 10px;
  background: radial-gradient(circle, #b8a060 0%, #706030 100%);
  border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: hd-coin-bounce 4s ease-in-out infinite;
}
.scn-hare-debts .candle {
  position: absolute; bottom: 48%; left: 15%; width: 6px; height: 30px;
  background: linear-gradient(180deg, #d0b080 0%, #a08050 100%);
  border-radius: 2px; animation: hd-candle-flicker 2s ease-in-out infinite alternate;
}
@keyframes hd-hop1 {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-8px) rotate(5deg); }
  50% { transform: translateY(0) rotate(-3deg); }
  80% { transform: translateY(-5px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes hd-hop2 {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-10px) rotate(-4deg); }
  50% { transform: translateY(0) rotate(3deg); }
  80% { transform: translateY(-6px) rotate(-2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes hd-hop3 {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-7px) rotate(6deg); }
  50% { transform: translateY(0) rotate(-4deg); }
  80% { transform: translateY(-4px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes hd-coin-bounce {
  0% { transform: translateY(0) scale(1); }
  20% { transform: translateY(-12px) scale(0.8); }
  40% { transform: translateY(0) scale(1.1); }
  60% { transform: translateY(-6px) scale(0.9); }
  80% { transform: translateY(0) scale(1.05); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes hd-candle-flicker {
  0% { opacity: 0.9; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.03) translateX(1px); }
  100% { opacity: 0.85; transform: scaleY(0.97) translateX(-1px); }
}

.scn-pylos-proverb {
  background: linear-gradient(180deg, #2a2a3a 0%, #3a3a4a 50%, #1a1a2a 100%), radial-gradient(ellipse at 70% 30%, #4a4a6a 0%, transparent 70%);
}
.scn-pylos-proverb .scroll {
  position: absolute; bottom: 35%; left: 15%; width: 40px; height: 60px;
  background: linear-gradient(90deg, #6a5a4a 0%, #8a7a6a 20%, #6a5a4a 80%);
  border-radius: 10% 10% 20% 20%; box-shadow: 0 4px 12px rgba(0,0,0,0.5);
  animation: pp-scroll-unroll 10s ease-in-out infinite alternate;
}
.scn-pylos-proverb .desk {
  position: absolute; bottom: 28%; left: 10%; width: 80%; height: 20px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}
.scn-pylos-proverb .lamp {
  position: absolute; bottom: 50%; left: 30%; width: 14px; height: 20px;
  background: radial-gradient(circle at 50% 30%, #d0b080 0%, #a08050 70%);
  border-radius: 40% 40% 20% 20%; box-shadow: 0 0 30px 10px rgba(200,160,80,0.3);
  animation: pp-lamp-glow 4s ease-in-out infinite alternate;
}
.scn-pylos-proverb .chair {
  position: absolute; bottom: 22%; left: 60%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 20% 20% 10% 10%; transform: rotate(2deg);
  animation: pp-chair-creak 8s ease-in-out infinite alternate;
}
.scn-pylos-proverb .philosopher {
  position: absolute; bottom: 25%; left: 55%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #2a2a3a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pp-nod 6s ease-in-out infinite alternate;
}
@keyframes pp-scroll-unroll {
  0% { transform: scaleX(0.8) scaleY(1); }
  50% { transform: scaleX(1) scaleY(0.98); }
  100% { transform: scaleX(0.85) scaleY(1.02); }
}
@keyframes pp-lamp-glow {
  0% { opacity: 0.8; transform: scale(0.95); box-shadow: 0 0 20px 8px rgba(200,160,80,0.2); }
  50% { opacity: 1; transform: scale(1.05); box-shadow: 0 0 40px 15px rgba(200,160,80,0.5); }
  100% { opacity: 0.85; transform: scale(1); box-shadow: 0 0 25px 10px rgba(200,160,80,0.3); }
}
@keyframes pp-chair-creak {
  0% { transform: rotate(2deg); }
  50% { transform: rotate(4deg) translateY(-2px); }
  100% { transform: rotate(0deg); }
}
@keyframes pp-nod {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(-5deg) scale(1.02); }
  100% { transform: rotate(2deg); }
}

.scn-tax-farming {
  background: linear-gradient(180deg, #1a1a1a 0%, #2a2a2a 50%, #0a0a0a 100%), radial-gradient(ellipse at 30% 80%, #3a3a4a 0%, transparent 70%);
}
.scn-tax-farming .scale {
  position: absolute; bottom: 35%; left: 50%; width: 50px; height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a4a5a 0%, #3a3a4a 100%);
  border-radius: 0 0 50% 50%; box-shadow: 0 4px 12px rgba(0,0,0,0.6);
  animation: tf-scale-tilt 5s ease-in-out infinite alternate;
}
.scn-tax-farming .ledger {
  position: absolute; bottom: 30%; left: 15%; width: 35px; height: 50px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: tf-ledger-turn 12s ease-in-out infinite alternate;
}
.scn-tax-farming .coinbags {
  position: absolute; bottom: 30%; left: 75%; width: 20px; height: 30px;
  background: radial-gradient(ellipse at 50% 40%, #a08050 0%, #705030 100%);
  border-radius: 50%; box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  animation: tf-bag-settle 8s ease-in-out infinite alternate;
}
.scn-tax-farming .figure {
  position: absolute; bottom: 20%; left: 35%; width: 28px; height: 70px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tf-figure-move 7s ease-in-out infinite alternate;
}
.scn-tax-farming .lamp {
  position: absolute; bottom: 50%; left: 45%; width: 12px; height: 18px;
  background: radial-gradient(circle at 50% 30%, #c0a070 0%, #806040 80%);
  border-radius: 30% 30% 10% 10%; box-shadow: 0 0 25px 8px rgba(192,160,112,0.3);
  animation: tf-lamp-glow 3s ease-in-out infinite alternate;
}
@keyframes tf-scale-tilt {
  0% { transform: translateX(-50%) rotate(-3deg); }
  50% { transform: translateX(-50%) rotate(3deg) scaleY(1.02); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes tf-ledger-turn {
  0% { transform: rotateY(0deg); }
  50% { transform: rotateY(10deg) translateX(2px); }
  100% { transform: rotateY(-5deg); }
}
@keyframes tf-bag-settle {
  0% { transform: scale(1); }
  50% { transform: scale(1.05) translateY(-2px); }
  100% { transform: scale(0.98) translateY(1px); }
}
@keyframes tf-figure-move {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(5px) rotate(2deg) scale(1.02); }
  100% { transform: translateX(-3px) rotate(-1deg); }
}
@keyframes tf-lamp-glow {
  0% { opacity: 0.8; box-shadow: 0 0 20px 5px rgba(192,160,112,0.2); }
  50% { opacity: 1; box-shadow: 0 0 35px 12px rgba(192,160,112,0.5); }
  100% { opacity: 0.85; box-shadow: 0 0 25px 8px rgba(192,160,112,0.3); }
}

.scn-drop-dropsical {
  background: linear-gradient(180deg, #1a1a1a 0%, #2a221a 40%, #3a2a1a 80%), radial-gradient(ellipse at 50% 80%, #4a3a2a 0%, transparent 70%);
}
.scn-drop-dropsical .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a221a 0%, #1a1a1a 100%);
  animation: ddr-wall 12s ease-in-out infinite alternate;
}
.scn-drop-dropsical .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 40% 60% 0 0 / 20% 20% 0 0;
}
.scn-drop-dropsical .vulture-a {
  position: absolute; bottom: 32%; left: 30%;
  width: 40px; height: 50px;
  background: radial-gradient(ellipse 50% 60% at 50% 40%, #3a2a1a 0%, #1a1a1a 80%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ddr-vulture-a 2s ease-in-out infinite alternate;
}
.scn-drop-dropsical .vulture-b {
  position: absolute; bottom: 34%; left: 55%;
  width: 38px; height: 45px;
  background: radial-gradient(ellipse 50% 60% at 50% 40%, #3a2a1a 0%, #1a1a1a 80%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ddr-vulture-b 2.2s ease-in-out infinite alternate;
}
.scn-drop-dropsical .vomit {
  position: absolute; bottom: 40%; left: 35%;
  width: 10px; height: 15px;
  background: linear-gradient(180deg, #c0a050 0%, #806030 100%);
  border-radius: 50% 50% 20% 20%;
  filter: blur(2px);
  animation: ddr-vomit 1.5s ease-in-out infinite;
}
.scn-drop-dropsical .shadow {
  position: absolute; bottom: 30%; left: 28%; right: 48%; height: 8px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 100%);
  animation: ddr-shadow 2s ease-in-out infinite alternate;
}
@keyframes ddr-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes ddr-vulture-a { 0% { transform: translateY(0) rotate(0deg) scale(1); } 50% { transform: translateY(-4px) rotate(3deg) scale(1.02); } 100% { transform: translateY(0) rotate(-3deg) scale(1); } }
@keyframes ddr-vulture-b { 0% { transform: translateY(0) rotate(0deg) scale(1); } 30% { transform: translateY(-2px) rotate(-2deg) scale(0.98); } 60% { transform: translateY(-6px) rotate(2deg) scale(1.01); } 100% { transform: translateY(0) rotate(0deg) scale(1); } }
@keyframes ddr-vomit { 0% { transform: translateY(0) scale(1); opacity: 0.8; } 50% { transform: translateY(8px) scale(0.8); opacity: 0.5; } 100% { transform: translateY(0) scale(1.1); opacity: 0.6; } }
@keyframes ddr-shadow { 0% { opacity: 0.3; } 50% { opacity: 0.6; } 100% { opacity: 0.4; } }

.scn-debtor-sells {
  background: linear-gradient(180deg, #1a1a1a 0%, #2a1a1a 50%, #1a1a1a 100%), radial-gradient(ellipse at 30% 50%, #3a1a1a 0%, transparent 60%);
}
.scn-debtor-sells .room-bg {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a1a1a 100%);
}
.scn-debtor-sells .desk {
  position: absolute; bottom: 25%; left: 35%; width: 120px; height: 20px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.scn-debtor-sells .debtor {
  position: absolute; bottom: 28%; left: 42%;
  width: 30px; height: 60px;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dbt-debtor 0.5s ease-in-out infinite alternate;
}
.scn-debtor-sells .creditor {
  position: absolute; bottom: 28%; left: 55%;
  width: 32px; height: 65px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dbt-creditor 0.6s ease-in-out infinite alternate-reverse;
}
.scn-debtor-sells .document {
  position: absolute; bottom: 30%; left: 47%;
  width: 20px; height: 28px;
  background: linear-gradient(180deg, #a09080 0%, #605040 100%);
  border-radius: 2px;
  transform: rotate(-5deg);
  animation: dbt-doc 1s ease-in-out infinite;
}
.scn-debtor-sells .lamp {
  position: absolute; bottom: 55%; left: 20%;
  width: 12px; height: 20px;
  background: radial-gradient(circle, #b08040 0%, #402810 100%);
  border-radius: 50% 50% 0 0;
  box-shadow: 0 0 16px 6px #b08040;
}
.scn-debtor-sells .lamp-light {
  position: absolute; bottom: 55%; left: 20%;
  width: 60px; height: 60px;
  background: radial-gradient(ellipse, rgba(176,128,64,0.3) 0%, transparent 100%);
  transform: translateX(-50%) translateY(-50%);
  animation: dbt-light 3s ease-in-out infinite;
}
@keyframes dbt-debtor { 0% { transform: translateY(0) rotate(0deg) scale(1); } 50% { transform: translateY(2px) rotate(2deg) scale(0.98); } 100% { transform: translateY(0) rotate(-2deg) scale(1.02); } }
@keyframes dbt-creditor { 0% { transform: translateY(0) rotate(0deg) scale(1); } 50% { transform: translateY(-2px) rotate(-1deg) scale(1.01); } 100% { transform: translateY(0) rotate(1deg) scale(0.99); } }
@keyframes dbt-doc { 0% { transform: rotate(-5deg) scale(1); } 50% { transform: rotate(-8deg) scale(1.03); } 100% { transform: rotate(-2deg) scale(0.97); } }
@keyframes dbt-light { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }

.scn-father-limbs {
  background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 50%, #0a0a0a 100%), radial-gradient(ellipse at 50% 30%, #3a2a1a 0%, transparent 60%);
}
.scn-father-limbs .bg-wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%);
}
.scn-father-limbs .bed {
  position: absolute; bottom: 20%; left: 25%; width: 150px; height: 30px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 10px;
  box-shadow: inset 0 -5px 10px rgba(0,0,0,0.5);
}
.scn-father-limbs .father {
  position: absolute; bottom: 25%; left: 40%;
  width: 40px; height: 70px;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: flm-father 6s ease-in-out infinite alternate;
}
.scn-father-limbs .attendant {
  position: absolute; bottom: 25%; left: 55%;
  width: 28px; height: 55px;
  background: linear-gradient(180deg, #4a3a2a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: flm-attendant 8s ease-in-out infinite alternate;
}
.scn-father-limbs .limb-hand {
  position: absolute; bottom: 32%; left: 38%;
  width: 16px; height: 20px;
  background: linear-gradient(180deg, #705a40 0%, #3a2a1a 100%);
  border-radius: 50% 50% 20% 20%;
  animation: flm-hand 4s ease-in-out infinite;
}
.scn-father-limbs .limb-foot {
  position: absolute; bottom: 20%; left: 45%;
  width: 18px; height: 14px;
  background: linear-gradient(180deg, #705a40 0%, #3a2a1a 100%);
  border-radius: 20% 20% 50% 50%;
  animation: flm-foot 5s ease-in-out infinite reverse;
}
.scn-father-limbs .cloth {
  position: absolute; bottom: 28%; left: 52%; width: 30px; height: 10px;
  background: linear-gradient(180deg, #8a7a6a 0%, #4a3a2a 100%);
  border-radius: 40%;
  animation: flm-cloth 10s ease-in-out infinite;
}
@keyframes flm-father { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes flm-attendant { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(-2deg); } 100% { transform: translateY(0) rotate(2deg); } }
@keyframes flm-hand { 0% { transform: translate(0,0) rotate(0deg); } 50% { transform: translate(4px,-4px) rotate(10deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes flm-foot { 0% { transform: translate(0,0) rotate(0deg); } 50% { transform: translate(-3px,2px) rotate(-8deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes flm-cloth { 0% { transform: scale(1) translateY(0); } 50% { transform: scale(1.05) translateY(-2px); } 100% { transform: scale(1) translateY(0); } }

.scn-odysseus-veil {
  background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2a 40%, #2a2a3a 80%, #1a1a2a 100%), radial-gradient(ellipse at 50% 30%, #2a2a3a 0%, transparent 70%);
}
.scn-odysseus-veil .storm-sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2a 60%);
  animation: ody-sky 8s ease-in-out infinite alternate;
}
.scn-odysseus-veil .sea-bg {
  position: absolute; bottom: 0; left: 0; right: 0; height: 55%;
  background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%);
  animation: ody-sea 5s ease-in-out infinite alternate;
}
.scn-odysseus-veil .wave-1 {
  position: absolute; bottom: 10%; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, rgba(26,42,58,0.5) 0%, transparent 100%);
  border-radius: 50% 50% 0 0;
  animation: ody-wave1 3s ease-in-out infinite alternate;
}
.scn-odysseus-veil .wave-2 {
  position: absolute; bottom: 25%; left: 0; right: 0; height: 12%;
  background: linear-gradient(180deg, rgba(26,42,58,0.4) 0%, transparent 100%);
  border-radius: 50% 50% 0 0;
  animation: ody-wave2 3.5s ease-in-out infinite alternate-reverse;
}
.scn-odysseus-veil .odysseus {
  position: absolute; bottom: 30%; left: 35%;
  width: 30px; height: 50px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ody-swim 1s ease-in-out infinite;
}
.scn-odysseus-veil .veil {
  position: absolute; bottom: 32%; left: 40%;
  width: 20px; height: 30px;
  background: radial-gradient(ellipse, #a09080 0%, #504030 100%);
  border-radius: 50%;
  filter: blur(2px);
  animation: ody-veil 2s ease-in-out infinite;
}
.scn-odysseus-veil .shore {
  position: absolute; bottom: 48%; left: 65%;
  width: 40px; height: 20px;
  background: linear-gradient(180deg, #3a4a3a 0%, #1a2a1a 100%);
  border-radius: 40% 60% 0 0 / 80% 70% 0 0;
  animation: ody-shore 10s ease-in-out infinite;
}
.scn-odysseus-veil .lightning {
  position: absolute; top: 10%; left: 20%; width: 10px; height: 40px;
  background: linear-gradient(180deg, transparent 0%, #ffffff 20%, transparent 40%, #ffffff 60%, transparent 80%, #ffffff 100%);
  filter: blur(2px) brightness(2);
  animation: ody-lightning 4s ease-in-out infinite;
}
@keyframes ody-sky { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes ody-sea { 0% { transform: translateY(0); } 50% { transform: translateY(3px); } 100% { transform: translateY(-2px); } }
@keyframes ody-wave1 { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(5px) scale(1.05); } 100% { transform: translateY(0) scale(0.95); } }
@keyframes ody-wave2 { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-4px) scale(0.98); } 100% { transform: translateY(0) scale(1.02); } }
@keyframes ody-swim { 0% { transform: translate(0,0) rotate(10deg) scale(1); } 25% { transform: translate(3px,-2px) rotate(5deg) scale(1.02); } 50% { transform: translate(6px,0) rotate(-10deg) scale(0.98); } 75% { transform: translate(3px,2px) rotate(-5deg) scale(1.01); } 100% { transform: translate(0,0) rotate(10deg) scale(1); } }
@keyframes ody-veil { 0% { transform: translate(0,0) rotate(0deg) scale(1); opacity: 0.7; } 50% { transform: translate(5px,-3px) rotate(15deg) scale(1.1); opacity: 0.5; } 100% { transform: translate(0,0) rotate(0deg) scale(1); opacity: 0.7; } }
@keyframes ody-shore { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-2px) scale(0.98); } 100% { transform: translateY(0) scale(1.02); } }
@keyframes ody-lightning { 0% { opacity: 0; } 10% { opacity: 0.8; } 20% { opacity: 0; } 40% { opacity: 0.6; } 60% { opacity: 0; } 100% { opacity: 0; } }

.scn-self-maintain {
  background: linear-gradient(180deg, #e8d4b0 0%, #c8a66b 50%, #8c6a3a 100%), radial-gradient(ellipse at 70% 30%, #ffebd0 0%, transparent 60%);
}
.scn-self-maintain .floorshadow {
  position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(0deg, #6a4a2a 0%, transparent 100%); animation: sm-shadow 8s ease-in-out infinite alternate;
}
.scn-self-maintain .window {
  position:absolute; top:10%; left:60%; width:120px; height:160px; background: linear-gradient(135deg, #f0e6d2 0%, #d4c4a6 50%, #b8a080 100%); border:4px solid #8a6a4a; border-radius:4px; box-shadow: inset 0 0 20px rgba(0,0,0,0.15); animation: sm-window 12s ease-in-out infinite alternate;
}
.scn-self-maintain .sill {
  position:absolute; top:calc(10% + 160px); left:60%; width:128px; height:12px; background: linear-gradient(0deg, #7a5a3a 0%, #9a7a5a 100%); border-radius:2px; transform:translateY(-4px); animation: sm-sill 6s ease-in-out infinite;
}
.scn-self-maintain .glow {
  position:absolute; top:10%; left:60%; width:120px; height:160px; background: radial-gradient(ellipse at 50% 50%, #fff8e0 0%, transparent 80%); opacity:0.4; animation: sm-glow 4s ease-in-out infinite alternate;
}
.scn-self-maintain .figure {
  position:absolute; bottom:28%; left:35%; width:40px; height:100px; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sm-figure 6s ease-in-out infinite;
}
.scn-self-maintain .table {
  position:absolute; bottom:22%; left:30%; width:80px; height:12px; background: linear-gradient(0deg, #5a3a2a 0%, #8a6a4a 100%); border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,0.3); animation: sm-table 10s ease-in-out infinite alternate;
}
.scn-self-maintain .chair {
  position:absolute; bottom:20%; left:28%; width:30px; height:40px; background: linear-gradient(180deg, #7a5a3a 0%, #4a2a1a 100%); border-radius: 10% 10% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: sm-chair 8s ease-in-out infinite;
}
@keyframes sm-shadow { 0% { opacity:0.6 } 50% { opacity:0.8 } 100% { opacity:0.5 } }
@keyframes sm-window { 0%,100% { transform: perspective(400px) rotateY(0deg) } 50% { transform: perspective(400px) rotateY(8deg) } }
@keyframes sm-sill { 0%,100% { transform: translateY(-4px) } 50% { transform: translateY(-6px) } }
@keyframes sm-glow { 0% { opacity:0.3; filter: blur(4px) } 50% { opacity:0.6; filter: blur(8px) } 100% { opacity:0.4; filter: blur(6px) } }
@keyframes sm-figure { 0%,100% { transform: translateY(0) rotate(-1deg) } 25% { transform: translateY(-4px) rotate(2deg) } 50% { transform: translateY(-2px) rotate(-2deg) } 75% { transform: translateY(-6px) rotate(1deg) } }
@keyframes sm-table { 0%,100% { transform: scaleX(1) } 50% { transform: scaleX(1.02) } }
@keyframes sm-chair { 0%,100% { transform: rotate(0deg) } 50% { transform: rotate(3deg) } }

.scn-rutilius-musonius {
  background: linear-gradient(180deg, #dcd0b4 0%, #b8a68a 50%, #8c785e 100%), radial-gradient(ellipse at 65% 35%, #f5eed8 0%, transparent 50%);
}
.scn-rutilius-musonius .wall {
  position:absolute; inset:0; background: linear-gradient(180deg, rgba(200,180,140,0.4) 0%, transparent 100%); animation: rm-wall 15s ease-in-out infinite alternate;
}
.scn-rutilius-musonius .window {
  position:absolute; top:8%; left:68%; width:100px; height:140px; background: linear-gradient(135deg, #f0e6d2 0%, #d4c4a6 50%, #b8a080 100%); border:3px solid #7a5a3a; border-radius:3px; box-shadow: inset 0 0 16px rgba(0,0,0,0.12); animation: rm-window 14s ease-in-out infinite alternate;
}
.scn-rutilius-musonius .sill {
  position:absolute; top:calc(8% + 140px); left:68%; width:106px; height:10px; background: linear-gradient(0deg, #6a4a2a 0%, #9a7a5a 100%); border-radius:2px; transform:translateY(-3px);
}
.scn-rutilius-musonius .glow {
  position:absolute; top:8%; left:68%; width:100px; height:140px; background: radial-gradient(ellipse at 50% 50%, #fff8e0 0%, transparent 70%); opacity:0.3; animation: rm-glow 5s ease-in-out infinite alternate;
}
.scn-rutilius-musonius .table {
  position:absolute; bottom:20%; left:40%; width:120px; height:10px; background: linear-gradient(0deg, #5a3a2a 0%, #8a6a4a 100%); border-radius:4px; box-shadow: 0 3px 6px rgba(0,0,0,0.25); animation: rm-table 12s ease-in-out infinite alternate;
}
.scn-rutilius-musonius .figure-left {
  position:absolute; bottom:22%; left:34%; width:36px; height:96px; background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: rm-figureL 8s ease-in-out infinite;
}
.scn-rutilius-musonius .figure-right {
  position:absolute; bottom:22%; left:52%; width:36px; height:96px; background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: rm-figureR 9s ease-in-out infinite;
}
.scn-rutilius-musonius .coin {
  position:absolute; bottom:27%; left:47%; width:12px; height:12px; background: radial-gradient(circle, #c8a040 0%, #8a7020 100%); border-radius:50%; box-shadow: 0 0 6px #b89030; animation: rm-coin 4s ease-in-out infinite;
}
@keyframes rm-wall { 0% { opacity:0.5 } 50% { opacity:0.8 } 100% { opacity:0.6 } }
@keyframes rm-window { 0%,100% { transform: perspective(300px) rotateY(0deg) } 50% { transform: perspective(300px) rotateY(6deg) } }
@keyframes rm-glow { 0% { opacity:0.2; filter: blur(3px) } 50% { opacity:0.5; filter: blur(6px) } 100% { opacity:0.3; filter: blur(4px) } }
@keyframes rm-table { 0%,100% { transform: scaleX(1) translateY(0) } 50% { transform: scaleX(1.03) translateY(-1px) } }
@keyframes rm-figureL { 0%,100% { transform: translateY(0) rotate(-2deg) } 25% { transform: translateY(-3px) rotate(1deg) } 50% { transform: translateY(-1px) rotate(-3deg) } 75% { transform: translateY(-5px) rotate(0deg) } }
@keyframes rm-figureR { 0%,100% { transform: translateY(0) rotate(2deg) } 25% { transform: translateY(-2px) rotate(-1deg) } 50% { transform: translateY(-4px) rotate(3deg) } 75% { transform: translateY(-1px) rotate(0deg) } }
@keyframes rm-coin { 0%,100% { transform: translateY(0) scale(1) } 50% { transform: translateY(-6px) scale(1.2) } }

.scn-stoic-inflatedness {
  background: linear-gradient(180deg, #2a2220 0%, #1a1412 50%, #0a0808 100%), radial-gradient(ellipse at 50% 60%, #3a2a20 0%, transparent 80%);
}
.scn-stoic-inflatedness .bg-dark {
  position:absolute; inset:0; background: radial-gradient(ellipse at 50% 80%, #3a2a20 0%, transparent 70%); animation: st-bg 10s ease-in-out infinite alternate;
}
.scn-stoic-inflatedness .floor {
  position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(0deg, #1a1412 0%, #2a2220 100%); border-radius: 50% 50% 0 0 / 20% 20% 0 0; animation: st-floor 12s ease-in-out infinite alternate;
}
.scn-stoic-inflatedness .candle {
  position:absolute; bottom:22%; left:50%; width:8px; height:20px; background: linear-gradient(180deg, #e8c060 0%, #8a6020 100%); border-radius: 20% 20% 30% 30% / 60% 60% 40% 40%; transform:translateX(-50%); animation: st-candle 3s ease-in-out infinite;
}
.scn-stoic-inflatedness .candle-glow {
  position:absolute; bottom:24%; left:50%; width:30px; height:30px; background: radial-gradient(circle, #f0c840 0%, transparent 70%); transform:translate(-50%, -50%); opacity:0.6; animation: st-glow 2s ease-in-out infinite alternate;
}
.scn-stoic-inflatedness .figure-head {
  position:absolute; bottom:48%; left:42%; width:30px; height:30px; background: linear-gradient(180deg, #c8a880 0%, #a08060 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 0 12px #a08060; animation: st-head 5s ease-in-out infinite;
}
.scn-stoic-inflatedness .figure-body {
  position:absolute; bottom:22%; left:38%; width:60px; height:120px; background: linear-gradient(180deg, #b09878 0%, #604830 100%); border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%; transform-origin: center bottom; animation: st-body 7s ease-in-out infinite;
}
.scn-stoic-inflatedness .swallow {
  position:absolute; top:15%; left:20%; width:40px; height:12px; background: #2a1a1a; clip-path: polygon(0% 50%, 40% 0%, 100% 30%, 80% 50%, 100% 70%, 40% 100%); animation: st-swallow 15s linear infinite;
}
.scn-stoic-inflatedness .ant {
  position:absolute; bottom:12%; left:30%; width:8px; height:4px; background: #1a1a0a; border-radius: 50% 50% 0 0; animation: st-ant 20s linear infinite;
}
@keyframes st-bg { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes st-floor { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-4px) } }
@keyframes st-candle { 0%,100% { transform: translateX(-50%) rotate(0deg) } 50% { transform: translateX(-50%) rotate(5deg) } }
@keyframes st-glow { 0% { opacity:0.4; filter: blur(6px) } 50% { opacity:0.8; filter: blur(10px) } 100% { opacity:0.5; filter: blur(8px) } }
@keyframes st-head { 0%,100% { transform: translateY(0) rotate(-3deg) } 25% { transform: translateY(-8px) rotate(5deg) } 50% { transform: translateY(4px) rotate(-5deg) } 75% { transform: translateY(-4px) rotate(2deg) } }
@keyframes st-body { 0%,100% { transform: scale(1) rotate(0deg) } 25% { transform: scale(1.1) rotate(-4deg) } 50% { transform: scale(0.9) rotate(4deg) } 75% { transform: scale(1.05) rotate(-2deg) } }
@keyframes st-swallow { 0% { transform: translateX(-60px) } 100% { transform: translateX(120vw) } }
@keyframes st-ant { 0% { transform: translateX(0) } 100% { transform: translateX(-100vw) } }

.scn-human-ingenuity {
  background: linear-gradient(180deg, #ecd8b8 0%, #c8a67a 50%, #9a7a54 100%), radial-gradient(ellipse at 70% 30%, #f5eed8 0%, transparent 60%);
}
.scn-human-ingenuity .wall {
  position:absolute; inset:0; background: linear-gradient(180deg, rgba(200,170,130,0.3) 0%, transparent 100%); animation: hi-wall 18s ease-in-out infinite alternate;
}
.scn-human-ingenuity .window {
  position:absolute; top:5%; left:55%; width:140px; height:180px; background: linear-gradient(135deg, #f0e6d2 0%, #d4c4a6 50%, #b8a080 100%); border:4px solid #8a6a4a; border-radius:4px; box-shadow: inset 0 0 24px rgba(0,0,0,0.1); animation: hi-window 16s ease-in-out infinite alternate;
}
.scn-human-ingenuity .sill {
  position:absolute; top:calc(5% + 180px); left:55%; width:148px; height:14px; background: linear-gradient(0deg, #7a5a3a 0%, #9a7a5a 100%); border-radius:2px; transform:translateY(-5px);
}
.scn-human-ingenuity .glow {
  position:absolute; top:5%; left:55%; width:140px; height:180px; background: radial-gradient(ellipse at 50% 50%, #fff8e0 0%, transparent 75%); opacity:0.35; animation: hi-glow 6s ease-in-out infinite alternate;
}
.scn-human-ingenuity .figure {
  position:absolute; bottom:30%; left:30%; width:44px; height:110px; background: linear-gradient(180deg, #6a4a3a 0%, #2a1a0a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: hi-figure 7s ease-in-out infinite;
}
.scn-human-ingenuity .jackdaw {
  position:absolute; bottom:38%; left:20%; width:30px; height:20px; background: #2a2a2a; clip-path: polygon(0% 50%, 30% 0%, 100% 30%, 100% 70%, 30% 100%); animation: hi-jackdaw 20s linear infinite;
}
.scn-human-ingenuity .partridge {
  position:absolute; top:35%; right:12%; width:28px; height:18px; background: #8a6a42; clip-path: polygon(0% 50%, 30% 0%, 100% 30%, 100% 70%, 30% 100%); animation: hi-partridge 25s linear infinite reverse;
}
.scn-human-ingenuity .dog {
  position:absolute; bottom:22%; left:8%; width:40px; height:28px; background: #6a4a2a; border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: hi-dog 5s ease-in-out infinite;
}
@keyframes hi-wall { 0% { opacity:0.4 } 50% { opacity:0.7 } 100% { opacity:0.5 } }
@keyframes hi-window { 0%,100% { transform: perspective(500px) rotateY(0deg) } 50% { transform: perspective(500px) rotateY(5deg) } }
@keyframes hi-glow { 0% { opacity:0.25; filter: blur(5px) } 50% { opacity:0.5; filter: blur(10px) } 100% { opacity:0.35; filter: blur(7px) } }
@keyframes hi-figure { 0%,100% { transform: translateY(0) rotate(-2deg) } 25% { transform: translateY(-5px) rotate(3deg) } 50% { transform: translateY(-2px) rotate(-3deg) } 75% { transform: translateY(-8px) rotate(1deg) } }
@keyframes hi-jackdaw { 0% { transform: translateX(-80px) } 100% { transform: translateX(130vw) } }
@keyframes hi-partridge { 0% { transform: translateX(0) } 100% { transform: translateX(-120vw) } }
@keyframes hi-dog { 0%,100% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-6px) rotate(5deg) } 50% { transform: translateY(2px) rotate(-5deg) } 75% { transform: translateY(-4px) rotate(3deg) } }

/* index-means */
.scn-index-means { background: linear-gradient(180deg, #2a1e1a 0%, #3a2a20 40%, #1a1410 100%), radial-gradient(ellipse at 60% 50%, #4a3a30 0%, transparent 70%); }
.scn-index-means .bg { position:absolute; inset:0; background: linear-gradient(180deg, #3a2a20 0%, #1a1410 100%); opacity:0.8; }
.scn-index-means .shelf { position:absolute; bottom:45%; left:10%; right:10%; height:30%; background: linear-gradient(180deg, #4a3a30 0%, #2a1e1a 100%); border-radius:4% 4% 0 0; box-shadow: inset 0 4px 8px rgba(0,0,0,0.5); }
.scn-index-means .books { position:absolute; bottom:48%; left:12%; right:12%; height:22%; background: repeating-linear-gradient(90deg, #6a5040 0px, #6a5040 8px, #5a4030 8px, #5a4030 16px, #7a6050 16px, #7a6050 24px); border-radius:2% 2% 0 0; box-shadow: inset 0 4px 6px rgba(0,0,0,0.3); }
.scn-index-means .desk { position:absolute; bottom:15%; left:15%; right:15%; height:12%; background: linear-gradient(180deg, #5a4030 0%, #3a2a20 100%); border-radius:2%; box-shadow: 0 4px 8px rgba(0,0,0,0.5); }
.scn-index-means .book-open { position:absolute; bottom:18%; left:30%; width:40%; height:20%; background: linear-gradient(180deg, #c8a080 0%, #b09070 50%, #a08060 100%); border-radius:4% 4% 2% 2%; transform:perspective(300px) rotateX(5deg); box-shadow: 0 2px 4px rgba(0,0,0,0.4); animation: im-book 12s ease-in-out infinite; }
.scn-index-means .candle { position:absolute; bottom:22%; left:18%; width:6px; height:30px; background: linear-gradient(180deg, #e0c0a0 0%, #c0a080 80%, #a08060 100%); border-radius:50% 50% 10% 10%; box-shadow: 0 4px 6px rgba(0,0,0,0.3); }
.scn-index-means .flame { position:absolute; bottom:48%; left:18%; width:8px; height:14px; background: radial-gradient(circle at 50% 100%, #ffcc80 0%, #e09050 60%, transparent 100%); transform:translateX(-1px); border-radius:50% 50% 20% 20%; animation: im-flame 2s ease-in-out infinite alternate; }
.scn-index-means .glow { position:absolute; bottom:20%; left:10%; right:50%; height:60%; background: radial-gradient(ellipse at 20% 80%, rgba(255,200,100,0.3) 0%, transparent 70%); border-radius:50%; animation: im-glow 4s ease-in-out infinite alternate; pointer-events:none; }

@keyframes im-book { 0% { transform:perspective(300px) rotateX(5deg) scaleY(1); } 50% { transform:perspective(300px) rotateX(7deg) scaleY(1.02); } 100% { transform:perspective(300px) rotateX(5deg) scaleY(1); } }
@keyframes im-flame { 0% { transform:translateX(-1px) scaleY(1); opacity:0.8; } 25% { transform:translateX(0) scaleY(1.1); opacity:1; } 75% { transform:translateX(1px) scaleY(0.9); opacity:0.9; } 100% { transform:translateX(-1px) scaleY(1); } }
@keyframes im-glow { 0% { opacity:0.5; transform:scale(0.95); } 50% { opacity:0.7; transform:scale(1.05); } 100% { opacity:0.5; transform:scale(0.95); } }

/* index-mirrors */
.scn-index-mirrors { background: linear-gradient(180deg, #2a1e1a 0%, #3a2a20 40%, #1a1410 100%), radial-gradient(ellipse at 50% 50%, #4a3a30 0%, transparent 70%); }
.scn-index-mirrors .bg { position:absolute; inset:0; background: linear-gradient(180deg, #3a2a20 0%, #1a1410 100%); opacity:0.8; }
.scn-index-mirrors .mirror-frame { position:absolute; top:20%; left:30%; width:40%; height:50%; background: linear-gradient(180deg, #6a5040 0%, #4a3a30 100%); border-radius:8% 8% 4% 4%; box-shadow: inset 0 0 0 8px #3a2a20, 0 8px 16px rgba(0,0,0,0.5); }
.scn-index-mirrors .mirror-glass { position:absolute; top:22%; left:32%; width:36%; height:46%; background: linear-gradient(135deg, #7a6a60 0%, #a09080 50%, #7a6a60 100%); border-radius:6% 6% 3% 3%; overflow:hidden; }
.scn-index-mirrors .reflection { position:absolute; top:22%; left:32%; width:36%; height:46%; background: linear-gradient(180deg, rgba(200,180,160,0.2) 0%, rgba(200,180,160,0.1) 100%); border-radius:6% 6% 3% 3%; animation: mir-reflection 15s ease-in-out infinite alternate; }
.scn-index-mirrors .figure { position:absolute; bottom:40%; left:45%; width:16px; height:40px; background: linear-gradient(180deg, #2a1e1a 0%, #1a1410 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mir-figure 8s ease-in-out infinite; }
.scn-index-mirrors .candle-sconce { position:absolute; bottom:30%; right:20%; width:10px; height:20px; background: linear-gradient(180deg, #6a5040 0%, #4a3a30 100%); border-radius:20% 20% 10% 10%; }
.scn-index-mirrors .flame { position:absolute; bottom:45%; right:20%; width:8px; height:14px; background: radial-gradient(circle at 50% 100%, #ffcc80 0%, #e09050 60%, transparent 100%); transform:translateX(-1px); border-radius:50% 50% 20% 20%; animation: mir-flame 2.5s ease-in-out infinite alternate; }

@keyframes mir-reflection { 0% { opacity:0.1; transform:none; } 50% { opacity:0.2; transform:translateY(-2px); } 100% { opacity:0.1; transform:none; } }
@keyframes mir-figure { 0% { transform:translateX(0) rotate(0); } 25% { transform:translateX(6px) rotate(3deg); } 75% { transform:translateX(-6px) rotate(-3deg); } 100% { transform:translateX(0) rotate(0); } }
@keyframes mir-flame { 0% { transform:translateX(-1px) scaleY(1) rotate(-2deg); } 50% { transform:translateX(1px) scaleY(1.15) rotate(2deg); } 100% { transform:translateX(-1px) scaleY(1) rotate(-2deg); } }

/* index-night */
.scn-index-night { background: linear-gradient(180deg, #0f141a 0%, #1a2028 50%, #0a0e12 100%), radial-gradient(ellipse at 50% 60%, #2a3a48 0%, transparent 70%); }
.scn-index-night .bg { position:absolute; inset:0; background: linear-gradient(180deg, #1a2028 0%, #0a0e12 100%); opacity:0.8; }
.scn-index-night .window-frame { position:absolute; top:15%; left:25%; width:50%; height:60%; background: linear-gradient(180deg, #4a3a30 0%, #2a1e1a 100%); border-radius:4% 4% 2% 2%; box-shadow: inset 0 0 0 8px #3a2a20, 0 8px 16px rgba(0,0,0,0.6); }
.scn-index-night .sky { position:absolute; top:18%; left:28%; width:44%; height:54%; background: linear-gradient(180deg, #1a2a3a 0%, #0a1218 100%); border-radius:3% 3% 1% 1%; }
.scn-index-night .moon { position:absolute; top:25%; left:38%; width:14px; height:14px; background: radial-gradient(circle, #e0e8f0 0%, #c0c8d0 100%); border-radius:50%; box-shadow: 0 0 24px 6px rgba(200,210,220,0.5); animation: ni-moon 60s linear infinite; }
.scn-index-night .stars-1 { position:absolute; top:20%; left:30%; width:30px; height:30px; background: transparent; box-shadow: 12px 8px 0 1px #e0e8f0, 24px 20px 0 2px #c0c8d0, 8px 28px 0 1px #e0e8f0; animation: ni-stars 90s linear infinite; }
.scn-index-night .stars-2 { position:absolute; top:35%; left:50%; width:20px; height:20px; background: transparent; box-shadow: -10px 10px 0 1px #d0d8e0, 4px -6px 0 2px #e0e8f0; animation: ni-stars 120s linear infinite reverse; }
.scn-index-night .windowsill { position:absolute; bottom:22%; left:25%; width:50%; height:6%; background: linear-gradient(180deg, #5a4030 0%, #3a2a20 100%); border-radius:2% 2% 4% 4%; box-shadow: 0 4px 8px rgba(0,0,0,0.4); }

@keyframes ni-moon { 0% { opacity:0.9; transform:translateX(0); } 50% { opacity:1; transform:translateX(8px); } 100% { opacity:0.9; transform:translateX(0); } }
@keyframes ni-stars { 0% { opacity:0.3; } 50% { opacity:0.7; } 100% { opacity:0.3; } }

/* index-pausanias */
.scn-index-pausanias { background: linear-gradient(180deg, #1a1410 0%, #2a1e1a 40%, #0e0a08 100%), radial-gradient(ellipse at 40% 70%, #3a2a20 0%, transparent 70%); }
.scn-index-pausanias .bg { position:absolute; inset:0; background: linear-gradient(180deg, #2a1e1a 0%, #0e0a08 100%); opacity:0.8; }
.scn-index-pausanias .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #3a2a20 0%, #1a1410 100%); }
.scn-index-pausanias .figure { position:absolute; bottom:18%; left:30%; width:20px; height:50px; background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pau-figure 6s ease-in-out infinite; }
.scn-index-pausanias .ghost { position:absolute; bottom:22%; right:25%; width:18px; height:45px; background: linear-gradient(180deg, rgba(200,180,160,0.3) 0%, rgba(200,180,160,0.05) 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; filter: blur(2px); animation: pau-ghost 8s ease-in-out infinite alternate; }
.scn-index-pausanias .lantern { position:absolute; bottom:30%; left:28%; width:12px; height:18px; background: linear-gradient(180deg, #6a5040 0%, #4a3a30 100%); border-radius:20% 20% 10% 10%; }
.scn-index-pausanias .light-glow { position:absolute; bottom:25%; left:20%; width:60px; height:60px; background: radial-gradient(circle, rgba(255,200,100,0.4) 0%, transparent 70%); border-radius:50%; animation: pau-glow 3s ease-in-out infinite alternate; pointer-events:none; }
.scn-index-pausanias .shadow { position:absolute; bottom:15%; left:25%; width:30px; height:20px; background: rgba(0,0,0,0.4); border-radius:50% 50% 30% 30%; filter: blur(4px); animation: pau-shadow 6s ease-in-out infinite; }

@keyframes pau-figure { 0% { transform:translateX(0) rotate(0); } 30% { transform:translateX(4px) rotate(2deg); } 70% { transform:translateX(-4px) rotate(-2deg); } 100% { transform:translateX(0) rotate(0); } }
@keyframes pau-ghost { 0% { opacity:0.3; transform:translateY(0) scaleX(1); } 50% { opacity:0.6; transform:translateY(-4px) scaleX(1.05); } 100% { opacity:0.3; transform:translateY(0) scaleX(1); } }
@keyframes pau-glow { 0% { opacity:0.4; transform:scale(0.9); } 50% { opacity:0.7; transform:scale(1.1); } 100% { opacity:0.4; transform:scale(0.9); } }
@keyframes pau-shadow { 0% { transform:scaleX(1) scaleY(1); opacity:0.3; } 50% { transform:scaleX(1.2) scaleY(0.8); opacity:0.5; } 100% { transform:scaleX(1) scaleY(1); opacity:0.3; } }

/* delphi-note */
.scn-delphi-note {
  background: 
    linear-gradient(180deg, #1a1625 0%, #2a2235 30%, #3a2e45 70%, #1e1a2a 100%),
    radial-gradient(ellipse at 50% 60%, #3a2e45 0%, transparent 70%);
}
.scn-delphi-note .temple-wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #2a2235 0%, #1a1625 100%);
  border-bottom: 2px solid #4a3e55;
  animation: dn-wall 12s ease-in-out infinite alternate;
}
.scn-delphi-note .pillar-left {
  position: absolute; left: 15%; bottom: 15%; width: 8%; height: 65%;
  background: linear-gradient(180deg, #5a4e65 0%, #3a2e45 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 0 20px rgba(0,0,0,0.6);
}
.scn-delphi-note .pillar-right {
  position: absolute; right: 15%; bottom: 15%; width: 8%; height: 65%;
  background: linear-gradient(180deg, #5a4e65 0%, #3a2e45 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 0 20px rgba(0,0,0,0.6);
}
.scn-delphi-note .altar {
  position: absolute; left: 50%; bottom: 20%; width: 20%; height: 10%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6a5e75 0%, #4a3e55 100%);
  border-radius: 8% 8% 0 0;
  box-shadow: 0 4px 10px rgba(0,0,0,0.5);
}
.scn-delphi-note .flame {
  position: absolute; left: 50%; bottom: 28%; width: 4%; height: 8%;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 100%, #ffd080 0%, #c08040 60%, transparent 100%);
  border-radius: 50% 50% 0 0;
  filter: blur(2px);
  animation: dn-flame 3s ease-in-out infinite alternate;
}
.scn-delphi-note .figure-kneeling {
  position: absolute; left: 38%; bottom: 15%; width: 12%; height: 28%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dn-figure 6s ease-in-out infinite;
}
.scn-delphi-note .drapery {
  position: absolute; top: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, rgba(60,50,80,0.6) 0%, transparent 100%);
  filter: blur(8px);
  animation: dn-drape 15s ease-in-out infinite alternate;
}
.scn-delphi-note .glow-overlay {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 60%, rgba(255,200,120,0.08) 0%, transparent 60%);
  animation: dn-glow 8s ease-in-out infinite alternate;
}
@keyframes dn-wall { 0% { opacity: 0.7 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes dn-flame { 0% { transform: translateX(-50%) scaleY(1); opacity: 0.8 } 50% { transform: translateX(-50%) scaleY(1.3); opacity: 1 } 100% { transform: translateX(-50%) scaleY(1.1); opacity: 0.9 } }
@keyframes dn-figure { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(2deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes dn-drape { 0% { transform: translateY(-5px); opacity: 0.4 } 50% { transform: translateY(3px); opacity: 0.6 } 100% { transform: translateY(-2px); opacity: 0.5 } }
@keyframes dn-glow { 0% { opacity: 0.3 } 50% { opacity: 0.8 } 100% { opacity: 0.4 } }

/* footnote-readings-1 */
.scn-footnote-readings-1 {
  background:
    linear-gradient(180deg, #1e1a12 0%, #2a2218 40%, #3a2e22 70%, #1e1a12 100%),
    radial-gradient(ellipse at 40% 50%, #3a2e22 0%, transparent 70%);
}
.scn-footnote-readings-1 .tabletop {
  position: absolute; left: 10%; right: 10%; bottom: 5%; height: 35%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e12 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 -4px 15px rgba(0,0,0,0.6);
}
.scn-footnote-readings-1 .books.stack-a {
  position: absolute; left: 25%; bottom: 40%; width: 20%; height: 12%;
  background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
}
.scn-footnote-readings-1 .books.stack-b {
  position: absolute; right: 20%; bottom: 38%; width: 25%; height: 15%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 3px 8px rgba(0,0,0,0.5);
  transform-origin: bottom center;
  animation: fr1-stack 10s ease-in-out infinite alternate;
}
.scn-footnote-readings-1 .candle {
  position: absolute; left: 50%; bottom: 35%; width: 4%; height: 18%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #e8d8c0 0%, #c0a888 80%);
  border-radius: 10% 10% 2% 2%;
  box-shadow: 0 0 10px rgba(255,220,180,0.3);
}
.scn-footnote-readings-1 .flame {
  position: absolute; left: 50%; bottom: 50%; width: 3%; height: 6%;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 100%, #ffd080 0%, #c07040 60%, transparent 100%);
  border-radius: 50% 50% 0 0;
  filter: blur(1px);
  animation: fr1-flame 2.5s ease-in-out infinite alternate;
}
.scn-footnote-readings-1 .scroll {
  position: absolute; left: 15%; bottom: 28%; width: 18%; height: 4%;
  background: linear-gradient(90deg, #c8b898 0%, #e8d8b8 40%, #d8c8a8 100%);
  border-radius: 20% 20% 10% 10% / 50% 50% 50% 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  transform: rotate(-5deg);
  animation: fr1-scroll 8s ease-in-out infinite alternate;
}
.scn-footnote-readings-1 .hand {
  position: absolute; left: 35%; bottom: 35%; width: 10%; height: 15%;
  background: linear-gradient(180deg, #e8c8a8 0%, #c0a080 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: fr1-hand 4s ease-in-out infinite;
}
.scn-footnote-readings-1 .desk-edge {
  position: absolute; left: 0; right: 0; bottom: 0; height: 5%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e12 100%);
  box-shadow: 0 -2px 6px rgba(0,0,0,0.7);
}
@keyframes fr1-stack { 0% { transform: rotate(0deg) } 50% { transform: rotate(1deg) } 100% { transform: rotate(-1deg) } }
@keyframes fr1-flame { 0% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(1.4) } 100% { transform: translateX(-50%) scaleY(1.1) } }
@keyframes fr1-scroll { 0% { transform: rotate(-5deg) translateX(0) } 50% { transform: rotate(-3deg) translateX(2px) } 100% { transform: rotate(-6deg) translateX(-2px) } }
@keyframes fr1-hand { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-3px) rotate(3deg) } 100% { transform: translateY(0) rotate(0deg) } }

/* footnote-readings-2 */
.scn-footnote-readings-2 {
  background:
    linear-gradient(180deg, #1a1a1a 0%, #2a2a2a 30%, #3a3a3a 70%, #1a1a1a 100%),
    radial-gradient(ellipse at 50% 60%, #3a3a3a 0%, transparent 70%);
}
.scn-footnote-readings-2 .desk-surface {
  position: absolute; left: 10%; right: 10%; bottom: 0; height: 50%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e12 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: 0 -8px 20px rgba(0,0,0,0.7);
}
.scn-footnote-readings-2 .open-book {
  position: absolute; left: 25%; bottom: 20%; width: 50%; height: 30%;
  background: linear-gradient(135deg, #d8c8a8 0%, #e8d8b8 40%, #d0c0a0 100%);
  border-radius: 4% 4% 8% 8%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.4);
  transform-origin: bottom center;
  animation: fr2-book 12s ease-in-out infinite alternate;
}
.scn-footnote-readings-2 .inkwell {
  position: absolute; right: 30%; bottom: 35%; width: 6%; height: 10%;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.6);
}
.scn-footnote-readings-2 .quill {
  position: absolute; right: 31%; bottom: 42%; width: 2%; height: 20%;
  background: linear-gradient(180deg, #e8d8c0 0%, #c0a888 100%);
  border-radius: 50% 50% 0 0;
  transform: rotate(15deg);
  animation: fr2-quill 5s ease-in-out infinite;
}
.scn-footnote-readings-2 .hand-pointer {
  position: absolute; left: 30%; bottom: 35%; width: 12%; height: 18%;
  background: linear-gradient(180deg, #e0c8a8 0%, #c0a080 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: fr2-hand 4s ease-in-out infinite alternate;
}
.scn-footnote-readings-2 .candle {
  position: absolute; left: 50%; bottom: 40%; width: 4%; height: 14%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #e8d8c0 0%, #c0a888 80%);
  border-radius: 10% 10% 2% 2%;
  box-shadow: 0 0 10px rgba(255,220,180,0.3);
}
.scn-footnote-readings-2 .flame {
  position: absolute; left: 50%; bottom: 53%; width: 3%; height: 6%;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 100%, #ffd080 0%, #c07040 60%, transparent 100%);
  border-radius: 50% 50% 0 0;
  filter: blur(1px);
  animation: fr2-flame 2.8s ease-in-out infinite alternate;
}
.scn-footnote-readings-2 .shadow-book {
  position: absolute; left: 30%; bottom: 18%; width: 40%; height: 5%;
  background: rgba(0,0,0,0.4);
  border-radius: 50%;
  filter: blur(6px);
  animation: fr2-shadow 10s ease-in-out infinite alternate;
}
@keyframes fr2-book { 0% { transform: scale(1) } 50% { transform: scale(1.02) } 100% { transform: scale(0.98) } }
@keyframes fr2-quill { 0% { transform: rotate(15deg) } 50% { transform: rotate(20deg) } 100% { transform: rotate(12deg) } }
@keyframes fr2-hand { 0% { transform: translateX(0) translateY(0) } 50% { transform: translateX(5px) translateY(-2px) } 100% { transform: translateX(0) translateY(0) } }
@keyframes fr2-flame { 0% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(1.4) } 100% { transform: translateX(-50%) scaleY(1.1) } }
@keyframes fr2-shadow { 0% { opacity: 0.3; transform: scale(1) } 50% { opacity: 0.6; transform: scale(1.1) } 100% { opacity: 0.4; transform: scale(0.9) } }

/* footnote-readings-3 */
.scn-footnote-readings-3 {
  background:
    linear-gradient(180deg, #1e1a12 0%, #2a2218 40%, #3a2e22 70%, #1e1a12 100%),
    radial-gradient(ellipse at 60% 50%, #3a2e22 0%, transparent 70%);
}
.scn-footnote-readings-3 .table-top-down {
  position: absolute; left: 5%; right: 5%; bottom: 10%; height: 60%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e12 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: inset 0 4px 12px rgba(0,0,0,0.7);
}
.scn-footnote-readings-3 .scroll-roll.scroll-left {
  position: absolute; left: 15%; bottom: 30%; width: 15%; height: 8%;
  background: linear-gradient(90deg, #c0a888 0%, #e8d8b8 100%);
  border-radius: 50% 50% 10% 10% / 80% 80% 20% 20%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: fr3-scroll 10s ease-in-out infinite alternate;
}
.scn-footnote-readings-3 .scroll-roll.scroll-right {
  position: absolute; right: 20%; bottom: 40%; width: 12%; height: 6%;
  background: linear-gradient(90deg, #d8c8a8 0%, #b8a888 100%);
  border-radius: 50% 50% 10% 10% / 80% 80% 20% 20%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: fr3-scroll 12s ease-in-out infinite alternate-reverse;
}
.scn-footnote-readings-3 .candle-center {
  position: absolute; left: 50%; bottom: 50%; width: 5%; height: 15%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #e8d8c0 0%, #c0a888 80%);
  border-radius: 10% 10% 2% 2%;
  box-shadow: 0 0 15px rgba(255,220,180,0.3);
}
.scn-footnote-readings-3 .flame {
  position: absolute; left: 50%; bottom: 63%; width: 3%; height: 6%;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 100%, #ffd080 0%, #c07040 60%, transparent 100%);
  border-radius: 50% 50% 0 0;
  filter: blur(1px);
  animation: fr3-flame 3s ease-in-out infinite alternate;
}
.scn-footnote-readings-3 .ink-blot {
  position: absolute; left: 40%; bottom: 28%; width: 8%; height: 4%;
  background: #0a0a0a;
  border-radius: 50%;
  filter: blur(3px);
  opacity: 0.7;
  animation: fr3-blot 20s ease-in-out infinite;
}
.scn-footnote-readings-3 .open-scroll {
  position: absolute; left: 30%; bottom: 30%; width: 30%; height: 5%;
  background: linear-gradient(90deg, #d8c8a8 0%, #e8d8b8 40%, #d0c0a0 100%);
  border-radius: 20% 20% 10% 10% / 50% 50% 50% 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  transform: rotate(-2deg);
  animation: fr3-open 8s ease-in-out infinite alternate;
}
.scn-footnote-readings-3 .shadow-table {
  position: absolute; left: 10%; right: 10%; bottom: 5%; height: 8%;
  background: rgba(0,0,0,0.5);
  border-radius: 50%;
  filter: blur(10px);
  animation: fr3-shadow 15s ease-in-out infinite alternate;
}
@keyframes fr3-scroll { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.1) } 100% { transform: scaleX(0.9) } }
@keyframes fr3-flame { 0% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(1.3) } 100% { transform: translateX(-50%) scaleY(1.1) } }
@keyframes fr3-blot { 0% { opacity: 0.5 } 50% { opacity: 0.8 } 100% { opacity: 0.6 } }
@keyframes fr3-open { 0% { transform: rotate(-2deg) } 50% { transform: rotate(0deg) scaleX(1.02) } 100% { transform: rotate(-3deg) } }
@keyframes fr3-shadow { 0% { opacity: 0.3 } 50% { opacity: 0.7 } 100% { opacity: 0.4 } }

.scn-index-homer {
  background: 
    linear-gradient(180deg, #1a1208 0%, #2a1e0e 40%, #3a2a1a 100%),
    radial-gradient(ellipse at 50% 80%, #4a3a2a 0%, transparent 70%);
}
.scn-index-homer .books-left,
.scn-index-homer .books-right {
  position: absolute; top: 10%; bottom: 20%; width: 8%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0e 100%);
  border-radius: 2%; box-shadow: inset 0 0 10px rgba(0,0,0,0.6);
}
.scn-index-homer .books-left { left: 6%; }
.scn-index-homer .books-right { right: 6%; }
.scn-index-homer .bust-pedestal {
  position: absolute; bottom: 20%; left: 50%; width: 40%; height: 8%;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #3a2a1a 0%, #5a4a3a 50%, #3a2a1a 100%);
  border-radius: 4%; box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.scn-index-homer .bust-shadow {
  position: absolute; bottom: 28%; left: 50%; width: 16%; height: 20%;
  transform: translateX(-50%);
  background: radial-gradient(ellipse 70% 100% at 50% 0%, #1a1208 0%, transparent 70%);
  border-radius: 50% 50% 0 0;
  animation: ho-bust 6s ease-in-out infinite alternate;
}
.scn-index-homer .lamp-glow {
  position: absolute; bottom: 45%; left: 38%; width: 4%; height: 6%;
  background: radial-gradient(circle, #c8a060 0%, #8a6a3a 50%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px #8a6a3a80, 0 0 60px 20px #6a4a2a40;
  animation: ho-lamp 4s ease-in-out infinite alternate;
}
.scn-index-homer .scroll {
  position: absolute; bottom: 22%; left: 42%; width: 8%; height: 4%;
  background: linear-gradient(180deg, #c8b090 0%, #a88a70 100%);
  border-radius: 20% 20% 50% 50%;
  transform: rotate(-5deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
}
.scn-index-homer .window-night {
  position: absolute; top: 8%; right: 18%; width: 20%; height: 25%;
  background: linear-gradient(180deg, #0a0a1a 0%, #1a1a3a 100%);
  border: 4px solid #3a2a1a;
  border-radius: 4%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.8);
}
.scn-index-homer .moon {
  position: absolute; top: 12%; right: 28%; width: 6%; height: 10%;
  background: radial-gradient(circle, #e0d0a0 0%, #c0b080 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 5px #c0b08060;
  animation: ho-moon 20s ease-in-out infinite alternate;
}
@keyframes ho-bust {
  0% { opacity: 0.8; transform: translateX(-50%) translateY(0); }
  100% { opacity: 1; transform: translateX(-50%) translateY(-2px); }
}
@keyframes ho-lamp {
  0% { box-shadow: 0 0 20px 5px #8a6a3a80, 0 0 40px 10px #6a4a2a40; opacity: 0.8; }
  50% { box-shadow: 0 0 40px 15px #c8a060, 0 0 80px 30px #8a6a3a60; opacity: 1; }
  100% { box-shadow: 0 0 25px 8px #8a6a3a80, 0 0 50px 15px #6a4a2a40; opacity: 0.85; }
}
@keyframes ho-moon {
  0% { transform: translate(0, 0); }
  100% { transform: translate(-5px, 5px); }
}

.scn-index-imagination {
  background:
    linear-gradient(180deg, #1e1410 0%, #2a1e1a 40%, #3a2a22 100%),
    radial-gradient(ellipse at 50% 70%, #4a3a32 0%, transparent 70%);
}
.scn-index-imagination .desk {
  position: absolute; bottom: 15%; left: 20%; right: 20%; height: 20%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0e 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 8px 16px rgba(0,0,0,0.6);
}
.scn-index-imagination .figure-profile {
  position: absolute; bottom: 25%; left: 40%; width: 12%; height: 35%;
  background: linear-gradient(180deg, #2a1a14 0%, #1a100e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: im-figure 8s ease-in-out infinite alternate;
}
.scn-index-imagination .figure-hand {
  position: absolute; bottom: 30%; left: 48%; width: 6%; height: 10%;
  background: linear-gradient(180deg, #3a2a1e 0%, #2a1a14 100%);
  border-radius: 50% 50% 30% 30%;
  transform: rotate(20deg);
  animation: im-hand 4s ease-in-out infinite alternate;
}
.scn-index-imagination .candle {
  position: absolute; bottom: 32%; left: 52%; width: 3%; height: 12%;
  background: linear-gradient(180deg, #c8b080 0%, #8a7040 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.scn-index-imagination .flame-glow {
  position: absolute; bottom: 44%; left: 52%; width: 5%; height: 8%;
  background: radial-gradient(circle, #ffd080 0%, #e8a050 50%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px #e8a05080, 0 0 60px 20px #c0803040;
  animation: im-flame 3s ease-in-out infinite alternate;
}
.scn-index-imagination .inkwell {
  position: absolute; bottom: 28%; left: 58%; width: 5%; height: 6%;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.6);
}
.scn-index-imagination .paper {
  position: absolute; bottom: 22%; left: 50%; width: 18%; height: 14%;
  background: linear-gradient(180deg, #d4c8b8 0%, #b8a898 100%);
  border-radius: 2%;
  transform: rotate(-3deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
.scn-index-imagination .quill {
  position: absolute; bottom: 30%; left: 66%; width: 2%; height: 16%;
  background: linear-gradient(180deg, #d4c8b8 0%, #9a8a7a 100%);
  border-radius: 50% 50% 0 0;
  transform: rotate(15deg);
  animation: im-quill 6s ease-in-out infinite alternate;
}
@keyframes im-figure {
  0% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-4px) rotate(0deg); }
  100% { transform: translateY(0) rotate(2deg); }
}
@keyframes im-hand {
  0% { transform: rotate(15deg) translateY(0); }
  100% { transform: rotate(25deg) translateY(-3px); }
}
@keyframes im-flame {
  0% { box-shadow: 0 0 20px 5px #e8a05080, 0 0 40px 10px #c0803040; opacity: 0.8; }
  50% { box-shadow: 0 0 40px 15px #ffd080, 0 0 80px 30px #e8a05080; opacity: 1; }
  100% { box-shadow: 0 0 25px 8px #e8a05080, 0 0 50px 15px #c0803040; opacity: 0.85; }
}
@keyframes im-quill {
  0% { transform: rotate(10deg); }
  100% { transform: rotate(20deg); }
}

.scn-index-litigation {
  background:
    linear-gradient(180deg, #12100e 0%, #1a1814 30%, #2a221c 100%),
    radial-gradient(ellipse at 50% 50%, #3a3028 0%, transparent 60%);
}
.scn-index-litigation .column {
  position: absolute; top: 5%; bottom: 20%; width: 10%;
  background: linear-gradient(90deg, #2a221c 0%, #4a3a2a 50%, #2a221c 100%);
  border-radius: 4%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
}
.scn-index-litigation .column.left { left: 10%; }
.scn-index-litigation .column.right { right: 10%; }
.scn-index-litigation .scales-beam {
  position: absolute; bottom: 45%; left: 50%; width: 30%; height: 2%;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #6a4a2a 0%, #8a6a4a 50%, #6a4a2a 100%);
  border-radius: 10%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  animation: li-beam 6s ease-in-out infinite alternate;
}
.scn-index-litigation .scales-pan-left,
.scn-index-litigation .scales-pan-right {
  position: absolute; bottom: 30%; width: 12%; height: 12%;
  background: radial-gradient(ellipse 80% 100% at 50% 0%, #8a6a4a 0%, #5a3a2a 100%);
  border-radius: 0 0 50% 50%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.scn-index-litigation .scales-pan-left { left: 28%; }
.scn-index-litigation .scales-pan-right { right: 28%; }
.scn-index-litigation .gavel {
  position: absolute; bottom: 25%; left: 50%; width: 4%; height: 8%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 20%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  animation: li-gavel 4s ease-in-out infinite alternate;
}
.scn-index-litigation .judge-shadow {
  position: absolute; bottom: 20%; left: 35%; width: 20%; height: 40%;
  background: radial-gradient(ellipse 80% 100% at 50% 0%, #1a1814 0%, transparent 80%);
  border-radius: 50% 50% 20% 20%;
  opacity: 0.6;
  animation: li-judge 10s ease-in-out infinite alternate;
}
.scn-index-litigation .table {
  position: absolute; bottom: 15%; left: 20%; right: 20%; height: 12%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0e 100%);
  border-radius: 4%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
}
@keyframes li-beam {
  0% { transform: translateX(-50%) rotate(-2deg); }
  100% { transform: translateX(-50%) rotate(2deg); }
}
@keyframes li-gavel {
  0% { transform: translateX(-50%) translateY(0) rotate(-5deg); }
  50% { transform: translateX(-50%) translateY(-2px) rotate(0deg); }
  100% { transform: translateX(-50%) translateY(0) rotate(5deg); }
}
@keyframes li-judge {
  0% { opacity: 0.4; transform: scale(1); }
  100% { opacity: 0.7; transform: scale(1.05) translateY(-3px); }
}

.scn-index-loxias {
  background:
    linear-gradient(180deg, #0e0e12 0%, #1a1820 30%, #2a2430 100%),
    radial-gradient(ellipse at 50% 60%, #3a2e42 0%, transparent 70%);
}
.scn-index-loxias .pillar {
  position: absolute; top: 0; bottom: 10%; left: 30%; right: 30%;
  background: linear-gradient(90deg, #2a2430 0%, #4a3e52 50%, #2a2430 100%);
  border-radius: 2%;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.6);
}
.scn-index-loxias .statue-body {
  position: absolute; bottom: 18%; left: 50%; width: 14%; height: 30%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3e52 0%, #2a2430 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.5);
  animation: lo-statue 12s ease-in-out infinite alternate;
}
.scn-index-loxias .lyre {
  position: absolute; bottom: 28%; left: 60%; width: 8%; height: 14%;
  background: radial-gradient(ellipse 100% 80% at 50% 40%, #c8a060 0%, #6a4a2a 100%);
  border-radius: 50% 50% 40% 40%;
  transform: rotate(-10deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: lo-lyre 8s ease-in-out infinite alternate;
}
.scn-index-loxias .laurel-wreath {
  position: absolute; bottom: 46%; left: 50%; width: 10%; height: 6%;
  transform: translateX(-50%);
  background: radial-gradient(ellipse 80% 100% at 50% 50%, #4a6a3a 0%, #2a4a1a 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
}
.scn-index-loxias .light-shaft {
  position: absolute; top: 0; left: 45%; width: 10%; height: 60%;
  background: linear-gradient(180deg, rgba(200,180,140,0.08) 0%, rgba(200,180,140,0.02) 100%);
  border-radius: 20%;
  animation: lo-shaft 15s ease-in-out infinite alternate;
}
.scn-index-loxias .tripod {
  position: absolute; bottom: 10%; left: 50%; width: 8%; height: 12%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%);
  border-radius: 0 0 30% 30%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}
.scn-index-loxias .floor-shadow {
  position: absolute; bottom: 8%; left: 20%; right: 20%; height: 4%;
  background: radial-gradient(ellipse 100% 100% at 50% 100%, #0a0a0e 0%, transparent 100%);
  animation: lo-shadow 6s ease-in-out infinite alternate;
}
@keyframes lo-statue {
  0% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-4px); }
  100% { transform: translateX(-50%) translateY(0); }
}
@keyframes lo-lyre {
  0% { transform: rotate(-15deg) translateY(0); }
  100% { transform: rotate(-5deg) translateY(-2px); }
}
@keyframes lo-shaft {
  0% { opacity: 0.3; }
  100% { opacity: 0.8; }
}
@keyframes lo-shadow {
  0% { opacity: 0.4; transform: scale(1); }
  100% { opacity: 0.8; transform: scale(1.1); }
}

.scn-light-useful {
  background: linear-gradient(180deg, #f7d794 0%, #e6b850 30%, #c49a6c 100%),
              radial-gradient(ellipse at 20% 60%, #ffd700 0%, transparent 70%);
  position: relative; overflow: hidden;
}
.scn-light-useful .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #fceabb 0%, #f8b500 60%, transparent 100%); }
.scn-light-useful .sun { position:absolute; top:12%; left:25%; width:80px; height:80px; background: radial-gradient(circle, #ffd700 0%, #ffa500 40%, transparent 70%); border-radius:50%; animation: lu-sun 6s ease-in-out infinite alternate; }
.scn-light-useful .door-frame { position:absolute; bottom:30%; left:35%; width:120px; height:200px; background: linear-gradient(180deg, #8b5e3c 0%, #5a3a1a 100%); border-radius:4% 4% 0 0; box-shadow: inset 0 0 20px rgba(0,0,0,.3); }
.scn-light-useful .door-shadow { position:absolute; bottom:30%; left:35%; width:120px; height:200px; background: rgba(0,0,0,.25); transform-origin: left bottom; animation: lu-shadow 8s ease-in-out infinite alternate; }
.scn-light-useful .figure { position:absolute; bottom:30%; left:40%; width:30px; height:60px; background: linear-gradient(180deg, #3d2b1f 0%, #1a0e08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: lu-figure 4s ease-in-out infinite; }
.scn-light-useful .ground { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #c49a6c 0%, #8b6b42 100%); }
.scn-light-useful .light-beam { position:absolute; top:10%; left:30%; width:150px; height:200px; background: radial-gradient(ellipse at 50% 0%, rgba(255,255,200,0.4) 0%, transparent 80%); animation: lu-beam 5s ease-in-out infinite alternate; }

@keyframes lu-sun { 0% { transform: scale(0.9); opacity:0.8 } 50% { transform: scale(1.1); opacity:1 } 100% { transform: scale(0.95); opacity:0.85 } }
@keyframes lu-shadow { 0% { transform: skewX(5deg) scaleX(1.1); opacity:0.3 } 50% { transform: skewX(-2deg) scaleX(0.9); opacity:0.5 } 100% { transform: skewX(3deg) scaleX(1.05); opacity:0.2 } }
@keyframes lu-figure { 0% { transform: translateX(0) translateY(0) rotate(-2deg) } 30% { transform: translateX(10px) translateY(-3px) rotate(2deg) } 60% { transform: translateX(5px) translateY(-1px) rotate(-1deg) } 100% { transform: translateX(0) translateY(0) rotate(0) } }
@keyframes lu-beam { 0% { opacity:0.3; transform: scaleY(0.8) } 50% { opacity:0.7; transform: scaleY(1.2) } 100% { opacity:0.4; transform: scaleY(0.9) } }

.scn-sophocles-brass {
  background: linear-gradient(180deg, #d9c8a2 0%, #b89b72 60%, #8a6e4f 100%),
              radial-gradient(ellipse at 50% 20%, #e8dcc0 0%, transparent 60%);
  position: relative; overflow: hidden;
}
.scn-sophocles-brass .wall { position:absolute; inset:0; background: linear-gradient(135deg, #d9c8a2 0%, #c4ae84 100%); }
.scn-sophocles-brass .window { position:absolute; top:15%; left:30%; width:140px; height:180px; background: linear-gradient(180deg, #8db8d6 0%, #b8d4e8 100%); border: 12px solid #7a5d3c; border-radius: 4% 4% 0 0; box-shadow: inset 0 0 40px rgba(255,255,220,0.2); animation: sb-window 12s ease-in-out infinite alternate; }
.scn-sophocles-brass .table { position:absolute; bottom:22%; left:32%; width:100px; height:40px; background: linear-gradient(180deg, #a67c52 0%, #7a5a38 100%); border-radius: 0 0 6% 6%; box-shadow: 0 4px 8px rgba(0,0,0,.2); }
.scn-sophocles-brass .brass-vessel { position:absolute; bottom:32%; left:42%; width:40px; height:50px; background: radial-gradient(circle at 30% 20%, #ffd700 0%, #c88b3a 60%, #6b4a1a 100%); border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%; box-shadow: 0 8px 20px rgba(200,139,58,.5), 0 0 30px rgba(255,215,0,0.3); animation: sb-brass 3s ease-in-out infinite alternate; }
.scn-sophocles-brass .light-ray { position:absolute; top:15%; left:32%; width:130px; height:200px; background: linear-gradient(180deg, rgba(255,255,200,0.25) 0%, rgba(255,255,200,0.05) 100%); clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%); animation: sb-ray 7s ease-in-out infinite alternate; }
.scn-sophocles-brass .shadow-cast { position:absolute; bottom:22%; left:32%; width:100px; height:60px; background: rgba(0,0,0,0.15); transform-origin: top left; animation: sb-shadow 6s ease-in-out infinite alternate; }

@keyframes sb-window { 0% { opacity:0.7; transform: scale(0.95) } 50% { opacity:1; transform: scale(1) } 100% { opacity:0.8; transform: scale(0.98) } }
@keyframes sb-brass { 0% { transform: rotate(-3deg) scale(0.95); box-shadow: 0 4px 10px rgba(200,139,58,.3) } 50% { transform: rotate(3deg) scale(1.05); box-shadow: 0 12px 30px rgba(200,139,58,.7), 0 0 50px rgba(255,215,0,0.5) } 100% { transform: rotate(0) scale(1); box-shadow: 0 6px 15px rgba(200,139,58,.4) } }
@keyframes sb-ray { 0% { opacity:0.2; transform: scaleY(0.8) } 50% { opacity:0.6; transform: scaleY(1.2) } 100% { opacity:0.3; transform: scaleY(0.9) } }
@keyframes sb-shadow { 0% { transform: skewX(-5deg) scaleX(1.1) } 50% { transform: skewX(2deg) scaleX(0.9) } 100% { transform: skewX(-3deg) scaleX(1.05) } }

.scn-mute-ease {
  background: linear-gradient(180deg, #1a1a2e 0%, #2d2d44 40%, #1e1e2e 100%),
              radial-gradient(ellipse at 50% 80%, #2d2d44 0%, transparent 70%);
  position: relative; overflow: hidden;
}
.scn-mute-ease .room-wall { position:absolute; inset:0; background: linear-gradient(180deg, #1a1a2e 0%, #2d2d44 50%, #1e1e2e 100%); }
.scn-mute-ease .chair { position:absolute; bottom:18%; left:35%; width:80px; height:90px; background: linear-gradient(180deg, #4a3728 0%, #2a1a0e 100%); border-radius: 10% 10% 40% 40% / 20% 20% 60% 60%; box-shadow: 0 4px 12px rgba(0,0,0,.5); animation: me-chair 5s ease-in-out infinite alternate; }
.scn-mute-ease .figure-sit { position:absolute; bottom:25%; left:38%; width:40px; height:70px; background: linear-gradient(180deg, #1e1e2e 0%, #0a0a14 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: me-figure 4s ease-in-out infinite; }
.scn-mute-ease .pool-water { position:absolute; bottom:5%; left:10%; width:80%; height:40px; background: radial-gradient(ellipse at 40% 50%, #2e4a62 0%, #1a2a3a 80%); border-radius: 50%; box-shadow: inset 0 4px 8px rgba(0,0,0,.4); animation: me-pool 8s ease-in-out infinite alternate; }
.scn-mute-ease .drip { position:absolute; top:25%; left:45%; width:6px; height:6px; background: #8ab4e0; border-radius:50%; box-shadow: 0 0 8px #8ab4e0; animation: me-drip 3s ease-in-out infinite; }
.scn-mute-ease .ripple { position:absolute; bottom:12%; left:40%; width:20px; height:6px; background: transparent; border: 1px solid rgba(138,180,224,0.4); border-radius:50%; animation: me-ripple 4s ease-out infinite; }

@keyframes me-chair { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-3px) rotate(-1deg) } 100% { transform: translateY(0) rotate(1deg) } }
@keyframes me-figure { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(3px) rotate(-2deg) } 50% { transform: translateX(-2px) rotate(2deg) } 75% { transform: translateX(4px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes me-pool { 0% { transform: scale(1); opacity:0.5 } 50% { transform: scale(1.02); opacity:0.7 } 100% { transform: scale(0.98); opacity:0.4 } }
@keyframes me-drip { 0% { transform: translateY(-20px) scale(0.8); opacity:0 } 30% { opacity:1 } 70% { opacity:1 } 100% { transform: translateY(80px) scale(1.2); opacity:0 } }
@keyframes me-ripple { 0% { transform: scale(0.5); opacity:0.8 } 100% { transform: scale(3); opacity:0 } }

.scn-night-torpor {
  background: linear-gradient(180deg, #0d0d1a 0%, #1c1c2e 60%, #0a0a14 100%),
              radial-gradient(ellipse at 50% 70%, #1c1c2e 0%, transparent 60%);
  position: relative; overflow: hidden;
}
.scn-night-torpor .bg-dark { position:absolute; inset:0; background: linear-gradient(180deg, #0d0d1a 0%, #1c1c2e 50%, #0a0a14 100%); }
.scn-night-torpor .hearth { position:absolute; bottom:12%; left:30%; width:140px; height:80px; background: linear-gradient(180deg, #3d2a1a 0%, #1a1008 100%); border-radius: 50% 50% 0 0 / 80% 80% 0 0; box-shadow: inset 0 8px 16px rgba(0,0,0,.6); }
.scn-night-torpor .fire-glow { position:absolute; bottom:20%; left:38%; width:60px; height:90px; background: radial-gradient(ellipse at 50% 100%, #ff6600 0%, #ff3300 30%, #661400 60%, transparent 80%); border-radius: 50%; animation: nt-fire 0.8s ease-in-out infinite alternate; }
.scn-night-torpor .embers { position:absolute; bottom:28%; left:35%; width:20px; height:20px; background: #ffa500; border-radius:50%; box-shadow: 0 0 20px 8px #ffa500; animation: nt-ember 2s ease-in-out infinite; }
.scn-night-torpor .smoke { position:absolute; top:10%; left:40%; width:40px; height:100px; background: radial-gradient(ellipse at 50% 0%, rgba(200,200,200,0.08) 0%, transparent 80%); filter: blur(4px); animation: nt-smoke 15s linear infinite; }
.scn-night-torpor .figure-lying { position:absolute; bottom:10%; left:25%; width:80px; height:30px; background: linear-gradient(180deg, #0a0a14 0%, #050510 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; animation: nt-figure 6s ease-in-out infinite alternate; }
.scn-night-torpor .spark { position:absolute; bottom:25%; left:50%; width:4px; height:4px; background: #fff; border-radius:50%; box-shadow: 0 0 6px #fff; animation: nt-spark 3s ease-out infinite; }

@keyframes nt-fire { 0% { transform: scale(0.9) rotate(-2deg); opacity:0.6 } 50% { transform: scale(1.1) rotate(2deg); opacity:1 } 100% { transform: scale(0.95) rotate(0); opacity:0.7 } }
@keyframes nt-ember { 0% { transform: translateY(0) scale(0.8); opacity:0.4 } 30% { transform: translateY(-15px) scale(1.2); opacity:1 } 60% { transform: translateY(-30px) scale(0.6); opacity:0.6 } 100% { transform: translateY(-50px) scale(0.2); opacity:0 } }
@keyframes nt-smoke { 0% { transform: translateY(0) scale(1); opacity:0.1 } 50% { transform: translateY(-40px) scale(1.8); opacity:0.3 } 100% { transform: translateY(-80px) scale(2.5); opacity:0 } }
@keyframes nt-figure { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(2px) rotate(3deg) } 100% { transform: translateY(0) rotate(-2deg) } }
@keyframes nt-spark { 0% { transform: translateY(0) scale(1); opacity:1 } 50% { transform: translateY(-30px) scale(2); opacity:0.5 } 100% { transform: translateY(-60px) scale(0.5); opacity:0 } }

.scn-index-achilles {
  background: linear-gradient(180deg, #2a1e1a 0%, #3a2a1e 40%, #1a1210 100%), radial-gradient(ellipse at 30% 60%, #4a3a2a 0%, transparent 70%);
}
.scn-index-achilles .wall {
  position: absolute; inset: 0; background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 100%);
  animation: si-ach-wall 20s ease-in-out infinite alternate;
}
.scn-index-achilles .statue {
  position: absolute; bottom: 28%; left: 50%; width: 60px; height: 100px;
  transform: translateX(-50%); background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  box-shadow: 0 4px 12px rgba(0,0,0,.5);
  animation: si-ach-statue 12s ease-in-out infinite;
}
.scn-index-achilles .pedestal {
  position: absolute; bottom: 22%; left: 50%; width: 100px; height: 20px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0,0,0,.4);
}
.scn-index-achilles .shield {
  position: absolute; bottom: 48%; left: 70%; width: 30px; height: 40px;
  background: radial-gradient(circle at 30% 30%, #6a5a3a 0%, #4a3a1a 70%);
  border-radius: 50%;
  box-shadow: inset 0 2px 8px rgba(0,0,0,.5);
  animation: si-ach-shield 8s ease-in-out infinite alternate;
}
.scn-index-achilles .lamp {
  position: absolute; bottom: 55%; left: 20%; width: 16px; height: 24px;
  background: linear-gradient(180deg, #b08040 0%, #604020 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 20px 8px rgba(180,120,60,.4);
  animation: si-ach-lamp 6s ease-in-out infinite;
}
.scn-index-achilles .glow {
  position: absolute; bottom: 50%; left: 18%; width: 80px; height: 80px;
  background: radial-gradient(circle, rgba(180,120,60,.3) 0%, transparent 70%);
  border-radius: 50%;
  animation: si-ach-glow 8s ease-in-out infinite alternate;
}
.scn-index-achilles .drape {
  position: absolute; bottom: 30%; right: 10%; width: 40px; height: 90px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 20% 20% / 30% 30% 60% 60%;
  transform: rotate(10deg);
  animation: si-ach-drape 15s ease-in-out infinite alternate;
}
@keyframes si-ach-wall { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes si-ach-statue { 0%,100% { transform: translateX(-50%) rotate(0deg) } 50% { transform: translateX(-50%) rotate(1deg) translateY(-2px) } }
@keyframes si-ach-shield { 0% { transform: scale(1) } 50% { transform: scale(1.05) } 100% { transform: scale(.95) } }
@keyframes si-ach-lamp { 0%,100% { opacity: .8 } 50% { opacity: 1 } }
@keyframes si-ach-glow { 0% { opacity: .5; transform: scale(1) } 50% { opacity: .8; transform: scale(1.1) } 100% { opacity: .6; transform: scale(.9) } }
@keyframes si-ach-drape { 0% { transform: rotate(10deg) translateY(0) } 50% { transform: rotate(12deg) translateY(-3px) } 100% { transform: rotate(8deg) translateY(0) } }

.scn-index-agathocles {
  background: linear-gradient(180deg, #1a1a2a 0%, #2a1a2a 50%, #0a0a1a 100%), radial-gradient(ellipse at 60% 40%, #3a2a3a 0%, transparent 60%);
}
.scn-index-agathocles .wall {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  animation: si-agath-wall 25s ease-in-out infinite alternate;
}
.scn-index-agathocles .throne {
  position: absolute; bottom: 20%; left: 30%; width: 120px; height: 100px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 20% 20% 5% 5% / 40% 40% 5% 5%;
  box-shadow: 0 6px 16px rgba(0,0,0,.6);
  animation: si-agath-throne 10s ease-in-out infinite;
}
.scn-index-agathocles .figure {
  position: absolute; bottom: 22%; left: 38%; width: 30px; height: 80px;
  background: linear-gradient(180deg, #2a1a2a 0%, #0a0a1a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: si-agath-figure 14s ease-in-out infinite;
}
.scn-index-agathocles .crown {
  position: absolute; bottom: 75%; left: 44%; width: 20px; height: 16px;
  background: linear-gradient(180deg, #b89850 0%, #806030 100%);
  border-radius: 50% 50% 0 0;
  box-shadow: 0 0 12px 4px rgba(180,140,60,.3);
  animation: si-agath-crown 6s ease-in-out infinite alternate;
}
.scn-index-agathocles .torch {
  position: absolute; bottom: 50%; right: 20%; width: 12px; height: 50px;
  background: linear-gradient(180deg, #8a6a3a 0%, #3a2a1a 100%);
  border-radius: 4px;
  transform: rotate(-5deg);
  animation: si-agath-torch 7s ease-in-out infinite;
}
.scn-index-agathocles .torch-glow {
  position: absolute; bottom: 45%; right: 16%; width: 100px; height: 100px;
  background: radial-gradient(circle, rgba(200,150,70,.2) 0%, transparent 70%);
  border-radius: 50%;
  animation: si-agath-glow 8s ease-in-out infinite alternate;
}
.scn-index-agathocles .shadow {
  position: absolute; bottom: 20%; left: 20%; width: 160px; height: 40px;
  background: linear-gradient(180deg, rgba(0,0,0,.4) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(6px);
  animation: si-agath-shadow 12s ease-in-out infinite alternate;
}
@keyframes si-agath-wall { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes si-agath-throne { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-4px) } }
@keyframes si-agath-figure { 0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(4px) rotate(1deg) translateY(-2px) } 50% { transform: translateX(-2px) rotate(0deg) } 75% { transform: translateX(2px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes si-agath-crown { 0% { transform: translateY(0) rotate(-3deg) } 50% { transform: translateY(-2px) rotate(3deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes si-agath-torch { 0%,100% { opacity: .7 } 50% { opacity: 1 } }
@keyframes si-agath-glow { 0% { opacity: .3; transform: scale(1) } 50% { opacity: .5; transform: scale(1.2) } 100% { opacity: .4; transform: scale(.95) } }
@keyframes si-agath-shadow { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.05) } 100% { transform: scaleX(.95) } }

.scn-index-anaxarchus {
  background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 40%, #0a0a1a 100%), radial-gradient(ellipse at 40% 50%, #3a3a4a 0%, transparent 60%);
}
.scn-index-anaxarchus .wall {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  animation: si-anax-wall 18s ease-in-out infinite alternate;
}
.scn-index-anaxarchus .desk {
  position: absolute; bottom: 20%; left: 30%; width: 140px; height: 30px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,.4);
  animation: si-anax-desk 10s ease-in-out infinite;
}
.scn-index-anaxarchus .scroll {
  position: absolute; bottom: 30%; left: 35%; width: 60px; height: 40px;
  background: linear-gradient(180deg, #b8a88a 0%, #8a7a5a 100%);
  border-radius: 10% 10% 10% 10% / 30% 30% 30% 30%;
  transform: rotate(-10deg);
  animation: si-anax-scroll 15s ease-in-out infinite alternate;
}
.scn-index-anaxarchus .lamp {
  position: absolute; bottom: 35%; left: 55%; width: 14px; height: 30px;
  background: linear-gradient(180deg, #c09050 0%, #604020 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 16px 6px rgba(180,120,60,.3);
  animation: si-anax-lamp 6s ease-in-out infinite;
}
.scn-index-anaxarchus .figure {
  position: absolute; bottom: 22%; left: 25%; width: 28px; height: 85px;
  background: linear-gradient(180deg, #2a1a2a 0%, #0a0a1a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: si-anax-figure 12s ease-in-out infinite;
}
.scn-index-anaxarchus .books {
  position: absolute; bottom: 25%; left: 60%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 2px;
  box-shadow: -4px 0 8px rgba(0,0,0,.4);
  animation: si-anax-books 20s ease-in-out infinite alternate;
}
.scn-index-anaxarchus .lamp-glow {
  position: absolute; bottom: 30%; left: 50%; width: 120px; height: 120px;
  background: radial-gradient(circle, rgba(180,120,60,.15) 0%, transparent 70%);
  border-radius: 50%;
  animation: si-anax-glow 8s ease-in-out infinite alternate;
}
@keyframes si-anax-wall { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes si-anax-desk { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-3px) } }
@keyframes si-anax-scroll { 0% { transform: rotate(-10deg) } 50% { transform: rotate(-8deg) translateX(2px) } 100% { transform: rotate(-12deg) } }
@keyframes si-anax-lamp { 0%,100% { opacity: .7 } 50% { opacity: 1 } }
@keyframes si-anax-figure { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(3px) rotate(-1deg) translateY(-1px) } 50% { transform: translateX(-1px) rotate(1deg) } 75% { transform: translateX(2px) rotate(0deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes si-anax-books { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(.98) } }
@keyframes si-anax-glow { 0% { opacity: .3; transform: scale(1) } 50% { opacity: .5; transform: scale(1.15) } 100% { opacity: .4; transform: scale(.9) } }

.scn-index-aristippus {
  background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 50%, #0a0a1a 100%), radial-gradient(ellipse at 30% 50%, #3a3a4a 0%, transparent 60%);
}
.scn-index-aristippus .wall {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  animation: si-arist-wall 22s ease-in-out infinite alternate;
}
.scn-index-aristippus .couch {
  position: absolute; bottom: 15%; left: 20%; width: 140px; height: 60px;
  background: linear-gradient(180deg, #3a2a3a 0%, #1a0a1a 100%);
  border-radius: 20% 20% 5% 5% / 30% 30% 10% 10%;
  box-shadow: 0 6px 16px rgba(0,0,0,.5);
  animation: si-arist-couch 14s ease-in-out infinite;
}
.scn-index-aristippus .figure {
  position: absolute; bottom: 25%; left: 30%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #2a1a2a 0%, #0a0a1a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform: rotate(15deg);
  transform-origin: bottom center;
  animation: si-arist-figure 12s ease-in-out infinite;
}
.scn-index-aristippus .cup {
  position: absolute; bottom: 30%; left: 55%; width: 20px; height: 18px;
  background: radial-gradient(circle at 30% 30%, #c08040 0%, #8a6020 100%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 2px 6px rgba(0,0,0,.4);
  animation: si-arist-cup 8s ease-in-out infinite alternate;
}
.scn-index-aristippus .column {
  position: absolute; bottom: 10%; left: 80%; width: 16px; height: 130px;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 4px;
  box-shadow: inset 0 4px 8px rgba(255,255,255,.05);
  animation: si-arist-column 20s ease-in-out infinite alternate;
}
.scn-index-aristippus .lamp {
  position: absolute; bottom: 50%; left: 15%; width: 14px; height: 30px;
  background: linear-gradient(180deg, #c09050 0%, #604020 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 16px 6px rgba(180,120,60,.3);
  animation: si-arist-lamp 6s ease-in-out infinite;
}
.scn-index-aristippus .lamp-glow {
  position: absolute; bottom: 45%; left: 10%; width: 100px; height: 100px;
  background: radial-gradient(circle, rgba(180,120,60,.15) 0%, transparent 70%);
  border-radius: 50%;
  animation: si-arist-glow 8s ease-in-out infinite alternate;
}
.scn-index-aristippus .curtain {
  position: absolute; top: 0; right: 10%; width: 30px; height: 100%;
  background: linear-gradient(180deg, #3a2a3a 0%, #1a0a1a 100%);
  border-radius: 0 0 50% 50% / 0 0 20% 20%;
  animation: si-arist-curtain 15s ease-in-out infinite alternate;
}
@keyframes si-arist-wall { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes si-arist-couch { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-4px) } }
@keyframes si-arist-figure { 0% { transform: rotate(15deg) } 50% { transform: rotate(17deg) translateY(-2px) } 100% { transform: rotate(13deg) } }
@keyframes si-arist-cup { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(5deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes si-arist-column { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(.98) } }
@keyframes si-arist-lamp { 0%,100% { opacity: .7 } 50% { opacity: 1 } }
@keyframes si-arist-glow { 0% { opacity: .3; transform: scale(1) } 50% { opacity: .5; transform: scale(1.15) } 100% { opacity: .4; transform: scale(.9) } }
@keyframes si-arist-curtain { 0% { transform: translateX(0) } 50% { transform: translateX(-4px) } 100% { transform: translateX(0) } }

/* bashfulness-polysperchon-hercules */
.scn-bashfulness-polysperchon-hercules { background: linear-gradient(180deg, #1e1428 0%, #2a1a30 50%, #1a0e1a 100%), radial-gradient(ellipse at 50% 60%, #3a2a3e 0%, transparent 70%); }
.scn-bashfulness-polysperchon-hercules .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a1e30 0%, #1a0e1a 100%); }
.scn-bashfulness-polysperchon-hercules .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #1a1218 0%, #0e0a10 100%); }
.scn-bashfulness-polysperchon-hercules .table { position:absolute; bottom:20%; left:50%; width:80px; height:12px; transform:translateX(-50%); background: linear-gradient(180deg, #3a2a20 0%, #1e1410 100%); border-radius:4px; box-shadow:0 4px 8px rgba(0,0,0,.6); animation: bh-table 8s ease-in-out infinite alternate; }
.scn-bashfulness-polysperchon-hercules .figure-left { position:absolute; bottom:22%; left:30%; width:20px; height:45px; background: linear-gradient(180deg, #2a1a28 0%, #1a0e1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation: bh-figure-l 10s ease-in-out infinite; }
.scn-bashfulness-polysperchon-hercules .figure-right { position:absolute; bottom:22%; right:30%; width:18px; height:42px; background: linear-gradient(180deg, #1e1a2a 0%, #0e0a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation: bh-figure-r 12s ease-in-out infinite; }
.scn-bashfulness-polysperchon-hercules .plate { position:absolute; bottom:23%; left:50%; width:30px; height:6px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 50%, #4a3a30 60%, #2a1e1a 100%); border-radius:50%; box-shadow:0 2px 4px rgba(0,0,0,.4); }
.scn-bashfulness-polysperchon-hercules .lantern { position:absolute; bottom:40%; left:50%; width:14px; height:20px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 50%, #c08040 0%, #804020 70%); border-radius:30% 30% 10% 10%; box-shadow:0 0 20px 6px #a06030, 0 0 40px 12px rgba(160,96,48,.3); animation: bh-lantern 3s ease-in-out infinite alternate; }
.scn-bashfulness-polysperchon-hercules .shadow { position:absolute; bottom:20%; left:25%; width:50%; height:8px; background: radial-gradient(ellipse, rgba(0,0,0,.4) 0%, transparent 100%); animation: bh-shadow 8s ease-in-out infinite alternate; }
@keyframes bh-table { 0%,100% { transform:translateX(-50%) scaleY(1); } 50% { transform:translateX(-50%) scaleY(1.02); } }
@keyframes bh-figure-l { 0% { transform:translateX(0) rotate(0); } 25% { transform:translateX(3px) rotate(3deg); } 50% { transform:translateX(-1px) rotate(-2deg); } 75% { transform:translateX(2px) rotate(1deg); } 100% { transform:translateX(0) rotate(0); } }
@keyframes bh-figure-r { 0% { transform:translateX(0) rotate(0); } 33% { transform:translateX(-2px) rotate(-2deg); } 66% { transform:translateX(2px) rotate(2deg); } 100% { transform:translateX(0) rotate(0); } }
@keyframes bh-lantern { 0% { opacity:.7; box-shadow:0 0 15px 4px #a06030,0 0 30px 8px rgba(160,96,48,.2); } 50% { opacity:1; box-shadow:0 0 25px 8px #d08040,0 0 50px 15px rgba(208,128,64,.4); } 100% { opacity:.8; box-shadow:0 0 18px 5px #a06030,0 0 35px 10px rgba(160,96,48,.25); } }
@keyframes bh-shadow { 0% { transform:translateX(0) scaleX(1); opacity:.6; } 50% { transform:translateX(5px) scaleX(1.1); opacity:.8; } 100% { transform:translateX(-3px) scaleX(0.95); opacity:.5; } }

/* bashfulness-hesiod-invitation */
.scn-bashfulness-hesiod-invitation { background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3e 50%, #1a1a2a 100%), radial-gradient(ellipse at 70% 50%, #3a3a4e 0%, transparent 60%); }
.scn-bashfulness-hesiod-invitation .wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2a 100%); }
.scn-bashfulness-hesiod-invitation .door { position:absolute; bottom:25%; left:10%; width:40px; height:70px; background: linear-gradient(180deg, #3a3028 0%, #1e1814 100%); border-radius:8% 8% 0 0; box-shadow:inset 0 0 10px rgba(0,0,0,.6); animation: hi-door 7s ease-in-out infinite alternate; }
.scn-bashfulness-hesiod-invitation .table { position:absolute; bottom:20%; left:50%; width:100px; height:14px; transform:translateX(-50%); background: linear-gradient(180deg, #4a3a30 0%, #2a1e18 100%); border-radius:6px; box-shadow:0 6px 12px rgba(0,0,0,.6); }
.scn-bashfulness-hesiod-invitation .chair-left { position:absolute; bottom:18%; left:30%; width:24px; height:30px; background: linear-gradient(180deg, #3a2a20 0%, #1e1410 100%); border-radius:20% 20% 10% 10% / 40% 40% 20% 20%; animation: hi-chair 9s ease-in-out infinite alternate; }
.scn-bashfulness-hesiod-invitation .chair-right { position:absolute; bottom:18%; right:30%; width:24px; height:30px; background: linear-gradient(180deg, #3a2a20 0%, #1e1410 100%); border-radius:20% 20% 10% 10% / 40% 40% 20% 20%; animation: hi-chair 9s ease-in-out infinite alternate-reverse; }
.scn-bashfulness-hesiod-invitation .figure-inviter { position:absolute; bottom:22%; left:38%; width:18px; height:38px; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation: hi-fig-l 6s ease-in-out infinite; }
.scn-bashfulness-hesiod-invitation .figure-invitee { position:absolute; bottom:22%; right:38%; width:18px; height:38px; background: linear-gradient(180deg, #3a2a2a 0%, #1e1a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation: hi-fig-r 8s ease-in-out infinite; }
.scn-bashfulness-hesiod-invitation .lantern { position:absolute; bottom:40%; left:50%; width:12px; height:18px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 50%, #d0a060 0%, #805030 70%); border-radius:30% 30% 10% 10%; box-shadow:0 0 24px 8px #a06030, 0 0 48px 16px rgba(160,96,48,.3); animation: hi-lantern 2.5s ease-in-out infinite alternate; }
@keyframes hi-door { 0% { transform:scaleX(1) translateY(0); } 30% { transform:scaleX(0.1) translateY(0); } 50% { transform:scaleX(0.1) translateY(-2px); } 100% { transform:scaleX(1) translateY(0); } }
@keyframes hi-chair { 0% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-3px) rotate(2deg); } 100% { transform:translateY(0) rotate(0); } }
@keyframes hi-fig-l { 0%,100% { transform:translateX(0) rotate(0); } 25% { transform:translateX(4px) rotate(4deg); } 50% { transform:translateX(-2px) rotate(-2deg); } 75% { transform:translateX(2px) rotate(2deg); } }
@keyframes hi-fig-r { 0% { transform:translateX(0) rotate(0); } 33% { transform:translateX(-3px) rotate(-3deg); } 66% { transform:translateX(3px) rotate(3deg); } 100% { transform:translateX(0) rotate(0); } }
@keyframes hi-lantern { 0% { opacity:.6; box-shadow:0 0 15px 4px #a06030,0 0 30px 8px rgba(160,96,48,.2); } 50% { opacity:1; box-shadow:0 0 30px 10px #d08040,0 0 60px 20px rgba(208,128,64,.4); } 100% { opacity:.7; box-shadow:0 0 20px 6px #a06030,0 0 40px 12px rgba(160,96,48,.25); } }

/* bashfulness-small-things-begin */
.scn-bashfulness-small-things-begin { background: linear-gradient(180deg, #1e2030 0%, #2a2e40 50%, #1e2030 100%), radial-gradient(ellipse at 30% 80%, #3a3e50 0%, transparent 70%); }
.scn-bashfulness-small-things-begin .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a2e40 0%, #1e2030 100%); }
.scn-bashfulness-small-things-begin .window { position:absolute; bottom:35%; left:15%; width:50px; height:40px; background: linear-gradient(180deg, #4a5a7a 0%, #2a3a5a 100%); border-radius:6px; box-shadow:inset 0 0 20px rgba(0,0,0,.5); animation: sb-window 12s ease-in-out infinite alternate; }
.scn-bashfulness-small-things-begin .table { position:absolute; bottom:20%; left:50%; width:70px; height:10px; transform:translateX(-50%); background: linear-gradient(180deg, #4a3a30 0%, #2a1e18 100%); border-radius:4px; }
.scn-bashfulness-small-things-begin .cup { position:absolute; bottom:23%; left:48%; width:16px; height:12px; background: radial-gradient(ellipse at 50% 30%, #6a5a4a 0%, #3a2e22 100%); border-radius:30% 30% 10% 10%; box-shadow:0 2px 4px rgba(0,0,0,.5); animation: sb-cup 9s ease-in-out infinite alternate; }
.scn-bashfulness-small-things-begin .figure { position:absolute; bottom:22%; left:60%; width:18px; height:36px; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation: sb-figure 15s ease-in-out infinite; }
.scn-bashfulness-small-things-begin .chair { position:absolute; bottom:18%; left:55%; width:22px; height:28px; background: linear-gradient(180deg, #3a2a20 0%, #1e1410 100%); border-radius:20% 20% 10% 10% / 40% 40% 20% 20%; }
.scn-bashfulness-small-things-begin .candle { position:absolute; bottom:25%; left:44%; width:6px; height:16px; background: linear-gradient(180deg, #e0c080 0%, #a08040 70%); border-radius:20%; box-shadow:0 0 12px 3px #c0a060; animation: sb-candle 4s ease-in-out infinite alternate; }
.scn-bashfulness-small-things-begin .shadow { position:absolute; bottom:20%; left:50%; width:40%; height:6px; background: radial-gradient(ellipse, rgba(0,0,0,.3) 0%, transparent 100%); animation: sb-shadow 12s ease-in-out infinite alternate; }
@keyframes sb-window { 0% { opacity:.6; } 50% { opacity:1; } 100% { opacity:.7; } }
@keyframes sb-cup { 0% { transform:translateX(0) rotate(0); } 50% { transform:translateX(1px) rotate(2deg); } 100% { transform:translateX(0) rotate(0); } }
@keyframes sb-figure { 0% { transform:translateX(0) translateY(0) rotate(0); } 25% { transform:translateX(2px) translateY(-1px) rotate(1deg); } 50% { transform:translateX(-1px) translateY(0) rotate(-1deg); } 75% { transform:translateX(1px) translateY(-1px) rotate(0); } 100% { transform:translateX(0) translateY(0) rotate(0); } }
@keyframes sb-candle { 0% { opacity:.7; transform:scaleY(1); } 50% { opacity:1; transform:scaleY(1.1); } 100% { opacity:.8; transform:scaleY(0.95); } }
@keyframes sb-shadow { 0% { transform:translateX(0) scaleX(1); opacity:.4; } 50% { transform:translateX(3px) scaleX(1.05); opacity:.6; } 100% { transform:translateX(-2px) scaleX(0.95); opacity:.3; } }

/* bashfulness-dice-challenge */
.scn-bashfulness-dice-challenge { background: linear-gradient(180deg, #1e1e1a 0%, #2a2a24 50%, #1e1e1a 100%), radial-gradient(ellipse at 50% 70%, #3a3a2e 0%, transparent 70%); }
.scn-bashfulness-dice-challenge .wall { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #2a2a24 0%, #1a1a16 100%); }
.scn-bashfulness-dice-challenge .table { position:absolute; bottom:20%; left:50%; width:120px; height:12px; transform:translateX(-50%); background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1e 100%); border-radius:6px; box-shadow:0 6px 14px rgba(0,0,0,.7); }
.scn-bashfulness-dice-challenge .dice-left { position:absolute; bottom:23%; left:38%; width:18px; height:18px; background: linear-gradient(135deg, #e0d0c0 0%, #b0a090 100%); border-radius:8px; box-shadow:0 2px 4px rgba(0,0,0,.5); animation: dc-dice-l 5s ease-in-out infinite; }
.scn-bashfulness-dice-challenge .dice-right { position:absolute; bottom:23%; right:38%; width:18px; height:18px; background: linear-gradient(135deg, #e0d0c0 0%, #b0a090 100%); border-radius:8px; box-shadow:0 2px 4px rgba(0,0,0,.5); animation: dc-dice-r 6s ease-in-out infinite; }
.scn-bashfulness-dice-challenge .figure-left { position:absolute; bottom:22%; left:28%; width:20px; height:42px; background: linear-gradient(180deg, #3a3a2e 0%, #1e1e1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation: dc-fig-l 4s ease-in-out infinite; }
.scn-bashfulness-dice-challenge .figure-right { position:absolute; bottom:22%; right:28%; width:20px; height:42px; background: linear-gradient(180deg, #2a2a24 0%, #1a1a16 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation: dc-fig-r 4.5s ease-in-out infinite; }
.scn-bashfulness-dice-challenge .cup { position:absolute; bottom:24%; left:50%; width:12px; height:16px; transform:translateX(-50%); background: linear-gradient(180deg, #6a5a4a 0%, #3a2e22 100%); border-radius:30% 30% 10% 10%; box-shadow:0 0 6px rgba(0,0,0,.6); }
.scn-bashfulness-dice-challenge .lamp { position:absolute; bottom:42%; left:50%; width:16px; height:24px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 50%, #e0b060 0%, #906030 70%); border-radius:30% 30% 10% 10%; box-shadow:0 0 30px 10px #c08040, 0 0 60px 20px rgba(192,128,64,.3); animation: dc-lamp 3s ease-in-out infinite alternate; }
@keyframes dc-dice-l { 0%,100% { transform:translateX(0) rotate(0); } 25% { transform:translateX(-4px) rotate(30deg); } 50% { transform:translateX(0) rotate(0); } 75% { transform:translateX(4px) rotate(-30deg); } }
@keyframes dc-dice-r { 0% { transform:translateX(0) rotate(0); } 33% { transform:translateX(3px) rotate(-20deg); } 66% { transform:translateX(-3px) rotate(20deg); } 100% { transform:translateX(0) rotate(0); } }
@keyframes dc-fig-l { 0%,100% { transform:translateX(0) rotate(0); } 25% { transform:translateX(3px) rotate(5deg); } 50% { transform:translateX(-2px) rotate(-3deg); } 75% { transform:translateX(2px) rotate(3deg); } }
@keyframes dc-fig-r { 0% { transform:translateX(0) rotate(0); } 33% { transform:translateX(-3px) rotate(-4deg); } 66% { transform:translateX(2px) rotate(4deg); } 100% { transform:translateX(0) rotate(0); } }
@keyframes dc-lamp { 0% { opacity:.7; box-shadow:0 0 20px 6px #c08040,0 0 40px 12px rgba(192,128,64,.2); } 50% { opacity:1; box-shadow:0 0 40px 14px #e0a060,0 0 80px 25px rgba(224,160,96,.4); } 100% { opacity:.8; box-shadow:0 0 25px 8px #c08040,0 0 50px 16px rgba(192,128,64,.25); } }

/* Scene 1: diogenes-good-friend-enemy */
.scn-diogenes-good-friend-enemy {
  background: linear-gradient(180deg, #1a1210 0%, #2a1e18 50%, #3a2a20 100%),
              radial-gradient(ellipse at 50% 80%, #4a3520 0%, transparent 70%);
}
.scn-diogenes-good-friend-enemy .dge-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a1e18 0%, #1a1210 100%);
  animation: dge-bg 10s ease-in-out infinite alternate;
  opacity: 0.8;
}
.scn-diogenes-good-friend-enemy .dge-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #2a1a10 0%, #3a281c 100%);
  border-radius: 20% 20% 0 0;
}
.scn-diogenes-good-friend-enemy .dge-wall {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 70%;
  background: linear-gradient(180deg, #3a2a20 0%, #1a1210 100%);
}
.scn-diogenes-good-friend-enemy .dge-diogenes {
  position: absolute; bottom: 30%; left: 50%; transform: translateX(-50%);
  width: 30px; height: 80px;
  background: linear-gradient(180deg, #4a3a30 0%, #2a1e18 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: dge-figure 6s ease-in-out infinite;
}
.scn-diogenes-good-friend-enemy .dge-friend {
  position: absolute; bottom: 32%; left: 30%;
  width: 20px; height: 60px;
  background: linear-gradient(180deg, #6a5a40 0%, #4a3a28 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: dge-friend 4s ease-in-out infinite alternate;
}
.scn-diogenes-good-friend-enemy .dge-enemy {
  position: absolute; bottom: 32%; right: 30%;
  width: 20px; height: 60px;
  background: linear-gradient(180deg, #c8553d 0%, #a0461a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: dge-enemy 3s ease-in-out infinite alternate;
}
.scn-diogenes-good-friend-enemy .dge-lamp {
  position: absolute; bottom: 30%; left: 50%; transform: translateX(-50%);
  width: 12px; height: 18px;
  background: linear-gradient(180deg, #8a6a40 0%, #4a3a20 100%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 -4px 6px rgba(255,200,100,0.3);
}
.scn-diogenes-good-friend-enemy .dge-glow {
  position: absolute; bottom: 30%; left: 50%;
  width: 80px; height: 80px;
  transform: translate(-50%, -30%);
  background: radial-gradient(circle, rgba(255,200,100,0.4) 0%, transparent 70%);
  animation: dge-glow 3s ease-in-out infinite alternate;
}
@keyframes dge-bg { 0% { opacity: 0.8; } 50% { opacity: 0.9; } 100% { opacity: 0.7; } }
@keyframes dge-figure { 0% { transform: translateX(-50%) rotate(-2deg); } 50% { transform: translateX(-50%) rotate(1deg); } 100% { transform: translateX(-50%) rotate(-1deg); } }
@keyframes dge-friend { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-3px) rotate(3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes dge-enemy { 0% { transform: translateX(0) rotate(0deg) scale(1); } 50% { transform: translateX(2px) rotate(-5deg) scale(1.1); } 100% { transform: translateX(0) rotate(0deg) scale(1); } }
@keyframes dge-glow { 0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.7; } }

/* Scene 2: join-issue-vices-reproof */
.scn-join-issue-vices-reproof {
  background: linear-gradient(180deg, #1e1a16 0%, #2a241e 50%, #3a3028 100%),
              radial-gradient(ellipse at 50% 70%, #4a3e30 0%, transparent 70%);
}
.scn-join-issue-vices-reproof .jiv-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a241e 0%, #1e1a16 100%);
  animation: jiv-bg 12s ease-in-out infinite;
}
.scn-join-issue-vices-reproof .jiv-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(0deg, #1a1410 0%, #2a1e18 100%);
  border-radius: 30% 30% 0 0;
}
.scn-join-issue-vices-reproof .jiv-wall {
  position: absolute; bottom: 25%; left: 0; right: 0; height: 75%;
  background: linear-gradient(180deg, #3a3028 0%, #1e1a16 100%);
}
.scn-join-issue-vices-reproof .jiv-central {
  position: absolute; bottom: 30%; left: 50%; transform: translateX(-50%);
  width: 30px; height: 90px;
  background: linear-gradient(180deg, #4a3e34 0%, #2a221e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: jiv-central 8s ease-in-out infinite;
}
.scn-join-issue-vices-reproof .jiv-vice1 {
  position: absolute; bottom: 35%; left: 25%;
  width: 18px; height: 50px;
  background: linear-gradient(180deg, #3a2a22 0%, #1e1612 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: jiv-vice1 5s ease-in-out infinite;
}
.scn-join-issue-vices-reproof .jiv-vice2 {
  position: absolute; bottom: 38%; right: 30%;
  width: 15px; height: 45px;
  background: linear-gradient(180deg, #3a2a22 0%, #1e1612 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: jiv-vice2 4s ease-in-out infinite alternate;
}
.scn-join-issue-vices-reproof .jiv-advisor {
  position: absolute; bottom: 32%; left: 15%;
  width: 20px; height: 70px;
  background: linear-gradient(180deg, #5a4e44 0%, #3a2e24 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: jiv-advisor 6s ease-in-out infinite alternate;
}
.scn-join-issue-vices-reproof .jiv-lamp {
  position: absolute; bottom: 28%; left: 50%; transform: translateX(-50%);
  width: 10px; height: 15px;
  background: linear-gradient(180deg, #8a6a40 0%, #4a3a20 100%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 -4px 6px rgba(255,200,100,0.3);
}
@keyframes jiv-bg { 0% { opacity: 0.9; } 50% { opacity: 0.8; } 100% { opacity: 0.95; } }
@keyframes jiv-central { 0% { transform: translateX(-50%) rotate(-1deg); } 50% { transform: translateX(-50%) rotate(2deg); } 100% { transform: translateX(-50%) rotate(-1deg); } }
@keyframes jiv-vice1 { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(5px) rotate(5deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes jiv-vice2 { 0% { transform: translateX(0) rotate(0deg) scale(1); } 50% { transform: translateX(-4px) rotate(-3deg) scale(0.95); } 100% { transform: translateX(0) rotate(0deg) scale(1); } }
@keyframes jiv-advisor { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(2px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }

/* Scene 3: vice-denial-insinuates */
.scn-vice-denial-insinuates {
  background: linear-gradient(180deg, #0a0a14 0%, #1a1018 50%, #2a1820 100%),
              radial-gradient(ellipse at 50% 60%, #3a2030 0%, transparent 70%);
}
.scn-vice-denial-insinuates .vdn-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1a1018 0%, #0a0a14 100%);
  animation: vdn-bg 15s ease-in-out infinite;
}
.scn-vice-denial-insinuates .vdn-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(0deg, #0a0a0a 0%, #1a1018 100%);
}
.scn-vice-denial-insinuates .vdn-wall {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 80%;
  background: linear-gradient(180deg, #2a1820 0%, #0a0a14 100%);
}
.scn-vice-denial-insinuates .vdn-figure {
  position: absolute; bottom: 30%; left: 50%; transform: translateX(-50%);
  width: 30px; height: 80px;
  background: linear-gradient(180deg, #1a1418 0%, #0a080a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: vdn-figure 6s ease-in-out infinite;
}
.scn-vice-denial-insinuates .vdn-vice {
  position: absolute; bottom: 25%; left: 35%;
  width: 60px; height: 40px;
  background: radial-gradient(ellipse at 50% 50%, #2a1a2a 0%, #0a0a0a 100%);
  border-radius: 50%;
  filter: blur(4px);
  animation: vdn-vice 8s ease-in-out infinite alternate;
}
.scn-vice-denial-insinuates .vdn-candle {
  position: absolute; bottom: 28%; left: 55%;
  width: 6px; height: 15px;
  background: linear-gradient(180deg, #8a6a40 0%, #4a3a20 100%);
  border-radius: 10% 10% 20% 20%;
}
.scn-vice-denial-insinuates .vdn-glow {
  position: absolute; bottom: 28%; left: 55%;
  width: 40px; height: 40px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(255,200,100,0.2) 0%, transparent 70%);
  animation: vdn-glow 3s ease-in-out infinite alternate;
}
@keyframes vdn-bg { 0% { opacity: 0.9; } 50% { opacity: 0.8; } 100% { opacity: 0.95; } }
@keyframes vdn-figure { 0% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) rotate(-5deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes vdn-vice { 0% { transform: scale(1) translateX(0); } 50% { transform: scale(1.2) translateX(-5px); } 100% { transform: scale(1) translateX(0); } }
@keyframes vdn-glow { 0% { opacity: 0.3; } 50% { opacity: 0.8; } 100% { opacity: 0.4; } }

/* Scene 4: zeno-dreams-progress-virtue */
.scn-zeno-dreams-progress-virtue {
  background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 50%, #2a2a40 100%),
              radial-gradient(ellipse at 50% 80%, #3a3a50 0%, transparent 70%);
}
.scn-zeno-dreams-progress-virtue .zdp-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%);
  animation: zdp-bg 10s ease-in-out infinite;
}
.scn-zeno-dreams-progress-virtue .zdp-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(0deg, #0a0a12 0%, #1a1a2e 100%);
}
.scn-zeno-dreams-progress-virtue .zdp-bed {
  position: absolute; bottom: 15%; left: 30%; width: 40%; height: 20px;
  background: linear-gradient(180deg, #2a2a40 0%, #1a1a2e 100%);
  border-radius: 10%;
}
.scn-zeno-dreams-progress-virtue .zdp-zeno {
  position: absolute; bottom: 17%; left: 50%; transform: translateX(-50%);
  width: 40px; height: 50px;
  background: linear-gradient(180deg, #3a3a50 0%, #1a1a2e 100%);
  border-radius: 50% 50% 40% 40%;
  animation: zdp-zeno 8s ease-in-out infinite;
}
.scn-zeno-dreams-progress-virtue .zdp-dream1 {
  position: absolute; top: 30%; left: 20%;
  width: 20px; height: 20px;
  background: radial-gradient(circle, rgba(200,220,255,0.5) 0%, transparent 70%);
  border-radius: 50%;
  animation: zdp-dream1 12s ease-in-out infinite;
}
.scn-zeno-dreams-progress-virtue .zdp-dream2 {
  position: absolute; top: 20%; right: 25%;
  width: 15px; height: 15px;
  background: radial-gradient(circle, rgba(200,220,255,0.4) 0%, transparent 70%);
  border-radius: 50%;
  animation: zdp-dream2 15s ease-in-out infinite alternate;
}
.scn-zeno-dreams-progress-virtue .zdp-window {
  position: absolute; top: 10%; right: 10%;
  width: 60px; height: 80px;
  border: 2px solid #2a2a40;
  background: linear-gradient(180deg, #1a1a3e 0%, #2a2a4e 100%);
  border-radius: 4px;
}
@keyframes zdp-bg { 0% { opacity: 0.9; } 50% { opacity: 0.85; } 100% { opacity: 0.95; } }
@keyframes zdp-zeno { 0% { transform: translateX(-50%) scale(1); } 50% { transform: translateX(-50%) scale(1.02); } 100% { transform: translateX(-50%) scale(1); } }
@keyframes zdp-dream1 { 0% { transform: translateY(0) scale(1); opacity: 0.5; } 50% { transform: translateY(-20px) scale(1.2); opacity: 0.8; } 100% { transform: translateY(0) scale(1); opacity: 0.5; } }
@keyframes zdp-dream2 { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(10px) rotate(180deg); } 100% { transform: translateX(0) rotate(360deg); } }

.scn-empedocles-rejection {
  background: linear-gradient(180deg, #121224 0%, #1a1a30 50%, #0e0e1a 100%), radial-gradient(ellipse at 30% 40%, #1a1a3e 0%, transparent 70%);
  overflow: hidden;
}
.scn-empedocles-rejection .bg { position:absolute; inset:0; background: linear-gradient(180deg, #141428 0%, #0a0a18 100%); }
.scn-empedocles-rejection .wall-left { position:absolute; top:0; left:0; width:30%; height:100%; background: linear-gradient(90deg, #1c1c34 0%, #141428 100%); box-shadow: inset -4px 0 8px rgba(0,0,0,.5); }
.scn-empedocles-rejection .wall-right { position:absolute; top:0; right:0; width:30%; height:100%; background: linear-gradient(90deg, #141428 0%, #1c1c34 100%); box-shadow: inset 4px 0 8px rgba(0,0,0,.5); }
.scn-empedocles-rejection .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #1a1a2e 0%, #0d0d1a 100%); border-radius: 30% 30% 0 0 / 20% 20% 0 0; }
.scn-empedocles-rejection .window { position:absolute; top:20%; left:35%; width:30%; height:45%; background: #1e1e38; border-radius: 4px 4px 8px 8px; box-shadow: inset 0 0 20px rgba(0,0,0,.6), 0 0 10px rgba(0,0,30,.4); }
.scn-empedocles-rejection .sea { position:absolute; top:25%; left:37%; width:26%; height:35%; background: linear-gradient(180deg, #202040 0%, #151530 40%, #0e0e1e 100%); border-radius: 0 0 6px 6px; animation: er-sea 12s ease-in-out infinite alternate; }
.scn-empedocles-rejection .figure { position:absolute; bottom:28%; left:48%; width:20px; height:45px; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2a 60%, #0a0a1a 100%); border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%; transform-origin: bottom center; animation: er-figure 6s ease-in-out infinite; }
.scn-empedocles-rejection .candle { position:absolute; bottom:30%; left:35%; width:8px; height:24px; background: linear-gradient(180deg, #5a3a20 0%, #3a2a10 100%); border-radius: 2px 2px 3px 3px; box-shadow: 0 0 4px rgba(90,58,32,.6); }
.scn-empedocles-rejection .flame { position:absolute; bottom:52%; left:35.3%; width:6px; height:10px; background: radial-gradient(circle, #ffd080 0%, #ff8020 50%, #ff6020 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; box-shadow: 0 0 12px 4px #ff8020, 0 0 24px 8px rgba(255,128,32,.4); animation: er-flame 2s ease-in-out infinite alternate; }
.scn-empedocles-rejection .shadow { position:absolute; bottom:0; left:30%; width:40%; height:40%; background: radial-gradient(ellipse 50% 100% at 50% 100%, rgba(0,0,0,.6) 0%, transparent 70%); animation: er-shadow 8s ease-in-out infinite alternate; }
@keyframes er-sea { 0% { opacity:.7; transform: scaleY(1) } 50% { opacity:.9; transform: scaleY(1.05) } 100% { opacity:.6; transform: scaleY(.95) } }
@keyframes er-figure { 0% { transform: translateX(0) translateY(0) rotate(0) } 25% { transform: translateX(2px) translateY(-2px) rotate(2deg) } 50% { transform: translateX(0) translateY(0) rotate(-1deg) } 75% { transform: translateX(-2px) translateY(-1px) rotate(1deg) } 100% { transform: translateX(0) translateY(0) rotate(0) } }
@keyframes er-flame { 0% { transform: scaleY(1) translateY(0); opacity:.9 } 50% { transform: scaleY(1.2) translateY(-2px); opacity:1 } 100% { transform: scaleY(.9) translateY(1px); opacity:.8 } }
@keyframes er-shadow { 0% { opacity:.3 } 50% { opacity:.6 } 100% { opacity:.4 } }

.scn-mire-defilement {
  background: linear-gradient(180deg, #1a1a10 0%, #2a2a1a 40%, #0e0e08 100%), radial-gradient(ellipse at 50% 70%, #3a3a20 0%, transparent 60%);
  overflow: hidden;
}
.scn-mire-defilement .bg { position:absolute; inset:0; background: linear-gradient(180deg, #1e1e12 0%, #101008 100%); }
.scn-mire-defilement .mud { position:absolute; bottom:10%; left:10%; width:80%; height:30%; background: radial-gradient(ellipse at 50% 100%, #3a2a1a 0%, #1a1208 60%, #0e0a04 100%); border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%; box-shadow: inset 0 10px 20px rgba(0,0,0,.5); animation: md-mud 15s ease-in-out infinite alternate; }
.scn-mire-defilement .figure { position:absolute; bottom:18%; left:40%; width:24px; height:36px; background: linear-gradient(180deg, #2a2a1e 0%, #1a1a0e 80%, #0a0a04 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: md-figure 7s ease-in-out infinite; }
.scn-mire-defilement .arm { position:absolute; bottom:32%; left:45%; width:8px; height:20px; background: linear-gradient(180deg, #2a2a1e 0%, #1a1a0e 100%); border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%; transform-origin: top center; transform: rotate(-30deg); animation: md-arm 4s ease-in-out infinite alternate; }
.scn-mire-defilement .hand { position:absolute; bottom:48%; left:44%; width:10px; height:10px; background: #2a2a1e; border-radius: 50%; box-shadow: 0 0 6px rgba(0,0,0,.4); animation: md-hand 4s ease-in-out infinite alternate; }
.scn-mire-defilement .splatter { position:absolute; bottom:22%; left:30%; width:12px; height:8px; background: radial-gradient(circle, #3a2a1a 0%, transparent 100%); border-radius: 50%; opacity:.6; animation: md-splatter 9s ease-in-out infinite; }
.scn-mire-defilement .light { position:absolute; top:10%; left:20%; width:60%; height:10%; background: linear-gradient(180deg, rgba(80,70,40,.15) 0%, transparent 100%); border-radius: 50%; filter: blur(10px); animation: md-light 11s ease-in-out infinite alternate; }
@keyframes md-mud { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.03) translateY(2px) } 100% { transform: scaleY(.97) } }
@keyframes md-figure { 0% { transform: translateX(0) translateY(0) rotate(0) } 30% { transform: translateX(1px) translateY(-1px) rotate(1deg) } 60% { transform: translateX(-1px) translateY(0) rotate(-1deg) } 100% { transform: translateX(0) translateY(-2px) rotate(0) } }
@keyframes md-arm { 0% { transform: rotate(-30deg) } 50% { transform: rotate(0deg) } 100% { transform: rotate(-20deg) } }
@keyframes md-hand { 0% { transform: translate(0,0) } 50% { transform: translate(-2px, -1px) } 100% { transform: translate(1px, 0) } }
@keyframes md-splatter { 0% { opacity:.3; scale:.8 } 50% { opacity:.7; scale:1.2 } 100% { opacity:.4; scale:.9 } }
@keyframes md-light { 0% { opacity:.3 } 50% { opacity:.6 } 100% { opacity:.2 } }

.scn-cholera-debt {
  background: linear-gradient(180deg, #1a1a12 0%, #2a2a1a 50%, #0e0e08 100%), radial-gradient(ellipse at 50% 60%, #2a2a1a 0%, transparent 70%);
  overflow: hidden;
}
.scn-cholera-debt .bg { position:absolute; inset:0; background: linear-gradient(180deg, #1c1c14 0%, #14140c 100%); }
.scn-cholera-debt .bed { position:absolute; bottom:20%; left:20%; width:60%; height:40%; background: linear-gradient(180deg, #3a3a20 0%, #2a2a16 100%); border-radius: 10% 10% 5% 5% / 30% 30% 10% 10%; box-shadow: inset 0 8px 12px rgba(0,0,0,.4); }
.scn-cholera-debt .figure { position:absolute; bottom:25%; left:35%; width:22px; height:40px; background: linear-gradient(180deg, #2a2a1a 0%, #1a1a0e 70%, #0e0e08 100%); border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%; transform-origin: bottom center; animation: cd-figure 8s ease-in-out infinite; }
.scn-cholera-debt .blanket { position:absolute; bottom:20%; left:30%; width:40%; height:20%; background: linear-gradient(180deg, #4a4a2e 0%, #3a3a20 100%); border-radius: 0 0 30% 30% / 0 0 40% 40%; box-shadow: 0 4px 8px rgba(0,0,0,.3); animation: cd-blanket 6s ease-in-out infinite alternate; }
.scn-cholera-debt .bowl { position:absolute; bottom:22%; left:55%; width:16px; height:10px; background: radial-gradient(ellipse at 50% 100%, #5a4a2e 0%, #3a2a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; box-shadow: inset 0 2px 4px rgba(0,0,0,.5); }
.scn-cholera-debt .candle { position:absolute; bottom:50%; left:20%; width:6px; height:18px; background: linear-gradient(180deg, #5a3a20 0%, #3a2a10 100%); border-radius: 2px 2px 3px 3px; }
.scn-cholera-debt .coins { position:absolute; bottom:26%; left:60%; width:10px; height:4px; background: radial-gradient(circle, #806040 0%, #402820 100%); border-radius: 2px; animation: cd-coins 5s ease-in-out infinite; }
.scn-cholera-debt .shadow { position:absolute; bottom:0; left:10%; width:80%; height:30%; background: radial-gradient(ellipse 60% 100% at 50% 100%, rgba(0,0,0,.5) 0%, transparent 70%); animation: cd-shadow 9s ease-in-out infinite alternate; }
@keyframes cd-figure { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(1px) rotate(2deg) } 50% { transform: translateX(-1px) rotate(-1deg) } 75% { transform: translateX(2px) rotate(1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes cd-blanket { 0% { transform: translateY(0) } 50% { transform: translateY(1px) } 100% { transform: translateY(-1px) } }
@keyframes cd-coins { 0% { opacity:.5; transform: translateX(0) } 50% { opacity:.8; transform: translateX(2px) } 100% { opacity:.6; transform: translateX(-1px) } }
@keyframes cd-shadow { 0% { opacity:.3 } 50% { opacity:.6 } 100% { opacity:.4 } }

.scn-rich-luxurious {
  background: linear-gradient(180deg, #d8c8a0 0%, #e8d8b8 40%, #f0e0c0 100%), radial-gradient(ellipse at 70% 30%, #fff5e0 0%, transparent 60%);
  overflow: hidden;
}
.scn-rich-luxurious .bg { position:absolute; inset:0; background: linear-gradient(180deg, #e0d0b0 0%, #c8b898 100%); }
.scn-rich-luxurious .window { position:absolute; top:10%; right:10%; width:35%; height:50%; background: #ffe8c0; border-radius: 8px 8px 4px 4px; box-shadow: inset 0 0 30px rgba(255,200,100,.4), 0 0 20px rgba(255,200,100,.2); }
.scn-rich-luxurious .light-beam { position:absolute; top:20%; right:12%; width:30%; height:70%; background: linear-gradient(135deg, rgba(255,230,180,.3) 0%, transparent 100%); clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%); animation: rl-beam 10s ease-in-out infinite alternate; }
.scn-rich-luxurious .chair { position:absolute; bottom:20%; left:20%; width:30%; height:40%; background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%); border-radius: 30% 30% 10% 10% / 40% 40% 10% 10%; box-shadow: 10px 10px 20px rgba(0,0,0,.2); }
.scn-rich-luxurious .figure { position:absolute; bottom:25%; left:25%; width:20px; height:45px; background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%); border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%; transform-origin: bottom center; animation: rl-figure 5s ease-in-out infinite; }
.scn-rich-luxurious .table { position:absolute; bottom:15%; left:40%; width:20%; height:8%; background: linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%); border-radius: 4px; box-shadow: 0 4px 6px rgba(0,0,0,.15); }
.scn-rich-luxurious .goblet { position:absolute; bottom:18%; left:45%; width:8px; height:16px; background: linear-gradient(180deg, #d0b080 0%, #a08060 100%); border-radius: 2px 2px 4px 4px / 2px 2px 6px 6px; box-shadow: 0 0 6px rgba(160,128,96,.4); animation: rl-goblet 4s ease-in-out infinite alternate; }
.scn-rich-luxurious .shadow { position:absolute; bottom:0; left:0; width:100%; height:30%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.15) 100%); animation: rl-shadow 7s ease-in-out infinite alternate; }
@keyframes rl-beam { 0% { opacity:.3 } 50% { opacity:.6 } 100% { opacity:.2 } }
@keyframes rl-figure { 0% { transform: translateX(0) rotate(0) } 30% { transform: translateX(2px) rotate(2deg) } 60% { transform: translateX(-1px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes rl-goblet { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes rl-shadow { 0% { opacity:.2; transform: scaleY(1) } 50% { opacity:.4; transform: scaleY(1.02) } 100% { opacity:.3; transform: scaleY(.98) } }

/* scene: item-golden-cup */
.scn-item-golden-cup {
  background: 
    linear-gradient(180deg, #fdf8e7 0%, #fceabb 40%, #e8c86a 100%),
    radial-gradient(ellipse at 50% 80%, #ffd54f 0%, transparent 60%);
  background-blend-mode: normal;
}
.scn-item-golden-cup .sky-gc {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #87ceeb 0%, #b0e0e6 70%, transparent 100%);
  animation: sky-gc 20s ease-in-out infinite alternate;
}
.scn-item-golden-cup .sunbeam-gc {
  position: absolute; top: 10%; left: 40%; width: 20%; height: 60%;
  background: linear-gradient(135deg, rgba(255,255,200,0.3) 0%, transparent 70%);
  opacity: 0.6; animation: sunbeam-gc 8s ease-in-out infinite alternate;
}
.scn-item-golden-cup .pedestal-gc {
  position: absolute; bottom: 20%; left: 50%; transform: translateX(-50%);
  width: 80px; height: 60px;
  background: linear-gradient(180deg, #c0a060 0%, #a08040 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 8px 12px rgba(0,0,0,0.3);
}
.scn-item-golden-cup .cup-gc {
  position: absolute; bottom: 38%; left: 50%; transform: translateX(-50%);
  width: 60px; height: 80px;
  background: radial-gradient(ellipse at 50% 30%, #ffd700 0%, #daa520 60%, #b8860b 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  box-shadow: 0 4px 20px rgba(218,165,32,0.6);
  animation: cup-gc 5s ease-in-out infinite;
}
.scn-item-golden-cup .cup-glow-gc {
  position: absolute; bottom: 42%; left: 50%; transform: translateX(-50%) scale(1.3);
  width: 50px; height: 50px;
  background: radial-gradient(circle, rgba(255,215,0,0.4) 0%, transparent 70%);
  border-radius: 50%;
  animation: glow-gc 3s ease-in-out infinite alternate;
}
.scn-item-golden-cup .strand-a-gc,
.scn-item-golden-cup .strand-b-gc {
  position: absolute; bottom: 30%; width: 4px; height: 80px;
  background: linear-gradient(180deg, #c0a060 0%, #8a6e33 100%);
  border-radius: 50%;
  transform-origin: top center;
}
.scn-item-golden-cup .strand-a-gc { left: 40%; animation: strand-a-gc 6s ease-in-out infinite; }
.scn-item-golden-cup .strand-b-gc { right: 40%; animation: strand-b-gc 6s ease-in-out infinite 2s; }
.scn-item-golden-cup .shadow-gc {
  position: absolute; bottom: 18%; left: 50%; transform: translateX(-50%);
  width: 120px; height: 20px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.3) 0%, transparent 70%);
  border-radius: 50%;
  animation: shadow-gc 4s ease-in-out infinite;
}
@keyframes sky-gc { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes sunbeam-gc { 0% { transform: translateX(-10px) rotate(-2deg) } 50% { transform: translateX(10px) rotate(2deg) } 100% { transform: translateX(0) } }
@keyframes cup-gc { 0%,100% { transform: translateX(-50%) rotate(0) scale(1) } 50% { transform: translateX(-50%) rotate(-2deg) scale(1.02) } }
@keyframes glow-gc { 0% { opacity:0.5; transform: translateX(-50%) scale(1) } 100% { opacity:0.9; transform: translateX(-50%) scale(1.5) } }
@keyframes strand-a-gc { 0% { transform: rotate(0) } 50% { transform: rotate(15deg) } 100% { transform: rotate(0) } }
@keyframes strand-b-gc { 0% { transform: rotate(0) } 50% { transform: rotate(-15deg) } 100% { transform: rotate(0) } }
@keyframes shadow-gc { 0%,100% { opacity:0.3; transform: translateX(-50%) scale(1) } 50% { opacity:0.6; transform: translateX(-50%) scale(1.1) } }

/* scene: independence-slavery */
.scn-independence-slavery {
  background: 
    linear-gradient(90deg, #2c2c34 0%, #1a1a22 50%, #2c2c34 100%),
    radial-gradient(ellipse at 30% 60%, #3a3a44 0%, transparent 60%);
}
.scn-independence-slavery .wall-is {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(0deg, #3a3a44 0px, #3a3a44 4px, #2c2c34 4px, #2c2c34 8px);
  animation: wall-is 30s linear infinite;
}
.scn-independence-slavery .floor-is {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #1a1a22 0%, #2c2c34 100%);
  box-shadow: inset 0 20px 30px rgba(0,0,0,0.7);
}
.scn-independence-slavery .window-is {
  position: absolute; top: 20%; left: 20%; width: 60%; height: 40%;
  background: radial-gradient(ellipse at 50%, #444 0%, #222 100%);
  border: 6px solid #4a4a50;
  border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.8);
}
.scn-independence-slavery .light-beam-is {
  position: absolute; top: 20%; left: 20%; width: 60%; height: 60%;
  background: linear-gradient(135deg, rgba(200,200,150,0.15) 0%, transparent 60%);
  opacity: 0.4; animation: beam-is 6s ease-in-out infinite alternate;
}
.scn-independence-slavery .chain-is {
  position: absolute; bottom: 38%; left: 35%;
  width: 30%; height: 6px;
  background: #8a7a70;
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: chain-is 3s ease-in-out infinite;
}
.scn-independence-slavery .chain-is::after {
  content: ''; position: absolute; top: -10px; left: 80%; width: 20px; height: 20px;
  background: radial-gradient(circle, #5a4a40 0%, #3a2a20 100%);
  border-radius: 50%;
}
.scn-independence-slavery .figure-is {
  position: absolute; bottom: 26%; left: 50%; transform: translateX(-50%);
  width: 50px; height: 100px;
  background: linear-gradient(180deg, #1a1a22 0%, #0a0a12 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  box-shadow: -8px 0 10px rgba(0,0,0,0.5);
  animation: figure-is 5s ease-in-out infinite;
}
.scn-independence-slavery .covenant-scroll-is {
  position: absolute; bottom: 32%; left: 30%;
  width: 40px; height: 60px;
  background: #c0a060;
  border-radius: 5px;
  transform: rotate(-15deg);
  box-shadow: 2px 2px 6px rgba(0,0,0,0.6);
  animation: scroll-is 8s ease-in-out infinite alternate;
}
@keyframes wall-is { 0% { background-position: 0 0 } 100% { background-position: 0 100px } }
@keyframes beam-is { 0% { opacity:0.2; transform: scaleX(0.8) } 100% { opacity:0.6; transform: scaleX(1.2) } }
@keyframes chain-is { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-4px) rotate(5deg) } }
@keyframes figure-is { 0% { transform: translateX(-50%) rotate(0) } 25% { transform: translateX(-50%) rotate(-3deg) } 50% { transform: translateX(-50%) rotate(0) } 75% { transform: translateX(-50%) rotate(3deg) } 100% { transform: translateX(-50%) rotate(0) } }
@keyframes scroll-is { 0% { transform: rotate(-15deg) scale(1) } 100% { transform: rotate(-10deg) scale(1.03) } }

/* scene: artemis-temple */
.scn-artemis-temple {
  background: 
    linear-gradient(180deg, #d4c9a8 0%, #b8a88a 50%, #8a7a5a 100%),
    radial-gradient(ellipse at 30% 40%, #e8dcc0 0%, transparent 70%);
}
.scn-artemis-temple .wall-at {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #c0b090 0%, #d0c0a0 50%, #b8a080 100%);
  opacity: 0.8;
}
.scn-artemis-temple .window-at {
  position: absolute; top: 15%; left: 35%; width: 30%; height: 50%;
  background: #b0a090;
  border: 8px solid #7a6a5a;
  border-radius: 50% 50% 10% 10%;
  box-shadow: inset 0 0 40px #9a8a7a;
}
.scn-artemis-temple .altar-at {
  position: absolute; bottom: 20%; left: 50%; transform: translateX(-50%);
  width: 100px; height: 50px;
  background: linear-gradient(180deg, #9a8a7a 0%, #7a6a5a 100%);
  border-radius: 5% 5% 0 0;
  box-shadow: 0 10px 20px rgba(0,0,0,0.3);
}
.scn-artemis-temple .statue-at {
  position: absolute; bottom: 40%; left: 50%; transform: translateX(-50%);
  width: 40px; height: 80px;
  background: radial-gradient(ellipse at 50% 20%, #d0c0a0 0%, #b8a080 60%, #8a7a5a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.4);
  animation: statue-at 12s ease-in-out infinite;
}
.scn-artemis-temple .figure-at {
  position: absolute; bottom: 28%; left: 40%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: figure-at 6s ease-in-out infinite;
}
.scn-artemis-temple .offering-at {
  position: absolute; bottom: 25%; left: 55%; width: 20px; height: 20px;
  background: radial-gradient(circle, #ffd700 0%, #daa520 100%);
  border-radius: 50%;
  box-shadow: 0 0 8px #daa520;
  animation: offering-at 8s ease-in-out infinite alternate;
}
.scn-artemis-temple .light-ray-at {
  position: absolute; top: 15%; left: 35%; width: 30%; height: 60%;
  background: linear-gradient(135deg, rgba(255,255,200,0.2) 0%, transparent 60%);
  opacity: 0.5; animation: ray-at 6s ease-in-out infinite alternate;
}
@keyframes statue-at { 0%,100% { transform: translateX(-50%) rotate(0) } 50% { transform: translateX(-50%) rotate(2deg) translateY(-2px) } }
@keyframes figure-at { 0% { transform: rotate(-2deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-2deg) } }
@keyframes offering-at { 0% { opacity:0.7; transform: scale(1) } 100% { opacity:1; transform: scale(1.2) } }
@keyframes ray-at { 0% { opacity:0.3; transform: scaleX(0.9) } 100% { opacity:0.7; transform: scaleX(1.1) } }

/* scene: wooden-walls */
.scn-wooden-walls {
  background: 
    linear-gradient(135deg, #c8b898 0%, #a89070 40%, #8a7a5a 100%),
    radial-gradient(ellipse at 60% 50%, #d4c4a4 0%, transparent 70%);
}
.scn-wooden-walls .wall-ww {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(90deg, #b8a080 0px, #b8a080 20px, #a09070 20px, #a09070 22px);
  opacity: 0.6;
}
.scn-wooden-walls .table-ww {
  position: absolute; bottom: 20%; left: 50%; transform: translateX(-50%);
  width: 140px; height: 20px;
  background: linear-gradient(180deg, #c0a060 0%, #a08040 100%);
  border-radius: 4px;
  box-shadow: 0 8px 12px rgba(0,0,0,0.4);
}
.scn-wooden-walls .pot-ww {
  position: absolute; bottom: 28%; left: 40%; transform: translateX(-50%);
  width: 40px; height: 50px;
  background: radial-gradient(ellipse at 50% 30%, #b06040 0%, #804020 70%);
  border-radius: 30% 30% 40% 40% / 50% 50% 40% 40%;
  box-shadow: inset 0 -4px 6px rgba(0,0,0,0.3);
  animation: pot-ww 6s ease-in-out infinite;
}
.scn-wooden-walls .bowl-ww {
  position: absolute; bottom: 26%; left: 60%; transform: translateX(-50%);
  width: 50px; height: 30px;
  background: linear-gradient(180deg, #d0a070 0%, #b08050 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  box-shadow: inset 0 -3px 5px rgba(0,0,0,0.2);
  animation: bowl-ww 5s ease-in-out infinite alternate;
}
.scn-wooden-walls .bread-ww {
  position: absolute; bottom: 27%; left: 50%; transform: translateX(-50%);
  width: 30px; height: 15px;
  background: radial-gradient(ellipse, #e0b080 0%, #c09060 100%);
  border-radius: 50%;
  animation: bread-ww 4s ease-in-out infinite;
}
.scn-wooden-walls .light-ww {
  position: absolute; top: 0; left: 30%; width: 40%; height: 60%;
  background: linear-gradient(135deg, rgba(255,240,200,0.2) 0%, transparent 60%);
  opacity: 0.4; animation: light-ww 10s ease-in-out infinite alternate;
}
.scn-wooden-walls .shadow-ww {
  position: absolute; bottom: 18%; left: 50%; transform: translateX(-50%);
  width: 160px; height: 12px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.2) 0%, transparent 70%);
  border-radius: 50%;
  animation: shadow-ww 5s ease-in-out infinite;
}
@keyframes pot-ww { 0%,100% { transform: translateX(-50%) rotate(0) } 50% { transform: translateX(-50%) rotate(-2deg) } }
@keyframes bowl-ww { 0% { transform: translateX(-50%) scale(1) } 100% { transform: translateX(-50%) scale(1.03) rotate(2deg) } }
@keyframes bread-ww { 0%,100% { transform: translateX(-50%) translateY(0) } 50% { transform: translateX(-50%) translateY(-2px) } }
@keyframes light-ww { 0% { opacity:0.2; transform: scaleX(0.9) } 100% { opacity:0.6; transform: scaleX(1.2) } }
@keyframes shadow-ww { 0%,100% { opacity:0.3; transform: translateX(-50%) scale(1) } 50% { opacity:0.5; transform: translateX(-50%) scale(1.1) } }

/* Scene: forced-revelation */
.scn-forced-revelation { background: linear-gradient(180deg, #0d0a0a 0%, #1a0f0f 40%, #2a1410 100%), radial-gradient(ellipse at 50% 100%, #4a2010 0%, transparent 70%); }
.scn-forced-revelation .darkness { position:absolute; inset:0; background: linear-gradient(180deg, #0a0707 0%, transparent 50%, #0a0707 100%); animation: fr-pulse 12s ease-in-out infinite alternate; }
.scn-forced-revelation .fire { position:absolute; bottom:10%; left:20%; width:60px; height:90px; background: linear-gradient(180deg, #ff8030 0%, #c8553d 40%, #5e1a1d 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; filter: blur(4px); animation: fr-flicker 0.8s ease-in-out infinite alternate; }
.scn-forced-revelation .fire-glow { position:absolute; bottom:8%; left:18%; width:80px; height:110px; background: radial-gradient(ellipse, rgba(200,85,61,0.6) 0%, transparent 80%); filter: blur(15px); animation: fr-glow 1.2s ease-in-out infinite alternate; }
.scn-forced-revelation .figure-guilty { position:absolute; bottom:18%; left:45%; width:40px; height:80px; background: linear-gradient(180deg, #1a0f0f 0%, #0d0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fr-cower 5s ease-in-out infinite; }
.scn-forced-revelation .figure-accuser { position:absolute; bottom:22%; left:65%; width:35px; height:70px; background: linear-gradient(180deg, #2a1410 0%, #1a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fr-point 3s ease-in-out infinite alternate; }
.scn-forced-revelation .chains { position:absolute; bottom:30%; left:42%; width:30px; height:4px; background: #4a3a2a; border-radius: 2px; box-shadow: 0 8px 0 #4a3a2a, 0 16px 0 #4a3a2a; animation: fr-rattle 2s ease-in-out infinite; }
.scn-forced-revelation .ground { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #1a0f0f 0%, #0a0707 100%); border-radius: 20% 20% 0 0 / 40% 40% 0 0; animation: fr-shudder 10s ease-in-out infinite; }
.scn-forced-revelation .sparks { position:absolute; bottom:15%; left:22%; width:3px; height:3px; background: #ff8030; border-radius: 50%; box-shadow: 10px -15px 0 #ff8030, -8px -20px 0 #c8553d, 15px -30px 0 #ff8030; animation: fr-sparks 1.5s ease-in-out infinite; }
@keyframes fr-pulse { 0% { opacity:.6 } 50% { opacity:1 } 100% { opacity:.7 } }
@keyframes fr-flicker { 0% { transform: scaleY(1) translateY(0); opacity:.8 } 50% { transform: scaleY(1.1) translateY(-2px); opacity:1 } 100% { transform: scaleY(0.9) translateY(1px); opacity:.7 } }
@keyframes fr-glow { 0% { opacity:.3; transform: scale(0.95) } 50% { opacity:.6; transform: scale(1.05) } 100% { opacity:.4; transform: scale(0.98) } }
@keyframes fr-cower { 0% { transform: translateX(0) rotate(-2deg) scale(0.98); } 50% { transform: translateX(3px) rotate(2deg) scale(1); } 100% { transform: translateX(0) rotate(-1deg) scale(0.95); } }
@keyframes fr-point { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(-5px) rotate(-5deg) } 100% { transform: translateX(0) rotate(2deg) } }
@keyframes fr-rattle { 0% { transform: translateX(0) } 25% { transform: translateX(2px) } 75% { transform: translateX(-2px) } 100% { transform: translateX(0) } }
@keyframes fr-shudder { 0% { transform: translateY(0) } 30% { transform: translateY(1px) } 60% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes fr-sparks { 0% { transform: translateY(0); opacity:0 } 30% { opacity:1 } 70% { opacity:1 } 100% { transform: translateY(-30px); opacity:0 } }

/* Scene: thrust-forward */
.scn-thrust-forward { background: linear-gradient(180deg, #0d0a0a 0%, #1a0f0f 40%, #2a1410 100%), radial-gradient(ellipse at 50% 0%, #3a1a0a 0%, transparent 70%); }
.scn-thrust-forward .bg-deep { position:absolute; inset:0; background: linear-gradient(90deg, #0a0707 0%, transparent 50%, #0a0707 100%); animation: tf-sway 15s ease-in-out infinite; }
.scn-thrust-forward .fire-horror { position:absolute; top:10%; left:50%; width:120px; height:140px; transform:translateX(-50%); background: radial-gradient(ellipse, rgba(200,85,61,0.5) 0%, transparent 70%); filter: blur(20px); animation: tf-fireswirl 6s ease-in-out infinite; }
.scn-thrust-forward .figure-pushed { position:absolute; bottom:25%; left:30%; width:35px; height:75px; background: linear-gradient(180deg, #1a0f0f 0%, #0d0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: tf-stumble 3s ease-in-out infinite; }
.scn-thrust-forward .figure-pusher { position:absolute; bottom:25%; left:48%; width:45px; height:90px; background: linear-gradient(180deg, #2a1410 0%, #1a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: tf-shove 2.5s ease-in-out infinite; }
.scn-thrust-forward .shadow-pusher { position:absolute; bottom:28%; left:60%; width:40px; height:85px; background: linear-gradient(180deg, #1a0f0f 0%, #0a0707 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; opacity:0.6; animation: tf-shadow 4s ease-in-out infinite; }
.scn-thrust-forward .ground { position:absolute; bottom:0; left:0; right:0; height:15%; background: linear-gradient(180deg, #1a0f0f 0%, #0a0707 100%); border-radius: 30% 30% 0 0 / 50% 50% 0 0; }
.scn-thrust-forward .debris { position:absolute; bottom:12%; left:20%; width:8px; height:8px; background:#5e3a2a; border-radius:50%; box-shadow: 15px 0 0 #5e3a2a, 30px 5px 0 #4a2a1a, 50px -3px 0 #5e3a2a; animation: tf-debris 8s linear infinite; }
@keyframes tf-sway { 0% { opacity:.5 } 50% { opacity:1 } 100% { opacity:.4 } }
@keyframes tf-fireswirl { 0% { transform: translateX(-50%) scale(1); opacity:.4 } 50% { transform: translateX(-50%) scale(1.1); opacity:.6 } 100% { transform: translateX(-50%) scale(0.9); opacity:.3 } }
@keyframes tf-stumble { 0% { transform: translateX(0) rotate(-3deg) } 30% { transform: translateX(6px) rotate(2deg) } 60% { transform: translateX(3px) rotate(-1deg) } 100% { transform: translateX(-2px) rotate(0) } }
@keyframes tf-shove { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(8px) rotate(5deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes tf-shadow { 0% { transform: translateX(0) scale(0.95) } 50% { transform: translateX(-5px) scale(1) } 100% { transform: translateX(2px) scale(0.9) } }
@keyframes tf-debris { 0% { transform: translateY(0) rotate(0); opacity:0 } 20% { opacity:1 } 80% { opacity:1 } 100% { transform: translateY(-40px) rotate(360deg); opacity:0 } }

/* Scene: inside-out-souls */
.scn-inside-out-souls { background: linear-gradient(180deg, #0d0a0a 0%, #1a0f0f 40%, #2a1410 100%), radial-gradient(ellipse at 50% 0%, #4a2010 0%, transparent 80%); }
.scn-inside-out-souls .bg-abyss { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 60%, #1a0f0f 0%, #0a0707 100%); animation: ios-breathe 10s ease-in-out infinite; }
.scn-inside-out-souls .fire-glow { position:absolute; bottom:5%; left:50%; width:200px; height:200px; transform:translateX(-50%); background: radial-gradient(ellipse, rgba(200,85,61,0.4) 0%, transparent 70%); filter: blur(25px); animation: ios-firepulse 4s ease-in-out infinite alternate; }
.scn-inside-out-souls .soul-writhe1 { position:absolute; bottom:30%; left:25%; width:20px; height:100px; background: linear-gradient(180deg, #c8553d 0%, #5e1a1d 50%, #1a0f0f 100%); border-radius: 50% 50% 20% 20%; transform-origin: bottom center; animation: ios-writhe1 3s ease-in-out infinite; }
.scn-inside-out-souls .soul-writhe2 { position:absolute; bottom:30%; left:40%; width:25px; height:110px; background: linear-gradient(180deg, #a0461a 0%, #5e1a1d 50%, #1a0f0f 100%); border-radius: 50% 50% 20% 20%; animation: ios-writhe2 4s ease-in-out infinite; }
.scn-inside-out-souls .soul-writhe3 { position:absolute; bottom:30%; left:55%; width:18px; height:90px; background: linear-gradient(180deg, #b87878 0%, #5e1a1d 50%, #1a0f0f 100%); border-radius: 50% 50% 20% 20%; animation: ios-writhe3 3.5s ease-in-out infinite; }
.scn-inside-out-souls .soul-core { position:absolute; bottom:40%; left:50%; width:30px; height:30px; transform:translateX(-50%); background: radial-gradient(circle, #c8553d 0%, #a0461a 60%, transparent 100%); border-radius:50%; filter: blur(4px); animation: ios-pulse 2s ease-in-out infinite alternate; }
.scn-inside-out-souls .ground { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #1a0f0f 0%, #0a0707 100%); border-radius: 30% 30% 0 0 / 50% 50% 0 0; }
@keyframes ios-breathe { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.6 } }
@keyframes ios-firepulse { 0% { transform: translateX(-50%) scale(0.9); opacity:.3 } 100% { transform: translateX(-50%) scale(1.1); opacity:.6 } }
@keyframes ios-writhe1 { 0% { transform: rotate(-10deg) translateY(0) } 50% { transform: rotate(15deg) translateY(-8px) } 100% { transform: rotate(-5deg) translateY(0) } }
@keyframes ios-writhe2 { 0% { transform: rotate(5deg) translateY(0) } 50% { transform: rotate(-20deg) translateY(-12px) } 100% { transform: rotate(8deg) translateY(2px) } }
@keyframes ios-writhe3 { 0% { transform: rotate(-2deg) translateY(0) } 50% { transform: rotate(18deg) translateY(-6px) } 100% { transform: rotate(-8deg) translateY(1px) } }
@keyframes ios-pulse { 0% { opacity:.5; transform: translateX(-50%) scale(0.8) } 100% { opacity:1; transform: translateX(-50%) scale(1.2) } }

/* Scene: flayed-vices */
.scn-flayed-vices { background: linear-gradient(180deg, #0d0a0a 0%, #1a0f0f 40%, #2a1410 100%), radial-gradient(ellipse at 50% 100%, #3a1a0a 0%, transparent 70%); }
.scn-flayed-vices .bg-dark { position:absolute; inset:0; background: repeating-linear-gradient(0deg, #0a0707 0px, #0a0707 4px, #1a0f0f 4px, #1a0f0f 8px); animation: fv-shimmer 8s linear infinite; }
.scn-flayed-vices .fire-haze { position:absolute; top:10%; left:0; right:0; height:60%; background: radial-gradient(ellipse at 50% 0%, rgba(200,85,61,0.3) 0%, transparent 70%); filter: blur(30px); animation: fv-haze 5s ease-in-out infinite alternate; }
.scn-flayed-vices .figure-flayed { position:absolute; bottom:20%; left:45%; width:40px; height:100px; background: linear-gradient(180deg, #a0461a 0%, #5e1a1d 40%, #1a0f0f 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: fv-flinch 4s ease-in-out infinite; }
.scn-flayed-vices .soul-snake1 { position:absolute; bottom:40%; left:20%; width:15px; height:60px; background: linear-gradient(180deg, #c8553d 0%, #5e1a1d 100%); border-radius: 50% 50% 20% 20%; transform-origin: bottom; animation: fv-snake1 3s ease-in-out infinite; }
.scn-flayed-vices .soul-snake2 { position:absolute; bottom:40%; left:35%; width:12px; height:70px; background: linear-gradient(180deg, #b87878 0%, #5e1a1d 100%); border-radius: 50% 50% 20% 20%; animation: fv-snake2 3.5s ease-in-out infinite; }
.scn-flayed-vices .soul-snake3 { position:absolute; bottom:40%; left:55%; width:18px; height:80px; background: linear-gradient(180deg, #a0461a 0%, #5e1a1d 100%); border-radius: 50% 50% 20% 20%; animation: fv-snake3 4s ease-in-out infinite; }
.scn-flayed-vices .ground { position:absolute; bottom:0; left:0; right:0; height:15%; background: linear-gradient(180deg, #1a0f0f 0%, #0a0707 100%); border-radius: 20% 20% 0 0 / 40% 40% 0 0; }
.scn-flayed-vices .blood-drip { position:absolute; bottom:20%; left:38%; width:2px; height:0; background: #5e1a1d; border-radius:1px; box-shadow: 6px 0 0 #5e1a1d, 12px 2px 0 #5e1a1d, -4px 5px 0 #5e1a1d; animation: fv-drip 2s ease-in-out infinite; }
@keyframes fv-shimmer { 0% { opacity:.6 } 50% { opacity:1 } 100% { opacity:.5 } }
@keyframes fv-haze { 0% { opacity:.2; transform: scaleX(0.95) } 100% { opacity:.5; transform: scaleX(1.05) } }
@keyframes fv-flinch { 0% { transform: translateX(0) rotate(0) } 30% { transform: translateX(4px) rotate(-3deg) scaleY(0.98) } 60% { transform: translateX(-2px) rotate(2deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes fv-snake1 { 0% { transform: rotate(-15deg) translateY(0) } 50% { transform: rotate(20deg) translateY(-5px) } 100% { transform: rotate(-10deg) translateY(0) } }
@keyframes fv-snake2 { 0% { transform: rotate(10deg) translateY(0) } 50% { transform: rotate(-25deg) translateY(-8px) } 100% { transform: rotate(5deg) translateY(0) } }
@keyframes fv-snake3 { 0% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(15deg) translateY(-6px) } 100% { transform: rotate(-2deg) translateY(0) } }
@keyframes fv-drip { 0% { height:0; opacity:0 } 30% { height:20px; opacity:.6 } 70% { height:20px; opacity:.6 } 100% { height:0; opacity:0 } }

/* curiosity-oedipus-alas – dark, dim interior */
.scn-curiosity-oedipus-alas {
  background: 
    linear-gradient(180deg, #1a1210 0%, #2d1a14 40%, #1f0e08 100%),
    radial-gradient(ellipse at 40% 60%, #3a2015 0%, transparent 70%);
}
.scn-curiosity-oedipus-alas .wall {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #1a0e0a 0%, #2c1c14 100%);
  animation: s1-wall 20s ease-in-out infinite alternate;
}
.scn-curiosity-oedipus-alas .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 55%;
  background: linear-gradient(0deg, #0f0805 0%, #1f1410 100%);
  border-radius: 30% 70% 0 0 / 50% 60% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.6);
}
.scn-curiosity-oedipus-alas .lamp-glow {
  position: absolute; bottom: 40%; left: 30%; width: 50px; height: 50px;
  background: radial-gradient(circle, #c07030 0%, #6b2e0e 50%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 40px 10px #a04a1a, 0 0 80px 20px rgba(160,74,26,0.3);
  animation: s1-lamp-pulse 4s ease-in-out infinite alternate;
}
.scn-curiosity-oedipus-alas .lamp-stand {
  position: absolute; bottom: 38%; left: 31%; width: 6px; height: 60px;
  background: linear-gradient(180deg, #2a1a10 0%, #0f0805 100%);
  border-radius: 2px;
  transform-origin: bottom center;
  animation: s1-stand-sway 5s ease-in-out infinite;
}
.scn-curiosity-oedipus-alas .figure {
  position: absolute; bottom: 20%; left: 48%; width: 60px; height: 130px;
  background: linear-gradient(180deg, #2a1a14 0%, #1a0e0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: s1-figure-bend 8s ease-in-out infinite alternate;
  box-shadow: -10px 0 15px rgba(0,0,0,0.5);
}
.scn-curiosity-oedipus-alas .hand-clench {
  position: absolute; bottom: 35%; left: 42%; width: 12px; height: 18px;
  background: #2a1a14;
  border-radius: 40% 40% 30% 30%;
  animation: s1-hand-clench 2s ease-in-out infinite alternate;
}
.scn-curiosity-oedipus-alas .scroll {
  position: absolute; bottom: 28%; left: 30%; width: 40px; height: 14px;
  background: linear-gradient(180deg, #4a3520 0%, #2a1a0e 100%);
  border-radius: 20px / 10px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.6);
  transform: rotate(-10deg);
  animation: s1-scroll-shake 6s ease-in-out infinite;
}
.scn-curiosity-oedipus-alas .shadow {
  position: absolute; bottom: 15%; left: 20%; width: 120px; height: 80px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%);
  border-radius: 50%;
  animation: s1-shadow-fade 10s ease-in-out infinite alternate;
}
@keyframes s1-wall { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes s1-lamp-pulse { 0% { opacity: 0.7; transform: scale(0.95); } 50% { opacity: 1; transform: scale(1.05); } 100% { opacity: 0.8; transform: scale(0.98); } }
@keyframes s1-stand-sway { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-1deg); } }
@keyframes s1-figure-bend { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-5px) rotate(3deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes s1-hand-clench { 0% { transform: scaleX(1) scaleY(1); } 100% { transform: scaleX(1.2) scaleY(0.8); } }
@keyframes s1-scroll-shake { 0% { transform: rotate(-10deg) translateX(0); } 50% { transform: rotate(-8deg) translateX(2px); } 100% { transform: rotate(-12deg) translateX(-1px); } }
@keyframes s1-shadow-fade { 0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.5; } }

/* curiosity-holy-oblivion – calm, dim interior (moonlight) */
.scn-curiosity-holy-oblivion {
  background: 
    linear-gradient(180deg, #1c1f2e 0%, #2a2f40 50%, #1a1d28 100%),
    radial-gradient(ellipse at 50% 100%, #2f354a 0%, transparent 70%);
}
.scn-curiosity-holy-oblivion .wall {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #1a1d2a 0%, #242838 100%);
}
.scn-curiosity-holy-oblivion .window {
  position: absolute; top: 10%; left: 35%; width: 80px; height: 100px;
  background: linear-gradient(180deg, #2a3345 0%, #191f2b 100%);
  border-radius: 10px 10px 20px 20px;
  box-shadow: inset 0 0 20px rgba(100,140,200,0.1);
  overflow: hidden;
}
.scn-curiosity-holy-oblivion .moonlight {
  position: absolute; top: 10%; left: 35%; width: 80px; height: 100px;
  background: linear-gradient(135deg, rgba(180,200,230,0.15) 0%, transparent 60%);
  box-shadow: 0 0 40px 10px rgba(180,200,230,0.1);
  animation: s2-moon-drift 12s ease-in-out infinite alternate;
}
.scn-curiosity-holy-oblivion .figure {
  position: absolute; bottom: 18%; left: 40%; width: 70px; height: 140px;
  background: linear-gradient(180deg, #2a2f3a 0%, #1a1e26 100%);
  border-radius: 50% 50% 45% 45% / 60% 60% 45% 45%;
  transform-origin: bottom center;
  animation: s2-figure-breathe 6s ease-in-out infinite;
  box-shadow: -5px 5px 20px rgba(0,0,0,0.4);
}
.scn-curiosity-holy-oblivion .bed {
  position: absolute; bottom: 5%; left: 20%; width: 140px; height: 60px;
  background: linear-gradient(180deg, #2f3345 0%, #1a1e2a 100%);
  border-radius: 20px 20px 10px 10px;
  box-shadow: inset 0 5px 15px rgba(0,0,0,0.6);
}
.scn-curiosity-holy-oblivion .curtain {
  position: absolute; top: 8%; height: 40%; width: 25px;
  background: linear-gradient(180deg, #2a2e3c 0%, #1a1e2a 100%);
  border-radius: 0 30% 30% 0 / 0 50% 50% 0;
}
.scn-curiosity-holy-oblivion .curtain-l {
  left: 30%;
  animation: s2-curtain-sway 8s ease-in-out infinite;
}
.scn-curiosity-holy-oblivion .curtain-r {
  right: 30%;
  animation: s2-curtain-sway 8s ease-in-out infinite reverse;
  animation-delay: -4s;
}
.scn-curiosity-holy-oblivion .candle {
  position: absolute; bottom: 30%; left: 55%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #d8b080 0%, #8a5a30 100%);
  border-radius: 2px 2px 4px 4px;
  box-shadow: 0 0 15px 5px rgba(220,180,100,0.2);
  animation: s2-candle-flicker 2s ease-in-out infinite alternate;
}
.scn-curiosity-holy-oblivion .wax-drip {
  position: absolute; bottom: 30%; left: 55%; width: 12px; height: 6px;
  background: #b87a4a;
  border-radius: 0 0 4px 4px;
  transform: translateY(18px);
  animation: s2-wax-drop 4s ease-in-out infinite;
}
@keyframes s2-moon-drift { 0% { opacity: 0.2; transform: translateX(0); } 50% { opacity: 0.5; transform: translateX(5px); } 100% { opacity: 0.3; transform: translateX(-3px); } }
@keyframes s2-figure-breathe { 0% { transform: scaleY(1) translateY(0); } 50% { transform: scaleY(1.02) translateY(-2px); } 100% { transform: scaleY(1) translateY(0); } }
@keyframes s2-curtain-sway { 0% { transform: rotate(0deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(0deg); } }
@keyframes s2-candle-flicker { 0% { opacity: 0.8; box-shadow: 0 0 10px 3px rgba(220,180,100,0.2); } 50% { opacity: 1; box-shadow: 0 0 20px 8px rgba(220,180,100,0.4); } 100% { opacity: 0.9; box-shadow: 0 0 12px 4px rgba(220,180,100,0.25); } }
@keyframes s2-wax-drop { 0% { transform: translateY(18px) scaleY(1); opacity: 0; } 20% { opacity: 1; } 80% { opacity: 1; } 100% { transform: translateY(22px) scaleY(0.5); opacity: 0; } }

/* curiosity-letter-seal – calm, dim interior (candle) */
.scn-curiosity-letter-seal {
  background: 
    linear-gradient(180deg, #1e1a12 0%, #2c2218 50%, #1a140e 100%),
    radial-gradient(ellipse at 60% 50%, #3a2a1a 0%, transparent 60%);
}
.scn-curiosity-letter-seal .wall {
  position: absolute; inset: 0 0 60% 0;
  background: linear-gradient(180deg, #1e1812 0%, #2a2018 100%);
  animation: s3-wall-pulse 18s ease-in-out infinite alternate;
}
.scn-curiosity-letter-seal .desk {
  position: absolute; bottom: 10%; left: 15%; width: 70%; height: 50%;
  background: linear-gradient(180deg, #3a2a1e 0%, #1f140e 100%);
  border-radius: 20% 20% 0 0 / 30% 30% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.7);
}
.scn-curiosity-letter-seal .candle-glow {
  position: absolute; bottom: 40%; left: 20%; width: 40px; height: 40px;
  background: radial-gradient(circle, #d09050 0%, #7a3a1a 50%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 30px 8px #b07030, 0 0 60px 15px rgba(176,112,48,0.3);
  animation: s3-candle-pulse 3s ease-in-out infinite alternate;
}
.scn-curiosity-letter-seal .candle-stick {
  position: absolute; bottom: 40%; left: 21%; width: 8px; height: 30px;
  background: linear-gradient(180deg, #c08040 0%, #5a2a10 100%);
  border-radius: 3px;
  animation: s3-candle-sway 5s ease-in-out infinite;
}
.scn-curiosity-letter-seal .letter {
  position: absolute; bottom: 30%; left: 40%; width: 60px; height: 80px;
  background: linear-gradient(135deg, #4a3a28 0%, #2a1e12 100%);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
  transform: rotate(5deg);
  animation: s3-letter-tilt 7s ease-in-out infinite alternate;
}
.scn-curiosity-letter-seal .seal {
  position: absolute; bottom: 32%; left: 42%; width: 16px; height: 16px;
  background: radial-gradient(circle, #6a2a1a 0%, #3a1008 100%);
  border-radius: 50%;
  box-shadow: 0 0 6px 2px rgba(120,40,20,0.4);
  animation: s3-seal-glow 4s ease-in-out infinite alternate;
}
.scn-curiosity-letter-seal .hand {
  position: absolute; bottom: 25%; left: 38%; width: 14px; height: 20px;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%;
  transform: rotate(15deg);
  animation: s3-hand-reach 6s ease-in-out infinite alternate;
}
.scn-curiosity-letter-seal .shadow-hand {
  position: absolute; bottom: 24%; left: 36%; width: 30px; height: 20px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.3) 0%, transparent 70%);
  border-radius: 50%;
  animation: s3-shadow-move 6s ease-in-out infinite alternate;
}
@keyframes s3-wall-pulse { 0% { opacity: 0.85; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes s3-candle-pulse { 0% { opacity: 0.7; transform: scale(0.95); } 50% { opacity: 1; transform: scale(1.05); } 100% { opacity: 0.8; transform: scale(0.98); } }
@keyframes s3-candle-sway { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-1deg); } }
@keyframes s3-letter-tilt { 0% { transform: rotate(4deg); } 50% { transform: rotate(6deg); } 100% { transform: rotate(3deg); } }
@keyframes s3-seal-glow { 0% { box-shadow: 0 0 4px 1px rgba(120,40,20,0.3); } 50% { box-shadow: 0 0 10px 4px rgba(140,60,30,0.5); } 100% { box-shadow: 0 0 5px 2px rgba(120,40,20,0.3); } }
@keyframes s3-hand-reach { 0% { transform: rotate(15deg) translateX(0); } 50% { transform: rotate(10deg) translateX(5px); } 100% { transform: rotate(18deg) translateX(-2px); } }
@keyframes s3-shadow-move { 0% { transform: translateX(0); } 50% { transform: translateX(8px); } 100% { transform: translateX(-2px); } }

/* curiosity-rusticus-letter – calm, bright interior (sunlight) */
.scn-curiosity-rusticus-letter {
  background: 
    linear-gradient(180deg, #d4c8b8 0%, #b8a88c 40%, #a08a70 100%),
    radial-gradient(ellipse at 30% 20%, #e0d4c0 0%, transparent 70%);
}
.scn-curiosity-rusticus-letter .wall {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #c8b8a0 0%, #b0a080 100%);
  box-shadow: inset 0 0 30px rgba(160,120,80,0.2);
}
.scn-curiosity-rusticus-letter .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(0deg, #8a7050 0%, #a08868 100%);
  border-radius: 10% 90% 0 0 / 20% 60% 0 0;
}
.scn-curiosity-rusticus-letter .podium {
  position: absolute; bottom: 25%; left: 20%; width: 70px; height: 100px;
  background: linear-gradient(180deg, #9a8060 0%, #7a6040 100%);
  border-radius: 10px 10px 5px 5px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
  animation: s4-podium-still 12s ease-in-out infinite alternate;
}
.scn-curiosity-rusticus-letter .figure-rusticus {
  position: absolute; bottom: 25%; left: 18%; width: 50px; height: 130px;
  background: linear-gradient(180deg, #6a5040 0%, #4a3020 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: s4-orator-gesture 8s ease-in-out infinite alternate;
  box-shadow: -5px 0 10px rgba(0,0,0,0.2);
}
.scn-curiosity-rusticus-letter .soldier {
  position: absolute; bottom: 25%; right: 20%; width: 45px; height: 125px;
  background: linear-gradient(180deg, #5a4040 0%, #3a2020 100%);
  border-radius: 50% 50% 45% 45% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: s4-soldier-enter 10s ease-in-out infinite alternate;
  box-shadow: 5px 0 10px rgba(0,0,0,0.2);
}
.scn-curiosity-rusticus-letter .letter-emperor {
  position: absolute; bottom: 30%; right: 22%; width: 20px; height: 30px;
  background: linear-gradient(135deg, #c8a050 0%, #8a6020 100%);
  border-radius: 2px;
  transform: rotate(10deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: s4-letter-tremor 4s ease-in-out infinite alternate;
}
.scn-curiosity-rusticus-letter .glow-torch {
  position: absolute; top: 15%; left: 10%; width: 30px; height: 30px;
  background: radial-gradient(circle, #f0c860 0%, #b08020 40%, transparent 65%);
  border-radius: 50%;
  box-shadow: 0 0 40px 15px rgba(200,160,60,0.3);
  animation: s4-torch-flicker 3s ease-in-out infinite alternate;
}
.scn-curiosity-rusticus-letter .shadow-column {
  position: absolute; bottom: 20%; left: 10%; width: 40px; height: 120px;
  background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.05) 100%);
  border-radius: 20px;
  animation: s4-shadow-sway 15s ease-in-out infinite alternate;
}
@keyframes s4-podium-still { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes s4-orator-gesture { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(10px) rotate(5deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes s4-soldier-enter { 0% { transform: translateX(0) scaleX(1); } 50% { transform: translateX(-5px) scaleX(1.02); } 100% { transform: translateX(0) scaleX(0.98); } }
@keyframes s4-letter-tremor { 0% { transform: rotate(10deg) translateX(0); } 50% { transform: rotate(8deg) translateX(2px); } 100% { transform: rotate(12deg) translateX(-1px); } }
@keyframes s4-torch-flicker { 0% { opacity: 0.7; transform: scale(0.95); } 50% { opacity: 1; transform: scale(1.05); } 100% { opacity: 0.8; transform: scale(0.98); } }
@keyframes s4-shadow-sway { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-1deg); } }

.scn-ancestors-medicine {
  background: linear-gradient(180deg, #f5e6d0 0%, #dcc8b0 40%, #b8a088 100%), radial-gradient(ellipse at 30% 20%, #fff8ee 0%, transparent 60%);
}
.scn-ancestors-medicine .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #e8d8c0 0%, #c8b49c 100%);
}
.scn-ancestors-medicine .window {
  position: absolute; top: 8%; left: 30%; width: 120px; height: 140px;
  background: linear-gradient(135deg, #b0d4f0 0%, #8ab4d8 100%);
  border-radius: 10% 10% 4% 4%; box-shadow: inset 0 0 30px #c0dff0;
  animation: am-window 6s ease-in-out infinite alternate;
}
.scn-ancestors-medicine .light-ray {
  position: absolute; top: 12%; left: 35%; width: 80px; height: 200px;
  background: linear-gradient(90deg, rgba(255,240,200,0.4) 0%, transparent 100%);
  transform: skewX(-10deg); filter: blur(12px);
  animation: am-light 8s ease-in-out infinite alternate;
}
.scn-ancestors-medicine .healer {
  position: absolute; bottom: 30%; left: 40%; width: 36px; height: 80px;
  background: linear-gradient(180deg, #a08060 0%, #705040 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: am-figure 4s ease-in-out infinite alternate;
}
.scn-ancestors-medicine .patient {
  position: absolute; bottom: 28%; left: 55%; width: 32px; height: 76px;
  background: linear-gradient(180deg, #c8b098 0%, #8a7350 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: am-figure 4s ease-in-out infinite alternate;
  animation-delay: -2s;
}
.scn-ancestors-medicine .scroll {
  position: absolute; bottom: 34%; left: 48%; width: 24px; height: 10px;
  background: linear-gradient(180deg, #d4b88a 0%, #b8945c 100%);
  border-radius: 10% 10% 50% 50%; transform: rotate(-15deg);
  animation: am-scroll 5s ease-in-out infinite;
}
.scn-ancestors-medicine .pot {
  position: absolute; bottom: 32%; left: 62%; width: 14px; height: 18px;
  background: linear-gradient(180deg, #8a6a4a 0%, #5a3a2a 100%);
  border-radius: 30% 30% 20% 20%; box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: am-pot 7s ease-in-out infinite alternate;
}
@keyframes am-window {
  0% { box-shadow: inset 0 0 20px #b0d4f0; opacity: 0.8; }
  50% { box-shadow: inset 0 0 40px #c8e4ff; opacity: 1; }
  100% { box-shadow: inset 0 0 20px #b0d4f0; opacity: 0.85; }
}
@keyframes am-light {
  0% { transform: skewX(-8deg) translateX(-5px); opacity: 0.5; }
  50% { transform: skewX(-12deg) translateX(5px); opacity: 0.8; }
  100% { transform: skewX(-8deg) translateX(0); opacity: 0.6; }
}
@keyframes am-figure {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes am-scroll {
  0%,100% { transform: rotate(-15deg) translateY(0); }
  50% { transform: rotate(-15deg) translateY(-3px); }
}
@keyframes am-pot {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}

.scn-expose-diseases {
  background: linear-gradient(180deg, #f8e8c8 0%, #e0c090 40%, #c09870 100%), radial-gradient(ellipse at 60% 30%, #fdf0d0 0%, transparent 50%);
}
.scn-expose-diseases .chamber {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #f0d8a8 0%, #c8a880 100%);
}
.scn-expose-diseases .window {
  position: absolute; top: 6%; left: 20%; width: 100px; height: 130px;
  background: linear-gradient(180deg, #ffe8b0 0%, #d0b080 100%);
  border-radius: 10% 10% 4% 4%; box-shadow: inset 0 0 30px #ffe090;
  animation: ed-window 5s ease-in-out infinite alternate;
}
.scn-expose-diseases .sun-glow {
  position: absolute; top: 8%; left: 25%; width: 100px; height: 100px;
  background: radial-gradient(circle, rgba(255,220,150,0.5) 0%, transparent 70%);
  filter: blur(20px);
  animation: ed-glow 7s ease-in-out infinite alternate;
}
.scn-expose-diseases .speaker {
  position: absolute; bottom: 28%; left: 35%; width: 40px; height: 90px;
  background: linear-gradient(180deg, #705040 0%, #4a3020 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ed-speaker 4s ease-in-out infinite;
}
.scn-expose-diseases .shadow-figure {
  position: absolute; bottom: 25%; left: 55%; width: 35px; height: 85px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  opacity: 0.7; filter: blur(3px);
  animation: ed-shadow 6s ease-in-out infinite alternate;
}
.scn-expose-diseases .mirror {
  position: absolute; bottom: 30%; left: 48%; width: 30px; height: 50px;
  background: linear-gradient(135deg, #d0b888 0%, #b89858 100%);
  border-radius: 10% 10% 8% 8%; box-shadow: 0 0 20px rgba(255,200,100,0.4);
  animation: ed-mirror 8s ease-in-out infinite alternate;
}
.scn-expose-diseases .flame {
  position: absolute; bottom: 32%; left: 30%; width: 8px; height: 12px;
  background: radial-gradient(circle, #ffee88 0%, #ffbb44 50%, transparent 100%);
  border-radius: 50%; filter: blur(1px);
  animation: ed-flame 2s ease-in-out infinite alternate;
}
@keyframes ed-window {
  0% { box-shadow: inset 0 0 20px #ffe090; }
  50% { box-shadow: inset 0 0 40px #ffe8b0; }
  100% { box-shadow: inset 0 0 20px #ffe090; }
}
@keyframes ed-glow {
  0% { transform: scale(1); opacity: 0.6; }
  50% { transform: scale(1.1); opacity: 0.9; }
  100% { transform: scale(1); opacity: 0.6; }
}
@keyframes ed-speaker {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-1px) rotate(3deg); }
  50% { transform: translateY(0) rotate(-2deg); }
  75% { transform: translateY(-1px) rotate(4deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes ed-shadow {
  0% { transform: translateX(-5px); opacity: 0.5; }
  50% { transform: translateX(5px); opacity: 0.8; }
  100% { transform: translateX(-5px); opacity: 0.5; }
}
@keyframes ed-mirror {
  0% { box-shadow: 0 0 15px rgba(255,200,100,0.3); transform: rotate(-2deg); }
  50% { box-shadow: 0 0 25px rgba(255,200,100,0.6); transform: rotate(2deg); }
  100% { box-shadow: 0 0 15px rgba(255,200,100,0.3); transform: rotate(-2deg); }
}
@keyframes ed-flame {
  0% { transform: scaleY(1) scaleX(1); opacity: 0.8; }
  50% { transform: scaleY(1.3) scaleX(0.8); opacity: 1; }
  100% { transform: scaleY(1) scaleX(1); opacity: 0.8; }
}

.scn-deny-conceal {
  background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 40%, #0a0a1a 100%), radial-gradient(ellipse at 50% 60%, #2a2a3a 0%, transparent 70%);
}
.scn-deny-conceal .room {
  position: absolute; inset: 0 0 10% 0;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
}
.scn-deny-conceal .shadow {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 40% 50%, rgba(0,0,0,0.6) 0%, transparent 60%);
  animation: dc-shadow 8s ease-in-out infinite alternate;
}
.scn-deny-conceal .figure {
  position: absolute; bottom: 22%; left: 50%; transform: translateX(-50%);
  width: 38px; height: 100px;
  background: linear-gradient(180deg, #4a3a2a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: dc-figure 5s ease-in-out infinite;
}
.scn-deny-conceal .cloak {
  position: absolute; bottom: 22%; left: 46%; width: 60px; height: 80px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 60% 10% 40% 40% / 80% 20% 40% 40%;
  transform-origin: bottom left;
  animation: dc-cloak 6s ease-in-out infinite alternate;
}
.scn-deny-conceal .chest {
  position: absolute; bottom: 18%; left: 30%; width: 40px; height: 30px;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%);
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
  animation: dc-chest 10s ease-in-out infinite alternate;
}
.scn-deny-conceal .hand {
  position: absolute; bottom: 28%; left: 44%; width: 12px; height: 20px;
  background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%);
  border-radius: 50% 50% 30% 30%;
  transform: rotate(15deg);
  animation: dc-hand 4s ease-in-out infinite alternate;
}
.scn-deny-conceal .candle {
  position: absolute; bottom: 30%; left: 65%; width: 6px; height: 20px;
  background: linear-gradient(180deg, #d0a070 0%, #805040 100%);
  border-radius: 10% 10% 20% 20%;
  animation: dc-candle 3s ease-in-out infinite alternate;
}
@keyframes dc-shadow {
  0% { opacity: 0.9; }
  50% { opacity: 0.6; }
  100% { opacity: 0.9; }
}
@keyframes dc-figure {
  0% { transform: translateX(-50%) translateY(0) rotate(0deg); }
  25% { transform: translateX(-52%) translateY(-2px) rotate(-3deg); }
  50% { transform: translateX(-48%) translateY(0) rotate(2deg); }
  75% { transform: translateX(-50%) translateY(-1px) rotate(-1deg); }
  100% { transform: translateX(-50%) translateY(0) rotate(0deg); }
}
@keyframes dc-cloak {
  0% { transform: rotate(0deg) scaleX(1); }
  50% { transform: rotate(-5deg) scaleX(1.1); }
  100% { transform: rotate(0deg) scaleX(1); }
}
@keyframes dc-chest {
  0% { transform: translateY(0); box-shadow: 0 4px 8px rgba(0,0,0,0.6); }
  50% { transform: translateY(-2px); box-shadow: 0 6px 12px rgba(0,0,0,0.8); }
  100% { transform: translateY(0); box-shadow: 0 4px 8px rgba(0,0,0,0.6); }
}
@keyframes dc-hand {
  0% { transform: rotate(15deg) translate(0, 0); }
  50% { transform: rotate(20deg) translate(2px, -3px); }
  100% { transform: rotate(15deg) translate(0, 0); }
}
@keyframes dc-candle {
  0% { transform: scaleY(1); opacity: 0.8; }
  50% { transform: scaleY(1.2); opacity: 1; }
  100% { transform: scaleY(1); opacity: 0.8; }
}

.scn-men-of-worth {
  background: linear-gradient(180deg, #f0e4d0 0%, #d0c0a8 40%, #b0a088 100%), radial-gradient(ellipse at 70% 20%, #fff8ee 0%, transparent 60%);
}
.scn-men-of-worth .study-wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #e8dcc8 0%, #c8b8a0 100%);
}
.scn-men-of-worth .window {
  position: absolute; top: 6%; left: 60%; width: 110px; height: 140px;
  background: linear-gradient(180deg, #b0d4f0 0%, #8098b0 100%);
  border-radius: 10% 10% 4% 4%; box-shadow: inset 0 0 30px #c0dff0;
  animation: mw-window 7s ease-in-out infinite alternate;
}
.scn-men-of-worth .morning-light {
  position: absolute; top: 8%; left: 55%; width: 120px; height: 180px;
  background: linear-gradient(90deg, rgba(255,240,200,0.3) 0%, transparent 100%);
  transform: skewX(-15deg); filter: blur(15px);
  animation: mw-light 9s ease-in-out infinite alternate;
}
.scn-men-of-worth .desk {
  position: absolute; bottom: 18%; right: 10%; width: 120px; height: 20px;
  background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%);
  border-radius: 4px;
  animation: mw-desk 10s ease-in-out infinite alternate;
}
.scn-men-of-worth .book {
  position: absolute; bottom: 22%; right: 18%; width: 20px; height: 28px;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 4% 4%;
  animation: mw-book 8s ease-in-out infinite alternate;
}
.scn-men-of-worth .scholar {
  position: absolute; bottom: 24%; right: 35%; width: 36px; height: 80px;
  background: linear-gradient(180deg, #7a5a4a 0%, #4a3020 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mw-scholar 5s ease-in-out infinite;
}
.scn-men-of-worth .scroll {
  position: absolute; bottom: 30%; right: 28%; width: 18px; height: 8px;
  background: linear-gradient(180deg, #d0b888 0%, #b89858 100%);
  border-radius: 10% 10% 50% 50%; transform: rotate(5deg);
  animation: mw-scroll 6s ease-in-out infinite;
}
.scn-men-of-worth .quill {
  position: absolute; bottom: 34%; right: 22%; width: 4px; height: 20px;
  background: linear-gradient(180deg, #c0a070 0%, #705040 100%);
  border-radius: 50% 50% 10% 10%; transform: rotate(-20deg);
  animation: mw-quill 4s ease-in-out infinite alternate;
}
@keyframes mw-window {
  0% { box-shadow: inset 0 0 20px #b0d4f0; }
  50% { box-shadow: inset 0 0 40px #c8e4ff; }
  100% { box-shadow: inset 0 0 20px #b0d4f0; }
}
@keyframes mw-light {
  0% { transform: skewX(-15deg) translateX(0); opacity: 0.5; }
  50% { transform: skewX(-15deg) translateX(10px); opacity: 0.8; }
  100% { transform: skewX(-15deg) translateX(0); opacity: 0.5; }
}
@keyframes mw-desk {
  0% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
  100% { transform: translateY(0); }
}
@keyframes mw-book {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes mw-scholar {
  0% { transform: translateY(0) rotate(-1deg); }
  25% { transform: translateY(-2px) rotate(2deg); }
  50% { transform: translateY(0) rotate(-1deg); }
  75% { transform: translateY(-1px) rotate(3deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes mw-scroll {
  0%,100% { transform: rotate(5deg) translateY(0); }
  50% { transform: rotate(5deg) translateY(-3px); }
}
@keyframes mw-quill {
  0% { transform: rotate(-20deg) translate(0,0); }
  50% { transform: rotate(-25deg) translate(2px,-2px); }
  100% { transform: rotate(-20deg) translate(0,0); }
}

/* Scene: curiosity-neglect-sights – tense interior eavesdropping */
.scn-curiosity-neglect-sights {
  background:
    linear-gradient(180deg, #1c1620 0%, #2d2128 40%, #3a2a2a 70%, #1f1618 100%),
    radial-gradient(ellipse at 60% 70%, #4a3030 0%, transparent 60%);
}
.scn-curiosity-neglect-sights .wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #2d2128 0%, #1f1618 100%);
  animation: cs1-wall 8s ease-in-out infinite alternate;
}
.scn-curiosity-neglect-sights .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #2a1e1e 0%, #140e0e 100%);
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.6);
}
.scn-curiosity-neglect-sights .desk {
  position: absolute; bottom: 30%; left: 10%; width: 50%; height: 8%;
  background: linear-gradient(180deg, #4a3525 0%, #2d1f15 100%);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.5);
  animation: cs1-desk 12s ease-in-out infinite;
}
.scn-curiosity-neglect-sights .letter {
  position: absolute; bottom: 36%; left: 18%; width: 12%; height: 6%;
  background: linear-gradient(135deg, #d4c4a8 0%, #b8a48a 100%);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  transform: rotate(-5deg);
  animation: cs1-letter 4s ease-in-out infinite alternate;
}
.scn-curiosity-neglect-sights .candle {
  position: absolute; bottom: 34%; left: 30%; width: 3%; height: 12%;
  background: linear-gradient(180deg, #f0e0c0 0%, #b8a080 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 10px rgba(200,150,80,0.3);
}
.scn-curiosity-neglect-sights .flame {
  position: absolute; bottom: 44%; left: 31%; width: 2%; height: 4%;
  background: radial-gradient(circle, #ffd080 0%, #e08030 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 8px rgba(255,180,80,0.4), 0 0 40px 16px rgba(255,140,40,0.2);
  animation: cs1-flame 0.8s ease-in-out infinite alternate;
}
.scn-curiosity-neglect-sights .figure {
  position: absolute; bottom: 30%; right: 12%; width: 12%; height: 24%;
  background: linear-gradient(180deg, #2a1e1e 0%, #140e0e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cs1-figure 6s ease-in-out infinite;
}
.scn-curiosity-neglect-sights .shadow-hand {
  position: absolute; bottom: 33%; right: 24%; width: 8%; height: 6%;
  background: #140e0e;
  border-radius: 30% 30% 10% 10%;
  transform: rotate(-20deg);
  animation: cs1-hand 3s ease-in-out infinite alternate;
}
@keyframes cs1-wall { 0% { opacity: 0.85 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes cs1-desk { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes cs1-letter { 0% { transform: rotate(-5deg) translateX(0) } 50% { transform: rotate(-3deg) translateX(2px) } 100% { transform: rotate(-7deg) translateX(-1px) } }
@keyframes cs1-flame { 0% { transform: scaleY(1) translateY(0); opacity: 0.9 } 50% { transform: scaleY(1.2) translateY(-2px); opacity: 1 } 100% { transform: scaleY(0.9) translateY(1px); opacity: 0.8 } }
@keyframes cs1-figure { 0% { transform: translateX(0) rotate(-2deg) } 25% { transform: translateX(-3px) rotate(1deg) } 50% { transform: translateX(-6px) rotate(-1deg) } 75% { transform: translateX(-3px) rotate(2deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes cs1-hand { 0% { transform: rotate(-20deg) translateX(0) } 100% { transform: rotate(-15deg) translateX(4px) } }

/* Scene: curiosity-simonides-chests – calm chest opening */
.scn-curiosity-simonides-chests {
  background:
    linear-gradient(180deg, #1e1a16 0%, #2a2420 40%, #36302a 70%, #1a1612 100%),
    radial-gradient(ellipse at 50% 70%, #4a4038 0%, transparent 70%);
}
.scn-curiosity-simonides-chests .bg-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a2420 0%, #1a1612 100%);
  animation: cs2-wall 12s ease-in-out infinite alternate;
}
.scn-curiosity-simonides-chests .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #221e1a 0%, #120e0a 100%);
}
.scn-curiosity-simonides-chests .chest-left {
  position: absolute; bottom: 20%; left: 15%; width: 25%; height: 20%;
  background: linear-gradient(180deg, #6a5040 0%, #4a3525 100%);
  border-radius: 6% 6% 4% 4%;
  box-shadow: 0 6px 20px rgba(0,0,0,0.6);
  animation: cs2-chest-l 16s ease-in-out infinite;
}
.scn-curiosity-simonides-chests .chest-right {
  position: absolute; bottom: 20%; right: 15%; width: 25%; height: 20%;
  background: linear-gradient(180deg, #6a5040 0%, #4a3525 100%);
  border-radius: 6% 6% 4% 4%;
  box-shadow: 0 6px 20px rgba(0,0,0,0.6);
  animation: cs2-chest-r 16s ease-in-out infinite reverse;
}
.scn-curiosity-simonides-chests .lid-left {
  position: absolute; bottom: 38%; left: 15%; width: 25%; height: 6%;
  background: linear-gradient(180deg, #7a6050 0%, #5a4535 100%);
  border-radius: 10% 10% 4% 4%;
  transform-origin: left bottom;
  animation: cs2-lid-l 10s ease-in-out infinite;
}
.scn-curiosity-simonides-chests .lid-right {
  position: absolute; bottom: 38%; right: 15%; width: 25%; height: 6%;
  background: linear-gradient(180deg, #7a6050 0%, #5a4535 100%);
  border-radius: 10% 10% 4% 4%;
  transform-origin: right bottom;
  animation: cs2-lid-r 10s ease-in-out infinite reverse;
}
.scn-curiosity-simonides-chests .figure {
  position: absolute; bottom: 20%; left: 50%; width: 14%; height: 28%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: cs2-figure 8s ease-in-out infinite;
}
.scn-curiosity-simonides-chests .glow {
  position: absolute; bottom: 35%; left: 50%; width: 30%; height: 20%;
  transform: translateX(-50%);
  background: radial-gradient(circle, rgba(200,180,120,0.15) 0%, transparent 70%);
  border-radius: 50%;
  animation: cs2-glow 5s ease-in-out infinite alternate;
}
@keyframes cs2-wall { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes cs2-chest-l { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-3px) } }
@keyframes cs2-chest-r { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes cs2-lid-l { 0% { transform: rotate(0deg) translateY(0) } 30% { transform: rotate(25deg) translateY(-6px) } 60% { transform: rotate(-5deg) translateY(2px) } 100% { transform: rotate(0deg) translateY(0) } }
@keyframes cs2-lid-r { 0% { transform: rotate(0deg) translateY(0) } 30% { transform: rotate(-25deg) translateY(-6px) } 60% { transform: rotate(5deg) translateY(2px) } 100% { transform: rotate(0deg) translateY(0) } }
@keyframes cs2-figure { 0% { transform: translateX(-50%) rotate(0deg) } 25% { transform: translateX(-50%) translateY(-2px) rotate(1deg) } 50% { transform: translateX(-50%) rotate(-1deg) } 75% { transform: translateX(-50%) translateY(1px) rotate(0deg) } 100% { transform: translateX(-50%) rotate(1deg) } }
@keyframes cs2-glow { 0% { opacity: 0.4; transform: translateX(-50%) scale(0.95) } 50% { opacity: 0.8; transform: translateX(-50%) scale(1.05) } 100% { opacity: 0.5; transform: translateX(-50%) scale(1) } }

/* Scene: curiosity-stores-disgust – tense disgust at junk pile */
.scn-curiosity-stores-disgust {
  background:
    linear-gradient(180deg, #1a1410 0%, #2a1e1a 40%, #3a2a22 70%, #1f1612 100%),
    radial-gradient(ellipse at 50% 80%, #4a3030 0%, transparent 60%);
}
.scn-curiosity-stores-disgust .room-bg {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #2a1e1a 0%, #1a1410 100%);
  animation: cs3-room 20s ease-in-out infinite alternate;
}
.scn-curiosity-stores-disgust .pile-base {
  position: absolute; bottom: 10%; left: 10%; right: 10%; height: 50%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1e160e 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.5);
  animation: cs3-pile 15s ease-in-out infinite;
}
.scn-curiosity-stores-disgust .junk-1 {
  position: absolute; bottom: 35%; left: 15%; width: 12%; height: 18%;
  background: linear-gradient(135deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 10% 40% 20% 10% / 30% 50% 30% 10%;
  transform: rotate(15deg);
  animation: cs3-junk1 6s ease-in-out infinite alternate;
}
.scn-curiosity-stores-disgust .junk-2 {
  position: absolute; bottom: 40%; left: 35%; width: 10%; height: 14%;
  background: linear-gradient(135deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 40% 10% 10% 40% / 50% 20% 20% 50%;
  transform: rotate(-20deg);
  animation: cs3-junk2 8s ease-in-out infinite alternate;
}
.scn-curiosity-stores-disgust .junk-3 {
  position: absolute; bottom: 28%; right: 20%; width: 15%; height: 20%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 30% 10% 10% 30% / 20% 40% 40% 20%;
  transform: rotate(-10deg);
  animation: cs3-junk3 7s ease-in-out infinite alternate;
}
.scn-curiosity-stores-disgust .figure {
  position: absolute; bottom: 12%; left: 50%; width: 16%; height: 32%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #1a120a 0%, #0a0602 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: cs3-figure 5s ease-in-out infinite;
}
.scn-curiosity-stores-disgust .hand {
  position: absolute; bottom: 20%; left: 44%; width: 8%; height: 4%;
  background: #0a0602;
  border-radius: 20% 40% 20% 40% / 50% 30% 50% 30%;
  transform: rotate(-40deg);
  animation: cs3-hand 3s ease-in-out infinite alternate;
}
.scn-curiosity-stores-disgust .dust-cloud {
  position: absolute; top: 25%; left: 30%; width: 40%; height: 20%;
  background: rgba(160,140,120,0.08);
  border-radius: 50%;
  filter: blur(30px);
  animation: cs3-dust 30s linear infinite;
}
@keyframes cs3-room { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes cs3-pile { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(2px) } }
@keyframes cs3-junk1 { 0% { transform: rotate(15deg) translateX(0) translateY(0) } 50% { transform: rotate(10deg) translateX(3px) translateY(-2px) } 100% { transform: rotate(20deg) translateX(-2px) translateY(1px) } }
@keyframes cs3-junk2 { 0% { transform: rotate(-20deg) translateX(0) translateY(0) } 50% { transform: rotate(-15deg) translateX(-2px) translateY(3px) } 100% { transform: rotate(-25deg) translateX(1px) translateY(-1px) } }
@keyframes cs3-junk3 { 0% { transform: rotate(-10deg) translateX(0) } 50% { transform: rotate(-5deg) translateX(4px) translateY(-2px) } 100% { transform: rotate(-15deg) translateX(-2px) } }
@keyframes cs3-figure { 0% { transform: translateX(-50%) rotate(-1deg) } 25% { transform: translateX(-50%) translateY(-3px) rotate(1deg) } 50% { transform: translateX(-50%) rotate(-2deg) } 75% { transform: translateX(-50%) translateY(1px) rotate(0deg) } 100% { transform: translateX(-50%) rotate(1deg) } }
@keyframes cs3-hand { 0% { transform: rotate(-40deg) translateX(0) } 100% { transform: rotate(-30deg) translateX(6px) } }
@keyframes cs3-dust { 0% { transform: translateX(-20px) translateY(0) } 50% { transform: translateX(10px) translateY(-5px) } 100% { transform: translateX(-20px) translateY(0) } }

/* Scene: curiosity-curse-tragedian – tense piling of misdoings (vertical shaft) */
.scn-curiosity-curse-tragedian {
  background:
    linear-gradient(180deg, #1a1210 0%, #2a1e1a 40%, #3a2a22 70%, #1f1612 100%),
    radial-gradient(ellipse at 50% 30%, #4a3030 0%, transparent 60%);
}
.scn-curiosity-curse-tragedian .bg-deep {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1a1210 0%, #120c0a 100%);
  animation: cs4-bg 25s ease-in-out infinite alternate;
}
.scn-curiosity-curse-tragedian .scroll-pile {
  position: absolute; bottom: 10%; left: 30%; right: 30%; height: 70%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 20% 20% 0 0 / 10% 10% 0 0;
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.7);
  animation: cs4-pile 18s ease-in-out infinite;
}
.scn-curiosity-curse-tragedian .scroll-1 {
  position: absolute; bottom: 50%; left: 25%; width: 8%; height: 12%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  transform: rotate(20deg);
  animation: cs4-s1 6s ease-in-out infinite alternate;
}
.scn-curiosity-curse-tragedian .scroll-2 {
  position: absolute; bottom: 40%; right: 25%; width: 10%; height: 14%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  transform: rotate(-15deg);
  animation: cs4-s2 8s ease-in-out infinite alternate;
}
.scn-curiosity-curse-tragedian .scroll-3 {
  position: absolute; bottom: 25%; left: 50%; width: 12%; height: 16%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  animation: cs4-s3 7s ease-in-out infinite alternate;
}
.scn-curiosity-curse-tragedian .figure {
  position: absolute; bottom: 5%; left: 50%; width: 18%; height: 30%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #1a120a 0%, #0a0602 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: cs4-figure 4s ease-in-out infinite;
}
.scn-curiosity-curse-tragedian .arm {
  position: absolute; bottom: 12%; left: 44%; width: 10%; height: 4%;
  background: #0a0602;
  border-radius: 30% 50% 20% 40% / 40% 30% 40% 30%;
  transform: rotate(15deg);
  animation: cs4-arm 2s ease-in-out infinite alternate;
}
.scn-curiosity-curse-tragedian .glow-edge {
  position: absolute; bottom: 0; left: 10%; right: 10%; height: 10%;
  background: linear-gradient(0deg, rgba(180,120,60,0.2) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(6px);
  animation: cs4-glow 5s ease-in-out infinite alternate;
}
@keyframes cs4-bg { 0% { opacity: 0.85 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes cs4-pile { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-4px) scaleY(1.02) } 100% { transform: translateY(2px) scaleY(0.98) } }
@keyframes cs4-s1 { 0% { transform: rotate(20deg) translateX(0) } 50% { transform: rotate(15deg) translateX(3px) } 100% { transform: rotate(25deg) translateX(-2px) } }
@keyframes cs4-s2 { 0% { transform: rotate(-15deg) translateX(0) } 50% { transform: rotate(-10deg) translateX(-3px) } 100% { transform: rotate(-20deg) translateX(2px) } }
@keyframes cs4-s3 { 0% { transform: translateX(-50%) rotate(0deg) } 50% { transform: translateX(-50%) rotate(3deg) } 100% { transform: translateX(-50%) rotate(-2deg) } }
@keyframes cs4-figure { 0% { transform: translateX(-50%) rotate(-1deg) } 25% { transform: translateX(-50%) translateY(-2px) rotate(1deg) } 50% { transform: translateX(-50%) rotate(-2deg) } 75% { transform: translateX(-50%) translateY(1px) rotate(0deg) } 100% { transform: translateX(-50%) rotate(1deg) } }
@keyframes cs4-arm { 0% { transform: rotate(15deg) translateX(0) } 100% { transform: rotate(25deg) translateX(5px) } }
@keyframes cs4-glow { 0% { opacity: 0.3; transform: scaleY(1) } 50% { opacity: 0.6; transform: scaleY(1.2) } 100% { opacity: 0.4; transform: scaleY(0.9) } }

.scn-curiosity-cyrus-panthea {
  background:
    linear-gradient(180deg, #1c1814 0%, #2a221c 40%, #3a2e26 100%),
    radial-gradient(ellipse at 30% 50%, #4a3a2e 0%, transparent 70%);
  position: relative;
  overflow: hidden;
}
.scn-curiosity-cyrus-panthea .room-bg {
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, #1c1814 0%, #2a221c 50%, #1c1814 100%);
}
.scn-curiosity-cyrus-panthea .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #3a2e26 0%, #251e18 100%);
  border-radius: 20% 20% 0 0;
}
.scn-curiosity-cyrus-panthea .window {
  position: absolute; top: 15%; left: 58%; width: 60px; height: 90px;
  background: linear-gradient(135deg, #5a4a3a 0%, #3a2e26 100%);
  border: 2px solid #2a221c; border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(80,60,40,.5);
  animation: cy-window 8s ease-in-out infinite alternate;
}
.scn-curiosity-cyrus-panthea .curtain {
  position: absolute; top: 10%; left: 55%; width: 80px; height: 120px;
  background: linear-gradient(180deg, #4a3a2e 0%, #2a221c 100%);
  border-radius: 4px 4px 20px 20px;
  transform-origin: top center;
  animation: cy-curtain 12s ease-in-out infinite;
}
.scn-curiosity-cyrus-panthea .lamp {
  position: absolute; bottom: 32%; right: 20%; width: 20px; height: 30px;
  background: radial-gradient(circle, #cba76a 0%, #8a6a3e 70%);
  border-radius: 50% 50% 30% 30%; box-shadow: 0 0 30px 8px rgba(200,170,100,.4);
  animation: cy-lamp 3s ease-in-out infinite alternate;
}
.scn-curiosity-cyrus-panthea .figure-cyrus {
  position: absolute; bottom: 23%; left: 20%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #2a221c 0%, #1c1814 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cy-figure-turning 6s ease-in-out infinite;
}
.scn-curiosity-cyrus-panthea .figure-panthea {
  position: absolute; bottom: 20%; right: 30%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #4a3a2e 0%, #2a221c 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cy-figure-seated 8s ease-in-out infinite;
}
@keyframes cy-window { 0% { opacity: .7; transform: scaleY(1); } 50% { opacity: .9; transform: scaleY(1.02); } 100% { opacity: .8; transform: scaleY(1); } }
@keyframes cy-curtain { 0% { transform: rotate(0deg) scaleX(1); } 50% { transform: rotate(2deg) scaleX(1.01); } 100% { transform: rotate(-1deg) scaleX(1); } }
@keyframes cy-lamp { 0% { box-shadow: 0 0 20px 4px rgba(200,170,100,.3); } 50% { box-shadow: 0 0 40px 12px rgba(200,170,100,.6); } 100% { box-shadow: 0 0 25px 6px rgba(200,170,100,.4); } }
@keyframes cy-figure-turning { 0% { transform: translateX(0) rotate(-4deg); } 25% { transform: translateX(2px) rotate(-2deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(-2px) rotate(2deg); } 100% { transform: translateX(0) rotate(-4deg); } }
@keyframes cy-figure-seated { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(0.98); } 100% { transform: translateY(0) scaleY(1); } }

.scn-curiosity-alexander-darius-wife {
  background:
    linear-gradient(180deg, #1a1a1a 0%, #2a2420 40%, #3a3028 100%),
    radial-gradient(ellipse at 70% 40%, #4a3a2a 0%, transparent 70%);
  position: relative;
  overflow: hidden;
}
.scn-curiosity-alexander-darius-wife .tent-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #2a2420 0%, #1c1814 100%);
}
.scn-curiosity-alexander-darius-wife .tent-ceiling {
  position: absolute; top: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #3a3028 0%, transparent 100%);
  border-radius: 0 0 40% 40%;
}
.scn-curiosity-alexander-darius-wife .floor-rug {
  position: absolute; bottom: 0; left: 10%; right: 10%; height: 20%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a221c 100%);
  border-radius: 50% 50% 0 0;
}
.scn-curiosity-alexander-darius-wife .figure-alexander {
  position: absolute; bottom: 22%; left: 18%; width: 40px; height: 75px;
  background: linear-gradient(180deg, #3a3028 0%, #1c1814 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: al-figure-standing 8s ease-in-out infinite alternate;
}
.scn-curiosity-alexander-darius-wife .figure-old-mother {
  position: absolute; bottom: 18%; right: 35%; width: 36px; height: 60px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a221c 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: al-figure-seated 10s ease-in-out infinite;
}
.scn-curiosity-alexander-darius-wife .curtain-queen {
  position: absolute; bottom: 18%; right: 10%; width: 80px; height: 100px;
  background: linear-gradient(135deg, #3a3028 0%, #1c1814 100%);
  border-radius: 10% 10% 30% 30%;
  transform-origin: right center;
  animation: al-curtain 15s ease-in-out infinite alternate;
}
.scn-curiosity-alexander-darius-wife .queen-silhouette {
  position: absolute; bottom: 20%; right: 18%; width: 30px; height: 65px;
  background: #0a0806;
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  opacity: 0.6;
  animation: al-queen-breath 6s ease-in-out infinite;
}
.scn-curiosity-alexander-darius-wife .lamp-glow {
  position: absolute; bottom: 30%; left: 50%; width: 16px; height: 24px;
  background: radial-gradient(circle, #d4b87a 0%, #8a6a3e 70%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 30px 10px rgba(200,170,100,.4);
  animation: al-lamp 3s ease-in-out infinite alternate;
}
@keyframes al-figure-standing { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes al-figure-seated { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-1px) scaleY(0.98); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes al-curtain { 0% { transform: scaleX(1) rotate(0deg); } 50% { transform: scaleX(1.02) rotate(1deg); } 100% { transform: scaleX(1) rotate(-1deg); } }
@keyframes al-queen-breath { 0% { transform: scaleY(1); opacity: 0.5; } 50% { transform: scaleY(1.01); opacity: 0.7; } 100% { transform: scaleY(1); opacity: 0.5; } }
@keyframes al-lamp { 0% { box-shadow: 0 0 20px 4px rgba(200,170,100,.3); } 50% { box-shadow: 0 0 40px 12px rgba(200,170,100,.6); } 100% { box-shadow: 0 0 25px 6px rgba(200,170,100,.4); } }

.scn-curiosity-fair-dealing-habit {
  background:
    linear-gradient(180deg, #1e1b17 0%, #2c251e 40%, #1e1b17 100%),
    radial-gradient(ellipse at 50% 60%, #3a2e24 0%, transparent 80%);
  position: relative;
  overflow: hidden;
}
.scn-curiosity-fair-dealing-habit .room-wall {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #2c251e 0%, #1e1b17 100%);
}
.scn-curiosity-fair-dealing-habit .floor-wood {
  position: absolute; bottom: 0; left: 0; right: 0; height: 22%;
  background: linear-gradient(180deg, #3a2e24 0%, #221e18 100%);
  border-radius: 10% 10% 0 0;
}
.scn-curiosity-fair-dealing-habit .bed {
  position: absolute; bottom: 18%; left: 5%; width: 80px; height: 40px;
  background: linear-gradient(180deg, #4a3a2e 0%, #2c251e 100%);
  border-radius: 8px;
  box-shadow: 0 -4px 8px rgba(0,0,0,.5);
}
.scn-curiosity-fair-dealing-habit .figure-husband {
  position: absolute; bottom: 20%; left: 18%; width: 38px; height: 70px;
  background: linear-gradient(180deg, #2c251e 0%, #1e1b17 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ha-figure-turning 7s ease-in-out infinite;
}
.scn-curiosity-fair-dealing-habit .figure-wife {
  position: absolute; bottom: 18%; right: 20%; width: 38px; height: 68px;
  background: linear-gradient(180deg, #4a3a2e 0%, #2c251e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ha-figure-seated 9s ease-in-out infinite;
}
.scn-curiosity-fair-dealing-habit .lamp-on-table {
  position: absolute; bottom: 28%; left: 50%; width: 18px; height: 26px;
  background: radial-gradient(circle, #cba76a 0%, #8a6a3e 70%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 30px 8px rgba(200,170,100,.4);
  animation: ha-lamp 3s ease-in-out infinite alternate;
}
.scn-curiosity-fair-dealing-habit .screen {
  position: absolute; bottom: 18%; left: 35%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #2c251e 0%, #1e1b17 100%);
  border-radius: 4px;
  transform-origin: bottom center;
  animation: ha-screen 12s ease-in-out infinite alternate;
}
@keyframes ha-figure-turning { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(2px) rotate(3deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(-2px) rotate(-3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes ha-figure-seated { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-1px) scaleY(0.97); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes ha-lamp { 0% { box-shadow: 0 0 20px 4px rgba(200,170,100,.3); } 50% { box-shadow: 0 0 40px 12px rgba(200,170,100,.6); } 100% { box-shadow: 0 0 25px 6px rgba(200,170,100,.4); } }
@keyframes ha-screen { 0% { transform: skewX(0deg); } 50% { transform: skewX(2deg); } 100% { transform: skewX(0deg); } }

.scn-curiosity-oedipus-calamity {
  background:
    linear-gradient(180deg, #0a0806 0%, #140f0c 40%, #0a0806 100%),
    radial-gradient(ellipse at 40% 30%, #2a1a10 0%, transparent 70%);
  position: relative;
  overflow: hidden;
}
.scn-curiosity-oedipus-calamity .dark-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #0a0806 0%, #140f0c 50%, #0a0806 100%);
}
.scn-curiosity-oedipus-calamity .stone-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 24%;
  background: linear-gradient(180deg, #2a1a10 0%, #140f0c 100%);
  border-radius: 10% 10% 0 0;
}
.scn-curiosity-oedipus-calamity .column {
  position: absolute; bottom: 20%; left: 12%; width: 30px; height: 120px;
  background: linear-gradient(180deg, #2a1a10 0%, #1a0e0a 100%);
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0,0,0,.6);
}
.scn-curiosity-oedipus-calamity .ripped-cloth {
  position: absolute; top: 10%; right: 5%; width: 70px; height: 50px;
  background: linear-gradient(135deg, #4a1a1a 0%, #2a0a0a 100%);
  clip-path: polygon(0% 0%, 100% 10%, 90% 90%, 0% 100%);
  filter: blur(2px);
  animation: oe-cloth 10s ease-in-out infinite alternate;
}
.scn-curiosity-oedipus-calamity .candle {
  position: absolute; bottom: 28%; left: 40%; width: 14px; height: 22px;
  background: radial-gradient(circle, #d4b87a 0%, #8a6a3e 70%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 20px 8px rgba(200,170,100,.3);
  animation: oe-candle 2s ease-in-out infinite alternate;
}
.scn-curiosity-oedipus-calamity .figure-oedipus {
  position: absolute; bottom: 20%; left: 35%; width: 42px; height: 85px;
  background: linear-gradient(180deg, #140f0c 0%, #0a0806 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: oe-figure-shake 4s ease-in-out infinite;
}
.scn-curiosity-oedipus-calamity .shadow-on-wall {
  position: absolute; top: 10%; left: 25%; width: 120px; height: 160px;
  background: rgba(10,6,4,.5);
  filter: blur(10px);
  transform-origin: bottom center;
  animation: oe-shadow 6s ease-in-out infinite alternate;
}
.scn-curiosity-oedipus-calamity .blood-drip {
  position: absolute; bottom: 18%; left: 48%; width: 4px; height: 20px;
  background: linear-gradient(180deg, #702b1a 0%, #3a1410 100%);
  border-radius: 50% 50% 50% 50% / 20% 20% 80% 80%;
  opacity: 0.7;
  animation: oe-drip 8s ease-in-out infinite;
}
@keyframes oe-cloth { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-4px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes oe-candle { 0% { box-shadow: 0 0 15px 4px rgba(200,170,100,.2); } 50% { box-shadow: 0 0 30px 10px rgba(200,170,100,.5); } 100% { box-shadow: 0 0 18px 5px rgba(200,170,100,.3); } }
@keyframes oe-figure-shake { 0% { transform: translateX(0) rotate(0deg); } 20% { transform: translateX(-2px) rotate(-2deg); } 40% { transform: translateX(2px) rotate(2deg); } 60% { transform: translateX(-1px) rotate(-1deg); } 80% { transform: translateX(1px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes oe-shadow { 0% { transform: scaleY(1) skewX(0deg); opacity: 0.3; } 50% { transform: scaleY(1.05) skewX(-2deg); opacity: 0.6; } 100% { transform: scaleY(1) skewX(0deg); opacity: 0.3; } }
@keyframes oe-drip { 0% { transform: translateY(0) scaleY(1); opacity: 0.7; } 50% { transform: translateY(10px) scaleY(1.5); opacity: 0.3; } 100% { transform: translateY(0) scaleY(1); opacity: 0.7; } }

/* index-philip — calm dim interior, scholar's study */
.scn-index-philip {
  background: 
    linear-gradient(180deg, #2b1e14 0%, #3a2a1e 40%, #4a3a2e 100%),
    radial-gradient(ellipse at 50% 70%, #5a4a3a 0%, transparent 80%);
}
.scn-index-philip .bg-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #1f140e 0%, #2b1e14 100%); }
.scn-index-philip .bg-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #3a2a1e 0%, #1f140e 100%); box-shadow: inset 0 10px 30px rgba(0,0,0,0.6); }
.scn-index-philip .desk { position:absolute; bottom:22%; left:20%; right:20%; height:12%; background: linear-gradient(180deg, #4a3524 0%, #2a1a0e 100%); border-radius: 4px 4px 8px 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.5); }
.scn-index-philip .lamp { position:absolute; bottom:38%; left:45%; width:14px; height:30px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 20px 6px rgba(200,160,80,0.3); animation: philip-lamp 4s ease-in-out infinite alternate; }
.scn-index-philip .figure { position:absolute; bottom:20%; left:50%; width:30px; height:60px; transform: translateX(-50%) scaleX(-1); background: linear-gradient(180deg, #2a1a0e 0%, #0e0804 100%); border-radius: 40% 40% 50% 50% / 60% 60% 40% 40%; transform-origin: bottom center; animation: philip-figure 6s ease-in-out infinite; }
.scn-index-philip .book { position:absolute; bottom:28%; left:48%; width:40px; height:30px; background: linear-gradient(135deg, #6a5a3a 0%, #4a3a2a 100%); border-radius: 4px; box-shadow: 2px 2px 6px rgba(0,0,0,0.4); transform: rotate(-5deg); animation: philip-book 8s ease-in-out infinite; }
.scn-index-philip .glow { position:absolute; bottom:30%; left:40%; width:80px; height:80px; background: radial-gradient(circle, rgba(200,160,80,0.15) 0%, transparent 70%); pointer-events: none; animation: philip-glow 3s ease-in-out infinite alternate; }
@keyframes philip-lamp {
  0% { transform: translateY(0) scaleY(1); opacity: 0.9; }
  50% { transform: translateY(-1px) scaleY(1.02); opacity: 1; }
  100% { transform: translateY(0) scaleY(1); opacity: 0.95; }
}
@keyframes philip-figure {
  0% { transform: translateX(-50%) scaleX(-1) translateY(0) rotate(-2deg); }
  50% { transform: translateX(-50%) scaleX(-1) translateY(-1px) rotate(1deg); }
  100% { transform: translateX(-50%) scaleX(-1) translateY(0) rotate(-2deg); }
}
@keyframes philip-book {
  0%,100% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-2px); }
}
@keyframes philip-glow {
  0% { opacity: 0.6; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.1); }
  100% { opacity: 0.8; transform: scale(1.05); }
}

/* index-piso — two figures in conversation, dim interior */
.scn-index-piso {
  background: 
    linear-gradient(180deg, #1a181e 0%, #2a242e 40%, #3a343e 100%),
    radial-gradient(ellipse at 50% 60%, #3a343e 0%, transparent 70%);
}
.scn-index-piso .bg-room { position:absolute; inset:0; background: linear-gradient(180deg, #1a181e 0%, #2a242e 60%, #1a181e 100%); }
.scn-index-piso .table { position:absolute; bottom:15%; left:30%; right:30%; height:10%; background: linear-gradient(180deg, #3a2e2a 0%, #1e1614 100%); border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.5); }
.scn-index-piso .figure-left { position:absolute; bottom:18%; left:25%; width:28px; height:70px; background: linear-gradient(180deg, #2a1e18 0%, #0e0a08 100%); border-radius: 40% 40% 50% 50% / 60% 60% 40% 40%; transform-origin: bottom center; animation: piso-fig-left 5s ease-in-out infinite; }
.scn-index-piso .figure-right { position:absolute; bottom:18%; right:25%; width:28px; height:70px; background: linear-gradient(180deg, #2a1e18 0%, #0e0a08 100%); border-radius: 40% 40% 50% 50% / 60% 60% 40% 40%; transform-origin: bottom center; animation: piso-fig-right 5s ease-in-out infinite reverse; }
.scn-index-piso .scroll { position:absolute; bottom:22%; left:50%; width:50px; height:14px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%); border-radius: 4px; transform: translateX(-50%); box-shadow: 0 2px 4px rgba(0,0,0,0.4); animation: piso-scroll 10s ease-in-out infinite; }
.scn-index-piso .candle { position:absolute; bottom:30%; left:50%; width:8px; height:24px; background: linear-gradient(180deg, #8a7a5a 0%, #4a3a2a 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 16px 4px rgba(200,160,80,0.3); margin-left:-4px; }
.scn-index-piso .gleam { position:absolute; bottom:28%; left:45%; width:60px; height:60px; background: radial-gradient(circle, rgba(200,160,80,0.12) 0%, transparent 60%); pointer-events: none; animation: piso-gleam 3s ease-in-out infinite alternate; }
@keyframes piso-fig-left {
  0% { transform: translateY(0) rotate(-3deg); }
  50% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0) rotate(-3deg); }
}
@keyframes piso-fig-right {
  0% { transform: translateY(0) rotate(3deg); }
  50% { transform: translateY(-1px) rotate(-2deg); }
  100% { transform: translateY(0) rotate(3deg); }
}
@keyframes piso-scroll {
  0%,100% { transform: translateX(-50%) rotate(0deg); }
  50% { transform: translateX(-50%) rotate(2deg) translateY(-2px); }
}
@keyframes piso-gleam {
  0% { opacity: 0.5; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.15); }
  100% { opacity: 0.7; transform: scale(1.05); }
}

/* index-plutarch-wife — woman writing by lamplight */
.scn-index-plutarch-wife {
  background: 
    linear-gradient(180deg, #2a1e18 0%, #3a2a22 40%, #4a3a32 100%),
    radial-gradient(ellipse at 60% 50%, #4a3a32 0%, transparent 70%);
}
.scn-index-plutarch-wife .bg-wall { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #1f1410 0%, #2a1e18 100%); }
.scn-index-plutarch-wife .bg-floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #3a2a22 0%, #1a0e0a 100%); box-shadow: inset 0 8px 20px rgba(0,0,0,0.5); }
.scn-index-plutarch-wife .desk { position:absolute; bottom:20%; left:25%; right:25%; height:10%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1e 100%); border-radius: 4px; box-shadow: 0 4px 10px rgba(0,0,0,0.6); }
.scn-index-plutarch-wife .woman { position:absolute; bottom:18%; left:40%; width:26px; height:65px; background: linear-gradient(180deg, #4a3a2e 0%, #1a0e0a 100%); border-radius: 45% 45% 50% 50% / 60% 60% 40% 40%; transform-origin: bottom center; animation: plut-woman 6s ease-in-out infinite; }
.scn-index-plutarch-wife .scroll { position:absolute; bottom:24%; left:50%; width:50px; height:12px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%); border-radius: 3px; transform: translateX(-50%) rotate(-4deg); box-shadow: 0 2px 6px rgba(0,0,0,0.4); animation: plut-scroll 8s ease-in-out infinite; }
.scn-index-plutarch-wife .inkwell { position:absolute; bottom:27%; left:55%; width:12px; height:16px; background: linear-gradient(180deg, #2a1e1a 0%, #0e0a08 100%); border-radius: 50% 50% 30% 30%; box-shadow: 0 2px 4px rgba(0,0,0,0.5); }
.scn-index-plutarch-wife .lamp { position:absolute; bottom:38%; left:30%; width:12px; height:26px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 24px 6px rgba(200,160,80,0.4); animation: plut-lamp 4s ease-in-out infinite alternate; }
.scn-index-plutarch-wife .glow { position:absolute; bottom:25%; left:20%; width:100px; height:100px; background: radial-gradient(circle, rgba(200,160,80,0.12) 0%, transparent 60%); pointer-events: none; animation: plut-glow 3s ease-in-out infinite alternate; }
@keyframes plut-woman {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes plut-scroll {
  0%,100% { transform: translateX(-50%) rotate(-4deg) translateY(0); }
  50% { transform: translateX(-50%) rotate(-2deg) translateY(-2px); }
}
@keyframes plut-lamp {
  0% { transform: translateY(0) scaleY(1); opacity: 0.9; }
  50% { transform: translateY(-1px) scaleY(1.03); opacity: 1; }
  100% { transform: translateY(0) scaleY(1); opacity: 0.95; }
}
@keyframes plut-glow {
  0% { opacity: 0.5; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.12); }
  100% { opacity: 0.7; transform: scale(1.06); }
}

/* index-puppies — basket of sleeping puppies, warm hearth */
.scn-index-puppies {
  background: 
    linear-gradient(180deg, #3a2a1a 0%, #4a3a2a 40%, #5a4a3a 100%),
    radial-gradient(ellipse at 50% 80%, #5a4a3a 0%, transparent 70%);
}
.scn-index-puppies .bg-room { position:absolute; inset:0; background: linear-gradient(180deg, #2a1a0e 0%, #3a2a1a 60%, #2a1a0e 100%); }
.scn-index-puppies .basket { position:absolute; bottom:10%; left:30%; right:30%; height:25%; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1e 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 6px 18px rgba(0,0,0,0.7); transform: perspective(400px) rotateX(5deg); }
.scn-index-puppies .puppy-a { position:absolute; bottom:18%; left:38%; width:25px; height:18px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 50% 50% 40% 40%; box-shadow: inset 0 -2px 4px rgba(0,0,0,0.3); animation: pupp-pup-a 4s ease-in-out infinite; }
.scn-index-puppies .puppy-b { position:absolute; bottom:20%; right:35%; width:22px; height:16px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1e 100%); border-radius: 50% 50% 40% 40%; box-shadow: inset 0 -2px 4px rgba(0,0,0,0.3); animation: pupp-pup-b 5s ease-in-out infinite 1s; }
.scn-index-puppies .blanket { position:absolute; bottom:14%; left:28%; right:28%; height:12%; background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); border-radius: 30% 30% 20% 20%; box-shadow: 0 2px 8px rgba(0,0,0,0.4); transform: scale(1.1) rotate(-2deg); }
.scn-index-puppies .lamp { position:absolute; bottom:40%; left:48%; width:10px; height:28px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 30px 8px rgba(200,160,80,0.5); margin-left:-5px; }
.scn-index-puppies .glow { position:absolute; bottom:30%; left:35%; width:120px; height:120px; background: radial-gradient(circle, rgba(200,160,80,0.15) 0%, transparent 60%); pointer-events: none; animation: pupp-glow 4s ease-in-out infinite alternate; }
@keyframes pupp-pup-a {
  0% { transform: translateY(0) rotate(0deg) scale(1); }
  50% { transform: translateY(-3px) rotate(3deg) scale(1.02); }
  100% { transform: translateY(0) rotate(0deg) scale(1); }
}
@keyframes pupp-pup-b {
  0% { transform: translateY(0) rotate(0deg) scale(1); }
  50% { transform: translateY(-2px) rotate(-4deg) scale(1.01); }
  100% { transform: translateY(0) rotate(0deg) scale(1); }
}
@keyframes pupp-glow {
  0% { opacity: 0.4; transform: scale(1); }
  50% { opacity: 0.9; transform: scale(1.1); }
  100% { opacity: 0.6; transform: scale(1.05); }
}

.scn-beasts-better { background: linear-gradient(180deg, #f5e6d0 0%, #dcc8a8 40%, #c4ac88 100%), radial-gradient(ellipse at 30% 50%, #ffe8c0 0%, transparent 60%); }
.scn-beasts-better .wall { position:absolute; inset:0 0 25% 0; background: linear-gradient(135deg, #e8dcc8 0%, #d4c8b4 100%); animation: bb-wall 20s ease-in-out infinite alternate; }
.scn-beasts-better .window-frame { position:absolute; top:8%; left:55%; width:30%; height:55%; background: linear-gradient(180deg, #b8a088 0%, #9c8870 100%); border-radius:4% 4% 2% 2%; box-shadow: inset 0 0 20px rgba(0,0,0,.2); animation: bb-frame 15s ease-in-out infinite; }
.scn-beasts-better .window-glass { position:absolute; top:10%; left:57%; width:26%; height:51%; background: linear-gradient(135deg, #c8e8f0 0%, #a8d0e0 50%, #88b8d0 100%); border-radius:3% 3% 1% 1%; box-shadow: inset 0 0 30px rgba(200,232,240,.4); animation: bb-glass 12s ease-in-out infinite alternate; }
.scn-beasts-better .window-light { position:absolute; top:10%; left:57%; width:26%; height:51%; background: radial-gradient(circle at 60% 40%, rgba(255,240,200,.3) 0%, transparent 70%); animation: bb-light 8s ease-in-out infinite alternate; }
.scn-beasts-better .hedgehog-body { position:absolute; bottom:25%; left:30%; width:40px; height:24px; background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); border-radius:50% 50% 45% 45% / 60% 60% 40% 40%; transform:rotate(-8deg); animation: bb-hog-body 6s ease-in-out infinite; }
.scn-beasts-better .hedgehog-spines { position:absolute; bottom:27%; left:29%; width:44px; height:20px; background: linear-gradient(135deg, #5a4a3a 25%, transparent 25%) 0 0 / 6px 6px, linear-gradient(225deg, #5a4a3a 25%, transparent 25%) 0 0 / 6px 6px; background-color: #7a6a5a; border-radius:50% 50% 40% 40%; clip-path: polygon(0% 100%, 15% 40%, 30% 100%, 45% 30%, 60% 100%, 75% 40%, 90% 100%, 100% 20%, 100% 100%); animation: bb-spines 4s ease-in-out infinite alternate; }
.scn-beasts-better .hedgehog-nose { position:absolute; bottom:27%; left:36%; width:6px; height:5px; background: #2a1a0a; border-radius:50%; animation: bb-nose 6s ease-in-out infinite; }
.scn-beasts-better .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #b8a088 0%, #8a7a6a 100%); border-radius: 50% 50% 0 0 / 20% 20% 0 0; box-shadow: inset 0 10px 30px rgba(0,0,0,.2); animation: bb-floor 25s ease-in-out infinite alternate; }
@keyframes bb-wall { 0% { opacity:.95 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes bb-frame { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-2px) } }
@keyframes bb-glass { 0% { background-position:0% 0% } 50% { background-position:100% 100% } 100% { background-position:50% 50% } }
@keyframes bb-light { 0% { opacity:.5 } 50% { opacity:.8 } 100% { opacity:.6 } }
@keyframes bb-hog-body { 0%,100% { transform:translateX(0) rotate(-8deg) } 50% { transform:translateX(4px) rotate(-5deg) } }
@keyframes bb-spines { 0% { transform:scaleY(1) } 50% { transform:scaleY(1.1) } 100% { transform:scaleY(.95) } }
@keyframes bb-nose { 0%,100% { transform:translateX(0) } 50% { transform:translateX(2px) } }
@keyframes bb-floor { 0% { background-position:0% 0% } 50% { background-position:50% 0% } 100% { background-position:100% 0% } }

.scn-reason-compensates { background: linear-gradient(180deg, #f0e0c8 0%, #d8c8a8 40%, #c0b090 100%), radial-gradient(ellipse at 70% 30%, #fff0d0 0%, transparent 60%); }
.scn-reason-compensates .bg-warm { position:absolute; inset:0; background: linear-gradient(135deg, #f5e8d0 0%, #e0d0b8 50%, #c8b8a0 100%); animation: rc-bg 25s ease-in-out infinite alternate; }
.scn-reason-compensates .window-arch { position:absolute; top:5%; right:10%; width:35%; height:60%; background: linear-gradient(180deg, #c8b8a0 0%, #a89880 100%); border-radius:50% 50% 5% 5% / 80% 80% 5% 5%; box-shadow: inset 0 0 30px rgba(0,0,0,.15); animation: rc-arch 20s ease-in-out infinite; }
.scn-reason-compensates .window-light-beam { position:absolute; top:8%; right:12%; width:30%; height:55%; background: linear-gradient(135deg, rgba(255,240,200,.4) 0%, rgba(255,240,200,.1) 100%); clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%); animation: rc-beam 10s ease-in-out infinite alternate; }
.scn-reason-compensates .desk { position:absolute; bottom:18%; left:20%; right:20%; height:12%; background: linear-gradient(180deg, #a09070 0%, #807050 100%); border-radius:5% 5% 2% 2%; box-shadow: 0 4px 12px rgba(0,0,0,.3); animation: rc-desk 18s ease-in-out infinite; }
.scn-reason-compensates .figure-torso { position:absolute; bottom:28%; left:38%; width:24%; height:30%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin:bottom center; animation: rc-torso 8s ease-in-out infinite; }
.scn-reason-compensates .figure-head { position:absolute; bottom:55%; left:43%; width:14%; height:16%; background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); border-radius:50% 50% 45% 45% / 55% 55% 45% 45%; animation: rc-head 8s ease-in-out infinite; }
.scn-reason-compensates .figure-hand { position:absolute; bottom:32%; left:55%; width:8%; height:10%; background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin:top center; transform:rotate(-20deg); animation: rc-hand 6s ease-in-out infinite alternate; }
.scn-reason-compensates .book { position:absolute; bottom:22%; left:48%; width:12%; height:8%; background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%); border-radius:5% 5% 3% 3%; box-shadow: 0 2px 6px rgba(0,0,0,.3); animation: rc-book 10s ease-in-out infinite; }
.scn-reason-compensates .candle { position:absolute; bottom:30%; right:25%; width:4%; height:14%; background: linear-gradient(180deg, #e8c8a0 0%, #c8a880 100%); border-radius:30% 30% 10% 10%; box-shadow: 0 0 20px 6px rgba(255,200,100,.4); animation: rc-candle 4s ease-in-out infinite alternate; }
@keyframes rc-bg { 0% { opacity:.95 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes rc-arch { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-3px) } }
@keyframes rc-beam { 0% { opacity:.4; transform:scaleX(1) } 50% { opacity:.7; transform:scaleX(1.05) } 100% { opacity:.5; transform:scaleX(.95) } }
@keyframes rc-desk { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-1px) } }
@keyframes rc-torso { 0%,100% { transform:rotate(0) } 50% { transform:rotate(1deg) } }
@keyframes rc-head { 0%,100% { transform:rotate(0) translateY(0) } 50% { transform:rotate(2deg) translateY(-2px) } }
@keyframes rc-hand { 0% { transform:rotate(-20deg) } 50% { transform:rotate(-15deg) } 100% { transform:rotate(-22deg) } }
@keyframes rc-book { 0%,100% { transform:translateY(0) rotate(0) } 50% { transform:translateY(-1px) rotate(.5deg) } }
@keyframes rc-candle { 0% { box-shadow:0 0 20px 6px rgba(255,200,100,.4); opacity:.9 } 50% { box-shadow:0 0 30px 10px rgba(255,200,100,.6); opacity:1 } 100% { box-shadow:0 0 25px 8px rgba(255,200,100,.45); opacity:.85 } }

.scn-elephant-plaything { background: linear-gradient(180deg, #1a1a3a 0%, #3a2a4a 40%, #5a3a5a 100%), radial-gradient(ellipse at 50% 30%, #7a4a6a 0%, transparent 60%); }
.scn-elephant-plaything .circus-bg { position:absolute; inset:0; background: linear-gradient(180deg, #2a1a3a 0%, #4a2a4a 50%, #3a1a3a 100%); animation: ep-bg 30s ease-in-out infinite alternate; }
.scn-elephant-plaything .arena-floor { position:absolute; bottom:15%; left:10%; right:10%; height:25%; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%); border-radius:50% 50% 10% 10% / 80% 80% 10% 10%; box-shadow: inset 0 10px 30px rgba(0,0,0,.3); animation: ep-floor 20s ease-in-out infinite; }
.scn-elephant-plaything .elephant-body { position:absolute; bottom:25%; left:35%; width:30%; height:40%; background: linear-gradient(180deg, #6a6a7a 0%, #4a4a5a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation: ep-body 6s ease-in-out infinite; }
.scn-elephant-plaything .elephant-head { position:absolute; bottom:50%; left:50%; width:18%; height:22%; background: linear-gradient(180deg, #6a6a7a 0%, #4a4a5a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: ep-head 6s ease-in-out infinite; }
.scn-elephant-plaything .elephant-trunk { position:absolute; bottom:38%; left:62%; width:6%; height:30%; background: linear-gradient(180deg, #6a6a7a 0%, #4a4a5a 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin:top center; animation: ep-trunk 4s ease-in-out infinite alternate; }
.scn-elephant-plaything .elephant-ear { position:absolute; bottom:52%; left:42%; width:14%; height:20%; background: linear-gradient(180deg, #5a5a6a 0%, #3a3a4a 100%); border-radius:50% 50% 40% 40%; clip-path: polygon(0% 10%, 100% 0%, 90% 100%, 10% 90%); animation: ep-ear 8s ease-in-out infinite; }
.scn-elephant-plaything .elephant-legs { position:absolute; bottom:15%; left:38%; right:38%; height:15%; background: repeating-linear-gradient(90deg, #4a4a5a 0% 8%, transparent 8% 16%); animation: ep-legs 6s ease-in-out infinite; }
.scn-elephant-plaything .spotlight { position:absolute; top:0; left:30%; right:30%; height:100%; background: radial-gradient(ellipse at 50% 0%, rgba(255,240,200,.4) 0%, transparent 70%); animation: ep-spotlight 5s ease-in-out infinite alternate; }
.scn-elephant-plaything .confetti { position:absolute; top:10%; left:0; right:0; height:40%; background: repeating-linear-gradient(90deg, #f0a060 0% 4%, transparent 4% 8%, #60c0f0 8% 12%, transparent 12% 16%, #f0e060 16% 20%, transparent 20% 24%); animation: ep-confetti 15s linear infinite; }
@keyframes ep-bg { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes ep-floor { 0%,100% { transform:translateY(0) scale(1) } 50% { transform:translateY(-2px) scale(1.02) } }
@keyframes ep-body { 0%,100% { transform:rotate(0) translateY(0) } 50% { transform:rotate(1deg) translateY(-3px) } }
@keyframes ep-head { 0%,100% { transform:translateX(0) } 50% { transform:translateX(3px) } }
@keyframes ep-trunk { 0% { transform:rotate(10deg) } 50% { transform:rotate(20deg) } 100% { transform:rotate(8deg) } }
@keyframes ep-ear { 0%,100% { transform:scaleX(1) } 50% { transform:scaleX(1.1) } }
@keyframes ep-legs { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-2px) } }
@keyframes ep-spotlight { 0% { opacity:.6; transform:scaleX(1) } 50% { opacity:.9; transform:scaleX(1.1) } 100% { opacity:.7; transform:scaleX(.95) } }
@keyframes ep-confetti { 0% { transform:translateY(-100%) } 100% { transform:translateY(100%) } }

.scn-not-boxers { background: linear-gradient(180deg, #e8f0e0 0%, #d0e0c8 40%, #b0c8a8 100%), radial-gradient(ellipse at 50% 100%, #c8d8b8 0%, transparent 60%); }
.scn-not-boxers .field { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #d8e8c8 0%, #b8c8a8 100%); animation: nb-field 35s ease-in-out infinite alternate; }
.scn-not-boxers .fence { position:absolute; bottom:30%; left:0; right:0; height:8%; background: repeating-linear-gradient(90deg, #8a7a5a 0% 4%, transparent 4% 8%, #8a7a5a 8% 12%, transparent 12% 100%); background-size: 100% 100%; border-radius:2% 2% 0 0; animation: nb-fence 25s ease-in-out infinite; }
.scn-not-boxers .beehive { position:absolute; bottom:38%; left:25%; width:12%; height:18%; background: linear-gradient(180deg, #c8a060 0%, #a08040 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; box-shadow: 0 4px 10px rgba(0,0,0,.2); animation: nb-hive 15s ease-in-out infinite; }
.scn-not-boxers .bees { position:absolute; bottom:45%; left:30%; width:8%; height:10%; background: repeating-linear-gradient(0deg, #2a1a0a 0% 20%, #e8d8a0 20% 40%); border-radius:50%; animation: nb-bees 6s ease-in-out infinite alternate; }
.scn-not-boxers .figure-crouch { position:absolute; bottom:20%; left:55%; width:20%; height:25%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation: nb-crouch 8s ease-in-out infinite; }
.scn-not-boxers .figure-arm { position:absolute; bottom:25%; left:68%; width:6%; height:14%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius:30% 30% 20% 20%; transform-origin:top center; transform:rotate(-30deg); animation: nb-arm 6s ease-in-out infinite alternate; }
.scn-not-boxers .basket { position:absolute; bottom:22%; right:18%; width:14%; height:10%; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%); border-radius:20% 20% 30% 30% / 30% 30% 40% 40%; box-shadow: 0 2px 8px rgba(0,0,0,.15); animation: nb-basket 12s ease-in-out infinite; }
.scn-not-boxers .smoke { position:absolute; bottom:50%; left:28%; width:6%; height:20%; background: linear-gradient(180deg, rgba(180,160,140,.4) 0%, transparent 100%); border-radius:50%; filter: blur(4px); animation: nb-smoke 8s ease-in-out infinite alternate; }
@keyframes nb-field { 0% { background-position:0% 0% } 50% { background-position:50% 0% } 100% { background-position:100% 0% } }
@keyframes nb-fence { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-1px) } }
@keyframes nb-hive { 0%,100% { transform:translateY(0) scale(1) } 50% { transform:translateY(-2px) scale(1.02) } }
@keyframes nb-bees { 0% { transform:translate(0, 0) rotate(0) } 50% { transform:translate(5px, -8px) rotate(10deg) } 100% { transform:translate(-5px, -4px) rotate(-5deg) } }
@keyframes nb-crouch { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-3px) } }
@keyframes nb-arm { 0% { transform:rotate(-30deg) } 50% { transform:rotate(-20deg) } 100% { transform:rotate(-35deg) } }
@keyframes nb-basket { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-2px) } }
@keyframes nb-smoke { 0% { transform:translateY(0) scale(1); opacity:.4 } 50% { transform:translateY(-10px) scale(1.5); opacity:.2 } 100% { transform:translateY(-5px) scale(.8); opacity:.5 } }

/* wisdom-definition */
.scn-wisdom-definition {
  background:
    linear-gradient(180deg, #ebe5d0 0%, #d4c8a8 40%, #b8a88a 100%),
    radial-gradient(ellipse at 70% 60%, #f0e8d8 0%, transparent 60%);
}
.scn-wisdom-definition .window-frame {
  position: absolute; top: 5%; left: 10%; width: 45%; height: 60%;
  border: 12px solid #8b7a5a; border-radius: 4px;
  background: linear-gradient(180deg, #cfe0ff 0%, #9bb8e8 60%, #7a9fc8 100%);
  box-shadow: inset 0 0 30px rgba(255, 230, 180, 0.3);
  animation: wd-window 12s ease-in-out infinite alternate;
}
.scn-wisdom-definition .bookshelf {
  position: absolute; bottom: 30%; left: 60%; width: 30%; height: 40%;
  background: linear-gradient(90deg, #6b5a3a 0%, #5a4a2a 100%);
  border-radius: 2px; box-shadow: 0 8px 12px rgba(0,0,0,0.3);
}
.scn-wisdom-definition .desk {
  position: absolute; bottom: 12%; left: 12%; width: 50%; height: 8%;
  background: linear-gradient(180deg, #7a6a4a 0%, #5a4a2a 100%);
  border-radius: 4px; transform-origin: bottom center;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}
.scn-wisdom-definition .scholar {
  position: absolute; bottom: 18%; left: 28%; width: 16%; height: 28%;
  background: linear-gradient(180deg, #4a3a2a 40%, #3a2a1a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: wd-scholar 6s ease-in-out infinite alternate;
}
.scn-wisdom-definition .book-open {
  position: absolute; bottom: 14%; left: 30%; width: 12%; height: 6%;
  background: linear-gradient(180deg, #d4b890 0%, #b89a70 100%);
  border-radius: 2px; transform: rotate(-5deg);
  box-shadow: 2px 2px 4px rgba(0,0,0,0.3);
  animation: wd-book 8s ease-in-out infinite;
}
.scn-wisdom-definition .light-ray {
  position: absolute; top: 5%; left: 15%; width: 30%; height: 40%;
  background: linear-gradient(180deg, rgba(255, 240, 200, 0.3) 0%, rgba(255, 220, 160, 0.05) 100%);
  clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%);
  pointer-events: none;
  animation: wd-light 10s ease-in-out infinite alternate;
}
.scn-wisdom-definition .dust-mote1,
.scn-wisdom-definition .dust-mote2 {
  position: absolute; top: 20%; width: 2px; height: 2px;
  background: rgba(255, 240, 200, 0.6); border-radius: 50%;
  box-shadow: 0 0 4px 1px rgba(255, 240, 200, 0.3);
  animation: wd-dust 20s linear infinite;
}
.scn-wisdom-definition .dust-mote1 { left: 20%; animation-delay: -2s; }
.scn-wisdom-definition .dust-mote2 { left: 35%; animation-delay: -10s; width: 3px; height: 3px; }

@keyframes wd-window {
  0% { opacity: 0.8; transform: scaleX(1); }
  50% { opacity: 1; transform: scaleX(1.02); }
  100% { opacity: 0.85; transform: scaleX(0.98); }
}
@keyframes wd-scholar {
  0% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes wd-book {
  0%, 100% { transform: rotate(-5deg) scale(1); }
  50% { transform: rotate(-3deg) scale(1.02); }
}
@keyframes wd-light {
  0% { opacity: 0.4; transform: translateY(0); }
  50% { opacity: 0.7; transform: translateY(-5px); }
  100% { opacity: 0.5; transform: translateY(5px); }
}
@keyframes wd-dust {
  0% { transform: translateY(0) translateX(0) scale(1); opacity: 0.6; }
  50% { transform: translateY(-80px) translateX(30px) scale(1.5); opacity: 0.2; }
  100% { transform: translateY(-160px) translateX(60px) scale(0.8); opacity: 0; }
}

/* fortune-all-vices */
.scn-fortune-all-vices {
  background:
    linear-gradient(180deg, #2a1e1e 0%, #1a1212 40%, #0e0a0a 100%),
    radial-gradient(ellipse at 50% 40%, #3a2a2a 0%, transparent 70%);
}
.scn-fortune-all-vices .dark-walls {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #3a2a2a 0%, #1a1212 100%);
  opacity: 0.7;
}
.scn-fortune-all-vices .torn-curtain {
  position: absolute; top: 0; left: 20%; width: 60%; height: 80%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2212 100%);
  clip-path: polygon(0 0, 100% 0, 85% 30%, 95% 60%, 80% 90%, 100% 100%, 0 100%, 15% 60%, 5% 30%);
  filter: blur(2px);
  animation: fv-curtain 4s ease-in-out infinite alternate;
}
.scn-fortune-all-vices .swept-figure {
  position: absolute; bottom: 30%; left: 40%; width: 20%; height: 35%;
  background: linear-gradient(180deg, #3a2a2a 30%, #1a1212 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  transform-origin: bottom center;
  animation: fv-figure 2s ease-in-out infinite alternate;
}
.scn-fortune-all-vices .flying-papers {
  position: absolute; top: 20%; left: 30%; width: 8%; height: 10%;
  background: linear-gradient(135deg, #6a5a4a 0%, #4a3a2a 100%);
  clip-path: polygon(0 0, 100% 0, 90% 100%, 10% 100%);
  animation: fv-papers 3s ease-in-out infinite;
}
.scn-fortune-all-vices .broken-chair {
  position: absolute; bottom: 15%; left: 60%; width: 15%; height: 25%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  clip-path: polygon(20% 0, 80% 0, 100% 20%, 100% 100%, 80% 80%, 60% 100%, 40% 80%, 20% 100%, 0 80%, 20% 20%);
  transform: rotate(20deg);
  animation: fv-chair 5s ease-in-out infinite;
}
.scn-fortune-all-vices .vortex-shadow {
  position: absolute; bottom: 20%; left: 35%; width: 30%; height: 30%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0,0,0,0.6) 0%, transparent 70%);
  animation: fv-vortex 6s ease-in-out infinite alternate;
}
.scn-fortune-all-vices .debris1,
.scn-fortune-all-vices .debris2 {
  position: absolute; width: 3%; height: 3%;
  background: #5a4a3a; border-radius: 50%;
  filter: blur(1px);
  animation: fv-debris 4s linear infinite;
}
.scn-fortune-all-vices .debris1 { top: 40%; left: 20%; }
.scn-fortune-all-vices .debris2 { top: 50%; left: 70%; animation-delay: -1.5s; }

@keyframes fv-curtain {
  0% { transform: translateX(0) scaleY(1); }
  50% { transform: translateX(10px) scaleY(1.05); }
  100% { transform: translateX(-10px) scaleY(0.95); }
}
@keyframes fv-figure {
  0% { transform: translateY(0) rotate(-5deg); }
  50% { transform: translateY(-10px) rotate(10deg); }
  100% { transform: translateY(0) rotate(-5deg); }
}
@keyframes fv-papers {
  0%, 100% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-40px) rotate(15deg); opacity: 0.8; }
}
@keyframes fv-chair {
  0% { transform: rotate(20deg) translateY(0); }
  50% { transform: rotate(25deg) translateY(-5px); }
  100% { transform: rotate(18deg) translateY(0); }
}
@keyframes fv-vortex {
  0% { transform: scale(0.8) rotate(0); }
  50% { transform: scale(1.2) rotate(10deg); }
  100% { transform: scale(0.9) rotate(-5deg); }
}
@keyframes fv-debris {
  0% { transform: translate(0, 0) rotate(0); opacity: 0.8; }
  25% { transform: translate(20px, -30px) rotate(45deg); opacity: 0.6; }
  50% { transform: translate(40px, -10px) rotate(90deg); opacity: 0.4; }
  75% { transform: translate(60px, -50px) rotate(135deg); opacity: 0.2; }
  100% { transform: translate(80px, -20px) rotate(180deg); opacity: 0; }
}

/* no-wisdom */
.scn-no-wisdom {
  background:
    linear-gradient(180deg, #2a2e36 0%, #1a1e26 40%, #0a0e16 100%),
    radial-gradient(ellipse at 50% 30%, #3a3e46 0%, transparent 70%);
}
.scn-no-wisdom .murky-room {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #2a2e36 0%, #1a1e26 100%);
  opacity: 0.5;
}
.scn-no-wisdom .sleeping-figure {
  position: absolute; bottom: 25%; left: 35%; width: 22%; height: 30%;
  background: linear-gradient(180deg, #3a3e4a 30%, #2a2e3a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 20% 20%;
  transform-origin: bottom center;
  animation: nw-sleep 8s ease-in-out infinite alternate;
}
.scn-no-wisdom .empty-chair {
  position: absolute; bottom: 20%; left: 60%; width: 14%; height: 25%;
  background: linear-gradient(180deg, #4a4e5a 0%, #3a3e4a 100%);
  border-radius: 4px 4px 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: nw-chair 12s ease-in-out infinite;
}
.scn-no-wisdom .neglected-book {
  position: absolute; bottom: 22%; left: 55%; width: 8%; height: 5%;
  background: linear-gradient(180deg, #5a5e6a 0%, #4a4e5a 100%);
  border-radius: 2px; transform: rotate(-10deg);
  animation: nw-book 10s ease-in-out infinite alternate;
}
.scn-no-wisdom .flickering-candle {
  position: absolute; bottom: 32%; left: 48%; width: 3%; height: 8%;
  background: linear-gradient(180deg, #6a6e7a 0%, #4a4e5a 100%);
  border-radius: 2px;
}
.scn-no-wisdom .flickering-candle::after {
  content: ''; position: absolute; top: -40%; left: -50%; width: 200%; height: 60%;
  background: radial-gradient(circle, #a08040 0%, transparent 70%);
  animation: nw-flame 2s ease-in-out infinite alternate;
}
.scn-no-wisdom .cobweb-left,
.scn-no-wisdom .cobweb-right {
  position: absolute; top: 15%;
  width: 12%; height: 20%;
  border: 1px solid #5a5e6e;
  opacity: 0.3;
  pointer-events: none;
}
.scn-no-wisdom .cobweb-left {
  left: 10%;
  clip-path: polygon(0 0, 100% 0, 80% 50%, 100% 100%, 0 100%, 20% 50%);
  animation: nw-web 15s ease-in-out infinite alternate;
}
.scn-no-wisdom .cobweb-right {
  right: 10%;
  clip-path: polygon(100% 0, 0 0, 20% 50%, 0 100%, 100% 100%, 80% 50%);
  animation: nw-web 15s ease-in-out infinite alternate-reverse;
}

@keyframes nw-sleep {
  0% { transform: translateY(0) rotate(0); opacity: 0.8; }
  50% { transform: translateY(-3px) rotate(2deg); opacity: 0.9; }
  100% { transform: translateY(0) rotate(-1deg); opacity: 0.85; }
}
@keyframes nw-chair {
  0%, 100% { transform: rotate(0) scale(1); }
  50% { transform: rotate(2deg) scale(1.01); }
}
@keyframes nw-book {
  0% { transform: rotate(-10deg) translateX(0); }
  50% { transform: rotate(-8deg) translateX(-2px); }
  100% { transform: rotate(-12deg) translateX(1px); }
}
@keyframes nw-flame {
  0% { transform: scaleY(1); opacity: 0.7; }
  50% { transform: scaleY(1.2); opacity: 1; }
  100% { transform: scaleY(0.9); opacity: 0.6; }
}
@keyframes nw-web {
  0% { transform: scale(1) rotate(0); }
  50% { transform: scale(1.1) rotate(3deg); }
  100% { transform: scale(0.95) rotate(-2deg); }
}

/* sophocles-division */
.scn-sophocles-division {
  background:
    linear-gradient(180deg, #d4d8e0 0%, #b8bcc8 40%, #a0a4b0 100%),
    radial-gradient(ellipse at 60% 70%, #e8e4f0 0%, transparent 60%);
}
.scn-sophocles-division .terrace-rail {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 8%;
  background: linear-gradient(180deg, #c8c4d0 0%, #a8a4b0 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
}
.scn-sophocles-division .terrace-rail::after {
  content: ''; position: absolute; bottom: 100%; left: 5%; right: 5%; height: 4px;
  background: #b8b4c0;
}
.scn-sophocles-division .kneeling-figure {
  position: absolute; bottom: 22%; left: 30%; width: 16%; height: 30%;
  background: linear-gradient(180deg, #6a6e7a 30%, #4a4e5a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  transform-origin: bottom center;
  animation: sd-kneel 6s ease-in-out infinite alternate;
}
.scn-sophocles-division .open-scroll {
  position: absolute; bottom: 28%; left: 34%; width: 10%; height: 6%;
  background: linear-gradient(180deg, #e0dcc0 0%, #c8c4a8 100%);
  border-radius: 2px; transform: rotate(5deg);
  box-shadow: 2px 2px 6px rgba(0,0,0,0.15);
  animation: sd-scroll 10s ease-in-out infinite;
}
.scn-sophocles-division .sky-light {
  position: absolute; top: 5%; left: 30%; width: 40%; height: 25%;
  background: radial-gradient(ellipse at center, #f0e8c0 0%, transparent 70%);
  pointer-events: none;
  animation: sd-sky 14s ease-in-out infinite alternate;
}
.scn-sophocles-division .flower-left,
.scn-sophocles-division .flower-right {
  position: absolute; bottom: 22%; width: 4%; height: 8%;
  background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%);
  border-radius: 50% 50% 10% 10%;
}
.scn-sophocles-division .flower-left {
  left: 20%; animation: sd-flower 5s ease-in-out infinite alternate;
}
.scn-sophocles-division .flower-right {
  right: 20%; animation: sd-flower 5s ease-in-out infinite alternate-reverse;
}
.scn-sophocles-division .cloud-high,
.scn-sophocles-division .cloud-low {
  position: absolute; border-radius: 50%;
  background: linear-gradient(180deg, rgba(255,255,255,0.5) 0%, rgba(255,255,255,0.1) 100%);
  filter: blur(8px);
  pointer-events: none;
}
.scn-sophocles-division .cloud-high {
  top: 10%; left: 10%; width: 20%; height: 8%;
  animation: sd-cloud 40s linear infinite;
}
.scn-sophocles-division .cloud-low {
  top: 18%; right: 15%; width: 15%; height: 6%;
  animation: sd-cloud 50s linear infinite reverse;
}

@keyframes sd-kneel {
  0% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes sd-scroll {
  0%, 100% { transform: rotate(5deg) scale(1); }
  50% { transform: rotate(7deg) scale(1.02); }
}
@keyframes sd-sky {
  0% { opacity: 0.5; transform: scale(0.9); }
  50% { opacity: 0.8; transform: scale(1.1); }
  100% { opacity: 0.6; transform: scale(1); }
}
@keyframes sd-flower {
  0% { transform: rotate(-5deg) scale(1); }
  50% { transform: rotate(5deg) scale(1.1); }
  100% { transform: rotate(-3deg) scale(0.95); }
}
@keyframes sd-cloud {
  0% { transform: translateX(-30px); }
  50% { transform: translateX(20px); }
  100% { transform: translateX(-30px); }
}

/* Each .scn-<id> block provides background + child animation rules. Keyframes use three‑stop timing and compound transforms. */

/* scene: memory-should-bring-joy (calm, bright interior) */
.scn-memory-should-bring-joy {
  background:
    linear-gradient(180deg, #f5f0e8 0%, #e8ddd0 50%, #d6c8b8 100%),
    radial-gradient(ellipse at 60% 40%, rgba(255,240,200,0.3) 0%, transparent 60%);
}
.scn-memory-should-bring-joy .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #b8a690 0%, #8b7a66 100%);
  border-radius: 4px 4px 0 0;
}
.scn-memory-should-bring-joy .window {
  position: absolute; top: 10%; left: 10%; width: 30%; height: 50%;
  background: linear-gradient(180deg, #b8d0e0 0%, #8ba0b8 100%);
  border: 4px solid #a89880; border-radius: 4px;
}
.scn-memory-should-bring-joy .curtain {
  position: absolute; top: 10%; left: 10%; width: 8%; height: 50%;
  background: linear-gradient(90deg, rgba(255,255,240,0.6) 0%, rgba(255,255,240,0.2) 100%);
  border-radius: 0 4px 4px 0;
  animation: mem-curtain 4s ease-in-out infinite alternate;
  transform-origin: left top;
}
.scn-memory-should-bring-joy .portrait-frame {
  position: absolute; top: 15%; left: 55%; width: 20%; height: 35%;
  background: linear-gradient(180deg, #6b5b4a, #4a3b2a);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}
.scn-memory-should-bring-joy .portrait-figure {
  position: absolute; top: 18%; left: 58%; width: 14%; height: 28%;
  background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: mem-portrait 6s ease-in-out infinite alternate;
}
.scn-memory-should-bring-joy .table {
  position: absolute; bottom: 20%; left: 50%; width: 25%; height: 8%;
  background: linear-gradient(180deg, #8b7a66, #6b5b4a);
  border-radius: 4px;
}
.scn-memory-should-bring-joy .book {
  position: absolute; bottom: 28%; left: 57%; width: 6%; height: 4%;
  background: linear-gradient(180deg, #c8a060, #a07a40);
  border-radius: 2px;
  animation: mem-book 8s ease-in-out infinite;
}
.scn-memory-should-bring-joy .sunbeam {
  position: absolute; top: 10%; left: 10%; width: 30%; height: 50%;
  background: linear-gradient(135deg, rgba(255,240,200,0.2) 0%, transparent 60%);
  filter: blur(8px);
  animation: mem-sunbeam 10s ease-in-out infinite alternate;
}
@keyframes mem-curtain {
  0% { transform: skewY(0deg); }
  50% { transform: skewY(3deg); }
  100% { transform: skewY(-3deg); }
}
@keyframes mem-portrait {
  0% { opacity: 0.9; filter: brightness(0.9); }
  50% { opacity: 1; filter: brightness(1.1); }
  100% { opacity: 0.95; filter: brightness(0.95); }
}
@keyframes mem-book {
  0% { transform: rotate(0deg) translateX(0); }
  50% { transform: rotate(2deg) translateX(2px); }
  100% { transform: rotate(-1deg) translateX(1px); }
}
@keyframes mem-sunbeam {
  0% { opacity: 0.3; transform: scaleX(1); }
  50% { opacity: 0.6; transform: scaleX(1.1); }
  100% { opacity: 0.4; transform: scaleX(0.95); }
}

/* scene: joy-over-grief-in-memory (warm, bright interior) */
.scn-joy-over-grief-in-memory {
  background:
    linear-gradient(180deg, #f0d8a0 0%, #e8c880 60%, #d8b060 100%),
    radial-gradient(ellipse at 50% 30%, rgba(255,200,100,0.4) 0%, transparent 70%);
}
.scn-joy-over-grief-in-memory .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #c8a060, #a08040);
  border-radius: 4px 4px 0 0;
}
.scn-joy-over-grief-in-memory .window {
  position: absolute; top: 5%; left: 0; right: 0; height: 55%;
  background: linear-gradient(180deg, #ffd080 0%, #ffb040 100%);
  border-bottom: 4px solid #c08040;
}
.scn-joy-over-grief-in-memory .sun-glow {
  position: absolute; top: 0; left: 30%; width: 40%; height: 70%;
  background: radial-gradient(ellipse, rgba(255,200,80,0.6) 0%, transparent 70%);
  animation: joy-glow 6s ease-in-out infinite alternate;
}
.scn-joy-over-grief-in-memory .mother-figure {
  position: absolute; bottom: 15%; left: 35%; width: 18%; 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: joy-mother 4s ease-in-out infinite;
}
.scn-joy-over-grief-in-memory .child-figure {
  position: absolute; bottom: 22%; left: 45%; width: 10%; height: 25%;
  background: linear-gradient(180deg, #3a2a1a, #1a0a00);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: joy-child 4s ease-in-out infinite;
  animation-delay: 0.5s;
}
.scn-joy-over-grief-in-memory .toy {
  position: absolute; bottom: 18%; left: 55%; width: 5%; height: 5%;
  background: radial-gradient(circle, #e04040 0%, #a02020 100%);
  border-radius: 50%;
  animation: joy-toy 3s ease-in-out infinite;
}
.scn-joy-over-grief-in-memory .curtain {
  position: absolute; top: 5%; left: 0; width: 10%; height: 55%;
  background: linear-gradient(90deg, rgba(255,220,150,0.5), rgba(255,220,150,0.1));
  border-radius: 0 4px 4px 0;
  animation: joy-curtain 5s ease-in-out infinite alternate;
}
@keyframes joy-glow {
  0% { opacity: 0.5; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.2); }
  100% { opacity: 0.6; transform: scale(0.95); }
}
@keyframes joy-mother {
  0% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-4px) rotate(2deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes joy-child {
  0% { transform: translateY(0) rotate(2deg); }
  50% { transform: translateY(-2px) rotate(-2deg); }
  100% { transform: translateY(0) rotate(1deg); }
}
@keyframes joy-toy {
  0% { transform: translateX(0) translateY(0) scale(1); }
  50% { transform: translateX(10px) translateY(-5px) scale(1.1); }
  100% { transform: translateX(0) translateY(0) scale(0.95); }
}
@keyframes joy-curtain {
  0% { transform: skewY(0deg) scaleX(1); }
  50% { transform: skewY(5deg) scaleX(1.05); }
  100% { transform: skewY(-5deg) scaleX(0.95); }
}

/* scene: wife-no-mourning (calm, bright interior) */
.scn-wife-no-mourning {
  background:
    linear-gradient(180deg, #f8f4f0 0%, #eae4dc 50%, #d6cec8 100%),
    radial-gradient(ellipse at 50% 60%, rgba(200,200,255,0.1) 0%, transparent 70%);
}
.scn-wife-no-mourning .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #c8b8a8, #a89880);
  border-radius: 6px 6px 0 0;
}
.scn-wife-no-mourning .wardrobe {
  position: absolute; bottom: 25%; left: 10%; width: 20%; height: 50%;
  background: linear-gradient(180deg, #a09080, #706050);
  border-radius: 4px;
}
.scn-wife-no-mourning .dress-hanging {
  position: absolute; bottom: 45%; left: 13%; width: 14%; height: 30%;
  background: linear-gradient(180deg, #f0d080 0%, #d0a050 100%);
  border-radius: 10% 10% 20% 20% / 10% 10% 40% 40%;
  animation: wif-dress 6s ease-in-out infinite alternate;
}
.scn-wife-no-mourning .woman-figure {
  position: absolute; bottom: 25%; left: 45%; width: 15%; height: 55%;
  background: linear-gradient(180deg, #b0d8e8 0%, #80b0c8 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wif-woman 4s ease-in-out infinite;
}
.scn-wife-no-mourning .hat {
  position: absolute; bottom: 65%; left: 47%; width: 8%; height: 6%;
  background: radial-gradient(circle, #f8e8d0 0%, #d0b898 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  animation: wif-hat 5s ease-in-out infinite;
}
.scn-wife-no-mourning .window {
  position: absolute; top: 8%; right: 10%; width: 25%; height: 40%;
  background: linear-gradient(180deg, #c0d8e8, #90b8d0);
  border: 4px solid #a89880; border-radius: 4px;
}
.scn-wife-no-mourning .mirror {
  position: absolute; top: 10%; left: 42%; width: 16%; height: 30%;
  background: linear-gradient(180deg, rgba(200,200,220,0.4) 0%, rgba(200,200,220,0.1) 100%);
  border: 2px solid #c8b898; border-radius: 4px;
  filter: blur(4px);
  animation: wif-mirror 8s ease-in-out infinite alternate;
}
@keyframes wif-dress {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(2deg); }
  100% { transform: rotate(-2deg); }
}
@keyframes wif-woman {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-3px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-0.5deg); }
}
@keyframes wif-hat {
  0% { transform: translateY(0) rotate(-5deg); }
  50% { transform: translateY(-2px) rotate(5deg); }
  100% { transform: translateY(0) rotate(-3deg); }
}
@keyframes wif-mirror {
  0% { opacity: 0.5; }
  50% { opacity: 0.8; }
  100% { opacity: 0.6; }
}

/* scene: self-control-in-grief (calm, bright interior) */
.scn-self-control-in-grief {
  background:
    linear-gradient(180deg, #e8f0f8 0%, #d0e0f0 50%, #b8d0e0 100%),
    radial-gradient(ellipse at 30% 50%, rgba(200,220,255,0.2) 0%, transparent 60%);
}
.scn-self-control-in-grief .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 18%;
  background: linear-gradient(180deg, #c8c8c0, #a8a898);
  border-radius: 4px 4px 0 0;
}
.scn-self-control-in-grief .window {
  position: absolute; top: 5%; left: 5%; width: 35%; height: 50%;
  background: linear-gradient(180deg, #a8d0e8 0%, #80b8d0 100%);
  border: 4px solid #a8a898; border-radius: 4px;
}
.scn-self-control-in-grief .chair {
  position: absolute; bottom: 18%; left: 40%; width: 20%; height: 40%;
  background: linear-gradient(180deg, #8a7a6a, #5a4a3a);
  border-radius: 6% 6% 10% 10% / 4% 4% 8% 8%;
}
.scn-self-control-in-grief .seated-figure {
  position: absolute; bottom: 22%; left: 43%; width: 14%; height: 35%;
  background: linear-gradient(180deg, #b0c8d8 0%, #8098a8 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: slf-figure 6s ease-in-out infinite alternate;
}
.scn-self-control-in-grief .hands {
  position: absolute; bottom: 28%; left: 46%; width: 4%; height: 4%;
  background: radial-gradient(circle, #c0b8a8, #a09080);
  border-radius: 50% 50% 0 0;
  transform: rotate(10deg);
  animation: slf-hands 4s ease-in-out infinite;
}
.scn-self-control-in-grief .book {
  position: absolute; bottom: 27%; left: 44%; width: 8%; height: 6%;
  background: linear-gradient(180deg, #c8b898, #a08060);
  border-radius: 2px;
  animation: slf-book 8s ease-in-out infinite;
}
.scn-self-control-in-grief .plant {
  position: absolute; bottom: 18%; right: 15%; width: 12%; height: 40%;
  background: linear-gradient(180deg, #5a8a5a 0%, #4a6a3a 100%);
  border-radius: 20% 20% 50% 50% / 10% 10% 60% 60%;
  animation: slf-plant 10s ease-in-out infinite;
}
@keyframes slf-figure {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-0.5deg); }
}
@keyframes slf-hands {
  0% { transform: rotate(10deg) scale(1); }
  50% { transform: rotate(5deg) scale(1.1); }
  100% { transform: rotate(12deg) scale(0.95); }
}
@keyframes slf-book {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(3deg); }
  100% { transform: rotate(-2deg); }
}
@keyframes slf-plant {
  0% { transform: scaleY(1) rotate(0deg); }
  50% { transform: scaleY(1.05) rotate(3deg); }
  100% { transform: scaleY(0.95) rotate(-2deg); }
}

.scn-wisdom-forethought {
  background: linear-gradient(180deg, #f5e6d3 0%, #d9c8a8 40%, #b8a080 100%), radial-gradient(ellipse at 30% 20%, rgba(255, 230, 180, 0.5) 0%, transparent 60%);
  position: relative; overflow: hidden; min-height: 400px;
}
.scn-wisdom-forethought .wall { position: absolute; inset: 0 0 20% 0; background: linear-gradient(180deg, #d9c8a8 0%, #c2a880 100%); }
.scn-wisdom-forethought .window-frame { position: absolute; top: 8%; left: 35%; width: 30%; height: 40%; border: 8px solid #8b6f4e; border-radius: 4px; background: transparent; box-shadow: inset 0 0 30px rgba(255, 220, 150, 0.3); }
.scn-wisdom-forethought .window-light { position: absolute; top: 8%; left: 35%; width: 30%; height: 40%; background: linear-gradient(135deg, rgba(255, 240, 200, 0.4) 0%, rgba(255, 220, 150, 0.1) 100%); clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%); animation: wf-light 6s ease-in-out infinite alternate; }
.scn-wisdom-forethought .desk { position: absolute; bottom: 12%; left: 10%; width: 80%; height: 12%; background: linear-gradient(180deg, #a85a3a 0%, #7a3a1a 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.3); }
.scn-wisdom-forethought .book { position: absolute; bottom: 20%; left: 45%; width: 15%; height: 10%; background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%); border-radius: 2px 2px 6px 6px; transform: rotate(-8deg); box-shadow: 2px 2px 4px rgba(0,0,0,0.4); animation: wf-book 4s ease-in-out infinite; }
.scn-wisdom-forethought .figure { position: absolute; bottom: 15%; left: 30%; width: 20%; height: 40%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wf-figure 5s ease-in-out infinite; }
.scn-wisdom-forethought .lamp { position: absolute; bottom: 28%; left: 20%; width: 8px; height: 12px; background: radial-gradient(circle at 50% 30%, #ffd080 0%, #b08040 100%); border-radius: 50%; box-shadow: 0 0 20px 6px rgba(255, 200, 100, 0.5); animation: wf-lamp 3s ease-in-out infinite alternate; }
.scn-wisdom-forethought .quill { position: absolute; bottom: 22%; left: 52%; width: 12px; height: 20px; background: linear-gradient(180deg, #d4a060 0%, #a07030 100%); border-radius: 0 0 50% 50% / 0 0 80% 80%; transform: rotate(15deg); animation: wf-quill 6s ease-in-out infinite; }
@keyframes wf-light { 0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes wf-book { 0%, 100% { transform: rotate(-8deg) translateY(0); } 50% { transform: rotate(-5deg) translateY(-2px); } }
@keyframes wf-figure { 0% { transform: translateY(0) rotate(1deg); } 50% { transform: translateY(-3px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes wf-lamp { 0% { box-shadow: 0 0 15px 4px rgba(255, 200, 100, 0.4); } 100% { box-shadow: 0 0 25px 8px rgba(255, 200, 100, 0.6); } }
@keyframes wf-quill { 0%, 100% { transform: rotate(15deg); } 50% { transform: rotate(20deg); } }

.scn-arts-fortune {
  background: linear-gradient(180deg, #e8d8b0 0%, #c8b090 40%, #9a7a5a 100%), radial-gradient(ellipse at 60% 30%, rgba(255, 230, 180, 0.4) 0%, transparent 60%);
  position: relative; overflow: hidden; min-height: 400px;
}
.scn-arts-fortune .workshop-wall { position: absolute; inset: 0 0 15% 0; background: linear-gradient(180deg, #c8b090 0%, #a88868 100%); }
.scn-arts-fortune .workshop-window { position: absolute; top: 10%; left: 50%; width: 25%; height: 35%; background: linear-gradient(135deg, rgba(240, 220, 180, 0.5) 0%, rgba(200, 180, 140, 0.2) 100%); border: 6px solid #7a5a3a; border-radius: 4px; transform: translateX(-50%); animation: af-window 8s ease-in-out infinite alternate; }
.scn-arts-fortune .workbench { position: absolute; bottom: 10%; left: 5%; width: 90%; height: 14%; background: linear-gradient(180deg, #7a4a2a 0%, #5a2a0a 100%); border-radius: 4px; box-shadow: 0 4px 6px rgba(0,0,0,0.3); }
.scn-arts-fortune .statue-head { position: absolute; bottom: 18%; left: 55%; width: 14%; height: 22%; background: linear-gradient(180deg, #d0b898 0%, #a08060 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: af-head 7s ease-in-out infinite; box-shadow: 2px 2px 8px rgba(0,0,0,0.3); }
.scn-arts-fortune .chisel { position: absolute; bottom: 22%; left: 60%; width: 6px; height: 18px; background: linear-gradient(180deg, #c0c0c0 0%, #808080 100%); border-radius: 2px; transform: rotate(-20deg); animation: af-tool 4s ease-in-out infinite; }
.scn-arts-fortune .carpenter { position: absolute; bottom: 12%; left: 20%; width: 16%; height: 36%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: af-carpenter 5s ease-in-out infinite; }
.scn-arts-fortune .mallet { position: absolute; bottom: 24%; left: 28%; width: 8px; height: 16px; background: linear-gradient(180deg, #6a4a2a 0%, #3a1a0a 100%); border-radius: 2px; transform: rotate(30deg); animation: af-mallet 3s ease-in-out infinite alternate; }
@keyframes af-window { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes af-head { 0% { transform: rotate(0); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-2deg); } }
@keyframes af-tool { 0%, 100% { transform: rotate(-20deg) translateY(0); } 50% { transform: rotate(-15deg) translateY(-2px); } }
@keyframes af-carpenter { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes af-mallet { 0% { transform: rotate(30deg); } 100% { transform: rotate(20deg); } }

.scn-handicraftsmen {
  background: linear-gradient(180deg, #f2dbb0 0%, #d4b080 40%, #b09060 100%), radial-gradient(ellipse at 50% 0%, rgba(255, 220, 150, 0.5) 0%, transparent 60%);
  position: relative; overflow: hidden; min-height: 400px;
}
.scn-handicraftsmen .sky-warm { position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #f2dbb0 0%, #e0c090 100%); animation: ha-sky 12s ease-in-out infinite alternate; }
.scn-handicraftsmen .street { position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #b09060 0%, #8a6a3a 100%); border-radius: 20% 20% 0 0 / 40% 40% 0 0; }
.scn-handicraftsmen .temple { position: absolute; bottom: 25%; left: 10%; width: 20%; height: 35%; background: linear-gradient(180deg, #c8a878 0%, #a08050 100%); clip-path: polygon(0 100%, 20% 0, 80% 0, 100% 100%); box-shadow: 0 8px 12px rgba(0,0,0,0.3); animation: ha-temple 10s ease-in-out infinite; }
.scn-handicraftsmen .craftsman { position: absolute; bottom: 10%; left: 40%; width: 18%; height: 40%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ha-craftsman 4s ease-in-out infinite; }
.scn-handicraftsmen .basket { position: absolute; bottom: 35%; left: 42%; width: 10%; height: 8%; background: linear-gradient(135deg, #c09050 0%, #a07040 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform: rotate(-10deg); animation: ha-basket 3s ease-in-out infinite; }
.scn-handicraftsmen .basket-fan { position: absolute; bottom: 38%; left: 43%; width: 12%; height: 6%; background: linear-gradient(180deg, #d0a060 0%, #b08040 100%); clip-path: polygon(0 0, 100% 0, 70% 100%, 30% 100%); transform: rotate(20deg); animation: ha-fan 2.5s ease-in-out infinite alternate; }
.scn-handicraftsmen .cloud-handi { position: absolute; top: 12%; left: 70%; width: 15%; height: 8%; background: linear-gradient(180deg, rgba(255,255,255,0.5) 0%, rgba(255,255,255,0.1) 100%); border-radius: 50%; filter: blur(4px); animation: ha-cloud 35s linear infinite; }
@keyframes ha-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes ha-temple { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes ha-craftsman { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(5px) rotate(1deg); } 50% { transform: translateX(10px) rotate(-1deg); } 75% { transform: translateX(5px) rotate(0); } 100% { transform: translateX(0); } }
@keyframes ha-basket { 0%, 100% { transform: rotate(-10deg); } 50% { transform: rotate(-5deg); } }
@keyframes ha-fan { 0% { transform: rotate(20deg) scaleX(1); } 100% { transform: rotate(30deg) scaleX(1.2); } }
@keyframes ha-cloud { 0% { transform: translateX(0); } 100% { transform: translateX(-150vw); } }

.scn-neacles-sponge {
  background: linear-gradient(180deg, #e8d4b0 0%, #c8b090 40%, #aa8a6a 100%), radial-gradient(ellipse at 40% 30%, rgba(255, 200, 100, 0.4) 0%, transparent 60%);
  position: relative; overflow: hidden; min-height: 400px;
}
.scn-neacles-sponge .studio-wall { position: absolute; inset: 0 0 15% 0; background: linear-gradient(180deg, #c8b090 0%, #a08060 100%); }
.scn-neacles-sponge .easel { position: absolute; bottom: 15%; left: 35%; width: 30%; height: 50%; border: 6px solid #6a4a2a; background: transparent; border-radius: 2px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); transform: rotate(-2deg); animation: ns-easel 6s ease-in-out infinite; }
.scn-neacles-sponge .canvas-horse { position: absolute; bottom: 28%; left: 38%; width: 22%; height: 32%; background: linear-gradient(180deg, #d0b898 0%, #b09070 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; clip-path: polygon(0 30%, 20% 0, 80% 0, 100% 30%, 100% 100%, 0 100%); animation: ns-horse 4s ease-in-out infinite; }
.scn-neacles-sponge .sponge { position: absolute; bottom: 35%; left: 55%; width: 8%; height: 6%; background: radial-gradient(circle, #c0a060 0%, #a08040 100%); border-radius: 30% 60% 50% 40% / 40% 30% 60% 50%; transform: rotate(15deg); animation: ns-sponge 2s ease-in-out infinite; }
.scn-neacles-sponge .paint-splash { position: absolute; top: 25%; left: 50%; width: 10%; height: 8%; background: radial-gradient(circle, #c8553d 0%, #a0461a 100%); border-radius: 50% 60% 40% 70% / 60% 40% 80% 50%; animation: ns-splash 3s ease-in-out infinite; filter: blur(1px); }
.scn-neacles-sponge .painter-arm { position: absolute; bottom: 20%; left: 60%; width: 8%; height: 30%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%; transform: rotate(-30deg); transform-origin: top center; animation: ns-arm 1.5s ease-in-out infinite alternate; }
.scn-neacles-sponge .foam-dot { position: absolute; bottom: 45%; left: 45%; width: 3%; height: 3%; background: radial-gradient(circle, #fff 0%, #ddd 100%); border-radius: 50%; animation: ns-foam 2s ease-in-out infinite; }
.scn-neacles-sponge .paint-drip { position: absolute; top: 30%; left: 52%; width: 2%; height: 8%; background: linear-gradient(180deg, #c8553d 0%, transparent 100%); border-radius: 0 0 50% 50% / 0 0 80% 80%; animation: ns-drip 4s ease-in-out infinite; }
@keyframes ns-easel { 0%, 100% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } }
@keyframes ns-horse { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes ns-sponge { 0% { transform: rotate(15deg) scale(1); } 50% { transform: rotate(45deg) scale(1.1); } 100% { transform: rotate(15deg) scale(1); } }
@keyframes ns-splash { 0% { opacity: 0.6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.2); } 100% { opacity: 0.6; transform: scale(0.9); } }
@keyframes ns-arm { 0% { transform: rotate(-30deg); } 100% { transform: rotate(-10deg); } }
@keyframes ns-foam { 0% { opacity: 0.5; transform: scale(0.8); } 50% { opacity: 1; transform: scale(1.5); } 100% { opacity: 0.3; transform: scale(0.6); } }
@keyframes ns-drip { 0% { transform: translateY(0); opacity: 1; } 100% { transform: translateY(20px); opacity: 0; } }

.scn-flee-money-lender {
  background:
    linear-gradient(180deg, #2a1a0e 0%, #1a0e08 30%, #0e0805 100%),
    radial-gradient(ellipse at 30% 100%, #4a2a1a 0%, transparent 70%);
}
.scn-flee-money-lender .bg-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #3a2a1e 0%, #2a1a0e 40%, #1a1008 100%);
  animation: fml-wall 12s ease-in-out infinite alternate;
}
.scn-flee-money-lender .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a1008 0%, #0e0805 100%);
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.6);
}
.scn-flee-money-lender .doorway {
  position: absolute; bottom: 30%; left: 50%; width: 120px; height: 200px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 100%, #0a0604 0%, #1a1008 70%);
  border-radius: 60% 60% 0 0 / 40% 40% 0 0;
  box-shadow: inset 0 0 40px rgba(0,0,0,0.8), 0 0 30px 10px rgba(255,180,80,0.1);
  animation: fml-door 8s ease-in-out infinite;
}
.scn-flee-money-lender .figure-running {
  position: absolute; bottom: 28%; left: 30%; width: 25px; height: 60px;
  background: linear-gradient(180deg, #1a0e08 0%, #0e0604 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fml-run 0.8s ease-in-out infinite;
}
.scn-flee-money-lender .lender-silhouette {
  position: absolute; bottom: 30%; left: 60%; width: 28px; height: 70px;
  background: linear-gradient(180deg, #1a120a 0%, #0e0a06 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform: scaleX(-1);
  animation: fml-lender 4s ease-in-out infinite;
}
.scn-flee-money-lender .lantern {
  position: absolute; bottom: 52%; left: 48%; width: 8px; height: 12px;
  background: radial-gradient(circle, #ffd080 0%, #ffa040 50%, transparent 100%);
  border-radius: 20%;
  box-shadow: 0 0 20px 6px #ffa040, 0 0 40px 12px rgba(255,160,64,0.3);
  animation: fml-lantern 1.5s ease-in-out infinite alternate;
}
.scn-flee-money-lender .shadow {
  position: absolute; bottom: 28%; left: 30%; width: 30px; height: 20px;
  background: rgba(0,0,0,0.6);
  border-radius: 50%;
  filter: blur(4px);
  animation: fml-shadow 0.8s ease-in-out infinite;
}
@keyframes fml-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes fml-door { 0%,100% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(1.01); } }
@keyframes fml-run {
  0% { transform: translateX(0) translateY(0) rotate(-5deg) scaleX(0.9); }
  25% { transform: translateX(10px) translateY(-2px) rotate(3deg) scaleX(1.1); }
  50% { transform: translateX(20px) translateY(0) rotate(-5deg) scaleX(0.9); }
  75% { transform: translateX(30px) translateY(-2px) rotate(3deg) scaleX(1.1); }
  100% { transform: translateX(40px) translateY(0) rotate(-5deg) scaleX(0.9); }
}
@keyframes fml-lender {
  0%,100% { transform: scaleX(-1) translateY(0); }
  50% { transform: scaleX(-1) translateY(-2px); }
}
@keyframes fml-lantern { 0% { box-shadow: 0 0 15px 4px #ffa040; } 50% { box-shadow: 0 0 25px 8px #ffa040, 0 0 50px 15px rgba(255,160,64,0.5); } 100% { box-shadow: 0 0 18px 5px #ffa040; } }
@keyframes fml-shadow {
  0%,100% { transform: scaleX(1) translateX(0); opacity: 0.6; }
  50% { transform: scaleX(1.5) translateX(20px); opacity: 0.4; }
}

.scn-money-lender-harassment {
  background:
    linear-gradient(180deg, #1e1810 0%, #14100a 40%, #0a0806 100%),
    radial-gradient(ellipse at 50% 100%, #2a1e14 0%, transparent 70%);
}
.scn-money-lender-harassment .bg-wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #2a2218 0%, #1a1410 100%);
  animation: mlh-wall 10s ease-in-out infinite alternate;
}
.scn-money-lender-harassment .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #14100a 0%, #0a0806 100%);
  box-shadow: inset 0 20px 30px rgba(0,0,0,0.7);
}
.scn-money-lender-harassment .desk {
  position: absolute; bottom: 30%; left: 40%; width: 100px; height: 10px;
  background: linear-gradient(180deg, #3a2a1a 0%, #221810 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
  animation: mlh-desk 6s ease-in-out infinite;
}
.scn-money-lender-harassment .debtor {
  position: absolute; bottom: 30%; left: 35%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a06 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mlh-debtor 3s ease-in-out infinite;
}
.scn-money-lender-harassment .lender-standing {
  position: absolute; bottom: 30%; left: 55%; width: 26px; height: 65px;
  background: linear-gradient(180deg, #1e1812 0%, #12100a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  box-shadow: -4px 0 8px rgba(0,0,0,0.5);
  animation: mlh-lender 4s ease-in-out infinite;
}
.scn-money-lender-harassment .chains {
  position: absolute; bottom: 36%; left: 32%; width: 30px; height: 4px;
  background: repeating-linear-gradient(90deg, #5a4a3a 0px, #5a4a3a 4px, transparent 4px, transparent 8px);
  border-radius: 2px;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,0.5));
  animation: mlh-chains 2s ease-in-out infinite;
}
.scn-money-lender-harassment .document {
  position: absolute; bottom: 34%; left: 45%; width: 20px; height: 16px;
  background: linear-gradient(180deg, #c8a878 0%, #a08050 100%);
  border-radius: 2px;
  transform: rotate(-10deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  animation: mlh-doc 5s ease-in-out infinite;
}
@keyframes mlh-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes mlh-desk { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes mlh-debtor {
  0%,100% { transform: translateX(0) rotate(0deg) scaleY(1); }
  25% { transform: translateX(2px) rotate(5deg) scaleY(0.95); }
  50% { transform: translateX(0) rotate(0deg) scaleY(1); }
  75% { transform: translateX(-2px) rotate(-5deg) scaleY(0.95); }
}
@keyframes mlh-lender {
  0%,100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(3deg); }
}
@keyframes mlh-chains {
  0%,100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(3px) rotate(10deg); }
}
@keyframes mlh-doc {
  0%,100% { transform: rotate(-10deg) translateY(0); }
  50% { transform: rotate(-8deg) translateY(-1px); }
}

.scn-solon-benefit {
  background:
    linear-gradient(180deg, #2a2218 0%, #1a1410 40%, #0e0a06 100%),
    radial-gradient(ellipse at 70% 50%, #4a3a2a 0%, transparent 60%);
}
.scn-solon-benefit .bg-wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #3a2e24 0%, #221a14 100%);
  animation: slb-wall 15s ease-in-out infinite alternate;
}
.scn-solon-benefit .window-light {
  position: absolute; top: 15%; right: 20%; width: 60px; height: 80px;
  background: radial-gradient(ellipse at 50% 50%, #ffe8c0 0%, #d4a060 50%, transparent 100%);
  border-radius: 10% 10% 30% 30% / 20% 20% 40% 40%;
  box-shadow: 0 0 60px 20px rgba(212,160,96,0.3);
  animation: slb-light 8s ease-in-out infinite alternate;
}
.scn-solon-benefit .solon-figure {
  position: absolute; bottom: 30%; left: 40%; width: 28px; height: 70px;
  background: linear-gradient(180deg, #2a1e18 0%, #1a1410 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: slb-figure 6s ease-in-out infinite;
}
.scn-solon-benefit .scroll {
  position: absolute; bottom: 36%; left: 36%; width: 18px; height: 24px;
  background: linear-gradient(180deg, #c8b090 0%, #a08868 100%);
  border-radius: 0 0 30% 30% / 0 0 20% 20%;
  transform: rotate(-15deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: slb-scroll 12s ease-in-out infinite;
}
.scn-solon-benefit .broken-chains {
  position: absolute; bottom: 30%; left: 28%; width: 40px; height: 6px;
  background: repeating-linear-gradient(90deg, #6a5a4a 0px, #6a5a4a 3px, transparent 3px, transparent 6px);
  border-radius: 3px;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.5));
  animation: slb-chains 10s ease-in-out infinite;
}
.scn-solon-benefit .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a06 100%);
  box-shadow: inset 0 20px 30px rgba(0,0,0,0.5);
}
@keyframes slb-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes slb-light {
  0% { box-shadow: 0 0 40px 15px rgba(212,160,96,0.2); opacity: 0.8; }
  50% { box-shadow: 0 0 60px 25px rgba(212,160,96,0.4); opacity: 1; }
  100% { box-shadow: 0 0 50px 20px rgba(212,160,96,0.25); opacity: 0.9; }
}
@keyframes slb-figure {
  0%,100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-1px) rotate(-2deg); }
}
@keyframes slb-scroll {
  0%,100% { transform: rotate(-15deg) translateY(0); }
  50% { transform: rotate(-12deg) translateY(-2px); }
}
@keyframes slb-chains {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(2px); }
}

.scn-forum-hell {
  background:
    linear-gradient(180deg, #0a0604 0%, #120a06 30%, #1a1008 60%, #0e0805 100%),
    radial-gradient(ellipse at 50% 80%, #2a1a0e 0%, transparent 70%);
}
.scn-forum-hell .bg-deep {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #0a0604 0%, #120a06 40%, #1a1008 70%, #0e0805 100%);
  animation: fh-deep 20s ease-in-out infinite alternate;
}
.scn-forum-hell .figure-left {
  position: absolute; bottom: 20%; left: 15%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #1a0e08 0%, #0e0604 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fh-figure-left 3s ease-in-out infinite;
}
.scn-forum-hell .figure-right {
  position: absolute; bottom: 20%; right: 15%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #1a0e08 0%, #0e0604 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fh-figure-right 3.5s ease-in-out infinite;
}
.scn-forum-hell .vulture-one {
  position: absolute; top: 10%; left: 25%; width: 40px; height: 30px;
  background: radial-gradient(ellipse at 50% 100%, #1a120a 0%, transparent 100%);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  clip-path: polygon(0 100%, 20% 40%, 50% 0, 80% 40%, 100% 100%);
  animation: fh-vulture 12s ease-in-out infinite;
}
.scn-forum-hell .vulture-two {
  position: absolute; top: 15%; right: 20%; width: 35px; height: 25px;
  background: radial-gradient(ellipse at 50% 100%, #1a140e 0%, transparent 100%);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  clip-path: polygon(0 100%, 20% 40%, 50% 0, 80% 40%, 100% 100%);
  animation: fh-vulture2 15s ease-in-out infinite;
}
.scn-forum-hell .chains {
  position: absolute; bottom: 25%; left: 30%; width: 60px; height: 4px;
  background: repeating-linear-gradient(90deg, #4a3a2a 0px, #4a3a2a 5px, transparent 5px, transparent 10px);
  border-radius: 2px;
  filter: drop-shadow(0 4px 6px rgba(0,0,0,0.8));
  animation: fh-chains 2s ease-in-out infinite;
}
.scn-forum-hell .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #120a06 0%, #0a0604 100%);
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.8);
}
@keyframes fh-deep { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes fh-figure-left {
  0%,100% { transform: translateX(0) rotate(0deg) scaleY(1); }
  25% { transform: translateX(5px) rotate(5deg) scaleY(0.9); }
  50% { transform: translateX(0) rotate(0deg) scaleY(1); }
  75% { transform: translateX(-5px) rotate(-5deg) scaleY(0.9); }
}
@keyframes fh-figure-right {
  0%,100% { transform: translateX(0) rotate(0deg) scaleY(1); }
  25% { transform: translateX(-5px) rotate(-5deg) scaleY(0.9); }
  50% { transform: translateX(0) rotate(0deg) scaleY(1); }
  75% { transform: translateX(5px) rotate(5deg) scaleY(0.9); }
}
@keyframes fh-vulture {
  0% { transform: translate(0, 0) rotate(0deg); }
  25% { transform: translate(20px, -10px) rotate(5deg); }
  50% { transform: translate(40px, 0) rotate(0deg); }
  75% { transform: translate(60px, -15px) rotate(-5deg); }
  100% { transform: translate(80px, 0) rotate(0deg); }
}
@keyframes fh-vulture2 {
  0% { transform: translate(0, 0) rotate(0deg); }
  25% { transform: translate(-15px, -8px) rotate(-5deg); }
  50% { transform: translate(-30px, 0) rotate(0deg); }
  75% { transform: translate(-45px, -12px) rotate(5deg); }
  100% { transform: translate(-60px, 0) rotate(0deg); }
}
@keyframes fh-chains {
  0%,100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(5px) rotate(8deg); }
}

.scn-lakes-punishment {
  background: linear-gradient(180deg, #2a0a00 0%, #4a1a00 30%, #6a2a00 60%, #3a0a00 100%),
              radial-gradient(ellipse at 50% 80%, #ff6a1a33 0%, transparent 60%);
}
.scn-lakes-punishment .sky-fire { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #8a3a00 0%, #3a0a00 100%); opacity:.6; animation: lp-sky 8s ease-in-out infinite alternate; }
.scn-lakes-punishment .lake-gold { position:absolute; bottom:35%; left:5%; width:25%; height:12%; background: linear-gradient(180deg, #c86008 0%, #7a3a00 100%); border-radius:0 0 40% 40%; box-shadow:0 -10px 30px #c8600866; animation: lp-lake 6s ease-in-out infinite; }
.scn-lakes-punishment .lake-lead { position:absolute; bottom:35%; left:35%; width:30%; height:12%; background: linear-gradient(180deg, #4a4a4a 0%, #2a2a2a 100%); border-radius:0 0 50% 50%; box-shadow:0 -8px 20px #2a2a2a66; animation: lp-lake 7s ease-in-out infinite 1s; }
.scn-lakes-punishment .lake-iron { position:absolute; bottom:35%; left:68%; width:27%; height:12%; background: linear-gradient(180deg, #5a3a1a 0%, #3a2a0a 100%); border-radius:0 0 30% 30%; box-shadow:0 -8px 20px #3a2a0a66; animation: lp-lake 5s ease-in-out infinite 2s; }
.scn-lakes-punishment .demon-left { position:absolute; bottom:30%; left:2%; width:16%; height:40%; background: radial-gradient(ellipse 80% 100% at 50% 100%, #1a0a00 0%, #0a0500 100%); border-radius:40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin:bottom; animation: lp-demon 4s ease-in-out infinite; }
.scn-lakes-punishment .demon-right { position:absolute; bottom:30%; right:2%; width:16%; height:40%; background: radial-gradient(ellipse 80% 100% at 50% 100%, #1a0a00 0%, #0a0500 100%); border-radius:40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin:bottom; animation: lp-demon 4s ease-in-out infinite reverse; }
.scn-lakes-punishment .soul-up { position:absolute; bottom:38%; left:18%; width:8%; height:12%; background: radial-gradient(ellipse 60% 90% at 50% 50%, #ffcc8066 0%, transparent 100%); border-radius:50%; animation: lp-soul-up 6s ease-in-out infinite; }
.scn-lakes-punishment .soul-down { position:absolute; bottom:18%; left:60%; width:8%; height:12%; background: radial-gradient(ellipse 60% 90% at 50% 50%, #ffaa5566 0%, transparent 100%); border-radius:50%; animation: lp-soul-down 7s ease-in-out infinite 2s; }
.scn-lakes-punishment .sparks { position:absolute; inset:0; background: radial-gradient(circle at 30% 80%, #ff8c0044 0%, transparent 50%), radial-gradient(circle at 70% 70%, #ff660033 0%, transparent 50%); animation: lp-sparks 3s ease-in-out infinite alternate; }
@keyframes lp-sky { 0% { opacity:.5; } 50% { opacity:.7; } 100% { opacity:.5; } }
@keyframes lp-lake { 0% { transform:scaleY(1) translateY(0); } 50% { transform:scaleY(1.1) translateY(-2px); } 100% { transform:scaleY(1) translateY(0); } }
@keyframes lp-demon { 0% { transform:translateY(0) rotate(0deg); } 25% { transform:translateY(-4px) rotate(2deg); } 50% { transform:translateY(-2px) rotate(-1deg); } 75% { transform:translateY(-5px) rotate(1deg); } 100% { transform:translateY(0) rotate(0deg); } }
@keyframes lp-soul-up { 0% { opacity:0; transform:translateY(30px) scale(.5); } 50% { opacity:.8; transform:translateY(-20px) scale(1); } 100% { opacity:0; transform:translateY(-50px) scale(.3); } }
@keyframes lp-soul-down { 0% { opacity:0; transform:translateY(-30px) scale(.5); } 50% { opacity:.8; transform:translateY(20px) scale(1); } 100% { opacity:0; transform:translateY(50px) scale(.3); } }
@keyframes lp-sparks { 0% { opacity:.3; } 50% { opacity:.8; } 100% { opacity:.3; } }

.scn-item-lakes-torture {
  background: linear-gradient(180deg, #1a0500 0%, #3a0a00 30%, #5a1500 60%, #2a0500 100%),
              radial-gradient(ellipse at 50% 80%, #ff5a0066 0%, transparent 50%);
}
.scn-item-lakes-torture .bg-abyss { position:absolute; inset:0; background: linear-gradient(0deg, #0a0200 0%, #2a0a00 100%); }
.scn-item-lakes-torture .cauldron-gold { position:absolute; bottom:55%; left:10%; width:30%; height:20%; background: radial-gradient(ellipse 80% 100% at 50% 100%, #c86008 0%, #5a2a00 100%); border-radius:0 0 50% 50%; box-shadow:0 10px 40px #c8600866; animation: ilt-lake 5s ease-in-out infinite; }
.scn-item-lakes-torture .cauldron-lead { position:absolute; bottom:30%; left:20%; width:40%; height:20%; background: radial-gradient(ellipse 80% 100% at 50% 100%, #5a5a5a 0%, #2a2a2a 100%); border-radius:0 0 50% 50%; box-shadow:0 8px 30px #5a5a5a44; animation: ilt-lake 6s ease-in-out infinite 1.5s; }
.scn-item-lakes-torture .cauldron-iron { position:absolute; bottom:5%; left:5%; width:50%; height:20%; background: radial-gradient(ellipse 80% 100% at 50% 100%, #6a4a2a 0%, #3a2a0a 100%); border-radius:0 0 50% 50%; box-shadow:0 8px 30px #6a4a2a44; animation: ilt-lake 7s ease-in-out infinite 3s; }
.scn-item-lakes-torture .soul-victim { position:absolute; bottom:15%; left:35%; width:12%; height:25%; background: radial-gradient(ellipse 60% 90% at 50% 50%, #ffaa5566 0%, transparent 100%); border-radius:50%; transform-origin:bottom center; animation: ilt-soul 8s ease-in-out infinite; }
.scn-item-lakes-torture .demon-hook { position:absolute; bottom:40%; left:5%; width:20%; height:20%; background: radial-gradient(ellipse 100% 80% at 50% 100%, #1a0a00 0%, #0a0500 100%); border-radius:40% 40% 20% 20%; transform-origin:bottom; animation: ilt-demon 4s ease-in-out infinite; }
.scn-item-lakes-torture .splash-gold { position:absolute; bottom:55%; left:15%; width:10%; height:8%; background: radial-gradient(circle, #ffaa0044 0%, transparent 60%); border-radius:50%; animation: ilt-splash 3s ease-in-out infinite; }
.scn-item-lakes-torture .splash-lead { position:absolute; bottom:30%; left:25%; width:12%; height:8%; background: radial-gradient(circle, #88888844 0%, transparent 60%); border-radius:50%; animation: ilt-splash 3.5s ease-in-out infinite 1s; }
.scn-item-lakes-torture .splash-iron { position:absolute; bottom:5%; left:10%; width:15%; height:8%; background: radial-gradient(circle, #6a4a2a44 0%, transparent 60%); border-radius:50%; animation: ilt-splash 4s ease-in-out infinite 2s; }
@keyframes ilt-lake { 0% { transform:scaleY(1); } 50% { transform:scaleY(1.15); } 100% { transform:scaleY(1); } }
@keyframes ilt-soul { 0% { transform:translateY(0) scale(1); opacity:.8; } 30% { transform:translateY(30px) scale(1.1); opacity:.6; } 60% { transform:translateY(-20px) scale(.9); opacity:1; } 100% { transform:translateY(0) scale(1); opacity:.8; } }
@keyframes ilt-demon { 0% { transform:translateY(0) rotate(0deg); } 25% { transform:translateY(-3px) rotate(5deg); } 50% { transform:translateY(-1px) rotate(-3deg); } 75% { transform:translateY(-4px) rotate(4deg); } 100% { transform:translateY(0) rotate(0deg); } }
@keyframes ilt-splash { 0% { opacity:0; transform:scale(.3); } 50% { opacity:1; transform:scale(1.2); } 100% { opacity:0; transform:scale(0); } }

.scn-justice-avenged {
  background: linear-gradient(180deg, #1a0500 0%, #2a0800 30%, #4a1000 60%, #1a0200 100%),
              radial-gradient(ellipse at 50% 20%, #ff440033 0%, transparent 50%);
}
.scn-justice-avenged .sky-storm { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #4a1000 0%, #1a0200 100%); opacity:.7; animation: ja-sky 10s ease-in-out infinite alternate; }
.scn-justice-avenged .chasm { position:absolute; bottom:0; left:0; right:0; height:60%; background: linear-gradient(0deg, #0a0200 0%, #1a0500 100%); border-radius:0 0 20% 20%; }
.scn-justice-avenged .hand-justice { position:absolute; top:30%; left:30%; width:40%; height:50%; background: radial-gradient(ellipse 80% 100% at 50% 100%, #5e1a1d 0%, #2a0a0a 100%); border-radius:40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin:bottom; animation: ja-hand 5s ease-in-out infinite; box-shadow:0 20px 40px #5e1a1d66; }
.scn-justice-avenged .chain { position:absolute; top:25%; left:45%; width:10%; height:30%; background: repeating-linear-gradient(0deg, #888 0px, #888 4px, transparent 4px, transparent 8px); opacity:.6; animation: ja-chain 3s ease-in-out infinite; }
.scn-justice-avenged .soul-escaped { position:absolute; bottom:30%; left:40%; width:15%; height:20%; background: radial-gradient(ellipse 60% 90% at 50% 50%, #ffaa5544 0%, transparent 100%); border-radius:50%; transform-origin:bottom; animation: ja-soul 6s ease-in-out infinite; }
.scn-justice-avenged .soul-child-1 { position:absolute; bottom:35%; left:35%; width:6%; height:8%; background: radial-gradient(ellipse 60% 90% at 50% 50%, #ffaa5522 0%, transparent 100%); border-radius:50%; animation: ja-soul-child 7s ease-in-out infinite; }
.scn-justice-avenged .soul-child-2 { position:absolute; bottom:40%; left:50%; width:6%; height:8%; background: radial-gradient(ellipse 60% 90% at 50% 50%, #ffaa5522 0%, transparent 100%); border-radius:50%; animation: ja-soul-child 7.5s ease-in-out infinite 1s; }
.scn-justice-avenged .soul-child-3 { position:absolute; bottom:25%; left:48%; width:6%; height:8%; background: radial-gradient(ellipse 60% 90% at 50% 50%, #ffaa5522 0%, transparent 100%); border-radius:50%; animation: ja-soul-child 8s ease-in-out infinite 2s; }
@keyframes ja-sky { 0% { opacity:.6; } 50% { opacity:.9; } 100% { opacity:.6; } }
@keyframes ja-hand { 0% { transform:translateY(0) rotate(0deg); } 25% { transform:translateY(-5px) rotate(3deg); } 50% { transform:translateY(-2px) rotate(-2deg); } 75% { transform:translateY(-6px) rotate(4deg); } 100% { transform:translateY(0) rotate(0deg); } }
@keyframes ja-chain { 0% { transform:rotate(0deg); } 25% { transform:rotate(5deg); } 50% { transform:rotate(-5deg); } 75% { transform:rotate(8deg); } 100% { transform:rotate(0deg); } }
@keyframes ja-soul { 0% { transform:translateY(0) scale(1); opacity:.7; } 50% { transform:translateY(-15px) scale(1.1); opacity:1; } 100% { transform:translateY(0) scale(1); opacity:.7; } }
@keyframes ja-soul-child { 0% { transform:translate(0,0) scale(.8); opacity:.5; } 50% { transform:translate(5px,-5px) scale(1); opacity:.9; } 100% { transform:translate(0,0) scale(.8); opacity:.5; } }

.scn-ministers-torture {
  background: linear-gradient(180deg, #1a0200 0%, #3a0800 30%, #5a1000 60%, #1a0200 100%),
              radial-gradient(ellipse at 50% 20%, #ff330033 0%, transparent 50%);
}
.scn-ministers-torture .bg-inferno { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 80%, #6a1a0066 0%, transparent 70%); }
.scn-ministers-torture .minister-main { position:absolute; bottom:10%; left:15%; width:20%; height:50%; background: radial-gradient(ellipse 80% 100% at 50% 100%, #1a0a00 0%, #0a0500 100%); border-radius:40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin:bottom; animation: mt-minister 4s ease-in-out infinite; }
.scn-ministers-torture .soul-captive { position:absolute; bottom:20%; left:30%; width:12%; height:18%; background: radial-gradient(ellipse 60% 90% at 50% 50%, #ffaa5544 0%, transparent 100%); border-radius:50%; transform-origin:bottom; animation: mt-captive 6s ease-in-out infinite; }
.scn-ministers-torture .posterity-1 { position:absolute; bottom:25%; left:28%; width:6%; height:8%; background: radial-gradient(ellipse 60% 90% at 50% 50%, #ffaa5522 0%, transparent 100%); border-radius:50%; animation: mt-posterity 3s ease-in-out infinite; }
.scn-ministers-torture .posterity-2 { position:absolute; bottom:30%; left:35%; width:6%; height:8%; background: radial-gradient(ellipse 60% 90% at 50% 50%, #ffaa5522 0%, transparent 100%); border-radius:50%; animation: mt-posterity 3.3s ease-in-out infinite 0.5s; }
.scn-ministers-torture .posterity-3 { position:absolute; bottom:18%; left:40%; width:6%; height:8%; background: radial-gradient(ellipse 60% 90% at 50% 50%, #ffaa5522 0%, transparent 100%); border-radius:50%; animation: mt-posterity 3.6s ease-in-out infinite 1s; }
.scn-ministers-torture .posterity-4 { position:absolute; bottom:22%; left:22%; width:5%; height:7%; background: radial-gradient(ellipse 60% 90% at 50% 50%, #ffaa5522 0%, transparent 100%); border-radius:50%; animation: mt-posterity 3.9s ease-in-out infinite 1.5s; }
.scn-ministers-torture .posterity-5 { position:absolute; bottom:28%; left:45%; width:5%; height:7%; background: radial-gradient(ellipse 60% 90% at 50% 50%, #ffaa5522 0%, transparent 100%); border-radius:50%; animation: mt-posterity 4.2s ease-in-out infinite 2s; }
.scn-ministers-torture .dust { position:absolute; inset:0; background: radial-gradient(circle at 60% 40%, #ff660033 0%, transparent 50%), radial-gradient(circle at 30% 70%, #ff440022 0%, transparent 50%); animation: mt-dust 5s ease-in-out infinite alternate; }
@keyframes mt-minister { 0% { transform:translateY(0) rotate(0deg); } 25% { transform:translateY(-3px) rotate(2deg); } 50% { transform:translateY(-1px) rotate(-2deg); } 75% { transform:translateY(-4px) rotate(3deg); } 100% { transform:translateY(0) rotate(0deg); } }
@keyframes mt-captive { 0% { transform:translateY(0) scale(1); opacity:.8; } 50% { transform:translateY(-10px) scale(1.1); opacity:1; } 100% { transform:translateY(0) scale(1); opacity:.8; } }
@keyframes mt-posterity { 0% { transform:translate(0,0) scale(.7); opacity:.4; } 50% { transform:translate(8px,-8px) scale(1); opacity:.8; } 100% { transform:translate(0,0) scale(.7); opacity:.4; } }
@keyframes mt-dust { 0% { opacity:.2; } 50% { opacity:.6; } 100% { opacity:.2; } }

/* ---------- index-simonides ---------- */
.scn-index-simonides {
  background:
    linear-gradient(165deg, #2b1f14 0%, #3f2c1c 40%, #5a3f2a 70%, #4a3524 100%),
    radial-gradient(ellipse at 60% 30%, #6a4a2e 0%, transparent 60%);
}
.scn-index-simonides .wall    { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #3f2c1c 0%, #2b1f14 100%); }
.scn-index-simonides .floor   { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #4a3524 0%, #2b1f14 100%); }
.scn-index-simonides .bookshelf{ position:absolute; top:10%; left:5%; width:30%; height:45%; background: linear-gradient(180deg, #5a3f2a 0%, #4a3524 100%); border-radius: 4px; box-shadow: inset 0 4px 8px rgba(0,0,0,.4); }
.scn-index-simonides .book-row{ position:absolute; top:14%; left:7%; width:26%; height:38%; background: repeating-linear-gradient(90deg, #7a5a3a 0px, #7a5a3a 8px, #8a6a4a 8px, #8a6a4a 16px, #6a4a2e 16px, #6a4a2e 24px); border-radius: 2px; animation: sim-book 15s ease-in-out infinite; }
.scn-index-simonides .desk    { position:absolute; bottom:22%; left:35%; width:40%; height:12%; background: linear-gradient(180deg, #6a4a2e 0%, #4a3524 100%); border-radius: 6px 6px 2px 2px; box-shadow: 0 4px 10px rgba(0,0,0,.5); }
.scn-index-simonides .lamp    { position:absolute; bottom:34%; left:50%; width:12px; height:30px; transform:translateX(-50%); background: linear-gradient(180deg, #8a704a 0%, #6a4a2e 100%); border-radius: 4px 4px 8px 8px; }
.scn-index-simonides .lamp::before { content:''; position:absolute; top:-8px; left:-6px; width:24px; height:16px; background: radial-gradient(ellipse, #d4a84a 0%, #b08030 60%, transparent 100%); border-radius: 50%; box-shadow: 0 0 30px 10px rgba(180,120,40,.5); animation: sim-glow 4s ease-in-out infinite alternate; }
.scn-index-simonides .scroll  { position:absolute; bottom:24%; left:40%; width:60px; height:8px; background: linear-gradient(180deg, #c8b07a 0%, #a89060 100%); border-radius: 4px; transform: rotate(-5deg); animation: sim-scroll 6s ease-in-out infinite; }
.scn-index-simonides .chair   { position:absolute; bottom:12%; left:60%; width:40px; height:40px; background: linear-gradient(180deg, #3f2c1c 0%, #2b1f14 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-index-simonides .dust    { position:absolute; width:6px; height:6px; background: rgba(200,180,140,.3); border-radius: 50%; filter: blur(2px); }
.scn-index-simonides .dust-a  { top:25%; left:20%; animation: sim-dust 12s linear infinite; animation-delay: 0s; }
.scn-index-simonides .dust-b  { top:45%; left:70%; animation: sim-dust 14s linear infinite; animation-delay: -5s; }
@keyframes sim-book { 0%{ transform:translateY(0) } 50%{ transform:translateY(-2px) } 100%{ transform:translateY(0) } }
@keyframes sim-glow { 0%{ opacity:.7; box-shadow:0 0 20px 6px rgba(180,120,40,.4) } 100%{ opacity:1; box-shadow:0 0 40px 15px rgba(200,150,60,.6) } }
@keyframes sim-scroll { 0%,100%{ transform:rotate(-5deg) translateY(0) } 50%{ transform:rotate(-3deg) translateY(-1px) } }
@keyframes sim-dust { 0%{ opacity:0; transform:translateY(0) scale(.5) } 20%{ opacity:.5 } 80%{ opacity:.3 } 100%{ opacity:0; transform:translateY(-60px) scale(1.2) } }

/* ---------- index-solon ---------- */
.scn-index-solon {
  background:
    linear-gradient(170deg, #2a1f15 0%, #3d2b1f 45%, #553a26 75%, #3d2b1f 100%),
    radial-gradient(ellipse at 70% 40%, #5c4030 0%, transparent 70%);
}
.scn-index-solon .wall    { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #3d2b1f 0%, #2a1f15 100%); }
.scn-index-solon .floor   { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #4a3424 0%, #2a1f15 100%); }
.scn-index-solon .table   { position:absolute; bottom:20%; left:30%; width:50%; height:10%; background: linear-gradient(180deg, #6a4a2e 0%, #4a3424 100%); border-radius: 6px; box-shadow: 0 4px 12px rgba(0,0,0,.5); }
.scn-index-solon .candle  { position:absolute; bottom:30%; left:45%; width:10px; height:28px; background: linear-gradient(180deg, #e8d4a0 0%, #c8b07a 100%); border-radius: 3px; }
.scn-index-solon .candle::after { content:''; position:absolute; top:-10px; left:-4px; width:18px; height:14px; background: radial-gradient(ellipse, #ffa060 0%, #d08030 60%, transparent 100%); border-radius: 50%; box-shadow: 0 0 25px 8px rgba(200,120,40,.5); animation: sol-flame 2s ease-in-out infinite alternate; }
.scn-index-solon .inkwell { position:absolute; bottom:24%; left:36%; width:20px; height:16px; background: radial-gradient(ellipse at 50% 20%, #3a2a1a 0%, #1a120a 100%); border-radius: 40% 40% 20% 20%; }
.scn-index-solon .quill   { position:absolute; bottom:26%; left:38%; width:40px; height:6px; background: linear-gradient(90deg, #d4b08a 0%, #b09070 100%); border-radius: 2px; transform: rotate(-20deg); transform-origin: left center; animation: sol-quill 5s ease-in-out infinite; }
.scn-index-solon .parchment{ position:absolute; bottom:22%; left:48%; width:70px; height:20px; background: linear-gradient(135deg, #e8d4b0 0%, #d4b08a 100%); border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,.3); transform: rotate(2deg); animation: sol-paper 7s ease-in-out infinite; }
.scn-index-solon .globe   { position:absolute; bottom:15%; right:15%; width:40px; height:40px; background: radial-gradient(circle at 40% 40%, #8a7a5a 0%, #5a4a2a 100%); border-radius: 50%; box-shadow: inset -4px -4px 10px rgba(0,0,0,.4); animation: sol-globe 20s linear infinite; }
.scn-index-solon .globe-ring { position:absolute; bottom:15%; right:15%; width:44px; height:44px; border:2px solid #8a6a3a; border-radius: 50%; left:auto; transform:translate(-2px, -2px); pointer-events:none; }
.scn-index-solon .dust    { position:absolute; width:5px; height:5px; background: rgba(200,180,140,.25); border-radius: 50%; filter: blur(2px); }
.scn-index-solon .dust-a  { top:30%; left:60%; animation: sol-dust 15s linear infinite; }
.scn-index-solon .dust-b  { top:50%; left:20%; animation: sol-dust 18s linear infinite; animation-delay: -6s; }
@keyframes sol-flame { 0%{ opacity:.8; transform:scaleY(1) } 100%{ opacity:1; transform:scaleY(1.3) } }
@keyframes sol-quill { 0%,100%{ transform:rotate(-20deg) } 50%{ transform:rotate(-15deg) translateY(-1px) } }
@keyframes sol-paper { 0%,100%{ transform:rotate(2deg) translateY(0) } 50%{ transform:rotate(4deg) translateY(-1px) } }
@keyframes sol-globe { 0%{ transform:rotate(0deg) } 100%{ transform:rotate(360deg) } }
@keyframes sol-dust { 0%{ opacity:0; transform:translateY(0) scale(.6) } 20%{ opacity:.4 } 80%{ opacity:.2 } 100%{ opacity:0; transform:translateY(-70px) scale(1.3) } }

/* ---------- index-speusippus ---------- */
.scn-index-speusippus {
  background:
    linear-gradient(175deg, #1e1610 0%, #2e2218 50%, #4a3524 80%, #2e2218 100%),
    radial-gradient(ellipse at 50% 30%, #4a3524 0%, transparent 60%);
}
.scn-index-speusippus .wall    { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #2e2218 0%, #1e1610 100%); }
.scn-index-speusippus .floor   { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #3a2a1a 0%, #1e1610 100%); }
.scn-index-speusippus .niche   { position:absolute; top:10%; left:30%; width:40%; height:50%; background: linear-gradient(180deg, #3a2a1a 0%, #1e1610 100%); border-radius: 8px; box-shadow: inset 0 0 20px rgba(0,0,0,.6); }
.scn-index-speusippus .bust    { position:absolute; top:18%; left:42%; width:16%; height:30%; background: linear-gradient(180deg, #b0a090 0%, #8a7a6a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; box-shadow: 0 4px 8px rgba(0,0,0,.4); animation: spe-bust 25s ease-in-out infinite; }
.scn-index-speusippus .pedestal{ position:absolute; bottom:40%; left:44%; width:8%; height:8%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 2px; }
.scn-index-speusippus .curtain { position:absolute; top:0; width:20%; height:100%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); }
.scn-index-speusippus .curtain-l{ left:10%; border-radius: 0 60% 0 0; animation: spe-curtain 12s ease-in-out infinite; }
.scn-index-speusippus .curtain-r{ right:10%; border-radius: 60% 0 0 0; animation: spe-curtain 12s ease-in-out infinite reverse; }
.scn-index-speusippus .lamp-small{ position:absolute; top:20%; right:25%; width:8px; height:20px; background: #8a6a3a; border-radius: 2px 2px 6px 6px; }
.scn-index-speusippus .lamp-small::after { content:''; position:absolute; top:-6px; left:-4px; width:16px; height:12px; background: radial-gradient(ellipse, #d4a84a 0%, #b08030 60%, transparent 100%); border-radius: 50%; box-shadow: 0 0 20px 6px rgba(180,120,40,.4); animation: spe-glow 5s ease-in-out infinite alternate; }
.scn-index-speusippus .rug    { position:absolute; bottom:5%; left:20%; width:60%; height:15%; background: linear-gradient(90deg, #3a2a1a 0%, #5a4a2a 20%, #3a2a1a 40%, #5a4a2a 60%, #3a2a1a 80%, #5a4a2a 100%); border-radius: 40% 40% 10% 10%; opacity:.6; }
.scn-index-speusippus .dust   { position:absolute; width:5px; height:5px; background: rgba(180,160,130,.2); border-radius: 50%; filter: blur(2px); }
.scn-index-speusippus .dust-a { top:35%; left:25%; animation: spe-dust 20s linear infinite; }
.scn-index-speusippus .dust-b { top:55%; right:30%; animation: spe-dust 22s linear infinite; animation-delay: -8s; }
@keyframes spe-bust { 0%,100%{ transform:rotate(0deg) } 50%{ transform:rotate(3deg) translateY(-2px) } }
@keyframes spe-curtain { 0%,100%{ transform:scaleX(1) } 50%{ transform:scaleX(.95) } }
@keyframes spe-glow { 0%{ opacity:.6; box-shadow:0 0 15px 4px rgba(180,120,40,.3) } 100%{ opacity:1; box-shadow:0 0 30px 10px rgba(200,150,60,.5) } }
@keyframes spe-dust { 0%{ opacity:0; transform:translateY(0) scale(.5) } 20%{ opacity:.3 } 80%{ opacity:.2 } 100%{ opacity:0; transform:translateY(-80px) scale(1.4) } }

/* ---------- index-themistocles ---------- */
.scn-index-themistocles {
  background:
    linear-gradient(168deg, #1c1410 0%, #2c1e16 40%, #3f2c1c 70%, #2c1e16 100%),
    radial-gradient(ellipse at 40% 20%, #4a3524 0%, transparent 60%);
}
.scn-index-themistocles .wall    { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #2c1e16 0%, #1c1410 100%); }
.scn-index-themistocles .floor   { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #3f2c1c 0%, #1c1410 100%); }
.scn-index-themistocles .shield  { position:absolute; top:35%; left:20%; width:80px; height:80px; background: radial-gradient(circle at 40% 40%, #a08060 0%, #6a5040 70%, #4a3020 100%); border-radius: 50%; border:4px solid #8a6a4a; box-shadow: 0 6px 12px rgba(0,0,0,.5); animation: the-shield 8s ease-in-out infinite; }
.scn-index-themistocles .shield::after { content:''; position:absolute; top:15%; left:15%; width:70%; height:70%; border:2px solid #6a5040; border-radius: 50%; }
.scn-index-themistocles .sword   { position:absolute; top:20%; left:60%; width:6px; height:70px; background: linear-gradient(180deg, #d0c0a0 0%, #a09070 60%, #6a5040 100%); border-radius: 2px; transform: rotate(30deg); transform-origin: bottom center; animation: the-sword 6s ease-in-out infinite alternate; }
.scn-index-themistocles .torch   { position:absolute; bottom:30%; left:50%; width:10px; height:40px; background: linear-gradient(180deg, #8a6a3a 0%, #4a3020 100%); border-radius: 3px; }
.scn-index-themistocles .torch::after { content:''; position:absolute; top:-12px; left:-6px; width:22px; height:18px; background: radial-gradient(ellipse, #ffa040 0%, #d08030 50%, transparent 100%); border-radius: 50%; box-shadow: 0 0 35px 12px rgba(200,100,30,.6); animation: the-flame 3s ease-in-out infinite alternate; }
.scn-index-themistocles .helmet  { position:absolute; top:38%; right:20%; width:30px; height:30px; background: radial-gradient(circle at 40% 30%, #a09070 0%, #6a5040 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-10deg); box-shadow: 0 4px 8px rgba(0,0,0,.4); animation: the-helmet 10s ease-in-out infinite; }
.scn-index-themistocles .map     { position:absolute; bottom:10%; left:15%; width:60px; height:40px; background: linear-gradient(135deg, #c8b07a 0%, #a89060 100%); border-radius: 2px; transform: rotate(-5deg); box-shadow: 0 2px 6px rgba(0,0,0,.3); animation: the-map 9s ease-in-out infinite; }
.scn-index-themistocles .stand   { position:absolute; bottom:22%; left:12%; width:10px; height:30px; background: #4a3020; border-radius: 2px; }
.scn-index-themistocles .dust    { position:absolute; width:5px; height:5px; background: rgba(180,150,120,.25); border-radius: 50%; filter: blur(2px); }
.scn-index-themistocles .dust-a  { top:25%; left:30%; animation: the-dust 14s linear infinite; }
.scn-index-themistocles .dust-b  { top:50%; left:70%; animation: the-dust 16s linear infinite; animation-delay: -7s; }
@keyframes the-shield { 0%,100%{ transform:rotate(0deg) translateY(0) } 50%{ transform:rotate(2deg) translateY(-3px) } }
@keyframes the-sword { 0%{ transform:rotate(28deg) } 100%{ transform:rotate(32deg) } }
@keyframes the-flame { 0%{ opacity:.8; transform:scaleY(1) } 100%{ opacity:1; transform:scaleY(1.4) } }
@keyframes the-helmet { 0%,100%{ transform:rotate(-10deg) } 50%{ transform:rotate(-5deg) translateY(-2px) } }
@keyframes the-map { 0%,100%{ transform:rotate(-5deg) } 50%{ transform:rotate(-2deg) translateY(-1px) } }
@keyframes the-dust { 0%{ opacity:0; transform:translateY(0) scale(.5) } 20%{ opacity:.4 } 80%{ opacity:.2 } 100%{ opacity:0; transform:translateY(-60px) scale(1.2) } }

.scn-body-ill-send-doctor-mind-avoid-philosopher {
  background: linear-gradient(180deg, #1a1a2e 0%, #0f0f1a 100%), radial-gradient(ellipse at 70% 80%, #2a2a3e 0%, transparent 70%);
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.scn-body-ill-send-doctor-mind-avoid-philosopher .room-bg { position: absolute; inset: 0; background: linear-gradient(90deg, #1c1c28 0%, #12121a 100%); }
.scn-body-ill-send-doctor-mind-avoid-philosopher .bed { position: absolute; bottom: 20%; left: 20%; width: 60%; height: 15%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 6px; box-shadow: 0 4px 8px rgba(0,0,0,.6); }
.scn-body-ill-send-doctor-mind-avoid-philosopher .sick-fig { position: absolute; bottom: 23%; left: 30%; width: 10%; height: 12%; background: radial-gradient(ellipse, #6a5a4a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: bis-sick 4s ease-in-out infinite; }
.scn-body-ill-send-doctor-mind-avoid-philosopher .phil-fig { position: absolute; bottom: 22%; right: 15%; width: 8%; height: 20%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: bis-phil 6s ease-in-out infinite; }
.scn-body-ill-send-doctor-mind-avoid-philosopher .lamp { position: absolute; bottom: 28%; left: 50%; width: 3%; height: 4%; background: radial-gradient(circle, #ffd060 0%, #b08040 60%); border-radius: 50%; box-shadow: 0 0 20px 6px #b08040; animation: bis-lamp 2s ease-in-out infinite alternate; }
.scn-body-ill-send-doctor-mind-avoid-philosopher .curtain { position: absolute; top: 0; left: 0; width: 20%; height: 100%; background: linear-gradient(90deg, #2a1a1a 0%, transparent 100%); transform-origin: left center; animation: bis-curtain 8s ease-in-out infinite alternate; }
@keyframes bis-sick { 0% { transform: scaleY(1) translateY(0); } 50% { transform: scaleY(1.02) translateY(-1px); } 100% { transform: scaleY(0.98) translateY(0); } }
@keyframes bis-phil { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(8px) rotate(0deg); } 100% { transform: translateX(0) rotate(2deg); } }
@keyframes bis-lamp { 0% { opacity:0.8; transform: scale(1); } 50% { opacity:1; transform: scale(1.1); } 100% { opacity:0.7; transform: scale(0.9); } }
@keyframes bis-curtain { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.05); } 100% { transform: scaleX(0.95); } }

.scn-ill-body-bed-mind-active {
  background: linear-gradient(180deg, #1c1c2a 0%, #0e0e18 100%), radial-gradient(ellipse at 30% 80%, #2e2e3e 0%, transparent 70%);
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.scn-ill-body-bed-mind-active .room-bg { position: absolute; inset:0; background: linear-gradient(90deg, #1a1a24 0%, #12121a 100%); }
.scn-ill-body-bed-mind-active .bed { position: absolute; bottom:20%; left:10%; width:80%; height:18%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius:8px; box-shadow:0 4px 8px rgba(0,0,0,.6); }
.scn-ill-body-bed-mind-active .sick2 { position: absolute; bottom:23%; left:20%; width:12%; height:14%; background: radial-gradient(ellipse, #6a5a4a 0%, #3a2a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ibm-sick2 3s ease-in-out infinite; }
.scn-ill-body-bed-mind-active .care { position: absolute; bottom:24%; left:60%; width:8%; height:18%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: top center; animation: ibm-care 5s ease-in-out infinite; }
.scn-ill-body-bed-mind-active .candle { position: absolute; bottom:28%; right:15%; width:2%; height:5%; background: radial-gradient(circle, #ffd060 0%, #b08040 60%); border-radius:50%; box-shadow: 0 0 16px 4px #b08040; animation: ibm-candle 1.5s ease-in-out infinite alternate; }
.scn-ill-body-bed-mind-active .blanket { position: absolute; bottom:20%; left:15%; width:70%; height:8%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:10px; transform-origin: left center; animation: ibm-blanket 6s ease-in-out infinite; }
.scn-ill-body-bed-mind-active .pillow { position: absolute; bottom:25%; left:12%; width:10%; height:6%; background: radial-gradient(ellipse, #5a4a3a 0%, #3a2a1a 100%); border-radius:50%; transform-origin: center; animation: ibm-pillow 4s ease-in-out infinite; }
@keyframes ibm-sick2 { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(5px) rotate(10deg); } 50% { transform: translateX(-3px) rotate(-5deg); } 75% { transform: translateX(2px) rotate(8deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes ibm-care { 0% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(10deg) translateY(-2px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes ibm-candle { 0% { opacity:0.7; transform: scale(1); } 50% { opacity:1; transform: scale(1.15); } 100% { opacity:0.6; transform: scale(0.95); } }
@keyframes ibm-blanket { 0% { transform: translateX(0); } 50% { transform: translateX(8px); } 100% { transform: translateX(-4px); } }
@keyframes ibm-pillow { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.8); } 100% { transform: scaleY(1.1); } }

.scn-storm-soul-vs-storm-sea {
  background: linear-gradient(180deg, #0e0e1a 0%, #1a1a2e 100%), radial-gradient(ellipse at 80% 30%, #2a2a3e 0%, transparent 60%);
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.scn-storm-soul-vs-storm-sea .room-bg { position: absolute; inset:0; background: linear-gradient(90deg, #14141e 0%, #0e0e18 100%); }
.scn-storm-soul-vs-storm-sea .window-storm { position: absolute; right:10%; top:10%; width:40%; height:50%; border: 2px solid #2a2a3a; border-radius:4px; background: linear-gradient(135deg, #1a1a3a 0%, #2a2a4a 50%, #3a3a5a 100%); animation: sss-storm 8s ease-in-out infinite alternate; }
.scn-storm-soul-vs-storm-sea .soul-fig { position: absolute; bottom:25%; left:20%; width:10%; height:22%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sss-soul 5s ease-in-out infinite; }
.scn-storm-soul-vs-storm-sea .table { position: absolute; bottom:22%; left:15%; width:25%; height:5%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius:2px; }
.scn-storm-soul-vs-storm-sea .lamp3 { position: absolute; bottom:28%; left:20%; width:2%; height:4%; background: radial-gradient(circle, #ffd060 0%, #b08040 60%); border-radius:50%; box-shadow:0 0 12px 3px #b08040; animation: sss-lamp 2s ease-in-out infinite alternate; }
.scn-storm-soul-vs-storm-sea .papers { position: absolute; bottom:24%; left:45%; width:12%; height:3%; background: linear-gradient(135deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:1px; animation: sss-papers 7s ease-in-out infinite; }
.scn-storm-soul-vs-storm-sea .shelf { position: absolute; top:10%; left:5%; width:15%; height:60%; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius:2px; }
.scn-storm-soul-vs-storm-sea .books { position: absolute; top:15%; left:6%; width:12%; height:50%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:2px; animation: sss-books 10s ease-in-out infinite alternate; }
@keyframes sss-storm { 0% { background-position: 0% 0%; } 50% { background-position: 10% 10%; } 100% { background-position: -10% -10%; } }
@keyframes sss-soul { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(20px) rotate(5deg); } 60% { transform: translateX(-10px) rotate(-3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes sss-lamp { 0% { opacity:0.6; transform: scale(1); } 50% { opacity:1; transform: scale(1.2); } 100% { opacity:0.7; transform: scale(0.9); } }
@keyframes sss-papers { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-3px) rotate(5deg); } 60% { transform: translateY(2px) rotate(-3deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes sss-books { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(0.98); } }

.scn-fevers-causes-lawsuits {
  background: linear-gradient(180deg, #1c1c2e 0%, #10101a 100%), radial-gradient(ellipse at 60% 70%, #2e2e3e 0%, transparent 70%);
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.scn-fevers-causes-lawsuits .room-bg { position: absolute; inset:0; background: linear-gradient(90deg, #1a1a28 0%, #12121c 100%); }
.scn-fevers-causes-lawsuits .bed4 { position: absolute; bottom:20%; left:15%; width:70%; height:16%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius:8px; box-shadow:0 4px 8px rgba(0,0,0,.6); }
.scn-fevers-causes-lawsuits .fever-fig { position: absolute; bottom:23%; left:25%; width:12%; height:14%; background: radial-gradient(ellipse, #6a5a4a 0%, #3a2a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fcl-fever 1s ease-in-out infinite; }
.scn-fevers-causes-lawsuits .papers4 { position: absolute; bottom:24%; left:55%; width:15%; height:4%; background: linear-gradient(135deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:2px; animation: fcl-papers 4s ease-in-out infinite; }
.scn-fevers-causes-lawsuits .doc-fig { position: absolute; bottom:24%; right:15%; width:8%; height:20%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fcl-doc 3s ease-in-out infinite alternate; }
.scn-fevers-causes-lawsuits .candle4 { position: absolute; bottom:28%; left:45%; width:2%; height:5%; background: radial-gradient(circle, #ffd060 0%, #b08040 60%); border-radius:50%; box-shadow:0 0 16px 4px #b08040; animation: fcl-candle 2s ease-in-out infinite alternate; }
@keyframes fcl-fever { 0% { transform: scale(1) rotate(0deg); } 25% { transform: scale(1.05) rotate(5deg); } 50% { transform: scale(0.95) rotate(-5deg); } 75% { transform: scale(1.02) rotate(3deg); } 100% { transform: scale(1) rotate(0deg); } }
@keyframes fcl-papers { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(1px) rotate(-1deg); } }
@keyframes fcl-doc { 0% { transform: rotate(0deg); } 50% { transform: rotate(10deg) translateY(-2px); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes fcl-candle { 0% { opacity:0.7; transform: scale(1); } 50% { opacity:1; transform: scale(1.15); } 100% { opacity:0.6; transform: scale(0.95); } }

/* Scene: hesiod-prometheus (calm, window-lit) */
.scn-hesiod-prometheus {
  background: linear-gradient(180deg, #d4b896 0%, #b8916a 40%, #8f6e4e 100%), radial-gradient(ellipse at 40% 30%, #f5e4c6 0%, transparent 70%);
}
.scn-hesiod-prometheus .scene-bg { position:absolute; inset:0; background: linear-gradient(180deg, transparent 50%, #5a4030 100%); }
.scn-hesiod-prometheus .window-frame { position:absolute; top:8%; left:30%; width:120px; height:150px; background: linear-gradient(135deg, #b89570 0%, #7a5d42 100%); border-radius:4px; box-shadow: inset 0 0 15px rgba(0,0,0,0.5); animation: hp-window 12s ease-in-out infinite alternate; }
.scn-hesiod-prometheus .window-glow { position:absolute; top:10%; left:32%; width:104px; height:130px; background: radial-gradient(ellipse, #ffd9a0 0%, #e8b870 40%, transparent 70%); filter:blur(3px); animation: hp-glow 6s ease-in-out infinite alternate; }
.scn-hesiod-prometheus .adviser { position:absolute; bottom:22%; left:25%; width:40px; height:70px; background: linear-gradient(180deg, #3b2e24 0%, #1f1610 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: hp-adviser 8s ease-in-out infinite; }
.scn-hesiod-prometheus .listener { position:absolute; bottom:20%; right:22%; width:45px; height:75px; background: linear-gradient(180deg, #4a3a2c 0%, #2a1e14 100%); border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%; transform-origin: bottom center; animation: hp-listener 10s ease-in-out infinite; }
.scn-hesiod-prometheus .gift-box { position:absolute; bottom:28%; left:45%; width:24px; height:24px; background: linear-gradient(135deg, #b87333 0%, #8a5c2a 100%); border-radius:4px; box-shadow: 0 3px 6px rgba(0,0,0,0.4); animation: hp-gift 9s ease-in-out infinite; }
.scn-hesiod-prometheus .floor { position:absolute; bottom:0; left:0; right:0; height:18%; background: linear-gradient(0deg, #4a352a 0%, #6b4c3a 100%); }
@keyframes hp-window { 0% { opacity:0.9; transform:scale(1); } 50% { opacity:1; transform:scale(1.01); } 100% { opacity:0.85; transform:scale(0.99); } }
@keyframes hp-glow { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.6; } }
@keyframes hp-adviser { 0% { transform:rotate(-3deg) translateX(0); } 50% { transform:rotate(2deg) translateX(2px); } 100% { transform:rotate(-2deg) translateX(0); } }
@keyframes hp-listener { 0% { transform:rotate(2deg) translateX(0); } 33% { transform:rotate(0deg) translateX(-1px); } 66% { transform:rotate(4deg) translateX(1px); } 100% { transform:rotate(1deg) translateX(0); } }
@keyframes hp-gift { 0% { transform:translateY(0); } 25% { transform:translateY(-3px) rotate(-5deg); } 50% { transform:translateY(0) rotate(5deg); } 75% { transform:translateY(-2px) rotate(-3deg); } 100% { transform:translateY(0) rotate(0); } }

/* Scene: success-folly (tense, dim-interior) */
.scn-success-folly {
  background: linear-gradient(180deg, #1c1c2a 0%, #2a2530 50%, #15151e 100%), radial-gradient(ellipse at 50% 60%, #2f2b3a 0%, transparent 60%);
}
.scn-success-folly .scene-bg { position:absolute; inset:0; background: linear-gradient(180deg, transparent 30%, #0f0e14 100%); }
.scn-success-folly .throne { position:absolute; bottom:15%; left:50%; transform:translateX(-50%); width:80px; height:90px; background: linear-gradient(180deg, #3a3a3a 0%, #1a1a1a 100%); border-radius:10% 10% 5% 5%; box-shadow: 0 5px 15px rgba(0,0,0,0.8); }
.scn-success-folly .fool { position:absolute; bottom:25%; left:45%; width:35px; height:65px; background: linear-gradient(180deg, #4a4028 0%, #2a2214 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sf-fool 3s ease-in-out infinite alternate; }
.scn-success-folly .crown { position:absolute; bottom:60%; left:46%; width:20px; height:15px; background: linear-gradient(135deg, #d4a060 0%, #b08040 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 2px 6px rgba(180,130,60,0.6); animation: sf-crown 4s ease-in-out infinite; }
.scn-success-folly .shadow { position:absolute; bottom:10%; left:30%; width:180px; height:40px; background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 70%); animation: sf-shadow 6s ease-in-out infinite alternate; }
.scn-success-folly .spotlight { position:absolute; top:5%; left:40%; width:80px; height:120px; background: radial-gradient(ellipse, rgba(200,180,140,0.3) 0%, transparent 60%); filter:blur(4px); animation: sf-spot 5s ease-in-out infinite; }
@keyframes sf-fool { 0% { transform:rotate(-5deg) scaleY(1); } 50% { transform:rotate(10deg) scaleY(1.02); } 100% { transform:rotate(-3deg) scaleY(0.98); } }
@keyframes sf-crown { 0% { transform: translateX(0) rotate(0) scale(1); } 25% { transform: translateX(4px) rotate(10deg) scale(1.1); } 50% { transform: translateX(-2px) rotate(-8deg) scale(0.9); } 75% { transform: translateX(3px) rotate(5deg) scale(1.05); } 100% { transform: translateX(0) rotate(0) scale(1); } }
@keyframes sf-shadow { 0% { transform:skewX(0) scaleX(1); } 50% { transform:skewX(5deg) scaleX(1.1); opacity:0.8; } 100% { transform:skewX(0) scaleX(1); } }
@keyframes sf-spot { 0% { opacity:0.5; } 50% { opacity:1; } 100% { opacity:0.4; } }

/* Scene: footnote-readings-21 (calm, dim-interior) */
.scn-footnote-readings-21 {
  background: linear-gradient(180deg, #2c2418 0%, #4a3828 40%, #3a2a1a 100%), radial-gradient(ellipse at 30% 80%, #7a5a3a 0%, transparent 70%);
}
.scn-footnote-readings-21 .scene-bg { position:absolute; inset:0; background: linear-gradient(0deg, #1a100a 0%, transparent 60%); }
.scn-footnote-readings-21 .desk { position:absolute; bottom:10%; left:10%; right:10%; height:35%; background: linear-gradient(180deg, #6b4c30 0%, #4a3320 100%); border-radius: 5% 5% 0 0; box-shadow: inset 0 -5px 15px rgba(0,0,0,0.6); }
.scn-footnote-readings-21 .book { position:absolute; bottom:25%; left:35%; width:40px; height:30px; background: linear-gradient(135deg, #c8a87a 0%, #a08050 100%); border-radius: 2px; box-shadow: 2px 3px 8px rgba(0,0,0,0.5); animation: fr21-book 14s ease-in-out infinite; }
.scn-footnote-readings-21 .lamp { position:absolute; bottom:45%; left:20%; width:30px; height:40px; background: linear-gradient(180deg, #d4b080 0%, #8a6040 100%); border-radius: 50% 50% 10% 10%; box-shadow: 0 0 20px 10px rgba(200,140,80,0.3); animation: fr21-lamp 8s ease-in-out infinite alternate; }
.scn-footnote-readings-21 .scholar { position:absolute; bottom:20%; left:55%; width:40px; height:65px; background: linear-gradient(180deg, #3a2e20 0%, #1e140c 100%); border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%; transform-origin: bottom center; animation: fr21-scholar 12s ease-in-out infinite; }
.scn-footnote-readings-21 .glow-pool { position:absolute; bottom:5%; left:20%; right:20%; height:30%; background: radial-gradient(ellipse at 50% 100%, rgba(200,140,80,0.25) 0%, transparent 70%); }
@keyframes fr21-book { 0% { transform: translateY(0) rotate(0); } 33% { transform: translateY(-3px) rotate(2deg); } 66% { transform: translateY(0) rotate(-1deg); } 100% { transform: translateY(-1px) rotate(0); } }
@keyframes fr21-lamp { 0% { opacity:0.7; filter:blur(0); } 50% { opacity:1; filter:blur(0.5px); } 100% { opacity:0.8; filter:blur(0); } }
@keyframes fr21-scholar { 0% { transform: rotate(-2deg) translateX(0); } 50% { transform: rotate(1deg) translateX(2px); } 100% { transform: rotate(-1deg) translateX(-1px); } }

/* Scene: footnote-readings-22 (calm, dim-interior) */
.scn-footnote-readings-22 {
  background: linear-gradient(180deg, #241e28 0%, #3a2e3e 40%, #1e1820 100%), radial-gradient(ellipse at 60% 40%, #4a3a50 0%, transparent 70%);
}
.scn-footnote-readings-22 .scene-bg { position:absolute; inset:0; background: linear-gradient(0deg, #100c14 0%, transparent 50%); }
.scn-footnote-readings-22 .wheel { position:absolute; bottom:25%; left:50%; transform:translateX(-50%); width:100px; height:100px; border-radius:50%; background: radial-gradient(circle, #6a5a3a 0%, #3a2e1e 100%); box-shadow: 0 0 20px rgba(0,0,0,0.6); animation: fr22-wheel 20s linear infinite; }
.scn-footnote-readings-22 .goddess { position:absolute; bottom:15%; left:30%; width:45px; height:80px; background: linear-gradient(180deg, #4a3a48 0%, #2a1e28 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fr22-goddess 15s ease-in-out infinite; }
.scn-footnote-readings-22 .scroll { position:absolute; bottom:30%; right:20%; width:20px; height:40px; background: linear-gradient(180deg, #c8b090 0%, #a88a6a 100%); border-radius: 5px; box-shadow: 0 3px 8px rgba(0,0,0,0.5); animation: fr22-scroll 18s ease-in-out infinite; }
.scn-footnote-readings-22 .candle { position:absolute; bottom:38%; left:55%; width:12px; height:30px; background: linear-gradient(180deg, #e0c080 0%, #a08050 100%); border-radius: 2px; box-shadow: 0 0 15px 5px rgba(200,140,80,0.4); animation: fr22-candle 5s ease-in-out infinite alternate; }
.scn-footnote-readings-22 .aura { position:absolute; top:10%; left:25%; right:25%; height:30%; background: radial-gradient(ellipse at 50% 50%, rgba(180,140,200,0.15) 0%, transparent 70%); animation: fr22-aura 25s ease-in-out infinite alternate; }
@keyframes fr22-wheel { 0% { transform: translateX(-50%) rotate(0deg); } 100% { transform: translateX(-50%) rotate(360deg); } }
@keyframes fr22-goddess { 0% { transform: rotate(-3deg) translateX(0); } 50% { transform: rotate(2deg) translateX(3px); } 100% { transform: rotate(0deg) translateX(0); } }
@keyframes fr22-scroll { 0% { transform: scaleY(1) rotate(0); } 25% { transform: scaleY(1.05) rotate(2deg); } 50% { transform: scaleY(0.95) rotate(-2deg); } 75% { transform: scaleY(1.02) rotate(1deg); } 100% { transform: scaleY(1) rotate(0); } }
@keyframes fr22-candle { 0% { opacity:0.8; } 100% { opacity:1; } }
@keyframes fr22-aura { 0% { opacity:0.3; } 100% { opacity:0.7; } }

.scn-man-light { background: linear-gradient(180deg, #2b1e0e 0%, #3d2b14 30%, #5a3d1e 100%), radial-gradient(ellipse at 70% 30%, #c8944a 0%, #8a6a30 30%, transparent 60%); }
.scn-man-light .wall { position:absolute; inset:0; background: linear-gradient(135deg, #2b1e0e 0%, #3d2b14 50%, #1e1408 100%); opacity:.85; }
.scn-man-light .window-frame { position:absolute; top:12%; right:8%; width:38%; height:62%; border:8px solid #4a3418; box-sizing:border-box; background: transparent; border-radius: 4px; box-shadow: inset 0 0 30px rgba(200,148,74,.3); animation: ml-frame 8s ease-in-out infinite alternate; }
.scn-man-light .window-light { position:absolute; top:14%; right:10%; width:34%; height:58%; background: linear-gradient(135deg, #f0d080 0%, #d4a840 60%, #b08030 100%), radial-gradient(circle at 40% 30%, #ffe8a0 0%, #d4a840 50%, transparent 80%); opacity:.6; box-shadow: -12px 0 40px rgba(200,148,74,.5), 0 0 60px rgba(200,148,74,.2); animation: ml-light 6s ease-in-out infinite alternate; }
.scn-man-light .sill { position:absolute; bottom:28%; right:8%; width:38%; height:3%; background: linear-gradient(180deg, #5a3d1e 0%, #3d2b14 100%); border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-man-light .figure-silhouette { position:absolute; bottom:30%; left:20%; width:22%; height:50%; background: linear-gradient(180deg, #1a1208 0%, #0d0a04 100%); border-radius: 40% 40% 30% 30% / 50% 50% 35% 35%; transform: rotate(4deg); box-shadow: 2px 0 20px rgba(0,0,0,.6); animation: ml-figure 12s ease-in-out infinite alternate; }
.scn-man-light .desk { position:absolute; bottom:20%; left:10%; width:45%; height:12%; background: linear-gradient(180deg, #4a3418 0%, #2b1e0e 100%); border-radius: 4px 40px 4px 4px; box-shadow: 0 6px 12px rgba(0,0,0,.4); }
.scn-man-light .book { position:absolute; bottom:28%; left:24%; width:10%; height:14%; background: linear-gradient(180deg, #6a5030 0%, #3d2b14 100%); border-radius: 2px; transform: rotate(-6deg); box-shadow: 0 2px 6px rgba(0,0,0,.5); }
.scn-man-light .dust-mote { position:absolute; width:4px; height:4px; background: radial-gradient(circle, rgba(240,208,128,.9) 0%, rgba(240,208,128,.3) 100%); border-radius:50%; box-shadow: 0 0 10px 2px rgba(240,208,128,.4); }
.scn-man-light .mote-a { top:30%; right:25%; animation: ml-mote 18s linear infinite; }
.scn-man-light .mote-b { top:50%; right:30%; width:3px; height:3px; animation: ml-mote 22s linear infinite reverse; animation-delay: -7s; }
@keyframes ml-frame { 0% { border-color:#4a3418; } 50% { border-color:#6a5030; } 100% { border-color:#3a2810; } }
@keyframes ml-light { 0% { opacity:.5; filter: brightness(.95); } 50% { opacity:.7; filter: brightness(1.1); } 100% { opacity:.55; filter: brightness(1); } }
@keyframes ml-figure { 0% { transform: rotate(4deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-2px); } 100% { transform: rotate(5deg) translateY(0); } }
@keyframes ml-mote { 0% { transform: translate(0,0) scale(1); opacity:.6; } 25% { transform: translate(15px,-20px) scale(1.2); opacity:1; } 50% { transform: translate(30px,-10px) scale(.8); opacity:.7; } 75% { transform: translate(45px,-25px) scale(1.1); opacity:.9; } 100% { transform: translate(60px,0) scale(1); opacity:.6; } }

.scn-light-pleasant { background: linear-gradient(180deg, #7ab0d4 0%, #c8d8a0 40%, #d8c880 100%), radial-gradient(ellipse at 50% 30%, #f0e8a0 0%, #c8d8a0 50%, transparent 70%); }
.scn-light-pleasant .sun-sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #90c0e0 0%, #b0d8c0 50%, #d0e0a0 100%); }
.scn-light-pleasant .sun-disk { position:absolute; top:10%; left:50%; width:60px; height:60px; transform:translateX(-50%); background: radial-gradient(circle, #fff8d0 0%, #f0e080 40%, #d8b060 80%, transparent 100%); border-radius:50%; box-shadow: 0 0 80px 20px rgba(240,224,128,.5), 0 0 160px 40px rgba(240,224,128,.2); animation: lp-sun 14s ease-in-out infinite alternate; }
.scn-light-pleasant .sun-rays { position:absolute; top:8%; left:50%; width:80px; height:80px; transform:translateX(-50%); background: radial-gradient(circle, rgba(255,248,208,.4) 0%, transparent 60%); border-radius:50%; animation: lp-rays 20s linear infinite; }
.scn-light-pleasant .field-far { position:absolute; bottom:40%; left:0; right:0; height:25%; background: linear-gradient(180deg, #b0c080 0%, #90a060 100%); border-radius: 60% 40% 0 0 / 100% 80% 0 0; box-shadow: inset 0 4px 20px rgba(0,0,0,.1); animation: lp-field-far 18s ease-in-out infinite alternate; }
.scn-light-pleasant .field-near { position:absolute; bottom:15%; left:0; right:0; height:30%; background: linear-gradient(180deg, #a8b870 0%, #889a58 100%); border-radius: 50% 50% 0 0 / 40% 60% 0 0; box-shadow: inset 0 6px 24px rgba(0,0,0,.15); animation: lp-field-near 22s ease-in-out infinite alternate-reverse; }
.scn-light-pleasant .figure-walking { position:absolute; bottom:38%; left:30%; width:14px; height:28px; background: linear-gradient(180deg, #3a3a1a 0%, #1a1a0a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; box-shadow: 0 2px 6px rgba(0,0,0,.3); animation: lp-walk 3s ease-in-out infinite; }
.scn-light-pleasant .blossom-branch { position:absolute; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; }
.scn-light-pleasant .branch-a { bottom:44%; left:60%; width:80px; height:10px; transform: rotate(-20deg); animation: lp-branch 8s ease-in-out infinite alternate; }
.scn-light-pleasant .branch-b { bottom:42%; right:70%; width:60px; height:8px; transform: rotate(15deg); animation: lp-branch 10s ease-in-out infinite alternate-reverse; animation-delay: -3s; }
.scn-light-pleasant .branch-a::after, .scn-light-pleasant .branch-b::after { content:''; position:absolute; top:-8px; left:10px; width:14px; height:14px; background: radial-gradient(circle, #f0d0a0 0%, #d0a060 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 10px rgba(240,208,160,.3); }
.scn-light-pleasant .branch-b::after { left:20px; width:10px; height:10px; }
@keyframes lp-sun { 0% { transform:translateX(-50%) scale(1); filter: brightness(1); } 50% { transform:translateX(-50%) scale(1.05); filter: brightness(1.1); } 100% { transform:translateX(-50%) scale(.95); filter: brightness(.95); } }
@keyframes lp-rays { 0% { transform:translateX(-50%) rotate(0deg) scale(1); opacity:.3; } 50% { transform:translateX(-50%) rotate(180deg) scale(1.2); opacity:.5; } 100% { transform:translateX(-50%) rotate(360deg) scale(1); opacity:.3; } }
@keyframes lp-field-far { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-3px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes lp-field-near { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-5px) scaleY(1.03); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes lp-walk { 0% { transform: translateX(0) rotate(-2deg) scaleY(1); } 25% { transform: translateX(8px) rotate(2deg) scaleY(1.02); } 50% { transform: translateX(16px) rotate(-2deg) scaleY(1); } 75% { transform: translateX(24px) rotate(3deg) scaleY(1.01); } 100% { transform: translateX(32px) rotate(-1deg) scaleY(1); } }
@keyframes lp-branch { 0% { transform: rotate(-20deg) scale(1); } 50% { transform: rotate(-18deg) scale(1.02); } 100% { transform: rotate(-22deg) scale(.98); } }

.scn-pindar-blest { background: linear-gradient(180deg, #c8e0c0 0%, #a0c878 40%, #78b060 100%), radial-gradient(ellipse at 50% 20%, #f0e0a8 0%, #c8e0c0 50%, transparent 70%); }
.scn-pindar-blest .blest-sky { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #90c8a0 0%, #b8e0b0 40%, #d8f0c8 100%); animation: pb-sky 18s ease-in-out infinite alternate; }
.scn-pindar-blest .blest-sun { position:absolute; top:8%; left:45%; width:50px; height:50px; background: radial-gradient(circle, #fff8e0 0%, #f0d890 50%, transparent 100%); border-radius:50%; box-shadow: 0 0 60px 15px rgba(240,216,144,.6), 0 0 120px 30px rgba(240,216,144,.3); animation: pb-sun 20s ease-in-out infinite alternate; }
.scn-pindar-blest .blest-meadow-far { position:absolute; bottom:30%; left:0; right:0; height:25%; background: linear-gradient(180deg, #a0c878 0%, #78b060 100%); border-radius: 40% 60% 0 0 / 60% 80% 0 0; box-shadow: inset 0 6px 24px rgba(0,40,0,.2); animation: pb-meadow-far 24s ease-in-out infinite alternate; }
.scn-pindar-blest .blest-meadow-near { position:absolute; bottom:10%; left:0; right:0; height:30%; background: linear-gradient(180deg, #88b868 0%, #689848 100%); border-radius: 50% 40% 0 0 / 40% 70% 0 0; box-shadow: inset 0 8px 30px rgba(0,30,0,.15); animation: pb-meadow-near 28s ease-in-out infinite alternate-reverse; }
.scn-pindar-blest .blest-stream { position:absolute; bottom:22%; left:20%; width:60%; height:8px; background: linear-gradient(90deg, #a0d8c0 0%, #c8e8d8 50%, #a0d8c0 100%); border-radius: 50% / 100%; filter: blur(1px); box-shadow: 0 0 20px rgba(160,216,192,.4); animation: pb-stream 10s ease-in-out infinite alternate; }
.scn-pindar-blest .blest-tree { position:absolute; background: linear-gradient(180deg, #3a5a2a 0%, #1a3a0a 100%); }
.scn-pindar-blest .tree-a { bottom:28%; left:12%; width:30px; height:60px; border-radius: 30% 30% 20% 20% / 70% 70% 30% 30%; box-shadow: 0 0 30px rgba(30,60,10,.3); animation: pb-tree 16s ease-in-out infinite alternate; }
.scn-pindar-blest .tree-b { bottom:26%; right:15%; width:24px; height:50px; border-radius: 30% 30% 20% 20% / 60% 60% 30% 30%; animation: pb-tree 20s ease-in-out infinite alternate-reverse; animation-delay: -5s; }
.scn-pindar-blest .blest-tree.tree-a::after, .scn-pindar-blest .blest-tree.tree-b::after { content:''; position:absolute; top:-20px; left:-10px; width:50px; height:30px; background: radial-gradient(ellipse, #5a8a3a 0%, #3a6a1a 60%, transparent 100%); border-radius:50%; }
.scn-pindar-blest .blest-tree.tree-b::after { top:-16px; left:-8px; width:40px; height:24px; }
.scn-pindar-blest .blest-figure { position:absolute; bottom:32%; left:50%; width:16px; height:32px; transform:translateX(-50%); background: linear-gradient(180deg, #2a4a1a 0%, #0a1a0a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; box-shadow: 0 2px 8px rgba(0,0,0,.2); animation: pb-figure 12s ease-in-out infinite alternate; }
.scn-pindar-blest .blest-rose { position:absolute; width:12px; height:12px; border-radius:50%; }
.scn-pindar-blest .rose-a { bottom:18%; left:30%; background: radial-gradient(circle, #b87878 0%, #884444 60%, transparent 100%); box-shadow: 0 0 16px 4px rgba(136,68,68,.3); animation: pb-rose 8s ease-in-out infinite alternate; }
.scn-pindar-blest .rose-b { bottom:20%; right:35%; width:10px; height:10px; background: radial-gradient(circle, #c87878 0%, #984848 60%, transparent 100%); box-shadow: 0 0 12px 3px rgba(152,72,72,.3); animation: pb-rose 10s ease-in-out infinite alternate-reverse; animation-delay: -3s; }
@keyframes pb-sky { 0% { opacity:.85; } 50% { opacity:1; } 100% { opacity:.9; } }
@keyframes pb-sun { 0% { transform: scale(1); filter: brightness(1); } 50% { transform: scale(1.04); filter: brightness(1.08); } 100% { transform: scale(.96); filter: brightness(.95); } }
@keyframes pb-meadow-far { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-4px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes pb-meadow-near { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-6px) scaleY(1.03); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes pb-stream { 0% { transform: translateX(0) scaleX(1); opacity:.6; } 50% { transform: translateX(10px) scaleX(1.05); opacity:.8; } 100% { transform: translateX(-10px) scaleX(.95); opacity:.7; } }
@keyframes pb-tree { 0% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(2deg) scale(1.02); } 100% { transform: rotate(-2deg) scale(.98); } }
@keyframes pb-figure { 0% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) rotate(-2deg); } 100% { transform: translateX(-50%) rotate(2deg); } }
@keyframes pb-rose { 0% { transform: scale(1); opacity:.8; } 50% { transform: scale(1.3); opacity:1; } 100% { transform: scale(.9); opacity:.7; } }

.scn-third-road { background: linear-gradient(180deg, #0a0a0f 0%, #12101a 30%, #1a1420 100%), radial-gradient(ellipse at 50% 100%, #1a1420 0%, #0a080c 80%, transparent 100%); }
.scn-third-road .erebus-bg { position:absolute; inset:0; background: linear-gradient(180deg, #0a0810 0%, #0f0d18 30%, #141020 60%, #0a080c 100%), radial-gradient(ellipse at 50% 30%, #1a1420 0%, transparent 70%); opacity:.9; animation: tr-bg 24s ease-in-out infinite alternate; }
.scn-third-road .pit-top { position:absolute; top:0; left:0; right:0; height:15%; background: linear-gradient(180deg, #1a1420 0%, #0a080c 100%); border-radius: 0 0 50% 50% / 0 0 100% 100%; box-shadow: 0 20px 60px rgba(0,0,0,.8); }
.scn-third-road .pit-shaft { position:absolute; top:10%; left:30%; right:30%; bottom:20%; background: linear-gradient(180deg, #0a0810 0%, #141020 40%, #1a1425 70%, #0a080c 100%); border-left: 2px solid #201830; border-right: 2px solid #1a1420; box-shadow: inset 0 0 50px rgba(0,0,0,.9); animation: tr-shaft 30s ease-in-out infinite alternate; }
.scn-third-road .pit-bottom { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #0a080c 0%, #050508 50%, #020204 100%); border-radius: 30% 70% 0 0 / 60% 90% 0 0; box-shadow: inset 0 20px 80px rgba(0,0,0,.9); }
.scn-third-road .falling-figure { position:absolute; width:12px; height:24px; background: linear-gradient(180deg, #1a1420 0%, #0a080c 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; }
.scn-third-road .figure-a { top:20%; left:40%; animation: tr-fall 8s ease-in-out infinite; }
.scn-third-road .figure-b { top:35%; left:55%; width:10px; height:20px; animation: tr-fall 11s ease-in-out infinite; animation-delay: -4s; }
.scn-third-road .murk-stream { position:absolute; height:6px; background: linear-gradient(90deg, transparent 0%, #1a1420 20%, #2a2030 50%, #1a1420 80%, transparent 100%); border-radius: 50% / 100%; filter: blur(2px); }
.scn-third-road .stream-a { bottom:30%; left:10%; width:80%; animation: tr-stream 14s linear infinite; }
.scn-third-road .stream-b { bottom:22%; left:20%; width:60%; height:4px; animation: tr-stream 18s linear infinite reverse; animation-delay: -7s; }
@keyframes tr-bg { 0% { opacity:.85; } 50% { opacity:1; } 100% { opacity:.9; } }
@keyframes tr-shaft { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.02); } 100% { transform: scaleX(.98); } }
@keyframes tr-fall { 0% { transform: translateY(0) rotate(0deg) scale(1); opacity:.8; } 25% { transform: translateY(30px) rotate(10deg) scale(.95); opacity:.6; } 50% { transform: translateY(60px) rotate(-5deg) scale(.9); opacity:.4; } 75% { transform: translateY(90px) rotate(15deg) scale(.85); opacity:.2; } 100% { transform: translateY(120px) rotate(0deg) scale(.8); opacity:0; } }
@keyframes tr-stream { 0% { transform: translateX(-20px) scaleX(1); opacity:.3; } 50% { transform: translateX(20px) scaleX(1.1); opacity:.6; } 100% { transform: translateX(60px) scaleX(1); opacity:.3; } }

.scn-curiosity-kings-secrets {
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a05 60%, #0a0500 100%), radial-gradient(ellipse at 50% 70%, #4a2a1a 0%, transparent 70%);
}
.scn-curiosity-kings-secrets .throne-backdrop { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius:0 0 30% 30% / 0 0 20% 20%; animation: cs-backdrop 6s ease-in-out infinite; }
.scn-curiosity-kings-secrets .throne { position:absolute; bottom:25%; left:50%; width:60%; height:40%; transform:translateX(-50%); background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%); border-radius:10% 10% 5% 5%; box-shadow: inset 0 10px 20px rgba(0,0,0,.8); }
.scn-curiosity-kings-secrets .king { position:absolute; bottom:28%; left:50%; width:20%; height:35%; transform:translateX(-50%); background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: cs-king 3s ease-in-out infinite; }
.scn-curiosity-kings-secrets .crown { position:absolute; bottom:58%; left:50%; width:12%; height:8%; transform:translateX(-50%); background: radial-gradient(circle, #d4a060 0%, #b08040 70%); border-radius: 50% 50% 0 0; box-shadow: 0 0 10px 3px #d4a060; animation: cs-glow 2s ease-in-out infinite alternate; }
.scn-curiosity-kings-secrets .shadow-corner-left { position:absolute; top:0; left:0; width:30%; height:100%; background: rgba(0,0,0,.6); filter: blur(20px); animation: cs-shift 5s ease-in-out infinite; }
.scn-curiosity-kings-secrets .shadow-corner-right { position:absolute; top:0; right:0; width:30%; height:100%; background: rgba(0,0,0,.6); filter: blur(20px); animation: cs-shift 5s ease-in-out infinite reverse; }
.scn-curiosity-kings-secrets .hidden-light { position:absolute; bottom:40%; left:35%; width:2%; height:2%; background: #d4a060; border-radius:50%; box-shadow: 0 0 8px 2px #d4a060; animation: cs-glow 1.5s ease-in-out infinite; }
@keyframes cs-backdrop { 0%,100% { opacity:.9 } 50% { opacity:.7 } }
@keyframes cs-king { 0%,100% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) rotate(2deg); } }
@keyframes cs-glow { 0% { opacity:.7; box-shadow: 0 0 5px 1px #d4a060; } 50% { opacity:1; box-shadow: 0 0 15px 5px #d4a060; } 100% { opacity:.8; box-shadow: 0 0 8px 2px #d4a060; } }
@keyframes cs-shift { 0%,100% { opacity:.5; } 50% { opacity:.8; } }

.scn-curiosity-flee-cloud {
  background: linear-gradient(180deg, #0a0a0a 0%, #1a1a2a 50%, #0a0a0a 100%), radial-gradient(ellipse at 50% 80%, #1a1a2a 0%, transparent 70%);
}
.scn-curiosity-flee-cloud .bg-wall { position:absolute; inset:0; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a0a 100%); animation: fc-wall 10s ease-in-out infinite; }
.scn-curiosity-flee-cloud .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background: #1a1a1a; box-shadow: inset 0 10px 15px rgba(0,0,0,.8); }
.scn-curiosity-flee-cloud .cloud { position:absolute; top:20%; left:10%; width:80%; height:60%; background: radial-gradient(ellipse at 50% 50%, #2a2a3a 0%, #0a0a0a 100%); filter: blur(30px); animation: fc-cloud 8s ease-in-out infinite alternate; }
.scn-curiosity-flee-cloud .lightning { position:absolute; top:10%; right:30%; width:4px; height:40%; background: #aaccff; border-radius: 2px; box-shadow: 0 0 10px 5px #aaccff, 0 0 20px 10px rgba(170,204,255,.5); animation: fc-flash 3s ease-in-out infinite; }
.scn-curiosity-flee-cloud .figure { position:absolute; bottom:20%; left:10%; width:15%; height:30%; background: #1a1a1a; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fc-run 4s ease-in-out infinite; }
.scn-curiosity-flee-cloud .shadow { position:absolute; bottom:18%; left:10%; width:12%; height:5%; background: rgba(0,0,0,.6); border-radius: 50%; filter: blur(5px); animation: fc-run-shadow 4s ease-in-out infinite; }
@keyframes fc-wall { 0%,100% { opacity:.8 } 50% { opacity:1 } }
@keyframes fc-cloud { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-10px) scale(1.1); } 100% { transform: translateY(0) scale(1); } }
@keyframes fc-flash { 0%, 93%, 97%, 100% { opacity:0; } 2% { opacity:1; } 5% { opacity:0; } 8% { opacity:1; } 11% { opacity:0; } }
@keyframes fc-run { 0% { left:10%; transform: rotate(0deg); } 25% { left:30%; transform: rotate(-3deg); } 50% { left:50%; transform: rotate(2deg); } 75% { left:70%; transform: rotate(-1deg); } 100% { left:80%; transform: rotate(0deg); } }
@keyframes fc-run-shadow { 0% { left:10%; transform: scaleX(1); } 50% { left:50%; transform: scaleX(0.8); } 100% { left:80%; transform: scaleX(1); } }

.scn-curiosity-cure-distraction {
  background: linear-gradient(180deg, #2a2a1a 0%, #1a1a0a 100%);
}
.scn-curiosity-cure-distraction .room-bg { position:absolute; inset:0; background: linear-gradient(180deg, #2a2a1a 0%, #1a1a0a 100%); }
.scn-curiosity-cure-distraction .window-frame { position:absolute; top:10%; left:20%; width:60%; height:60%; background: #3a2a1a; border: 8px solid #4a3a2a; border-radius: 4px; box-shadow: inset 0 0 30px rgba(0,0,0,.5); }
.scn-curiosity-cure-distraction .sky-view { position:absolute; top:10%; left:20%; width:60%; height:40%; background: linear-gradient(180deg, #8a9aaa 0%, #4a5a6a 100%); border-radius: 2px; animation: cd-sky 15s ease-in-out infinite; }
.scn-curiosity-cure-distraction .mountains-view { position:absolute; top:40%; left:20%; width:60%; height:20%; background: linear-gradient(180deg, #3a4a3a 0%, #2a3a2a 100%); border-radius: 40% 40% 0 0 / 60% 60% 0 0; }
.scn-curiosity-cure-distraction .sea-view { position:absolute; bottom:10%; left:20%; width:60%; height:20%; background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%); border-radius: 0 0 2px 2px; animation: cd-sea 20s ease-in-out infinite; }
.scn-curiosity-cure-distraction .person { position:absolute; bottom:20%; left:30%; width:15%; height:30%; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: cd-person 10s ease-in-out infinite; }
.scn-curiosity-cure-distraction .candle { position:absolute; bottom:25%; left:70%; width:4%; height:10%; background: linear-gradient(180deg, #d0a070 0%, #a08050 100%); border-radius: 2px; }
.scn-curiosity-cure-distraction .candle-flame { position:absolute; bottom:33%; left:70%; width:3%; height:8%; background: radial-gradient(circle, #ffd060 0%, #ffa040 60%, transparent 100%); border-radius: 50%; animation: cd-flame 2s ease-in-out infinite alternate; }
@keyframes cd-sky { 0%,100% { opacity:.9 } 50% { opacity:1 } }
@keyframes cd-sea { 0%,100% { opacity:.8; transform: scaleY(1); } 50% { opacity:1; transform: scaleY(1.02); } }
@keyframes cd-person { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(0.5deg); } }
@keyframes cd-flame { 0% { transform: scaleY(1) translateY(0); opacity:.8; } 50% { transform: scaleY(1.3) translateY(-2px); opacity:1; } 100% { transform: scaleY(1) translateY(0); opacity:.9; } }

.scn-item-moon-changes {
  background: linear-gradient(180deg, #0a0a2a 0%, #1a1a3a 50%, #0a0a2a 100%), radial-gradient(ellipse at 50% 30%, #2a2a4a 0%, transparent 70%);
}
.scn-item-moon-changes .sky { position:absolute; inset:0; background: linear-gradient(180deg, #0a0a2a 0%, #1a1a3a 100%); }
.scn-item-moon-changes .moon { position:absolute; top:15%; left:60%; width:10%; height:10%; background: radial-gradient(circle, #e0e8ff 0%, #aab0d0 100%); border-radius:50%; box-shadow: 0 0 30px 10px rgba(170,176,208,.5); animation: mc-moon 12s ease-in-out infinite; }
.scn-item-moon-changes .star-group1 { position:absolute; top:10%; left:10%; width:30%; height:30%; background: radial-gradient(circle at 20% 30%, #fff 1px, transparent 1px), radial-gradient(circle at 50% 60%, #fff 1px, transparent 1px), radial-gradient(circle at 80% 20%, #fff 1px, transparent 1px); animation: mc-twinkle 4s ease-in-out infinite; }
.scn-item-moon-changes .star-group2 { position:absolute; top:30%; left:50%; width:40%; height:40%; background: radial-gradient(circle at 10% 80%, #fff 1px, transparent 1px), radial-gradient(circle at 60% 10%, #fff 1px, transparent 1px), radial-gradient(circle at 90% 50%, #fff 1px, transparent 1px); animation: mc-twinkle 6s ease-in-out infinite reverse; }
.scn-item-moon-changes .cloud1 { position:absolute; top:20%; left:-10%; width:20%; height:8%; background: rgba(200,210,230,0.1); filter: blur(10px); border-radius:50%; animation: mc-drift 40s linear infinite; }
.scn-item-moon-changes .cloud2 { position:absolute; top:35%; right:-10%; width:15%; height:6%; background: rgba(200,210,230,0.1); filter: blur(8px); border-radius:50%; animation: mc-drift 50s linear infinite reverse; }
.scn-item-moon-changes .ground { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:40% 40% 0 0 / 80% 80% 0 0; }
@keyframes mc-moon { 0% { transform: scale(0.2); opacity:0.3; } 30% { transform: scale(0.6); opacity:0.6; } 50% { transform: scale(1); opacity:1; } 70% { transform: scale(0.8); opacity:0.8; } 100% { transform: scale(0.2); opacity:0.2; } }
@keyframes mc-twinkle { 0%,100% { opacity:0.6; } 50% { opacity:1; } }
@keyframes mc-drift { 0% { transform: translateX(0); } 100% { transform: translateX(100vw); } }

/* Scene 1: curiosity-philosophers-night – moonlit study */
.scn-curiosity-philosophers-night {
  background:
    linear-gradient(180deg, #0b0e2a 0%, #1a1f42 60%, #2a2f5a 100%),
    radial-gradient(ellipse at 70% 8%, #3a4a7a 0%, transparent 70%);
}
.scn-curiosity-philosophers-night .sky { position:absolute; inset:0 0 55% 0; background: linear-gradient(180deg, #0f1230 0%, #1a1f42 100%); animation: cpn-sky 6s ease-in-out infinite alternate; }
.scn-curiosity-philosophers-night .moon { position:absolute; top:8%; left:70%; width:34px; height:34px; background: radial-gradient(circle, #e0e8ff 0%, #a0b0e0 80%); border-radius:50%; box-shadow:0 0 24px 12px rgba(200,220,255,0.4); animation: cpn-moon 10s ease-in-out infinite alternate; }
.scn-curiosity-philosophers-night .window { position:absolute; top:22%; left:28%; width:80px; height:70px; background: #1a1f42; border:2px solid #4a5070; border-radius:4px; box-shadow:inset 0 0 20px rgba(255,255,255,0.05); }
.scn-curiosity-philosophers-night .desk { position:absolute; bottom:28%; left:20%; width:140px; height:30px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:4px; box-shadow:0 4px 8px rgba(0,0,0,0.5); }
.scn-curiosity-philosophers-night .chair { position:absolute; bottom:26%; left:36%; width:40px; height:50px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 20% 20% 10% 10% / 30% 30% 20% 20%; }
.scn-curiosity-philosophers-night .figure { position:absolute; bottom:30%; left:38%; width:30px; height:55px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cpn-figure 5s ease-in-out infinite; }
.scn-curiosity-philosophers-night .book { position:absolute; bottom:32%; left:30%; width:24px; height:30px; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius:2px; transform: rotate(-10deg); box-shadow:0 2px 4px rgba(0,0,0,0.3); }
.scn-curiosity-philosophers-night .candle { position:absolute; bottom:35%; left:26%; width:6px; height:18px; background: linear-gradient(180deg, #e0c060 0%, #a08040 100%); border-radius:2px; }
.scn-curiosity-philosophers-night .candle::before { content:''; position:absolute; top:-6px; left:-2px; width:10px; height:10px; background: radial-gradient(circle, #ffd680 0%, #c08040 60%, transparent 100%); animation: cpn-candle 2s ease-in-out infinite alternate; }
@keyframes cpn-sky { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes cpn-moon { 0% { transform: translateX(0) scale(1); } 50% { transform: translateX(4px) scale(1.02); } 100% { transform: translateX(0) scale(1); } }
@keyframes cpn-figure { 0% { transform: translateY(0) rotate(-1deg); } 25% { transform: translateY(-2px) rotate(1deg); } 50% { transform: translateY(0) rotate(0); } 75% { transform: translateY(-1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes cpn-candle { 0% { opacity:0.8; transform: scale(1); } 50% { opacity:1; transform: scale(1.1); } 100% { opacity:0.85; transform: scale(1); } }

/* Scene 2: curiosity-marketplace-abuse – sunlit plaza */
.scn-curiosity-marketplace-abuse {
  background:
    linear-gradient(180deg, #e8dcc8 0%, #c8b898 40%, #a89878 100%),
    radial-gradient(ellipse at 50% 0%, #fff4e6 0%, transparent 60%);
}
.scn-curiosity-marketplace-abuse .sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #87CEEB 0%, #b8d8e8 100%); animation: cm-sky 12s ease-in-out infinite alternate; }
.scn-curiosity-marketplace-abuse .sun { position:absolute; top:8%; left:60%; width:40px; height:40px; background: radial-gradient(circle, #ffe680 0%, #ffd060 100%); border-radius:50%; box-shadow:0 0 30px 15px rgba(255,214,96,0.5); animation: cm-sun 15s linear infinite; }
.scn-curiosity-marketplace-abuse .buildings { position:absolute; bottom:30%; left:0; right:0; height:40%; background: linear-gradient(180deg, #a08868 0%, #7a6454 100%); border-radius:10% 10% 0 0 / 20% 20% 0 0; box-shadow:inset 0 8px 20px rgba(0,0,0,0.3); }
.scn-curiosity-marketplace-abuse .ground { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #c8b898 0%, #b0a080 100%); }
.scn-curiosity-marketplace-abuse .fountain { position:absolute; bottom:25%; left:40%; width:60px; height:40px; background: linear-gradient(180deg, #c0b0a0 0%, #908070 100%); border-radius:50% 50% 30% 30% / 60% 60% 40% 40%; box-shadow:0 4px 8px rgba(0,0,0,0.3); animation: cm-fountain 4s ease-in-out infinite; }
.scn-curiosity-marketplace-abuse .seated { position:absolute; bottom:22%; left:55%; width:28px; height:40px; background: #4a3a2a; border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cm-seated 6s ease-in-out infinite; }
.scn-curiosity-marketplace-abuse .arguer-left { position:absolute; bottom:22%; left:25%; width:24px; height:44px; background: #3a2a1a; border-radius:50% 50% 30% 30% / 60% 60% 40% 40%; animation: cm-argue-l 3s ease-in-out infinite; }
.scn-curiosity-marketplace-abuse .arguer-right { position:absolute; bottom:22%; left:32%; width:24px; height:44px; background: #3a2a1a; border-radius:50% 50% 30% 30% / 60% 60% 40% 40%; animation: cm-argue-r 3s ease-in-out infinite 0.5s; }
@keyframes cm-sky { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes cm-sun { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(10px) rotate(3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes cm-fountain { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-3px) scaleY(1.05); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes cm-seated { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes cm-argue-l { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(2px) rotate(-10deg); } 50% { transform: translateX(0) rotate(0); } 75% { transform: translateX(-2px) rotate(10deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes cm-argue-r { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(-2px) rotate(10deg); } 50% { transform: translateX(0) rotate(0); } 75% { transform: translateX(2px) rotate(-10deg); } 100% { transform: translateX(0) rotate(0); } }

/* Scene 3: curiosity-theatre-stadium – dim interior, empty theatre */
.scn-curiosity-theatre-stadium {
  background:
    linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 60%, #0a0a1a 100%),
    radial-gradient(ellipse at 50% 30%, #3a3a4a 0%, transparent 80%);
}
.scn-curiosity-theatre-stadium .stage { position:absolute; bottom:20%; left:10%; right:10%; height:50%; background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%); border-radius:20% 20% 0 0 / 30% 30% 0 0; }
.scn-curiosity-theatre-stadium .curtain-left { position:absolute; top:0; left:0; width:30%; height:80%; background: linear-gradient(90deg, #5e1a1d 0%, #4a1012 100%); border-radius:0 30% 30% 0 / 0 40% 40% 0; animation: ct-curtain 10s ease-in-out infinite alternate; }
.scn-curiosity-theatre-stadium .curtain-right { position:absolute; top:0; right:0; width:30%; height:80%; background: linear-gradient(270deg, #5e1a1d 0%, #4a1012 100%); border-radius:30% 0 0 30% / 40% 0 0 40%; animation: ct-curtain 10s ease-in-out infinite alternate-reverse; }
.scn-curiosity-theatre-stadium .seats { position:absolute; bottom:10%; left:15%; right:15%; height:15%; background: repeating-linear-gradient(90deg, #3a2a2a 0px, #3a2a2a 8px, #2a1a1a 8px, #2a1a1a 10px); }
.scn-curiosity-theatre-stadium .figure { position:absolute; bottom:15%; left:20%; width:22px; height:48px; background: #1a1a2a; border-radius:50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ct-figure 5s ease-in-out infinite; }
.scn-curiosity-theatre-stadium .exit-door { position:absolute; bottom:0; right:20%; width:40px; height:70px; background: #2a2a3a; border:2px solid #4a4a5a; border-radius:2px; box-shadow:inset 0 0 10px rgba(0,0,0,0.5); }
.scn-curiosity-theatre-stadium .spotlight { position:absolute; top:10%; left:45%; width:10px; height:60%; background: linear-gradient(180deg, rgba(255,255,200,0.3) 0%, rgba(255,255,200,0) 100%); transform: rotate(-5deg); animation: ct-spotlight 4s ease-in-out infinite alternate; }
@keyframes ct-curtain { 0% { transform: translateX(0); } 50% { transform: translateX(3px); } 100% { transform: translateX(0); } }
@keyframes ct-figure { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(4px) rotate(3deg); } 50% { transform: translateX(8px) rotate(0); } 75% { transform: translateX(4px) rotate(-3deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes ct-spotlight { 0% { opacity:0.5; transform: rotate(-5deg) scaleY(1); } 50% { opacity:1; transform: rotate(0deg) scaleY(1.1); } 100% { opacity:0.6; transform: rotate(5deg) scaleY(1); } }

/* Scene 4: curiosity-socrates-advice – close-up dining table */
.scn-curiosity-socrates-advice {
  background:
    linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%),
    radial-gradient(ellipse at 50% 20%, #5a4a3a 0%, transparent 70%);
}
.scn-curiosity-socrates-advice .wall { position:absolute; inset:0; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); }
.scn-curiosity-socrates-advice .table { position:absolute; bottom:15%; left:10%; right:10%; height:30%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius:4px; box-shadow:0 8px 20px rgba(0,0,0,0.6); }
.scn-curiosity-socrates-advice .plate { position:absolute; bottom:30%; left:35%; width:50px; height:40px; background: radial-gradient(circle, #c8b898 0%, #a09070 100%); border-radius:50%; box-shadow:0 2px 4px rgba(0,0,0,0.3); }
.scn-curiosity-socrates-advice .cup { position:absolute; bottom:32%; left:50%; width:20px; height:25px; background: linear-gradient(180deg, #a0461a 0%, #6a2a0a 100%); border-radius: 20% 20% 10% 10% / 30% 30% 20% 20%; }
.scn-curiosity-socrates-advice .bread { position:absolute; bottom:30%; left:42%; width:30px; height:15px; background: #c8a070; border-radius:30% 30% 20% 20% / 50% 50% 40% 40%; }
.scn-curiosity-socrates-advice .hand-reach { position:absolute; bottom:40%; left:55%; width:16px; height:34px; background: #c8b898; border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cs-hand-reach 6s ease-in-out infinite; }
.scn-curiosity-socrates-advice .hand-retract { position:absolute; bottom:40%; left:60%; width:16px; height:34px; background: #c8b898; border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cs-hand-retract 6s ease-in-out infinite 3s; }
@keyframes cs-hand-reach { 0% { transform: translateX(0) rotate(0); } 30% { transform: translateX(-20px) rotate(-15deg); } 50% { transform: translateX(-20px) rotate(-15deg); } 70% { transform: translateX(0) rotate(0); } 100% { transform: translateX(0) rotate(0); } }
@keyframes cs-hand-retract { 0% { transform: translateX(0) rotate(0); } 30% { transform: translateX(10px) rotate(10deg); } 50% { transform: translateX(10px) rotate(10deg); } 70% { transform: translateX(0) rotate(0); } 100% { transform: translateX(0) rotate(0); } }

.scn-cities-contract-misery { background: linear-gradient(180deg, #1a0f0a 0%, #0f0805 100%), radial-gradient(ellipse at 50% 0%, #2a1610 0%, transparent 60%); }
.scn-cities-contract-misery .wall { position:absolute; inset:0; background: repeating-linear-gradient(90deg, transparent, transparent 4px, rgba(255,255,255,.015) 4px, rgba(255,255,255,.015) 6px); animation: ccm-wall 30s ease-in-out infinite alternate; }
.scn-cities-contract-misery .table { position:absolute; bottom:10%; left:10%; right:10%; height:5%; background: linear-gradient(180deg, #3a231e 0%, #1f1210 100%); border-radius:4% 4% 0 0; box-shadow: inset 0 2px 6px rgba(0,0,0,.6); animation: ccm-table 8s ease-in-out infinite alternate; }
.scn-cities-contract-misery .scroll { position:absolute; bottom:12%; left:20%; width:60%; height:3%; background: linear-gradient(90deg, #c8a87a 0%, #e8c89a 50%, #c8a87a 100%); border-radius:2px; box-shadow: 0 1px 3px rgba(0,0,0,.5); animation: ccm-scroll 12s ease-in-out infinite alternate; }
.scn-cities-contract-misery .pillar { position:absolute; bottom:20%; left:15%; width:8%; height:60%; background: linear-gradient(180deg, #3a3028 0%, #a08878 30%, #7a6868 70%, #3a3028 100%); border-radius:10% 10% 0 0; box-shadow: -2px 0 8px rgba(0,0,0,.4); animation: ccm-pillar 20s ease-in-out infinite alternate; }
.scn-cities-contract-misery .figure { position:absolute; bottom:15%; left:55%; width:10%; height:30%; background: linear-gradient(180deg, #1a1210 0%, #0d0808 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ccm-figure 4s ease-in-out infinite; }
.scn-cities-contract-misery .candle { position:absolute; bottom:12%; left:45%; width:2%; height:8%; background: linear-gradient(180deg, #f0d0a0 0%, #806040 100%); border-radius:20% 20% 10% 10%; box-shadow: 0 0 10px 2px rgba(255,200,100,.4); animation: ccm-candle 2s ease-in-out infinite alternate; }
.scn-cities-contract-misery .candle-glow { position:absolute; bottom:14%; left:43%; width:6%; height:3%; background: radial-gradient(ellipse, rgba(255,200,100,.6) 0%, transparent 70%); border-radius:50%; animation: ccm-glow 3s ease-in-out infinite alternate; }
@keyframes ccm-wall { 0% { opacity:.5 } 50% { opacity:.6 } 100% { opacity:.5 } }
@keyframes ccm-table { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-1px) scaleY(1.01) } 100% { transform: translateY(0) scaleY(1) } }
@keyframes ccm-scroll { 0% { transform: scaleX(.98) translateX(0); opacity:.9 } 50% { transform: scaleX(1.02) translateX(1px); opacity:1 } 100% { transform: scaleX(.98) translateX(0); opacity:.9 } }
@keyframes ccm-pillar { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-2px) scaleY(1.005) } 100% { transform: translateY(0) scaleY(1) } }
@keyframes ccm-figure { 0% { transform: translateX(0) translateY(0) rotate(0) } 25% { transform: translateX(2px) translateY(-1px) rotate(1deg) } 50% { transform: translateX(4px) translateY(0) rotate(0) } 75% { transform: translateX(2px) translateY(-1px) rotate(-1deg) } 100% { transform: translateX(0) translateY(0) rotate(0) } }
@keyframes ccm-candle { 0% { transform: scaleY(1) rotate(0) } 50% { transform: scaleY(1.05) rotate(1deg) } 100% { transform: scaleY(1) rotate(0) } }
@keyframes ccm-glow { 0% { opacity:.6; transform: scale(.9) } 50% { opacity:1; transform: scale(1.1) } 100% { opacity:.6; transform: scale(.9) } }

.scn-fortune-vice-naked { background: linear-gradient(180deg, #0a0a1a 0%, #05050f 100%), radial-gradient(ellipse at 50% 0%, #1a1a3a 0%, transparent 70%); }
.scn-fortune-vice-naked .deep { position:absolute; inset:0; background: linear-gradient(180deg, #0a0a1a 0%, #05050f 100%); animation: fvn-deep 30s ease-in-out infinite alternate; }
.scn-fortune-vice-naked .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(0deg, #1a1010 0%, #0f0808 100%); border-radius: 10% 10% 0 0; box-shadow: inset 0 4px 10px rgba(0,0,0,.5); }
.scn-fortune-vice-naked .wheel { position:absolute; left:20%; bottom:25%; width:15%; height:30%; background: radial-gradient(circle, #8a6a3a 0%, #5a3a1a 100%); border-radius:50%; box-shadow: 0 0 20px 4px rgba(138,106,58,.3); animation: fvn-wheel 15s linear infinite; }
.scn-fortune-vice-naked .fortune { position:absolute; right:30%; bottom:15%; width:12%; height:50%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fvn-fortune 6s ease-in-out infinite; }
.scn-fortune-vice-naked .vice { position:absolute; right:10%; bottom:8%; width:10%; height:30%; background: linear-gradient(180deg, #2a1a1a 0%, #150a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fvn-vice 3s ease-in-out infinite; }
.scn-fortune-vice-naked .light-beam { position:absolute; top:0; left:20%; width:5%; height:100%; background: linear-gradient(180deg, rgba(200,180,100,.08) 0%, transparent 100%); transform: skewX(-10deg); animation: fvn-light 4s ease-in-out infinite alternate; }
@keyframes fvn-deep { 0% { opacity:1 } 50% { opacity:.9 } 100% { opacity:1 } }
@keyframes fvn-wheel { 0% { transform: rotate(0deg) } 50% { transform: rotate(180deg) } 100% { transform: rotate(360deg) } }
@keyframes fvn-fortune { 0% { transform: translateY(0) rotate(0) } 25% { transform: translateY(-3px) rotate(1deg) } 50% { transform: translateY(0) rotate(0) } 75% { transform: translateY(-3px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes fvn-vice { 0% { transform: translateY(0) scaleX(1) } 25% { transform: translateY(-2px) scaleX(.95) } 50% { transform: translateY(0) scaleX(1) } 75% { transform: translateY(-2px) scaleX(.95) } 100% { transform: translateY(0) scaleX(1) } }
@keyframes fvn-light { 0% { opacity:.3; transform: skewX(-10deg) translateX(0) } 50% { opacity:.6; transform: skewX(-10deg) translateX(2px) } 100% { opacity:.3; transform: skewX(-10deg) translateX(0) } }

.scn-fire-decius-indian-wives { background: linear-gradient(180deg, #1a0505 0%, #0f0202 100%), radial-gradient(ellipse at 50% 70%, #3a1a0a 0%, transparent 60%); }
.scn-fire-decius-indian-wives .bg-fire { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 50%, #3a1a0a 0%, transparent 70%); animation: fdi-glow 5s ease-in-out infinite alternate; }
.scn-fire-decius-indian-wives .ground { position:absolute; bottom:0; left:0; right:0; height:15%; background: linear-gradient(0deg, #0f0505 0%, #2a1210 100%); border-radius: 20% 20% 0 0; }
.scn-fire-decius-indian-wives .pyre { position:absolute; bottom:10%; left:30%; width:30%; height:15%; background: linear-gradient(180deg, #5a2a1a 0%, #3a1a0a 100%); border-radius: 10% 10% 5% 5%; box-shadow: inset 0 -4px 8px rgba(0,0,0,.6); animation: fdi-pyre 10s ease-in-out infinite alternate; }
.scn-fire-decius-indian-wives .flame { position:absolute; bottom:20%; left:35%; width:20%; height:40%; background: radial-gradient(ellipse at 50% 100%, #ffa040 0%, #ff6020 30%, #cc3000 60%, transparent 80%); border-radius: 50% 50% 20% 20%; animation: fdi-flame 1.5s ease-in-out infinite alternate; }
.scn-fire-decius-indian-wives .decius { position:absolute; bottom:22%; left:40%; width:8%; height:35%; background: linear-gradient(180deg, #1a0a0a 0%, #0a0404 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fdi-decius 3s ease-in-out infinite; }
.scn-fire-decius-indian-wives .wife { position:absolute; bottom:8%; left:60%; width:10%; height:30%; background: linear-gradient(180deg, #2a1210 0%, #1a0808 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fdi-wife 5s ease-in-out infinite; }
.scn-fire-decius-indian-wives .ash { position:absolute; bottom:40%; width:1%; height:1%; background: #ffa040; border-radius:50%; animation: fdi-ash 4s linear infinite; }
.scn-fire-decius-indian-wives .ash-1 { left:30%; animation-delay: 0s; }
.scn-fire-decius-indian-wives .ash-2 { left:50%; animation-delay: 1.5s; }
@keyframes fdi-glow { 0% { opacity:.8; transform: scale(1) } 50% { opacity:1; transform: scale(1.05) } 100% { opacity:.8; transform: scale(1) } }
@keyframes fdi-pyre { 0% { transform: scaleY(1) translateY(0) } 50% { transform: scaleY(1.02) translateY(-1px) } 100% { transform: scaleY(1) translateY(0) } }
@keyframes fdi-flame { 0% { transform: scaleY(1) translateY(0); opacity:.9 } 50% { transform: scaleY(1.15) translateY(-5px); opacity:1 } 100% { transform: scaleY(1) translateY(0); opacity:.9 } }
@keyframes fdi-decius { 0% { transform: translateY(0) rotate(0) } 25% { transform: translateY(-2px) rotate(1deg) } 50% { transform: translateY(0) rotate(0) } 75% { transform: translateY(-2px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes fdi-wife { 0% { transform: translateY(0) scaleX(1) } 50% { transform: translateY(-1px) scaleX(.95) } 100% { transform: translateY(0) scaleX(1) } }
@keyframes fdi-ash { 0% { transform: translateY(0) translateX(0) rotate(0); opacity:1 } 50% { transform: translateY(-100px) translateX(10px) rotate(180deg); opacity:.7 } 100% { transform: translateY(-200px) translateX(-5px) rotate(360deg); opacity:0 } }

.scn-unhappy-those-without-manliness { background: linear-gradient(180deg, #0f0f1a 0%, #08080f 100%), radial-gradient(ellipse at 50% 80%, #1a1a2a 0%, transparent 70%); }
.scn-unhappy-those-without-manliness .bg-room { position:absolute; inset:0; background: linear-gradient(180deg, #0f0f1a 0%, #08080f 100%); animation: uwm-bg 20s ease-in-out infinite alternate; }
.scn-unhappy-those-without-manliness .floor { position:absolute; bottom:0; left:0; right:0; height:10%; background: linear-gradient(0deg, #1a1a22 0%, #0f0f18 100%); border-radius: 5% 5% 0 0; }
.scn-unhappy-those-without-manliness .chair { position:absolute; bottom:8%; left:30%; width:20%; height:30%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 10% 10% 5% 5%; box-shadow: inset 0 0 10px rgba(0,0,0,.5); animation: uwm-chair 8s ease-in-out infinite; }
.scn-unhappy-those-without-manliness .figure-sit { position:absolute; bottom:12%; left:35%; width:10%; height:25%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: uwm-figure 6s ease-in-out infinite; }
.scn-unhappy-those-without-manliness .thread { position:absolute; top:5%; left:40%; width:0.3%; height:60%; background: #8a8a9a; border-radius: 2px; transform-origin: top center; animation: uwm-thread 3s ease-in-out infinite alternate; }
.scn-unhappy-those-without-manliness .bone { position:absolute; bottom:5%; left:45%; width:8%; height:4%; background: #4a4a5a; border-radius: 40% 40% 40% 40%; box-shadow: inset 0 0 4px rgba(0,0,0,.4); animation: uwm-bone 4s ease-in-out infinite; }
@keyframes uwm-bg { 0% { opacity:1 } 50% { opacity:.95 } 100% { opacity:1 } }
@keyframes uwm-chair { 0% { transform: rotate(0) } 50% { transform: rotate(.5deg) } 100% { transform: rotate(0) } }
@keyframes uwm-figure { 0% { transform: translateY(0) rotate(0) scaleY(1) } 25% { transform: translateY(-2px) rotate(2deg) scaleY(.98) } 50% { transform: translateY(0) rotate(0) scaleY(1) } 75% { transform: translateY(-2px) rotate(-2deg) scaleY(.98) } 100% { transform: translateY(0) rotate(0) scaleY(1) } }
@keyframes uwm-thread { 0% { transform: rotate(-5deg) translateX(0) } 50% { transform: rotate(0deg) translateX(2px) } 100% { transform: rotate(5deg) translateX(0) } }
@keyframes uwm-bone { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(10deg) } 100% { transform: translateY(0) rotate(0) } }

/* crates-card-wool - calm, dim-interior */
.scn-crates-card-wool {
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 50%, #1a0e05 100%),
              radial-gradient(ellipse at 50% 60%, #4a3a2a 0%, transparent 70%);
}
.scn-crates-card-wool .room-bg {
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  animation: ccw-bg 20s ease-in-out infinite alternate;
}
.scn-crates-card-wool .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 30% 70% 0 0 / 20% 50% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,.6);
}
.scn-crates-card-wool .table {
  position: absolute; bottom: 25%; left: 50%; width: 120px; height: 20px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #5a4a3a 0%, #3a2a1a 50%, #5a4a3a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,.5);
}
.scn-crates-card-wool .figure-left {
  position: absolute; bottom: 30%; left: 35%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ccw-figure 6s ease-in-out infinite;
}
.scn-crates-card-wool .figure-right {
  position: absolute; bottom: 30%; right: 35%; width: 24px; height: 48px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ccw-figure 6s ease-in-out infinite 0.5s;
}
.scn-crates-card-wool .wool-basket {
  position: absolute; bottom: 30%; left: 42%; width: 40px; height: 30px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 20% 20% 40% 40% / 30% 30% 40% 40%;
  box-shadow: 0 2px 6px rgba(0,0,0,.4);
  animation: ccw-basket 10s ease-in-out infinite alternate;
}
.scn-crates-card-wool .candle {
  position: absolute; bottom: 40%; left: 50%; width: 8px; height: 20px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #c8a060 0%, #8a6a30 100%);
  border-radius: 4px;
  box-shadow: 0 -2px 6px rgba(200,160,96,.5);
}
.scn-crates-card-wool .candle-glow {
  position: absolute; bottom: 42%; left: 50%; width: 30px; height: 30px;
  transform: translate(-50%, 50%);
  background: radial-gradient(circle, rgba(200,160,96,.6) 0%, rgba(200,160,96,.1) 60%);
  border-radius: 50%;
  filter: blur(6px);
  animation: ccw-glow 4s ease-in-out infinite alternate;
}
@keyframes ccw-bg { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.75 } }
@keyframes ccw-figure { 0% { transform: translateY(0) rotate(-2deg) } 50% { transform: translateY(-4px) rotate(2deg) } 100% { transform: translateY(0) rotate(-2deg) } }
@keyframes ccw-basket { 0% { transform: translateY(0) scale(1) } 100% { transform: translateY(-2px) scale(1.02) } }
@keyframes ccw-glow { 0% { opacity:.6; transform: translate(-50%,50%) scale(1) } 100% { opacity:1; transform: translate(-50%,50%) scale(1.2) } }

/* admirable-spirit - warm, window-lit */
.scn-admirable-spirit {
  background: linear-gradient(180deg, #8a6a3a 0%, #5a4a2a 30%, #2a1a0a 100%),
              radial-gradient(ellipse at 50% 20%, #e0c080 0%, transparent 60%);
}
.scn-admirable-spirit .window-frame {
  position: absolute; top: 5%; left: 50%; width: 160px; height: 120px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: inset 0 0 0 6px #1a0e05;
}
.scn-admirable-spirit .sunbeam {
  position: absolute; top: 10%; left: 50%; width: 100px; height: 200px;
  transform: translateX(-50%) skewX(-10deg);
  background: linear-gradient(180deg, rgba(255,230,180,.6) 0%, rgba(255,230,180,.05) 100%);
  filter: blur(8px);
  animation: as-beam 12s ease-in-out infinite alternate;
}
.scn-admirable-spirit .desk {
  position: absolute; bottom: 15%; left: 45%; width: 100px; height: 12px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,.5);
}
.scn-admirable-spirit .scroll {
  position: absolute; bottom: 22%; left: 48%; width: 60px; height: 10px;
  transform: translateX(-50%) rotate(-5deg);
  background: linear-gradient(90deg, #c8b080 0%, #a09070 100%);
  border-radius: 4px;
  animation: as-scroll 8s ease-in-out infinite alternate;
}
.scn-admirable-spirit .figure {
  position: absolute; bottom: 12%; left: 50%; width: 20px; height: 50px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: as-figure 5s ease-in-out infinite;
}
.scn-admirable-spirit .moon-symbol {
  position: absolute; top: 12%; left: 38%; width: 20px; height: 20px;
  background: radial-gradient(circle at 40% 50%, #d0c0a0 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(2px);
  animation: as-moon 30s linear infinite alternate;
}
.scn-admirable-spirit .star-symbol {
  position: absolute; top: 10%; right: 30%; width: 8px; height: 8px;
  background: radial-gradient(circle, #e0d0b0 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(1px);
  animation: as-star 4s ease-in-out infinite alternate;
}
.scn-admirable-spirit .sky-gradient {
  position: absolute; top: 5%; left: 50%; width: 140px; height: 100px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #c0a070 0%, #e0c890 50%, #ffe0b0 100%);
  clip-path: inset(0 0 0 0);
  opacity: .3;
  animation: as-sky 20s ease-in-out infinite alternate;
}
@keyframes as-beam { 0% { transform: translateX(-50%) skewX(-10deg) scaleY(1); opacity:.6 } 100% { transform: translateX(-50%) skewX(-10deg) scaleY(1.1); opacity:1 } }
@keyframes as-scroll { 0% { transform: translateX(-50%) rotate(-5deg) translateY(0) } 100% { transform: translateX(-50%) rotate(-5deg) translateY(-2px) } }
@keyframes as-figure { 0% { transform: translateX(-50%) rotate(-3deg) } 50% { transform: translateX(-50%) rotate(3deg) } 100% { transform: translateX(-50%) rotate(-3deg) } }
@keyframes as-moon { 0% { opacity:.3; transform: translate(0,0) } 100% { opacity:.6; transform: translate(10px,-5px) } }
@keyframes as-star { 0% { opacity:.2; transform: scale(1) } 100% { opacity:.8; transform: scale(1.5) } }
@keyframes as-sky { 0% { opacity:.2; transform: translateX(-50%) scaleY(1) } 100% { opacity:.4; transform: translateX(-50%) scaleY(1.05) } }

/* luxury-creates - tense, dim-interior */
.scn-luxury-creates {
  background: linear-gradient(180deg, #1a0a2a 0%, #2a1a3a 40%, #0a001a 100%),
              radial-gradient(ellipse at 50% 40%, #4a3a5a 0%, transparent 70%);
}
.scn-luxury-creates .vault-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a1a3a 0%, #0a001a 100%);
  animation: lc-bg 8s ease-in-out infinite alternate;
}
.scn-luxury-creates .table {
  position: absolute; bottom: 10%; left: 50%; width: 140px; height: 16px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #4a3a4a 0%, #5a4a5a 50%, #4a3a4a 100%);
  border-radius: 2px;
  box-shadow: 0 6px 12px rgba(0,0,0,.7);
}
.scn-luxury-creates .coins-pile {
  position: absolute; bottom: 15%; left: 45%; width: 50px; height: 20px;
  background: radial-gradient(ellipse at 50% 30%, #c8a040 0%, #8a6a20 100%);
  border-radius: 50%;
  box-shadow: 0 0 10px 2px rgba(200,160,64,.3);
  animation: lc-coins 3s ease-in-out infinite alternate;
}
.scn-luxury-creates .scale {
  position: absolute; bottom: 20%; right: 40%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #6a5a6a 0%, #4a3a4a 100%);
  clip-path: polygon(20% 0%, 80% 0%, 60% 40%, 40% 40%);
  animation: lc-scale 5s ease-in-out infinite;
}
.scn-luxury-creates .moneylender-hand {
  position: absolute; bottom: 15%; left: 30%; width: 18px; height: 30px;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(10deg);
  transform-origin: bottom center;
  animation: lc-hand 4s ease-in-out infinite;
}
.scn-luxury-creates .perfume-bottle {
  position: absolute; bottom: 22%; left: 55%; width: 14px; height: 28px;
  background: linear-gradient(180deg, #5a4a5a 0%, #3a2a3a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  box-shadow: 0 0 6px rgba(200,160,64,.2);
}
.scn-luxury-creates .lantern {
  position: absolute; bottom: 45%; left: 50%; width: 12px; height: 20px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5a4a4a 0%, #2a1a1a 100%);
  border-radius: 4px;
  box-shadow: 0 0 8px rgba(200,160,64,.4);
}
.scn-luxury-creates .lantern-glow {
  position: absolute; bottom: 45%; left: 50%; width: 40px; height: 40px;
  transform: translate(-50%, 50%);
  background: radial-gradient(circle, rgba(200,160,64,.5) 0%, rgba(200,160,64,.05) 60%);
  filter: blur(10px);
  animation: lc-glow 2s ease-in-out infinite alternate;
}
@keyframes lc-bg { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes lc-coins { 0% { transform: translateY(0) scale(1) } 100% { transform: translateY(-2px) scale(1.05) } }
@keyframes lc-scale { 0% { transform: rotate(-5deg) } 50% { transform: rotate(5deg) } 100% { transform: rotate(-5deg) } }
@keyframes lc-hand { 0% { transform: rotate(10deg) translateY(0) } 50% { transform: rotate(10deg) translateY(-3px) } 100% { transform: rotate(10deg) translateY(0) } }
@keyframes lc-glow { 0% { transform: translate(-50%,50%) scale(1); opacity:.6 } 100% { transform: translate(-50%,50%) scale(1.3); opacity:1 } }

/* horse-bitted - tense, dim-interior */
.scn-horse-bitted {
  background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2a 40%, #0a0a1a 100%),
              radial-gradient(ellipse at 50% 60%, #2a2a3a 0%, transparent 70%);
}
.scn-horse-bitted .stable-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  animation: hb-bg 10s ease-in-out infinite alternate;
}
.scn-horse-bitted .horse-body {
  position: absolute; bottom: 8%; left: 35%; width: 100px; height: 60px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 40% 60% 50% 50% / 60% 40% 50% 50%;
  box-shadow: 0 4px 12px rgba(0,0,0,.5);
  animation: hb-body 4s ease-in-out infinite;
}
.scn-horse-bitted .horse-head {
  position: absolute; bottom: 20%; left: 55%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 30% 40% 70% 30% / 40% 40% 60% 60%;
  transform-origin: bottom center;
  animation: hb-head 3s ease-in-out infinite;
}
.scn-horse-bitted .bridle {
  position: absolute; bottom: 30%; left: 56%; width: 30px; height: 4px;
  background: #4a3a2a;
  border-radius: 2px;
  box-shadow: 0 6px 0 #2a1a0a;
  animation: hb-bridle 5s ease-in-out infinite;
}
.scn-horse-bitted .bit {
  position: absolute; bottom: 24%; left: 60%; width: 8px; height: 8px;
  background: radial-gradient(circle, #a0a0b0 0%, #606070 100%);
  border-radius: 50%;
  box-shadow: 0 0 10px 2px rgba(160,160,176,.5);
  animation: hb-bit 3s ease-in-out infinite alternate;
}
.scn-horse-bitted .reins {
  position: absolute; bottom: 32%; left: 58%; width: 60px; height: 2px;
  background: #4a3a2a;
  transform: rotate(20deg);
  transform-origin: left center;
  animation: hb-reins 4s ease-in-out infinite;
}
.scn-horse-bitted .post {
  position: absolute; bottom: 0; left: 25%; width: 8px; height: 50px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 2px;
  box-shadow: 0 0 4px rgba(0,0,0,.6);
}
.scn-horse-bitted .shadow-figure {
  position: absolute; bottom: 15%; right: 20%; width: 20px; height: 60px;
  background: linear-gradient(180deg, rgba(0,0,0,.4) 0%, rgba(0,0,0,.6) 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  filter: blur(4px);
  animation: hb-shadow 6s ease-in-out infinite;
}
@keyframes hb-bg { 0% { opacity:.8 } 100% { opacity:1 } }
@keyframes hb-body { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-3px) } }
@keyframes hb-head { 0% { transform: translate(0,0) rotate(-2deg) } 50% { transform: translate(2px,-2px) rotate(2deg) } 100% { transform: translate(0,0) rotate(-2deg) } }
@keyframes hb-bridle { 0% { transform: translateY(0) } 100% { transform: translateY(-2px) } }
@keyframes hb-bit { 0% { opacity:.8; transform: scale(1) } 100% { opacity:1; transform: scale(1.2) } }
@keyframes hb-reins { 0% { transform: rotate(20deg) } 50% { transform: rotate(25deg) } 100% { transform: rotate(20deg) } }
@keyframes hb-shadow { 0% { opacity:.3; transform: translateY(0) } 50% { opacity:.6; transform: translateY(-10px) } 100% { opacity:.3; transform: translateY(0) } }

/* bear-abuse-enemy-silently – dim interior, calm */
.scn-bear-abuse-enemy-silently {
  background: linear-gradient(180deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%),
              radial-gradient(ellipse at 50% 80%, #0f3460 0%, transparent 70%);
}
.scn-bear-abuse-enemy-silently .baes-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a1a2e 0%, #16213e 80%);
}
.scn-bear-abuse-enemy-silently .baes-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 18%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 10% 10% 0 0;
}
.scn-bear-abuse-enemy-silently .baes-sky {
  position: absolute; left: 22%; top: 10%; width: 58%; height: 30%;
  background: linear-gradient(180deg, #1b3a5a 0%, #2a5a7a 100%);
  border-radius: 2px;
  animation: baes-sky 12s ease-in-out infinite alternate;
}
.scn-bear-abuse-enemy-silently .baes-cliff {
  position: absolute; left: 22%; bottom: 30%; width: 35%; height: 22%;
  background: linear-gradient(180deg, #3a4a3a 0%, #2a3a2a 100%);
  border-radius: 60% 40% 0 0 / 100% 80% 0 0;
  animation: baes-cliff 14s ease-in-out infinite alternate;
}
.scn-bear-abuse-enemy-silently .baes-sea {
  position: absolute; bottom: 16%; left: 22%; width: 58%; height: 12%;
  background: linear-gradient(180deg, #1a3a5a 0%, #0a2a4a 100%);
  border-radius: 50%;
  animation: baes-sea 6s ease-in-out infinite alternate;
}
.scn-bear-abuse-enemy-silently .baes-frame {
  position: absolute; left: 21%; top: 9%; width: 60%; height: 32%;
  border: 4px solid #3a2a1a; border-radius: 3px; pointer-events: none;
  z-index: 5;
}
.scn-bear-abuse-enemy-silently .baes-table {
  position: absolute; bottom: 16%; left: 12%; width: 20%; height: 6%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 0 0;
}
.scn-bear-abuse-enemy-silently .baes-figure {
  position: absolute; bottom: 14%; left: 15%; width: 14px; height: 32px;
  background: linear-gradient(180deg, #0a0a1a 0%, #02020a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: baes-figure 8s ease-in-out infinite;
}
.scn-bear-abuse-enemy-silently .baes-candle {
  position: absolute; bottom: 22%; left: 20%; width: 4px; height: 8px;
  background: linear-gradient(180deg, #ffd680 0%, #e0a020 100%);
  border-radius: 50% 50% 0 0;
  box-shadow: 0 0 12px 4px rgba(255,214,128,0.6), 0 0 24px 8px rgba(255,214,128,0.3);
  animation: baes-candle 2s ease-in-out infinite alternate;
}
@keyframes baes-sky {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes baes-cliff {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(1px); }
}
@keyframes baes-sea {
  0% { transform: translateY(0) scaleX(1); }
  50% { transform: translateY(-1px) scaleX(1.02); }
  100% { transform: translateY(1px) scaleX(0.98); }
}
@keyframes baes-figure {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  25% { transform: translateX(2px) translateY(-1px) rotate(1deg); }
  50% { transform: translateX(4px) translateY(0) rotate(0deg); }
  75% { transform: translateX(2px) translateY(-1px) rotate(-1deg); }
  100% { transform: translateX(0) translateY(0) rotate(0deg); }
}
@keyframes baes-candle {
  0% { opacity: 0.8; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.1) rotate(2deg); }
  100% { opacity: 0.9; transform: scale(0.95) rotate(-1deg); }
}

/* meekness-in-enmity-kindness-friendship – bright interior, warm */
.scn-meekness-in-enmity-kindness-friendship {
  background: linear-gradient(180deg, #f5e6d3 0%, #e8d5b7 50%, #d4b895 100%),
              radial-gradient(ellipse at 50% 30%, #f0e2c8 0%, transparent 70%);
}
.scn-meekness-in-enmity-kindness-friendship .mekf-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #f5e6d3 0%, #e0c8a8 100%);
}
.scn-meekness-in-enmity-kindness-friendship .mekf-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 22%;
  background: linear-gradient(180deg, #c4a882 0%, #a88b6a 100%);
  border-radius: 20% 20% 0 0;
}
.scn-meekness-in-enmity-kindness-friendship .mekf-table {
  position: absolute; bottom: 22%; left: 50%; width: 38%; height: 14%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #d4a574 0%, #b8845a 100%);
  border-radius: 30%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  animation: mekf-table 10s ease-in-out infinite alternate;
}
.scn-meekness-in-enmity-kindness-friendship .mekf-chair-l {
  position: absolute; bottom: 24%; left: 20%; width: 14%; height: 22%;
  background: linear-gradient(180deg, #8b6f4e 0%, #6b5030 100%);
  border-radius: 30% 30% 10% 10%;
  animation: mekf-chair 6s ease-in-out infinite;
}
.scn-meekness-in-enmity-kindness-friendship .mekf-chair-r {
  position: absolute; bottom: 24%; right: 20%; width: 14%; height: 22%;
  background: linear-gradient(180deg, #8b6f4e 0%, #6b5030 100%);
  border-radius: 30% 30% 10% 10%;
  animation: mekf-chair 6s ease-in-out infinite 2s;
}
.scn-meekness-in-enmity-kindness-friendship .mekf-vase {
  position: absolute; bottom: 36%; left: 50%; width: 8%; height: 14%;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 30%, #e8a070 0%, #c07040 100%);
  border-radius: 50% 50% 30% 30%;
  animation: mekf-vase 4s ease-in-out infinite alternate;
}
.scn-meekness-in-enmity-kindness-friendship .mekf-beam {
  position: absolute; top: 0; right: 0; width: 30%; height: 60%;
  background: linear-gradient(135deg, rgba(255,255,200,0.35) 0%, transparent 100%);
  transform-origin: top right;
  animation: mekf-beam 8s ease-in-out infinite alternate;
}
@keyframes mekf-table {
  0% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-1px); }
  100% { transform: translateX(-50%) translateY(1px); }
}
@keyframes mekf-chair {
  0% { transform: translateY(0) rotate(0deg); }
  33% { transform: translateY(-1px) rotate(1deg); }
  66% { transform: translateY(0) rotate(0deg); }
  100% { transform: translateY(-1px) rotate(-1deg); }
}
@keyframes mekf-vase {
  0% { transform: translateX(-50%) rotate(0deg); }
  50% { transform: translateX(-50%) rotate(3deg); }
  100% { transform: translateX(-50%) rotate(-2deg); }
}
@keyframes mekf-beam {
  0% { opacity: 0.3; transform: translateX(0) rotate(-2deg); }
  50% { opacity: 0.6; transform: translateX(-8px) rotate(0deg); }
  100% { opacity: 0.4; transform: translateX(4px) rotate(2deg); }
}

/* caesar-pompey-statues – bright interior, warm */
.scn-caesar-pompey-statues {
  background: linear-gradient(180deg, #f0e0c0 0%, #d0b080 50%, #b09060 100%),
              radial-gradient(ellipse at 50% 20%, #e8d0a0 0%, transparent 60%);
}
.scn-caesar-pompey-statues .cps-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #f0e0c0 0%, #d0b080 100%);
}
.scn-caesar-pompey-statues .cps-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 16%;
  background: linear-gradient(180deg, #b8966a 0%, #a08050 100%);
  border-radius: 10% 10% 0 0;
}
.scn-caesar-pompey-statues .cps-pedestal {
  position: absolute; bottom: 16%; left: 50%; transform: translateX(-50%); width: 20%; height: 30%;
  background: linear-gradient(180deg, #d4c4a8 0%, #b8a080 100%);
  border-radius: 5% 5% 0 0;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  animation: cps-pedestal 12s ease-in-out infinite alternate;
}
.scn-caesar-pompey-statues .cps-bust {
  position: absolute; bottom: 46%; left: 50%; transform: translateX(-50%); width: 15%; height: 22%;
  background: linear-gradient(180deg, #c8b090 0%, #a08060 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: cps-bust 9s ease-in-out infinite alternate;
}
.scn-caesar-pompey-statues .cps-ladder {
  position: absolute; bottom: 30%; left: 15%; width: 8%; height: 50%;
  background: linear-gradient(180deg, #8b7a5a 0%, #6b5a3a 100%);
  border-radius: 10% 10% 0 0;
  transform-origin: bottom left;
  animation: cps-ladder 7s ease-in-out infinite alternate;
}
.scn-caesar-pompey-statues .cps-curtain {
  position: absolute; top: 0; right: 5%; width: 20%; height: 80%;
  background: linear-gradient(180deg, #9a5a3a 0%, #7a3a2a 100%);
  border-radius: 0 0 30% 30%;
  animation: cps-curtain 11s ease-in-out infinite alternate;
}
.scn-caesar-pompey-statues .cps-rope {
  position: absolute; top: 5%; left: 50%; margin-left: -1px; width: 2px; height: 25%;
  background: #6a5a4a;
  transform-origin: top center;
  animation: cps-rope 5s ease-in-out infinite alternate;
}
.scn-caesar-pompey-statues .cps-light {
  position: absolute; top: 0; left: 30%; width: 20%; height: 100%;
  background: linear-gradient(180deg, rgba(255,255,220,0.3) 0%, transparent 90%);
  animation: cps-light 10s ease-in-out infinite alternate;
}
@keyframes cps-pedestal {
  0% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-1px); }
  100% { transform: translateX(-50%) translateY(1px); }
}
@keyframes cps-bust {
  0% { transform: translateX(-50%) rotate(0deg); }
  50% { transform: translateX(-50%) rotate(1deg); }
  100% { transform: translateX(-50%) rotate(-1deg); }
}
@keyframes cps-ladder {
  0% { transform: rotate(-2deg); }
  50% { transform: rotate(0deg); }
  100% { transform: rotate(2deg); }
}
@keyframes cps-curtain {
  0% { transform: translateX(0); }
  50% { transform: translateX(-3px); }
  100% { transform: translateX(2px); }
}
@keyframes cps-rope {
  0% { transform: rotate(-3deg); }
  50% { transform: rotate(0deg); }
  100% { transform: rotate(3deg); }
}
@keyframes cps-light {
  0% { opacity: 0.4; }
  50% { opacity: 0.8; }
  100% { opacity: 0.5; }
}

/* knavery-enemy-planted-mind – dark interior, dim */
.scn-knavery-enemy-planted-mind {
  background: linear-gradient(180deg, #0d0d1a 0%, #1a1a2e 50%, #0a0a14 100%),
              radial-gradient(ellipse at 50% 60%, #1a1a2e 0%, transparent 80%);
}
.scn-knavery-enemy-planted-mind .kepm-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #0d0d1a 0%, #0a0a14 100%);
}
.scn-knavery-enemy-planted-mind .kepm-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 12%;
  background: linear-gradient(180deg, #1a0a0a 0%, #0a0000 100%);
  border-radius: 20% 20% 0 0;
}
.scn-knavery-enemy-planted-mind .kepm-figure {
  position: absolute; bottom: 14%; left: 35%; width: 20%; height: 40%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a14 100%);
  border-radius: 60% 40% 50% 50% / 70% 60% 30% 30%;
  transform-origin: bottom center;
  animation: kepm-figure 12s ease-in-out infinite alternate;
}
.scn-knavery-enemy-planted-mind .kepm-seed {
  position: absolute; bottom: 50%; left: 45%; width: 6%; height: 6%;
  background: radial-gradient(circle, #4af0c0 0%, #1a8a6a 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 6px rgba(74,240,192,0.5), 0 0 40px 12px rgba(74,240,192,0.3);
  animation: kepm-seed 3s ease-in-out infinite alternate;
}
.scn-knavery-enemy-planted-mind .kepm-root1 {
  position: absolute; bottom: 14%; left: 40%; width: 2%; height: 20%;
  background: linear-gradient(180deg, #3a6a5a 0%, #1a3a2a 100%);
  border-radius: 50%;
  transform-origin: bottom center;
  animation: kepm-root1 15s linear infinite;
}
.scn-knavery-enemy-planted-mind .kepm-root2 {
  position: absolute; bottom: 14%; left: 48%; width: 2%; height: 14%;
  background: linear-gradient(180deg, #3a6a5a 0%, #1a3a2a 100%);
  border-radius: 50%;
  transform-origin: bottom center;
  animation: kepm-root2 18s linear infinite 2s;
}
.scn-knavery-enemy-planted-mind .kepm-root3 {
  position: absolute; bottom: 14%; left: 55%; width: 2%; height: 25%;
  background: linear-gradient(180deg, #3a6a5a 0%, #1a3a2a 100%);
  border-radius: 50%;
  transform-origin: bottom center;
  animation: kepm-root3 13s linear infinite 4s;
}
@keyframes kepm-figure {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(2px) rotate(-1deg); }
}
@keyframes kepm-seed {
  0% { opacity: 0.7; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.3); }
  100% { opacity: 0.8; transform: scale(0.9); }
}
@keyframes kepm-root1 {
  0% { transform: rotate(-20deg) translateY(0) scaleY(1); }
  50% { transform: rotate(-25deg) translateY(-2px) scaleY(1.05); }
  100% { transform: rotate(-20deg) translateY(0) scaleY(1); }
}
@keyframes kepm-root2 {
  0% { transform: rotate(5deg) translateY(0) scaleY(1); }
  50% { transform: rotate(10deg) translateY(-1px) scaleY(0.95); }
  100% { transform: rotate(5deg) translateY(0) scaleY(1); }
}
@keyframes kepm-root3 {
  0% { transform: rotate(15deg) translateY(0) scaleY(1); }
  50% { transform: rotate(20deg) translateY(-3px) scaleY(1.1); }
  100% { transform: rotate(15deg) translateY(0) scaleY(1); }
}

/* footnote-readings-7 – scholar’s desk with candle */
.scn-footnote-readings-7 {
  background: linear-gradient(180deg, #1a1210 0%, #2a1a14 40%, #3a2218 100%),
              radial-gradient(ellipse at 50% 100%, #3a2218 0%, transparent 70%);
}
.scn-footnote-readings-7 .bg-depth { position:absolute; inset:0; background: linear-gradient(180deg, rgba(10,8,6,.6) 0%, transparent 50%); animation: fr7–dim 8s ease-in-out infinite alternate; }
.scn-footnote-readings-7 .desk    { position:absolute; bottom:0; left:0; right:0; height:28%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%); border-radius: 4% 4% 0 0; box-shadow: inset 0 8px 12px rgba(0,0,0,.6); }
.scn-footnote-readings-7 .candle  { position:absolute; bottom:32%; left:45%; width:12px; height:60px; background: linear-gradient(180deg, #c8a060 0%, #8a6a40 50%, #5a3a20 100%); border-radius: 4px 4px 2px 2px; transform-origin: bottom center; animation: fr7–candle 6s ease-in-out infinite; }
.scn-footnote-readings-7 .flame   { position:absolute; bottom:calc(32% + 60px); left:calc(45% + 2px); width:8px; height:18px; background: radial-gradient(circle, #ffd080 0%, #e8a040 60%, transparent 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; filter: blur(1px); box-shadow: 0 0 20px 8px #e8a040, 0 0 40px 12px rgba(232,160,64,.4); animation: fr7–flame 1.2s ease-in-out infinite alternate; }
.scn-footnote-readings-7 .book    { position:absolute; bottom:28%; left:52%; width:40px; height:20px; background: linear-gradient(135deg, #5a3a20 0%, #3a2210 100%); border-radius: 2px 2px 6px 6px; transform: rotate(-8deg); box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: fr7–book 10s ease-in-out infinite; }
.scn-footnote-readings-7 .skull   { position:absolute; bottom:30%; left:38%; width:24px; height:28px; background: linear-gradient(180deg, #c8b8a8 0%, #a09080 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: inset 0 -4px 6px rgba(0,0,0,.3); animation: fr7–skull 14s ease-in-out infinite alternate; }
.scn-footnote-readings-7 .dust-a  { position:absolute; top:30%; left:10%; width:4px; height:4px; background: rgba(200,180,150,.5); border-radius: 50%; filter: blur(2px); animation: fr7–drift-a 25s linear infinite; }
.scn-footnote-readings-7 .dust-b  { position:absolute; top:50%; right:20%; width:3px; height:3px; background: rgba(200,180,150,.4); border-radius: 50%; filter: blur(3px); animation: fr7–drift-b 35s linear infinite reverse; }
@keyframes fr7–dim     { 0% { opacity: .9 } 50% { opacity: .7 } 100% { opacity: .85 } }
@keyframes fr7–candle  { 0%,100% { transform: rotate(0) } 30% { transform: rotate(2deg) } 70% { transform: rotate(-1deg) } }
@keyframes fr7–flame   { 0% { transform: scaleY(1) scaleX(.9); opacity: .9 } 50% { transform: scaleY(1.15) scaleX(1); opacity: 1 } 100% { transform: scaleY(.95) scaleX(.85); opacity: .85 } }
@keyframes fr7–book    { 0%,100% { transform: rotate(-8deg) translateY(0) } 50% { transform: rotate(-6deg) translateY(-2px) } }
@keyframes fr7–skull   { 0% { transform: rotate(-2deg) } 50% { transform: rotate(3deg) } 100% { transform: rotate(-1deg) } }
@keyframes fr7–drift-a { 0% { transform: translate(0,0) } 25% { transform: translate(8px,-6px) } 50% { transform: translate(15px,-2px) } 75% { transform: translate(5px,4px) } 100% { transform: translate(20px,-8px) } }
@keyframes fr7–drift-b { 0% { transform: translate(0,0) } 33% { transform: translate(-10px,4px) } 66% { transform: translate(-5px,-4px) } 100% { transform: translate(-12px,6px) } }

/* footnote-readings-8 – plant and bookshelf nook */
.scn-footnote-readings-8 {
  background: linear-gradient(180deg, #1a1410 0%, #2a1e16 50%, #1a1008 100%),
              radial-gradient(ellipse at 30% 70%, #2a1e16 0%, transparent 80%);
}
.scn-footnote-readings-8 .bg-wall  { position:absolute; inset:0; background: linear-gradient(180deg, rgba(10,8,6,.5) 0%, transparent 60%); }
.scn-footnote-readings-8 .shelf    { position:absolute; top:20%; left:10%; right:10%; height:6px; background: linear-gradient(180deg, #4a3420 0%, #2a1a10 100%); border-radius: 2px; box-shadow: 0 12px 0 #2a1a10, 0 24px 0 #4a3420, 0 36px 0 #2a1a10; animation: fr8–shelf 20s ease-in-out infinite; }
.scn-footnote-readings-8 .pot      { position:absolute; bottom:42%; left:24%; width:28px; height:32px; background: linear-gradient(180deg, #6a4a30 0%, #3a2010 100%); border-radius: 6px 6px 4px 4px; box-shadow: inset 0 -6px 8px rgba(0,0,0,.5); transform-origin: bottom center; animation: fr8–pot 12s ease-in-out infinite alternate; }
.scn-footnote-readings-8 .stem     { position:absolute; bottom:calc(42% + 32px); left:calc(24% + 12px); width:4px; height:30px; background: linear-gradient(180deg, #4a6a3a 0%, #2a4a1a 100%); border-radius: 2px; transform-origin: bottom center; animation: fr8–stem 8s ease-in-out infinite; }
.scn-footnote-readings-8 .leaf-l   { position:absolute; bottom:calc(42% + 32px + 30px - 10px); left:calc(24% + 4px); width:16px; height:10px; background: radial-gradient(ellipse at 100% 50%, #5a7a4a 0%, #3a5a2a 100%); border-radius: 50% 10% 50% 10%; transform: rotate(-30deg); animation: fr8–leaf 6s ease-in-out infinite alternate; }
.scn-footnote-readings-8 .leaf-r   { position:absolute; bottom:calc(42% + 32px + 30px - 6px); left:calc(24% + 16px); width:14px; height:8px; background: radial-gradient(ellipse at 0% 50%, #5a7a4a 0%, #3a5a2a 100%); border-radius: 10% 50% 10% 50%; transform: rotate(20deg); animation: fr8–leaf2 7s ease-in-out infinite alternate; }
.scn-footnote-readings-8 .lamp-glow{ position:absolute; bottom:30%; right:20%; width:40px; height:40px; background: radial-gradient(circle, #c8a060 0%, #6a4a30 50%, transparent 100%); border-radius: 50%; filter: blur(8px); animation: fr8–lum 4s ease-in-out infinite alternate; }
.scn-footnote-readings-8 .shadow-v { position:absolute; top:0; left:0; width:100%; height:100%; background: radial-gradient(ellipse at 50% 70%, transparent 30%, rgba(0,0,0,.5) 100%); pointer-events: none; animation: fr8–vignette 10s ease-in-out infinite alternate; }
@keyframes fr8–shelf      { 0% { transform: translateY(0) } 50% { transform: translateY(2px) } 100% { transform: translateY(0) } }
@keyframes fr8–pot        { 0% { transform: rotate(-2deg) } 50% { transform: rotate(3deg) } 100% { transform: rotate(0) } }
@keyframes fr8–stem       { 0%,100% { transform: rotate(0) } 30% { transform: rotate(-4deg) } 70% { transform: rotate(2deg) } }
@keyframes fr8–leaf       { 0% { transform: rotate(-30deg) scale(1) } 50% { transform: rotate(-25deg) scale(1.05) } 100% { transform: rotate(-30deg) scale(1) } }
@keyframes fr8–leaf2      { 0% { transform: rotate(20deg) scale(1) } 50% { transform: rotate(15deg) scale(0.95) } 100% { transform: rotate(20deg) scale(1) } }
@keyframes fr8–lum        { 0% { opacity: .6; transform: scale(1) } 50% { opacity: .8; transform: scale(1.1) } 100% { opacity: .7; transform: scale(0.95) } }
@keyframes fr8–vignette   { 0% { opacity: .4 } 50% { opacity: .6 } 100% { opacity: .5 } }

/* footnote-readings-10 – scroll and serpent on table */
.scn-footnote-readings-10 {
  background: linear-gradient(180deg, #0e0a08 0%, #1a1210 40%, #221814 100%),
              radial-gradient(ellipse at 60% 40%, #221814 0%, transparent 70%);
}
.scn-footnote-readings-10 .bg-study { position:absolute; inset:0; background: linear-gradient(180deg, rgba(10,8,6,.4) 0%, transparent 50%); }
.scn-footnote-readings-10 .table    { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a1e14 0%, #0e0804 100%); border-radius: 6% 6% 0 0; box-shadow: inset 0 8px 10px rgba(0,0,0,.6); }
.scn-footnote-readings-10 .scroll   { position:absolute; bottom:28%; left:30%; width:60px; height:24px; background: linear-gradient(180deg, #d4c8b0 0%, #a89880 50%, #7a6a5a 100%); border-radius: 12px 12px 4px 4px; transform: rotate(4deg); box-shadow: 0 4px 8px rgba(0,0,0,.7); animation: fr10–unroll 18s ease-in-out infinite alternate; }
.scn-footnote-readings-10 .snake    { position:absolute; bottom:30%; left:45%; width:8px; height:32px; background: linear-gradient(180deg, #4a5a3a 0%, #2a3a1a 100%); border-radius: 50% 50% 40% 40% / 40% 40% 60% 60%; transform-origin: top center; box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: fr10–coil 6s ease-in-out infinite; }
.scn-footnote-readings-10 .inkwell  { position:absolute; bottom:30%; left:58%; width:18px; height:20px; background: linear-gradient(180deg, #2a2a2a 0%, #0a0a0a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; box-shadow: inset 0 2px 4px rgba(255,255,255,.1); animation: fr10–ink 20s ease-in-out infinite alternate; }
.scn-footnote-readings-10 .quill    { position:absolute; bottom:32%; left:60%; width:4px; height:30px; background: linear-gradient(180deg, #c8b8a0 0%, #7a6a5a 100%); border-radius: 2px 2px 50% 50%; transform: rotate(-20deg); transform-origin: bottom center; animation: fr10–quill 5s ease-in-out infinite; }
.scn-footnote-readings-10 .glow-spot{ position:absolute; top:30%; right:25%; width:50px; height:50px; background: radial-gradient(circle, rgba(200,160,96,.15) 0%, transparent 100%); border-radius: 50%; filter: blur(12px); animation: fr10–glow 7s ease-in-out infinite alternate; }
@keyframes fr10–unroll { 0% { transform: rotate(4deg) scaleX(1) } 50% { transform: rotate(2deg) scaleX(1.03) } 100% { transform: rotate(5deg) scaleX(0.98) } }
@keyframes fr10–coil   { 0% { transform: rotate(0) translateY(0) } 25% { transform: rotate(15deg) translateY(-2px) } 50% { transform: rotate(-10deg) translateY(1px) } 75% { transform: rotate(5deg) translateY(-1px) } 100% { transform: rotate(0) translateY(0) } }
@keyframes fr10–ink   { 0%,100% { transform: scale(1) } 50% { transform: scale(1.05) } }
@keyframes fr10–quill  { 0%,100% { transform: rotate(-20deg) } 50% { transform: rotate(-15deg) } }
@keyframes fr10–glow   { 0% { opacity: .3; transform: scale(1) } 50% { opacity: .6; transform: scale(1.2) } 100% { opacity: .4; transform: scale(0.9) } }

/* footnote-readings-12 – Danaid jar and falling water */
.scn-footnote-readings-12 {
  background: linear-gradient(180deg, #0c0a08 0%, #1a1210 40%, #14100e 100%),
              radial-gradient(ellipse at 50% 20%, #1a1210 0%, transparent 80%);
}
.scn-footnote-readings-12 .bg-dark { position:absolute; inset:0; background: linear-gradient(180deg, rgba(8,6,4,.5) 0%, transparent 50%); }
.scn-footnote-readings-12 .jar     { position:absolute; bottom:25%; left:40%; width:40px; height:60px; background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%); border-radius: 8px 8px 6px 6px; border: 2px solid #4a3a2a; box-shadow: inset 0 -10px 8px rgba(0,0,0,.6); animation: fr12–jar 15s ease-in-out infinite alternate; }
.scn-footnote-readings-12 .water   { position:absolute; bottom:25%; left:40%; width:36px; height:40px; background: linear-gradient(180deg, rgba(60,80,100,.4) 0%, rgba(30,40,60,.2) 100%); border-radius: 0 0 4px 4px; left:calc(40% + 2px); width:36px; height:40px; animation: fr12–fill 10s ease-in-out infinite alternate; }
.scn-footnote-readings-12 .sieve   { position:absolute; bottom:calc(25% + 60px); left:38%; width:48px; height:8px; background: repeating-linear-gradient(90deg, #4a3a2a 0px, #4a3a2a 4px, transparent 4px, transparent 6px); border-radius: 4px; box-shadow: 0 2px 4px rgba(0,0,0,.5); animation: fr12–sieve 6s ease-in-out infinite; }
.scn-footnote-readings-12 .drop-a  { position:absolute; top:15%; left:42%; width:4px; height:8px; background: linear-gradient(180deg, rgba(100,130,160,.6) 0%, rgba(60,80,100,.3) 100%); border-radius: 50%; filter: blur(1px); animation: fr12–drop-a 2.8s ease-in-out infinite; }
.scn-footnote-readings-12 .drop-b  { position:absolute; top:10%; left:48%; width:3px; height:6px; background: rgba(100,130,160,.5); border-radius: 50%; filter: blur(1px); animation: fr12–drop-b 3.2s ease-in-out infinite 1.4s; }
.scn-footnote-readings-12 .ripple  { position:absolute; bottom:30%; left:42%; width:20px; height:20px; border: 2px solid rgba(60,80,100,.2); border-radius: 50%; opacity: 0; animation: fr12–ripple 3s ease-out infinite; }
@keyframes fr12–jar      { 0% { transform: rotate(-2deg) } 50% { transform: rotate(3deg) } 100% { transform: rotate(0) } }
@keyframes fr12–fill     { 0% { height: 40px; opacity: .6 } 50% { height: 48px; opacity: .8 } 100% { height: 36px; opacity: .5 } }
@keyframes fr12–sieve    { 0%,100% { transform: rotate(0) } 30% { transform: rotate(5deg) } 70% { transform: rotate(-4deg) } }
@keyframes fr12–drop-a   { 0% { transform: translateY(0) scale(1); opacity: 0 } 20% { opacity: 1 } 80% { opacity: .8 } 100% { transform: translateY(40vh) scale(.5); opacity: 0 } }
@keyframes fr12–drop-b   { 0% { transform: translateY(0) scale(1); opacity: 0 } 20% { opacity: 1 } 80% { opacity: .8 } 100% { transform: translateY(45vh) scale(.4); opacity: 0 } }
@keyframes fr12–ripple   { 0% { transform: scale(0); opacity: .5 } 50% { transform: scale(1.5); opacity: .3 } 100% { transform: scale(2.5); opacity: 0 } }

.scn-sun-wakes { background: linear-gradient(180deg, #f7b066 0%, #d97a3a 50%, #5a2a1a 100%), radial-gradient(ellipse at 50% 0%, #f7b066 0%, transparent 70%); }
.scn-sun-wakes .sky   { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #fcd48a 0%, #e88a42 100%); animation: sw-sky 12s ease-in-out infinite alternate; }
.scn-sun-wakes .sun   { position:absolute; top:10%; left:60%; width:60px; height:60px; background: radial-gradient(circle, #ffe066 0%, #f08a30 70%, transparent 100%); border-radius:50%; box-shadow: 0 0 40px 20px #f08a30, 0 0 80px 40px rgba(240,138,48,.3); animation: sw-sun 8s ease-in-out infinite; }
.scn-sun-wakes .hills-far { position:absolute; bottom:35%; left:0; right:0; height:15%; background: linear-gradient(180deg, #7a5a3a 0%, #4a2a1a 100%); border-radius: 50% 50% 0 0 / 100% 100% 0 0; animation: sw-hills 14s ease-in-out infinite alternate; }
.scn-sun-wakes .hills-near { position:absolute; bottom:30%; left:-5%; right:-5%; height:18%; background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%); border-radius: 30% 70% 0 0 / 80% 60% 0 0; animation: sw-hills 18s ease-in-out infinite alternate; }
.scn-sun-wakes .figure { position:absolute; bottom:25%; left:35%; width:28px; height:52px; background: linear-gradient(180deg, #2a1a0a 0%, #0a0502 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sw-fig 4s ease-in-out infinite; }
.scn-sun-wakes .ground { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); }
.scn-sun-wakes .cloud { position:absolute; top:20%; width:80px; height:20px; background: linear-gradient(180deg, rgba(255,235,200,.6) 0%, rgba(255,235,200,.1) 100%); border-radius:50%; filter: blur(6px); }
.scn-sun-wakes .cw-a { left:10%; animation: sw-drift 40s linear infinite; }
.scn-sun-wakes .cw-b { left:70%; width:60px; height:16px; animation: sw-drift 50s linear infinite reverse; animation-delay:-10s; }
@keyframes sw-sky { 0% { opacity:.8; } 50% { opacity:1; } 100% { opacity:.85; } }
@keyframes sw-sun { 0% { transform:translateY(0) scale(1); opacity:.9; } 50% { transform:translateY(-8px) scale(1.05); opacity:1; box-shadow: 0 0 60px 30px #f08a30, 0 0 100px 50px rgba(240,138,48,.4); } 100% { transform:translateY(4px) scale(.98); opacity:.95; } }
@keyframes sw-hills { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-3px) scaleX(1.02); } 100% { transform: translateY(0) scaleX(1); } }
@keyframes sw-fig { 0%,100% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(4px) translateY(-2px) rotate(2deg); } 50% { transform: translateX(8px) translateY(0) rotate(-1deg); } 75% { transform: translateX(12px) translateY(-1px) rotate(1deg); } }
@keyframes sw-drift { 0% { transform: translateX(-30px); } 100% { transform: translateX(100vw); } }

.scn-deity-ordained { background: linear-gradient(180deg, #fceabb 0%, #f8b500 40%, #c27a1a 100%), radial-gradient(ellipse at 50% 60%, #f8b500 0%, transparent 80%); }
.scn-deity-ordained .arch { position:absolute; top:0; left:50%; width:200px; height:100%; transform:translateX(-50%); background: linear-gradient(180deg, #4a2c1a 0%, #2a1a0a 100%); border-radius: 50% 50% 0 0 / 60% 60% 0 0; box-shadow: 0 0 30px rgba(0,0,0,.4); }
.scn-deity-ordained .light-beam { position:absolute; top:0; left:50%; width:140px; height:100%; transform:translateX(-50%); background: linear-gradient(180deg, rgba(255,245,200,.9) 0%, rgba(255,220,150,.5) 50%, transparent 100%); clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%); animation: do-light 6s ease-in-out infinite alternate; }
.scn-deity-ordained .figure-left { position:absolute; bottom:25%; left: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: do-walk 4s ease-in-out infinite; }
.scn-deity-ordained .figure-right { position:absolute; bottom:25%; 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: do-walk 4.5s ease-in-out infinite; animation-direction: reverse; }
.scn-deity-ordained .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); }
.scn-deity-ordained .step { position:absolute; bottom:25%; left:50%; width:120px; height:8px; transform:translateX(-50%); background: linear-gradient(180deg, #8a6a4a 0%, #5a3a1a 100%); border-radius:4px; animation: do-step 8s ease-in-out infinite; }
@keyframes do-light { 0% { opacity:.8; transform: translateX(-50%) scaleY(1); } 50% { opacity:1; transform: translateX(-50%) scaleY(1.02); } 100% { opacity:.85; transform: translateX(-50%) scaleY(.98); } }
@keyframes do-walk { 0%,100% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(8px) translateY(-2px) rotate(2deg); } 50% { transform: translateX(16px) translateY(0) rotate(-1deg); } 75% { transform: translateX(24px) translateY(-1px) rotate(1deg); } }
@keyframes do-step { 0%,100% { transform: translateX(-50%) scaleX(1); } 50% { transform: translateX(-50%) scaleX(1.04); } }

.scn-knowledge-being { background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%), radial-gradient(ellipse at 50% 30%, #c2a27f 0%, transparent 80%); }
.scn-knowledge-being .window { position:absolute; top:5%; left:50%; width:120px; height:80px; transform:translateX(-50%); background: linear-gradient(180deg, #f0d8a0 0%, #c2a27f 100%); border:6px solid #5a4a3a; border-radius:4px; box-shadow: inset 0 0 20px rgba(255,220,150,.5), 0 8px 16px rgba(0,0,0,.5); animation: kb-window 8s ease-in-out infinite alternate; }
.scn-knowledge-being .desk { position:absolute; bottom:20%; left:50%; width:160px; height:30px; transform:translateX(-50%); background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%); border-radius:4px; }
.scn-knowledge-being .book { position:absolute; bottom:28%; left:50%; width:80px; height:12px; transform:translateX(-50%) rotate(-5deg); background: linear-gradient(180deg, #b08050 0%, #805030 100%); border-radius:2px; box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: kb-book 3s ease-in-out infinite; }
.scn-knowledge-being .figure { position:absolute; bottom:20%; left:35%; width:30px; height:60px; background: linear-gradient(180deg, #2a1a0a 0%, #0a0502 100%); border-radius:50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: kb-fig 5s ease-in-out infinite; }
.scn-knowledge-being .lamp { position:absolute; bottom:35%; left:65%; width:8px; height:30px; background: linear-gradient(180deg, #8a6a4a 0%, #5a3a1a 100%); border-radius:2px; }
.scn-knowledge-being .glow { position:absolute; bottom:40%; left:65%; width:30px; height:30px; background: radial-gradient(circle, #f0d8a0 0%, transparent 70%); border-radius:50%; animation: kb-glow 4s ease-in-out infinite alternate; }
@keyframes kb-window { 0% { box-shadow: inset 0 0 20px rgba(255,220,150,.5), 0 8px 16px rgba(0,0,0,.5); } 50% { box-shadow: inset 0 0 40px rgba(255,240,200,.8), 0 12px 24px rgba(0,0,0,.6); } 100% { box-shadow: inset 0 0 15px rgba(255,220,150,.4), 0 8px 16px rgba(0,0,0,.5); } }
@keyframes kb-book { 0%,100% { transform: translateX(-50%) rotate(-5deg) translateY(0); } 50% { transform: translateX(-50%) rotate(-3deg) translateY(-2px); } }
@keyframes kb-fig { 0%,100% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(2px) translateY(-1px) rotate(1deg); } 50% { transform: translateX(0) translateY(-3px) rotate(0deg); } 75% { transform: translateX(-2px) translateY(-1px) rotate(-1deg); } }
@keyframes kb-glow { 0% { opacity:.4; transform: scale(.8); } 50% { opacity:.7; transform: scale(1.1); } 100% { opacity:.5; transform: scale(.9); } }

.scn-apollo-hades { background: linear-gradient(180deg, #ffcc66 0%, #d18a3a 50%, #1a0033 80%, #0a001a 100%), radial-gradient(ellipse at 50% 0%, #ffcc66 0%, transparent 60%); }
.scn-apollo-hades .sky-upper { position:absolute; top:0; left:0; right:0; bottom:40%; background: linear-gradient(180deg, #ffe89a 0%, #ffb84d 100%); animation: ah-sky 12s ease-in-out infinite alternate; }
.scn-apollo-hades .sun { position:absolute; top:5%; left:70%; width:50px; height:50px; background: radial-gradient(circle, #ffddaa 0%, #ff8800 70%, transparent 100%); border-radius:50%; box-shadow: 0 0 30px 15px #ffaa33, 0 0 60px 30px rgba(255,170,51,.3); animation: ah-sun 10s ease-in-out infinite; }
.scn-apollo-hades .abyss-lower { position:absolute; top:60%; left:0; right:0; bottom:0; background: linear-gradient(180deg, #0a001a 0%, #000000 100%); animation: ah-abyss 15s ease-in-out infinite alternate; }
.scn-apollo-hades .figure-apollo { position:absolute; top:25%; left:30%; width:24px; height:50px; background: linear-gradient(180deg, #2a1a0a 0%, #0a0502 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ah-apollo 6s ease-in-out infinite; }
.scn-apollo-hades .figure-hades { position:absolute; bottom:15%; right:25%; width:30px; height:55px; background: linear-gradient(180deg, #1a0033 0%, #050010 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ah-hades 7s ease-in-out infinite; }
.scn-apollo-hades .horizon-line { position:absolute; top:60%; left:0; right:0; height:4px; background: linear-gradient(90deg, transparent 0%, #ffaa33 20%, #ffaa33 80%, transparent 100%); box-shadow: 0 0 10px #ffaa33; animation: ah-line 5s ease-in-out infinite alternate; }
@keyframes ah-sky { 0% { opacity:.9; } 50% { opacity:1; } 100% { opacity:.8; } }
@keyframes ah-sun { 0% { transform:translateY(0) scale(1); opacity:.9; } 50% { transform:translateY(-6px) scale(1.04); opacity:1; } 100% { transform:translateY(3px) scale(.96); opacity:.85; } }
@keyframes ah-abyss { 0% { opacity:.9; } 50% { opacity:1; } 100% { opacity:.8; } }
@keyframes ah-apollo { 0%,100% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(6px) translateY(-2px) rotate(2deg); } 50% { transform: translateX(12px) translateY(0) rotate(-1deg); } 75% { transform: translateX(6px) translateY(-1px) rotate(1deg); } }
@keyframes ah-hades { 0%,100% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(-4px) translateY(-2px) rotate(-2deg); } 50% { transform: translateX(-8px) translateY(0) rotate(1deg); } 75% { transform: translateX(-4px) translateY(-1px) rotate(-1deg); } }
@keyframes ah-line { 0% { opacity:.5; transform: scaleX(.95); } 50% { opacity:.9; transform: scaleX(1.05); } 100% { opacity:.6; transform: scaleX(1); } }

.scn-vultures-liver {
  background:
    linear-gradient(180deg, #0a0a1a 0%, #1a1020 40%, #2a1a30 70%, #1a0a14 100%),
    radial-gradient(ellipse at 30% 80%, #3a1a00 0%, transparent 80%);
}
.scn-vultures-liver .sky   { position:absolute; inset:0 0 50% 0; background:linear-gradient(180deg,#0d0d1a 0%,#1a1228 100%); animation:vt-sky 20s ease-in-out infinite alternate; }
.scn-vultures-liver .cliffs { position:absolute; bottom:40%; left:0; right:0; height:20%; background:linear-gradient(180deg,#2a1a2e 0%,#1a0a1a 100%); border-radius:0 0 20% 10% / 0 0 40% 20%; box-shadow:inset 0 8px 16px #00000044; animation:vt-cliffs 15s ease-in-out infinite; }
.scn-vultures-liver .ground { position:absolute; bottom:0; left:0; right:0; height:45%; background:linear-gradient(180deg,#1a1018 0%,#0a050a 100%); border-radius:30% 40% 0 0 / 20% 30% 0 0; animation:vt-ground 10s ease-in-out infinite alternate; }
.scn-vultures-liver .figure { position:absolute; bottom:14%; left:30%; width:40px; height:55px; background:linear-gradient(180deg,#1a101a 40%,#0d050d 100%); border-radius:40% 40% 50% 50% / 60% 60% 40% 40%; transform-origin:bottom center; animation:vt-figure 6s ease-in-out infinite; }
.scn-vultures-liver .vulture { position:absolute; top:20%; left:40%; width:60px; height:24px; background:linear-gradient(90deg,#0f0f0f 0%,#1a1a1a 50%,#0f0f0f 100%); border-radius:50% 50% 40% 40%; clip-path:polygon(20% 0, 80% 0, 100% 100%, 0% 100%); filter:drop-shadow(2px 4px 6px #000); animation:vt-vulture 9s ease-in-out infinite; }
.scn-vultures-liver .fire   { position:absolute; bottom:18%; right:25%; width:30px; height:40px; background:radial-gradient(circle,#ff6a00 0%,#c83a00 40%,transparent 80%); border-radius:50%; box-shadow:0 0 30px 15px #ff6a0044, 0 0 60px 30px #c83a0022; animation:vt-fire 2s ease-in-out infinite alternate; }
.scn-vultures-liver .ember  { position:absolute; width:6px; height:6px; background:radial-gradient(circle,#ff8c00,#c83a00); border-radius:50%; box-shadow:0 0 8px 2px #ff8c0066; }
.scn-vultures-liver .e1     { bottom:25%; right:20%; animation:vt-ember1 3s ease-in-out infinite; }
.scn-vultures-liver .e2     { bottom:30%; right:30%; animation:vt-ember2 4s ease-in-out infinite; animation-delay:1s; }
@keyframes vt-sky   { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes vt-cliffs { 0% { transform:scaleY(1) } 50% { transform:scaleY(1.02) } 100% { transform:scaleY(1) } }
@keyframes vt-ground { 0% { transform:translateY(0) } 50% { transform:translateY(-2px) } 100% { transform:translateY(0) } }
@keyframes vt-figure { 0% { transform:translateX(0) rotate(0deg) } 25% { transform:translateX(2px) rotate(2deg) } 50% { transform:translateX(0) rotate(0deg) } 75% { transform:translateX(-2px) rotate(-2deg) } 100% { transform:translateX(0) rotate(0deg) } }
@keyframes vt-vulture { 0% { transform:translate(-20px,-10px) rotate(-5deg) } 50% { transform:translate(10px,-20px) rotate(3deg) } 100% { transform:translate(30px,-5px) rotate(-2deg) } }
@keyframes vt-fire { 0% { opacity:.6;transform:scale(1) } 50% { opacity:1;transform:scale(1.1) } 100% { opacity:.7;transform:scale(.95) } }
@keyframes vt-ember1 { 0% { transform:translate(0,0) scale(1);opacity:1 } 50% { transform:translate(10px,-20px) scale(.5);opacity:.6 } 100% { transform:translate(20px,-40px) scale(0);opacity:0 } }
@keyframes vt-ember2 { 0% { transform:translate(0,0) scale(1);opacity:1 } 50% { transform:translate(-8px,-25px) scale(.6);opacity:.7 } 100% { transform:translate(-15px,-50px) scale(0);opacity:0 } }

.scn-punishment-obscurity {
  background:
    linear-gradient(180deg, #050510 0%, #0a0a1a 30%, #10102a 60%, #0a0a1a 100%),
    radial-gradient(ellipse at 50% 90%, #000814 0%, transparent 70%);
}
.scn-punishment-obscurity .sky   { position:absolute; inset:0 0 60% 0; background:linear-gradient(180deg,#0a0a1a 0%,#12122e 100%); animation:po-sky 30s ease-in-out infinite alternate; }
.scn-punishment-obscurity .water { position:absolute; bottom:0; left:0; right:0; height:65%; background:linear-gradient(180deg,#0a1220 0%,#050a14 100%); border-radius:60% 40% 0 0 / 30% 20% 0 0; animation:po-water 8s ease-in-out infinite alternate; }
.scn-punishment-obscurity .fog   { position:absolute; inset:0 0 30% 0; background:radial-gradient(ellipse at 30% 50%, rgba(10,20,30,.4) 0%, transparent 80%); filter:blur(12px); animation:po-fog 20s linear infinite; }
.scn-punishment-obscurity .boat  { position:absolute; bottom:20%; left:40%; width:60px; height:14px; background:linear-gradient(180deg,#1a1a2e 0%,#0f0f1a 100%); border-radius:40% 40% 20% 20%; box-shadow:0 4px 8px #00000066; animation:po-boat 6s ease-in-out infinite; }
.scn-punishment-obscurity .figure{ position:absolute; bottom:20%; left:42%; width:20px; height:40px; background:linear-gradient(180deg,#0d0d1a 0%,#050510 100%); border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin:bottom center; animation:po-figure 7s ease-in-out infinite; }
.scn-punishment-obscurity .ripple{ position:absolute; width:80px; height:16px; border-radius:50%; border:2px solid rgba(50,100,150,.15); animation:po-ripple 4s ease-out infinite; }
.scn-punishment-obscurity .r1    { bottom:10%; left:20%; animation-delay:0s; }
.scn-punishment-obscurity .r2    { bottom:15%; right:15%; animation-delay:2s; width:60px; }
.scn-punishment-obscurity .abyss { position:absolute; bottom:0; left:50%; width:100px; height:100px; transform:translateX(-50%) scale(1.5); background:radial-gradient(circle at 50% 100%,#000010 0%, transparent 90%); filter:blur(8px); animation:po-abyss 12s ease-in-out infinite alternate; }
@keyframes po-sky   { 0% { opacity:.6 } 50% { opacity:1 } 100% { opacity:.5 } }
@keyframes po-water { 0% { transform:translateY(0) scale(1) } 50% { transform:translateY(-4px) scale(1.01) } 100% { transform:translateY(0) scale(1) } }
@keyframes po-fog   { 0% { transform:translateX(-10%) } 50% { transform:translateX(10%) } 100% { transform:translateX(-10%) } }
@keyframes po-boat  { 0% { transform:translate(0,0) rotate(-2deg) } 25% { transform:translate(2px,-1px) rotate(),[-'d quote;} 50% { transform:translate(0,0) rotate(2deg) } 75% { transform:translate(-2px,1px) rotate(-1deg) } 100% { transform:translate(0,0) rotate(0) } }
@keyframes po-figure{ 0% { transform:translateX(0) rotate(0) } 50% { transform:translateX(1px) rotate(3deg) } 100% { transform:translateX(0) rotate(0) } }
@keyframes po-ripple{ 0% { transform:scale(0);opacity:.6 } 100% { transform:scale(2);opacity:0 } }
@keyframes po-abyss { 0% { opacity:.3;transform:translateX(-50%) scale(1.2) } 50% { opacity:.7;transform:translateX(-50%) scale(1.8) } 100% { opacity:.4;transform:translateX(-50%) scale(1.4) } }

.scn-footnote-readings-17 {
  background:
    linear-gradient(180deg, #1a1410 0%, #2a221a 40%, #1f1812 80%, #0d0a05 100%),
    radial-gradient(ellipse at 40% 60%, #3a2a1a 0%, transparent 80%);
}
.scn-footnote-readings-17 .wall   { position:absolute; inset:0; background:linear-gradient(180deg,#1a1410 0%,#2a221a 40%,#1a1410 100%); animation:fr1-wall 60s linear infinite; }
.scn-footnote-readings-17 .desk   { position:absolute; bottom:0; left:5%; right:5%; height:60%; background:linear-gradient(180deg,#3a2a1a 0%,#2a1a0a 100%); border-radius:10% 10% 0 0 / 20% 20% 0 0; box-shadow:inset 0 -8px 20px #00000044; animation:fr1-desk 8s ease-in-out infinite alternate; }
.scn-footnote-readings-17 .book-a { position:absolute; bottom:25%; left:25%; width:70px; height:50px; background:linear-gradient(180deg,#4a3a2a 0%,#3a2a1a 100%); border-radius:4px; box-shadow:2px 4px 8px #00000066; transform:rotate(-4deg); animation:fr1-book 12s ease-in-out infinite; }
.scn-footnote-readings-17 .book-b { position:absolute; bottom:22%; left:45%; width:50px; height:35px; background:linear-gradient(180deg,#5a4a3a 0%,#4a3a2a 100%); border-radius:4px; box-shadow:2px 4px 8px #00000066; transform:rotate(6deg); animation:fr1-bookb 10s ease-in-out infinite; }
.scn-footnote-readings-17 .candle { position:absolute; bottom:35%; left:60%; width:14px; height:40px; background:linear-gradient(180deg,#c8a868 0%,#a08050 100%); border-radius:20% 20% 10% 10%; box-shadow:0 0 10px 2px #f0d08044; animation:fr1-candle 3s ease-in-out infinite alternate; }
.scn-footnote-readings-17 .inkwell{ position:absolute; bottom:20%; left:20%; width:24px; height:26px; background:radial-gradient(circle at 50% 30%,#3a2a1a 0%,#1a100a 100%); border-radius:40% 40% 30% 30%; box-shadow:0 2px 6px #00000066; animation:fr1-ink 5s ease-in-out infinite; }
.scn-footnote-readings-17 .quill  { position:absolute; bottom:38%; left:62%; width:8px; height:60px; background:linear-gradient(180deg,#f0e8d0 0%,#d0c0a0 40%,#b0a080 100%); border-radius:40% 40% 20% 20%; transform-origin:0% 100%; transform:rotate(-20deg); animation:fr1-quill 6s ease-in-out infinite alternate; }
.scn-footnote-readings-17 .glow   { position:absolute; bottom:35%; left:58%; width:60px; height:60px; background:radial-gradient(circle,#f0d08066 0%,transparent 70%); filter:blur(8px); animation:fr1-glow 3s ease-in-out infinite alternate; }
@keyframes fr1-wall { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.88 } }
@keyframes fr1-desk { 0% { transform:translateY(0) } 50% { transform:translateY(-2px) } 100% { transform:translateY(0) } }
@keyframes fr1-book { 0% { transform:rotate(-4deg) translateY(0) } 25% { transform:rotate(-2deg) translateY(-1px) } 75% { transform:rotate(-6deg) translateY(1px) } 100% { transform:rotate(-4deg) translateY(0) } }
@keyframes fr1-bookb{ 0% { transform:rotate(6deg) translateY(0) } 25% { transform:rotate(4deg) translateY(-1px) } 75% { transform:rotate(8deg) translateY(1px) } 100% { transform:rotate(6deg) translateY(0) } }
@keyframes fr1-candle{ 0% { opacity:.8;transform:scaleY(1) } 50% { opacity:1;transform:scaleY(1.03) } 100% { opacity:.85;transform:scaleY(.97) } }
@keyframes fr1-ink  { 0% { transform:translateY(0) } 50% { transform:translateY(-2px) } 100% { transform:translateY(0) } }
@keyframes fr1-quill { 0% { transform:rotate(-20deg) } 50% { transform:rotate(-18deg) } 100% { transform:rotate(-22deg) } }
@keyframes fr1-glow { 0% { opacity:.5;transform:scale(1) } 50% { opacity:.8;transform:scale(1.2) } 100% { opacity:.6;transform:scale(.9) } }

.scn-footnote-readings-18 {
  background:
    linear-gradient(180deg, #1a1612 0%, #2a221e 40%, #1f1a14 80%, #0d0a06 100%),
    radial-gradient(ellipse at 60% 30%, #3a2a1a 0%, transparent 80%);
}
.scn-footnote-readings-18 .wall    { position:absolute; inset:0; background:linear-gradient(180deg,#1a1612 0%,#2a221e 40%,#1a1612 100%); animation:fr2-wall 60s linear infinite; }
.scn-footnote-readings-18 .lamp    { position:absolute; top:10%; left:50%; width:12px; height:80px; background:linear-gradient(180deg,#c0a880 0%,#a08868 60%,#705840 100%); border-radius:10% 10% 20% 20%; transform:translateX(-50%); box-shadow:0 0 20px 6px #f0d08044; animation:fr2-lamp 5s ease-in-out infinite alternate; }
.scn-footnote-readings-18 .chair   { position:absolute; bottom:0; left:20%; width:80px; height:100px; background:linear-gradient(180deg,#3a2a1a 0%,#2a1a0a 100%); border-radius:20% 20% 10% 10% / 30% 30% 20% 20%; box-shadow:inset 0 -4px 12px #00000044; transform-origin:bottom center; animation:fr2-chair 8s ease-in-out infinite; }
.scn-footnote-readings-18 .stacks  { position:absolute; bottom:15%; right:15%; width:90px; height:70px; background:linear-gradient(180deg,#4a3a2a 0%,#3a2a1a 100%); border-radius:6px; box-shadow:2px 4px 10px #00000066; animation:fr2-stacks 12s ease-in-out infinite; }
.scn-footnote-readings-18 .page    { position:absolute; bottom:22%; right:30%; width:40px; height:32px; background:linear-gradient(180deg,#e8e0d0 0%,#c8c0b0 100%); border-radius:2px; transform:rotate(-10deg); box-shadow:1px 3px 6px #00000044; animation:fr2-page 9s ease-in-out infinite alternate; }
.scn-footnote-readings-18 .shadow  { position:absolute; bottom:0; left:20%; width:160px; height:80px; background:radial-gradient(ellipse at 50% 100%, #00000044 0%, transparent 80%); filter:blur(12px); animation:fr2-shadow 7s ease-in-out infinite; }
.scn-footnote-readings-18 .glow    { position:absolute; top:8%; left:48%; width:80px; height:80px; background:radial-gradient(circle,#f0d08055 0%,transparent 70%); filter:blur(10px); animation:fr2-glow 5s ease-in-out infinite alternate; }
@keyframes fr2-wall { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.88 } }
@keyframes fr2-lamp { 0% { opacity:.7;transform:translateX(-50%) scaleY(1) } 50% { opacity:.9;transform:translateX(-50%) scaleY(1.02) } 100% { opacity:.8;transform:translateX(-50%) scaleY(.98) } }
@keyframes fr2-chair { 0% { transform:translateX(0) rotate(0) } 25% { transform:translateX(1px) rotate(1deg) } 75% { transform:translateX(-1px) rotate(-1deg) } 100% { transform:translateX(0) rotate(0) } }
@keyframes fr2-stacks { 0% { transform:translateY(0) } 50% { transform:translateY(-2px) } 100% { transform:translateY(0) } }
@keyframes fr2-page { 0% { transform:rotate(-10deg) translateY(0) } 50% { transform:rotate(-8deg) translateY(-2px) } 100% { transform:rotate(-12deg) translateY(0) } }
@keyframes fr2-shadow { 0% { opacity:.3;transform:scaleX(1) } 50% { opacity:.5;transform:scaleX(1.05) } 100% { opacity:.4;transform:scaleX(.98) } }
@keyframes fr2-glow { 0% { opacity:.4;transform:scale(1) } 50% { opacity:.7;transform:scale(1.2) } 100% { opacity:.5;transform:scale(.95) } }

.scn-index-aulis {
  background: linear-gradient(180deg, #2a2218 0%, #1a1410 60%, #0d0a08 100%), radial-gradient(ellipse at 50% 100%, #3a3020 0%, transparent 70%);
  overflow: hidden;
}
.scn-index-aulis .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a2218 0%, #1a1410 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.5);
  animation: aul-wall 20s ease-in-out infinite alternate;
}
.scn-index-aulis .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e08 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
  animation: aul-floor 12s ease-in-out infinite alternate;
}
.scn-index-aulis .bookshelf-left {
  position: absolute; bottom: 30%; left: 5%; width: 22%; height: 55%;
  background: linear-gradient(180deg, #4a3620 0%, #2a1a0e 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.7);
  animation: aul-shelf 25s ease-in-out infinite;
}
.scn-index-aulis .bookshelf-right {
  position: absolute; bottom: 30%; right: 5%; width: 22%; height: 55%;
  background: linear-gradient(180deg, #4a3620 0%, #2a1a0e 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.7);
  animation: aul-shelf 25s ease-in-out infinite reverse;
}
.scn-index-aulis .desk {
  position: absolute; bottom: 30%; left: 40%; width: 28%; height: 18%;
  background: linear-gradient(180deg, #5a3e24 0%, #3a2612 100%);
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  animation: aul-desk 8s ease-in-out infinite alternate;
}
.scn-index-aulis .lamp {
  position: absolute; bottom: 42%; left: 52%; width: 12px; height: 24px;
  background: radial-gradient(circle at 50% 0%, #c08040 0%, #8a5a20 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 30px 8px #c08040, 0 0 60px 16px rgba(192,128,64,0.3);
  animation: aul-lamp 4s ease-in-out infinite alternate;
}
.scn-index-aulis .window {
  position: absolute; bottom: 38%; left: 15%; width: 14%; height: 30%;
  background: linear-gradient(180deg, #334455 0%, #112233 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
  animation: aul-window 15s ease-in-out infinite alternate;
}
.scn-index-aulis .book-stand {
  position: absolute; bottom: 32%; left: 44%; width: 12%; height: 6%;
  background: linear-gradient(90deg, #6a4e2c 0%, #4a3418 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: aul-stand 6s ease-in-out infinite;
}
@keyframes aul-wall { 0% { opacity: 0.85; } 50% { opacity: 0.95; } 100% { opacity: 0.8; } }
@keyframes aul-floor { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes aul-shelf { 0% { transform: translateY(0px); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0px); } }
@keyframes aul-desk { 0% { transform: translateY(0px) scale(1); } 50% { transform: translateY(-2px) scale(1.01); } 100% { transform: translateY(0px) scale(1); } }
@keyframes aul-lamp { 0% { box-shadow: 0 0 20px 4px #c08040, 0 0 40px 8px rgba(192,128,64,0.2); opacity: 0.8; } 50% { box-shadow: 0 0 35px 10px #ffd060, 0 0 70px 20px rgba(255,208,96,0.4); opacity: 1; } 100% { box-shadow: 0 0 25px 6px #c08040, 0 0 50px 12px rgba(192,128,64,0.25); opacity: 0.85; } }
@keyframes aul-window { 0% { background: linear-gradient(180deg, #445566 0%, #223344 100%); } 50% { background: linear-gradient(180deg, #556677 0%, #334455 100%); } 100% { background: linear-gradient(180deg, #445566 0%, #223344 100%); } }
@keyframes aul-stand { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(0deg); } }

.scn-index-caeneus {
  background: linear-gradient(180deg, #1e1a28 0%, #2a2438 50%, #1a1624 100%), radial-gradient(ellipse at 50% 100%, #2a2438 0%, transparent 70%);
  overflow: hidden;
}
.scn-index-caeneus .wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #2a2438 0%, #1a1624 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.5);
  animation: cae-wall 18s ease-in-out infinite alternate;
}
.scn-index-caeneus .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #3a2a3a 0%, #1a0e1a 100%);
  border-radius: 30% 30% 0 0 / 50% 50% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
  animation: cae-floor 14s ease-in-out infinite alternate;
}
.scn-index-caeneus .window {
  position: absolute; bottom: 25%; left: 10%; width: 16%; height: 35%;
  background: linear-gradient(180deg, #c0d0e0 0%, #a0b0c0 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.4);
  animation: cae-window 20s ease-in-out infinite alternate;
}
.scn-index-caeneus .statue {
  position: absolute; bottom: 20%; left: 50%; width: 16px; height: 48px;
  background: linear-gradient(90deg, #6a6a7a 0%, #8a8a9a 30%, #6a6a7a 70%, #4a4a5a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  box-shadow: 0 4px 20px rgba(0,0,0,0.5);
  animation: cae-statue 10s ease-in-out infinite alternate;
}
.scn-index-caeneus .pedestal {
  position: absolute; bottom: 18%; left: 50%; width: 30px; height: 8px;
  background: linear-gradient(90deg, #4a4a5a 0%, #6a6a7a 100%);
  border-radius: 2px;
  transform: translateX(-50%);
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: cae-pedestal 8s ease-in-out infinite;
}
.scn-index-caeneus .shadow-drape {
  position: absolute; bottom: 15%; left: 45%; width: 20%; height: 10%;
  background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,0.4) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(8px);
  animation: cae-shadow 6s ease-in-out infinite alternate;
}
.scn-index-caeneus .candle {
  position: absolute; bottom: 30%; right: 15%; width: 6px; height: 20px;
  background: linear-gradient(180deg, #d0b080 0%, #a08050 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 10px 2px #d0b080;
  animation: cae-candle 4s ease-in-out infinite;
}
.scn-index-caeneus .candle-flame {
  position: absolute; bottom: 48%; right: 15.5%; width: 4px; height: 6px;
  background: radial-gradient(circle, #ffd080 0%, #ffa040 70%);
  border-radius: 50%;
  box-shadow: 0 0 12px 4px #ffa040, 0 0 24px 8px rgba(255,160,64,0.3);
  animation: cae-flame 1.5s ease-in-out infinite alternate;
}
@keyframes cae-wall { 0% { opacity: 0.8; } 50% { opacity: 0.9; } 100% { opacity: 0.75; } }
@keyframes cae-floor { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.01); } 100% { transform: scaleY(1); } }
@keyframes cae-window { 0% { background: linear-gradient(180deg, #c0d0e0 0%, #a0b0c0 100%); } 50% { background: linear-gradient(180deg, #d0e0f0 0%, #b0c0d0 100%); } 100% { background: linear-gradient(180deg, #c0d0e0 0%, #a0b0c0 100%); } }
@keyframes cae-statue { 0% { transform: translateX(-50%) rotate(-1deg) scale(1); } 50% { transform: translateX(-50%) rotate(1deg) scale(1.01); } 100% { transform: translateX(-50%) rotate(0deg) scale(1); } }
@keyframes cae-pedestal { 0% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(1.02); } 100% { transform: translateX(-50%) scaleY(1); } }
@keyframes cae-shadow { 0% { opacity: 0.3; transform: translateX(0px); } 50% { opacity: 0.5; transform: translateX(4px); } 100% { opacity: 0.3; transform: translateX(0px); } }
@keyframes cae-candle { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes cae-flame { 0% { transform: scaleY(1) translateY(0); opacity: 0.8; } 50% { transform: scaleY(1.2) translateY(-1px); opacity: 1; } 100% { transform: scaleY(0.9) translateY(0); opacity: 0.85; } }

.scn-index-cicero {
  background: linear-gradient(180deg, #2a2218 0%, #1a1410 50%, #0d0a08 100%), radial-gradient(ellipse at 50% 100%, #3a3020 0%, transparent 70%);
  overflow: hidden;
}
.scn-index-cicero .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a2218 0%, #1a1410 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.5);
  animation: cic-wall 20s ease-in-out infinite alternate;
}
.scn-index-cicero .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e08 100%);
  border-radius: 10% 10% 0 0 / 30% 30% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
  animation: cic-floor 12s ease-in-out infinite alternate;
}
.scn-index-cicero .lectern {
  position: absolute; bottom: 28%; left: 50%; width: 20%; height: 20%;
  background: linear-gradient(180deg, #5a3e2a 0%, #3a2614 100%);
  border-radius: 4px;
  transform: translateX(-50%);
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  animation: cic-lectern 10s ease-in-out infinite alternate;
}
.scn-index-cicero .scroll {
  position: absolute; bottom: 32%; left: 55%; width: 6%; height: 10%;
  background: linear-gradient(180deg, #c0a060 0%, #a08040 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: cic-scroll 8s ease-in-out infinite;
}
.scn-index-cicero .chair {
  position: absolute; bottom: 25%; left: 42%; width: 12%; height: 18%;
  background: linear-gradient(180deg, #4a301e 0%, #2a1a0c 100%);
  border-radius: 10% 10% 20% 20% / 30% 30% 20% 20%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  animation: cic-chair 6s ease-in-out infinite alternate;
}
.scn-index-cicero .lamp {
  position: absolute; bottom: 40%; left: 70%; width: 10px; height: 22px;
  background: radial-gradient(circle at 50% 0%, #c08040 0%, #8a5a20 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 25px 6px #c08040, 0 0 50px 12px rgba(192,128,64,0.3);
  animation: cic-lamp 4s ease-in-out infinite alternate;
}
.scn-index-cicero .book-pile {
  position: absolute; bottom: 30%; left: 25%; width: 10%; height: 12%;
  background: linear-gradient(180deg, #6a4a2c 0%, #4a3018 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.3);
  animation: cic-pile 14s ease-in-out infinite;
}
.scn-index-cicero .bust {
  position: absolute; bottom: 30%; left: 20%; width: 14px; height: 20px;
  background: linear-gradient(90deg, #8a7a6a 0%, #a09080 30%, #8a7a6a 70%, #6a5a4a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.5);
  animation: cic-bust 9s ease-in-out infinite alternate;
}
@keyframes cic-wall { 0% { opacity: 0.8; } 50% { opacity: 0.95; } 100% { opacity: 0.75; } }
@keyframes cic-floor { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.01); } 100% { transform: scaleY(1); } }
@keyframes cic-lectern { 0% { transform: translateX(-50%) scale(1); } 50% { transform: translateX(-50%) scale(1.02); } 100% { transform: translateX(-50%) scale(1); } }
@keyframes cic-scroll { 0% { transform: translateY(0px) rotate(0deg); } 50% { transform: translateY(-1px) rotate(2deg); } 100% { transform: translateY(0px) rotate(0deg); } }
@keyframes cic-chair { 0% { transform: rotate(-1deg); } 50% { transform: rotate(1deg); } 100% { transform: rotate(-1deg); } }
@keyframes cic-lamp { 0% { box-shadow: 0 0 15px 3px #c08040, 0 0 30px 6px rgba(192,128,64,0.2); opacity: 0.8; } 50% { box-shadow: 0 0 30px 8px #ffd060, 0 0 60px 16px rgba(255,208,96,0.4); opacity: 1; } 100% { box-shadow: 0 0 20px 5px #c08040, 0 0 40px 10px rgba(192,128,64,0.25); opacity: 0.85; } }
@keyframes cic-pile { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.03); } 100% { transform: scaleY(1); } }
@keyframes cic-bust { 0% { transform: translateY(0px) rotate(-1deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0px) rotate(0deg); } }

.scn-index-demosthenes {
  background: linear-gradient(180deg, #1a1418 0%, #2a2028 50%, #0d0a0c 100%), radial-gradient(ellipse at 50% 100%, #2a2028 0%, transparent 70%);
  overflow: hidden;
}
.scn-index-demosthenes .wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #2a2028 0%, #1a1418 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.5);
  animation: dem-wall 20s ease-in-out infinite alternate;
}
.scn-index-demosthenes .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a0e0e 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
  animation: dem-floor 12s ease-in-out infinite alternate;
}
.scn-index-demosthenes .desk {
  position: absolute; bottom: 25%; left: 35%; width: 30%; height: 15%;
  background: linear-gradient(180deg, #4a321e 0%, #2a1a0c 100%);
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  animation: dem-desk 8s ease-in-out infinite alternate;
}
.scn-index-demosthenes .lamp {
  position: absolute; bottom: 35%; left: 48%; width: 10px; height: 20px;
  background: radial-gradient(circle at 50% 0%, #b08040 0%, #806020 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 20px 4px #b08040, 0 0 40px 8px rgba(176,128,64,0.3);
  animation: dem-lamp 4s ease-in-out infinite alternate;
}
.scn-index-demosthenes .chair {
  position: absolute; bottom: 20%; left: 40%; width: 12%; height: 18%;
  background: linear-gradient(180deg, #3a2616 0%, #1a0e08 100%);
  border-radius: 10% 10% 20% 20% / 30% 30% 20% 20%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  animation: dem-chair 6s ease-in-out infinite alternate;
}
.scn-index-demosthenes .figure-shadow {
  position: absolute; bottom: 20%; left: 45%; width: 14px; height: 40px;
  background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,0.6) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(10px);
  animation: dem-figure 5s ease-in-out infinite alternate;
}
.scn-index-demosthenes .pebbles {
  position: absolute; bottom: 30%; left: 38%; width: 20px; height: 4px;
  background: radial-gradient(circle, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: dem-pebbles 3s ease-in-out infinite;
}
.scn-index-demosthenes .window {
  position: absolute; bottom: 25%; right: 10%; width: 14%; height: 30%;
  background: linear-gradient(180deg, #334455 0%, #112233 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
  animation: dem-window 15s ease-in-out infinite alternate;
}
@keyframes dem-wall { 0% { opacity: 0.8; } 50% { opacity: 0.92; } 100% { opacity: 0.75; } }
@keyframes dem-floor { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.01); } 100% { transform: scaleY(1); } }
@keyframes dem-desk { 0% { transform: translateY(0px) scale(1); } 50% { transform: translateY(-2px) scale(1.01); } 100% { transform: translateY(0px) scale(1); } }
@keyframes dem-lamp { 0% { box-shadow: 0 0 15px 3px #b08040, 0 0 30px 6px rgba(176,128,64,0.2); opacity: 0.8; } 50% { box-shadow: 0 0 28px 7px #e0a060, 0 0 56px 14px rgba(224,160,96,0.4); opacity: 1; } 100% { box-shadow: 0 0 20px 5px #b08040, 0 0 40px 10px rgba(176,128,64,0.25); opacity: 0.85; } }
@keyframes dem-chair { 0% { transform: rotate(-1deg); } 50% { transform: rotate(1deg); } 100% { transform: rotate(-1deg); } }
@keyframes dem-figure { 0% { opacity: 0.4; transform: scaleY(1) translateY(0); } 50% { opacity: 0.6; transform: scaleY(1.1) translateY(-2px); } 100% { opacity: 0.4; transform: scaleY(1) translateY(0); } }
@keyframes dem-pebbles { 0% { transform: translateX(0) scale(1); } 50% { transform: translateX(2px) scale(1.1); } 100% { transform: translateX(0) scale(1); } }
@keyframes dem-window { 0% { background: linear-gradient(180deg, #445566 0%, #223344 100%); } 50% { background: linear-gradient(180deg, #556677 0%, #334455 100%); } 100% { background: linear-gradient(180deg, #445566 0%, #223344 100%); } }

/* interest-rust */
.scn-interest-rust {
  background: linear-gradient(180deg, #1a0e05 0%, #2a1508 30%, #3a1c0a 60%, #1f0e05 100%),
              radial-gradient(ellipse at 50% 70%, #4a2a10 0%, transparent 60%);
}
.scn-interest-rust .bg-wall { position:absolute; inset:0; background: linear-gradient(180deg, rgba(10,5,2,.6) 0%, transparent 80%); }
.scn-interest-rust .counter { position:absolute; bottom:20%; left:10%; right:10%; height:12%; background: linear-gradient(180deg, #6a4018 0%, #3a2210 100%); border-radius: 4% 4% 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,.7); }
.scn-interest-rust .candle { position:absolute; bottom:32%; left:45%; width:8px; height:28px; background: linear-gradient(180deg, #e8d0a0 0%, #b89060 100%); border-radius: 2px; transform: rotate(2deg); animation: ir-sway 8s ease-in-out infinite; }
.scn-interest-rust .flame { position:absolute; bottom:57%; left:45.5%; width:6px; height:10px; background: radial-gradient(circle, #ffc040 0%, #e08020 60%, #a04010 100%); border-radius: 50% 50% 30% 30%; box-shadow: 0 0 20px 8px rgba(255,192,64,.5), 0 0 40px 16px rgba(224,128,32,.3); animation: ir-flicker .15s infinite alternate; }
.scn-interest-rust .lock { position:absolute; bottom:26%; left:55%; width:14px; height:18px; background: radial-gradient(circle at 50% 40%, #c8553d 0%, #7a2a18 100%); border-radius: 30% 30% 20% 20%; box-shadow: -2px 2px 4px rgba(0,0,0,.6); animation: ir-rust 6s ease-in-out infinite; }
.scn-interest-rust .chest { position:absolute; bottom:20%; left:30%; width:60px; height:30px; background: linear-gradient(180deg, #4a2a12 0%, #2a1408 100%); border-radius: 10% 10% 5% 5%; box-shadow: inset 0 -4px 8px rgba(0,0,0,.5); }
.scn-interest-rust .shadow { position:absolute; bottom:20%; left:20%; width:40px; height:60px; background: radial-gradient(ellipse 50% 60% at 50% 100%, #0a0502 0%, transparent 80%); opacity:.4; animation: ir-creep 12s ease-in-out infinite; }
.scn-interest-rust .web { position:absolute; top:10%; left:15%; width:50px; height:30px; background: radial-gradient(circle at 50% 50%, rgba(200,180,160,.1) 0%, transparent 60%); border-radius: 50%; filter: blur(1px); animation: ir-web 20s linear infinite; }
@keyframes ir-sway { 0% { transform: rotate(2deg); } 50% { transform: rotate(-2deg); } 100% { transform: rotate(2deg); } }
@keyframes ir-flicker { 0% { transform: scaleY(1) translateY(0); opacity:.8; } 25% { transform: scaleY(1.2) translateY(-1px); opacity:1; } 50% { transform: scaleY(.9) translateY(1px); opacity:.7; } 75% { transform: scaleY(1.1) translateY(-.5px); opacity:.9; } 100% { transform: scaleY(1) translateY(0); opacity:.8; } }
@keyframes ir-rust { 0% { background: radial-gradient(circle at 50% 40%, #c8553d 0%, #7a2a18 100%); } 50% { background: radial-gradient(circle at 50% 40%, #a0461a 0%, #5a1a10 100%); } 100% { background: radial-gradient(circle at 50% 40%, #c8553d 0%, #7a2a18 100%); } }
@keyframes ir-creep { 0% { transform: translateX(0) scaleY(1); opacity:.3; } 50% { transform: translateX(8px) scaleY(1.05); opacity:.5; } 100% { transform: translateX(0) scaleY(1); opacity:.3; } }
@keyframes ir-web { 0% { transform: translate(0,0) rotate(0deg); } 100% { transform: translate(-10px,5px) rotate(15deg); } }

/* pericles-gold */
.scn-pericles-gold {
  background: linear-gradient(180deg, #f5e6c0 0%, #e8d4a0 30%, #d4b870 70%, #c0a060 100%),
              radial-gradient(ellipse at 60% 20%, #fff8e0 0%, transparent 50%);
}
.scn-pericles-gold .bg-interior { position:absolute; inset:0; background: linear-gradient(135deg, rgba(255,248,224,.4) 0%, transparent 50%); }
.scn-pericles-gold .window { position:absolute; top:8%; left:20%; width:80px; height:100px; background: radial-gradient(circle at 50% 50%, #a0c8e8 0%, #5a8ab8 100%); border-radius: 20% 20% 10% 10%; box-shadow: inset 0 0 30px rgba(255,255,200,.5); animation: pg-window 15s ease-in-out infinite; }
.scn-pericles-gold .light-beam { position:absolute; top:20%; left:25%; width:100px; height:200px; background: linear-gradient(135deg, rgba(255,255,200,.3) 0%, transparent 80%); clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%); animation: pg-beam 12s ease-in-out infinite; }
.scn-pericles-gold .pedestal { position:absolute; bottom:25%; left:50%; transform:translateX(-50%); width:70px; height:40px; background: linear-gradient(180deg, #b0a080 0%, #8a7050 100%); border-radius: 20% 20% 5% 5%; box-shadow: 0 6px 12px rgba(0,0,0,.3); }
.scn-pericles-gold .statue { position:absolute; bottom:40%; left:50%; transform:translateX(-50%); width:40px; height:90px; background: linear-gradient(180deg, #e0c060 0%, #b89040 50%, #d4a050 100%); border-radius: 30% 30% 20% 20% / 60% 60% 30% 30%; box-shadow: 0 0 30px 10px rgba(224,192,96,.5); animation: pg-float 8s ease-in-out infinite; }
.scn-pericles-gold .drape { position:absolute; bottom:25%; left:38%; width:30px; height:50px; background: linear-gradient(180deg, #8a2010 0%, #5e1a1d 100%); border-radius: 50% 50% 30% 30%; transform: rotate(8deg); animation: pg-drape 12s ease-in-out infinite; }
.scn-pericles-gold .coin-1 { position:absolute; bottom:22%; left:40%; width:12px; height:12px; background: radial-gradient(circle at 50% 50%, #e0c060 0%, #b89040 100%); border-radius:50%; box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: pg-coin 14s ease-in-out infinite; }
.scn-pericles-gold .coin-2 { position:absolute; bottom:24%; left:56%; width:10px; height:10px; background: radial-gradient(circle at 50% 50%, #d4a050 0%, #a08030 100%); border-radius:50%; animation: pg-coin 16s ease-in-out infinite reverse; }
.scn-pericles-gold .gold-glow { position:absolute; bottom:35%; left:50%; transform:translateX(-50%); width:130px; height:100px; background: radial-gradient(circle at 50% 50%, rgba(224,192,96,.4) 0%, transparent 70%); animation: pg-glow 6s ease-in-out infinite alternate; }
@keyframes pg-window { 0% { opacity:.9; } 50% { opacity:1; } 100% { opacity:.9; } }
@keyframes pg-beam { 0% { transform: rotate(-2deg) scaleX(1); opacity:.5; } 50% { transform: rotate(1deg) scaleX(1.05); opacity:.7; } 100% { transform: rotate(-2deg) scaleX(1); opacity:.5; } }
@keyframes pg-float { 0% { transform: translateX(-50%) translateY(0) rotate(-1deg); } 50% { transform: translateX(-50%) translateY(-3px) rotate(1deg); } 100% { transform: translateX(-50%) translateY(0) rotate(-1deg); } }
@keyframes pg-drape { 0% { transform: rotate(8deg) translateY(0); } 50% { transform: rotate(5deg) translateY(-2px); } 100% { transform: rotate(8deg) translateY(0); } }
@keyframes pg-coin { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-4px) rotate(180deg); } 100% { transform: translateY(0) rotate(360deg); } }
@keyframes pg-glow { 0% { opacity:.5; } 100% { opacity:.8; } }

/* strip-superfluities */
.scn-strip-superfluities {
  background: linear-gradient(180deg, #f0e8dc 0%, #e0d4c0 30%, #d0c4ac 70%, #c0b4a0 100%),
              radial-gradient(ellipse at 80% 30%, #fff8ee 0%, transparent 60%);
}
.scn-strip-superfluities .bg-room { position:absolute; inset:0; background: linear-gradient(135deg, rgba(255,248,240,.3) 0%, transparent 50%); }
.scn-strip-superfluities .window-light { position:absolute; top:10%; left:50%; transform:translateX(-50%); width:100px; height:120px; background: radial-gradient(circle at 50% 30%, #b0d0e8 0%, #7a9ab8 100%); border-radius: 30% 30% 10% 10%; box-shadow: inset 0 0 40px rgba(255,255,220,.7); animation: ss-light 20s ease-in-out infinite; }
.scn-strip-superfluities .table { position:absolute; bottom:30%; left:20%; width:120px; height:12px; background: linear-gradient(180deg, #c8b098 0%, #a88870 100%); border-radius: 20% 20% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,.2); }
.scn-strip-superfluities .bedframe { position:absolute; bottom:10%; left:55%; width:100px; height:30px; background: linear-gradient(180deg, #b0a090 0%, #8a7a6a 100%); border-radius: 10% 10% 5% 5%; box-shadow: inset 0 -4px 8px rgba(0,0,0,.3); }
.scn-strip-superfluities .chair { position:absolute; bottom:16%; left:8%; width:30px; height:40px; background: linear-gradient(180deg, #b8a898 0%, #9a8a7a 100%); border-radius: 20% 20% 0 0; transform: rotate(-3deg); }
.scn-strip-superfluities .item-vase { position:absolute; bottom:34%; left:15%; width:16px; height:24px; background: linear-gradient(180deg, #d4b8a0 0%, #b09078 100%); border-radius: 30% 30% 20% 20%; animation: ss-vase 10s ease-in-out infinite; }
.scn-strip-superfluities .figure { position:absolute; bottom:25%; left:35%; width:24px; height:50px; background: linear-gradient(180deg, #2a2018 0%, #1a1008 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; animation: ss-walk 8s ease-in-out infinite; }
.scn-strip-superfluities .dust { position:absolute; width:4px; height:4px; background: radial-gradient(circle, rgba(200,190,170,.6) 0%, transparent 80%); border-radius:50%; filter: blur(2px); }
.scn-strip-superfluities .particle-1 { top:20%; left:30%; animation: ss-dust1 30s linear infinite; }
.scn-strip-superfluities .particle-2 { top:35%; left:60%; animation: ss-dust2 40s linear infinite; }
@keyframes ss-light { 0% { opacity:.8; } 50% { opacity:1; } 100% { opacity:.8; } }
@keyframes ss-vase { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ss-walk { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 20% { transform: translateX(10px) translateY(-1px) rotate(2deg); } 40% { transform: translateX(20px) translateY(0) rotate(0deg); } 60% { transform: translateX(30px) translateY(-1px) rotate(-2deg); } 80% { transform: translateX(40px) translateY(0) rotate(0deg); } 100% { transform: translateX(50px) translateY(0) rotate(0deg); } }
@keyframes ss-dust1 { 0% { transform: translate(0,0) scale(1); opacity:.6; } 50% { transform: translate(20px,-10px) scale(1.2); opacity:.3; } 100% { transform: translate(40px,5px) scale(.8); opacity:.6; } }
@keyframes ss-dust2 { 0% { transform: translate(0,0) scale(1); opacity:.4; } 50% { transform: translate(-15px,15px) scale(1.1); opacity:.2; } 100% { transform: translate(-30px,0) scale(.9); opacity:.4; } }

/* roman-matrons-gold */
.scn-roman-matrons-gold {
  background: linear-gradient(180deg, #5a8bd0 0%, #7aa0d8 30%, #a0c0e8 60%, #c0d8f0 100%),
              radial-gradient(ellipse at 20% 10%, #fff8e0 0%, transparent 50%);
}
.scn-roman-matrons-gold .sky-sun { position:absolute; inset:0; background: linear-gradient(180deg, rgba(255,248,224,.2) 0%, transparent 100%); }
.scn-roman-matrons-gold .temple-col { position:absolute; bottom:20%; left:10%; width:30px; height:120px; background: linear-gradient(180deg, #d0c8b0 0%, #b0a890 100%); border-radius: 10% 10% 0 0; box-shadow: 4px 0 8px rgba(0,0,0,.2); }
.scn-roman-matrons-gold .altar { position:absolute; bottom:20%; left:50%; transform:translateX(-50%); width:80px; height:30px; background: linear-gradient(180deg, #b0a090 0%, #8a7a6a 100%); border-radius: 20% 20% 5% 5%; box-shadow: 0 6px 12px rgba(0,0,0,.3); }
.scn-roman-matrons-gold .golden-cup { position:absolute; bottom:38%; left:50%; transform:translateX(-50%); width:30px; height:40px; background: linear-gradient(180deg, #e0c060 0%, #b89040 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; box-shadow: 0 0 30px 10px rgba(224,192,96,.6); animation: rm-gleam 6s ease-in-out infinite alternate; }
.scn-roman-matrons-gold .matron-a { position:absolute; bottom:20%; left:30%; width:30px; height:80px; background: linear-gradient(180deg, #d0b8a0 0%, #b09880 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform: rotate(5deg); box-shadow: -4px 0 8px rgba(0,0,0,.2); }
.scn-roman-matrons-gold .matron-b { position:absolute; bottom:20%; right:30%; width:28px; height:75px; background: linear-gradient(180deg, #c8b098 0%, #a88870 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform: rotate(-3deg); box-shadow: 4px 0 8px rgba(0,0,0,.2); }
.scn-roman-matrons-gold .shorn-hair { position:absolute; bottom:25%; left:35%; width:20px; height:12px; background: linear-gradient(180deg, #5a3a20 0%, #3a2210 100%); border-radius: 50% 50% 0 0; box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: rm-hair 16s ease-in-out infinite; }
.scn-roman-matrons-gold .sun-rays { position:absolute; top:0; left:35%; width:60px; height:200px; background: linear-gradient(180deg, rgba(255,248,200,.3) 0%, transparent 80%); clip-path: polygon(20% 0, 80% 0, 60% 100%, 40% 100%); animation: rm-rays 12s ease-in-out infinite; }
@keyframes rm-gleam { 0% { box-shadow: 0 0 20px 8px rgba(224,192,96,.4); } 50% { box-shadow: 0 0 40px 16px rgba(224,192,96,.8); } 100% { box-shadow: 0 0 20px 8px rgba(224,192,96,.4); } }
@keyframes rm-hair { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes rm-rays { 0% { transform: scaleY(1) rotate(0deg); opacity:.4; } 50% { transform: scaleY(1.05) rotate(2deg); opacity:.6; } 100% { transform: scaleY(1) rotate(0deg); opacity:.4; } }

/* scene: item-account-book (calm, dim-interior) */
.scn-item-account-book {
  background: 
    linear-gradient(180deg, #2a1e14 0%, #3a2a1a 50%, #1e1412 100%),
    radial-gradient(ellipse at 30% 60%, #4a3a2a 0%, transparent 60%);
}
.scn-item-account-book .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #3a2a1a 0%, #1e1412 100%);
  opacity: 0.6;
}
.scn-item-account-book .table {
  position: absolute; bottom: 10%; left: 10%; right: 10%; height: 20%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a12 100%);
  border-radius: 4px;
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.5);
  animation: acb-table 12s ease-in-out infinite;
}
.scn-item-account-book .book {
  position: absolute; bottom: 25%; left: 35%; width: 60px; height: 45px;
  background: linear-gradient(135deg, #8a7a6a 0%, #5a4a3a 100%);
  border-radius: 2px 15px 15px 2px;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.6);
  transform: rotate(-5deg);
  animation: acb-book 8s ease-in-out infinite;
}
.scn-item-account-book .candle {
  position: absolute; bottom: 35%; left: 48%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #f0d8a0 0%, #c8a060 70%, #8a6030 100%);
  border-radius: 2px;
  box-shadow: 0 0 20px 8px rgba(200,160,96,0.5), 0 0 40px 16px rgba(200,160,96,0.2);
  animation: acb-candle 3s ease-in-out infinite alternate;
}
.scn-item-account-book .figure {
  position: absolute; bottom: 18%; left: 50%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1212 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: acb-figure 6s ease-in-out infinite;
}
.scn-item-account-book .shadow {
  position: absolute; bottom: 10%; left: 38%; width: 40px; height: 6px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 70%);
  animation: acb-shadow 6s ease-in-out infinite;
}
.scn-item-account-book .shelf {
  position: absolute; top: 15%; left: 15%; right: 15%; height: 4px;
  background: #4a3a2a;
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
}
.scn-item-account-book .scroll {
  position: absolute; top: 12%; left: 30%; width: 40px; height: 8px;
  background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%);
  border-radius: 4px;
  box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
  animation: acb-scroll 10s ease-in-out infinite alternate;
}

@keyframes acb-table { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes acb-book { 0%,100% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-3deg) translateY(-2px); } }
@keyframes acb-candle { 0% { opacity: 0.8; transform: scaleY(1); } 50% { opacity: 1; transform: scaleY(1.05); } 100% { opacity: 0.9; transform: scaleY(0.98); } }
@keyframes acb-figure { 0%,100% { transform: translateX(0) scaleY(1); } 25% { transform: translateX(2px) scaleY(1.01); } 50% { transform: translateX(0) scaleY(1.02); } 75% { transform: translateX(-2px) scaleY(1.01); } }
@keyframes acb-shadow { 0%,100% { transform: scaleX(1); opacity: 0.4; } 50% { transform: scaleX(1.1); opacity: 0.6; } }
@keyframes acb-scroll { 0% { transform: translateY(0) rotate(0); } 100% { transform: translateY(3px) rotate(2deg); } }

/* scene: water-law (calm, dim-interior) */
.scn-water-law {
  background: 
    linear-gradient(180deg, #1a2a3a 0%, #2a3a4a 50%, #0a1a2a 100%),
    radial-gradient(ellipse at 50% 30%, #3a4a5a 0%, transparent 70%);
}
.scn-water-law .wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%);
  opacity: 0.5;
}
.scn-water-law .well {
  position: absolute; bottom: 20%; left: 50%; width: 60px; height: 40px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 30%, #4a5a6a 0%, #2a3a4a 100%);
  border-radius: 50% 50% 30% 30% / 80% 80% 20% 20%;
  box-shadow: inset 0 -10px 20px rgba(0,0,0,0.4);
  animation: wl-well 10s ease-in-out infinite;
}
.scn-water-law .bucket {
  position: absolute; bottom: 40%; left: 48%; width: 20px; height: 25px;
  background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 4px;
  transform-origin: top center;
  animation: wl-bucket 6s ease-in-out infinite;
}
.scn-water-law .water {
  position: absolute; bottom: 22%; left: 48%; width: 40px; height: 10px;
  background: linear-gradient(180deg, #4a7a8a 0%, #2a5a6a 100%);
  border-radius: 50%;
  box-shadow: 0 0 12px 4px rgba(74,122,138,0.3);
  animation: wl-water 4s ease-in-out infinite alternate;
}
.scn-water-law .figure {
  position: absolute; bottom: 18%; left: 38%; width: 18px; height: 45px;
  background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wl-figure 8s ease-in-out infinite;
}
.scn-water-law .torch {
  position: absolute; bottom: 55%; left: 20%; width: 6px; height: 20px;
  background: linear-gradient(180deg, #e0a060 0%, #8a5020 70%, #4a2a10 100%);
  border-radius: 2px;
  box-shadow: 0 0 24px 8px rgba(224,160,96,0.5);
  animation: wl-torch 3s ease-in-out infinite alternate;
}
.scn-water-law .drip {
  position: absolute; bottom: 35%; left: 52%; width: 3px; height: 8px;
  background: radial-gradient(circle, #6a9aaa 0%, #4a7a8a 100%);
  border-radius: 50%;
  animation: wl-drip 2s ease-in-out infinite;
}

@keyframes wl-well { 0%,100% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(1.02); } }
@keyframes wl-bucket { 0%,100% { transform: rotate(0) translateY(0); } 25% { transform: rotate(5deg) translateY(-2px); } 50% { transform: rotate(0) translateY(-4px); } 75% { transform: rotate(-5deg) translateY(-2px); } }
@keyframes wl-water { 0% { opacity: 0.6; transform: scaleY(0.9); } 50% { opacity: 0.8; transform: scaleY(1.1); } 100% { opacity: 0.7; transform: scaleY(0.95); } }
@keyframes wl-figure { 0%,100% { transform: translateX(0) rotate(0); } 50% { transform: translateX(5px) rotate(2deg); } }
@keyframes wl-torch { 0% { opacity: 0.7; transform: scaleY(1); } 50% { opacity: 1; transform: scaleY(1.05); } 100% { opacity: 0.8; transform: scaleY(0.95); } }
@keyframes wl-drip { 0% { transform: translateY(0) scale(1); opacity: 0.8; } 80% { transform: translateY(20px) scale(0.6); opacity: 0.2; } 100% { transform: translateY(22px) scale(0.4); opacity: 0; } }

/* scene: luxury-borrowing (tense, dim-interior) */
.scn-luxury-borrowing {
  background: 
    linear-gradient(180deg, #1a1218 0%, #2a1a22 50%, #0a080a 100%),
    radial-gradient(ellipse at 50% 40%, #3a2228 0%, transparent 70%);
}
.scn-luxury-borrowing .bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a1a22 0%, #0a080a 100%);
  opacity: 0.4;
}
.scn-luxury-borrowing .table {
  position: absolute; bottom: 10%; left: 10%; right: 10%; height: 18%;
  background: linear-gradient(180deg, #4a2a22 0%, #2a1212 100%);
  border-radius: 4px;
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.7);
}
.scn-luxury-borrowing .scales {
  position: absolute; bottom: 30%; left: 50%; width: 50px; height: 10px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%);
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: lb-scales 4s ease-in-out infinite;
}
.scn-luxury-borrowing .pan-left {
  position: absolute; bottom: 22%; left: 40%; width: 30px; height: 14px;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2212 100%);
  border-radius: 40% 40% 30% 30%;
  transform-origin: top center;
  animation: lb-pan-left 4s ease-in-out infinite;
}
.scn-luxury-borrowing .pan-right {
  position: absolute; bottom: 22%; right: 40%; width: 30px; height: 14px;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2212 100%);
  border-radius: 40% 40% 30% 30%;
  transform-origin: top center;
  animation: lb-pan-right 4s ease-in-out infinite;
}
.scn-luxury-borrowing .coin {
  position: absolute; bottom: 23%; left: 42%; width: 8px; height: 8px;
  background: radial-gradient(circle, #c8a860 0%, #8a7030 100%);
  border-radius: 50%;
  box-shadow: 0 0 4px 2px rgba(200,168,96,0.3);
  animation: lb-coin 3s ease-in-out infinite alternate;
}
.scn-luxury-borrowing .lender {
  position: absolute; bottom: 18%; left: 20%; width: 22px; height: 55px;
  background: linear-gradient(180deg, #3a2228 0%, #1a1218 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lb-lender 4s ease-in-out infinite;
}
.scn-luxury-borrowing .borrower {
  position: absolute; bottom: 18%; right: 20%; width: 18px; height: 40px;
  background: linear-gradient(180deg, #2a1a22 0%, #0a080a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lb-borrower 4s ease-in-out infinite;
}

@keyframes lb-scales { 0%,100% { transform: translateX(-50%) rotate(0); } 25% { transform: translateX(-50%) rotate(-3deg); } 50% { transform: translateX(-50%) rotate(0); } 75% { transform: translateX(-50%) rotate(3deg); } }
@keyframes lb-pan-left { 0%,100% { transform: rotate(0) translateY(0); } 25% { transform: rotate(-5deg) translateY(2px); } 50% { transform: rotate(0) translateY(0); } 75% { transform: rotate(5deg) translateY(-2px); } }
@keyframes lb-pan-right { 0%,100% { transform: rotate(0) translateY(0); } 25% { transform: rotate(5deg) translateY(-2px); } 50% { transform: rotate(0) translateY(0); } 75% { transform: rotate(-5deg) translateY(2px); } }
@keyframes lb-coin { 0% { opacity: 0.7; transform: scale(0.8); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: 0.8; transform: scale(0.9); } }
@keyframes lb-lender { 0%,100% { transform: translateX(0) rotate(0); } 25% { transform: translateX(-2px) rotate(-2deg); } 50% { transform: translateX(0) rotate(1deg); } 75% { transform: translateX(2px) rotate(2deg); } }
@keyframes lb-borrower { 0%,100% { transform: translateX(0) scaleY(1); } 25% { transform: translateX(2px) scaleY(0.98); } 50% { transform: translateX(0) scaleY(1.02); } 75% { transform: translateX(-2px) scaleY(0.98); } }

/* scene: borrow-from-table (warm, window-lit) */
.scn-borrow-from-table {
  background: 
    linear-gradient(180deg, #e8d8b0 0%, #f0e0c0 40%, #c8a870 100%),
    radial-gradient(ellipse at 60% 30%, #f8e8d0 0%, transparent 60%);
}
.scn-borrow-from-table .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #e0d0a8 0%, #c8b898 100%);
  opacity: 0.3;
}
.scn-borrow-from-table .window {
  position: absolute; top: 10%; left: 30%; width: 100px; height: 120px;
  background: linear-gradient(180deg, #d0c8b8 0%, #b8a898 100%);
  border: 4px solid #8a7a6a;
  border-radius: 8px;
  box-shadow: inset 0 0 30px rgba(255,250,230,0.3);
  animation: bft-window 6s ease-in-out infinite;
}
.scn-borrow-from-table .lightbeam {
  position: absolute; top: 12%; left: 35%; width: 80px; height: 200px;
  background: linear-gradient(180deg, rgba(255,250,230,0.4) 0%, rgba(255,250,230,0.05) 100%);
  filter: blur(8px);
  border-radius: 60% 40% 20% 80% / 80% 60% 40% 20%;
  animation: bft-light 12s ease-in-out infinite alternate;
}
.scn-borrow-from-table .table {
  position: absolute; bottom: 8%; left: 10%; right: 10%; height: 25%;
  background: linear-gradient(180deg, #a08a70 0%, #705840 100%);
  border-radius: 6px;
  box-shadow: inset 0 4px 12px rgba(0,0,0,0.3);
}
.scn-borrow-from-table .cup {
  position: absolute; bottom: 25%; left: 30%; width: 20px; height: 25px;
  background: linear-gradient(180deg, #f0e0c0 0%, #d0b090 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.2);
  animation: bft-cup 8s ease-in-out infinite;
}
.scn-borrow-from-table .dish {
  position: absolute; bottom: 23%; left: 45%; width: 40px; height: 8px;
  background: linear-gradient(180deg, #e0d0a8 0%, #c0a880 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: bft-dish 10s ease-in-out infinite;
}
.scn-borrow-from-table .figure {
  position: absolute; bottom: 12%; left: 55%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bft-figure 7s ease-in-out infinite;
}
.scn-borrow-from-table .pitcher {
  position: absolute; bottom: 26%; right: 25%; width: 18px; height: 30px;
  background: linear-gradient(180deg, #f0e0c0 0%, #d0b090 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  box-shadow: 1px 1px 4px rgba(0,0,0,0.15);
  animation: bft-pitcher 9s ease-in-out infinite;
}

@keyframes bft-window { 0%,100% { transform: scaleY(1); opacity: 0.9; } 50% { transform: scaleY(1.02); opacity: 1; } }
@keyframes bft-light { 0% { transform: translateX(-5px) skewX(-2deg); opacity: 0.3; } 50% { transform: translateX(0) skewX(0); opacity: 0.6; } 100% { transform: translateX(5px) skewX(2deg); opacity: 0.4; } }
@keyframes bft-cup { 0%,100% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-1px) rotate(-2deg); } 50% { transform: translateY(0) rotate(0); } 75% { transform: translateY(-1px) rotate(2deg); } }
@keyframes bft-dish { 0%,100% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-1px) scaleX(1.03); } }
@keyframes bft-figure { 0%,100% { transform: translateX(0) rotate(0); } 25% { transform: translateX(2px) rotate(1deg); } 50% { transform: translateX(0) rotate(0); } 75% { transform: translateX(-2px) rotate(-1deg); } }
@keyframes bft-pitcher { 0%,100% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(1.02); } }

/* Scene: important-wisdom */
.scn-important-wisdom {
  background: linear-gradient(180deg, #d4b68a 0%, #bba179 40%, #8b7355 100%), radial-gradient(ellipse at 60% 40%, #f2d8a7 0%, transparent 60%);
  background-blend-mode: overlay;
}
.scn-important-wisdom .wall { position:absolute; inset:0 0 20% 0; background: linear-gradient(135deg, #c2a07a 0%, #a68666 50%, #8b6f4e 100%); }
.scn-important-wisdom .window { position:absolute; top:15%; left:35%; width:30%; height:40%; background: linear-gradient(180deg, #f5e6cc 0%, #e8d4b0 100%); border: 6px solid #7a5c3a; border-radius:4% 4% 2% 2%; box-shadow: inset 0 0 20px 10px rgba(255,235,200,0.3); }
.scn-important-wisdom .window-light { position:absolute; top:20%; left:38%; width:24%; height:50%; background: linear-gradient(90deg, rgba(255,245,220,0.4) 0%, rgba(255,235,190,0.1) 100%); transform:skewX(-5deg); filter:blur(8px); animation: siw-beam 8s ease-in-out infinite alternate; }
.scn-important-wisdom .table { position:absolute; bottom:20%; left:30%; width:40%; height:8%; background: linear-gradient(180deg, #6b4f34 0%, #4a3522 100%); border-radius:2%; box-shadow: 0 4px 10px rgba(0,0,0,0.4); }
.scn-important-wisdom .clay { position:absolute; bottom:25%; left:45%; width:12px; height:10px; background: radial-gradient(circle, #8b5e3c 0%, #5c3a1e 70%); border-radius:50% 40% 30% 60%; transform:rotate(-10deg); animation: siw-clay 6s ease-in-out infinite; }
.scn-important-wisdom .figure { position:absolute; bottom:20%; left:35%; width:20px; height:50px; background: linear-gradient(180deg, #5a4030 0%, #2e1f15 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; transform-origin: bottom center; animation: siw-fig 10s ease-in-out infinite; }
.scn-important-wisdom .brick { position:absolute; bottom:25%; right:35%; width:20px; height:8px; background: #a0764a; border-radius:1px; transform:rotate(5deg); animation: siw-brick 12s ease-in-out infinite; }
.scn-important-wisdom .dust { position:absolute; top:30%; left:20%; width:4px; height:4px; background:rgba(255,235,200,0.6); border-radius:50%; filter:blur(2px); animation: siw-dust 20s linear infinite; }
@keyframes siw-beam { 0% { opacity:0.3; transform:skewX(-5deg) scaleX(1); } 50% { opacity:0.7; transform:skewX(-2deg) scaleX(1.1); } 100% { opacity:0.5; transform:skewX(-8deg) scaleX(0.95); } }
@keyframes siw-clay { 0% { transform:rotate(-10deg) translateY(0); } 50% { transform:rotate(5deg) translateY(-2px); } 100% { transform:rotate(-10deg) translateY(0); } }
@keyframes siw-fig { 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 siw-brick { 0% { transform:rotate(5deg); } 50% { transform:rotate(-3deg); } 100% { transform:rotate(5deg); } }
@keyframes siw-dust { 0% { opacity:0; transform:translate(0,0) scale(1); } 25% { opacity:0.6; transform:translate(30px, -40px) scale(1.5); } 50% { opacity:0.3; transform:translate(60px, -20px) scale(0.8); } 75% { opacity:0.7; transform:translate(90px, -60px) scale(1.2); } 100% { opacity:0; transform:translate(120px, -80px) scale(0.5); } }

/* Scene: gold-slaves */
.scn-gold-slaves {
  background: linear-gradient(180deg, #1a1410 0%, #2b1e15 40%, #3d2a1c 100%), radial-gradient(ellipse at 50% 20%, #5a3822 0%, transparent 70%);
}
.scn-gold-slaves .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #3b2a1a 0%, #24180c 100%); border-top: 2px solid #5a3a20; }
.scn-gold-slaves .wall { position:absolute; inset:0 0 25% 0; background: linear-gradient(135deg, #2b1e15 0%, #1f140d 50%, #140c08 100%); }
.scn-gold-slaves .couch { position:absolute; bottom:25%; left:10%; width:45%; height:12%; background: linear-gradient(180deg, #6b4a30 0%, #4a3020 100%); border-radius: 20% 20% 5% 5%; box-shadow: 0 -4px 15px rgba(0,0,0,0.6); }
.scn-gold-slaves .table { position:absolute; bottom:30%; left:55%; width:30%; height:8%; background: linear-gradient(180deg, #5a3a22 0%, #3a2212 100%); border-radius:2%; }
.scn-gold-slaves .gold-pile { position:absolute; bottom:32%; left:60%; width:30px; height:15px; background: radial-gradient(ellipse at 50% 30%, #d4a050 0%, #b08030 50%, #7a5a20 100%); border-radius:50%; box-shadow: 0 2px 10px rgba(200,150,50,0.4); animation: sgs-gold 4s ease-in-out infinite alternate; }
.scn-gold-slaves .slave { position:absolute; bottom:25%; left:30%; width:18px; height:40px; background: linear-gradient(180deg, #1a1412 0%, #0e0a08 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sgs-slave 6s ease-in-out infinite; }
.scn-gold-slaves .door { position:absolute; right:5%; bottom:25%; width:20%; height:60%; background: linear-gradient(90deg, #4a3020 0%, #3a2215 100%); border-left: 4px solid #6b4a30; border-radius: 0 5% 0 0; }
.scn-gold-slaves .torch { position:absolute; bottom:28%; right:15%; width:8px; height:20px; background: linear-gradient(180deg, #d4783a 0%, #a05020 50%, #602010 100%); border-radius: 20% 20% 5% 5%; box-shadow: 0 0 20px 8px #d4783a; animation: sgs-torch 0.8s ease-in-out infinite alternate; }
.scn-gold-slaves .shadow { position:absolute; right:0; bottom:25%; width:30%; height:50%; background: linear-gradient(90deg, rgba(0,0,0,0.4) 0%, transparent 100%); transform:skewY(-10deg); animation: sgs-shadow 5s ease-in-out infinite alternate; }
@keyframes sgs-gold { 0% { opacity:0.7; transform:scaleY(1); } 50% { opacity:1; transform:scaleY(1.1) translateY(-2px); } 100% { opacity:0.8; transform:scaleY(0.95); } }
@keyframes sgs-slave { 0% { transform:translateX(0) translateY(0) rotate(0deg); } 30% { transform:translateX(2px) translateY(-1px) rotate(1deg); } 60% { transform:translateX(-1px) translateY(0) rotate(-1deg); } 100% { transform:translateX(0) translateY(0) rotate(0deg); } }
@keyframes sgs-torch { 0% { opacity:0.8; transform:scaleY(1); } 100% { opacity:1; transform:scaleY(1.1); } }
@keyframes sgs-shadow { 0% { opacity:0.3; transform:skewY(-10deg) translateX(0); } 50% { opacity:0.6; transform:skewY(-12deg) translateX(-5px); } 100% { opacity:0.4; transform:skewY(-8deg) translateX(2px); } }

/* Scene: iphicrates-answer */
.scn-iphicrates-answer {
  background: linear-gradient(180deg, #87ceeb 0%, #b0d4f0 30%, #e0f0ff 60%, #f5faff 100%), radial-gradient(circle at 20% 80%, #ffe0b0 0%, transparent 50%);
}
.scn-iphicrates-answer .sky { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #7ab8d4 0%, #a8d0e8 60%, #d0e8f0 100%); }
.scn-iphicrates-answer .ground { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #6ba34a 0%, #4a7a2a 100%); border-radius: 40% 0 0 0; }
.scn-iphicrates-answer .figure { position:absolute; bottom:20%; left:35%; width:35px; height:60px; background: linear-gradient(180deg, #3a4a6a 0%, #1a2a3a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sia-fig 2s ease-in-out infinite; }
.scn-iphicrates-answer .sword { position:absolute; bottom:30%; left:30%; width:4px; height:25px; background: #c0c0c0; border-radius:10% 10% 50% 50%; transform:rotate(-20deg); transform-origin: bottom; animation: sia-sword 1.5s ease-in-out infinite alternate; }
.scn-iphicrates-answer .bow { position:absolute; bottom:22%; left:25%; width:30px; height:6px; background: #8b6b40; border-radius:50%; transform:rotate(15deg); animation: sia-bow 3s ease-in-out infinite; }
.scn-iphicrates-answer .shield { position:absolute; bottom:30%; left:50%; width:20px; height:24px; background: radial-gradient(circle, #b0a060 0%, #7a6a30 60%); border-radius:50%; border: 2px solid #5a4a20; box-shadow: 0 0 6px rgba(0,0,0,0.3); animation: sia-shield 2.5s ease-in-out infinite; }
.scn-iphicrates-answer .helmet { position:absolute; bottom:65%; left:38%; width:22px; height:20px; background: linear-gradient(180deg, #4a5a6a 0%, #2a3a4a 100%); border-radius: 50% 50% 30% 30% / 80% 80% 40% 40%; animation: sia-helmet 1.8s ease-in-out infinite alternate; }
.scn-iphicrates-answer .spear { position:absolute; right:20%; bottom:20%; width:3px; height:35px; background: #6a4a2a; transform:rotate(10deg); transform-origin: bottom; animation: sia-spear 4s ease-in-out infinite; }
@keyframes sia-fig { 0% { transform:translateY(0) rotate(-2deg); } 25% { transform:translateY(-4px) rotate(2deg); } 50% { transform:translateY(0) rotate(-1deg); } 75% { transform:translateY(-3px) rotate(3deg); } 100% { transform:translateY(0) rotate(-2deg); } }
@keyframes sia-sword { 0% { transform:rotate(-20deg) translateX(0); } 100% { transform:rotate(-10deg) translateX(2px); } }
@keyframes sia-bow { 0% { transform:rotate(15deg) scaleX(1); } 50% { transform:rotate(10deg) scaleX(1.1); } 100% { transform:rotate(15deg) scaleX(1); } }
@keyframes sia-shield { 0% { transform:translateY(0) scale(1); } 50% { transform:translateY(-2px) scale(1.05); } 100% { transform:translateY(0) scale(1); } }
@keyframes sia-helmet { 0% { transform:translateY(0) rotate(0deg); } 100% { transform:translateY(-2px) rotate(5deg); } }
@keyframes sia-spear { 0% { transform:rotate(10deg); } 50% { transform:rotate(15deg); } 100% { transform:rotate(10deg); } }

/* Scene: wisdom-definition-2 */
.scn-wisdom-definition-2 {
  background: linear-gradient(135deg, #d2b48c 0%, #bba070 40%, #a08860 100%), radial-gradient(ellipse at 30% 50%, #f0dbc0 0%, transparent 70%);
}
.scn-wisdom-definition-2 .wall { position:absolute; inset:0 0 15% 0; background: linear-gradient(90deg, #a88a6a 0%, #c4a682 50%, #a88a6a 100%); }
.scn-wisdom-definition-2 .window { position:absolute; top:10%; left:10%; width:25%; height:35%; background: linear-gradient(180deg, #f5e6cc 0%, #e8d4b0 100%); border: 4px solid #7a5c3a; border-radius:4%; box-shadow: inset 0 0 20px rgba(255,235,200,0.4); }
.scn-wisdom-definition-2 .desk { position:absolute; bottom:15%; left:20%; width:60%; height:10%; background: linear-gradient(180deg, #6b4f34 0%, #4a3522 100%); border-radius:2%; box-shadow: 0 4px 12px rgba(0,0,0,0.4); }
.scn-wisdom-definition-2 .scroll { position:absolute; bottom:20%; left:30%; width:40px; height:6px; background: #f0e0b0; border-radius:10%; box-shadow: 0 1px 3px rgba(0,0,0,0.2); animation: swd-scroll 12s ease-in-out infinite alternate; }
.scn-wisdom-definition-2 .gold-coin { position:absolute; bottom:25%; left:45%; width:10px; height:10px; background: radial-gradient(circle, #d4a050 0%, #b08030 70%); border-radius:50%; box-shadow: 0 0 6px rgba(200,150,50,0.5); animation: swd-coin 4s ease-in-out infinite; }
.scn-wisdom-definition-2 .silver-cup { position:absolute; bottom:22%; right:25%; width:12px; height:15px; background: linear-gradient(180deg, #c0c0c0 0%, #909090 100%); border-radius: 10% 10% 5% 5%; box-shadow: 0 0 8px rgba(192,192,192,0.4); animation: swd-cup 6s ease-in-out infinite; }
.scn-wisdom-definition-2 .figure { position:absolute; bottom:15%; left:15%; width:25px; height:55px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e12 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: swd-fig 8s ease-in-out infinite; }
.scn-wisdom-definition-2 .book { position:absolute; bottom:20%; left:25%; width:20px; height:14px; background: linear-gradient(180deg, #8b6b40 0%, #5a4020 100%); border-radius:2px; transform:rotate(3deg); animation: swd-book 10s ease-in-out infinite; }
.scn-wisdom-definition-2 .light-beam { position:absolute; top:15%; left:12%; width:20%; height:40%; background: linear-gradient(135deg, rgba(255,245,220,0.5) 0%, transparent 100%); transform:skewX(-5deg); filter:blur(10px); animation: swd-beam 10s ease-in-out infinite alternate; }
@keyframes swd-scroll { 0% { transform:scaleX(1); } 50% { transform:scaleX(1.1) translateX(2px); } 100% { transform:scaleX(0.95) translateX(-1px); } }
@keyframes swd-coin { 0% { opacity:0.7; transform:scale(1) rotate(0deg); } 50% { opacity:1; transform:scale(1.1) rotate(15deg); } 100% { opacity:0.8; transform:scale(0.95) rotate(0deg); } }
@keyframes swd-cup { 0% { transform:translateY(0) rotate(0deg); } 50% { transform:translateY(-2px) rotate(5deg); } 100% { transform:translateY(0) rotate(0deg); } }
@keyframes swd-fig { 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 swd-book { 0% { transform:rotate(3deg); } 50% { transform:rotate(1deg); } 100% { transform:rotate(3deg); } }
@keyframes swd-beam { 0% { opacity:0.3; transform:skewX(-5deg) translateX(0); } 100% { opacity:0.6; transform:skewX(-2deg) translateX(8px); } }

/* bashfulness-temperance-reason – calm, dim interior, balanced composition */
.scn-bashfulness-temperance-reason {
  background: linear-gradient(180deg, #3a2a1a 0%, #5a3a2a 40%, #2a1a0a 100%),
              radial-gradient(ellipse at 50% 30%, #6a4a3a 0%, transparent 60%);
}
.scn-bashfulness-temperance-reason .room-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #4a3a2a 0%, transparent 100%);
  opacity: 0.6; animation: btr-bg 20s ease-in-out infinite alternate;
}
.scn-bashfulness-temperance-reason .table {
  position: absolute; bottom: 25%; left: 50%; width: 120px; height: 14px;
  transform: translateX(-50%); background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 4px; box-shadow: 0 6px 12px rgba(0,0,0,0.6);
}
.scn-bashfulness-temperance-reason .scale-base {
  position: absolute; bottom: 28%; left: 50%; width: 6px; height: 40px;
  transform: translateX(-50%); background: linear-gradient(180deg, #8a7a5a 0%, #5a4a3a 100%);
  border-radius: 2px;
}
.scn-bashfulness-temperance-reason .scale-left {
  position: absolute; bottom: 40%; left: 45%; width: 34px; height: 8px;
  background: linear-gradient(180deg, #9a8a6a 0%, #6a5a4a 100%); border-radius: 2px;
  transform-origin: 100% 50%; animation: btr-sway 8s ease-in-out infinite;
}
.scn-bashfulness-temperance-reason .scale-right {
  position: absolute; bottom: 40%; left: 55%; width: 34px; height: 8px;
  background: linear-gradient(180deg, #9a8a6a 0%, #6a5a4a 100%); border-radius: 2px;
  transform-origin: 0% 50%; animation: btr-sway 8s ease-in-out infinite reverse;
}
.scn-bashfulness-temperance-reason .figure-torso {
  position: absolute; bottom: 24%; left: 43%; width: 28px; height: 38px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  animation: btr-breathe 6s ease-in-out infinite;
}
.scn-bashfulness-temperance-reason .figure-head {
  position: absolute; bottom: 44%; left: 44%; width: 18px; height: 22px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: btr-breathe 6s ease-in-out infinite;
}
.scn-bashfulness-temperance-reason .lamp-glow {
  position: absolute; top: 18%; left: 50%; width: 40px; height: 50px;
  transform: translateX(-50%); background: radial-gradient(circle, #d0b070 0%, #b09050 40%, transparent 70%);
  border-radius: 50%; animation: btr-glow 4s ease-in-out infinite alternate;
}
.scn-bashfulness-temperance-reason .lamp-base {
  position: absolute; top: 30%; left: 50%; width: 20px; height: 12px;
  transform: translateX(-50%); background: linear-gradient(180deg, #7a6a4a 0%, #5a4a3a 100%);
  border-radius: 4px 4px 2px 2px;
}
@keyframes btr-bg { 0%,100% { opacity: 0.5; } 50% { opacity: 0.8; } }
@keyframes btr-sway { 0%,100% { transform: rotate(-4deg); } 50% { transform: rotate(4deg); } }
@keyframes btr-breathe { 0%,100% { transform: scale(1); } 50% { transform: scale(1.02) translateY(-1px); } }
@keyframes btr-glow { 0%,100% { opacity: 0.6; transform: translateX(-50%) scale(1); } 50% { opacity: 1; transform: translateX(-50%) scale(1.15); } }

/* bashfulness-disease-injurious – tense, dim interior, angular confinement */
.scn-bashfulness-disease-injurious {
  background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3e 30%, #0e0e1a 100%),
              radial-gradient(ellipse at 30% 50%, #2a3a2a 0%, transparent 60%);
}
.scn-bashfulness-disease-injurious .bg-walls {
  position: absolute; inset: 5%; background: linear-gradient(135deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 4px; opacity: 0.8; animation: bdi-creep 12s ease-in-out infinite alternate;
}
.scn-bashfulness-disease-injurious .floor {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%);
  border-radius: 0; box-shadow: inset 0 8px 12px rgba(0,0,0,0.7);
}
.scn-bashfulness-disease-injurious .figure-body {
  position: absolute; bottom: 22%; left: 42%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform: rotate(12deg); animation: bdi-twitch 3s ease-in-out infinite;
}
.scn-bashfulness-disease-injurious .figure-head {
  position: absolute; bottom: 50%; left: 44%; width: 22px; height: 28px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform: rotate(8deg); animation: bdi-twitch 3s ease-in-out infinite 0.5s;
}
.scn-bashfulness-disease-injurious .chain-left {
  position: absolute; bottom: 30%; left: 30%; width: 4px; height: 60px;
  background: linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 100%);
  border-radius: 2px; transform: rotate(15deg); animation: bdi-rattle 2s ease-in-out infinite;
}
.scn-bashfulness-disease-injurious .chain-right {
  position: absolute; bottom: 30%; right: 30%; width: 4px; height: 60px;
  background: linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 100%);
  border-radius: 2px; transform: rotate(-15deg); animation: bdi-rattle 2s ease-in-out infinite 1s;
}
.scn-bashfulness-disease-injurious .shadow-spike {
  position: absolute; bottom: 20%; left: 50%; width: 2px; height: 80px;
  transform: translateX(-50%); background: #0a0a1a; opacity: 0.5;
  animation: bdi-pulse 4s ease-in-out infinite;
}
@keyframes bdi-creep { 0%,100% { transform: scale(1); } 50% { transform: scale(0.95); } }
@keyframes bdi-twitch { 0%,100% { transform: rotate(10deg) translateX(0); } 25% { transform: rotate(14deg) translateX(2px); } 50% { transform: rotate(8deg) translateX(-1px); } 75% { transform: rotate(12deg) translateX(1px); } }
@keyframes bdi-rattle { 0%,100% { transform: rotate(15deg) scaleY(1); } 50% { transform: rotate(12deg) scaleY(0.9); } }
@keyframes bdi-pulse { 0%,100% { opacity: 0.3; } 50% { opacity: 0.7; } }

/* bashfulness-bocchoris-asp – tense, dim interior, egyptian authoritarian */
.scn-bashfulness-bocchoris-asp {
  background: linear-gradient(180deg, #1a1a10 0%, #3a2a1a 40%, #0a0a05 100%),
              radial-gradient(ellipse at 50% 20%, #5a3a2a 0%, transparent 70%);
}
.scn-bashfulness-bocchoris-asp .bg-shrine {
  position: absolute; inset: 0; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  opacity: 0.7; animation: bba-fade 15s ease-in-out infinite alternate;
}
.scn-bashfulness-bocchoris-asp .throne {
  position: absolute; bottom: 22%; left: 50%; width: 80px; height: 70px;
  transform: translateX(-50%); background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 4% 4% / 20% 20% 4% 4%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.8);
}
.scn-bashfulness-bocchoris-asp .figure-torso {
  position: absolute; bottom: 28%; left: 50%; width: 40px; height: 60px;
  transform: translateX(-50%); background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%;
  animation: bba-breathe 7s ease-in-out infinite;
}
.scn-bashfulness-bocchoris-asp .figure-head {
  position: absolute; bottom: 54%; left: 50%; width: 24px; height: 30px;
  transform: translateX(-50%); background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6); animation: bba-breathe 7s ease-in-out infinite 0.3s;
}
.scn-bashfulness-bocchoris-asp .asp-coil {
  position: absolute; top: 8%; left: 50%; width: 50px; height: 40px;
  transform: translateX(-50%); background: radial-gradient(circle at 30% 40%, #8a7a5a 0%, #4a3a2a 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 20% 20%;
  box-shadow: 0 0 20px rgba(0,0,0,0.5); animation: bba-coil 10s ease-in-out infinite;
}
.scn-bashfulness-bocchoris-asp .asp-head {
  position: absolute; top: 4%; left: 52%; width: 16px; height: 20px;
  background: linear-gradient(180deg, #9a8a6a 0%, #5a4a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 20% 20%;
  transform: rotate(-20deg); animation: bba-sway 5s ease-in-out infinite alternate;
}
.scn-bashfulness-bocchoris-asp .shadow-veil {
  position: absolute; top: 0; left: 30%; width: 40%; height: 60%;
  background: linear-gradient(180deg, rgba(0,0,0,0.6) 0%, transparent 100%);
  animation: bba-glow 6s ease-in-out infinite alternate;
}
@keyframes bba-fade { 0%,100% { opacity: 0.5; } 50% { opacity: 0.9; } }
@keyframes bba-breathe { 0%,100% { transform: translateX(-50%) scale(1); } 50% { transform: translateX(-50%) scale(1.01) translateY(-2px); } }
@keyframes bba-coil { 0%,100% { transform: translateX(-50%) scale(1) rotate(0deg); } 50% { transform: translateX(-50%) scale(1.05) rotate(3deg); } }
@keyframes bba-sway { 0%,100% { transform: rotate(-25deg) translateX(-2px); } 50% { transform: rotate(-15deg) translateX(2px); } }
@keyframes bba-glow { 0%,100% { opacity: 0.4; } 50% { opacity: 0.8; } }

/* bashfulness-soft-ground – tense, dim interior, unstable sloping */
.scn-bashfulness-soft-ground {
  background: linear-gradient(180deg, #1a1a1a 0%, #2a2a1a 40%, #0a0a0a 100%),
              radial-gradient(ellipse at 50% 80%, #3a2a1a 0%, transparent 70%);
}
.scn-bashfulness-soft-ground .bg-abyss {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  opacity: 0.8; animation: bsg-shift 18s ease-in-out infinite alternate;
}
.scn-bashfulness-soft-ground .slope {
  position: absolute; bottom: 15%; left: 0; right: 0; height: 40%;
  background: linear-gradient(160deg, #3a2a1a 0%, #1a1a0a 100%);
  border-radius: 30% 70% 0 0 / 50% 60% 0 0;
  transform: skewX(-8deg); animation: bsg-slide 12s ease-in-out infinite;
}
.scn-bashfulness-soft-ground .figure-body {
  position: absolute; bottom: 30%; left: 40%; width: 34px; height: 48px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform: rotate(20deg) translateX(10px); animation: bsg-flail 3s ease-in-out infinite;
}
.scn-bashfulness-soft-ground .figure-arm-l {
  position: absolute; bottom: 40%; left: 35%; width: 20px; height: 6px;
  background: linear-gradient(270deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 4px; transform: rotate(40deg); transform-origin: 100% 50%;
  animation: bsg-flail 3s ease-in-out infinite 0.5s;
}
.scn-bashfulness-soft-ground .figure-arm-r {
  position: absolute; bottom: 40%; left: 48%; width: 20px; height: 6px;
  background: linear-gradient(90deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 4px; transform: rotate(-60deg); transform-origin: 0% 50%;
  animation: bsg-flail 3s ease-in-out infinite 1s;
}
.scn-bashfulness-soft-ground .debris-1 {
  position: absolute; bottom: 20%; left: 60%; width: 12px; height: 12px;
  background: #1a1a0a; border-radius: 20%;
  animation: bsg-fall 7s ease-in infinite;
}
.scn-bashfulness-soft-ground .debris-2 {
  position: absolute; bottom: 25%; left: 70%; width: 8px; height: 8px;
  background: #2a1a0a; border-radius: 30%;
  animation: bsg-fall 9s ease-in infinite 2s;
}
@keyframes bsg-shift { 0%,100% { transform: translateX(0); } 50% { transform: translateX(4px); } }
@keyframes bsg-slide { 0%,100% { transform: skewX(-6deg) translateX(0); } 50% { transform: skewX(-10deg) translateX(6px); } }
@keyframes bsg-flail { 0%,100% { transform: rotate(20deg) translateX(10px); } 25% { transform: rotate(25deg) translateX(14px); } 50% { transform: rotate(15deg) translateX(6px); } 75% { transform: rotate(22deg) translateX(12px); } }
@keyframes bsg-fall { 0% { transform: translateY(0) rotate(0deg); opacity: 0.8; } 50% { transform: translateY(-20px) rotate(180deg); opacity: 0.4; } 100% { transform: translateY(40px) rotate(360deg); opacity: 0; } }

/* rebirth-souls */
.scn-rebirth-souls {
  background:
    radial-gradient(ellipse at 50% 20%, #6b301a 0%, transparent 50%),
    radial-gradient(ellipse at 50% 80%, #2b1a12 0%, #1a0e08 100%);
}
.scn-rebirth-souls .forge-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #3a1e14 0%, #1a0e08 100%);
  animation: rs-fade 12s ease-in-out infinite alternate;
}
.scn-rebirth-souls .furnace {
  position: absolute; bottom: 30%; left: 20%; width: 120px; height: 80px;
  background: radial-gradient(circle, #d4733c 0%, #6b301a 70%);
  border-radius: 50%; filter: blur(8px);
  animation: rs-furnace 4s ease-in-out infinite alternate;
}
.scn-rebirth-souls .anvil {
  position: absolute; bottom: 22%; left: 35%; width: 80px; height: 30px;
  background: linear-gradient(180deg, #4a3528 0%, #2a1a10 100%);
  border-radius: 6px; box-shadow: 0 4px 8px rgba(0,0,0,.6);
  transform: perspective(200px) rotateX(5deg);
}
.scn-rebirth-souls .artificer {
  position: absolute; bottom: 20%; left: 24%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #1f110c 0%, #0d0705 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: rs-artificer 3s ease-in-out infinite;
}
.scn-rebirth-souls .hammer {
  position: absolute; bottom: 50%; left: 33%; width: 10px; height: 30px;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 20% 20% 0 0;
  transform-origin: bottom center;
  animation: rs-hammer 1s ease-in-out infinite;
}
.scn-rebirth-souls .soul-being-hammered {
  position: absolute; bottom: 24%; left: 38%; width: 20px; height: 16px;
  background: radial-gradient(circle, #f0a060 0%, #c08040 70%);
  border-radius: 50%; filter: blur(2px);
  animation: rs-being 2s ease-in-out infinite alternate;
}
.scn-rebirth-souls .soul-waiting {
  position: absolute; bottom: 26%; left: 52%; width: 18px; height: 22px;
  background: radial-gradient(circle, #e09050 0%, #904820 70%);
  border-radius: 50% 50% 40% 40%; opacity: .6;
  animation: rs-wait 5s ease-in-out infinite;
}
.scn-rebirth-souls .sparks {
  position: absolute; inset: 0;
  background: transparent;
  box-shadow:
    0 0 6px 1px #f0b060,
    0 20px 10px 1px #e0a050,
    0 40px 8px 0 #c08040,
    10px 60px 4px 1px #f0b060,
    -10px 80px 6px 0 #e0a050;
  animation: rs-spark 0.5s linear infinite;
}
.scn-rebirth-souls .chains {
  position: absolute; bottom: 30%; left: 10%; width: 4px; height: 40px;
  background: linear-gradient(180deg, #4a3a2a 50%, #2a1a10 100%);
  border-radius: 2px;
  animation: rs-chain 4s ease-in-out infinite;
}
@keyframes rs-fade { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes rs-furnace { 0% { transform: scale(1); opacity: .8 } 50% { transform: scale(1.05); opacity: 1 } 100% { transform: scale(.95); opacity: .7 } }
@keyframes rs-artificer { 0% { transform: translateY(0) rotate(-2deg) } 50% { transform: translateY(-3px) rotate(2deg) } 100% { transform: translateY(0) rotate(-1deg) } }
@keyframes rs-hammer { 0% { transform: translateY(-20px) rotate(-15deg) } 40% { transform: translateY(0) rotate(0) scaleY(1.2) } 60% { transform: translateY(0) rotate(0) scaleY(1) } 100% { transform: translateY(-20px) rotate(-15deg) } }
@keyframes rs-being { 0% { transform: scale(1); opacity: .8 } 50% { transform: scale(1.3); opacity: 1 } 100% { transform: scale(.9); opacity: .6 } }
@keyframes rs-wait { 0% { transform: translateX(0) scale(1); opacity: .5 } 50% { transform: translateX(4px) scale(1.1); opacity: .7 } 100% { transform: translateX(0) scale(1); opacity: .5 } }
@keyframes rs-spark { 0% { box-shadow: 0 0 6px 1px #f0b060; opacity: .9 } 50% { box-shadow: 0 20px 10px 1px #e0a050; opacity: 1 } 100% { box-shadow: 0 0 6px 1px #f0b060; opacity: .8 } }
@keyframes rs-chain { 0% { transform: rotate(-2deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-2deg) } }

/* nero-viper */
.scn-nero-viper {
  background:
    radial-gradient(ellipse at 50% 60%, #5e1a1d 0%, #1a0608 70%),
    linear-gradient(180deg, #0d0405 0%, #1a0608 100%);
}
.scn-nero-viper .bg-cave {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2b0d0f 0%, transparent 100%);
  animation: nv-cave 10s ease-in-out infinite alternate;
}
.scn-nero-viper .tortured-soul {
  position: absolute; bottom: 15%; left: 40%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #1a0a0c 0%, #0d0405 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: nv-soul 3s ease-in-out infinite;
}
.scn-nero-viper .nail-a {
  position: absolute; bottom: 50%; left: 42%; width: 8px; height: 8px;
  background: radial-gradient(circle, #d4733c 0%, #b0502a 70%);
  border-radius: 50%; box-shadow: 0 0 8px 2px #d4733c;
  animation: nv-nail 2s ease-in-out infinite;
}
.scn-nero-viper .nail-b {
  position: absolute; bottom: 40%; left: 38%; width: 8px; height: 8px;
  background: radial-gradient(circle, #d4733c 0%, #b0502a 70%);
  border-radius: 50%; box-shadow: 0 0 8px 2px #d4733c;
  animation: nv-nail 2.5s ease-in-out infinite;
}
.scn-nero-viper .viper {
  position: absolute; bottom: 20%; left: 45%; width: 12px; height: 50px;
  background: linear-gradient(180deg, #3a1a1c 0%, #1a0a0c 100%);
  border-radius: 0 0 50% 50%/0 0 60% 60%;
  transform-origin: top center;
  animation: nv-slither 6s ease-in-out infinite;
}
.scn-nero-viper .fire-glow {
  position: absolute; bottom: 5%; left: 20%; width: 160px; height: 100px;
  background: radial-gradient(ellipse, #c8553d 0%, transparent 70%);
  filter: blur(10px);
  animation: nv-fire 4s ease-in-out infinite alternate;
}
.scn-nero-viper .shackles {
  position: absolute; bottom: 30%; left: 36%; width: 2px; height: 30px;
  background: #3a2a2a;
  animation: nv-shackle 3s ease-in-out infinite;
}
@keyframes nv-cave { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes nv-soul { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) rotate(1deg) } 100% { transform: scaleY(.98) rotate(-1deg) } }
@keyframes nv-nail { 0% { transform: translateY(0) scale(1); opacity: .6 } 50% { transform: translateY(-10px) scale(1.5); opacity: 1 } 100% { transform: translateY(0) scale(1); opacity: .6 } }
@keyframes nv-slither { 0% { transform: rotate(0) scaleY(1); opacity: .5 } 25% { transform: rotate(20deg) scaleY(1.1) } 50% { transform: rotate(-15deg) scaleY(.9) } 75% { transform: rotate(10deg) scaleY(1.05) } 100% { transform: rotate(0) scaleY(1); opacity: .8 } }
@keyframes nv-fire { 0% { opacity: .5 } 50% { opacity: .8 } 100% { opacity: .4 } }
@keyframes nv-shackle { 0% { transform: rotate(-3deg) } 50% { transform: rotate(3deg) } 100% { transform: rotate(-3deg) } }

/* nero-transformed */
.scn-nero-transformed {
  background:
    linear-gradient(180deg, #87CEEB 0%, #FFD700 40%, #87CEEB 100%),
    radial-gradient(circle at 50% 30%, #FFD700 0%, transparent 40%);
}
.scn-nero-transformed .sky-marsh {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #b0d4f1 0%, #87CEEB 60%);
  animation: nt-day 14s ease-in-out infinite alternate;
}
.scn-nero-transformed .sun {
  position: absolute; top: 20%; left: 30%; width: 50px; height: 50px;
  background: radial-gradient(circle, #FFD700 0%, #FFA500 60%);
  border-radius: 50%; box-shadow: 0 0 30px 10px #FFD700;
  animation: nt-sunpulse 6s ease-in-out infinite;
}
.scn-nero-transformed .water {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, #4682B4 0%, #1E90FF 50%, #000080 100%);
  animation: nt-water 8s ease-in-out infinite alternate;
}
.scn-nero-transformed .reeds-left {
  position: absolute; bottom: 35%; left: 20%; width: 6px; height: 60px;
  background: linear-gradient(180deg, #2E8B57 0%, #006400 100%);
  border-radius: 40% 40% 10% 10%;
  transform-origin: bottom center;
  animation: nt-reed 5s ease-in-out infinite;
}
.scn-nero-transformed .reeds-right {
  position: absolute; bottom: 35%; left: 60%; width: 6px; height: 50px;
  background: linear-gradient(180deg, #2E8B57 0%, #006400 100%);
  border-radius: 40% 40% 10% 10%;
  transform-origin: bottom center;
  animation: nt-reed 6s ease-in-out infinite reverse;
}
.scn-nero-transformed .frog {
  position: absolute; bottom: 28%; left: 45%; width: 40px; height: 30px;
  background: #1a3a1a;
  border-radius: 60% 60% 40% 40% / 50% 50% 30% 30%;
  transform-origin: center bottom;
  animation: nt-frog 4s ease-in-out infinite;
}
.scn-nero-transformed .ripples {
  position: absolute; bottom: 22%; left: 43%; width: 60px; height: 10px;
  border: 2px solid rgba(200,230,255,.3);
  border-radius: 50%;
  animation: nt-ripple 3s ease-out infinite;
}
@keyframes nt-day { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes nt-sunpulse { 0% { transform: scale(1); opacity: .9 } 50% { transform: scale(1.05); opacity: 1 } 100% { transform: scale(.98); opacity: .85 } }
@keyframes nt-water { 0% { background-position: 0% 0% } 50% { background-position: 5% 0% } 100% { background-position: 0% 0% } }
@keyframes nt-reed { 0% { transform: rotate(-8deg) } 50% { transform: rotate(8deg) } 100% { transform: rotate(-6deg) } }
@keyframes nt-frog { 0% { transform: translateY(0) scale(1) } 25% { transform: translateY(-4px) scale(1.05) } 50% { transform: translateY(0) scale(.98) } 75% { transform: translateY(-2px) scale(1.02) } 100% { transform: translateY(0) scale(1) } }
@keyframes nt-ripple { 0% { transform: scale(1); opacity: .6 } 100% { transform: scale(2); opacity: 0 } }

/* return-to-body */
.scn-return-to-body {
  background:
    radial-gradient(ellipse at 50% 80%, #5e2a1a 0%, #1a0e08 70%),
    linear-gradient(180deg, #0d0705 0%, #1a0e08 100%);
}
.scn-return-to-body .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2b1a12 0%, #1a0e08 100%);
  animation: rb-room 12s ease-in-out infinite alternate;
}
.scn-return-to-body .woman1 {
  position: absolute; bottom: 10%; left: 30%; width: 50px; height: 90px;
  background: linear-gradient(180deg, #3a2a22 0%, #1f1410 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: rb-woman1 4s ease-in-out infinite;
}
.scn-return-to-body .woman2 {
  position: absolute; bottom: 10%; left: 50%; width: 50px; height: 90px;
  background: linear-gradient(180deg, #3a2a22 0%, #1f1410 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: rb-woman2 5s ease-in-out infinite;
}
.scn-return-to-body .iron-pin {
  position: absolute; bottom: 50%; left: 35%; width: 12px; height: 20px;
  background: linear-gradient(180deg, #c8553d 0%, #a0461a 100%);
  border-radius: 0 0 30% 30%;
  transform-origin: top center;
  animation: rb-pin 3s ease-in-out infinite;
}
.scn-return-to-body .candle {
  position: absolute; bottom: 15%; left: 70%; width: 6px; height: 20px;
  background: linear-gradient(180deg, #d4a060 0%, #8a6030 100%);
  border-radius: 2px 2px 0 0;
  animation: rb-candle 2s ease-in-out infinite alternate;
}
.scn-return-to-body .candle-glow {
  position: absolute; bottom: 20%; left: 68%; width: 30px; height: 20px;
  background: radial-gradient(circle, #d4a060 0%, transparent 70%);
  filter: blur(6px);
  animation: rb-glow 2s ease-in-out infinite alternate;
}
.scn-return-to-body .shadow-wall {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.4) 100%);
  animation: rb-shadow 6s ease-in-out infinite;
}
@keyframes rb-room { 0% { opacity: .85 } 50% { opacity: 1 } 100% { opacity: .8 } }
@keyframes rb-woman1 { 0% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(-1deg) } }
@keyframes rb-woman2 { 0% { transform: translateY(0) rotate(0deg) } 30% { transform: translateY(-2px) rotate(5deg) } 60% { transform: translateY(0) rotate(-2deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes rb-pin { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(5px) rotate(10deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes rb-candle { 0% { opacity: .8; transform: scaleY(1) } 50% { opacity: 1; transform: scaleY(1.05) } 100% { opacity: .7; transform: scaleY(.95) } }
@keyframes rb-glow { 0% { opacity: .5 } 50% { opacity: .9 } 100% { opacity: .4 } }
@keyframes rb-shadow { 0% { opacity: .3 } 50% { opacity: .5 } 100% { opacity: .2 } }

.scn-index-dionysius-poet {
  background: linear-gradient(160deg, #2c2218 0%, #1a1410 60%, #0f0a06 100%), radial-gradient(ellipse at 50% 100%, #3a2a1a 0%, transparent 70%);
}
.scn-index-dionysius-poet .desk-edge {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e12 100%);
  border-radius: 0 0 40% 40% / 0 0 20% 20%;
  box-shadow: inset 0 8px 16px rgba(0,0,0,.6);
}
.scn-index-dionysius-poet .book {
  position: absolute; bottom: 18%; left: 12%; width: 30%; height: 40%;
  background: linear-gradient(135deg, #6a4a34 0%, #3a2618 60%, #1f120a 100%);
  border-radius: 4% 90% 8% 8% / 6% 85% 10% 10%;
  box-shadow: 0 6px 18px rgba(0,0,0,.5), inset 0 0 12px rgba(255,200,150,.1);
  transform: rotate(-4deg);
  animation: idp-book 12s ease-in-out infinite;
}
.scn-index-dionysius-poet .candle {
  position: absolute; bottom: 24%; left: 54%; width: 5%; height: 30%;
  background: linear-gradient(180deg, #e8d0b8 0%, #c4a88a 40%, #9a7a60 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 10% 10%;
  box-shadow: inset 0 0 6px rgba(0,0,0,.3);
  transform: rotate(2deg);
}
.scn-index-dionysius-poet .flame {
  position: absolute; bottom: 52%; left: 54.5%; width: 3%; height: 8%;
  background: radial-gradient(ellipse 50% 20%, #ffd080 0%, #ff8840 40%, transparent 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  box-shadow: 0 0 20px 6px rgba(255,136,64,.6), 0 0 40px 12px rgba(255,136,64,.3);
  animation: idp-flame 3s ease-in-out infinite alternate;
}
.scn-index-dionysius-poet .glow {
  position: absolute; bottom: 30%; left: 45%; width: 30%; height: 40%;
  background: radial-gradient(ellipse at 50% 40%, rgba(255,180,80,.15) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  animation: idp-glow 4s ease-in-out infinite alternate;
}
.scn-index-dionysius-poet .dust-a {
  position: absolute; top: 40%; left: 20%; width: 1.5%; height: 1.5%;
  background: rgba(255,220,180,.3);
  border-radius: 50%;
  filter: blur(2px);
  animation: idp-dust 20s linear infinite;
}
.scn-index-dionysius-poet .dust-b {
  position: absolute; top: 30%; left: 70%; width: 1%; height: 1%;
  background: rgba(255,200,150,.25);
  border-radius: 50%;
  filter: blur(1px);
  animation: idp-dust 24s linear infinite reverse;
}
@keyframes idp-book {
  0% { transform: rotate(-4deg) translateY(0); }
  50% { transform: rotate(-2deg) translateY(-2px); }
  100% { transform: rotate(-4deg) translateY(0); }
}
@keyframes idp-flame {
  0% { transform: scale(1) translateY(0); opacity: .9; box-shadow: 0 0 20px 6px rgba(255,136,64,.5), 0 0 40px 12px rgba(255,136,64,.2); }
  50% { transform: scale(1.1,1.2) translateY(-2px); opacity: 1; box-shadow: 0 0 30px 10px rgba(255,150,80,.7), 0 0 60px 20px rgba(255,150,80,.4); }
  100% { transform: scale(0.95,0.9) translateY(1px); opacity: .85; box-shadow: 0 0 18px 4px rgba(255,136,64,.4), 0 0 35px 10px rgba(255,136,64,.15); }
}
@keyframes idp-glow {
  0% { opacity: .6; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.08); }
  100% { opacity: .7; transform: scale(0.95); }
}
@keyframes idp-dust {
  0% { transform: translateY(0) translateX(0) rotate(0deg); opacity: 0; }
  10% { opacity: 1; }
  50% { transform: translateY(-50px) translateX(20px) rotate(90deg); opacity: .8; }
  90% { opacity: .3; }
  100% { transform: translateY(-100px) translateX(40px) rotate(180deg); opacity: 0; }
}

.scn-index-empone {
  background: linear-gradient(180deg, #1c1814 0%, #2a2018 50%, #120e0a 100%), radial-gradient(ellipse at 50% 30%, #3a2818 0%, transparent 60%);
}
.scn-index-empone .wall {
  position: absolute; inset: 0; background: repeating-linear-gradient(0deg, #2a221a 0px, #2a221a 2px, #221a12 2px, #221a12 4px);
  opacity: .3; pointer-events: none;
}
.scn-index-empone .table {
  position: absolute; bottom: 10%; left: 15%; right: 15%; height: 20%;
  background: linear-gradient(180deg, #3a2a1e 0%, #1f1410 100%);
  border-radius: 80% 80% 10% 10% / 50% 50% 20% 20%;
  box-shadow: 0 -4px 12px rgba(0,0,0,.4);
}
.scn-index-empone .lamp {
  position: absolute; bottom: 30%; left: 48%; width: 6%; height: 18%;
  background: linear-gradient(180deg, #c8a070 0%, #8a6a40 100%);
  border-radius: 40% 40% 10% 10% / 60% 60% 10% 10%;
  box-shadow: inset 0 0 6px rgba(0,0,0,.3);
}
.scn-index-empone .lamp-glow {
  position: absolute; bottom: 25%; left: 40%; width: 30%; height: 40%;
  background: radial-gradient(ellipse at 50% 30%, rgba(255,200,100,.15) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  animation: ie-glow 5s ease-in-out infinite alternate;
}
.scn-index-empone .figure {
  position: absolute; bottom: 18%; left: 32%; width: 12%; height: 35%;
  background: radial-gradient(ellipse 60% 50% at 50% 50%, #1a1410 0%, #0a0804 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ie-figure 6s ease-in-out infinite;
}
.scn-index-empone .book {
  position: absolute; bottom: 18%; left: 52%; width: 18%; height: 12%;
  background: linear-gradient(135deg, #5a3a2a 0%, #3a2218 60%, #1f120a 100%);
  border-radius: 2% 8% 8% 2% / 6% 20% 20% 6%;
  box-shadow: 0 4px 10px rgba(0,0,0,.5);
  transform: rotate(8deg);
  animation: ie-book 15s ease-in-out infinite;
}
@keyframes ie-glow {
  0% { opacity: .5; transform: scale(1); }
  50% { opacity: .9; transform: scale(1.12); }
  100% { opacity: .6; transform: scale(0.95); }
}
@keyframes ie-figure {
  0% { transform: translateX(0) rotate(-1deg); }
  25% { transform: translateX(3px) rotate(2deg); }
  50% { transform: translateX(0) rotate(-1deg); }
  75% { transform: translateX(-3px) rotate(1deg); }
  100% { transform: translateX(0) rotate(-1deg); }
}
@keyframes ie-book {
  0% { transform: rotate(8deg) translateY(0); }
  50% { transform: rotate(6deg) translateY(-2px); }
  100% { transform: rotate(8deg) translateY(0); }
}

.scn-index-ergane {
  background: linear-gradient(180deg, #1a1a26 0%, #10101a 60%, #080810 100%), radial-gradient(ellipse at 50% 50%, #2a2a3e 0%, transparent 70%);
}
.scn-index-ergane .column {
  position: absolute; bottom: 0; left: 50%; width: 8%; height: 70%;
  background: linear-gradient(90deg, #4a4a5a 0%, #6a6a7a 30%, #4a4a5a 60%, #3a3a4a 100%);
  border-radius: 4% 4% 0 0 / 10% 10% 0 0;
  transform: translateX(-50%);
  box-shadow: -4px 0 12px rgba(0,0,0,.3), 4px 0 12px rgba(0,0,0,.1);
}
.scn-index-ergane .owl-body {
  position: absolute; bottom: 45%; left: 50%; width: 12%; height: 10%;
  background: radial-gradient(ellipse 50% 60% at 50% 50%, #8a7a5a 0%, #5a4a2a 100%);
  border-radius: 50%;
  transform: translateX(-50%);
  box-shadow: 0 4px 8px rgba(0,0,0,.4);
  animation: ier-body 8s ease-in-out infinite alternate;
}
.scn-index-ergane .owl-head {
  position: absolute; bottom: 54%; left: 50%; width: 9%; height: 6%;
  background: radial-gradient(ellipse 50% 60% at 50% 50%, #7a6a4a 0%, #4a3a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  box-shadow: 0 2px 6px rgba(0,0,0,.5);
  animation: ier-head 6s ease-in-out infinite alternate;
}
.scn-index-ergane .owl-eye-l {
  position: absolute; bottom: 55%; left: 47.5%; width: 2%; height: 2.5%;
  background: radial-gradient(circle, #ffd080 0%, #b08040 60%);
  border-radius: 50%;
  box-shadow: 0 0 8px 2px rgba(255,208,128,.5);
  animation: ier-eye 4s ease-in-out infinite alternate;
}
.scn-index-ergane .owl-eye-r {
  position: absolute; bottom: 55%; left: 53%; width: 2%; height: 2.5%;
  background: radial-gradient(circle, #ffd080 0%, #b08040 60%);
  border-radius: 50%;
  box-shadow: 0 0 8px 2px rgba(255,208,128,.5);
  animation: ier-eye 4.5s ease-in-out infinite alternate;
}
.scn-index-ergane .glow {
  position: absolute; bottom: 40%; left: 40%; width: 30%; height: 30%;
  background: radial-gradient(ellipse at 50% 50%, rgba(200,180,100,.08) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  animation: ier-glow 6s ease-in-out infinite alternate;
}
@keyframes ier-body {
  0% { transform: translateX(-50%) rotate(-2deg); }
  50% { transform: translateX(-50%) rotate(2deg); }
  100% { transform: translateX(-50%) rotate(-2deg); }
}
@keyframes ier-head {
  0% { transform: translateX(-50%) rotate(0deg); }
  50% { transform: translateX(-50%) rotate(5deg); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes ier-eye {
  0% { transform: scale(1); opacity: .8; }
  50% { transform: scale(1.3); opacity: 1; }
  100% { transform: scale(0.9); opacity: .7; }
}
@keyframes ier-glow {
  0% { opacity: .4; transform: scale(1); }
  50% { opacity: .8; transform: scale(1.1); }
  100% { opacity: .5; transform: scale(0.95); }
}

.scn-index-euripides {
  background: linear-gradient(180deg, #1a1612 0%, #0e0a08 50%, #060404 100%), radial-gradient(ellipse at 50% 40%, #2a1e14 0%, transparent 70%);
}
.scn-index-euripides .curtain-l {
  position: absolute; top: 0; left: 0; width: 35%; height: 100%;
  background: linear-gradient(90deg, #6a2a1e 0%, #4a1a12 30%, #3a0e08 70%, transparent 100%);
  border-radius: 0 80% 0 0 / 0 60% 0 0;
  box-shadow: inset -8px 0 20px rgba(0,0,0,.6);
  animation: ieu-curtain 20s ease-in-out infinite alternate;
}
.scn-index-euripides .curtain-r {
  position: absolute; top: 0; right: 0; width: 35%; height: 100%;
  background: linear-gradient(270deg, #6a2a1e 0%, #4a1a12 30%, #3a0e08 70%, transparent 100%);
  border-radius: 80% 0 0 0 / 60% 0 0 0;
  box-shadow: inset 8px 0 20px rgba(0,0,0,.6);
  animation: ieu-curtain 20s ease-in-out infinite alternate-reverse;
}
.scn-index-euripides .stage {
  position: absolute; bottom: 10%; left: 20%; right: 20%; height: 40%;
  background: linear-gradient(180deg, #3a2a1e 0%, #1a120c 100%);
  border-radius: 40% 40% 0 0 / 20% 20% 0 0;
  box-shadow: 0 -4px 20px rgba(0,0,0,.5);
  animation: ieu-stage 8s ease-in-out infinite;
}
.scn-index-euripides .mask-trag {
  position: absolute; bottom: 28%; left: 30%; width: 12%; height: 16%;
  background: linear-gradient(180deg, #b87878 0%, #5e1a1d 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  box-shadow: 0 4px 12px rgba(0,0,0,.4);
  transform: rotate(-6deg);
  animation: ieu-mask 12s ease-in-out infinite alternate;
}
.scn-index-euripides .mask-com {
  position: absolute; bottom: 28%; left: 55%; width: 12%; height: 16%;
  background: linear-gradient(180deg, #c8a070 0%, #8a6a40 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  box-shadow: 0 4px 12px rgba(0,0,0,.4);
  transform: rotate(6deg);
  animation: ieu-mask 14s ease-in-out infinite alternate-reverse;
}
.scn-index-euripides .spotlight {
  position: absolute; top: 0; left: 40%; width: 20%; height: 100%;
  background: linear-gradient(180deg, rgba(255,220,150,.08) 0%, transparent 80%);
  clip-path: polygon(30% 0, 70% 0, 55% 100%, 45% 100%);
  pointer-events: none;
  animation: ieu-spotlight 6s ease-in-out infinite alternate;
}
@keyframes ieu-curtain {
  0% { transform: translateX(0); }
  50% { transform: translateX(4px); }
  100% { transform: translateX(-2px); }
}
@keyframes ieu-stage {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-3px) scale(1.01); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes ieu-mask {
  0% { transform: rotate(-6deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-4px); }
  100% { transform: rotate(-6deg) translateY(0); }
}
@keyframes ieu-spotlight {
  0% { opacity: .6; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.1); }
  100% { opacity: .7; transform: scaleY(0.95); }
}

.scn-item-neacles-sponge {
  background:
    linear-gradient(180deg, #ffeacc 0%, #f5deb3 30%, #e8c892 100%),
    radial-gradient(ellipse at 60% 30%, #fff3b0 0%, transparent 70%);
}
.scn-item-neacles-sponge .wall { position:absolute; inset:0 0 30% 0; background:linear-gradient(180deg, #f0dbb0 0%, #d4b878 100%); animation: ns-wall 20s ease-in-out infinite alternate; }
.scn-item-neacles-sponge .window-frame { position:absolute; top:5%; left:35%; width:30%; height:40%; border:8px solid #8b6f47; box-shadow: inset 0 0 0 4px #a08050; background:transparent; border-radius:4px; animation: ns-frame 12s ease-in-out infinite; }
.scn-item-neacles-sponge .window-pane { position:absolute; top:8%; left:38%; width:24%; height:35%; background: radial-gradient(ellipse at 50% 40%, #fff9e6 0%, #e8d8a0 70%); box-shadow: 0 0 40px 15px rgba(255,230,150,.4); animation: ns-pane 8s ease-in-out infinite alternate; }
.scn-item-neacles-sponge .table { position:absolute; bottom:0; left:10%; right:10%; height:30%; background: linear-gradient(180deg, #b09160 0%, #7a5c3a 100%); border-radius: 20% 20% 0 0 / 40% 40% 0 0; box-shadow: inset 0 10px 15px rgba(0,0,0,.3); }
.scn-item-neacles-sponge .sponge { position:absolute; bottom:18%; left:42%; width:50px; height:35px; background: linear-gradient(135deg, #d4b878 0%, #b09160 50%, #8b6f47 100%); border-radius: 30% 20% 40% 30% / 40% 30% 50% 40%; transform: rotate(-5deg); box-shadow: 0 4px 8px rgba(0,0,0,.2); animation: ns-sponge 6s ease-in-out infinite; }
.scn-item-neacles-sponge .rule-a { position:absolute; bottom:22%; left:30%; width:40px; height:4px; background: #6b4a2a; border-radius:2px; transform: rotate(-20deg); animation: ns-rule 9s ease-in-out infinite; }
.scn-item-neacles-sponge .rule-b { position:absolute; bottom:24%; right:28%; width:50px; height:4px; background: #5a3a1a; border-radius:2px; transform: rotate(15deg) scaleX(1.2); animation: ns-rule 11s ease-in-out infinite reverse; }
.scn-item-neacles-sponge .mote { position:absolute; width:6px; height:6px; background:radial-gradient(circle, #fff8d0 0%, transparent 100%); border-radius:50%; animation: ns-mote 15s linear infinite; }
.scn-item-neacles-sponge .mote-1 { top:25%; left:40%; animation-delay:0s; }
.scn-item-neacles-sponge .mote-2 { top:35%; left:55%; animation-delay:4s; }
@keyframes ns-wall { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes ns-frame { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes ns-pane { 0% { opacity:.75; box-shadow: 0 0 30px 10px rgba(255,230,150,.3) } 50% { opacity:1; box-shadow: 0 0 50px 20px rgba(255,230,150,.5) } 100% { opacity:.8; box-shadow: 0 0 35px 12px rgba(255,230,150,.35) } }
@keyframes ns-sponge { 0% { transform: rotate(-5deg) scale(1) } 50% { transform: rotate(3deg) scale(1.05) } 100% { transform: rotate(-6deg) scale(.98) } }
@keyframes ns-rule { 0% { transform: rotate(-20deg) translateX(0) } 50% { transform: rotate(-15deg) translateX(5px) } 100% { transform: rotate(-22deg) translateX(-3px) } }
@keyframes ns-mote { 0% { transform: translate(0,0) scale(1); opacity:0 } 10% { opacity:1 } 90% { opacity:1 } 100% { transform: translate(80px,-60px) scale(0); opacity:0 } }

.scn-arts-fragments {
  background:
    linear-gradient(180deg, #fef9e7 0%, #e8dcc0 40%, #cbbf9f 100%),
    radial-gradient(ellipse at 40% 20%, #fff5d0 0%, transparent 60%);
}
.scn-arts-fragments .bg-light { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 20%, #fff4d4 0%, transparent 80%); animation: af-bg 18s ease-in-out infinite alternate; }
.scn-arts-fragments .window { position:absolute; top:3%; left:30%; width:40%; height:45%; border:6px solid #a08050; box-shadow: inset 0 0 0 3px #c0a060; background: radial-gradient(ellipse at 50% 30%, #fff8e0 0%, #e8dca0 80%); border-radius:6px; animation: af-window 14s ease-in-out infinite; }
.scn-arts-fragments .desk { position:absolute; bottom:0; left:5%; right:5%; height:30%; background: linear-gradient(180deg, #b89868 0%, #8a6e44 100%); border-radius: 10% 10% 0 0 / 30% 30% 0 0; box-shadow: inset 0 8px 12px rgba(0,0,0,.2); }
.scn-arts-fragments .fragment { position:absolute; width:40px; height:30px; background: linear-gradient(135deg, #f0e8c8 0%, #d4c8a0 100%); border-radius: 8% 15% 12% 5%; box-shadow: 0 2px 6px rgba(0,0,0,.1); animation: af-fragment 7s ease-in-out infinite; }
.scn-arts-fragments .fragment-1 { bottom:15%; left:20%; transform: rotate(12deg); animation-delay:0s; }
.scn-arts-fragments .fragment-2 { bottom:18%; left:45%; width:50px; height:25px; transform: rotate(-18deg); animation-delay:2s; }
.scn-arts-fragments .fragment-3 { bottom:12%; right:20%; width:35px; height:40px; transform: rotate(5deg) scaleX(0.8); animation-delay:4s; }
.scn-arts-fragments .emanation { position:absolute; top:20%; left:40%; width:30px; height:30px; background:radial-gradient(circle, #fff8b0 0%, transparent 100%); opacity:.4; animation: af-em 9s ease-in-out infinite alternate; }
.scn-arts-fragments .glow { position:absolute; top:5%; right:25%; width:80px; height:80px; background:radial-gradient(circle, rgba(255,245,200,.5) 0%, transparent 70%); filter: blur(8px); animation: af-glow 12s ease-in-out infinite; }
@keyframes af-bg { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes af-window { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-3px) } }
@keyframes af-fragment { 0% { transform: rotate(12deg) translate(0,0) } 50% { transform: rotate(18deg) translate(3px,-2px) } 100% { transform: rotate(8deg) translate(-2px,1px) } }
@keyframes af-em { 0% { transform: scale(1); opacity:.3 } 50% { transform: scale(1.3); opacity:.6 } 100% { transform: scale(.9); opacity:.4 } }
@keyframes af-glow { 0% { opacity:.3; transform: scale(1) } 50% { opacity:.5; transform: scale(1.2) } 100% { opacity:.4; transform: scale(.95) } }

.scn-arts-powerless {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2c2a3e 40%, #181624 100%),
    radial-gradient(ellipse at 50% 80%, #2a1e2e 0%, transparent 70%);
}
.scn-arts-powerless .room-dark { position:absolute; inset:0; background: linear-gradient(180deg, #12101a 0%, #1e1a28 100%); animation: ap-dark 20s ease-in-out infinite alternate; }
.scn-arts-powerless .wall-shadow { position:absolute; top:0; left:10%; right:10%; height:60%; background: linear-gradient(180deg, #1a1622 0%, #0c0a12 100%); border-radius: 0 0 40% 40%; clip-path: polygon(0 0, 100% 0, 90% 100%, 10% 100%); animation: ap-shadow 15s ease-in-out infinite; }
.scn-arts-powerless .easel-fallen { position:absolute; bottom:10%; left:30%; width:100px; height:120px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e12 100%); transform: rotate(-15deg); border-radius: 4% 4% 8% 8%; box-shadow: 0 8px 20px rgba(0,0,0,.7); animation: ap-easel 8s ease-in-out infinite; }
.scn-arts-powerless .canvas-blank { position:absolute; bottom:20%; left:33%; width:70px; height:80px; background: linear-gradient(135deg, #d8d0c0 0%, #b0a890 100%); transform: rotate(-15deg); box-shadow: inset 0 0 10px rgba(0,0,0,.3); animation: ap-canvas 9s ease-in-out infinite alternate; }
.scn-arts-powerless .candle { position:absolute; bottom:35%; left:55%; width:16px; height:40px; background: linear-gradient(180deg, #e0c8a0 0%, #b09060 100%); border-radius: 4px 4px 2px 2px; box-shadow: 0 4px 6px rgba(0,0,0,.5); animation: ap-candle 6s ease-in-out infinite; }
.scn-arts-powerless .flame { position:absolute; bottom:70%; left:55%; width:10px; height:18px; background: radial-gradient(ellipse at 50% 80%, #ffd080 0%, #ff8020 60%, transparent 100%); transform: translateX(-50%); border-radius: 50%; animation: ap-flame 2s ease-in-out infinite; }
.scn-arts-powerless .drip { position:absolute; bottom:36%; left:55%; width:4px; height:8px; background: #e0c080; border-radius: 2px; transform: translateX(-50%); animation: ap-drip 5s ease-in-out infinite; }
.scn-arts-powerless .shadow-figure { position:absolute; bottom:0; right:15%; width:50px; height:150px; background: linear-gradient(180deg, #0a0810 0%, #060408 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: ap-figure 10s ease-in-out infinite; }
@keyframes ap-dark { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes ap-shadow { 0% { transform: scaleY(.95) } 50% { transform: scaleY(1) } 100% { transform: scaleY(.97) } }
@keyframes ap-easel { 0% { transform: rotate(-15deg) translateX(0) } 50% { transform: rotate(-18deg) translateX(2px) } 100% { transform: rotate(-13deg) translateX(-1px) } }
@keyframes ap-canvas { 0% { opacity:.6; filter: brightness(.8) } 50% { opacity:.8; filter: brightness(1.1) } 100% { opacity:.7; filter: brightness(.9) } }
@keyframes ap-candle { 0%,100% { transform: translateX(-50%) } 50% { transform: translateX(-50%) rotate(2deg) } }
@keyframes ap-flame { 0% { transform: translateX(-50%) scaleY(1); opacity:.9 } 30% { transform: translateX(-50%) scaleY(1.2); opacity:1 } 60% { transform: translateX(-50%) scaleY(.9); opacity:.8 } 100% { transform: translateX(-50%) scaleY(1); opacity:.9 } }
@keyframes ap-drip { 0% { height:8px; opacity:1 } 100% { height:25px; opacity:0; transform: translateX(-50%) translateY(15px) } }
@keyframes ap-figure { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.05) translateY(-3px) } 100% { transform: scaleX(.95) translateY(2px) } }

.scn-wisdom-everywhere {
  background:
    linear-gradient(180deg, #fff8e0 0%, #f0e0b8 30%, #dcc898 100%),
    radial-gradient(ellipse at 30% 20%, #fff8c0 0%, transparent 60%);
}
.scn-wisdom-everywhere .workshop-wall { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #e8d8b0 0%, #c8b490 100%); animation: we-wall 25s ease-in-out infinite alternate; }
.scn-wisdom-everywhere .window { position:absolute; top:5%; left:20%; width:25%; height:40%; background: radial-gradient(ellipse at 50% 30%, #fffae8 0%, #e8dca8 80%); box-shadow: 0 0 30px 10px rgba(255,240,180,.3); border:6px solid #8b7040; border-radius:4px; animation: we-window 15s ease-in-out infinite; }
.scn-wisdom-everywhere .workbench { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #a88b60 0%, #7a5c3a 100%); border-radius: 15% 15% 0 0 / 40% 40% 0 0; box-shadow: inset 0 8px 12px rgba(0,0,0,.2); }
.scn-wisdom-everywhere .lyre { position:absolute; bottom:12%; left:22%; width:40px; height:60px; background: linear-gradient(180deg, #c0a070 0%, #8b6f47 100%); border-radius: 30% 30% 10% 10%; transform: rotate(-8deg); box-shadow: 0 4px 8px rgba(0,0,0,.2); animation: we-lyre 8s ease-in-out infinite; }
.scn-wisdom-everywhere .cooking-pot { position:absolute; bottom:10%; left:50%; width:50px; height:35px; background: linear-gradient(180deg, #8b7a60 0%, #5a4a30 100%); border-radius: 20% 20% 10% 10%; transform: translateX(-50%); box-shadow: inset 0 4px 6px rgba(0,0,0,.3); animation: we-pot 10s ease-in-out infinite; }
.scn-wisdom-everywhere .cloth-fuller { position:absolute; bottom:14%; right:20%; width:60px; height:20px; background: linear-gradient(135deg, #d4c8b0 0%, #b0a080 100%); border-radius: 10px; transform: rotate(5deg); box-shadow: 0 2px 4px rgba(0,0,0,.1); animation: we-cloth 12s ease-in-out infinite; }
.scn-wisdom-everywhere .chord { position:absolute; bottom:20%; left:22%; width:2px; height:40px; background: #6b5a3a; transform: rotate(-8deg); animation: we-chord 5s ease-in-out infinite; }
.scn-wisdom-everywhere .sparkle { position:absolute; top:15%; left:45%; width:12px; height:12px; background:radial-gradient(circle, #fff8b0 0%, transparent 100%); border-radius:50%; animation: we-sparkle 7s ease-in-out infinite; }
@keyframes we-wall { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes we-window { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes we-lyre { 0% { transform: rotate(-8deg) scale(1) } 50% { transform: rotate(-5deg) scale(1.05) } 100% { transform: rotate(-10deg) scale(.98) } }
@keyframes we-pot { 0% { transform: translateX(-50%) rotate(0) } 50% { transform: translateX(-50%) rotate(2deg) } 100% { transform: translateX(-50%) rotate(-1deg) } }
@keyframes we-cloth { 0% { transform: rotate(5deg) translateX(0) } 50% { transform: rotate(3deg) translateX(3px) } 100% { transform: rotate(7deg) translateX(-2px) } }
@keyframes we-chord { 0% { transform: rotate(-8deg) scaleY(1) } 50% { transform: rotate(-8deg) scaleY(1.1) } 100% { transform: rotate(-8deg) scaleY(.95) } }
@keyframes we-sparkle { 0% { transform: scale(0); opacity:0 } 20% { transform: scale(1.2); opacity:1 } 80% { transform: scale(1); opacity:.8 } 100% { transform: scale(0); opacity:0 } }

.scn-curiosity-power-feeds {
  background: linear-gradient(180deg, #1a1a2e 0%, #0d0d1a 50%, #15152a 100%), radial-gradient(ellipse at 50% 70%, #2a2a4e 0%, transparent 80%);
}
.scn-curiosity-power-feeds .bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, rgba(26,26,46,.6) 0%, transparent 100%);
}
.scn-curiosity-power-feeds .wall-left {
  position: absolute; left: 0; top: 0; bottom: 20%; width: 15%; background: linear-gradient(180deg, #2a2a3e 0%, #0f0f1f 100%); border-right: 2px solid rgba(255,200,100,.1); box-shadow: 4px 0 20px rgba(0,0,0,.5); animation: cp-wall 8s ease-in-out infinite alternate;
}
.scn-curiosity-power-feeds .wall-right {
  position: absolute; right: 0; top: 0; bottom: 20%; width: 15%; background: linear-gradient(180deg, #2a2a3e 0%, #0f0f1f 100%); border-left: 2px solid rgba(255,200,100,.1); box-shadow: -4px 0 20px rgba(0,0,0,.5); animation: cp-wall 8s ease-in-out infinite alternate-reverse;
}
.scn-curiosity-power-feeds .desk {
  position: absolute; bottom: 8%; left: 25%; right: 25%; height: 12%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e05 100%); border-radius: 2% 2% 0 0; box-shadow: 0 -8px 30px rgba(0,0,0,.7);
}
.scn-curiosity-power-feeds .candle {
  position: absolute; bottom: 20%; left: 50%; width: 8px; height: 40px; transform: translateX(-50%); background: linear-gradient(180deg, #e0c080 0%, #c0a060 30%, #8a6a3a 100%); border-radius: 4px 4px 2px 2px; box-shadow: inset -2px 0 4px rgba(0,0,0,.5);
}
.scn-curiosity-power-feeds .flame {
  position: absolute; bottom: calc(20% + 40px); left: 50%; width: 14px; height: 24px; transform: translateX(-50%); background: radial-gradient(ellipse at 50% 80%, #ffd060 0%, #ff8020 60%, transparent 100%); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; box-shadow: 0 0 30px 10px rgba(255,128,32,.6), 0 0 60px 20px rgba(255,128,32,.3); animation: cp-flame 1.2s ease-in-out infinite alternate;
}
.scn-curiosity-power-feeds .hand {
  position: absolute; bottom: 15%; left: 38%; width: 30px; height: 50px; background: linear-gradient(180deg, #2a1a1a 0%, #0f0505 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: cp-hand 3s ease-in-out infinite; z-index: 2;
}
.scn-curiosity-power-feeds .shadow {
  position: absolute; bottom: 8%; left: 38%; width: 50px; height: 8px; background: rgba(0,0,0,.5); border-radius: 50%; transform: translateX(10px); animation: cp-shadow 3s ease-in-out infinite;
}
@keyframes cp-wall {
  0% { opacity: .8; } 50% { opacity: .95; } 100% { opacity: .8; }
}
@keyframes cp-flame {
  0% { transform: translateX(-50%) scaleY(.8) rotate(-2deg); opacity: .9; }
  50% { transform: translateX(-50%) scaleY(1.1) rotate(2deg); opacity: 1; }
  100% { transform: translateX(-50%) scaleY(.85) rotate(-1deg); opacity: .85; }
}
@keyframes cp-hand {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  25% { transform: translateX(5px) translateY(-3px) rotate(5deg); }
  50% { transform: translateX(10px) translateY(0) rotate(2deg); }
  75% { transform: translateX(5px) translateY(-2px) rotate(-3deg); }
  100% { transform: translateX(0) translateY(0) rotate(0deg); }
}
@keyframes cp-shadow {
  0% { transform: translateX(10px) scaleX(1); opacity: .5; }
  25% { transform: translateX(15px) scaleX(1.2); opacity: .6; }
  50% { transform: translateX(20px) scaleX(.9); opacity: .4; }
  75% { transform: translateX(15px) scaleX(1.1); opacity: .55; }
  100% { transform: translateX(10px) scaleX(1); opacity: .5; }
}

.scn-curiosity-tyrant-spies {
  background: linear-gradient(180deg, #0f0f23 0%, #1a1a30 30%, #0a0a15 100%), radial-gradient(ellipse at 50% 0%, #2a2a50 0%, transparent 70%);
}
.scn-curiosity-tyrant-spies .bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15,15,35,.8) 0%, transparent 100%);
}
.scn-curiosity-tyrant-spies .pillar-left {
  position: absolute; left: 5%; top: 0; bottom: 0; width: 10%; background: linear-gradient(180deg, #2a2a3e 0%, #12121f 100%); border-right: 3px solid rgba(100,80,60,.2); box-shadow: 6px 0 30px rgba(0,0,0,.6); animation: ts-pillar 6s ease-in-out infinite alternate;
}
.scn-curiosity-tyrant-spies .pillar-right {
  position: absolute; right: 5%; top: 0; bottom: 0; width: 10%; background: linear-gradient(180deg, #2a2a3e 0%, #12121f 100%); border-left: 3px solid rgba(100,80,60,.2); box-shadow: -6px 0 30px rgba(0,0,0,.6); animation: ts-pillar 6s ease-in-out infinite alternate-reverse;
}
.scn-curiosity-tyrant-spies .throne {
  position: absolute; bottom: 15%; left: 50%; width: 80px; height: 100px; transform: translateX(-50%); background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 10% 10% 20% 20% / 30% 30% 40% 40%; box-shadow: 0 10px 30px rgba(0,0,0,.8);
}
.scn-curiosity-tyrant-spies .tyrant {
  position: absolute; bottom: 30%; left: 50%; width: 60px; height: 90px; transform: translateX(-50%); background: linear-gradient(180deg, #1a1a2e 0%, #05050a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; animation: ts-tyrant 9s ease-in-out infinite; z-index: 2;
}
.scn-curiosity-tyrant-spies .spy {
  position: absolute; bottom: 20%; right: 18%; width: 30px; height: 60px; background: linear-gradient(180deg, #0f0f1f 0%, #030308 100%); border-radius: 30% 30% 20% 20% / 50% 50% 40% 40%; transform-origin: bottom center; animation: ts-spy 5s ease-in-out infinite; z-index: 3;
}
.scn-curiosity-tyrant-spies .curtain {
  position: absolute; top: 0; left: 20%; right: 20%; height: 40%; background: linear-gradient(180deg, #3a1a2a 0%, #1a0a10 100%); border-radius: 0 0 40% 40% / 0 0 30% 30%; clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%); animation: ts-curtain 12s ease-in-out infinite alternate;
}
.scn-curiosity-tyrant-spies .torch {
  position: absolute; top: 15%; left: 15%; width: 8px; height: 30px; background: linear-gradient(180deg, #8a6a3a 0%, #4a2a0a 100%); border-radius: 2px; box-shadow: 0 0 20px 8px rgba(255,160,40,.5);
}
.scn-curiosity-tyrant-spies .torch::after {
  content: ''; position: absolute; top: -18px; left: -6px; width: 20px; height: 22px; background: radial-gradient(ellipse at 50% 80%, #ffd060 0%, #ff8020 60%, transparent 100%); border-radius: 50%; box-shadow: 0 0 30px 12px rgba(255,128,32,.6); animation: ts-flame 1.5s ease-in-out infinite alternate;
}
@keyframes ts-pillar {
  0% { opacity: .85; } 50% { opacity: 1; } 100% { opacity: .85; }
}
@keyframes ts-tyrant {
  0%,100% { transform: translateX(-50%) scale(1); }
  50% { transform: translateX(-50%) scale(.98) translateY(-2px); }
}
@keyframes ts-spy {
  0% { transform: translateX(0) rotate(0deg); opacity: .7; }
  25% { transform: translateX(-8px) rotate(5deg); opacity: .9; }
  50% { transform: translateX(-4px) rotate(-3deg); opacity: .8; }
  75% { transform: translateX(4px) rotate(2deg); opacity: .9; }
  100% { transform: translateX(0) rotate(0deg); opacity: .7; }
}
@keyframes ts-curtain {
  0% { transform: scaleY(1); } 50% { transform: scaleY(1.05); } 100% { transform: scaleY(1); }
}
@keyframes ts-flame {
  0% { transform: scaleY(.85) rotate(-2deg); }
  50% { transform: scaleY(1.1) rotate(3deg); }
  100% { transform: scaleY(.9) rotate(-1deg); }
}

.scn-curiosity-informers-tribe {
  background: linear-gradient(180deg, #12121f 0%, #1a1a2e 40%, #0a0a15 100%), radial-gradient(ellipse at 50% 60%, #2a2a40 0%, transparent 70%);
}
.scn-curiosity-informers-tribe .bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18,18,31,.8) 0%, transparent 100%);
}
.scn-curiosity-informers-tribe .door {
  position: absolute; left: 30%; right: 30%; bottom: 0; top: 20%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e05 100%); border-radius: 4% 4% 0 0; box-shadow: inset -10px 0 30px rgba(0,0,0,.5); animation: it-door 3s ease-in-out infinite alternate;
}
.scn-curiosity-informers-tribe .crack {
  position: absolute; left: 48%; right: 48%; bottom: 5%; top: 25%; background: linear-gradient(180deg, #ffd080 0%, #ffa040 50%, transparent 100%); border-radius: 1px; box-shadow: 0 0 30px 10px rgba(255,160,64,.4); animation: it-crack 4s ease-in-out infinite alternate; z-index: 2;
}
.scn-curiosity-informers-tribe .figure-curious {
  position: absolute; bottom: 10%; left: 15%; width: 35px; height: 70px; background: linear-gradient(180deg, #1a1a2e 0%, #05050a 100%); border-radius: 45% 45% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: it-curious 6s ease-in-out infinite; z-index: 3;
}
.scn-curiosity-informers-tribe .figure-informer {
  position: absolute; bottom: 10%; right: 20%; width: 30px; height: 65px; background: linear-gradient(180deg, #1a1a2e 0%, #05050a 100%); border-radius: 40% 40% 30% 30% / 55% 55% 40% 40%; transform-origin: bottom center; animation: it-informer 6s ease-in-out infinite 2s; z-index: 3;
}
.scn-curiosity-informers-tribe .hand-covering {
  position: absolute; bottom: 38%; right: 23%; width: 10px; height: 14px; background: radial-gradient(ellipse, #1a1a2e 0%, #05050a 100%); border-radius: 50%; animation: it-hand 3s ease-in-out infinite; z-index: 4;
}
.scn-curiosity-informers-tribe .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 5%; background: rgba(0,0,0,.4); filter: blur(4px); animation: it-shadow 6s ease-in-out infinite;
}
@keyframes it-door {
  0% { transform: scaleX(1); } 50% { transform: scaleX(1.02); } 100% { transform: scaleX(1); }
}
@keyframes it-crack {
  0% { opacity: .6; } 50% { opacity: 1; } 100% { opacity: .7; }
}
@keyframes it-curious {
  0%,100% { transform: translateX(0) translateY(0) rotate(0deg); }
  25% { transform: translateX(3px) translateY(-2px) rotate(3deg); }
  50% { transform: translateX(6px) translateY(0) rotate(-2deg); }
  75% { transform: translateX(3px) translateY(-1px) rotate(1deg); }
}
@keyframes it-informer {
  0%,100% { transform: translateX(0) translateY(0) rotate(0deg); }
  25% { transform: translateX(-2px) translateY(-1px) rotate(-2deg); }
  50% { transform: translateX(0px) translateY(0) rotate(1deg); }
  75% { transform: translateX(-3px) translateY(-2px) rotate(-3deg); }
}
@keyframes it-hand {
  0%,100% { transform: scale(1) rotate(0deg); }
  50% { transform: scale(1.1) rotate(5deg); }
}
@keyframes it-shadow {
  0%,100% { opacity: .3; } 50% { opacity: .5; }
}

.scn-curiosity-fig-informer {
  background: linear-gradient(180deg, #151522 0%, #0a0a1a 40%, #050510 100%), radial-gradient(ellipse at 50% 80%, #2a2a3e 0%, transparent 70%);
}
.scn-curiosity-fig-informer .bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, rgba(21,21,34,.7) 0%, transparent 100%);
}
.scn-curiosity-fig-informer .table {
  position: absolute; bottom: 5%; left: 20%; right: 20%; height: 10%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e05 100%); border-radius: 4% 4% 0 0; box-shadow: 0 -6px 20px rgba(0,0,0,.7);
}
.scn-curiosity-fig-informer .basket {
  position: absolute; bottom: 18%; left: 30%; width: 60px; height: 40px; background: linear-gradient(180deg, #5a3a1a 0%, #3a1a05 100%); border-radius: 30% 30% 40% 40% / 50% 50% 30% 30%; transform: translateX(-50%); box-shadow: inset 0 -4px 8px rgba(0,0,0,.4); animation: fi-basket 7s ease-in-out infinite alternate;
}
.scn-curiosity-fig-informer .fig1 {
  position: absolute; bottom: 25%; left: 32%; width: 14px; height: 16px; background: radial-gradient(ellipse at 50% 60%, #7a4a3a 0%, #4a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: fi-fig 4s ease-in-out infinite;
}
.scn-curiosity-fig-informer .fig2 {
  position: absolute; bottom: 26%; left: 35%; width: 12px; height: 14px; background: radial-gradient(ellipse at 50% 60%, #7a4a3a 0%, #4a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: fi-fig 4s ease-in-out infinite 1.5s;
}
.scn-curiosity-fig-informer .hand {
  position: absolute; bottom: 15%; left: 25%; width: 25px; height: 40px; background: linear-gradient(180deg, #2a1a1a 0%, #0f0505 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: fi-hand 3s ease-in-out infinite; z-index: 2;
}
.scn-curiosity-fig-informer .spy {
  position: absolute; bottom: 10%; right: 10%; width: 25px; height: 55px; background: linear-gradient(180deg, #1a1a2e 0%, #05050a 100%); border-radius: 35% 35% 25% 25% / 55% 55% 40% 40%; transform-origin: bottom center; animation: fi-spy 8s ease-in-out infinite; z-index: 3;
}
.scn-curiosity-fig-informer .lamp {
  position: absolute; top: 10%; left: 20%; width: 12px; height: 30px; background: linear-gradient(180deg, #8a6a3a 0%, #4a2a0a 100%); border-radius: 3px; box-shadow: 0 0 40px 15px rgba(255,160,40,.3); animation: fi-lamp 5s ease-in-out infinite alternate;
}
@keyframes fi-basket {
  0%,100% { transform: scaleY(1); } 50% { transform: scaleY(1.02); }
}
@keyframes fi-fig {
  0%,100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(5deg); }
}
@keyframes fi-hand {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  25% { transform: translateX(8px) translateY(-4px) rotate(8deg); }
  50% { transform: translateX(12px) translateY(0) rotate(3deg); }
  75% { transform: translateX(8px) translateY(-2px) rotate(-2deg); }
  100% { transform: translateX(0) translateY(0) rotate(0deg); }
}
@keyframes fi-spy {
  0%,100% { transform: scaleX(1) translateY(0); }
  50% { transform: scaleX(.95) translateY(-3px); }
}
@keyframes fi-lamp {
  0% { opacity: .6; box-shadow: 0 0 30px 10px rgba(255,160,40,.2); }
  50% { opacity: 1; box-shadow: 0 0 50px 20px rgba(255,160,40,.4); }
  100% { opacity: .7; box-shadow: 0 0 35px 12px rgba(255,160,40,.25); }
}

.scn-bashfulness-prating-fellow{background:linear-gradient(180deg,#1a1a2e 0%,#2a1a3e 50%,#3a2a4e 100%),radial-gradient(ellipse at 70% 80%,#4a3050 0%,transparent 70%)}.scn-bashfulness-prating-fellow .floor{position:absolute;bottom:0;left:0;right:0;height:30%;background:linear-gradient(180deg,#3a2a2a 0%,#1a1a1a 100%)}.scn-bashfulness-prating-fellow .wall{position:absolute;top:0;left:0;right:0;bottom:30%;background:linear-gradient(180deg,#2a1a2a 0%,#1a0a1a 100%)}.scn-bashfulness-prating-fellow .door{position:absolute;bottom:30%;left:10%;width:15%;height:40%;background:linear-gradient(180deg,#4a3a3a 0%,#2a1a1a 100%);border-radius:4% 4% 0 0}.scn-bashfulness-prating-fellow .figure-left{position:absolute;bottom:30%;left:35%;width:10%;height:35%;background:linear-gradient(180deg,#3a3a5a 0%,#1a1a3a 70%);border-radius:50% 50% 40% 40%/60% 60% 40% 40%;animation:bf1-walk 2s ease-in-out infinite}.scn-bashfulness-prating-fellow .figure-right{position:absolute;bottom:30%;right:30%;width:10%;height:35%;background:linear-gradient(180deg,#5a3a2a 0%,#3a1a1a 70%);border-radius:50% 50% 40% 40%/60% 60% 40% 40%;animation:bf1-attack 1.5s ease-in-out infinite}.scn-bashfulness-prating-fellow .lamp{position:absolute;bottom:45%;right:15%;width:4%;height:4%;background:radial-gradient(circle,#f0a050 0%,#c07030 70%);border-radius:50%}.scn-bashfulness-prating-fellow .lamp-glow{position:absolute;bottom:42%;right:13%;width:10%;height:10%;background:radial-gradient(circle,rgba(240,160,80,.5) 0%,transparent 100%);animation:bf1-glow .5s ease-in-out infinite alternate}@keyframes bf1-walk{0%{transform:translateX(0) rotate(-2deg)}50%{transform:translateX(-8%) rotate(2deg)}100%{transform:translateX(0) rotate(-2deg)}}@keyframes bf1-attack{0%{transform:translateX(0) rotate(0)}30%{transform:translateX(-5%) rotate(10deg)}60%{transform:translateX(0) rotate(0)}100%{transform:translateX(2%) rotate(-5deg)}}@keyframes bf1-glow{0%{opacity:.8;box-shadow:0 0 12px 4px #f0a050}50%{opacity:1;box-shadow:0 0 24px 8px #f0a050}100%{opacity:.6;box-shadow:0 0 8px 2px #c07030}}

.scn-bashfulness-demosthenes-lamp{background:linear-gradient(180deg,#2a1a3e 0%,#1a0a2e 50%,#0a051a 100%),radial-gradient(ellipse at 50% 60%,#4a3050 0%,transparent 80%)}.scn-bashfulness-demosthenes-lamp .floor{position:absolute;bottom:0;left:0;right:0;height:35%;background:linear-gradient(180deg,#3a2a4a 0%,#1a0a2a 100%)}.scn-bashfulness-demosthenes-lamp .lamp-pole{position:absolute;bottom:30%;left:50%;width:3%;height:40%;transform:translateX(-50%);background:linear-gradient(90deg,#5a4a3a 0%,#7a6a5a 50%,#5a4a3a 100%);border-radius:10%}.scn-bashfulness-demosthenes-lamp .lamp-head{position:absolute;bottom:65%;left:50%;width:8%;height:8%;transform:translateX(-50%);background:radial-gradient(circle,#f0c060 0%,#c08030 70%);border-radius:50% 50% 20% 20%;box-shadow:0 0 20px 6px #f0c060;animation:bf2-flicker 1.5s ease-in-out infinite}.scn-bashfulness-demosthenes-lamp .speaker{position:absolute;bottom:30%;left:38%;width:12%;height:40%;background:linear-gradient(180deg,#3a2a5a 0%,#1a0a3a 70%);border-radius:50% 50% 40% 40%/60% 60% 40% 40%;transform-origin:bottom center;animation:bf2-speak 2s ease-in-out infinite}.scn-bashfulness-demosthenes-lamp .shadow{position:absolute;bottom:30%;left:55%;width:20%;height:30%;background:rgba(0,0,0,.3);border-radius:50% 50% 20% 20%;filter:blur(6px);animation:bf2-stretch 1.5s ease-in-out infinite alternate}.scn-bashfulness-demosthenes-lamp .crowd-left,.scn-bashfulness-demosthenes-lamp .crowd-right{position:absolute;bottom:35%;width:12%;height:15%;background:radial-gradient(circle at 50% 40%,#2a1a3a 0%,transparent 70%);border-radius:50%;filter:blur(2px);animation:bf2-bob 3s ease-in-out infinite}.scn-bashfulness-demosthenes-lamp .crowd-left{left:15%;animation-delay:-1s}.scn-bashfulness-demosthenes-lamp .crowd-right{right:15%;animation-delay:-2s}@keyframes bf2-flicker{0%{opacity:.8}50%{opacity:1}100%{opacity:.7}}@keyframes bf2-speak{0%{transform:scaleY(1) rotate(0)}25%{transform:scaleY(1.05) rotate(3deg)}75%{transform:scaleY(.95) rotate(-3deg)}100%{transform:scaleY(1) rotate(0)}}@keyframes bf2-stretch{0%{transform:scaleX(1) scaleY(1)}100%{transform:scaleX(1.3) scaleY(.8)}}@keyframes bf2-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}

.scn-bashfulness-king-importune{background:linear-gradient(180deg,#1a0a2a 0%,#2a1a3a 40%,#3a2a4a 100%),radial-gradient(ellipse at 50% 60%,#4a3050 0%,transparent 70%)}.scn-bashfulness-king-importune .backdrop{position:absolute;top:0;left:0;right:0;bottom:30%;background:linear-gradient(180deg,#2a1a3a 0%,#1a0a2a 100%);z-index:0}.scn-bashfulness-king-importune .floor{position:absolute;bottom:0;left:0;right:0;height:30%;background:linear-gradient(180deg,#3a2a3a 0%,#1a0a1a 100%);z-index:1}.scn-bashfulness-king-importune .throne{position:absolute;bottom:30%;left:50%;width:16%;height:40%;transform:translateX(-50%);background:linear-gradient(180deg,#5a4a3a 0%,#3a2a1a 100%);border-radius:30% 30% 10% 10%;box-shadow:0 8px 16px rgba(0,0,0,.4);z-index:2;animation:bf3-breathe 4s ease-in-out infinite}.scn-bashfulness-king-importune .king{position:absolute;bottom:45%;left:50%;width:10%;height:30%;transform:translateX(-50%);background:linear-gradient(180deg,#4a3a4a 0%,#2a1a2a 70%);border-radius:50% 50% 30% 30%/60% 60% 30% 30%;z-index:3;animation:bf3-sway 3s ease-in-out infinite}.scn-bashfulness-king-importune .supplicant{position:absolute;bottom:30%;left:30%;width:8%;height:25%;background:linear-gradient(180deg,#3a2a3a 0%,#1a0a1a 70%);border-radius:50% 50% 40% 40%/60% 60% 40% 40%;transform-origin:bottom center;animation:bf3-bow 2.5s ease-in-out infinite;z-index:3}.scn-bashfulness-king-importune .torch{position:absolute;bottom:35%;right:20%;width:4%;height:15%;background:linear-gradient(180deg,#5a4a3a 0%,#3a2a1a 100%);border-radius:10%;z-index:2}.scn-bashfulness-king-importune .torch-glow{position:absolute;bottom:40%;right:18%;width:12%;height:20%;background:radial-gradient(circle,rgba(240,160,80,.6) 0%,transparent 100%);z-index:1;animation:bf3-flame 1s ease-in-out infinite alternate}@keyframes bf3-breathe{0%,100%{transform:translateX(-50%) scaleY(1)}50%{transform:translateX(-50%) scaleY(1.02)}}@keyframes bf3-sway{0%{transform:translateX(-50%) rotate(0)}50%{transform:translateX(-50%) rotate(2deg)}100%{transform:translateX(-50%) rotate(0)}}@keyframes bf3-bow{0%{transform:translateY(0) rotate(0)}40%{transform:translateY(-10%) rotate(15deg)}80%{transform:translateY(0) rotate(0)}100%{transform:translateY(0) rotate(0)}}@keyframes bf3-flame{0%{opacity:.8;transform:scaleX(1) scaleY(1)}100%{opacity:1;transform:scaleX(1.1) scaleY(1.2)}}

.scn-bashfulness-praise-restraint{background:linear-gradient(180deg,#2a1a3e 0%,#3a2a4e 40%,#1a0a2e 100%),radial-gradient(ellipse at 50% 70%,#4a3050 0%,transparent 70%)}.scn-bashfulness-praise-restraint .curtain-left,.scn-bashfulness-praise-restraint .curtain-right{position:absolute;top:0;width:15%;height:100%;background:linear-gradient(180deg,#5a3a3a 0%,#3a1a1a 70%);border-radius:0 60% 60% 0/0 40% 40% 0;animation:bf4-drape 8s ease-in-out infinite}.scn-bashfulness-praise-restraint .curtain-left{left:0;transform-origin:left top;border-radius:0 60% 60% 0/0 40% 40% 0}.scn-bashfulness-praise-restraint .curtain-right{right:0;transform-origin:right top;border-radius:60% 0 0 60%/40% 0 0 40%;animation-delay:-4s}.scn-bashfulness-praise-restraint .stage{position:absolute;bottom:0;left:15%;right:15%;height:40%;background:linear-gradient(180deg,#4a3a3a 0%,#2a1a1a 100%);border-radius:20% 20% 0 0;z-index:1}.scn-bashfulness-praise-restraint .harper{position:absolute;bottom:30%;left:50%;width:12%;height:40%;transform:translateX(-50%);background:linear-gradient(180deg,#3a3a5a 0%,#1a1a3a 70%);border-radius:50% 50% 40% 40%/60% 60% 40% 40%;z-index:2;animation:bf4-play 4s ease-in-out infinite}.scn-bashfulness-praise-restraint .audience-left,.scn-bashfulness-praise-restraint .audience-right{position:absolute;bottom:25%;width:20%;height:20%;background:radial-gradient(circle at 50% 60%,#2a2a4a 0%,transparent 70%);border-radius:50%;filter:blur(2px);animation:bf4-listen 6s ease-in-out infinite}.scn-bashfulness-praise-restraint .audience-left{left:20%;animation-delay:-2s}.scn-bashfulness-praise-restraint .audience-right{right:20%;animation-delay:-4s}.scn-bashfulness-praise-restraint .background-arch{position:absolute;top:10%;left:25%;right:25%;height:50%;background:radial-gradient(ellipse at 50% 100%,#2a1a3a 0%,transparent 100%);border-radius:50% 50% 0 0;z-index:0;animation:bf4-haze 10s ease-in-out infinite}@keyframes bf4-drape{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.95)}}@keyframes bf4-play{0%{transform:translateX(-50%) rotate(-2deg)}50%{transform:translateX(-50%) rotate(2deg)}100%{transform:translateX(-50%) rotate(-2deg)}}@keyframes bf4-listen{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes bf4-haze{0%,100%{opacity:.6}50%{opacity:.9}}

.scn-seeing-fortune {
  background: linear-gradient(180deg, #b89a6e 0%, #8c6e4a 40%, #5a3e2a 100%), radial-gradient(ellipse at 30% 70%, #d4b896 0%, transparent 70%);
}
.scn-seeing-fortune .sky {
  position: absolute; inset: 0 0 55% 0; background: linear-gradient(180deg, #6d8fa0 0%, #a3c4d4 60%, #f0e8d0 100%); animation: sf-sky 12s ease-in-out infinite alternate;
}
.scn-seeing-fortune .window-frame {
  position: absolute; top: 15%; left: 35%; width: 30%; height: 50%; background: #4a3020; border-radius: 6px 6px 4px 4px; box-shadow: inset 0 0 20px #2a1a0a, 0 8px 16px rgba(0,0,0,0.5); animation: sf-window 8s ease-in-out infinite;
}
.scn-seeing-fortune .window-light {
  position: absolute; top: 18%; left: 37%; width: 26%; height: 44%; background: linear-gradient(135deg, rgba(255,230,180,0.6) 0%, rgba(255,200,120,0.2) 100%); clip-path: polygon(0% 0%, 100% 0%, 85% 100%, 15% 100%); animation: sf-light 5s ease-in-out infinite alternate;
}
.scn-seeing-fortune .figure {
  position: absolute; bottom: 20%; left: 50%; width: 22px; height: 50px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sf-figure 4s ease-in-out infinite;
}
.scn-seeing-fortune .fortune-orb {
  position: absolute; bottom: 35%; right: 20%; width: 20px; height: 20px; background: radial-gradient(circle, #ffd680 0%, #c08040 60%, transparent 100%); border-radius: 50%; box-shadow: 0 0 30px 6px #c08040, 0 0 60px 12px rgba(192,128,64,0.3); animation: sf-orb 3s ease-in-out infinite alternate;
}
.scn-seeing-fortune .stool {
  position: absolute; bottom: 18%; left: 47%; width: 30px; height: 12px; background: linear-gradient(180deg, #5a3e2a 0%, #3a2a1a 100%); border-radius: 10% 10% 20% 20%; box-shadow: 0 4px 6px rgba(0,0,0,0.4); animation: sf-stool 6s ease-in-out infinite;
}
.scn-seeing-fortune .shadow {
  position: absolute; bottom: 16%; left: 40%; width: 60px; height: 8px; background: radial-gradient(ellipse, rgba(0,0,0,0.3) 0%, transparent 100%); animation: sf-shadow 4s ease-in-out infinite;
}
@keyframes sf-sky { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes sf-window { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes sf-light { 0% { opacity: 0.5; transform: skewX(0deg); } 50% { opacity: 1; transform: skewX(-3deg); } 100% { opacity: 0.6; transform: skewX(2deg); } }
@keyframes sf-figure { 0% { transform: translate(0,0) rotate(-1deg); } 25% { transform: translate(3px,-1px) rotate(0deg); } 50% { transform: translate(6px,0) rotate(1deg); } 75% { transform: translate(3px,-1px) rotate(0deg); } 100% { transform: translate(0,0) rotate(-1deg); } }
@keyframes sf-orb { 0% { transform: scale(0.9) rotate(0deg); box-shadow: 0 0 20px 4px #c08040, 0 0 40px 8px rgba(192,128,64,0.2); } 50% { transform: scale(1.1) rotate(10deg); box-shadow: 0 0 40px 10px #ffd060, 0 0 80px 20px rgba(255,208,96,0.4); } 100% { transform: scale(0.95) rotate(-5deg); box-shadow: 0 0 25px 5px #c08040, 0 0 50px 10px rgba(192,128,64,0.3); } }
@keyframes sf-stool { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes sf-shadow { 0%,100% { opacity: 0.4; transform: scaleX(1); } 50% { opacity: 0.6; transform: scaleX(1.1); } }

.scn-senses-ministers {
  background: linear-gradient(180deg, #cab896 0%, #9a7a5a 40%, #5a3e2a 100%), radial-gradient(ellipse at 50% 80%, #ddd0b0 0%, transparent 60%);
}
.scn-senses-ministers .bg-room {
  position: absolute; inset: 0; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.2) 100%); animation: sm-bg 15s ease-in-out infinite alternate;
}
.scn-senses-ministers .window {
  position: absolute; top: 10%; left: 20%; width: 60%; height: 40%; background: #4a3020; border-radius: 8px 8px 4px 4px; box-shadow: inset 0 0 30px #2a1a0a, 0 10px 20px rgba(0,0,0,0.4);
}
.scn-senses-ministers .light-beam {
  position: absolute; top: 12%; left: 22%; width: 56%; height: 36%; background: linear-gradient(135deg, rgba(255,230,180,0.5) 0%, rgba(255,200,120,0.1) 100%); clip-path: polygon(0% 0%, 100% 0%, 90% 100%, 10% 100%); animation: sm-light 6s ease-in-out infinite alternate;
}
.scn-senses-ministers .minister-mind {
  position: absolute; bottom: 25%; left: 50%; width: 24px; height: 55px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 45% 45% 35% 35% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sm-mind 5s ease-in-out infinite;
}
.scn-senses-ministers .minister-sight {
  position: absolute; bottom: 25%; left: 35%; width: 20px; height: 45px; background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: sm-sense 6s ease-in-out infinite 0.5s;
}
.scn-senses-ministers .minister-hearing {
  position: absolute; bottom: 25%; left: 42%; width: 18px; height: 42px; background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: sm-sense 6s ease-in-out infinite 1s;
}
.scn-senses-ministers .minister-taste {
  position: absolute; bottom: 25%; right: 35%; width: 20px; height: 44px; background: linear-gradient(180deg, #3a2a3a 0%, #1a1a2a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: sm-sense 6s ease-in-out infinite 1.5s;
}
.scn-senses-ministers .minister-smell {
  position: absolute; bottom: 25%; right: 42%; width: 18px; height: 40px; background: linear-gradient(180deg, #2a3a3a 0%, #1a2a2a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: sm-sense 6s ease-in-out infinite 2s;
}
@keyframes sm-bg { 0% { opacity: 0.3; } 50% { opacity: 0.5; } 100% { opacity: 0.4; } }
@keyframes sm-light { 0% { opacity: 0.4; transform: skewX(0deg); } 50% { opacity: 1; transform: skewX(-2deg); } 100% { opacity: 0.6; transform: skewX(1deg); } }
@keyframes sm-mind { 0%,100% { transform: translate(-50%,0) rotate(-1deg); } 50% { transform: translate(-50%,-2px) rotate(1deg); } }
@keyframes sm-sense { 0%,100% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } }

.scn-sun-mind {
  background: linear-gradient(180deg, #ffd080 0%, #f0b060 40%, #c08040 100%), radial-gradient(ellipse at 50% 100%, #e0a050 0%, transparent 70%);
}
.scn-sun-mind .sky {
  position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #b0d8f0 0%, #e0f0ff 60%, #ffffff 100%); animation: su-sky 20s ease-in-out infinite alternate;
}
.scn-sun-mind .sun {
  position: absolute; top: 5%; left: 50%; width: 60px; height: 60px; background: radial-gradient(circle, #ffea80 0%, #ffb040 60%, #ff8010 100%); border-radius: 50%; box-shadow: 0 0 50px 20px rgba(255,160,64,0.5); animation: su-sun 10s ease-in-out infinite alternate;
}
.scn-sun-mind .ray-left {
  position: absolute; top: 8%; left: 10%; width: 30%; height: 8px; background: linear-gradient(90deg, transparent 0%, rgba(255,200,100,0.4) 50%, transparent 100%); transform: rotate(-20deg); transform-origin: right center; animation: su-ray 8s linear infinite;
}
.scn-sun-mind .ray-right {
  position: absolute; top: 8%; right: 10%; width: 30%; height: 8px; background: linear-gradient(270deg, transparent 0%, rgba(255,200,100,0.4) 50%, transparent 100%); transform: rotate(20deg); transform-origin: left center; animation: su-ray 8s linear infinite reverse;
}
.scn-sun-mind .figure {
  position: absolute; bottom: 20%; left: 50%; width: 30px; height: 70px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 45% 45% 35% 35% / 60% 60% 40% 40%; transform-origin: bottom center; animation: su-figure 6s ease-in-out infinite;
}
.scn-sun-mind .head-glow {
  position: absolute; bottom: 66%; left: 50%; width: 30px; height: 30px; transform: translate(-50%, 0); background: radial-gradient(circle, #ffd080 0%, rgba(255,200,100,0.3) 60%, transparent 100%); border-radius: 50%; box-shadow: 0 0 40px 10px #ffd080, 0 0 80px 20px rgba(255,208,128,0.3); animation: su-glow 4s ease-in-out infinite alternate;
}
.scn-sun-mind .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius: 30% 70% 0 0 / 50% 50% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,0.5); animation: su-ground 12s ease-in-out infinite alternate;
}
@keyframes su-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes su-sun { 0% { transform: scale(0.95); } 50% { transform: scale(1.05); } 100% { transform: scale(0.98); } }
@keyframes su-ray { 0% { opacity: 0; } 25% { opacity: 0.6; } 50% { opacity: 0.8; } 75% { opacity: 0.6; } 100% { opacity: 0; } }
@keyframes su-figure { 0% { transform: translate(-50%,0) rotate(-1deg); } 25% { transform: translate(-50%,-1px) rotate(0deg); } 50% { transform: translate(-50%,0) rotate(1deg); } 75% { transform: translate(-50%,-1px) rotate(0deg); } 100% { transform: translate(-50%,0) rotate(-1deg); } }
@keyframes su-glow { 0% { opacity: 0.7; transform: translate(-50%,0) scale(0.9); } 50% { opacity: 1; transform: translate(-50%,-3px) scale(1.1); } 100% { opacity: 0.8; transform: translate(-50%,0) scale(0.95); } }
@keyframes su-ground { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }

.scn-prometheus-reason {
  background: linear-gradient(180deg, #b88a5a 0%, #8a6040 40%, #4a3020 100%), radial-gradient(ellipse at 40% 50%, #d4a060 0%, transparent 70%);
}
.scn-prometheus-reason .bg-chamber {
  position: absolute; inset: 0; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.3) 100%); animation: pr-bg 18s ease-in-out infinite alternate;
}
.scn-prometheus-reason .window {
  position: absolute; top: 10%; left: 30%; width: 40%; height: 45%; background: #3a2a1a; border-radius: 8px 8px 4px 4px; box-shadow: inset 0 0 30px #1a0a00, 0 8px 16px rgba(0,0,0,0.5); animation: pr-window 10s ease-in-out infinite;
}
.scn-prometheus-reason .figure {
  position: absolute; bottom: 20%; left: 40%; width: 26px; height: 60px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pr-figure 5s ease-in-out infinite;
}
.scn-prometheus-reason .torch {
  position: absolute; bottom: 45%; left: 52%; width: 10px; height: 35px; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius: 20% 20% 10% 10%; transform: rotate(15deg); transform-origin: bottom center; animation: pr-torch 4s ease-in-out infinite alternate;
}
.scn-prometheus-reason .flame {
  position: absolute; bottom: 68%; left: 52%; width: 16px; height: 20px; background: radial-gradient(circle at 50% 100%, #ffc040 0%, #ff8020 40%, #ff4000 70%, transparent 100%); border-radius: 50% 50% 20% 20%; transform: rotate(-5deg); box-shadow: 0 0 30px 8px #ff8020, 0 0 60px 15px rgba(255,128,32,0.4); animation: pr-flame 1s steps(4) infinite alternate;
}
.scn-prometheus-reason .light-halo {
  position: absolute; bottom: 55%; left: 45%; width: 60px; height: 60px; background: radial-gradient(circle, rgba(255,200,100,0.3) 0%, transparent 70%); border-radius: 50%; animation: pr-halo 4s ease-in-out infinite alternate;
}
.scn-prometheus-reason .shadow {
  position: absolute; bottom: 18%; left: 35%; width: 80px; height: 10px; background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 100%); animation: pr-shadow 5s ease-in-out infinite;
}
@keyframes pr-bg { 0% { opacity: 0.2; } 50% { opacity: 0.5; } 100% { opacity: 0.3; } }
@keyframes pr-window { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes pr-figure { 0% { transform: translate(-50%,0) rotate(-1deg); } 25% { transform: translate(-50%,-1px) rotate(0deg); } 50% { transform: translate(-50%,0) rotate(2deg); } 75% { transform: translate(-50%,-1px) rotate(0deg); } 100% { transform: translate(-50%,0) rotate(-1deg); } }
@keyframes pr-torch { 0% { transform: rotate(10deg); } 100% { transform: rotate(20deg); } }
@keyframes pr-flame { 0% { transform: scaleY(0.9) rotate(-5deg); opacity: 0.8; } 50% { transform: scaleY(1.2) rotate(3deg); opacity: 1; } 100% { transform: scaleY(0.8) rotate(-2deg); opacity: 0.9; } }
@keyframes pr-halo { 0% { opacity: 0.2; transform: scale(0.8); } 50% { opacity: 0.6; transform: scale(1.1); } 100% { opacity: 0.3; transform: scale(0.9); } }
@keyframes pr-shadow { 0%,100% { opacity: 0.3; transform: scaleX(1); } 50% { opacity: 0.5; transform: scaleX(1.2); } }

/* index-eurydice */
.scn-index-eurydice { background: linear-gradient(180deg, #2c1e14 0%, #1a120c 50%, #0e0a06 100%), radial-gradient(ellipse at 50% 0%, #3a2a1c 0%, transparent 70%); }
.scn-index-eurydice .backwall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #3a2a1c, #1a120c); }
.scn-index-eurydice .floor   { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a1e17, #1a120c); }
.scn-index-eurydice .window  { position:absolute; top:10%; right:10%; width:25%; height:40%; background: linear-gradient(180deg, #1a2a44, #0a1a3a); border:2px solid #5a4a3a; box-shadow:inset 0 0 20px #2a3a5a; animation:si-eu-window 8s ease-in-out infinite alternate; }
.scn-index-eurydice .chair   { position:absolute; bottom:30%; left:20%; width:20%; height:40%; background: linear-gradient(180deg, #4a3a2a, #2a1a0a); border-radius:10% 10% 5% 5%; animation:si-eu-chair 6s ease-in-out infinite; }
.scn-index-eurydice .figure  { position:absolute; bottom:30%; left:22%; width:10%; height:35%; background: linear-gradient(180deg, #1a1a2a, #0a0a1a); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation:si-eu-figure 6s ease-in-out infinite; }
.scn-index-eurydice .lamp    { position:absolute; bottom:35%; left:15%; width:4%; height:6%; background: radial-gradient(circle, #d4a86a, #b08040); border-radius:50%; box-shadow:0 0 20px 10px rgba(212,168,106,.6); animation:si-eu-lamp 4s ease-in-out infinite alternate; }
.scn-index-eurydice .book    { position:absolute; bottom:32%; left:25%; width:8%; height:2%; background:#5a3a2a; border-radius:4px; animation:si-eu-book 10s ease-in-out infinite; }
@keyframes si-eu-window { 0% { background: #1a2a44; box-shadow:inset 0 0 20px #2a3a5a; } 50% { background: #2a3a5a; box-shadow:inset 0 0 30px #4a6a8a; } 100% { background: #1a2a44; box-shadow:inset 0 0 20px #2a3a5a; } }
@keyframes si-eu-chair  { 0% { transform:translateY(0); } 50% { transform:translateY(-2px); } 100% { transform:translateY(0); } }
@keyframes si-eu-figure { 0% { transform:scaleY(1); } 50% { transform:scaleY(1.02); } 100% { transform:scaleY(1); } }
@keyframes si-eu-lamp   { 0% { box-shadow:0 0 15px 5px rgba(212,168,106,.5); opacity:0.8; } 50% { box-shadow:0 0 25px 10px rgba(212,168,106,.8); opacity:1; } 100% { box-shadow:0 0 15px 5px rgba(212,168,106,.5); opacity:0.8; } }
@keyframes si-eu-book   { 0% { transform:translateX(0); } 50% { transform:translateX(1px); } 100% { transform:translateX(0); } }

/* index-flattery */
.scn-index-flattery { background: linear-gradient(180deg, #2c1e14, #1a120c), radial-gradient(ellipse at 50% 100%, #2a1e17 0%, transparent 70%); }
.scn-index-flattery .backwall  { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a1e17, #1a120c); }
.scn-index-flattery .floor     { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a1e17, #1a120c); }
.scn-index-flattery .desk      { position:absolute; bottom:30%; left:10%; width:35%; height:20%; background: linear-gradient(180deg, #4a3a2a, #2a1a0a); border-radius:4px; box-shadow:0 4px 8px rgba(0,0,0,.5); }
.scn-index-flattery .figure    { position:absolute; bottom:30%; left:15%; width:12%; height:35%; background: linear-gradient(180deg, #1a1a2a, #0a0a1a); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation:si-fl-figure 6s ease-in-out infinite; }
.scn-index-flattery .candle    { position:absolute; bottom:40%; left:18%; width:3%; height:10%; background: linear-gradient(180deg, #d4a86a, #8a6a3a); border-radius:2px; box-shadow:0 0 15px 5px rgba(212,168,106,.6); animation:si-fl-candle 5s ease-in-out infinite alternate; }
.scn-index-flattery .scroll    { position:absolute; bottom:35%; left:30%; width:8%; height:3%; background:#b8966a; border-radius:2px; animation:si-fl-scroll 12s ease-in-out infinite; }
.scn-index-flattery .bookshelf { position:absolute; top:10%; left:10%; width:20%; height:40%; background: linear-gradient(180deg, #3a2a1c, #1a120c); border:2px solid #4a3a2a; animation:si-fl-shelf 20s ease-in-out infinite alternate; }
@keyframes si-fl-figure { 0% { transform:scaleY(1); } 50% { transform:scaleY(1.02); } 100% { transform:scaleY(1); } }
@keyframes si-fl-candle { 0% { box-shadow:0 0 12px 3px rgba(212,168,106,.4); opacity:0.9; } 50% { box-shadow:0 0 20px 8px rgba(212,168,106,.7); opacity:1; } 100% { box-shadow:0 0 12px 3px rgba(212,168,106,.4); opacity:0.9; } }
@keyframes si-fl-scroll { 0% { transform:rotate(0deg); } 50% { transform:rotate(2deg); } 100% { transform:rotate(0deg); } }
@keyframes si-fl-shelf  { 0% { background: #3a2a1c; } 50% { background: #2a1a0a; } 100% { background: #3a2a1c; } }

/* index-gorgo */
.scn-index-gorgo { background: linear-gradient(180deg, #2c1e14, #1a120c), radial-gradient(ellipse at 50% 80%, #3a2a1c 0%, transparent 70%); }
.scn-index-gorgo .backwall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a1e17, #1a120c); }
.scn-index-gorgo .floor    { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a1e17, #1a120c); }
.scn-index-gorgo .mantel   { position:absolute; bottom:40%; left:35%; width:30%; height:10%; background: linear-gradient(180deg, #4a3a2a, #2a1a0a); border-radius:4px; box-shadow:0 4px 8px rgba(0,0,0,.5); }
.scn-index-gorgo .fire     { position:absolute; bottom:30%; left:42%; width:16%; height:20%; background: radial-gradient(ellipse at 50% 100%, #d4753a, #8a4a2a, transparent); border-radius:50% 50% 20% 20%; animation:si-go-fire 6s ease-in-out infinite alternate; }
.scn-index-gorgo .figure   { position:absolute; bottom:30%; left:30%; width:10%; height:35%; background: linear-gradient(180deg, #1a1a2a, #0a0a1a); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation:si-go-figure 6s ease-in-out infinite; }
.scn-index-gorgo .chair    { position:absolute; bottom:30%; right:20%; width:20%; height:25%; background: linear-gradient(180deg, #4a3a2a, #2a1a0a); border-radius:10% 10% 5% 5%; animation:si-go-chair 8s ease-in-out infinite; }
.scn-index-gorgo .cup      { position:absolute; bottom:35%; right:25%; width:4%; height:6%; background:#8a6a3a; border-radius:50%; box-shadow:0 2px 4px rgba(0,0,0,.5); animation:si-go-cup 10s ease-in-out infinite; }
@keyframes si-go-fire   { 0% { transform:scale(1); opacity:.85; } 50% { transform:scale(1.05); opacity:1; } 100% { transform:scale(1); opacity:.85; } }
@keyframes si-go-figure { 0% { transform:scaleY(1); } 50% { transform:scaleY(1.02); } 100% { transform:scaleY(1); } }
@keyframes si-go-chair  { 0% { transform:translateY(0) rotate(0deg); } 50% { transform:translateY(-1px) rotate(-1deg); } 100% { transform:translateY(0) rotate(0deg); } }
@keyframes si-go-cup    { 0% { transform:translateX(0); } 50% { transform:translateX(1px); } 100% { transform:translateX(0); } }

/* index-herodotus */
.scn-index-herodotus { background: linear-gradient(180deg, #2c1e14, #1a120c), radial-gradient(ellipse at 50% 0%, #2a1e17 0%, transparent 70%); }
.scn-index-herodotus .backwall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a1e17, #1a120c); }
.scn-index-herodotus .floor    { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a1e17, #1a120c); }
.scn-index-herodotus .shelf    { position:absolute; top:10%; left:10%; width:80%; height:15%; background: linear-gradient(180deg, #3a2a1c, #2a1a0a); border:2px solid #4a3a2a; animation:si-he-shelf 15s ease-in-out infinite alternate; }
.scn-index-herodotus .desk     { position:absolute; bottom:30%; left:10%; width:60%; height:20%; background: linear-gradient(180deg, #4a3a2a, #2a1a0a); border-radius:4px; box-shadow:0 4px 8px rgba(0,0,0,.5); }
.scn-index-herodotus .figure   { position:absolute; bottom:30%; left:25%; width:12%; height:35%; background: linear-gradient(180deg, #1a1a2a, #0a0a1a); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation:si-he-figure 6s ease-in-out infinite; }
.scn-index-herodotus .lamp     { position:absolute; bottom:47%; left:30%; width:4%; height:8%; background: radial-gradient(circle, #d4a86a, #b08040); border-radius:50%; box-shadow:0 0 20px 10px rgba(212,168,106,.6); animation:si-he-lamp 4s ease-in-out infinite alternate; }
.scn-index-herodotus .scrolls  { position:absolute; bottom:35%; left:15%; width:10%; height:5%; background:#b8966a; border-radius:2px; animation:si-he-scrolls 12s ease-in-out infinite; }
@keyframes si-he-shelf   { 0% { background: #3a2a1c; } 50% { background: #2a1a0a; } 100% { background: #3a2a1c; } }
@keyframes si-he-figure  { 0% { transform:scaleY(1); } 50% { transform:scaleY(1.02); } 100% { transform:scaleY(1); } }
@keyframes si-he-lamp    { 0% { box-shadow:0 0 15px 5px rgba(212,168,106,.5); opacity:0.8; } 50% { box-shadow:0 0 25px 10px rgba(212,168,106,.8); opacity:1; } 100% { box-shadow:0 0 15px 5px rgba(212,168,106,.5); opacity:0.8; } }
@keyframes si-he-scrolls { 0% { transform:rotate(0deg); } 50% { transform:rotate(2deg); } 100% { transform:rotate(0deg); } }

.scn-poseidon-storm {
  background: linear-gradient(180deg, #0a0a1a 0%, #1a1a3e 40%, #14143a 100%),
              radial-gradient(ellipse at 50% 120%, #2a2a5e 0%, transparent 70%);
}
.scn-poseidon-storm .cloud-a {
  position: absolute; top: 5%; left: -20%; width: 150%; height: 60%;
  background: radial-gradient(ellipse, rgba(255,255,255,0.12) 0%, transparent 70%);
  filter: blur(30px);
  animation: ps-cloud-a 30s linear infinite;
}
.scn-poseidon-storm .cloud-b {
  position: absolute; top: 15%; left: -10%; width: 120%; height: 40%;
  background: radial-gradient(ellipse, rgba(255,255,255,0.08) 0%, transparent 60%);
  filter: blur(40px);
  animation: ps-cloud-b 45s linear infinite reverse;
}
.scn-poseidon-storm .lightning {
  position: absolute; top: 10%; left: 30%; width: 4px; height: 180px;
  background: linear-gradient(180deg, #fff0c0 0%, #ffd060 50%, transparent 100%);
  border-radius: 50%; box-shadow: 0 0 60px 20px rgba(255,208,96,0.3);
  opacity: 0; animation: ps-lightning 4s ease-in-out infinite;
}
.scn-poseidon-storm .wave-1 {
  position: absolute; bottom: 0; left: -10%; width: 120%; height: 35%;
  background: linear-gradient(180deg, #1a2a4a 0%, #0a1a3a 100%);
  border-radius: 40% 60% 0 0 / 100% 100% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.5);
  animation: ps-wave-1 8s ease-in-out infinite alternate;
}
.scn-poseidon-storm .wave-2 {
  position: absolute; bottom: -5%; left: 0; width: 100%; height: 30%;
  background: linear-gradient(180deg, #102040 0%, #08081a 100%);
  border-radius: 30% 70% 0 0 / 80% 120% 0 0;
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.6);
  animation: ps-wave-2 10s ease-in-out infinite alternate;
}
.scn-poseidon-storm .ship {
  position: absolute; bottom: 12%; left: 45%; width: 60px; height: 30px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 40% 40% 10% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  transform-origin: bottom center;
  animation: ps-ship 6s ease-in-out infinite;
}
.scn-poseidon-storm .ship::before {
  content: ''; position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%);
  width: 2px; height: 40px; background: #1a1a2a; border-radius: 0;
}
.scn-poseidon-storm .ship::after {
  content: ''; position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%);
  width: 24px; height: 20px; background: linear-gradient(135deg, #2a2a3e 0%, #0a0a1a 100%);
  border-radius: 0 50% 50% 0;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.scn-poseidon-storm .rain {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  background: repeating-linear-gradient(
    90deg,
    transparent 0px,
    transparent 4px,
    rgba(255,255,255,0.08) 4px,
    rgba(255,255,255,0.08) 5px
  );
  animation: ps-rain 0.8s linear infinite;
}
@keyframes ps-cloud-a {
  0% { transform: translateX(0) scale(1); }
  50% { transform: translateX(40%) scale(1.02); }
  100% { transform: translateX(80%) scale(0.98); }
}
@keyframes ps-cloud-b {
  0% { transform: translateX(0) scale(0.95); }
  50% { transform: translateX(-30%) scale(1.05); }
  100% { transform: translateX(-60%) scale(0.98); }
}
@keyframes ps-lightning {
  0% { opacity: 0; }
  2% { opacity: 1; box-shadow: 0 0 80px 30px rgba(255,208,96,0.6); }
  4% { opacity: 0; }
  6% { opacity: 0.8; box-shadow: 0 0 40px 15px rgba(255,208,96,0.4); }
  8% { opacity: 0; }
  100% { opacity: 0; }
}
@keyframes ps-wave-1 {
  0% { transform: translateX(0) scaleY(1); }
  50% { transform: translateX(5%) scaleY(1.02); }
  100% { transform: translateX(10%) scaleY(1.05); }
}
@keyframes ps-wave-2 {
  0% { transform: translateX(0) scaleY(1); }
  50% { transform: translateX(-3%) scaleY(0.98); }
  100% { transform: translateX(-6%) scaleY(1.03); }
}
@keyframes ps-ship {
  0% { transform: translateX(0) rotate(-2deg); }
  25% { transform: translateX(4px) rotate(3deg); }
  50% { transform: translateX(0) rotate(-1deg); }
  75% { transform: translateX(-4px) rotate(2deg); }
  100% { transform: translateX(0) rotate(-2deg); }
}
@keyframes ps-rain {
  0% { background-position: 0 0; }
  100% { background-position: -3px 100%; }
}

/* crates-theban */
.scn-crates-theban {
  background: linear-gradient(180deg, #2a2a1a 0%, #3a3a2a 40%, #4a4a3a 100%),
              radial-gradient(ellipse at 50% 60%, #5a5a4a 0%, transparent 70%);
  box-shadow: inset 0 0 80px rgba(0,0,0,0.3);
}
.scn-crates-theban .window-light {
  position: absolute; top: 10%; left: 10%; width: 30%; height: 50%;
  background: radial-gradient(ellipse at center, #ffe0a0 0%, #d0b070 60%, transparent 100%);
  border-radius: 0; filter: blur(12px);
  animation: ct-window-light 5s ease-in-out infinite alternate;
}
.scn-crates-theban .window-frame {
  position: absolute; top: 10%; left: 10%; width: 30%; height: 50%;
  border: 4px solid #2a2a1a; border-radius: 2px;
  background: none;
  animation: ct-frame 5s ease-in-out infinite alternate;
}
.scn-crates-theban .figure-cloak {
  position: absolute; bottom: 20%; left: 40%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ct-figure 7s ease-in-out infinite;
}
.scn-crates-theban .table {
  position: absolute; bottom: 10%; left: 35%; width: 90px; height: 14px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: ct-table 12s ease-in-out infinite;
}
.scn-crates-theban .chair {
  position: absolute; bottom: 15%; left: 52%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 20% 20% 10% 10%;
  transform: rotate(-5deg);
  animation: ct-chair 10s ease-in-out infinite alternate;
}
.scn-crates-theban .candle {
  position: absolute; bottom: 30%; left: 38%; width: 6px; height: 14px;
  background: linear-gradient(180deg, #ffe0a0 0%, #d0b070 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 20px 8px rgba(255,200,80,0.6);
  animation: ct-candle 3s ease-in-out infinite alternate;
}
.scn-crates-theban .floor {
  position: absolute; bottom: 0; left: 0; width: 100%; height: 12%;
  background: linear-gradient(0deg, #2a2a1a 0%, #3a3a2a 100%);
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.3);
}
@keyframes ct-window-light {
  0% { transform: scale(1); filter: blur(12px); opacity: 0.8; }
  50% { transform: scale(1.02); filter: blur(14px); opacity: 1; }
  100% { transform: scale(0.98); filter: blur(10px); opacity: 0.85; }
}
@keyframes ct-frame {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes ct-figure {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(2px) rotate(-2deg) scale(1.01); }
  50% { transform: translateX(0) rotate(1deg); }
  75% { transform: translateX(-2px) rotate(-1deg) scale(0.99); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes ct-table {
  0% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
  100% { transform: translateY(0); }
}
@keyframes ct-chair {
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-1px); }
  100% { transform: rotate(-5deg) translateY(0); }
}
@keyframes ct-candle {
  0% { transform: scaleY(1) rotate(-2deg); opacity: 0.8; }
  50% { transform: scaleY(1.05) rotate(2deg); opacity: 1; }
  100% { transform: scaleY(1) rotate(-2deg); opacity: 0.85; }
}

/* philoxenus-colony */
.scn-philoxenus-colony {
  background: linear-gradient(180deg, #1a2a3a 0%, #2a3a4a 40%, #3a4a5a 100%),
              radial-gradient(ellipse at 50% 30%, #4a5a6a 0%, transparent 70%);
}
.scn-philoxenus-colony .window-light {
  position: absolute; top: 8%; left: 15%; width: 35%; height: 55%;
  background: radial-gradient(ellipse at center, #ffe0a0 0%, #d0b070 60%, transparent 100%);
  border-radius: 0; filter: blur(10px);
  animation: pc-window-light 6s ease-in-out infinite alternate;
}
.scn-philoxenus-colony .landscape-sky {
  position: absolute; top: 8%; left: 15%; width: 35%; height: 55%;
  background: linear-gradient(180deg, #3a5a7a 0%, #5a7a9a 100%);
  border-radius: 0;
  clip-path: inset(0 0 50% 0);
  animation: pc-sky 20s linear infinite;
}
.scn-philoxenus-colony .landscape-hills {
  position: absolute; top: 30%; left: 15%; width: 35%; height: 35%;
  background: linear-gradient(180deg, #4a6a4a 0%, #3a5a3a 100%);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  animation: pc-hills 15s ease-in-out infinite alternate;
}
.scn-philoxenus-colony .couch {
  position: absolute; bottom: 15%; left: 30%; width: 100px; height: 40px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 30% 30%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  transform: rotate(-3deg);
  animation: pc-couch 12s ease-in-out infinite;
}
.scn-philoxenus-colony .poet {
  position: absolute; bottom: 20%; left: 38%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pc-poet 8s ease-in-out infinite;
}
.scn-philoxenus-colony .scroll {
  position: absolute; bottom: 22%; left: 45%; width: 16px; height: 20px;
  background: linear-gradient(135deg, #d0b070 0%, #b09050 100%);
  border-radius: 20% 20% 10% 10%;
  transform: rotate(15deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: pc-scroll 10s ease-in-out infinite alternate;
}
.scn-philoxenus-colony .lamp {
  position: absolute; bottom: 25%; left: 55%; width: 8px; height: 18px;
  background: linear-gradient(180deg, #ffe0a0 0%, #d0b070 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 24px 8px rgba(255,200,80,0.5);
  animation: pc-lamp 4s ease-in-out infinite alternate;
}
@keyframes pc-window-light {
  0% { opacity: 0.7; transform: scale(0.98); }
  50% { opacity: 1; transform: scale(1.02); }
  100% { opacity: 0.8; transform: scale(1); }
}
@keyframes pc-sky {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes pc-hills {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-2px) scaleY(1.02); }
  100% { transform: translateY(0) scaleY(0.98); }
}
@keyframes pc-couch {
  0% { transform: rotate(-3deg) translateY(0); }
  50% { transform: rotate(-1deg) translateY(-1px); }
  100% { transform: rotate(-3deg) translateY(0); }
}
@keyframes pc-poet {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(2px) rotate(-2deg); }
  50% { transform: translateX(0) rotate(1deg); }
  75% { transform: translateX(-2px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes pc-scroll {
  0% { transform: rotate(15deg) translateY(0); }
  50% { transform: rotate(10deg) translateY(-2px); }
  100% { transform: rotate(15deg) translateY(0); }
}
@keyframes pc-lamp {
  0% { transform: scaleY(1) rotate(-3deg); opacity: 0.7; }
  50% { transform: scaleY(1.1) rotate(3deg); opacity: 1; }
  100% { transform: scaleY(1) rotate(-3deg); opacity: 0.8; }
}

/* debtors-harpies */
.scn-debtors-harpies {
  background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2a 40%, #0a0a1a 100%),
              radial-gradient(ellipse at 50% 50%, #1a1a3a 0%, transparent 80%);
  box-shadow: inset 0 0 120px rgba(0,0,0,0.6);
}
.scn-debtors-harpies .cave-wall {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(
    45deg,
    transparent 0px,
    transparent 20px,
    rgba(255,255,255,0.02) 20px,
    rgba(255,255,255,0.02) 21px
  );
  animation: dh-cave-wall 30s linear infinite;
}
.scn-debtors-harpies .table {
  position: absolute; bottom: 20%; left: 30%; width: 80px; height: 10px;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0a00 100%);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: dh-table 10s ease-in-out infinite;
}
.scn-debtors-harpies .figure {
  position: absolute; bottom: 18%; left: 35%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #1a0a0a 0%, #0a0000 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dh-figure 8s ease-in-out infinite;
}
.scn-debtors-harpies .harpy-1 {
  position: absolute; top: 10%; left: 20%; width: 50px; height: 30px;
  background: linear-gradient(135deg, #2a2a3a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 0 0;
  clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%);
  transform: rotate(15deg);
  animation: dh-harpy-1 5s ease-in-out infinite alternate;
}
.scn-debtors-harpies .harpy-2 {
  position: absolute; top: 15%; left: 60%; width: 45px; height: 28px;
  background: linear-gradient(135deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 0 0;
  clip-path: polygon(0 0, 100% 0, 75% 100%, 25% 100%);
  transform: rotate(-20deg);
  animation: dh-harpy-2 6s ease-in-out infinite alternate;
}
.scn-debtors-harpies .food-bowl {
  position: absolute; bottom: 22%; left: 40%; width: 14px; height: 8px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  animation: dh-bowl 4s ease-in-out infinite;
}
.scn-debtors-harpies .mist {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 80%, rgba(255,255,255,0.05) 0%, transparent 70%);
  filter: blur(30px);
  animation: dh-mist 12s ease-in-out infinite alternate;
}
@keyframes dh-cave-wall {
  0% { background-position: 0 0; }
  100% { background-position: 40px 40px; }
}
@keyframes dh-table {
  0% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
  100% { transform: translateY(0); }
}
@keyframes dh-figure {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(2px) rotate(-2deg); }
  50% { transform: translateX(0) rotate(1deg); }
  75% { transform: translateX(-2px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes dh-harpy-1 {
  0% { transform: rotate(15deg) translateY(0) scale(1); }
  50% { transform: rotate(10deg) translateY(10%) scale(0.95); }
  100% { transform: rotate(20deg) translateY(0) scale(1); }
}
@keyframes dh-harpy-2 {
  0% { transform: rotate(-20deg) translateY(0) scale(1); }
  50% { transform: rotate(-15deg) translateY(12%) scale(0.95); }
  100% { transform: rotate(-25deg) translateY(0) scale(1); }
}
@keyframes dh-bowl {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes dh-mist {
  0% { opacity: 0.3; }
  50% { opacity: 0.6; }
  100% { opacity: 0.2; }
}

.scn-ship-storms-friendship-test {
  background: linear-gradient(135deg, #2a1a12 0%, #1a0a05 40%, #0d0502 100%),
              radial-gradient(ellipse at 50% 70%, #3a2a1a 0%, transparent 60%);
}
.scn-ship-storms-friendship-test .cabin-wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a1a12 0%, #1a0a05 50%, #0d0502 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.8);
  animation: sf-sway 8s ease-in-out infinite alternate;
}
.scn-ship-storms-friendship-test .cabin-window {
  position: absolute; top: 15%; left: 30%; width: 120px; height: 80px;
  background: linear-gradient(135deg, #0a1a2a 0%, #05101a 50%, #02080d 100%);
  border: 4px solid #3a2a1a; border-radius: 8px;
  box-shadow: inset 0 0 20px rgba(255,255,255,0.1);
  animation: sf-window 8s ease-in-out infinite alternate;
}
.scn-ship-storms-friendship-test .rain-streak {
  position: absolute; top: 0; left: -10px; width: 2px; height: 100%;
  background: rgba(255,255,255,0.2);
  box-shadow: 40px 20px 0 rgba(255,255,255,0.15), 80px 10px 0 rgba(255,255,255,0.1),
              120px 30px 0 rgba(255,255,255,0.2), 160px 50px 0 rgba(255,255,255,0.15),
              200px 15px 0 rgba(255,255,255,0.1);
  animation: sf-rain 0.8s linear infinite;
}
.scn-ship-storms-friendship-test .ship-lantern {
  position: absolute; bottom: 40%; left: 60%;
  width: 30px; height: 40px;
  background: radial-gradient(circle, #ffd080 0%, #c08030 60%, transparent 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 30px 10px rgba(255,200,80,0.4), 0 0 60px 20px rgba(255,200,80,0.2);
  animation: sf-lantern 3s ease-in-out infinite alternate;
}
.scn-ship-storms-friendship-test .cabin-table {
  position: absolute; bottom: 10%; left: 10%; right: 10%; height: 20%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 4px;
  box-shadow: 0 -5px 15px rgba(0,0,0,0.5);
  animation: sf-table 8s ease-in-out infinite alternate;
}
.scn-ship-storms-friendship-test .sea-map {
  position: absolute; bottom: 18%; left: 30%; width: 80px; height: 50px;
  background: linear-gradient(135deg, #5a4a3a 0%, #4a3a2a 50%, #3a2a1a 100%);
  border-radius: 2px;
  transform: skewX(-10deg) rotate(5deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.6);
  animation: sf-map 8s ease-in-out infinite alternate;
}
.scn-ship-storms-friendship-test .figure-stand {
  position: absolute; bottom: 30%; left: 25%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #0a0a0a 0%, #050505 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: sf-figure 8s ease-in-out infinite alternate;
}
.scn-ship-storms-friendship-test .storm-flash {
  position: absolute; inset: 0;
  background: rgba(255,255,255,0.3);
  pointer-events: none;
  animation: sf-flash 5s ease-in-out infinite;
}
@keyframes sf-sway {
  0% { transform: rotate(-1deg); }
  50% { transform: rotate(0deg); }
  100% { transform: rotate(1deg); }
}
@keyframes sf-window {
  0% { opacity: 0.8; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.02); }
  100% { opacity: 0.9; transform: scale(0.98); }
}
@keyframes sf-rain {
  0% { transform: translateY(-100vh); }
  100% { transform: translateY(100vh); }
}
@keyframes sf-lantern {
  0% { transform: scale(0.95) rotate(-2deg); opacity: 0.8; box-shadow: 0 0 20px 5px rgba(255,200,80,0.3); }
  50% { transform: scale(1.05) rotate(2deg); opacity: 1; box-shadow: 0 0 40px 15px rgba(255,200,80,0.5); }
  100% { transform: scale(0.98) rotate(0deg); opacity: 0.9; box-shadow: 0 0 25px 8px rgba(255,200,80,0.4); }
}
@keyframes sf-table {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes sf-map {
  0% { transform: skewX(-10deg) rotate(5deg) translateY(0); }
  50% { transform: skewX(-12deg) rotate(8deg) translateY(-3px); }
  100% { transform: skewX(-10deg) rotate(5deg) translateY(0); }
}
@keyframes sf-figure {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-4px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes sf-flash {
  0%, 100% { opacity: 0; }
  10% { opacity: 0.8; }
  15% { opacity: 0; }
  30% { opacity: 0.6; }
  35% { opacity: 0; }
}

.scn-not-lightly-strike-up-friendship {
  background: linear-gradient(135deg, #0a1220 0%, #121a2a 40%, #081018 100%),
              radial-gradient(ellipse at 50% 80%, #1a2a3a 0%, transparent 60%);
}
.scn-not-lightly-strike-up-friendship .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #0a1220 0%, #121a2a 50%, #0a0e15 100%);
  box-shadow: inset 0 0 80px rgba(0,0,0,0.6);
}
.scn-not-lightly-strike-up-friendship .window-night {
  position: absolute; top: 10%; left: 10%; width: 100px; height: 140px;
  background: linear-gradient(135deg, #0a1a2a 0%, #020810 100%);
  border: 3px solid #2a3a4a;
  border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(100,150,200,0.1);
  animation: nf-window 12s ease-in-out infinite alternate;
}
.scn-not-lightly-strike-up-friendship .moonbeam {
  position: absolute; top: 10%; left: 10%; width: 100px; height: 200px;
  background: linear-gradient(180deg, rgba(200,220,255,0.08) 0%, transparent 100%);
  filter: blur(8px);
  transform: rotate(15deg);
  transform-origin: top left;
  animation: nf-moonbeam 20s ease-in-out infinite alternate;
}
.scn-not-lightly-strike-up-friendship .hearth-candle {
  position: absolute; bottom: 20%; left: 20%; width: 20px; height: 30px;
  background: radial-gradient(circle, #ffe8c0 0%, #ffd080 40%, transparent 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 40px 15px rgba(255,200,100,0.3), 0 0 80px 30px rgba(255,200,100,0.1);
  animation: nf-candle 4s ease-in-out infinite alternate;
}
.scn-not-lightly-strike-up-friendship .old-book {
  position: absolute; bottom: 15%; left: 15%; width: 60px; height: 40px;
  background: linear-gradient(135deg, #2a2a1a 0%, #1a1a0a 100%);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  transform: rotate(-5deg);
  animation: nf-book 12s ease-in-out infinite alternate;
}
.scn-not-lightly-strike-up-friendship .figure-seated {
  position: absolute; bottom: 20%; left: 40%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #0a0a12 0%, #050510 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: nf-figure 6s ease-in-out infinite alternate;
}
.scn-not-lightly-strike-up-friendship .curtain-drift {
  position: absolute; top: 0; left: 5%; width: 40px; height: 100%;
  background: linear-gradient(180deg, rgba(200,200,220,0.2) 0%, transparent 100%);
  filter: blur(4px);
  border-radius: 0 10px 10px 0;
  animation: nf-curtain 15s ease-in-out infinite alternate;
}
@keyframes nf-window {
  0% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(1.01); opacity: 0.9; }
  100% { transform: scale(0.99); opacity: 0.85; }
}
@keyframes nf-moonbeam {
  0% { transform: rotate(12deg) translateY(0); opacity: 0.5; }
  50% { transform: rotate(18deg) translateY(-5px); opacity: 0.7; }
  100% { transform: rotate(14deg) translateY(2px); opacity: 0.6; }
}
@keyframes nf-candle {
  0% { transform: scale(0.95) rotate(-2deg); opacity: 0.8; box-shadow: 0 0 30px 10px rgba(255,200,100,0.3); }
  50% { transform: scale(1.05) rotate(2deg); opacity: 1; box-shadow: 0 0 50px 20px rgba(255,200,100,0.5); }
  100% { transform: scale(0.98) rotate(0deg); opacity: 0.9; box-shadow: 0 0 35px 12px rgba(255,200,100,0.4); }
}
@keyframes nf-book {
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-2px); }
  100% { transform: rotate(-7deg) translateY(0); }
}
@keyframes nf-figure {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-3px) scale(1.02); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes nf-curtain {
  0% { transform: translateX(0); }
  50% { transform: translateX(5px); }
  100% { transform: translateX(-3px); }
}

.scn-zeuxis-painting-slow-last {
  background: linear-gradient(135deg, #2a1a0a 0%, #3a2a1a 40%, #1a0a00 100%),
              radial-gradient(ellipse at 70% 60%, #4a3a2a 0%, transparent 60%);
}
.scn-zeuxis-painting-slow-last .studio-wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 50%, #1a0a00 100%);
  box-shadow: inset 0 0 80px rgba(0,0,0,0.5);
}
.scn-zeuxis-painting-slow-last .easel-frame {
  position: absolute; bottom: 15%; left: 50%; width: 80px; height: 120px;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  border: 3px solid #2a1a0a;
  border-radius: 4px;
  transform: translateX(-50%);
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
}
.scn-zeuxis-painting-slow-last .canvas-blank {
  position: absolute; top: 15%; left: 50%; width: 70px; height: 90px;
  background: linear-gradient(135deg, #f5eed0 0%, #e8d8b0 50%, #d4c4a0 100%);
  border: 2px solid #a09080;
  border-radius: 2px;
  transform: translateX(-50%);
  animation: zp-canvas 12s ease-in-out infinite alternate;
}
.scn-zeuxis-painting-slow-last .paint-palette {
  position: absolute; bottom: 35%; left: 20%; width: 60px; height: 40px;
  background: linear-gradient(135deg, #8a5a3a 0%, #6a4a2a 100%);
  border-radius: 50% 50% 40% 40%;
  box-shadow: 0 2px 8px rgba(0,0,0,0.5);
  animation: zp-palette 8s ease-in-out infinite alternate;
}
.scn-zeuxis-painting-slow-last .brush-tip {
  position: absolute; bottom: 55%; left: 30%; width: 4px; height: 60px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 2px;
  transform-origin: bottom;
  transform: rotate(10deg);
  animation: zp-brush 8s ease-in-out infinite alternate;
}
.scn-zeuxis-painting-slow-last .paint-jar {
  position: absolute; bottom: 30%; left: 35%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #6a5a3a 0%, #4a3a2a 100%);
  border-radius: 4px 4px 2px 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
}
.scn-zeuxis-painting-slow-last .figure-artist {
  position: absolute; bottom: 20%; left: 38%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #1a1a12 0%, #0a0a08 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: zp-figure 8s ease-in-out infinite alternate;
}
.scn-zeuxis-painting-slow-last .window-light {
  position: absolute; top: 5%; right: 10%; width: 80px; height: 100px;
  background: linear-gradient(135deg, #f0d8a0 0%, #d0b880 40%, transparent 100%);
  border-radius: 4px;
  filter: blur(10px);
  opacity: 0.3;
  animation: zp-light 15s ease-in-out infinite alternate;
}
.scn-zeuxis-painting-slow-last .dust-mote {
  position: absolute; top: 20%; left: 20%; width: 4px; height: 4px;
  background: rgba(255,240,200,0.5);
  border-radius: 50%;
  box-shadow: 30px 40px 0 rgba(255,240,200,0.3), 60px 10px 0 rgba(255,240,200,0.2),
              100px 50px 0 rgba(255,240,200,0.4), 140px 80px 0 rgba(255,240,200,0.3),
              180px 20px 0 rgba(255,240,200,0.2);
  animation: zp-dust 20s linear infinite;
}
@keyframes zp-canvas {
  0% { transform: translateX(-50%) scale(1); opacity: 0.9; }
  50% { transform: translateX(-50%) scale(1.02); opacity: 1; }
  100% { transform: translateX(-50%) scale(0.98); opacity: 0.95; }
}
@keyframes zp-palette {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(5px) rotate(5deg); }
  100% { transform: translateX(-5px) rotate(-5deg); }
}
@keyframes zp-brush {
  0% { transform: rotate(10deg) translateY(0); }
  50% { transform: rotate(15deg) translateY(-10px); }
  100% { transform: rotate(8deg) translateY(0); }
}
@keyframes zp-figure {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-5px) rotate(2deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes zp-light {
  0% { transform: translateX(0) scale(1); opacity: 0.2; }
  50% { transform: translateX(10px) scale(1.1); opacity: 0.4; }
  100% { transform: translateX(-5px) scale(0.95); opacity: 0.3; }
}
@keyframes zp-dust {
  0% { transform: translateY(0) translateX(0) scale(1); }
  25% { transform: translateY(-30px) translateX(20px) scale(1.2); }
  50% { transform: translateY(-10px) translateX(-10px) scale(0.8); }
  75% { transform: translateY(-40px) translateX(30px) scale(1.1); }
  100% { transform: translateY(0) translateX(0) scale(1); }
}

.scn-friends-want-same-things-difficult {
  background: linear-gradient(135deg, #1a0f0a 0%, #2a1a12 40%, #0d0805 100%),
              radial-gradient(ellipse at 50% 40%, #3a2a1a 0%, transparent 60%);
}
.scn-friends-want-same-things-difficult .hall-wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1a0f0a 0%, #2a1a12 30%, #0d0805 100%);
  box-shadow: inset 0 0 100px rgba(0,0,0,0.7);
}
.scn-friends-want-same-things-difficult .heavy-door {
  position: absolute; top: 10%; right: 10%; width: 60px; height: 100px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0f 100%);
  border-radius: 4px;
  box-shadow: -4px 0 10px rgba(0,0,0,0.6);
  transform-origin: right center;
  animation: fw-door 10s ease-in-out infinite alternate;
}
.scn-friends-want-same-things-difficult .figure-one {
  position: absolute; bottom: 25%; left: 20%; width: 35px; height: 65px;
  background: linear-gradient(180deg, #1a1a12 0%, #0a0a08 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: fw-fig1 6s ease-in-out infinite alternate;
}
.scn-friends-want-same-things-difficult .figure-two {
  position: absolute; bottom: 25%; left: 30%; width: 35px; height: 65px;
  background: linear-gradient(180deg, #2a1a12 0%, #1a0a05 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: fw-fig2 7s ease-in-out infinite alternate;
  animation-delay: 1s;
}
.scn-friends-want-same-things-difficult .figure-three {
  position: absolute; bottom: 25%; left: 40%; width: 35px; height: 65px;
  background: linear-gradient(180deg, #1a121a 0%, #0a080a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: fw-fig3 8s ease-in-out infinite alternate;
  animation-delay: 2s;
}
.scn-friends-want-same-things-difficult .meeting-table {
  position: absolute; bottom: 10%; left: 15%; right: 15%; height: 15%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 8px;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.6);
}
.scn-friends-want-same-things-difficult .scroll-pile {
  position: absolute; bottom: 15%; left: 25%; width: 60px; height: 30px;
  background: radial-gradient(ellipse, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: fw-scroll 12s ease-in-out infinite alternate;
}
.scn-friends-want-same-things-difficult .lamp-glow {
  position: absolute; top: 30%; left: 50%; width: 40px; height: 50px;
  background: radial-gradient(circle, #d0a060 0%, #b08040 30%, transparent 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 60px 30px rgba(200,160,80,0.4), 0 0 120px 60px rgba(200,160,80,0.2);
  animation: fw-lamp 3s ease-in-out infinite alternate;
}
.scn-friends-want-same-things-difficult .shadow-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.4) 100%);
  pointer-events: none;
}
@keyframes fw-door {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(-3deg); }
  100% { transform: rotate(0deg); }
}
@keyframes fw-fig1 {
  0% { transform: translateY(0) translateX(0); }
  50% { transform: translateY(-5px) translateX(3px); }
  100% { transform: translateY(0) translateX(0); }
}
@keyframes fw-fig2 {
  0% { transform: translateY(0) translateX(0); }
  50% { transform: translateY(-4px) translateX(-2px); }
  100% { transform: translateY(0) translateX(0); }
}
@keyframes fw-fig3 {
  0% { transform: translateY(0) translateX(0); }
  50% { transform: translateY(-6px) translateX(4px); }
  100% { transform: translateY(0) translateX(0); }
}
@keyframes fw-scroll {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(5px) rotate(2deg); }
  100% { transform: translateX(-5px) rotate(-2deg); }
}
@keyframes fw-lamp {
  0% { transform: scale(0.95) rotate(-3deg); opacity: 0.8; box-shadow: 0 0 40px 20px rgba(200,160,80,0.3); }
  50% { transform: scale(1.05) rotate(3deg); opacity: 1; box-shadow: 0 0 80px 40px rgba(200,160,80,0.5); }
  100% { transform: scale(0.98) rotate(0deg); opacity: 0.9; box-shadow: 0 0 50px 25px rgba(200,160,80,0.4); }
}

/* one block per scene id. Append to style.css. */
.scn-bashfulness-bad-duenna { background: linear-gradient(135deg, #1a1018 0%, #2a181a 40%, #1a1018 100%), radial-gradient(ellipse at 70% 80%, #3a2020 0%, transparent 70%); }
.scn-bashfulness-bad-duenna .bd-wall { position: absolute; inset: 0; background: linear-gradient(180deg, #1a1018 0%, #2a181a 100%); }
.scn-bashfulness-bad-duenna .bd-arch { position: absolute; bottom: 20%; left: 20%; width: 60%; height: 70%; background: radial-gradient(ellipse at 50% 100%, #2a181a 0%, transparent 70%); border-radius: 50% 50% 0 0; animation: bd-arch 12s ease-in-out infinite alternate; }
.scn-bashfulness-bad-duenna .bd-bed { position: absolute; bottom: 10%; right: 10%; width: 35%; height: 30%; background: linear-gradient(135deg, #4a2a2a 0%, #2a181a 100%); border-radius: 8% 8% 4% 4%; box-shadow: inset 0 8px 20px rgba(0,0,0,.6); }
.scn-bashfulness-bad-duenna .bd-lamp { position: absolute; bottom: 25%; left: 45%; width: 8px; height: 40px; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 10%; }
.scn-bashfulness-bad-duenna .bd-glow { position: absolute; bottom: 25%; left: 45%; width: 80px; height: 80px; transform: translate(-50%, -50%); background: radial-gradient(circle, #c08040 0%, #8a5a2a 40%, transparent 70%); border-radius: 50%; box-shadow: 0 0 40px 20px rgba(192,128,64,.4); animation: bd-glow 3s ease-in-out infinite alternate; }
.scn-bashfulness-bad-duenna .bd-duenna { position: absolute; bottom: 22%; left: 35%; width: 24px; 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: bd-shift 6s ease-in-out infinite; }
.scn-bashfulness-bad-duenna .bd-couple { position: absolute; bottom: 15%; left: 15%; width: 40px; height: 60px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: bd-breathe 4s ease-in-out infinite; }
@keyframes bd-arch { 0% { opacity: .8; transform: scaleY(1); } 50% { opacity: 1; transform: scaleY(1.05); } 100% { opacity: .8; transform: scaleY(1); } }
@keyframes bd-glow { 0% { opacity: .7; transform: translate(-50%, -50%) scale(.95); box-shadow: 0 0 30px 15px rgba(192,128,64,.3); } 50% { opacity: 1; transform: translate(-50%, -50%) scale(1.05); box-shadow: 0 0 60px 30px rgba(192,128,64,.6); } 100% { opacity: .8; transform: translate(-50%, -50%) scale(1); box-shadow: 0 0 40px 20px rgba(192,128,64,.4); } }
@keyframes bd-shift { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(4px) rotate(1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes bd-breathe { 0% { transform: translateX(0) scaleY(1); } 50% { transform: translateX(-2px) scaleY(1.03); } 100% { transform: translateX(0) scaleY(1); } }

.scn-bashfulness-gifts-ensnare { background: linear-gradient(180deg, #0a0a0a 0%, #1a1a18 50%, #2a2218 100%), radial-gradient(ellipse at 50% 60%, #2a2218 0%, transparent 80%); }
.scn-bashfulness-gifts-ensnare .g-bg { position: absolute; inset: 0; background: linear-gradient(135deg, #0a0a0a 0%, #1a1a18 100%); }
.scn-bashfulness-gifts-ensnare .g-table { position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #2a2218 0%, #1a1a10 100%); border-radius: 20% 20% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.8); }
.scn-bashfulness-gifts-ensnare .g-candle { position: absolute; bottom: 30%; left: 20%; width: 12px; height: 60px; background: linear-gradient(180deg, #c8b89a 0%, #8a7a6a 100%); border-radius: 4%; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-bashfulness-gifts-ensnare .g-flame { position: absolute; bottom: 88%; left: 20%; width: 14px; height: 24px; transform: translateX(-50%); background: radial-gradient(ellipse at 50% 100%, #ffd680 0%, #c08040 60%, transparent 100%); border-radius: 50% 50% 20% 20%; animation: g-flame 1.5s ease-in-out infinite alternate; }
.scn-bashfulness-gifts-ensnare .g-glow { position: absolute; bottom: 30%; left: 20%; width: 120px; height: 120px; transform: translate(-50%, -50%); background: radial-gradient(circle, #c08040 0%, transparent 70%); border-radius: 50%; animation: g-glow 2s ease-in-out infinite alternate; }
.scn-bashfulness-gifts-ensnare .g-gift { position: absolute; bottom: 35%; left: 50%; width: 40px; height: 30px; transform: translateX(-50%); background: linear-gradient(135deg, #8a3a3a 0%, #5e1a1d 100%); border-radius: 10%; box-shadow: 0 4px 12px rgba(0,0,0,.6), inset 0 0 20px rgba(200,100,50,.2); animation: g-sparkle 4s ease-in-out infinite; }
.scn-bashfulness-gifts-ensnare .g-hand-l { position: absolute; bottom: 35%; left: 35%; width: 50px; height: 30px; background: linear-gradient(135deg, #d4b8a8 0%, #a08070 100%); border-radius: 40% 20% 20% 40%; transform: translateX(0); animation: g-offer 6s ease-in-out infinite; }
.scn-bashfulness-gifts-ensnare .g-hand-r { position: absolute; bottom: 35%; right: 35%; width: 40px; height: 28px; background: linear-gradient(225deg, #e8c8b8 0%, #b09080 100%); border-radius: 20% 40% 40% 20%; transform: translateX(0); animation: g-recoil 6s ease-in-out infinite; }
@keyframes g-flame { 0% { transform: translateX(-50%) scaleY(.9); opacity: .8; } 50% { transform: translateX(-50%) scaleY(1.1); opacity: 1; } 100% { transform: translateX(-50%) scaleY(.95); opacity: .9; } }
@keyframes g-glow { 0% { opacity: .6; transform: translate(-50%, -50%) scale(.9); } 50% { opacity: 1; transform: translate(-50%, -50%) scale(1.1); } 100% { opacity: .7; transform: translate(-50%, -50%) scale(1); } }
@keyframes g-offer { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(10px) rotate(-5deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes g-recoil { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(-8px) rotate(5deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes g-sparkle { 0% { box-shadow: 0 4px 12px rgba(0,0,0,.6), inset 0 0 20px rgba(200,100,50,.2); } 50% { box-shadow: 0 4px 20px rgba(200,100,50,.8), inset 0 0 30px rgba(200,100,50,.6); } 100% { box-shadow: 0 4px 12px rgba(0,0,0,.6), inset 0 0 20px rgba(200,100,50,.2); } }

.scn-bashfulness-creon-medea { background: linear-gradient(180deg, #1a1010 0%, #2a1512 50%, #1a0a08 100%), radial-gradient(ellipse at 50% 60%, #3a1a12 0%, transparent 80%); }
.scn-bashfulness-creon-medea .cm-bg { position: absolute; inset: 0; background: linear-gradient(135deg, #1a1010 0%, #2a1512 100%); }
.scn-bashfulness-creon-medea .cm-brazier { position: absolute; bottom: 30%; left: 50%; width: 30px; height: 40px; transform: translateX(-50%); background: radial-gradient(ellipse at 50% 30%, #d08030 0%, #8a3a1a 60%, transparent 100%); border-radius: 50% 50% 30% 30%; animation: cm-brazier 2s ease-in-out infinite alternate; }
.scn-bashfulness-creon-medea .cm-glow-bg { position: absolute; bottom: 20%; left: 20%; right: 20%; top: 10%; background: radial-gradient(ellipse at 50% 100%, #c08040 0%, transparent 70%); border-radius: 50%; filter: blur(30px); animation: cm-glow-pulse 3s ease-in-out infinite alternate; }
.scn-bashfulness-creon-medea .cm-floor { position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, transparent 0%, #0a0505 100%); clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%); }
.scn-bashfulness-creon-medea .cm-creon { position: absolute; bottom: 5%; left: 25%; width: 60px; height: 80px; background: linear-gradient(180deg, #15151a 0%, #0a0a0f 100%); border-radius: 60% 40% 40% 60% / 60% 50% 50% 40%; transform-origin: bottom right; animation: cm-creon-shake 4s ease-in-out infinite; }
.scn-bashfulness-creon-medea .cm-medea { position: absolute; bottom: 5%; right: 25%; width: 80px; height: 100px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 40% 60% 50% 50% / 70% 70% 30% 30%; transform-origin: bottom left; animation: cm-cloak 6s ease-in-out infinite; }
.scn-bashfulness-creon-medea .cm-shadow-creon { position: absolute; bottom: 0; left: 10%; width: 80px; height: 60px; background: #0a0505; filter: blur(8px); animation: cm-shadows 4s ease-in-out infinite; }
.scn-bashfulness-creon-medea .cm-shadow-medea { position: absolute; bottom: 0; right: 10%; width: 100px; height: 80px; background: #0a0505; filter: blur(10px); animation: cm-shadows 6s ease-in-out infinite reverse; }
@keyframes cm-brazier { 0% { transform: translateX(-50%) scaleY(.9); opacity: .8; } 50% { transform: translateX(-50%) scaleY(1.1); opacity: 1; } 100% { transform: translateX(-50%) scaleY(1); opacity: .9; } }
@keyframes cm-glow-pulse { 0% { opacity: .6; transform: scale(.95); } 50% { opacity: 1; transform: scale(1.05); } 100% { opacity: .7; transform: scale(1); } }
@keyframes cm-creon-shake { 0% { transform: rotate(0); } 50% { transform: rotate(4deg); } 100% { transform: rotate(0); } }
@keyframes cm-cloak { 0% { transform: rotate(0) scaleY(1); } 50% { transform: rotate(-3deg) scaleY(1.05); } 100% { transform: rotate(0) scaleY(1); } }
@keyframes cm-shadows { 0% { transform: scale(1) translateX(0); opacity: .5; } 50% { transform: scale(1.1) translateX(10px); opacity: .8; } 100% { transform: scale(1) translateX(0); opacity: .5; } }

.scn-bashfulness-dion-callippus { background: linear-gradient(135deg, #0a0a0a 0%, #15120a 50%, #0a0a0a 100%), radial-gradient(ellipse at 50% 50%, #1a1510 0%, #0a0a0a 80%); }
.scn-bashfulness-dion-callippus .dc-table { position: absolute; inset: 5%; background: linear-gradient(180deg, #2a2218 0%, #1a1510 100%); border-radius: 4%; box-shadow: inset 0 0 40px rgba(0,0,0,.8); }
.scn-bashfulness-dion-callippus .dc-plate-l { position: absolute; bottom: 15%; left: 15%; width: 20%; height: 20%; background: radial-gradient(ellipse, #3a2a1a 0%, #1a1510 100%); border-radius: 50%; box-shadow: inset 0 4px 8px rgba(0,0,0,.6); }
.scn-bashfulness-dion-callippus .dc-plate-r { position: absolute; bottom: 15%; right: 15%; width: 20%; height: 20%; background: radial-gradient(ellipse, #3a2a1a 0%, #1a1510 100%); border-radius: 50%; box-shadow: inset 0 4px 8px rgba(0,0,0,.6); }
.scn-bashfulness-dion-callippus .dc-cup-l { position: absolute; bottom: 35%; left: 22%; width: 8%; height: 12%; background: linear-gradient(180deg, #5a4a3a 0%, #2a1a1a 100%); border-radius: 10%; box-shadow: 0 4px 8px rgba(0,0,0,.6); }
.scn-bashfulness-dion-callippus .dc-cup-r { position: absolute; bottom: 35%; right: 22%; width: 8%; height: 12%; background: linear-gradient(180deg, #5a4a3a 0%, #2a1a1a 100%); border-radius: 10%; box-shadow: 0 4px 8px rgba(0,0,0,.6); }
.scn-bashfulness-dion-callippus .dc-hand { position: absolute; top: 10%; right: 25%; width: 15%; height: 30%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: top center; animation: dc-reach 10s ease-in-out infinite; }
.scn-bashfulness-dion-callippus .dc-drop { position: absolute; top: 35%; right: 28%; width: 6px; height: 6px; background: radial-gradient(circle, #c08040 0%, #8a5a2a 100%); border-radius: 50%; box-shadow: 0 0 8px 4px rgba(192,128,64,.6); animation: dc-drop 10s ease-in-out infinite; }
.scn-bashfulness-dion-callippus .dc-veil { position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 50%, transparent 40%, #0a0505 100%); border-radius: inherit; pointer-events: none; animation: dc-veil 10s ease-in-out infinite; }
@keyframes dc-reach { 0% { transform: translateY(0) rotate(0); } 30% { transform: translateY(0) rotate(0); } 50% { transform: translateY(20%) rotate(-10deg); } 70% { transform: translateY(20%) rotate(-10deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes dc-drop { 0% { opacity: 0; transform: translateY(0) scale(1); } 30% { opacity: 0; transform: translateY(0) scale(1); } 45% { opacity: 1; transform: translateY(40px) scale(1.5); } 55% { opacity: 0; transform: translateY(80px) scale(.5); } 100% { opacity: 0; transform: translateY(80px) scale(.5); } }
@keyframes dc-veil { 0% { opacity: .6; } 40% { opacity: .6; } 60% { opacity: 1; } 80% { opacity: 1; } 100% { opacity: .6; } }

.scn-fortune-wisdom-intro {
  background: linear-gradient(180deg, #f9f3e0 0%, #e6d5b8 100%), radial-gradient(ellipse at 80% 30%, rgba(255,230,150,0.6) 0%, transparent 60%);
}
.scn-fortune-wisdom-intro .room { position:absolute; inset:0; background: linear-gradient(180deg, #e3d4b6 0%, #d5c09a 100%); box-shadow: inset 0 0 30px rgba(0,0,0,0.05); }
.scn-fortune-wisdom-intro .window { position:absolute; top:20%; left:70%; width:100px; height:80px; background: linear-gradient(180deg, #b8d0e0 0%, #d4e8f0 100%); border:4px solid #b08968; border-radius:8px; box-shadow:0 0 20px rgba(255,200,100,0.3); animation: fwi-window 12s ease-in-out infinite alternate; }
.scn-fortune-wisdom-intro .desk { position:absolute; bottom:10%; left:20%; right:20%; height:20%; background: linear-gradient(180deg, #8b6e4e 0%, #6a4e32 100%); border-radius:4px; box-shadow:0 4px 10px rgba(0,0,0,0.3); }
.scn-fortune-wisdom-intro .scroll { position:absolute; bottom:15%; left:30%; width:120px; height:20px; background: linear-gradient(180deg, #f0e0c0 0%, #dcc8a0 100%); border-radius:4px; transform:rotate(-5deg); animation: fwi-scroll 20s ease-in-out infinite; }
.scn-fortune-wisdom-intro .figure { position:absolute; bottom:12%; left:50%; width:24px; height:60px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e06 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform:translateX(-50%); animation: fwi-figure 8s ease-in-out infinite; }
.scn-fortune-wisdom-intro .light-beam { position:absolute; top:20%; left:70%; width:200px; height:300px; transform:rotate(15deg); background: linear-gradient(135deg, rgba(255,230,150,0.3) 0%, transparent 80%); animation: fwi-beam 10s ease-in-out infinite alternate; }
@keyframes fwi-window { 0% { opacity:0.8; transform:scale(1); } 50% { opacity:1; transform:scale(1.02); } 100% { opacity:0.85; transform:scale(0.99); } }
@keyframes fwi-scroll { 0% { transform:rotate(-5deg) translateY(0); } 50% { transform:rotate(-3deg) translateY(-2px); } 100% { transform:rotate(-5deg) translateY(0); } }
@keyframes fwi-figure { 0% { transform:translateX(-50%) rotate(0deg); } 50% { transform:translateX(-50%) rotate(-1deg) translateY(-2px); } 100% { transform:translateX(-50%) rotate(0deg); } }
@keyframes fwi-beam { 0% { opacity:0.5; transform:rotate(15deg) scaleY(1); } 50% { opacity:0.8; transform:rotate(13deg) scaleY(1.05); } 100% { opacity:0.6; transform:rotate(16deg) scaleY(0.98); } }

.scn-philocrates-fish {
  background: linear-gradient(180deg, #1a1a1a 0%, #2a1e12 40%, #1a0e06 100%), radial-gradient(ellipse at 50% 30%, rgba(200,120,60,0.3) 0%, transparent 60%);
}
.scn-philocrates-fish .bg-dark { position:absolute; inset:0; background:rgba(0,0,0,0.4); animation: pf-dark 15s ease-in-out infinite alternate; }
.scn-philocrates-fish .table { position:absolute; bottom:5%; left:10%; right:10%; height:30%; background: linear-gradient(180deg, #4a3520 0%, #2a1a0e 100%); border-radius:10px 10px 0 0; }
.scn-philocrates-fish .plate { position:absolute; bottom:15%; left:20%; width:100px; height:20px; background: radial-gradient(ellipse, #d0c0a0 0%, #a09070 60%, #706050 100%); border-radius:50%; }
.scn-philocrates-fish .fish { position:absolute; bottom:16%; left:22%; width:60px; height:30px; background: linear-gradient(135deg, #8a6a4a 0%, #5a3a2a 100%); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; transform:rotate(10deg); animation: pf-fish 4s ease-in-out infinite; }
.scn-philocrates-fish .coins { position:absolute; bottom:10%; left:35%; width:20px; height:20px; background: radial-gradient(circle, #f0d080 0%, #c0a060 70%); border-radius:50%; box-shadow:0 0 6px rgba(255,200,100,0.5); animation: pf-coins 3s ease-in-out infinite alternate; }
.scn-philocrates-fish .candle { position:absolute; bottom:25%; left:55%; width:10px; height:30px; background: linear-gradient(180deg, #f0e0c0 0%, #d0b080 100%); border-radius:2px; animation: pf-candle 2s ease-in-out infinite; }
.scn-philocrates-fish .shadow-figure { position:absolute; bottom:20%; left:60%; width:30px; height:80px; background: linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform:skewX(-10deg); animation: pf-shadow 7s ease-in-out infinite; }
@keyframes pf-dark { 0% { opacity:0.3; } 50% { opacity:0.5; } 100% { opacity:0.2; } }
@keyframes pf-fish { 0% { transform:rotate(10deg) translateY(0); } 50% { transform:rotate(5deg) translateY(-3px) scale(1.02); } 100% { transform:rotate(10deg) translateY(0); } }
@keyframes pf-coins { 0% { transform:scale(1); opacity:0.8; } 50% { transform:scale(1.1); opacity:1; } 100% { transform:scale(0.9); opacity:0.7; } }
@keyframes pf-candle { 0% { transform:scaleY(1); opacity:0.9; } 50% { transform:scaleY(1.05); opacity:1; } 100% { transform:scaleY(0.95); opacity:0.85; } }
@keyframes pf-shadow { 0% { transform:skewX(-10deg) translateX(0); } 50% { transform:skewX(-8deg) translateX(5px); } 100% { transform:skewX(-12deg) translateX(-2px); } }

.scn-alexander-paris {
  background: linear-gradient(180deg, #1a1018 0%, #2a1822 40%, #0a0410 100%), radial-gradient(ellipse at 50% 40%, rgba(180,100,60,0.4) 0%, transparent 50%);
}
.scn-alexander-paris .bg-interior { position:absolute; inset:0; background:rgba(0,0,0,0.2); }
.scn-alexander-paris .lamp { position:absolute; top:30%; left:20%; width:12px; height:20px; background:#d0a070; border-radius:50% 50% 10% 10%; box-shadow:0 0 30px #a06030; animation: ap-lamp 4s ease-in-out infinite alternate; }
.scn-alexander-paris .figure-a { position:absolute; bottom:15%; left:35%; width:25px; height:70px; background: linear-gradient(180deg, #2a1a1a 0%, #0a0505 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform:rotate(5deg); animation: ap-fig-a 6s ease-in-out infinite; }
.scn-alexander-paris .figure-b { position:absolute; bottom:15%; left:45%; width:22px; height:65px; background: linear-gradient(180deg, #3a2a2a 0%, #1a1010 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform:rotate(-5deg); animation: ap-fig-b 6s ease-in-out infinite; }
.scn-alexander-paris .bed { position:absolute; bottom:5%; left:25%; right:25%; height:15%; background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%); border-radius:10px 10px 0 0; box-shadow:0 -4px 10px rgba(0,0,0,0.5); }
.scn-alexander-paris .porthole { position:absolute; top:10%; right:10%; width:60px; height:60px; background: radial-gradient(circle, #1a2a3a 0%, #0a1a2a 100%); border:4px solid #4a3a2a; border-radius:50%; animation: ap-porthole 20s ease-in-out infinite alternate; }
.scn-alexander-paris .shadow { position:absolute; inset:0; background:rgba(0,0,0,0.3); animation: ap-shadow 10s ease-in-out infinite alternate; }
@keyframes ap-lamp { 0% { box-shadow:0 0 20px #a06030; } 50% { box-shadow:0 0 40px #c08040; } 100% { box-shadow:0 0 15px #804020; } }
@keyframes ap-fig-a { 0% { transform:rotate(5deg) translateY(0); } 50% { transform:rotate(3deg) translateY(-3px); } 100% { transform:rotate(5deg) translateY(0); } }
@keyframes ap-fig-b { 0% { transform:rotate(-5deg) translateY(0); } 50% { transform:rotate(-3deg) translateY(-3px); } 100% { transform:rotate(-5deg) translateY(0); } }
@keyframes ap-porthole { 0% { opacity:0.6; transform:scale(1); } 50% { opacity:0.8; transform:scale(1.02); } 100% { opacity:0.7; transform:scale(0.98); } }
@keyframes ap-shadow { 0% { opacity:0.2; } 50% { opacity:0.4; } 100% { opacity:0.3; } }

.scn-sobriety-prudence {
  background: linear-gradient(180deg, #f4e8d0 0%, #dcc8a8 100%), radial-gradient(ellipse at 80% 40%, rgba(255,220,150,0.4) 0%, transparent 60%);
}
.scn-sobriety-prudence .room { position:absolute; inset:0; background: linear-gradient(180deg, #e3d4b6 0%, #d5c09a 100%); box-shadow: inset 0 0 30px rgba(0,0,0,0.03); }
.scn-sobriety-prudence .window { position:absolute; top:15%; left:10%; width:80px; height:100px; background: linear-gradient(180deg, #c0d8e8 0%, #d4e8f0 100%); border:4px solid #b08968; animation: sp-window 15s ease-in-out infinite alternate; }
.scn-sobriety-prudence .desk { position:absolute; bottom:10%; left:15%; right:15%; height:20%; background: linear-gradient(180deg, #8b6e4e 0%, #6a4e32 100%); border-radius:4px; }
.scn-sobriety-prudence .book { position:absolute; bottom:12%; left:30%; width:100px; height:15px; background: linear-gradient(180deg, #d0c0a0 0%, #b8a080 100%); border-radius:2px; transform:rotate(-2deg); animation: sp-book 25s ease-in-out infinite; }
.scn-sobriety-prudence .hand { position:absolute; bottom:12%; left:35%; width:15px; height:30px; background: linear-gradient(180deg, #e0c8a8 0%, #c8a880 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform:rotate(10deg); animation: sp-hand 12s ease-in-out infinite; }
.scn-sobriety-prudence .candle { position:absolute; bottom:18%; left:60%; width:8px; height:25px; background: linear-gradient(180deg, #f0e0c0 0%, #d0b080 100%); border-radius:2px; animation: sp-candle 4s ease-in-out infinite alternate; }
.scn-sobriety-prudence .curtain { position:absolute; top:0; left:0; width:60px; height:100%; background: linear-gradient(180deg, #6a4e3a 0%, #4a3220 100%); border-radius:0 20px 20px 0; animation: sp-curtain 30s ease-in-out infinite; }
@keyframes sp-window { 0% { opacity:0.85; transform:scale(1); } 50% { opacity:1; transform:scale(1.01); } 100% { opacity:0.9; transform:scale(0.99); } }
@keyframes sp-book { 0% { transform:rotate(-2deg) translateX(0); } 50% { transform:rotate(-1deg) translateX(-3px); } 100% { transform:rotate(-2deg) translateX(0); } }
@keyframes sp-hand { 0% { transform:rotate(10deg) translateY(0); } 50% { transform:rotate(8deg) translateY(-1px); } 100% { transform:rotate(10deg) translateY(0); } }
@keyframes sp-candle { 0% { transform:scaleY(1); opacity:0.9; } 50% { transform:scaleY(1.04); opacity:1; } 100% { transform:scaleY(0.96); opacity:0.85; } }
@keyframes sp-curtain { 0% { transform:translateX(0); } 50% { transform:translateX(-5px); } 100% { transform:translateX(0); } }

.scn-farm { background: linear-gradient(180deg,#d4a75a,#8b5e3c), radial-gradient(ellipse at 80% 60%,#f4d47a,transparent 60%); }
.scn-farm .wall { position:absolute;inset:0;background:linear-gradient(90deg,#c8a26d,#7a4a2a); }
.scn-farm .window { position:absolute;top:8%;right:12%;width:18%;height:22%;background:radial-gradient(circle,#fffbe6,#f0d080 40%,transparent 70%);border-radius:4px;animation:winFarm 4s ease-in-out infinite alternate; }
.scn-farm .light { position:absolute;top:8%;right:12%;width:12%;height:50%;background:linear-gradient(180deg,rgba(255,240,200,.3),transparent);transform:skewX(-10deg);filter:blur(6px);animation:lightFarm 6s ease-in-out infinite; }
.scn-farm .corn1 { position:absolute;bottom:15%;left:20%;width:4%;height:45%;background:linear-gradient(180deg,#6b8e23,#334d0a);border-radius:0 0 40% 40%;transform-origin:bottom center;animation:cornBend 8s ease-in-out infinite; }
.scn-farm .corn2 { position:absolute;bottom:15%;left:35%;width:4%;height:50%;background:linear-gradient(180deg,#7a9c3a,#3a5a1a);border-radius:0 0 40% 40%; }
.scn-farm .corn3 { position:absolute;bottom:15%;left:50%;width:4%;height:40%;background:linear-gradient(180deg,#5a7a2a,#2a4a0a);border-radius:0 0 40% 40%;transform-origin:bottom center;animation:cornStraight 10s ease-in-out infinite; }
.scn-farm .farmer { position:absolute;bottom:10%;left:15%;width:5%;height:12%;background:radial-gradient(ellipse 60% 80%,#2a1a0a,#0a0a0a);border-radius:50% 50% 30% 30%;animation:walkFarm 6s ease-in-out infinite; }
.scn-farm .lantern { position:absolute;bottom:18%;left:23%;width:3%;height:4%;background:#ffb347;border-radius:50%;box-shadow:0 0 12px 6px #ffb347,0 0 24px 12px rgba(255,179,71,.4);animation:lanternFarm 3s ease-in-out infinite alternate; }
@keyframes winFarm { 0%{opacity:0.6} 50%{opacity:1} 100%{opacity:0.7} }
@keyframes lightFarm { 0%{transform:skewX(-10deg) scaleY(0.8);opacity:0.2} 50%{opacity:0.5} 100%{transform:skewX(5deg) scaleY(1);opacity:0.3} }
@keyframes cornBend { 0%{transform:rotate(-3deg) scaleY(1)} 50%{transform:rotate(5deg) scaleY(0.9)} 100%{transform:rotate(-3deg)} }
@keyframes cornStraight { 0%{transform:rotate(0)} 50%{transform:rotate(2deg)} 100%{transform:rotate(0)} }
@keyframes walkFarm { 0%{transform:translateX(0)} 25%{transform:translateX(5px) rotate(2deg)} 50%{transform:translateX(10px)} 75%{transform:translateX(5px) rotate(-2deg)} 100%{transform:translateX(0)} }
@keyframes lanternFarm { 0%{box-shadow:0 0 8px 4px #ffb347;opacity:0.8} 50%{box-shadow:0 0 20px 10px #ffcc66;opacity:1} 100%{box-shadow:0 0 12px 6px #ffb347;opacity:0.9} }

.scn-aes { background: linear-gradient(180deg,#2a0a0a 0%,#1a0a0a 50%,#0a0a0a 100%), radial-gradient(ellipse at 50% 70%,#4a1a1a,transparent 60%); }
.scn-aes .head { position:absolute;top:10%;left:40%;width:20%;height:25%;background:#1a1a1a;border-radius:50% 50% 40% 40%;animation:breathAes 5s ease-in-out infinite; }
.scn-aes .neck { position:absolute;top:33%;left:46%;width:6%;height:10%;background:#1a1a1a;border-radius:10%; }
.scn-aes .shoulder { position:absolute;top:40%;left:30%;width:40%;height:25%;background:#1a1a1a;border-radius:50% 50% 0 0;animation:breathAes 5s ease-in-out infinite; }
.scn-aes .flame { position:absolute;top:22%;left:45%;width:8%;height:30%;background:linear-gradient(180deg,#ff4500,#ffa500,#ffff00);border-radius:0 0 50% 50%;transform-origin:bottom center;animation:flameAes 2s ease-in-out infinite; }
.scn-aes .sparks { position:absolute;top:10%;left:48%;width:2%;height:2%;background:#ffaa00;border-radius:50%;box-shadow:0 0 6px 3px #ffaa00;animation:sparkAes 3s linear infinite; }
.scn-aes .smoke { position:absolute;top:5%;left:55%;width:15%;height:5%;background:rgba(255,255,255,.1);border-radius:50%;filter:blur(8px);animation:smokeAes 8s ease-in-out infinite; }
.scn-aes .glow { position:absolute;top:15%;left:35%;width:30%;height:30%;background:radial-gradient(circle,rgba(255,100,0,.2),transparent 70%);animation:glowAes 4s ease-in-out infinite alternate; }
@keyframes breathAes { 0%{transform:scaleY(1) translateY(0)} 50%{transform:scaleY(1.02) translateY(-2px)} 100%{transform:scaleY(1)} }
@keyframes flameAes { 0%{transform:scaleY(0.8) rotate(-2deg)} 50%{transform:scaleY(1.2) rotate(2deg)} 100%{transform:scaleY(0.8) rotate(-2deg)} }
@keyframes sparkAes { 0%{transform:translateY(0) scale(1);opacity:1} 50%{transform:translateY(-30px) scale(0.5);opacity:0.5} 100%{transform:translateY(-60px) scale(0);opacity:0} }
@keyframes smokeAes { 0%{transform:translateX(0) translateY(0) scale(1);opacity:0.3} 50%{transform:translateX(10px) translateY(-10px) scale(1.5);opacity:0.1} 100%{transform:translateX(20px) translateY(-20px) scale(2);opacity:0} }
@keyframes glowAes { 0%{opacity:0.3} 50%{opacity:0.7} 100%{opacity:0.3} }

.scn-men { background: linear-gradient(180deg,#2d2d44,#1a1a2e), radial-gradient(ellipse at 30% 40%,#4a3a5e,transparent 50%); }
.scn-men .desk { position:absolute;bottom:30%;left:10%;width:30%;height:5%;background:#6b4226;border-radius:2px;box-shadow:0 -2px 0 #4a2a1a; }
.scn-men .chair { position:absolute;bottom:30%;left:5%;width:8%;height:10%;background:#5a3a1a;border-radius:10% 10% 50% 50%; }
.scn-men .figure1 { position:absolute;bottom:35%;left:15%;width:6%;height:20%;background:#ffd700;border-radius:50% 50% 30% 30%;box-shadow:0 0 0 2px #b8860b;animation:swayMen 6s ease-in-out infinite; }
.scn-men .figure2 { position:absolute;bottom:35%;left:25%;width:5%;height:18%;background:#00ced1;border-radius:50% 50% 30% 30%;animation:swayMen 7s ease-in-out infinite; }
.scn-men .figure3 { position:absolute;bottom:35%;left:35%;width:5%;height:16%;background:#ff69b4;border-radius:50% 50% 30% 30%;animation:swayMen 8s ease-in-out infinite; }
.scn-men .figure4 { position:absolute;bottom:35%;left:45%;width:5%;height:15%;background:#90ee90;border-radius:50% 50% 30% 30%;animation:swayMen 5s ease-in-out infinite; }
.scn-men .window { position:absolute;top:5%;right:10%;width:15%;height:20%;background:radial-gradient(circle,#fff #d0d0ff,#b0b0ff 40%,transparent);border-radius:4px;animation:winMen 12s ease-in-out infinite alternate; }
.scn-men .lamp { position:absolute;top:10%;left:20%;width:4%;height:6%;background:#ffa500;border-radius:50%;box-shadow:0 0 12px 6px #ffa500;animation:lampMen 3s ease-in-out infinite alternate; }
.scn-men .book { position:absolute;bottom:40%;left:30%;width:3%;height:2%;background:#fff;transform:rotate(20deg);animation:bookMen 4s ease-in-out infinite; }
@keyframes swayMen { 0%{transform:translateX(0) rotate(0)} 25%{transform:translateX(3px) rotate(2deg)} 50%{transform:translateX(0) rotate(0)} 75%{transform:translateX(-3px) rotate(-2deg)} 100%{transform:translateX(0)} }
@keyframes winMen { 0%{opacity:0.5} 50%{opacity:1} 100%{opacity:0.6} }
@keyframes lampMen { 0%{opacity:0.7} 50%{opacity:1} 100%{opacity:0.8} }
@keyframes bookMen { 0%{transform:rotate(20deg) scale(1)} 50%{transform:rotate(35deg) scale(0.8)} 100%{transform:rotate(20deg)} }

.scn-phy { background: linear-gradient(180deg,#1a2a3a,#0d1b2a), radial-gradient(ellipse at 70% 60%,#2a4a5a,transparent 70%); }
.scn-phy .bed { position:absolute;bottom:15%;left:15%;width:60%;height:20%;background:#4a5a6a;border-radius:5px;border-top:2px solid #6a7a8a; }
.scn-phy .patient { position:absolute;bottom:18%;left:20%;width:50%;height:12%;background:#3a4a5a;border-radius:40% 40% 20% 20%;animation:breathPhy 4s ease-in-out infinite; }
.scn-phy .doctor { position:absolute;bottom:20%;right:20%;width:6%;height:22%;background:#2a3a4a;border-radius:50% 50% 30% 30%;animation:standPhy 6s ease-in-out infinite; }
.scn-phy .table { position:absolute;bottom:15%;right:15%;width:10%;height:4%;background:#5a4a3a;border-radius:2px; }
.scn-phy .lamp { position:absolute;top:10%;left:70%;width:5%;height:8%;background:#ffcc80;border-radius:50%;box-shadow:0 0 16px 8px #ffcc80,0 0 32px 16px rgba(255,204,128,.3);animation:lampPhy 4s ease-in-out infinite alternate; }
.scn-phy .window { position:absolute;top:5%;right:5%;width:20%;height:25%;background:radial-gradient(circle,#c0d0ff 0%,#8090c0 50%,transparent 100%);border-radius:4px;animation:winPhy 12s ease-in-out infinite alternate; }
.scn-phy .moonlight { position:absolute;top:5%;right:5%;width:20%;height:100%;background:linear-gradient(135deg,rgba(200,220,255,.15),transparent 60%);transform:rotate(45deg);filter:blur(10px);animation:moonPhy 15s ease-in-out infinite; }
@keyframes breathPhy { 0%{transform:scaleY(1)} 50%{transform:scaleY(1.02)} 100%{transform:scaleY(1)} }
@keyframes standPhy { 0%{transform:translateX(0) rotate(0)} 25%{transform:translateX(2px) rotate(1deg)} 50%{transform:translateX(0) rotate(0)} 75%{transform:translateX(-2px) rotate(-1deg)} 100%{transform:translateX(0)} }
@keyframes lampPhy { 0%{opacity:0.7;box-shadow:0 0 12px 6px #ffcc80} 50%{opacity:1;box-shadow:0 0 20px 10px #ffdd99} 100%{opacity:0.7} }
@keyframes winPhy { 0%{opacity:0.3} 50%{opacity:0.8} 100%{opacity:0.4} }
@keyframes moonPhy { 0%{opacity:0.2;transform:rotate(45deg) scale(1)} 50%{opacity:0.5;transform:rotate(45deg) scale(1.1)} 100%{opacity:0.2} }

.scn-footnote-readings-14 { background: linear-gradient(180deg, #1c1a2e 0%, #2a253a 50%, #151221 100%), radial-gradient(ellipse at 50% 60%, #3a2a4e 0%, transparent 80%); }
.scn-footnote-readings-14 .wall{position:absolute; inset:0; background: linear-gradient(180deg, #2a253a 0%, #1c1a2e 100%); }
.scn-footnote-readings-14 .bookshelf{position:absolute; top:10%; left:10%; right:10%; height:40%; background: repeating-linear-gradient(90deg, #3a2a1a 0px, #3a2a1a 8px, #2a1a0a 8px, #2a1a0a 16px); border-radius:4px; box-shadow:inset 0 5px 10px rgba(0,0,0,.5); }
.scn-footnote-readings-14 .desk{position:absolute; bottom:20%; left:15%; right:15%; height:30%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:6px 6px 0 0; box-shadow:0 -5px 10px rgba(0,0,0,.4); }
.scn-footnote-readings-14 .book{position:absolute; bottom:30%; left:40%; width:40px; height:25px; background: linear-gradient(180deg, #8a6a4a 0%, #5a3a2a 100%); border-radius:2px; transform: rotate(-5deg); box-shadow:2px 2px 5px rgba(0,0,0,.6); animation:fr14-book 4s ease-in-out infinite; }
.scn-footnote-readings-14 .candle{position:absolute; bottom:28%; left:35%; width:8px; height:30px; background: linear-gradient(180deg, #e0c080 0%, #b09060 50%, #6a5030 100%); border-radius:2px; animation:fr14-candle 0.5s ease-in-out infinite alternate; }
.scn-footnote-readings-14 .glow{position:absolute; bottom:38%; left:34%; width:20px; height:20px; background: radial-gradient(circle, #ffd080 0%, rgba(255,208,128,0.3) 40%, transparent 70%); border-radius:50%; animation:fr14-glow 3s ease-in-out infinite alternate; }
.scn-footnote-readings-14 .shadow-figure{position:absolute; bottom:20%; left:30%; width:30px; height:60px; background: linear-gradient(180deg, #151221 0%, #0a0810 100%); border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation:fr14-figure 6s ease-in-out infinite; }
.scn-footnote-readings-14 .dust-motes{position:absolute; top:20%; left:20%; width:4px; height:4px; background: rgba(255,220,180,0.3); border-radius:50%; box-shadow:0 0 6px 2px rgba(255,220,180,0.2); animation:fr14-dust 8s linear infinite; }
@keyframes fr14-book { 0% { transform: rotate(-5deg) scale(1); } 50% { transform: rotate(-4deg) scale(1.02); } 100% { transform: rotate(-6deg) scale(0.98); } }
@keyframes fr14-candle { 0% { transform: scaleX(1); } 100% { transform: scaleX(1.15) scaleY(1.05); } }
@keyframes fr14-glow { 0% { opacity:0.6; transform: scale(0.9); } 50% { opacity:1; transform: scale(1.1); } 100% { opacity:0.7; transform: scale(0.95); } }
@keyframes fr14-figure { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes fr14-dust { 0% { transform: translate(0,0); opacity:0.3; } 25% { transform: translate(10px, -5px); opacity:0.5; } 50% { transform: translate(20px, -10px); opacity:0.2; } 75% { transform: translate(30px, -5px); opacity:0.4; } 100% { transform: translate(40px, 0); opacity:0.3; } }

.scn-footnote-readings-15 { background: linear-gradient(180deg, #1c1a30 0%, #252240 50%, #131120 100%), radial-gradient(ellipse at 50% 40%, #3a3250 0%, transparent 80%); }
.scn-footnote-readings-15 .wall-bg{position:absolute; inset:0; background: linear-gradient(180deg, #252240 0%, #131120 100%); }
.scn-footnote-readings-15 .lectern{position:absolute; bottom:25%; left:50%; width:80px; height:100px; transform:translateX(-50%); background: linear-gradient(135deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:6px; box-shadow:0 5px 15px rgba(0,0,0,.5); }
.scn-footnote-readings-15 .scroll{position:absolute; bottom:40%; left:48%; width:60px; height:15px; background: linear-gradient(180deg, #d4b896 0%, #a68a6a 100%); border-radius:8px; transform:rotate(-2deg); box-shadow:0 2px 5px rgba(0,0,0,.4); animation:fr15-scroll 5s ease-in-out infinite alternate; }
.scn-footnote-readings-15 .reader{position:absolute; bottom:22%; left:38%; width:28px; height:70px; background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1a 100%); border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin:bottom center; animation:fr15-reader 7s ease-in-out infinite; }
.scn-footnote-readings-15 .lamp{position:absolute; bottom:30%; left:55%; width:10px; height:20px; background: linear-gradient(180deg, #c0a060 0%, #805020 100%); border-radius:2px; }
.scn-footnote-readings-15 .glow-lamp{position:absolute; bottom:40%; left:53%; width:30px; height:30px; background: radial-gradient(circle, #ffe080 0%, rgba(255,224,128,0.3) 30%, transparent 60%); border-radius:50%; animation:fr15-glow 2s ease-in-out infinite alternate; }
.scn-footnote-readings-15 .books-left{position:absolute; bottom:20%; left:10%; width:30px; height:40px; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius:2px; box-shadow:2px 2px 5px rgba(0,0,0,.4); animation:fr15-book 6s ease-in-out infinite; }
.scn-footnote-readings-15 .books-right{position:absolute; bottom:18%; right:10%; width:25px; height:35px; background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%); border-radius:2px; box-shadow:-2px 2px 5px rgba(0,0,0,.4); animation:fr15-book 6s ease-in-out infinite reverse; }
.scn-footnote-readings-15 .dust-particles{position:absolute; top:15%; left:30%; width:3px; height:3px; background: rgba(255,200,150,0.2); border-radius:50%; box-shadow:0 0 4px 1px rgba(255,200,150,0.2); animation:fr15-dust 10s linear infinite; }
@keyframes fr15-scroll { 0% { transform: rotate(-2deg) translateY(0); } 50% { transform: rotate(0deg) translateY(-1px); } 100% { transform: rotate(-4deg) translateY(1px); } }
@keyframes fr15-reader { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(1deg); } 100% { transform: translateY(1px) rotate(-1deg); } }
@keyframes fr15-glow { 0% { opacity:0.6; transform: scale(0.9); } 50% { opacity:1; transform: scale(1.2); } 100% { opacity:0.8; transform: scale(1); } }
@keyframes fr15-book { 0% { transform: scale(1) translateY(0); } 50% { transform: scale(1.03) translateY(-1px); } 100% { transform: scale(0.97) translateY(1px); } }
@keyframes fr15-dust { 0% { transform: translate(0,0); opacity:0.2; } 25% { transform: translate(20px, -10px); opacity:0.5; } 50% { transform: translate(40px, -20px); opacity:0.1; } 75% { transform: translate(60px, -10px); opacity:0.4; } 100% { transform: translate(80px, 0); opacity:0.2; } }

.scn-live-unknown-intro { background: linear-gradient(180deg, #f0d8a0 0%, #e8c880 30%, #d4b060 70%, #c09850 100%), radial-gradient(ellipse at 50% 20%, #fce0b0 0%, transparent 60%); }
.scn-live-unknown-intro .wall-warm{position:absolute; inset:0; background: linear-gradient(180deg, #e8c880 0%, #d4b060 100%); }
.scn-live-unknown-intro .window-frame{position:absolute; top:5%; left:20%; width:60%; height:60%; background: linear-gradient(135deg, #8a6a3a 0%, #5a3a1a 100%); border-radius:4px; box-shadow:inset 0 0 20px rgba(255,200,100,0.3); }
.scn-live-unknown-intro .sunbeam{position:absolute; top:20%; left:25%; width:40%; height:50%; background: linear-gradient(135deg, rgba(255,255,200,0.3) 0%, transparent 100%); transform:rotate(-20deg); filter:blur(8px); animation:lui-sunbeam 8s ease-in-out infinite alternate; }
.scn-live-unknown-intro .desk-warm{position:absolute; bottom:20%; left:10%; right:10%; height:30%; background: linear-gradient(180deg, #b8966a 0%, #8a6a4a 100%); border-radius:8px; box-shadow:0 -5px 15px rgba(0,0,0,0.2); }
.scn-live-unknown-intro .figure-warm{position:absolute; bottom:20%; left:35%; width:30px; height:70px; background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%); border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin:bottom center; animation:lui-figure 7s ease-in-out infinite; }
.scn-live-unknown-intro .inkwell{position:absolute; bottom:30%; left:55%; width:12px; height:15px; background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); border-radius:40% 40% 20% 20%; box-shadow:0 3px 5px rgba(0,0,0,0.4); }
.scn-live-unknown-intro .open-book{position:absolute; bottom:25%; left:45%; width:40px; height:20px; background: linear-gradient(180deg, #e8d0b0 0%, #c8b090 100%); border-radius:2px; transform: perspective(50px) rotateX(10deg); box-shadow:0 2px 5px rgba(0,0,0,0.2); animation:lui-book 5s ease-in-out infinite; }
.scn-live-unknown-intro .dust-motes-warm{position:absolute; top:30%; left:40%; width:3px; height:3px; background: rgba(255,220,150,0.5); border-radius:50%; box-shadow:0 0 6px 2px rgba(255,220,150,0.3); animation:lui-dust 12s linear infinite; }
@keyframes lui-sunbeam { 0% { opacity:0.4; transform: rotate(-20deg) scaleX(1); } 50% { opacity:0.7; transform: rotate(-18deg) scaleX(1.1); } 100% { opacity:0.5; transform: rotate(-22deg) scaleX(0.9); } }
@keyframes lui-figure { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes lui-book { 0% { transform: perspective(50px) rotateX(10deg) translateY(0); } 50% { transform: perspective(50px) rotateX(8deg) translateY(-1px); } 100% { transform: perspective(50px) rotateX(12deg) translateY(1px); } }
@keyframes lui-dust { 0% { transform: translate(0,0); opacity:0.3; } 25% { transform: translate(15px, -8px); opacity:0.6; } 50% { transform: translate(30px, -15px); opacity:0.2; } 75% { transform: translate(45px, -8px); opacity:0.5; } 100% { transform: translate(60px, 0); opacity:0.3; } }

.scn-glory-calumny { background: linear-gradient(180deg, #1a1828 0%, #2a2440 30%, #1e1c34 70%, #10101a 100%), radial-gradient(ellipse at 70% 30%, #3a3050 0%, transparent 70%); }
.scn-glory-calumny .bg-tense{position:absolute; inset:0; background: linear-gradient(180deg, #2a2440 0%, #10101a 100%); }
.scn-glory-calumny .boat-hull{position:absolute; bottom:30%; left:20%; right:20%; height:15%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:30% 30% 20% 20% / 60% 60% 40% 40%; box-shadow:0 8px 20px rgba(0,0,0,.6); animation:gc-boat 3s ease-in-out infinite alternate; }
.scn-glory-calumny .rower-a{position:absolute; bottom:35%; left:30%; width:25px; height:50px; background: linear-gradient(180deg, #2a1a1a 0%, #100a0a 100%); border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin:bottom center; animation:gc-rower 0.8s ease-in-out infinite alternate; }
.scn-glory-calumny .rower-b{position:absolute; bottom:35%; right:30%; width:25px; height:50px; background: linear-gradient(180deg, #2a1a1a 0%, #100a0a 100%); border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin:bottom center; animation:gc-rower 0.8s ease-in-out infinite alternate-reverse; }
.scn-glory-calumny .oar-a{position:absolute; bottom:40%; left:20%; width:80px; height:4px; background: linear-gradient(90deg, #5a3a2a 0%, #8a6a4a 100%); border-radius:2px; transform-origin:right center; animation:gc-oar 1.6s ease-in-out infinite; }
.scn-glory-calumny .oar-b{position:absolute; bottom:40%; right:20%; width:80px; height:4px; background: linear-gradient(90deg, #5a3a2a 0%, #8a6a4a 100%); border-radius:2px; transform-origin:left center; animation:gc-oar 1.6s ease-in-out infinite reverse; }
.scn-glory-calumny .splash{position:absolute; bottom:30%; left:10%; width:30px; height:10px; background: radial-gradient(ellipse, rgba(200,220,255,0.3) 0%, transparent 70%); border-radius:50%; filter:blur(3px); animation:gc-splash 0.6s ease-in-out infinite alternate; }
.scn-glory-calumny .shadow-depth{position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.6) 100%); }
@keyframes gc-rower { 0% { transform: translateY(0) rotate(-5deg); } 25% { transform: translateY(-3px) rotate(5deg); } 50% { transform: translateY(-5px) rotate(0deg); } 75% { transform: translateY(-2px) rotate(3deg); } 100% { transform: translateY(0) rotate(-4deg); } }
@keyframes gc-oar { 0% { transform: rotate(0deg) translateX(0); } 25% { transform: rotate(15deg) translateX(5px); } 50% { transform: rotate(-10deg) translateX(-5px); } 75% { transform: rotate(20deg) translateX(10px); } 100% { transform: rotate(0deg) translateX(0); } }
@keyframes gc-splash { 0% { opacity:0.2; transform: scale(1) translateX(0); } 50% { opacity:0.6; transform: scale(1.5) translateX(5px); } 100% { opacity:0.1; transform: scale(0.8) translateX(-3px); } }
@keyframes gc-boat { 0% { opacity:0.8; transform: scaleY(1); } 50% { opacity:1; transform: scaleY(1.02); } 100% { opacity:0.85; transform: scaleY(0.98); } }

.scn-curiosity-market-news { background: linear-gradient(180deg, #B0D4F1 0%, #FED8B1 50%, #E6A86E 100%), radial-gradient(ellipse at 50% 10%, rgba(255,255,200,0.4) 0%, transparent 50%); }
.scn-curiosity-market-news .sky { position: absolute; inset: 0 0 50% 0; background: linear-gradient(180deg, rgba(255,255,255,0.3) 0%, transparent 100%); animation: cm-sky 20s ease-in-out infinite alternate; }
.scn-curiosity-market-news .sun { position: absolute; top: 8%; left: 30%; width: 60px; height: 60px; background: radial-gradient(circle, #FFFDD0 0%, #FFD700 50%, transparent 70%); border-radius: 50%; box-shadow: 0 0 80px 40px rgba(255,215,0,0.5); animation: cm-sun 6s ease-in-out infinite alternate; }
.scn-curiosity-market-news .ground { position: absolute; bottom: 0; left: 0; right: 0; height: 45%; background: linear-gradient(180deg, #D2B48C 0%, #A0522D 100%); border-radius: 30% 20% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,0.3); }
.scn-curiosity-market-news .stall-left { position: absolute; bottom: 35%; left: 10%; width: 80px; height: 50px; background: linear-gradient(180deg, #8B4513 0%, #5C3A21 100%); border-radius: 5%; transform: perspective(200px) rotateY(10deg); animation: cm-stall 15s ease-in-out infinite; }
.scn-curiosity-market-news .stall-right { position: absolute; bottom: 35%; right: 10%; width: 80px; height: 50px; background: linear-gradient(180deg, #A0522D 0%, #6B3A1F 100%); border-radius: 5%; transform: perspective(200px) rotateY(-10deg); animation: cm-stall 15s ease-in-out infinite reverse; }
.scn-curiosity-market-news .figure-a { position: absolute; bottom: 30%; left: 25%; width: 20px; height: 50px; background: linear-gradient(180deg, #4A2C1A 0%, #2A1A0E 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: cm-walk 4s ease-in-out infinite; }
.scn-curiosity-market-news .figure-b { position: absolute; bottom: 30%; left: 55%; width: 20px; height: 50px; background: linear-gradient(180deg, #3A2A1A 0%, #1A0E0A 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: cm-walk 4.5s ease-in-out infinite 0.5s; }
.scn-curiosity-market-news .shadow-fast { position: absolute; bottom: 28%; left: 20%; width: 40px; height: 10px; background: rgba(0,0,0,0.4); border-radius: 50%; filter: blur(3px); animation: cm-shadow 3s ease-in-out infinite; }
@keyframes cm-sky { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes cm-sun { 0% { transform: translateX(0) translateY(0) scale(1); } 50% { transform: translateX(10px) translateY(-5px) scale(1.05); } 100% { transform: translateX(-10px) translateY(3px) scale(0.95); } }
@keyframes cm-stall { 0% { opacity: 0.9; transform: perspective(200px) rotateY(10deg) scaleY(1); } 50% { opacity: 1; transform: perspective(200px) rotateY(8deg) scaleY(1.02); } 100% { opacity: 0.95; transform: perspective(200px) rotateY(12deg) scaleY(0.98); } }
@keyframes cm-walk { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 25% { transform: translateX(8px) translateY(-2px) rotate(2deg); } 50% { transform: translateX(16px) translateY(0) rotate(-2deg); } 75% { transform: translateX(24px) translateY(-1px) rotate(2deg); } 100% { transform: translateX(32px) translateY(0) rotate(0); } }
@keyframes cm-shadow { 0% { opacity: 0.5; transform: scaleX(1); } 50% { opacity: 0.7; transform: scaleX(1.2); } 100% { opacity: 0.5; transform: scaleX(0.9); } }

.scn-curiosity-locrian-rule { background: linear-gradient(180deg, #1C1C3A 0%, #2A2A4E 50%, #1A1A2E 100%), radial-gradient(ellipse at 70% 20%, rgba(255,200,100,0.3) 0%, transparent 60%); }
.scn-curiosity-locrian-rule .back-wall { position: absolute; inset: 0 30% 40% 0; background: linear-gradient(180deg, #2E2E5A 0%, #1A1A3A 100%); border-right: 1px solid rgba(255,255,255,0.05); animation: cl-wall 12s ease-in-out infinite alternate; }
.scn-curiosity-locrian-rule .side-wall { position: absolute; inset: 0 0 40% 70%; background: linear-gradient(180deg, #252548 0%, #15152E 100%); transform: perspective(400px) rotateY(10deg); transform-origin: left; animation: cl-side 15s ease-in-out infinite; }
.scn-curiosity-locrian-rule .floor { position: absolute; bottom: 0; left: 0; right: 0; height: 40%; background: linear-gradient(180deg, #2A2A3A 0%, #15151A 100%); border-radius: 0 0 10% 10%; }
.scn-curiosity-locrian-rule .window-glow { position: absolute; top: 15%; left: 60%; width: 80px; height: 100px; background: radial-gradient(ellipse, rgba(255,200,100,0.4) 0%, transparent 70%); border-radius: 30%; animation: cl-glow 4s ease-in-out infinite alternate; }
.scn-curiosity-locrian-rule .table { position: absolute; bottom: 28%; left: 20%; width: 120px; height: 30px; background: linear-gradient(180deg, #4A3A2A 0%, #2A1A0A 100%); border-radius: 5% 5% 10% 10%; box-shadow: 0 4px 8px rgba(0,0,0,0.6); animation: cl-table 8s ease-in-out infinite; }
.scn-curiosity-locrian-rule .figure { position: absolute; bottom: 30%; left: 35%; width: 24px; height: 60px; background: linear-gradient(180deg, #1A1A2A 0%, #0A0A1A 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: cl-figure 5s ease-in-out infinite; }
.scn-curiosity-locrian-rule .lamp { position: absolute; top: 20%; left: 30%; width: 10px; height: 20px; background: #D2B48C; border-radius: 40% 40% 10% 10%; box-shadow: 0 0 30px 10px rgba(210,180,140,0.6); animation: cl-lamp 3s ease-in-out infinite alternate; }
.scn-curiosity-locrian-rule .shadow { position: absolute; bottom: 30%; left: 30%; width: 40px; height: 8px; background: rgba(0,0,0,0.5); border-radius: 50%; filter: blur(4px); animation: cl-shadow 5s ease-in-out infinite; }
@keyframes cl-wall { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes cl-side { 0% { transform: perspective(400px) rotateY(10deg) scaleY(1); } 50% { transform: perspective(400px) rotateY(8deg) scaleY(1.02); } 100% { transform: perspective(400px) rotateY(12deg) scaleY(0.98); } }
@keyframes cl-glow { 0% { opacity: 0.6; transform: scale(0.95); } 50% { opacity: 1; transform: scale(1.05); } 100% { opacity: 0.7; transform: scale(0.98); } }
@keyframes cl-table { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes cl-figure { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 30% { transform: translateX(5px) translateY(-3px) rotate(2deg); } 60% { transform: translateX(-3px) translateY(-1px) rotate(-2deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes cl-lamp { 0% { opacity: 0.8; transform: scaleY(0.9) translateY(0); } 50% { opacity: 1; transform: scaleY(1.1) translateY(-2px); } 100% { opacity: 0.9; transform: scaleY(0.95) translateY(1px); } }
@keyframes cl-shadow { 0% { opacity: 0.5; transform: scaleX(1); } 50% { opacity: 0.7; transform: scaleX(1.3); } 100% { opacity: 0.5; transform: scaleX(0.8); } }

.scn-curiosity-cooks-prayers { background: linear-gradient(180deg, #1A1A24 0%, #2A2A3E 50%, #0E0E16 100%), radial-gradient(ellipse at 50% 80%, rgba(200,150,50,0.2) 0%, transparent 60%); }
.scn-curiosity-cooks-prayers .bg-deep { position: absolute; inset: 0 10% 30% 10%; background: linear-gradient(180deg, #2E2E44 0%, #1A1A2A 100%); border-radius: 20% 20% 0 0; animation: cc-bg 20s ease-in-out infinite; }
.scn-curiosity-cooks-prayers .floor-plank { position: absolute; bottom: 0; left: 5%; right: 5%; height: 30%; background: linear-gradient(180deg, #3A2A1A 0%, #1A0E06 100%); border-radius: 10% 10% 0 0; }
.scn-curiosity-cooks-prayers .altar { position: absolute; bottom: 25%; left: 50%; transform: translateX(-50%); width: 60px; height: 40px; background: linear-gradient(180deg, #5A4A3A 0%, #3A2A1A 100%); border-radius: 5% 5% 15% 15%; box-shadow: 0 6px 12px rgba(0,0,0,0.7); animation: cc-altar 10s ease-in-out infinite; }
.scn-curiosity-cooks-prayers .candle { position: absolute; bottom: 42%; left: 50%; transform: translateX(-50%); width: 8px; height: 25px; background: #F5DEB3; border-radius: 10% 10% 20% 20%; box-shadow: 0 0 10px 2px rgba(245,222,179,0.5); animation: cc-candle 4s ease-in-out infinite; }
.scn-curiosity-cooks-prayers .flame { position: absolute; bottom: 60%; left: 50%; transform: translateX(-50%); width: 10px; height: 18px; background: radial-gradient(ellipse, #FFD700 0%, #FF8C00 50%, transparent 70%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: cc-flame 0.8s ease-in-out infinite alternate; }
.scn-curiosity-cooks-prayers .figure-kneel { position: absolute; bottom: 20%; left: 40%; width: 22px; height: 40px; background: linear-gradient(180deg, #2A2A3A 0%, #0E0E1A 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: cc-kneel 6s ease-in-out infinite; }
.scn-curiosity-cooks-prayers .shadow-long { position: absolute; bottom: 20%; left: 35%; width: 50px; height: 10px; background: rgba(0,0,0,0.6); border-radius: 50%; filter: blur(5px); animation: cc-shadow 6s ease-in-out infinite; }
@keyframes cc-bg { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes cc-altar { 0% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-2px); } 100% { transform: translateX(-50%) translateY(0); } }
@keyframes cc-candle { 0% { opacity: 0.9; transform: translateX(-50%) scaleY(1); } 50% { opacity: 1; transform: translateX(-50%) scaleY(1.05); } 100% { opacity: 0.95; transform: translateX(-50%) scaleY(0.98); } }
@keyframes cc-flame { 0% { transform: translateX(-50%) translateY(0) scale(1); } 50% { transform: translateX(-50%) translateY(-3px) scale(1.1); } 100% { transform: translateX(-50%) translateY(1px) scale(0.9); } }
@keyframes cc-kneel { 0% { transform: translateX(0) translateY(0) rotate(0) scaleY(1); } 25% { transform: translateX(2px) translateY(-2px) rotate(2deg) scaleY(1.02); } 50% { transform: translateX(-1px) translateY(0) rotate(-2deg) scaleY(1); } 75% { transform: translateX(1px) translateY(-1px) rotate(1deg) scaleY(0.98); } 100% { transform: translateX(0) translateY(0) rotate(0) scaleY(1); } }
@keyframes cc-shadow { 0% { opacity: 0.5; transform: scaleX(1); } 50% { opacity: 0.7; transform: scaleX(1.5); } 100% { opacity: 0.5; transform: scaleX(0.8); } }

.scn-curiosity-adultery-comparison { background: linear-gradient(180deg, #1A1020 0%, #2A182E 50%, #0E0812 100%), radial-gradient(ellipse at 50% 40%, rgba(128,0,32,0.15) 0%, transparent 70%); }
.scn-curiosity-adultery-comparison .wall-back { position: absolute; inset: 0 20% 35% 20%; background: linear-gradient(180deg, #2A1A30 0%, #1A0A18 100%); border-radius: 20% 20% 0 0; animation: ca-wall 15s ease-in-out infinite; }
.scn-curiosity-adultery-comparison .floor { position: absolute; bottom: 0; left: 0; right: 0; height: 35%; background: linear-gradient(180deg, #1A1020 0%, #0E0512 100%); border-radius: 10% 10% 0 0; }
.scn-curiosity-adultery-comparison .bed { position: absolute; bottom: 20%; left: 10%; right: 10%; height: 30%; background: linear-gradient(180deg, #4A3040 0%, #2A1828 100%); border-radius: 10% 10% 20% 20%; box-shadow: 0 8px 16px rgba(0,0,0,0.7); animation: ca-bed 12s ease-in-out infinite; }
.scn-curiosity-adultery-comparison .curtain-left { position: absolute; top: 0; left: 0; width: 15%; height: 100%; background: linear-gradient(180deg, #5E3A4A 0%, #2A1828 100%); border-radius: 0 20% 20% 0; animation: ca-curtain 8s ease-in-out infinite; }
.scn-curiosity-adultery-comparison .curtain-right { position: absolute; top: 0; right: 0; width: 15%; height: 100%; background: linear-gradient(180deg, #5E3A4A 0%, #2A1828 100%); border-radius: 20% 0 0 20%; animation: ca-curtain 8s ease-in-out infinite reverse; }
.scn-curiosity-adultery-comparison .figure-seated { position: absolute; bottom: 15%; left: 25%; width: 30px; height: 50px; background: linear-gradient(180deg, #3A2A3A 0%, #1A0E1A 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: ca-seated 6s ease-in-out infinite; }
.scn-curiosity-adultery-comparison .figure-standing { position: absolute; bottom: 25%; right: 25%; width: 22px; height: 60px; background: linear-gradient(180deg, #2A1A2A 0%, #0E0612 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: ca-stand 7s ease-in-out infinite; }
.scn-curiosity-adultery-comparison .hand-reach { position: absolute; bottom: 35%; left: 35%; width: 12px; height: 20px; background: #3A1A2A; border-radius: 40% 40% 20% 20%; transform-origin: bottom; animation: ca-hand 4s ease-in-out infinite alternate; }
.scn-curiosity-adultery-comparison .shadow-dark { position: absolute; bottom: 15%; left: 20%; width: 60px; height: 12px; background: rgba(0,0,0,0.6); border-radius: 50%; filter: blur(6px); animation: ca-shadow 6s ease-in-out infinite; }
@keyframes ca-wall { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes ca-bed { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes ca-curtain { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.05); } 100% { transform: scaleX(0.95); } }
@keyframes ca-seated { 0% { transform: translateX(0) translateY(0) rotate(0); } 25% { transform: translateX(-3px) translateY(-2px) rotate(-3deg); } 50% { transform: translateX(3px) translateY(0) rotate(2deg); } 75% { transform: translateX(-2px) translateY(-1px) rotate(-1deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes ca-stand { 0% { transform: translateX(0) translateY(0) rotate(0); } 33% { transform: translateX(4px) translateY(-2px) rotate(2deg); } 66% { transform: translateX(-4px) translateY(1px) rotate(-2deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes ca-hand { 0% { transform: translateY(0) rotate(-10deg); } 50% { transform: translateY(-8px) rotate(-5deg); } 100% { transform: translateY(0) rotate(10deg); } }
@keyframes ca-shadow { 0% { opacity: 0.5; transform: scaleX(1); } 50% { opacity: 0.7; transform: scaleX(1.4); } 100% { opacity: 0.5; transform: scaleX(0.8); } }

/* cheerful-not-rail */
.scn-cheerful-not-rail {
  background:
    linear-gradient(180deg, #fdf5e6 0%, #f7e7ce 40%, #e8d5b0 100%),
    radial-gradient(circle at 70% 30%, rgba(255,235,190,0.6) 0%, transparent 60%);
}
.scn-cheerful-not-rail .room {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(255,248,230,0.5) 0%, transparent 100%);
}
.scn-cheerful-not-rail .window {
  position: absolute; top: 12%; left: 15%; width: 40%; height: 50%;
  background: linear-gradient(135deg, #b8d4f0 0%, #e0f0fa 100%);
  border-radius: 6px;
  box-shadow: inset 0 0 20px rgba(255,235,190,0.3), 0 0 40px rgba(255,215,120,0.2);
  animation: chn-window 10s ease-in-out infinite alternate;
}
.scn-cheerful-not-rail .sunlight {
  position: absolute; top: 10%; left: 18%; width: 30%; height: 60%;
  background: linear-gradient(150deg, rgba(255,240,180,0.35) 0%, transparent 70%);
  transform: skewX(-10deg);
  animation: chn-sunlight 8s ease-in-out infinite alternate;
}
.scn-cheerful-not-rail .figure {
  position: absolute; bottom: 18%; left: 30%; width: 28px; height: 50px;
  background: linear-gradient(180deg, #8b6b5a 0%, #5a4035 100%);
  border-radius: 50% 50% 45% 45% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: chn-figure 6s ease-in-out infinite;
}
.scn-cheerful-not-rail .table {
  position: absolute; bottom: 12%; left: 25%; width: 50%; height: 12px;
  background: linear-gradient(180deg, #c9a87c 0%, #a8835a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}
.scn-cheerful-not-rail .plant {
  position: absolute; bottom: 16%; left: 65%; width: 22px; height: 40px;
  background: linear-gradient(180deg, #5a7a3a 0%, #3a5a2a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: chn-plant 4s ease-in-out infinite;
}
.scn-cheerful-not-rail .book {
  position: absolute; bottom: 20%; left: 42%; width: 20px; height: 14px;
  background: #a07050;
  border-radius: 2px;
  transform: rotate(5deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: chn-book 12s ease-in-out infinite;
}
@keyframes chn-window {
  0% { opacity: 0.8; box-shadow: inset 0 0 20px rgba(255,235,190,0.3), 0 0 40px rgba(255,215,120,0.2); }
  50% { opacity: 1; box-shadow: inset 0 0 30px rgba(255,235,190,0.6), 0 0 60px rgba(255,215,120,0.4); }
  100% { opacity: 0.85; box-shadow: inset 0 0 20px rgba(255,235,190,0.4), 0 0 50px rgba(255,215,120,0.25); }
}
@keyframes chn-sunlight {
  0% { transform: skewX(-10deg) translateX(0) scaleY(1); opacity: 0.6; }
  50% { transform: skewX(-8deg) translateX(8px) scaleY(1.05); opacity: 0.9; }
  100% { transform: skewX(-12deg) translateX(-4px) scaleY(0.95); opacity: 0.7; }
}
@keyframes chn-figure {
  0% { transform: translateY(0) rotate(-2deg); }
  25% { transform: translateY(-2px) rotate(1deg); }
  50% { transform: translateY(-1px) rotate(0deg); }
  75% { transform: translateY(-3px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-2deg); }
}
@keyframes chn-plant {
  0% { transform: rotate(-3deg); }
  50% { transform: rotate(3deg); }
  100% { transform: rotate(-3deg); }
}
@keyframes chn-book {
  0% { transform: rotate(5deg) translateY(0); }
  33% { transform: rotate(4deg) translateY(-1px); }
  66% { transform: rotate(6deg) translateY(-1px); }
  100% { transform: rotate(5deg) translateY(0); }
}

/* contrary-to-evidence */
.scn-contrary-to-evidence {
  background:
    linear-gradient(180deg, #e8e0d0 0%, #c0b8a8 40%, #908878 100%),
    radial-gradient(circle at 50% 30%, rgba(255,250,220,0.4) 0%, transparent 60%);
}
.scn-contrary-to-evidence .room {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, transparent 100%);
}
.scn-contrary-to-evidence .lamp {
  position: absolute; top: 5%; left: 20%; width: 10%; height: 30%;
  background: radial-gradient(ellipse at 50% 100%, #ffe090 0%, #d0b060 50%, transparent 80%);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  animation: cte-lamp 4s ease-in-out infinite alternate;
}
.scn-contrary-to-evidence .table {
  position: absolute; bottom: 15%; left: 15%; width: 70%; height: 8px;
  background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%);
  border-radius: 3px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
.scn-contrary-to-evidence .figure {
  position: absolute; bottom: 15%; left: 35%; width: 30px; height: 48px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 45% 45% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cte-figure 3s ease-in-out infinite;
}
.scn-contrary-to-evidence .clock {
  position: absolute; top: 12%; right: 20%; width: 20px; height: 20px;
  border-radius: 50%;
  background: #b0a090;
  border: 2px solid #7a6a5a;
  animation: cte-clock 2s ease-in-out infinite alternate;
}
.scn-contrary-to-evidence .shadow {
  position: absolute; bottom: 8%; left: 30%; width: 50%; height: 25%;
  background: rgba(0,0,0,0.25);
  transform: skewX(15deg);
  animation: cte-shadow 5s ease-in-out infinite alternate;
}
.scn-contrary-to-evidence .floor-line {
  position: absolute; bottom: 10%; left: 0; right: 0; height: 1px;
  background: rgba(0,0,0,0.15);
  box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}
@keyframes cte-lamp {
  0% { opacity: 0.7; transform: scaleX(1) scaleY(1); }
  50% { opacity: 1; transform: scaleX(1.05) scaleY(1.02); }
  100% { opacity: 0.8; transform: scaleX(0.95) scaleY(0.98); }
}
@keyframes cte-figure {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(-3px) rotate(-2deg); }
  50% { transform: translateX(2px) rotate(1deg); }
  75% { transform: translateX(-1px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes cte-clock {
  0% { transform: rotate(-20deg); }
  50% { transform: rotate(20deg); }
  100% { transform: rotate(-20deg); }
}
@keyframes cte-shadow {
  0% { transform: skewX(15deg) scaleX(1); opacity: 0.8; }
  50% { transform: skewX(18deg) scaleX(0.9); opacity: 1; }
  100% { transform: skewX(12deg) scaleX(1.1); opacity: 0.7; }
}

/* scene 1: body-health-helps-soul – calm bright interior */
.scn-body-health-helps-soul {
  background:
    linear-gradient(180deg, #f7eedc 0%, #e8dcc8 40%, #d4c8b4 100%),
    radial-gradient(ellipse at 50% 80%, #fff9ee 0%, transparent 70%);
}
.scn-body-health-helps-soul .wall {
  position:absolute; inset:0; background:
    linear-gradient(90deg, transparent 30%, rgba(255,235,200,.4) 70%, transparent 100%);
  animation: bh1-wall 9s ease-in-out infinite alternate;
}
.scn-body-health-helps-soul .window {
  position:absolute; top:8%; left:65%; width:90px; height:120px;
  background: linear-gradient(135deg, #fff8e0 0%, #ffe8b0 100%);
  border-radius: 4px; box-shadow: 0 0 40px 12px rgba(255,220,150,0.4);
  animation: bh1-window 6s ease-in-out infinite alternate;
}
.scn-body-health-helps-soul .bath {
  position:absolute; bottom:8%; left:20%; width:260px; height:120px;
  background: linear-gradient(180deg, #c4b098 0%, #9c8870 100%);
  border-radius: 20% 20% 8% 8% / 40% 40% 12% 12%;
  box-shadow: inset 0 -10px 20px rgba(0,0,0,0.3);
}
.scn-body-health-helps-soul .water {
  position:absolute; bottom:10%; left:23%; width:230px; height:70px;
  background: linear-gradient(180deg, #9dc8e6 0%, #6ba8d4 100%);
  border-radius: 20% 20% 8% 8% / 60% 60% 12% 12%;
  opacity: .85; animation: bh1-water 7s ease-in-out infinite alternate;
}
.scn-body-health-helps-soul .figure {
  position:absolute; bottom:28%; left:30%; width:50px; height:80px;
  background: linear-gradient(180deg, #e0c8a0 0%, #c4a880 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bh1-figure 5s ease-in-out infinite alternate;
}
.scn-body-health-helps-soul .steam {
  position:absolute; bottom:42%; left:35%; width:100px; height:30px;
  background: radial-gradient(ellipse at 50% 50%, rgba(255,255,240,0.3) 0%, transparent 100%);
  filter: blur(6px); animation: bh1-steam 8s ease-in-out infinite alternate;
}
.scn-body-health-helps-soul .flask {
  position:absolute; bottom:16%; right:18%; width:20px; height:32px;
  background: linear-gradient(180deg, #cca060 0%, #a87a40 100%);
  border-radius: 20% 20% 40% 40% / 20% 20% 40% 40%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: bh1-flask 12s ease-in-out infinite;
}
@keyframes bh1-wall {
  0% { opacity:0.9 }
  50% { opacity:1 }
  100% { opacity:0.85 }
}
@keyframes bh1-window {
  0% { opacity:0.8; box-shadow:0 0 30px 8px rgba(255,220,150,0.3) }
  50% { opacity:1; box-shadow:0 0 50px 18px rgba(255,240,180,0.5) }
  100% { opacity:0.85; box-shadow:0 0 35px 10px rgba(255,220,150,0.4) }
}
@keyframes bh1-water {
  0% { transform: translateY(0) scale(1); opacity:0.8 }
  50% { transform: translateY(-3px) scale(1.01); opacity:0.9 }
  100% { transform: translateY(1px) scale(0.99); opacity:0.85 }
}
@keyframes bh1-figure {
  0% { transform: translateY(0) rotate(0); opacity:0.9 }
  50% { transform: translateY(-2px) rotate(0.5deg); opacity:1 }
  100% { transform: translateY(0) rotate(-0.3deg); opacity:0.9 }
}
@keyframes bh1-steam {
  0% { transform: translateY(0) scale(0.9); opacity:0.2 }
  50% { transform: translateY(-20px) scale(1.2); opacity:0.4 }
  100% { transform: translateY(-10px) scale(1); opacity:0.2 }
}
@keyframes bh1-flask {
  0%,100% { transform: translateY(0) rotate(-1deg) }
  50% { transform: translateY(-4px) rotate(2deg) }
}

/* scene 2: bad-women-visits – tense dim interior */
.scn-bad-women-visits {
  background:
    linear-gradient(180deg, #2a1f1a 0%, #1f1410 50%, #140a08 100%),
    radial-gradient(ellipse at 50% 80%, #3a2520 0%, transparent 70%);
}
.scn-bad-women-visits .bgd-wall {
  position:absolute; inset:0; background:
    linear-gradient(90deg, transparent 40%, rgba(60,40,30,0.6) 60%, transparent 100%);
  animation: bw1-wall 8s ease-in-out infinite alternate;
}
.scn-bad-women-visits .floor {
  position:absolute; bottom:0; left:0; right:0; height:30%;
  background: linear-gradient(180deg, #1a100c 0%, #140a08 100%);
  border-radius: 20% 20% 0 0 / 10% 10% 0 0;
}
.scn-bad-women-visits .table {
  position:absolute; bottom:18%; left:30%; width:160px; height:20px;
  background: linear-gradient(180deg, #4a3028 0%, #2a1c16 100%);
  border-radius: 4px; box-shadow: 0 -2px 6px rgba(0,0,0,0.6);
}
.scn-bad-women-visits .candle {
  position:absolute; bottom:26%; left:42%; width:14px; height:40px;
  background: linear-gradient(180deg, #f0d8a0 0%, #d8b870 100%);
  border-radius: 10% 10% 20% 20% / 20% 20% 30% 30%;
  box-shadow: 0 0 20px 8px rgba(255,200,120,0.5);
  animation: bw1-candle 2s ease-in-out infinite alternate;
}
.scn-bad-women-visits .shadow-figure {
  position:absolute; bottom:10%; right:8%; width:70px; height:160px;
  background: linear-gradient(180deg, #100a08 0%, #0a0604 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bw1-shadow-figure 7s ease-in-out infinite alternate;
}
.scn-bad-women-visits .seated-figure {
  position:absolute; bottom:24%; left:34%; width:60px; height:90px;
  background: linear-gradient(180deg, #3a2820 0%, #1f1410 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bw1-seated 3s ease-in-out infinite alternate;
}
.scn-bad-women-visits .chair {
  position:absolute; bottom:18%; left:28%; width:80px; height:80px;
  background: linear-gradient(180deg, #2a1c16 0%, #140a08 100%);
  border-radius: 6% 6% 10% 10% / 30% 30% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
@keyframes bw1-wall {
  0% { opacity:0.7 }
  50% { opacity:0.9 }
  100% { opacity:0.6 }
}
@keyframes bw1-candle {
  0% { transform: scaleY(1) rotate(-1deg); box-shadow:0 0 18px 6px rgba(255,200,120,0.4) }
  50% { transform: scaleY(1.05) rotate(0.5deg); box-shadow:0 0 28px 12px rgba(255,200,120,0.6) }
  100% { transform: scaleY(0.95) rotate(1deg); box-shadow:0 0 20px 8px rgba(255,200,120,0.5) }
}
@keyframes bw1-shadow-figure {
  0% { transform: translateX(0) scale(1); opacity:0.3 }
  50% { transform: translateX(-8px) scale(1.03); opacity:0.5 }
  100% { transform: translateX(4px) scale(0.98); opacity:0.2 }
}
@keyframes bw1-seated {
  0% { transform: translateY(0) rotate(0); opacity:0.7 }
  50% { transform: translateY(-1px) rotate(1deg); opacity:0.9 }
  100% { transform: translateY(1px) rotate(-0.5deg); opacity:0.8 }
}

/* Scene: man-participates-in-all */
.scn-man-participates-in-all {
  background:
    linear-gradient(180deg, #f5f0e8 0%, #e8ddd0 40%, #d4c8b8 100%),
    radial-gradient(ellipse at 30% 20%, #fffaf0 0%, transparent 60%);
}
.scn-man-participates-in-all .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #e8e0d0 0%, #f0e8dc 50%, #ddd4c4 100%);
  box-shadow: inset 0 0 120px rgba(180,160,140,0.3);
}
.scn-man-participates-in-all .window {
  position: absolute; top: 8%; right: 10%; width: 120px; height: 160px;
  background: linear-gradient(180deg, #d8e8f0 0%, #c0d4e0 100%);
  border-radius: 4px;
  box-shadow: 0 0 40px rgba(200,220,240,0.4), inset 0 0 20px rgba(255,255,255,0.3);
  animation: mp-window 12s ease-in-out infinite alternate;
}
.scn-man-participates-in-all .desk {
  position: absolute; bottom: 8%; left: 15%; width: 160px; height: 12px;
  background: linear-gradient(180deg, #b8a898 0%, #9c8a7a 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}
.scn-man-participates-in-all .book-open {
  position: absolute; bottom: 10%; left: 22%; width: 50px; height: 60px;
  background: linear-gradient(135deg, #f5eed0 0%, #e8dbb8 50%, #d4c89a 100%);
  border-radius: 2px 2px 4px 4px;
  transform: skewX(-10deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  animation: mp-book 8s ease-in-out infinite;
}
.scn-man-participates-in-all .figure {
  position: absolute; bottom: 8%; left: 30%; width: 28px; height: 80px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: mp-figure 6s ease-in-out infinite;
}
.scn-man-participates-in-all .lamp {
  position: absolute; bottom: 14%; left: 42%; width: 14px; height: 30px;
  background: radial-gradient(circle, #ffe8b0 0%, #d4b070 70%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 30px 10px #ffe0a0, 0 0 60px 20px rgba(255,224,160,0.3);
  animation: mp-lamp 4s ease-in-out infinite alternate;
}
.scn-man-participates-in-all .globe {
  position: absolute; bottom: 14%; left: 5%; width: 40px; height: 40px;
  background: radial-gradient(circle at 40% 40%, #8ab4d0 0%, #5a8aaa 50%, #3a6a8a 100%);
  border-radius: 50%;
  box-shadow: 0 2px 10px rgba(0,0,0,0.2);
  animation: mp-globe 20s linear infinite;
}

@keyframes mp-window {
  0% { opacity: 0.7; transform: scaleX(1); }
  50% { opacity: 1; transform: scaleX(1.02); }
  100% { opacity: 0.8; transform: scaleX(0.98); }
}
@keyframes mp-book {
  0% { transform: skewX(-10deg) translateY(0); }
  30% { transform: skewX(-8deg) translateY(-1px); }
  70% { transform: skewX(-12deg) translateY(1px); }
  100% { transform: skewX(-10deg) translateY(0); }
}
@keyframes mp-figure {
  0% { transform: translateY(0) rotate(-1deg); }
  33% { transform: translateY(-2px) rotate(0deg); }
  66% { transform: translateY(1px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes mp-lamp {
  0% { box-shadow: 0 0 25px 8px #ffe0a0, 0 0 50px 15px rgba(255,224,160,0.2); opacity: 0.8; }
  50% { box-shadow: 0 0 40px 15px #ffe8b0, 0 0 80px 25px rgba(255,232,176,0.4); opacity: 1; }
  100% { box-shadow: 0 0 30px 10px #ffe0a0, 0 0 60px 20px rgba(255,224,160,0.3); opacity: 0.9; }
}
@keyframes mp-globe {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(5deg); }
  75% { transform: rotate(-5deg); }
  100% { transform: rotate(0deg); }
}

/* Scene: farmers-ears-corn-empty-assurance */
.scn-farmers-ears-corn-empty-assurance {
  background:
    linear-gradient(180deg, #f5e6b8 0%, #e8d4a0 30%, #d4be8a 100%),
    radial-gradient(ellipse at 50% 20%, #fffbe0 0%, transparent 70%);
}
.scn-farmers-ears-corn-empty-assurance .barn-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #c8b698 0%, #b8a28a 50%, #a89078 100%);
  box-shadow: inset 0 0 100px rgba(100,80,60,0.2);
}
.scn-farmers-ears-corn-empty-assurance .window {
  position: absolute; top: 6%; right: 15%; width: 100px; height: 140px;
  background: linear-gradient(180deg, #ffe8c0 0%, #f0d4a0 100%);
  border-radius: 4px;
  box-shadow: 0 0 30px rgba(255,232,192,0.5), inset 0 0 10px rgba(255,255,255,0.3);
  animation: fc-window 10s ease-in-out infinite alternate;
}
.scn-farmers-ears-corn-empty-assurance .corn-stalk-left {
  position: absolute; bottom: 5%; left: 5%; width: 8px; height: 180px;
  background: linear-gradient(180deg, #7a6a30 0%, #5a4a1a 100%);
  border-radius: 50% 50% 0 0;
  transform-origin: bottom center;
  animation: fc-stalk 6s ease-in-out infinite;
}
.scn-farmers-ears-corn-empty-assurance .corn-stalk-right {
  position: absolute; bottom: 5%; right: 5%; width: 8px; height: 180px;
  background: linear-gradient(180deg, #7a6a30 0%, #5a4a1a 100%);
  border-radius: 50% 50% 0 0;
  transform-origin: bottom center;
  animation: fc-stalk 6s ease-in-out infinite reverse;
  animation-delay: -3s;
}
.scn-farmers-ears-corn-empty-assurance .farmer {
  position: absolute; bottom: 8%; left: 40%; width: 30px; height: 80px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: fc-farmer 8s ease-in-out infinite;
}
.scn-farmers-ears-corn-empty-assurance .basket {
  position: absolute; bottom: 6%; left: 55%; width: 30px; height: 20px;
  background: linear-gradient(180deg, #a08868 0%, #8a7050 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.15);
}
.scn-farmers-ears-corn-empty-assurance .dust-mote-1 {
  position: absolute; top: 20%; left: 20%; width: 4px; height: 4px;
  background: rgba(255,240,200,0.6);
  border-radius: 50%;
  filter: blur(1px);
  animation: fc-dust 15s linear infinite;
}
.scn-farmers-ears-corn-empty-assurance .dust-mote-2 {
  position: absolute; top: 30%; left: 60%; width: 3px; height: 3px;
  background: rgba(255,240,200,0.5);
  border-radius: 50%;
  filter: blur(1px);
  animation: fc-dust 18s linear infinite reverse;
  animation-delay: -7s;
}

@keyframes fc-window {
  0% { opacity: 0.8; transform: translateY(0); }
  50% { opacity: 1; transform: translateY(-2px); }
  100% { opacity: 0.85; transform: translateY(1px); }
}
@keyframes fc-stalk {
  0% { transform: rotate(0deg) translateX(0); }
  25% { transform: rotate(2deg) translateX(2px); }
  50% { transform: rotate(-1deg) translateX(-1px); }
  75% { transform: rotate(3deg) translateX(1px); }
  100% { transform: rotate(0deg) translateX(0); }
}
@keyframes fc-farmer {
  0% { transform: translateY(0) rotate(-1deg); }
  33% { transform: translateY(-2px) rotate(0deg); }
  66% { transform: translateY(1px) rotate(2deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes fc-dust {
  0% { transform: translate(0, 0) scale(1); opacity: 0; }
  20% { opacity: 0.6; }
  50% { transform: translate(20px, -30px) scale(1.5); opacity: 0.3; }
  80% { opacity: 0.5; }
  100% { transform: translate(40px, -60px) scale(0.8); opacity: 0; }
}

.scn-hunter-and-animal-analogy {
  background:
    linear-gradient(180deg, #f5efe0 0%, #e8dccc 40%, #d4c4b4 70%, #bfaf9f 100%),
    radial-gradient(ellipse at 50% 30%, #fff8f0 0%, transparent 70%);
}
.scn-hunter-and-animal-analogy .room-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #f0e8da 0%, #e0d0c0 60%, #c8b8a8 100%);
  border-radius: 4%;
  box-shadow: inset 0 0 40px rgba(0,0,0,0.06);
  animation: ha-room 12s ease-in-out infinite alternate;
}
.scn-hunter-and-animal-analogy .window {
  position: absolute;
  top: 12%;
  left: 20%;
  width: 30%;
  height: 45%;
  background: linear-gradient(180deg, #fffdf6 0%, #f2ecd8 100%);
  border: 6px solid #b8a898;
  border-radius: 8px;
  box-shadow: inset 0 0 30px rgba(255,245,220,0.4);
  animation: ha-window 8s ease-in-out infinite alternate;
}
.scn-hunter-and-animal-analogy .window-light {
  position: absolute;
  top: 12%;
  left: 20%;
  width: 30%;
  height: 45%;
  background: radial-gradient(circle at 50% 60%, #fff8e8 0%, transparent 70%);
  filter: blur(8px);
  opacity: 0.7;
  animation: ha-light 6s ease-in-out infinite alternate;
}
.scn-hunter-and-animal-analogy .figure-left {
  position: absolute;
  bottom: 18%;
  left: 28%;
  width: 64px;
  height: 120px;
  background: linear-gradient(180deg, #3a3028 0%, #2a221a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ha-fig-left 4s ease-in-out infinite alternate;
}
.scn-hunter-and-animal-analogy .figure-right {
  position: absolute;
  bottom: 18%;
  right: 28%;
  width: 64px;
  height: 120px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e12 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ha-fig-right 4s ease-in-out infinite alternate-reverse;
}
.scn-hunter-and-animal-analogy .merge-shadow {
  position: absolute;
  bottom: 18%;
  left: 50%;
  width: 80px;
  height: 80px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 80%, rgba(0,0,0,0.2) 0%, transparent 70%);
  filter: blur(10px);
  animation: ha-merge 8s ease-in-out infinite alternate;
}
.scn-hunter-and-animal-analogy .spear {
  position: absolute;
  bottom: 38%;
  left: 44%;
  width: 4px;
  height: 100px;
  background: linear-gradient(180deg, #6a5a4a 0%, #3a2e1e 100%);
  border-radius: 2px;
  transform: rotate(-15deg);
  transform-origin: bottom center;
  animation: ha-spear 3s ease-in-out infinite alternate;
}
.scn-hunter-and-animal-analogy .aura {
  position: absolute;
  bottom: 25%;
  left: 50%;
  width: 140px;
  height: 140px;
  transform: translateX(-50%);
  background: radial-gradient(circle, rgba(255,232,180,0.3) 0%, transparent 60%);
  filter: blur(16px);
  animation: ha-aura 10s ease-in-out infinite alternate;
}
@keyframes ha-room {
  0% { opacity: 0.95; }
  100% { opacity: 1; }
}
@keyframes ha-window {
  0% { filter: brightness(1); }
  50% { filter: brightness(1.08); }
  100% { filter: brightness(0.95); }
}
@keyframes ha-light {
  0% { opacity: 0.5; transform: scale(0.95); }
  50% { opacity: 0.8; transform: scale(1.05); }
  100% { opacity: 0.6; transform: scale(1); }
}
@keyframes ha-fig-left {
  0% { transform: translateX(0) rotate(2deg); }
  50% { transform: translateX(-4px) rotate(0deg); }
  100% { transform: translateX(0) rotate(-2deg); }
}
@keyframes ha-fig-right {
  0% { transform: translateX(0) rotate(-2deg); }
  50% { transform: translateX(4px) rotate(0deg); }
  100% { transform: translateX(0) rotate(2deg); }
}
@keyframes ha-merge {
  0% { opacity: 0.1; transform: translateX(-50%) scale(0.8); }
  50% { opacity: 0.4; transform: translateX(-50%) scale(1.2); }
  100% { opacity: 0.2; transform: translateX(-50%) scale(1); }
}
@keyframes ha-spear {
  0% { transform: rotate(-20deg); }
  50% { transform: rotate(-10deg); }
  100% { transform: rotate(-15deg); }
}
@keyframes ha-aura {
  0% { opacity: 0.3; transform: translateX(-50%) scale(0.95); }
  50% { opacity: 0.5; transform: translateX(-50%) scale(1.05); }
  100% { opacity: 0.4; transform: translateX(-50%) scale(1); }
}

.scn-deliberative-element-different-opinions {
  background:
    linear-gradient(180deg, #f5ede5 0%, #e8ddd0 50%, #d6c8ba 100%),
    radial-gradient(ellipse at 50% 40%, #fffcf5 0%, transparent 60%);
}
.scn-deliberative-element-different-opinions .study-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #f0e5d8 0%, #e0d0c0 60%, #c8b8a8 100%);
  border-radius: 2%;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.05);
  animation: de-room 14s ease-in-out infinite alternate;
}
.scn-deliberative-element-different-opinions .desk {
  position: absolute;
  bottom: 16%;
  left: 20%;
  width: 60%;
  height: 8%;
  background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%);
  border-radius: 4px 4px 10px 10px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.15);
  animation: de-desk 10s ease-in-out infinite alternate;
}
.scn-deliberative-element-different-opinions .sage {
  position: absolute;
  bottom: 16%;
  left: 50%;
  width: 50px;
  height: 100px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a3028 0%, #2a221a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: de-sage 6s ease-in-out infinite alternate;
}
.scn-deliberative-element-different-opinions .thought-left {
  position: absolute;
  top: 10%;
  left: 18%;
  width: 80px;
  height: 80px;
  background: radial-gradient(circle, rgba(255,200,100,0.5) 0%, rgba(255,180,60,0.2) 40%, transparent 70%);
  filter: blur(6px);
  animation: de-thought-l 8s ease-in-out infinite alternate;
}
.scn-deliberative-element-different-opinions .thought-right {
  position: absolute;
  top: 10%;
  right: 18%;
  width: 80px;
  height: 80px;
  background: radial-gradient(circle, rgba(160,200,255,0.5) 0%, rgba(120,180,240,0.2) 40%, transparent 70%);
  filter: blur(6px);
  animation: de-thought-r 8s ease-in-out infinite alternate-reverse;
}
.scn-deliberative-element-different-opinions .lamp-warm {
  position: absolute;
  bottom: 26%;
  left: 22%;
  width: 16px;
  height: 30px;
  background: linear-gradient(180deg, #c8a870 0%, #a08050 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 20px 6px rgba(200,168,112,0.5);
  animation: de-lamp-w 4s ease-in-out infinite alternate;
}
.scn-deliberative-element-different-opinions .lamp-cool {
  position: absolute;
  bottom: 26%;
  right: 22%;
  width: 16px;
  height: 30px;
  background: linear-gradient(180deg, #80a8c8 0%, #6080a0 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 20px 6px rgba(128,168,200,0.5);
  animation: de-lamp-c 4s ease-in-out infinite alternate-reverse;
}
.scn-deliberative-element-different-opinions .glow-left {
  position: absolute;
  bottom: 24%;
  left: 20%;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle at 50% 80%, rgba(200,168,112,0.15) 0%, transparent 60%);
  filter: blur(20px);
  animation: de-glow-l 10s ease-in-out infinite alternate;
}
.scn-deliberative-element-different-opinions .glow-right {
  position: absolute;
  bottom: 24%;
  right: 20%;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle at 50% 80%, rgba(128,168,200,0.15) 0%, transparent 60%);
  filter: blur(20px);
  animation: de-glow-r 10s ease-in-out infinite alternate-reverse;
}
@keyframes de-room {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.95; }
}
@keyframes de-desk {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes de-sage {
  0% { transform: translateX(-50%) rotate(2deg); }
  50% { transform: translateX(-50%) rotate(-1deg); }
  100% { transform: translateX(-50%) rotate(1deg); }
}
@keyframes de-thought-l {
  0% { opacity: 0.3; transform: scale(0.9) translate(0,0); }
  50% { opacity: 0.6; transform: scale(1.1) translate(-4px,-6px); }
  100% { opacity: 0.4; transform: scale(1) translate(0,0); }
}
@keyframes de-thought-r {
  0% { opacity: 0.3; transform: scale(0.9) translate(0,0); }
  50% { opacity: 0.6; transform: scale(1.1) translate(4px,-6px); }
  100% { opacity: 0.4; transform: scale(1) translate(0,0); }
}
@keyframes de-lamp-w {
  0% { filter: brightness(0.9); }
  50% { filter: brightness(1.1); }
  100% { filter: brightness(1); }
}
@keyframes de-lamp-c {
  0% { filter: brightness(0.9); }
  50% { filter: brightness(1.1); }
  100% { filter: brightness(1); }
}
@keyframes de-glow-l {
  0% { opacity: 0.2; transform: scale(0.95); }
  50% { opacity: 0.4; transform: scale(1.05); }
  100% { opacity: 0.3; transform: scale(1); }
}
@keyframes de-glow-r {
  0% { opacity: 0.2; transform: scale(0.95); }
  50% { opacity: 0.4; transform: scale(1.05); }
  100% { opacity: 0.3; transform: scale(1); }
}

/* ===== scene: aeschylus-sappho-tongue-fire ===== */
.scn-aeschylus-sappho-tongue-fire {
  background: linear-gradient(180deg, #2a1008 0%, #4a1e0e 40%, #6b2d14 70%, #3a1808 100%), radial-gradient(ellipse at 50% 80%, #8a3a1a 0%, transparent 60%);
}
.scn-aeschylus-sappho-tongue-fire .bg-warm {
  position: absolute; inset: 0; background: linear-gradient(135deg, rgba(120,50,20,0.3) 0%, transparent 100%);
  animation: as-drift 25s ease-in-out infinite alternate;
}
.scn-aeschylus-sappho-tongue-fire .hearth {
  position: absolute; bottom: 10%; left: 50%; transform: translate(-50%, 0); width: 200px; height: 80px;
  background: linear-gradient(180deg, #5a2a10 0%, #3a1a08 100%); border-radius: 50% 50% 20% 20% / 40% 40% 10% 10%;
  box-shadow: inset 0 -10px 20px rgba(0,0,0,0.6), 0 10px 30px rgba(0,0,0,0.5);
}
.scn-aeschylus-sappho-tongue-fire .flame-core {
  position: absolute; bottom: 18%; left: 50%; transform: translate(-50%, 0); width: 60px; height: 120px;
  background: radial-gradient(ellipse 80% 100% at 50% 100%, #ffa040 0%, #ff6020 40%, #c83008 70%, transparent 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  animation: as-flame 2s ease-in-out infinite alternate;
}
.scn-aeschylus-sappho-tongue-fire .flame-tongue {
  position: absolute; bottom: 30%; left: 50%; transform: translate(-50%, 0) rotate(-5deg); width: 30px; height: 80px;
  background: linear-gradient(180deg, #ffc870 0%, #ff8020 50%, #b04008 100%);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  animation: as-tongue 1.5s ease-in-out infinite alternate;
}
.scn-aeschylus-sappho-tongue-fire .woman-silhouette {
  position: absolute; bottom: 12%; left: 35%; width: 60px; height: 140px;
  background: linear-gradient(180deg, #1a0a04 0%, #0d0400 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: as-sway 4s ease-in-out infinite;
}
.scn-aeschylus-sappho-tongue-fire .eye-glow {
  position: absolute; bottom: 58%; left: 39%; width: 14px; height: 10px;
  background: radial-gradient(circle, #ffd080 0%, #ff8820 70%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 8px rgba(255,200,100,0.6), 0 0 40px 12px rgba(255,136,32,0.4);
  animation: as-eye 3s ease-in-out infinite alternate;
}
.scn-aeschylus-sappho-tongue-fire .sparks {
  position: absolute; bottom: 25%; left: 40%; width: 8px; height: 8px;
  background: #ffb040; border-radius: 50%;
  box-shadow: 0 0 6px 2px rgba(255,176,64,0.8);
  animation: as-spark 2s ease-in-out infinite;
}
@keyframes as-drift { 0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes as-flame {
  0% { transform: translate(-50%, 0) scale(1); } 50% { transform: translate(-50%, -3px) scale(1.05, 0.95); } 100% { transform: translate(-50%, 0) scale(0.98, 1.02); }
}
@keyframes as-tongue {
  0% { transform: translate(-50%, 0) rotate(-5deg) scale(1); } 50% { transform: translate(-50%, -8px) rotate(0deg) scale(1.1, 0.9); } 100% { transform: translate(-50%, 0) rotate(4deg) scale(0.95, 1.05); }
}
@keyframes as-sway {
  0%, 100% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(2deg); } 75% { transform: translateX(-4px) rotate(-2deg); }
}
@keyframes as-eye {
  0% { opacity: 0.8; box-shadow: 0 0 15px 5px rgba(255,200,100,0.5), 0 0 30px 8px rgba(255,136,32,0.3); }
  50% { opacity: 1; box-shadow: 0 0 30px 12px rgba(255,200,100,0.8), 0 0 50px 18px rgba(255,136,32,0.5); }
  100% { opacity: 0.9; box-shadow: 0 0 20px 8px rgba(255,200,100,0.6), 0 0 40px 12px rgba(255,136,32,0.4); }
}
@keyframes as-spark {
  0% { transform: translate(0, 0) scale(1); opacity: 0; }
  20% { opacity: 1; }
  100% { transform: translate(20px, -30px) scale(0.3); opacity: 0; }
}

/* ===== scene: menedemus-playful-remark ===== */
.scn-menedemus-playful-remark {
  background: linear-gradient(180deg, #3a2a1a 0%, #4a3a2a 30%, #2a1a0a 100%), radial-gradient(ellipse at 50% 100%, #5a4a3a 0%, transparent 60%);
}
.scn-menedemus-playful-remark .stage-bg {
  position: absolute; inset: 0; background: linear-gradient(135deg, rgba(80,60,40,0.2) 0%, transparent 100%);
  animation: mr-pulse 8s ease-in-out infinite alternate;
}
.scn-menedemus-playful-remark .stage-floor {
  position: absolute; bottom: 15%; left: 5%; right: 5%; height: 20px;
  background: linear-gradient(180deg, #5a4020 0%, #3a2a10 100%);
  border-radius: 30% 30% 0 0; box-shadow: 0 4px 10px rgba(0,0,0,0.6);
}
.scn-menedemus-playful-remark .figure-wise {
  position: absolute; bottom: 18%; left: 15%; width: 40px; height: 100px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0e05 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  animation: mr-bob 4s ease-in-out infinite, mr-shift 12s linear infinite;
}
.scn-menedemus-playful-remark .figure-philosopher {
  position: absolute; bottom: 18%; left: 32%; width: 45px; height: 110px;
  background: linear-gradient(180deg, #4a2a10 0%, #2a1a08 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: mr-bob 4.5s ease-in-out infinite 0.5s, mr-shift 14s linear infinite -2s;
}
.scn-menedemus-playful-remark .figure-orator {
  position: absolute; bottom: 18%; left: 50%; width: 50px; height: 120px;
  background: linear-gradient(180deg, #5a3a18 0%, #3a2010 100%);
  border-radius: 45% 45% 20% 20% / 60% 60% 30% 30%;
  animation: mr-bob 5s ease-in-out infinite 1s, mr-shift 16s linear infinite -4s;
}
.scn-menedemus-playful-remark .figure-ordinary {
  position: absolute; bottom: 18%; left: 68%; width: 35px; height: 85px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1208 100%);
  border-radius: 25% 25% 15% 15% / 40% 40% 20% 20%;
  animation: mr-bob 3.5s ease-in-out infinite 1.5s, mr-shift 10s linear infinite -6s;
}
.scn-menedemus-playful-remark .lamp {
  position: absolute; bottom: 40%; left: 80%; width: 12px; height: 18px;
  background: radial-gradient(circle at 50% 100%, #ffc870 0%, #b05020 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  box-shadow: 0 0 20px 8px rgba(255,200,112,0.6), 0 0 40px 12px rgba(176,80,32,0.3);
  animation: mr-lamp 2s ease-in-out infinite alternate;
}
@keyframes mr-pulse { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes mr-bob {
  0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-6px) rotate(2deg); }
}
@keyframes mr-shift {
  0% { transform: translateX(0); } 50% { transform: translateX(3px); } 100% { transform: translateX(0); }
}
@keyframes mr-lamp {
  0% { transform: scale(1) rotate(-3deg); opacity: 0.8; } 50% { transform: scale(1.05) rotate(3deg); opacity: 1; } 100% { transform: scale(0.95) rotate(0deg); opacity: 0.9; }
}

.scn-animals-not-opinions {
  background: linear-gradient(180deg, #a0a8a8 0%, #c4c8b8 50%, #7a8280 100%), 
              radial-gradient(ellipse at 30% 100%, #6b7060 0%, transparent 70%);
}
.scn-animals-not-opinions .sky {
  position: absolute; inset: 0 0 60% 0;
  background: linear-gradient(180deg, #b2b8b0 0%, #9ea49c 100%);
  animation: ano-sky 20s ease-in-out infinite alternate;
}
.scn-animals-not-opinions .hills {
  position: absolute; bottom: 35%; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #5a6a4a 0%, #3a4a2a 100%);
  border-radius: 60% 40% 0 0 / 70% 50% 0 0;
  box-shadow: inset 0 6px 12px rgba(0,0,0,.3);
  animation: ano-hills 15s ease-in-out infinite alternate;
}
.scn-animals-not-opinions .grass {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #4a5a3a 0%, #2a3a1a 100%);
  border-radius: 30% 70% 0 0 / 20% 30% 0 0;
  box-shadow: inset 0 4px 10px rgba(0,0,0,.2);
  animation: ano-grass 12s ease-in-out infinite alternate;
}
.scn-animals-not-opinions .tree {
  position: absolute; bottom: 38%; left: 20%; width: 40px; height: 90px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 20% 20% 10% 10% / 80% 80% 20% 20%;
  animation: ano-tree 8s ease-in-out infinite;
}
.scn-animals-not-opinions .animal1 {
  position: absolute; bottom: 28%; left: 45%; width: 30px; height: 20px;
  background: linear-gradient(180deg, #3a3a30 0%, #1a1a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ano-graze 6s ease-in-out infinite;
}
.scn-animals-not-opinions .animal2 {
  position: absolute; bottom: 30%; left: 60%; width: 26px; height: 18px;
  background: linear-gradient(180deg, #3a3a30 0%, #1a1a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ano-graze 7s ease-in-out infinite reverse;
}
.scn-animals-not-opinions .cloud1 {
  position: absolute; top: 15%; left: 10%; width: 90px; height: 22px;
  background: linear-gradient(180deg, rgba(200,200,190,.5) 0%, rgba(180,180,170,.1) 100%);
  border-radius: 50%; filter: blur(8px);
  animation: ano-drift-a 40s linear infinite;
}
.scn-animals-not-opinions .cloud2 {
  position: absolute; top: 25%; right: 5%; width: 70px; height: 18px;
  background: linear-gradient(180deg, rgba(200,200,190,.4) 0%, rgba(180,180,170,.05) 100%);
  border-radius: 50%; filter: blur(6px);
  animation: ano-drift-b 55s linear infinite reverse;
}
@keyframes ano-sky { 0% { opacity: .7 } 50% { opacity: 1 } 100% { opacity: .8 } }
@keyframes ano-hills { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes ano-grass { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-1px) scaleY(.98) } 100% { transform: translateY(0) scaleY(1) } }
@keyframes ano-tree { 0%,100% { transform: rotate(0deg) } 25% { transform: rotate(1deg) } 75% { transform: rotate(-1deg) } }
@keyframes ano-graze { 0% { transform: translateX(0) translateY(0) rotate(-2deg) } 25% { transform: translateX(3px) translateY(-1px) rotate(2deg) } 50% { transform: translateX(6px) translateY(0) rotate(-1deg) } 75% { transform: translateX(9px) translateY(-1px) rotate(1deg) } 100% { transform: translateX(12px) translateY(0) rotate(0) } }
@keyframes ano-drift-a { 0% { transform: translateX(-30px) } 100% { transform: translateX(120vw) } }
@keyframes ano-drift-b { 0% { transform: translateX(20vw) } 100% { transform: translateX(-100vw) } }

.scn-body-sympathizes-with-passion {
  background: linear-gradient(135deg, #f5e8d0 0%, #ede0c8 50%, #dcc8a8 100%),
              radial-gradient(ellipse at 60% 40%, #faf0e0 0%, transparent 60%);
}
.scn-body-sympathizes-with-passion .wall {
  position: absolute; inset: 0 30% 0 0;
  background: linear-gradient(180deg, #e8dcc0 0%, #d4c4a0 100%);
  box-shadow: inset -6px 0 12px rgba(0,0,0,.08);
  animation: bsp-wall 20s ease-in-out infinite alternate;
}
.scn-body-sympathizes-with-passion .window {
  position: absolute; top: 15%; left: 8%; width: 22%; height: 35%;
  background: linear-gradient(180deg, #f0e8d8 0%, #d8ccb0 100%);
  border: 4px solid #b8a888;
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(255,240,210,.6);
  animation: bsp-window 8s ease-in-out infinite alternate;
}
.scn-body-sympathizes-with-passion .lightbeam {
  position: absolute; top: 18%; left: 10%; width: 20%; height: 60%;
  background: linear-gradient(135deg, rgba(255,240,210,.35) 0%, rgba(255,240,210,.05) 100%);
  clip-path: polygon(0 0, 100% 0, 70% 100%, 20% 100%);
  filter: blur(10px);
  animation: bsp-beam 12s ease-in-out infinite alternate;
}
.scn-body-sympathizes-with-passion .figure {
  position: absolute; bottom: 20%; left: 50%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: bsp-figure 4s ease-in-out infinite;
}
.scn-body-sympathizes-with-passion .cheek-blush {
  position: absolute; bottom: 52%; left: 48%; width: 8px; height: 6px;
  background: radial-gradient(circle, #c87878 0%, #b05a5a 70%);
  border-radius: 50%;
  box-shadow: 0 0 6px 2px rgba(192,90,90,.3);
  animation: bsp-blush 3s ease-in-out infinite alternate;
}
.scn-body-sympathizes-with-passion .heart-pulse {
  position: absolute; bottom: 32%; left: 55%; width: 14px; height: 12px;
  background: radial-gradient(circle, #a8383a 0%, #5e1a1d 100%);
  border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;
  transform: rotate(45deg);
  box-shadow: 0 0 12px 4px rgba(168,56,58,.3);
  animation: bsp-pulse 1.5s ease-in-out infinite;
}
.scn-body-sympathizes-with-passion .sparkle1 {
  position: absolute; top: 30%; left: 35%; width: 4px; height: 4px;
  background: #faeac0;
  border-radius: 50%;
  box-shadow: 0 0 6px 2px rgba(250,234,192,.5);
  animation: bsp-sparkle 5s ease-in-out infinite;
}
.scn-body-sympathizes-with-passion .sparkle2 {
  position: absolute; top: 45%; left: 70%; width: 3px; height: 3px;
  background: #faeac0;
  border-radius: 50%;
  box-shadow: 0 0 4px 1px rgba(250,234,192,.4);
  animation: bsp-sparkle 5s ease-in-out infinite reverse;
}
@keyframes bsp-wall { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .95 } }
@keyframes bsp-window { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(1) } }
@keyframes bsp-beam { 0% { opacity: .5 } 50% { opacity: .7 } 100% { opacity: .5 } }
@keyframes bsp-figure { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 25% { transform: translateX(1px) translateY(-1px) rotate(1deg) } 50% { transform: translateX(0) translateY(0) rotate(-1deg) } 75% { transform: translateX(-1px) translateY(-1px) rotate(1deg) } 100% { transform: translateX(0) translateY(0) rotate(0) } }
@keyframes bsp-blush { 0% { opacity: .6; transform: scale(1) } 50% { opacity: 1; transform: scale(1.2) } 100% { opacity: .7; transform: scale(1) } }
@keyframes bsp-pulse { 0%,100% { transform: rotate(45deg) scale(1) } 25% { transform: rotate(45deg) scale(1.15) } 50% { transform: rotate(45deg) scale(1) } 75% { transform: rotate(45deg) scale(1.1) } }
@keyframes bsp-sparkle { 0%,100% { opacity: .2; transform: translateY(0) scale(1) } 50% { opacity: .8; transform: translateY(-6px) scale(1.3) } }

.scn-passion-weighs-in-balance {
  background:
    linear-gradient(180deg, #f8f2e0 0%, #e8dcc0 40%, #d4c4a0 100%),
    radial-gradient(ellipse at 50% 60%, #fff7e0 0%, transparent 60%);
}
.scn-passion-weighs-in-balance .bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #f0e8d0 0%, #e0d0b0 50%, #d0c0a0 100%);
  animation: pwib-bg 12s ease-in-out infinite alternate;
}
.scn-passion-weighs-in-balance .window {
  position: absolute; top: 10%; left: 50%; width: 120px; height: 180px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #fff8e0 0%, #f0e0b0 100%);
  border-radius: 8px;
  box-shadow: 0 0 40px 20px rgba(255, 240, 200, 0.5), 0 0 80px 40px rgba(255, 240, 200, 0.2);
  animation: pwib-window 5s ease-in-out infinite alternate;
}
.scn-passion-weighs-in-balance .glow {
  /* window already has glow class? No, combine with window div */
}
.scn-passion-weighs-in-balance .scale-stand {
  position: absolute; bottom: 36%; left: 50%; width: 16px; height: 80px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #b09870 0%, #8a7a5c 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 4px 0 6px rgba(0,0,0,0.1);
}
.scn-passion-weighs-in-balance .scale-beam {
  position: absolute; bottom: calc(36% + 80px); left: 50%; width: 200px; height: 8px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #c0a880, #b09870, #c0a880);
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  animation: pwib-beam 8s ease-in-out infinite alternate;
}
.scn-passion-weighs-in-balance .left-pan {
  position: absolute; bottom: 36%; left: calc(50% - 120px); width: 60px; height: 16px;
  background: radial-gradient(ellipse 60% 100%, #d4c4a0 0%, transparent 100%);
  border-radius: 50%;
  transform-origin: top center;
  animation: pwib-pan 6s ease-in-out infinite alternate;
}
.scn-passion-weighs-in-balance .right-pan {
  position: absolute; bottom: 36%; right: calc(50% - 120px); width: 60px; height: 16px;
  background: radial-gradient(ellipse 60% 100%, #d4c4a0 0%, transparent 100%);
  border-radius: 50%;
  transform-origin: top center;
  animation: pwib-pan 6s ease-in-out infinite alternate-reverse;
}
.scn-passion-weighs-in-balance .left-weight {
  position: absolute; bottom: calc(36% + 10px); left: calc(50% - 120px); width: 30px; height: 30px;
  transform: translateX(15px);
  background: linear-gradient(135deg, #c8b898, #a89070);
  border-radius: 30% 30% 40% 40%;
  animation: pwib-weight 4s ease-in-out infinite alternate;
}
.scn-passion-weighs-in-balance .right-weight {
  position: absolute; bottom: calc(36% + 10px); right: calc(50% - 120px); width: 30px; height: 30px;
  transform: translateX(-15px);
  background: linear-gradient(135deg, #c8b898, #a89070);
  border-radius: 30% 30% 40% 40%;
  animation: pwib-weight 4s ease-in-out infinite alternate-reverse;
}
.scn-passion-weighs-in-balance .ambient-light {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 30%, rgba(255, 248, 224, 0.3) 0%, transparent 70%);
  pointer-events: none;
  animation: pwib-glow 7s ease-in-out infinite alternate;
}

@keyframes pwib-bg {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes pwib-window {
  0% { box-shadow: 0 0 20px 10px rgba(255, 240, 200, 0.4); }
  50% { box-shadow: 0 0 50px 30px rgba(255, 240, 200, 0.6), 0 0 100px 50px rgba(255, 240, 200, 0.2); }
  100% { box-shadow: 0 0 30px 15px rgba(255, 240, 200, 0.5); }
}
@keyframes pwib-beam {
  0% { transform: translateX(-50%) rotate(-2deg); }
  50% { transform: translateX(-50%) rotate(0deg); }
  100% { transform: translateX(-50%) rotate(2deg); }
}
@keyframes pwib-pan {
  0% { transform: rotate(-3deg); }
  50% { transform: rotate(0deg); }
  100% { transform: rotate(3deg); }
}
@keyframes pwib-weight {
  0% { transform: translateX(15px) translateY(0) scale(1); }
  50% { transform: translateX(15px) translateY(-2px) scale(1.02); }
  100% { transform: translateX(15px) translateY(0) scale(1); }
}
@keyframes pwib-glow {
  0% { opacity: 0.7; }
  50% { opacity: 0.9; }
  100% { opacity: 0.8; }
}

.scn-young-vehement-old-cold {
  background:
    linear-gradient(180deg, #f0ead8 0%, #e0d6c0 40%, #ccc0a8 100%),
    radial-gradient(ellipse at 50% 70%, #fcf4e0 0%, transparent 50%);
}
.scn-young-vehement-old-cold .bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #f8f0e0 0%, #ece0c8 50%, #ddd0b8 100%);
  animation: yvov-bg 15s ease-in-out infinite alternate;
}
.scn-young-vehement-old-cold .window {
  position: absolute; top: 8%; left: 50%; width: 140px; height: 200px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #fff8e0 0%, #f0e0b0 100%);
  border-radius: 6px;
  box-shadow: 0 0 30px 20px rgba(255, 240, 200, 0.4), 0 0 80px 40px rgba(255, 240, 200, 0.15);
  animation: yvov-window 6s ease-in-out infinite alternate;
}
.scn-young-vehement-old-cold .table {
  position: absolute; bottom: 30%; left: 10%; right: 10%; height: 12px;
  background: linear-gradient(90deg, #b09870, #a08860, #b09870);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  animation: yvov-table 10s ease-in-out infinite alternate;
}
.scn-young-vehement-old-cold .young-figure {
  position: absolute; bottom: calc(30% + 12px); left: 25%; width: 40px; height: 90px;
  background: linear-gradient(180deg, #8a7a5c 0%, #5a4e36 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: yvov-young 5s ease-in-out infinite alternate;
}
.scn-young-vehement-old-cold .old-figure {
  position: absolute; bottom: calc(30% + 12px); right: 25%; width: 44px; height: 70px;
  background: linear-gradient(180deg, #a09070 0%, #7a6a4e 100%);
  border-radius: 40% 40% 30% 30% / 40% 40% 50% 50%;
  transform-origin: bottom center;
  transform: scaleX(-1);
  animation: yvov-old 6s ease-in-out infinite alternate;
}
.scn-young-vehement-old-cold .desk-lamp {
  position: absolute; bottom: calc(30% + 12px); left: 50%; width: 20px; height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #c0a880, #a08860);
  border-radius: 20% 20% 10% 10%;
  box-shadow: -4px 0 6px rgba(0,0,0,0.1);
}
.scn-young-vehement-old-cold .lamp-glow {
  position: absolute; bottom: calc(30% + 12px + 60px); left: 50%; width: 60px; height: 40px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #ffe0a0 0%, #f0c860 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(255, 200, 100, 0.5);
  animation: yvov-lampglow 4s ease-in-out infinite alternate;
}
.scn-young-vehement-old-cold .curtain {
  position: absolute; top: 0; left: 0; width: 20%; height: 100%;
  background: linear-gradient(90deg, #c8b898 0%, transparent 100%);
  animation: yvov-curtain 20s linear infinite alternate;
}
@keyframes yvov-bg {
  0% { opacity: 0.95; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes yvov-window {
  0% { box-shadow: 0 0 20px 10px rgba(255, 240, 200, 0.4); }
  50% { box-shadow: 0 0 60px 30px rgba(255, 240, 200, 0.6), 0 0 120px 50px rgba(255, 240, 200, 0.2); }
  100% { box-shadow: 0 0 30px 15px rgba(255, 240, 200, 0.5); }
}
@keyframes yvov-table {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes yvov-young {
  0% { transform: rotate(-2deg) scaleY(1); }
  50% { transform: rotate(2deg) scaleY(1.02); }
  100% { transform: rotate(-2deg) scaleY(1); }
}
@keyframes yvov-old {
  0% { transform: scaleX(-1) rotate(2deg); }
  50% { transform: scaleX(-1) rotate(0deg); }
  100% { transform: scaleX(-1) rotate(2deg); }
}
@keyframes yvov-lampglow {
  0% { opacity: 0.7; transform: translateX(-50%) scale(0.9); }
  50% { opacity: 1; transform: translateX(-50%) scale(1.1); }
  100% { opacity: 0.8; transform: translateX(-50%) scale(1); }
}
@keyframes yvov-curtain {
  0% { width: 20%; opacity: 0.6; }
  50% { width: 22%; opacity: 0.7; }
  100% { width: 20%; opacity: 0.6; }
}

/* Scene: curtail-talkativeness-answer-track */
.scn-curtail-talkativeness-answer-track {
  background:
    linear-gradient(180deg, #1e1a2a 0%, #2c2535 40%, #3a2f40 100%),
    radial-gradient(ellipse at 30% 60%, #4a3f52 0%, #1e1a2a 70%);
}
.scn-curtail-talkativeness-answer-track .wall {
  position: absolute;
  inset: 0 0 35% 0;
  background: linear-gradient(180deg, #3a3245 0%, #2a2435 50%, #1e1a2a 100%);
  animation: cta-wall 20s ease-in-out infinite alternate;
}
.scn-curtail-talkativeness-answer-track .desk {
  position: absolute;
  bottom: 20%;
  left: 12%;
  right: 12%;
  height: 18%;
  background: linear-gradient(180deg, #4a3c35 0%, #2e241f 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.5);
  animation: cta-desk 12s ease-in-out infinite;
}
.scn-curtail-talkativeness-answer-track .lamp {
  position: absolute;
  bottom: 38%;
  left: 45%;
  width: 20px;
  height: 30px;
  background: radial-gradient(circle at 50% 100%, #d4a060 0%, #7a5030 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 40px 15px rgba(212,160,96,0.4), 0 0 80px 30px rgba(212,160,96,0.2);
  animation: cta-lamp 4s ease-in-out infinite alternate;
}
.scn-curtail-talkativeness-answer-track .paper {
  position: absolute;
  bottom: 25%;
  left: 38%;
  width: 80px;
  height: 50px;
  background: linear-gradient(135deg, #e8ddd0 0%, #c8b8a0 100%);
  border-radius: 4%;
  transform: rotate(-3deg);
  box-shadow: 2px 4px 10px rgba(0,0,0,0.4);
  animation: cta-paper 8s ease-in-out infinite;
}
.scn-curtail-talkativeness-answer-track .compass {
  position: absolute;
  bottom: 29%;
  left: 42%;
  width: 34px;
  height: 34px;
  background: radial-gradient(circle, #b8a080 0%, #705840 60%, #503830 100%);
  border-radius: 50%;
  border: 2px solid #8a705a;
  box-shadow: 0 2px 8px rgba(0,0,0,0.5);
  animation: cta-compass 16s linear infinite;
}
.scn-curtail-talkativeness-answer-track .compass::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 12px;
  background: #2a1a10;
  transform: translate(-50%, -50%) rotate(0deg);
  animation: cta-needle 6s ease-in-out infinite alternate;
}
.scn-curtail-talkativeness-answer-track .figure {
  position: absolute;
  bottom: 20%;
  left: 30%;
  width: 22px;
  height: 50px;
  background: linear-gradient(180deg, #2a2230 0%, #1a1620 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cta-figure 10s ease-in-out infinite alternate;
}
.scn-curtail-talkativeness-answer-track .shadow-wall {
  position: absolute;
  bottom: 35%;
  left: 25%;
  width: 60px;
  height: 80px;
  background: rgba(0,0,0,0.3);
  filter: blur(8px);
  animation: cta-shadow 12s ease-in-out infinite alternate;
}
.scn-curtail-talkativeness-answer-track .inkpot {
  position: absolute;
  bottom: 22%;
  left: 52%;
  width: 14px;
  height: 18px;
  background: linear-gradient(180deg, #2a1a10 0%, #1a0e08 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: inset 0 -2px 4px rgba(0,0,0,0.6);
  animation: cta-inkpot 14s ease-in-out infinite;
}
@keyframes cta-wall     { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.75; } }
@keyframes cta-desk     { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes cta-lamp     { 0% { box-shadow: 0 0 30px 10px rgba(212,160,96,0.3); } 50% { box-shadow: 0 0 50px 20px rgba(212,160,96,0.5); } 100% { box-shadow: 0 0 35px 12px rgba(212,160,96,0.35); } }
@keyframes cta-paper    { 0%,100% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(-2deg) translateY(-2px); } }
@keyframes cta-compass  { 0% { transform: rotate(0deg); } 50% { transform: rotate(180deg); } 100% { transform: rotate(360deg); } }
@keyframes cta-needle   { 0% { transform: translate(-50%, -50%) rotate(0deg); } 100% { transform: translate(-50%, -50%) rotate(15deg); } }
@keyframes cta-figure   { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-3px) rotate(1deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes cta-shadow   { 0% { transform: scaleX(1) scaleY(0.9); } 50% { transform: scaleX(1.05) scaleY(1); } 100% { transform: scaleX(0.95) scaleY(0.85); } }
@keyframes cta-inkpot   { 0%,100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-1px) rotate(2deg); } }

/* Scene: socrates-avoid-tempting-foods */
.scn-socrates-avoid-tempting-foods {
  background:
    linear-gradient(180deg, #1c1a1e 0%, #2a2528 50%, #3a3033 100%),
    radial-gradient(ellipse at 40% 70%, #4a3a3c 0%, transparent 70%);
}
.scn-socrates-avoid-tempting-foods .room-bg {
  position: absolute;
  inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a2528 0%, #1a181c 100%);
  animation: saf-room 18s ease-in-out infinite alternate;
}
.scn-socrates-avoid-tempting-foods .table {
  position: absolute;
  bottom: 16%;
  left: 10%;
  right: 10%;
  height: 14%;
  background: linear-gradient(180deg, #4a3c35 0%, #2e241f 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 -6px 12px rgba(0,0,0,0.5);
  animation: saf-table 12s ease-in-out infinite;
}
.scn-socrates-avoid-tempting-foods .platter {
  position: absolute;
  bottom: 22%;
  left: 40%;
  width: 60px;
  height: 16px;
  background: linear-gradient(180deg, #b8a090 0%, #8a7060 100%);
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: saf-platter 10s ease-in-out infinite;
}
.scn-socrates-avoid-tempting-foods .goblet {
  position: absolute;
  bottom: 24%;
  left: 55%;
  width: 12px;
  height: 20px;
  background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: saf-goblet 8s ease-in-out infinite alternate;
}
.scn-socrates-avoid-tempting-foods .loaf {
  position: absolute;
  bottom: 22%;
  left: 45%;
  width: 18px;
  height: 12px;
  background: linear-gradient(180deg, #c8a060 0%, #a08040 100%);
  border-radius: 30% 30% 40% 40%;
  box-shadow: 0 1px 4px rgba(0,0,0,0.3);
  animation: saf-loaf 6s ease-in-out infinite;
}
.scn-socrates-avoid-tempting-foods .socrates-fig {
  position: absolute;
  bottom: 16%;
  left: 28%;
  width: 24px;
  height: 48px;
  background: linear-gradient(180deg, #2a2228 0%, #1a1418 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: saf-socrates 14s ease-in-out infinite alternate;
}
.scn-socrates-avoid-tempting-foods .hand-gesture {
  position: absolute;
  bottom: 24%;
  left: 38%;
  width: 10px;
  height: 14px;
  background: linear-gradient(180deg, #2a2228 0%, #1a1418 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: 100% 100%;
  animation: saf-hand 8s ease-in-out infinite alternate;
}
.scn-socrates-avoid-tempting-foods .candle {
  position: absolute;
  bottom: 30%;
  left: 20%;
  width: 8px;
  height: 24px;
  background: linear-gradient(180deg, #e0c090 0%, #b8a070 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 0 20px 8px rgba(224,192,144,0.4);
  animation: saf-candle 5s ease-in-out infinite alternate;
}
.scn-socrates-avoid-tempting-foods .chair {
  position: absolute;
  bottom: 14%;
  left: 60%;
  width: 30px;
  height: 32px;
  background: linear-gradient(180deg, #3a2e28 0%, #2a1e18 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 2px 8px rgba(0,0,0,0.5);
  animation: saf-chair 20s ease-in-out infinite;
}
@keyframes saf-room      { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes saf-table     { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes saf-platter   { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } }
@keyframes saf-goblet    { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(-1px) rotate(-1deg); } }
@keyframes saf-loaf      { 0%,100% { transform: scaleY(1) translateY(0); } 50% { transform: scaleY(1.03) translateY(-1px); } }
@keyframes saf-socrates  { 0% { transform: translateY(0) rotate(1deg); } 50% { transform: translateY(-3px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes saf-hand      { 0% { transform: rotate(-10deg); } 50% { transform: rotate(5deg); } 100% { transform: rotate(-8deg); } }
@keyframes saf-candle    { 0% { box-shadow: 0 0 15px 5px rgba(224,192,144,0.3); height:24px; } 50% { box-shadow: 0 0 30px 12px rgba(224,192,144,0.5); height:26px; } 100% { box-shadow: 0 0 18px 7px rgba(224,192,144,0.35); height:23px; } }
@keyframes saf-chair     { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-1px) rotate(1deg); } }

/* moon-wife-visibility */
.scn-moon-wife-visibility {
  background: linear-gradient(180deg, #0b0f2a 0%, #1a2140 40%, #2a3a5a 70%, #3d4f6f 100%),
              radial-gradient(ellipse at 70% 20%, #8ca8d0 0%, transparent 60%);
}
.scn-moon-wife-visibility .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #141a35 0%, transparent 100%);
  animation: mwv-sky 12s ease-in-out infinite alternate;
}
.scn-moon-wife-visibility .moon {
  position: absolute; top: 8%; left: 65%; width: 70px; height: 70px;
  background: radial-gradient(circle at 35% 35%, #f8f0d0 0%, #e8d8a0 60%, #b8a870 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 15px rgba(200, 180, 120, 0.6), 0 0 80px 30px rgba(200, 180, 120, 0.3);
  animation: mwv-moon 6s ease-in-out infinite alternate;
}
.scn-moon-wife-visibility .stars {
  position: absolute; inset: 0 0 50% 0;
  background: radial-gradient(2px 2px at 15% 12%, #fff 0%, transparent 100%),
              radial-gradient(2px 2px at 30% 20%, #fff 0%, transparent 100%),
              radial-gradient(1px 1px at 50% 5%, #fff 0%, transparent 100%),
              radial-gradient(2px 2px at 70% 18%, #fff 0%, transparent 100%),
              radial-gradient(1px 1px at 85% 10%, #fff 0%, transparent 100%),
              radial-gradient(2px 2px at 10% 35%, #fff 0%, transparent 100%),
              radial-gradient(1px 1px at 45% 28%, #fff 0%, transparent 100%);
  animation: mwv-stars 4s ease-in-out infinite alternate;
}
.scn-moon-wife-visibility .window-frame {
  position: absolute; bottom: 25%; left: 30%; width: 180px; height: 160px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border: 8px solid #4a3a2a;
  border-radius: 8% 8% 4% 4%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5), 0 4px 12px rgba(0,0,0,0.7);
  animation: mwv-frame 10s ease-in-out infinite alternate;
}
.scn-moon-wife-visibility .husband {
  position: absolute; bottom: 32%; left: 38%; width: 24px; height: 60px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 40% 40% 45% 45% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mwv-husband 5s ease-in-out infinite;
}
.scn-moon-wife-visibility .wife {
  position: absolute; bottom: 32%; left: 50%; width: 20px; height: 54px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mwv-wife 5s ease-in-out infinite 0.3s;
}
.scn-moon-wife-visibility .curtain {
  position: absolute; bottom: 25%; left: 30%; width: 180px; height: 160px;
  background: linear-gradient(135deg, rgba(60,30,10,0.6) 0%, transparent 50%, rgba(60,30,10,0.4) 100%);
  border-radius: 8% 8% 4% 4%;
  pointer-events: none;
  animation: mwv-curtain 8s ease-in-out infinite alternate;
}
@keyframes mwv-sky { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes mwv-moon { 0% { box-shadow: 0 0 30px 10px rgba(200,180,120,0.4), 0 0 60px 20px rgba(200,180,120,0.2); } 50% { box-shadow: 0 0 50px 20px rgba(200,180,120,0.7), 0 0 100px 40px rgba(200,180,120,0.4); } 100% { box-shadow: 0 0 35px 12px rgba(200,180,120,0.5), 0 0 70px 25px rgba(200,180,120,0.3); } }
@keyframes mwv-stars { 0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes mwv-frame { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.01); } 100% { transform: scaleY(1); } }
@keyframes mwv-husband { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(0.5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes mwv-wife { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(-0.5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes mwv-curtain { 0% { transform: translateX(0) scaleX(1); } 50% { transform: translateX(3px) scaleX(1.02); } 100% { transform: translateX(0) scaleX(1); } }

/* modesty-not-put-off */
.scn-modesty-not-put-off {
  background: linear-gradient(180deg, #1a1410 0%, #2a2018 30%, #3a2a1e 60%, #4a3a2a 100%),
              radial-gradient(ellipse at 60% 40%, #6a4a30 0%, transparent 70%);
}
.scn-modesty-not-put-off .wall-left {
  position: absolute; left: 0; top: 0; width: 50%; height: 100%;
  background: linear-gradient(135deg, #2a1a10 0%, #1a1008 100%);
  animation: mnp-wall 14s ease-in-out infinite alternate;
}
.scn-modesty-not-put-off .wall-right {
  position: absolute; right: 0; top: 0; width: 50%; height: 100%;
  background: linear-gradient(225deg, #3a2212 0%, #1a1008 100%);
  animation: mnp-wall 14s ease-in-out infinite alternate-reverse;
}
.scn-modesty-not-put-off .lamp {
  position: absolute; top: 25%; left: 45%; width: 12px; height: 30px;
  background: linear-gradient(180deg, #b08040 0%, #8a6020 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 40px 20px rgba(200, 150, 80, 0.5), 0 0 80px 40px rgba(200, 150, 80, 0.2);
  animation: mnp-lamp 3s ease-in-out infinite alternate;
}
.scn-modesty-not-put-off .mirror {
  position: absolute; top: 20%; left: 35%; width: 80px; height: 120px;
  background: linear-gradient(180deg, rgba(180,160,140,0.3) 0%, rgba(100,80,60,0.1) 100%);
  border: 2px solid #4a2a1a;
  border-radius: 4% 4% 2% 2%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.6), 0 2px 8px rgba(0,0,0,0.5);
  animation: mnp-mirror 12s ease-in-out infinite alternate;
}
.scn-modesty-not-put-off .woman {
  position: absolute; bottom: 20%; left: 42%; width: 26px; height: 70px;
  background: linear-gradient(180deg, #1a1410 0%, #0d0a08 100%);
  border-radius: 50% 50% 40% 40% / 65% 65% 35% 35%;
  transform-origin: bottom center;
  animation: mnp-woman 5s ease-in-out infinite;
}
.scn-modesty-not-put-off .garment {
  position: absolute; bottom: 30%; left: 50%; width: 30px; height: 20px;
  background: radial-gradient(ellipse at 50% 30%, #5a3a2a 0%, #2a1a10 100%);
  border-radius: 60% 40% 50% 50% / 50% 50% 30% 30%;
  transform-origin: top center;
  animation: mnp-garment 4s ease-in-out infinite;
}
.scn-modesty-not-put-off .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #2a1a0e 0%, #1a1008 100%);
  border-radius: 10% 10% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 8px 12px rgba(0,0,0,0.5);
  animation: mnp-floor 8s ease-in-out infinite alternate;
}
.scn-modesty-not-put-off .shadow {
  position: absolute; bottom: 20%; left: 35%; width: 100px; height: 80px;
  background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.4) 0%, transparent 70%);
  transform-origin: bottom center;
  animation: mnp-shadow 5s ease-in-out infinite alternate;
}
@keyframes mnp-wall { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes mnp-lamp { 0% { box-shadow: 0 0 30px 15px rgba(200,150,80,0.4), 0 0 60px 30px rgba(200,150,80,0.15); } 50% { box-shadow: 0 0 50px 25px rgba(200,150,80,0.6), 0 0 100px 50px rgba(200,150,80,0.3); } 100% { box-shadow: 0 0 35px 18px rgba(200,150,80,0.45), 0 0 70px 35px rgba(200,150,80,0.2); } }
@keyframes mnp-mirror { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.005); } 100% { transform: scaleY(1); } }
@keyframes mnp-woman { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes mnp-garment { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes mnp-floor { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.95; } }
@keyframes mnp-shadow { 0% { transform: scaleX(1) translateY(0); } 50% { transform: scaleX(1.05) translateY(2px); } 100% { transform: scaleX(1) translateY(0); } }

/* Scene: delight-has-voice-leads-tongue */
.scn-delight-has-voice-leads-tongue {
  background: 
    linear-gradient(180deg, #3a2a1a 0%, #1e140c 40%, #0d0805 100%),
    radial-gradient(ellipse at 50% 60%, #5c3a20 0%, transparent 60%);
}
.scn-delight-has-voice-leads-tongue .wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #4a3520 0%, #2a1e10 100%);
  border-radius: 0 0 20% 20%;
  animation: dh-wall 20s ease-in-out infinite alternate;
}
@keyframes dh-wall {
  0% { opacity: 0.9; }
  50% { opacity: 1; box-shadow: inset 0 0 30px rgba(0,0,0,0.3); }
  100% { opacity: 0.85; }
}
.scn-delight-has-voice-leads-tongue .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #2a1a10 0%, #1a0e05 100%);
  border-radius: 30% 30% 0 0 / 20% 20% 0 0;
  transform: perspective(400px) rotateX(5deg);
  transform-origin: bottom center;
  animation: dh-floor 15s ease-in-out infinite alternate;
}
@keyframes dh-floor {
  0% { transform: perspective(400px) rotateX(5deg) scaleY(1); }
  50% { transform: perspective(400px) rotateX(7deg) scaleY(0.98); }
  100% { transform: perspective(400px) rotateX(5deg) scaleY(1); }
}
.scn-delight-has-voice-leads-tongue .table {
  position: absolute; bottom: 20%; left: 50%; width: 100px; height: 12px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%);
  border-radius: 4px;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.5);
}
.scn-delight-has-voice-leads-tongue .figure {
  position: absolute; bottom: 22%; left: 38%; width: 30px; height: 80px;
  background: linear-gradient(180deg, #1a0e08 0%, #0a0502 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dh-figure 4s ease-in-out infinite;
}
@keyframes dh-figure {
  0% { transform: translateX(0) translateY(0) rotate(-0.5deg); }
  25% { transform: translateX(2px) translateY(-1px) rotate(0.5deg); }
  50% { transform: translateX(0) translateY(0) rotate(-0.5deg); }
  75% { transform: translateX(-2px) translateY(-1px) rotate(0.5deg); }
  100% { transform: translateX(0) translateY(0) rotate(-0.5deg); }
}
.scn-delight-has-voice-leads-tongue .glow-voice {
  position: absolute; bottom: 42%; left: 42%; width: 20px; height: 20px;
  background: radial-gradient(circle, #ffd080 0%, #b08040 60%, transparent 100%);
  border-radius: 50%;
  animation: dh-glow 3s ease-in-out infinite alternate;
  box-shadow: 0 0 20px 6px #c09050, 0 0 40px 12px rgba(192,144,80,0.3);
}
@keyframes dh-glow {
  0% { transform: scale(0.8); opacity: 0.7; }
  50% { transform: scale(1.2); opacity: 1; box-shadow: 0 0 30px 10px #e0b060, 0 0 60px 20px rgba(224,176,96,0.5); }
  100% { transform: scale(0.9); opacity: 0.8; }
}
.scn-delight-has-voice-leads-tongue .candle {
  position: absolute; bottom: 18%; left: 55%; width: 8px; height: 30px;
  background: linear-gradient(180deg, #e0c080 0%, #a08050 100%);
  border-radius: 2px 2px 4px 4px;
  transform-origin: bottom center;
  animation: dh-candle 2s ease-in-out infinite;
}
@keyframes dh-candle {
  0% { transform: translateX(0) rotate(-1deg); }
  25% { transform: translateX(1px) rotate(1deg); }
  50% { transform: translateX(0) rotate(-2deg); }
  75% { transform: translateX(-1px) rotate(2deg); }
  100% { transform: translateX(0) rotate(-1deg); }
}
.scn-delight-has-voice-leads-tongue .candle::before {
  content: ''; position: absolute; top: -10px; left: 50%; width: 6px; height: 14px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse, #ffd060 0%, #ffa030 50%, transparent 100%);
  border-radius: 50% 50% 20% 20%;
  animation: dh-flame 1.5s ease-in-out infinite alternate;
}
@keyframes dh-flame {
  0% { transform: translateX(-50%) scaleY(0.9) rotate(-2deg); }
  50% { transform: translateX(-50%) scaleY(1.1) rotate(2deg); }
  100% { transform: translateX(-50%) scaleY(0.95) rotate(-1deg); }
}
.scn-delight-has-voice-leads-tongue .shadow {
  position: absolute; bottom: 24%; left: 35%; width: 50px; height: 70px;
  background: rgba(0,0,0,0.4);
  filter: blur(12px);
  border-radius: 50%;
  animation: dh-shadow 6s ease-in-out infinite alternate;
}
@keyframes dh-shadow {
  0% { transform: translateX(-5px) scaleX(1.1); opacity: 0.6; }
  50% { transform: translateX(5px) scaleX(0.9); opacity: 0.8; }
  100% { transform: translateX(-5px) scaleX(1.1); opacity: 0.6; }
}

/* Scene: self-appreciative-fond-fame-topic */
.scn-self-appreciative-fond-fame-topic {
  background: 
    linear-gradient(180deg, #2a1e12 0%, #1a1008 60%, #0a0603 100%),
    radial-gradient(ellipse at 50% 40%, #4a3020 0%, transparent 70%);
}
.scn-self-appreciative-fond-fame-topic .room-bg {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #3a2818 0%, #1a1008 100%);
  border-radius: 0 0 15% 15%;
  animation: sf-room 18s ease-in-out infinite alternate;
}
@keyframes sf-room {
  0% { opacity: 0.85; box-shadow: inset 0 0 20px rgba(0,0,0,0.2); }
  50% { opacity: 1; }
  100% { opacity: 0.9; box-shadow: inset 0 0 40px rgba(0,0,0,0.3); }
}
.scn-self-appreciative-fond-fame-topic .desk {
  position: absolute; bottom: 15%; left: 50%; width: 180px; height: 10px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2818 0%, #1a1008 100%);
  border-radius: 3px;
  box-shadow: 0 -3px 6px rgba(0,0,0,0.4);
}
.scn-self-appreciative-fond-fame-topic .figure {
  position: absolute; bottom: 12%; left: 40%; width: 28px; height: 90px;
  background: linear-gradient(180deg, #1a0e08 0%, #0a0502 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sf-figure 5s ease-in-out infinite;
}
@keyframes sf-figure {
  0% { transform: translateX(0) translateY(0) rotate(-0.3deg); }
  30% { transform: translateX(3px) translateY(-1px) rotate(0.3deg); }
  60% { transform: translateX(-3px) translateY(0) rotate(-0.3deg); }
  100% { transform: translateX(0) translateY(0) rotate(-0.3deg); }
}
.scn-self-appreciative-fond-fame-topic .mirror {
  position: absolute; bottom: 35%; left: 60%; width: 40px; height: 60px;
  background: linear-gradient(135deg, #4a3828 0%, #2a1a0c 100%);
  border: 2px solid #6a4a2a;
  border-radius: 4px;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.3);
  transform: perspective(200px) rotateY(10deg);
  animation: sf-mirror 12s ease-in-out infinite alternate;
}
@keyframes sf-mirror {
  0% { opacity: 0.8; box-shadow: inset 0 0 10px rgba(0,0,0,0.2), 0 0 8px rgba(0,0,0,0.1); }
  50% { opacity: 1; box-shadow: inset 0 0 20px rgba(255,200,100,0.1), 0 0 12px rgba(0,0,0,0.2); }
  100% { opacity: 0.85; box-shadow: inset 0 0 10px rgba(0,0,0,0.2), 0 0 8px rgba(0,0,0,0.1); }
}
.scn-self-appreciative-fond-fame-topic .glow-mirror {
  position: absolute; bottom: 35%; left: 60%; width: 48px; height: 68px;
  background: radial-gradient(ellipse, rgba(200,150,80,0.15) 0%, transparent 70%);
  border-radius: 6px;
  animation: sf-glow-m 4s ease-in-out infinite alternate;
}
@keyframes sf-glow-m {
  0% { opacity: 0.3; transform: scale(0.95); }
  50% { opacity: 0.6; transform: scale(1.05); }
  100% { opacity: 0.4; transform: scale(0.98); }
}
.scn-self-appreciative-fond-fame-topic .candle {
  position: absolute; bottom: 12%; left: 30%; width: 6px; height: 30px;
  background: linear-gradient(180deg, #d0b080 0%, #a08050 100%);
  border-radius: 2px 2px 4px 4px;
  transform-origin: bottom center;
  animation: sf-candle 2.5s ease-in-out infinite;
}
@keyframes sf-candle {
  0% { transform: translateX(0) rotate(-1deg); }
  25% { transform: translateX(0.5px) rotate(1deg); }
  50% { transform: translateX(0) rotate(-1.5deg); }
  75% { transform: translateX(-0.5px) rotate(1.5deg); }
  100% { transform: translateX(0) rotate(-1deg); }
}
.scn-self-appreciative-fond-fame-topic .candle::before {
  content: ''; position: absolute; top: -8px; left: 50%; width: 5px; height: 12px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse, #ffd060 0%, #ffa030 50%, transparent 100%);
  border-radius: 50% 50% 20% 20%;
  animation: sf-flame 1.8s ease-in-out infinite alternate;
  filter: blur(1px);
}
@keyframes sf-flame {
  0% { transform: translateX(-50%) scaleY(0.85) rotate(-2deg); }
  50% { transform: translateX(-50%) scaleY(1.15) rotate(2deg); }
  100% { transform: translateX(-50%) scaleY(0.9) rotate(-1deg); }
}
.scn-self-appreciative-fond-fame-topic .book-stack {
  position: absolute; bottom: 16%; left: 50%; width: 30px; height: 24px;
  background: 
    linear-gradient(180deg, #5a3a20 0%, #3a2010 30%, #2a1a0a 100%);
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  transform: rotate(-5deg);
  animation: sf-books 8s ease-in-out infinite alternate;
}
@keyframes sf-books {
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-1px); }
  100% { transform: rotate(-5deg) translateY(0); }
}

.scn-arts-powerless\? {
  background:
    linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 50%, #0f0a05 100%),
    radial-gradient(ellipse at 70% 30%, rgba(200,150,100,0.08) 0%, transparent 70%);
}
.scn-arts-powerless\? .bg-wall {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 40%, #0f0a05 100%);
  animation: ap-bg 8s ease-in-out infinite alternate;
}
.scn-arts-powerless\? .table {
  position: absolute;
  bottom: 20%;
  left: 10%;
  width: 80%;
  height: 12%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 4px;
  box-shadow: 0 -4px 10px rgba(0,0,0,0.6);
}
.scn-arts-powerless\? .figure {
  position: absolute;
  bottom: 30%;
  left: 25%;
  width: 40px;
  height: 60px;
  background: #0d0d1a;
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ap-figure 3s ease-in-out infinite alternate;
}
.scn-arts-powerless\? .candle {
  position: absolute;
  bottom: 30%;
  left: 55%;
  width: 8px;
  height: 30px;
  background: linear-gradient(90deg, #f0e0c0, #d0b080, #b09070);
  border-radius: 2px;
  box-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}
.scn-arts-powerless\? .flame {
  position: absolute;
  bottom: calc(30% + 30px);
  left: 55%;
  width: 12px;
  height: 16px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #ffd080 0%, #ffa040 50%, transparent 100%);
  box-shadow: 0 0 20px 8px rgba(255,160,64,0.5), 0 0 40px 16px rgba(255,160,64,0.2);
  border-radius: 50%;
  animation: ap-flame 0.6s ease-in-out infinite alternate;
}
.scn-arts-powerless\? .page {
  position: absolute;
  bottom: 30%;
  left: 40%;
  width: 60px;
  height: 40px;
  background: linear-gradient(180deg, #f5f0e0 0%, #d0c8b0 100%);
  border-radius: 1px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  transform: rotate(-2deg);
  animation: ap-page 4s ease-in-out infinite alternate;
}
.scn-arts-powerless\? .dust-1,
.scn-arts-powerless\? .dust-2 {
  position: absolute;
  width: 4px;
  height: 4px;
  background: rgba(255,220,180,0.4);
  border-radius: 50%;
  filter: blur(1px);
}
.scn-arts-powerless\? .dust-1 {
  top: 10%;
  left: 20%;
  animation: ap-dust1 12s linear infinite;
}
.scn-arts-powerless\? .dust-2 {
  top: 15%;
  right: 25%;
  animation: ap-dust2 15s linear infinite;
  animation-delay: 3s;
}

@keyframes ap-bg {
  0%   { opacity: 1; background-position: 0% 0%; }
  50%  { opacity: 0.9; background-position: 2% 1%; }
  100% { opacity: 1; background-position: 0% 0%; }
}
@keyframes ap-figure {
  0%   { transform: translateX(0) rotate(0deg); }
  50%  { transform: translateX(2px) rotate(2deg) scaleY(0.98); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes ap-flame {
  0%   { transform: translateX(-50%) scale(1) rotate(0deg); opacity: 0.9; }
  50%  { transform: translateX(-50%) scale(1.05,0.85) rotate(5deg); opacity: 1; }
  100% { transform: translateX(-50%) scale(0.95,1.05) rotate(-5deg); opacity: 0.85; }
}
@keyframes ap-page {
  0%   { transform: rotate(-2deg) translateY(0); }
  50%  { transform: rotate(0deg) translateY(-1px); box-shadow: 0 4px 6px rgba(0,0,0,0.3); }
  100% { transform: rotate(2deg) translateY(0); }
}
@keyframes ap-dust1 {
  0%   { transform: translate(0,0); opacity: 0; }
  10%  { opacity: 0.6; }
  50%  { transform: translate(40px,-80px); opacity: 0.4; }
  90%  { opacity: 0.2; }
  100% { transform: translate(80px,-160px); opacity: 0; }
}
@keyframes ap-dust2 {
  0%   { transform: translate(0,0); opacity: 0; }
  20%  { opacity: 0.5; }
  60%  { transform: translate(-30px,-100px); opacity: 0.3; }
  100% { transform: translate(-60px,-200px); opacity: 0; }
}

/* Scene: physician-help-people-wrongdoing */
.scn-physician-help-people-wrongdoing {
  background: linear-gradient(180deg, #2a1a0e 0%, #1a0e05 100%), radial-gradient(ellipse at 70% 60%, #3a2a1a 0%, transparent 70%);
}
.scn-physician-help-people-wrongdoing .bg-wall {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #1e1308 0%, #0d0804 100%);
}
.scn-physician-help-people-wrongdoing .table {
  position: absolute;
  bottom: 15%;
  left: 20%;
  right: 20%;
  height: 8%;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%);
  border-radius: 4px;
  box-shadow: inset 0 2px 6px rgba(0,0,0,0.5);
}
.scn-physician-help-people-wrongdoing .physician {
  position: absolute;
  bottom: 25%;
  left: 15%;
  width: 30px;
  height: 60px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom;
  animation: phw-breathe 5s ease-in-out infinite;
}
.scn-physician-help-people-wrongdoing .patient-a {
  position: absolute;
  bottom: 22%;
  right: 25%;
  width: 25px;
  height: 50px;
  background: linear-gradient(180deg, #2a1a0e 0%, #1a0e05 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  animation: phw-sway 7s ease-in-out infinite;
}
.scn-physician-help-people-wrongdoing .patient-b {
  position: absolute;
  bottom: 20%;
  right: 10%;
  width: 20px;
  height: 40px;
  background: linear-gradient(180deg, #2a1a0e 0%, #1a0e05 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  animation: phw-nod 9s ease-in-out infinite;
}
.scn-physician-help-people-wrongdoing .candle {
  position: absolute;
  bottom: 32%;
  left: 45%;
  width: 6px;
  height: 18px;
  background: linear-gradient(180deg, #ffd080 0%, #b08040 100%);
  border-radius: 2px;
  animation: phw-glow 3s ease-in-out infinite alternate;
}
.scn-physician-help-people-wrongdoing .halo {
  position: absolute;
  bottom: 32%;
  left: 45%;
  width: 40px;
  height: 40px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, #ffd080 0%, transparent 70%);
  animation: phw-halo 3s ease-in-out infinite alternate;
}
@keyframes phw-breathe {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes phw-sway {
  0% { transform: rotate(0); }
  30% { transform: rotate(2deg); }
  60% { transform: rotate(-1deg); }
  100% { transform: rotate(0); }
}
@keyframes phw-nod {
  0% { transform: translateY(0) rotate(0); }
  25% { transform: translateY(2px) rotate(1deg); }
  50% { transform: translateY(-1px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes phw-glow {
  0% { opacity: 0.7; box-shadow: 0 0 8px 2px #ffd080; }
  50% { opacity: 1; box-shadow: 0 0 16px 6px #ffd080; }
  100% { opacity: 0.8; box-shadow: 0 0 10px 3px #d09040; }
}
@keyframes phw-halo {
  0% { opacity: 0.3; transform: translate(-50%, -50%) scale(0.8); }
  50% { opacity: 0.6; transform: translate(-50%, -50%) scale(1.2); }
  100% { opacity: 0.4; transform: translate(-50%, -50%) scale(1); }
}

/* Scene: socrates-draws-out-theaetetus */
.scn-socrates-draws-out-theaetetus {
  background: linear-gradient(180deg, #1c1610 0%, #0f0a06 100%), radial-gradient(ellipse at 50% 80%, #2c221a 0%, transparent 70%);
}
.scn-socrates-draws-out-theaetetus .bg-stone {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #2a2018 0%, #1a140e 100%);
}
.scn-socrates-draws-out-theaetetus .floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 15%;
  background: linear-gradient(180deg, #3a2c20 0%, #1e140c 100%);
}
.scn-socrates-draws-out-theaetetus .column-l {
  position: absolute;
  left: 10%;
  top: 5%;
  width: 20px;
  height: 80%;
  background: linear-gradient(90deg, #4a3a2a 0%, #2a1e14 50%, #1a1008 100%);
  border-radius: 4px;
  box-shadow: 2px 0 8px rgba(0,0,0,0.5);
}
.scn-socrates-draws-out-theaetetus .column-r {
  position: absolute;
  right: 10%;
  top: 5%;
  width: 20px;
  height: 80%;
  background: linear-gradient(90deg, #4a3a2a 0%, #2a1e14 50%, #1a1008 100%);
  border-radius: 4px;
  box-shadow: -2px 0 8px rgba(0,0,0,0.5);
}
.scn-socrates-draws-out-theaetetus .socrates {
  position: absolute;
  bottom: 25%;
  left: 20%;
  width: 35px;
  height: 70px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom;
  animation: sdt-gesture 8s ease-in-out infinite;
}
.scn-socrates-draws-out-theaetetus .theaetetus {
  position: absolute;
  bottom: 22%;
  right: 25%;
  width: 30px;
  height: 60px;
  background: linear-gradient(180deg, #2a1c10 0%, #1a0e05 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom;
  animation: sdt-listen 10s ease-in-out infinite;
}
.scn-socrates-draws-out-theaetetus .lamp {
  position: absolute;
  bottom: 40%;
  left: 45%;
  width: 8px;
  height: 20px;
  background: linear-gradient(180deg, #e0a050 0%, #a06020 100%);
  border-radius: 2px;
  animation: sdt-lamp 4s ease-in-out infinite alternate;
}
.scn-socrates-draws-out-theaetetus .glow {
  position: absolute;
  bottom: 40%;
  left: 45%;
  width: 60px;
  height: 60px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, #e0a050 0%, transparent 60%);
  animation: sdt-glow 4s ease-in-out infinite alternate;
}
@keyframes sdt-gesture {
  0% { transform: rotate(0) translateY(0); }
  30% { transform: rotate(-5deg) translateY(-3px); }
  60% { transform: rotate(3deg) translateY(-1px); }
  100% { transform: rotate(0) translateY(0); }
}
@keyframes sdt-listen {
  0% { transform: rotate(0); }
  25% { transform: rotate(2deg) translateX(2px); }
  50% { transform: rotate(-1deg) translateX(-1px); }
  100% { transform: rotate(0); }
}
@keyframes sdt-lamp {
  0% { opacity: 0.8; box-shadow: 0 0 10px 4px #e0a050; }
  50% { opacity: 1; box-shadow: 0 0 20px 8px #ffc080; }
  100% { opacity: 0.9; box-shadow: 0 0 14px 5px #c08030; }
}
@keyframes sdt-glow {
  0% { opacity: 0.2; transform: translate(-50%, -50%) scale(0.8); }
  50% { opacity: 0.5; transform: translate(-50%, -50%) scale(1.2); }
  100% { opacity: 0.3; transform: translate(-50%, -50%) scale(1); }
}

.scn-pasiphaee-bull { background: linear-gradient(180deg, #1a1020 0%, #2a1820 40%, #3a1a20 100%), radial-gradient(ellipse at 60% 30%, #4a3030 0%, transparent 60%); }
.scn-pasiphaee-bull .bg { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 50%, #2a1520 0%, #0a0508 100%); animation: pb-pulse 8s ease-in-out infinite alternate; }
.scn-pasiphaee-bull .wall { position:absolute; left:0; right:0; top:0; height:60%; background: linear-gradient(180deg, #2a1520 0%, #1a0a15 100%); border-radius: 0 0 20% 20% / 0 0 10% 10%; box-shadow: inset 0 -20px 40px rgba(0,0,0,.6); }
.scn-pasiphaee-bull .floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #1a0a0f 0%, #0a0505 100%); box-shadow: inset 0 10px 20px rgba(0,0,0,.5); }
.scn-pasiphaee-bull .bull { position:absolute; bottom:25%; left:20%; width:40%; height:40%; background: linear-gradient(135deg, #3a2a20 0%, #1a0a0a 100%); border-radius: 60% 40% 30% 50% / 50% 40% 60% 50%; box-shadow: 0 10px 30px rgba(0,0,0,.8); animation: pb-bull 2s ease-in-out infinite; transform-origin: bottom center; }
.scn-pasiphaee-bull .figure { position:absolute; bottom:28%; right:25%; width:15%; height:50%; background: linear-gradient(180deg, #2a1a15 0%, #1a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 5px 15px rgba(0,0,0,.5); animation: pb-figure 3s ease-in-out infinite; transform-origin: bottom center; }
.scn-pasiphaee-bull .lantern { position:absolute; top:40%; left:55%; width:6%; height:10%; background: radial-gradient(circle, #d09050 0%, #b06030 50%, #402010 100%); border-radius: 30% 30% 20% 20%; box-shadow: 0 0 30px 20px #b06030, 0 0 60px 40px rgba(176,96,48,.3); animation: pb-lantern 0.5s ease-in-out infinite alternate; }
.scn-pasiphaee-bull .shadow { position:absolute; bottom:25%; left:18%; width:45%; height:15%; background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 100%); animation: pb-shadow 2s ease-in-out infinite; }
.scn-pasiphaee-bull .dust-a { position:absolute; top:20%; left:30%; width:40px; height:10px; background: rgba(100,80,60,.2); border-radius:50%; filter: blur(4px); animation: pb-drift-a 8s linear infinite; }
.scn-pasiphaee-bull .dust-b { position:absolute; top:35%; right:20%; width:30px; height:8px; background: rgba(80,60,40,.15); border-radius:50%; filter: blur(3px); animation: pb-drift-b 10s linear infinite; animation-delay: -4s; }
@keyframes pb-pulse { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes pb-bull { 0% { transform: scale(1) rotate(0deg) } 50% { transform: scale(1.02) rotate(1deg) translateY(-2px) } 100% { transform: scale(1) rotate(0deg) } }
@keyframes pb-figure { 0% { transform: rotate(-2deg) translateY(0) } 25% { transform: rotate(2deg) translateY(-3px) } 50% { transform: rotate(-1deg) translateY(1px) } 75% { transform: rotate(1deg) translateY(-1px) } 100% { transform: rotate(-2deg) translateY(0) } }
@keyframes pb-lantern { 0% { opacity:.8; box-shadow: 0 0 20px 10px #b06030; } 50% { opacity:1; box-shadow: 0 0 40px 20px #e08040; } 100% { opacity:.85; box-shadow: 0 0 25px 12px #b06030; } }
@keyframes pb-shadow { 0% { opacity:.5; transform: scale(1) } 50% { opacity:.7; transform: scale(1.1) } 100% { opacity:.5; transform: scale(1) } }
@keyframes pb-drift-a { 0% { transform: translateX(0) translateY(0); opacity:0 } 10% { opacity:.6 } 50% { transform: translateX(80px) translateY(-20px); opacity:.3 } 90% { opacity:.6 } 100% { transform: translateX(160px) translateY(-40px); opacity:0 } }
@keyframes pb-drift-b { 0% { transform: translateX(0) translateY(0); opacity:0 } 10% { opacity:.4 } 50% { transform: translateX(-60px) translateY(-15px); opacity:.2 } 90% { opacity:.4 } 100% { transform: translateX(-120px) translateY(-30px); opacity:0 } }

.scn-kneeling-horse-wives { background: linear-gradient(180deg, #1a1510 0%, #2a2015 40%, #3a2a20 100%), radial-gradient(ellipse at 80% 70%, #4a3a30 0%, transparent 60%); }
.scn-kneeling-horse-wives .bg { position:absolute; inset:0; background: radial-gradient(ellipse at 40% 50%, #2a2015 0%, #0a0805 100%); animation: khw-glow 12s ease-in-out infinite alternate; }
.scn-kneeling-horse-wives .wall-left { position:absolute; left:0; top:0; width:20%; height:100%; background: linear-gradient(180deg, #1a150f 0%, #0a0805 100%); box-shadow: inset -10px 0 20px rgba(0,0,0,.5); }
.scn-kneeling-horse-wives .wall-right { position:absolute; right:0; top:0; width:30%; height:100%; background: linear-gradient(180deg, #1a150f 0%, #0a0805 100%); box-shadow: inset 10px 0 20px rgba(0,0,0,.5); }
.scn-kneeling-horse-wives .horse { position:absolute; bottom:20%; left:30%; width:40%; height:35%; background: linear-gradient(135deg, #3a2a1a 0%, #1a1008 100%); border-radius: 60% 40% 30% 50% / 40% 30% 60% 50%; box-shadow: 0 8px 20px rgba(0,0,0,.6); animation: khw-horse 4s ease-in-out infinite; transform-origin: bottom center; }
.scn-kneeling-horse-wives .rider { position:absolute; bottom:38%; left:35%; width:12%; height:30%; background: linear-gradient(180deg, #2a1a0f 0%, #1a0a05 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 5px 15px rgba(0,0,0,.4); animation: khw-rider 6s ease-in-out infinite; transform-origin: bottom center; }
.scn-kneeling-horse-wives .window { position:absolute; top:15%; right:10%; width:20%; height:30%; background: linear-gradient(135deg, rgba(200,180,150,.4) 0%, rgba(150,130,100,.2) 100%); border-radius: 10% 10% 5% 5%; box-shadow: 0 0 30px 10px rgba(200,180,150,.2), inset 0 0 10px rgba(255,255,200,.3); animation: khw-window 8s ease-in-out infinite alternate; }
.scn-kneeling-horse-wives .hay { position:absolute; bottom:15%; left:25%; width:50%; height:5%; background: linear-gradient(180deg, #6a5a40 0%, #4a3a20 100%); border-radius: 50% 50% 0 0; box-shadow: 0 -2px 4px rgba(0,0,0,.3); }
.scn-kneeling-horse-wives .dust { position:absolute; top:30%; left:45%; width:30px; height:8px; background: rgba(150,130,100,.15); border-radius:50%; filter: blur(3px); animation: khw-dust 20s linear infinite; animation-delay: -10s; }
@keyframes khw-glow { 0% { opacity:.7 } 50% { opacity:.9 } 100% { opacity:.8 } }
@keyframes khw-horse { 0% { transform: scale(1) rotate(0deg) } 50% { transform: scale(1.01) rotate(0.5deg) translateY(-1px) } 100% { transform: scale(1) rotate(0deg) } }
@keyframes khw-rider { 0% { transform: rotate(0deg) translateY(0) } 25% { transform: rotate(1deg) translateY(-2px) } 50% { transform: rotate(0deg) translateY(0) } 75% { transform: rotate(-1deg) translateY(-1px) } 100% { transform: rotate(0deg) translateY(0) } }
@keyframes khw-window { 0% { opacity:.6; box-shadow: 0 0 20px 5px rgba(200,180,150,.15); } 50% { opacity:.9; box-shadow: 0 0 40px 15px rgba(200,180,150,.3); } 100% { opacity:.7; box-shadow: 0 0 25px 8px rgba(200,180,150,.2); } }
@keyframes khw-dust { 0% { transform: translate(0,0) scale(1); opacity:0 } 10% { opacity:.5 } 50% { transform: translate(40px, -20px) scale(1.5); opacity:.2 } 90% { opacity:.5 } 100% { transform: translate(80px, -40px) scale(2); opacity:0 } }

.scn-passion-weighs-in-balance {
  background:
    radial-gradient(ellipse at 50% 30%, #fff8e7 0%, #f0dbc0 40%, #d4b896 100%),
    linear-gradient(180deg, #f5e6d0 0%, #e3d0b0 50%, #c4a67a 100%);
}

.scn-passion-weighs-in-balance .wall {
  position: absolute;
  inset: 0 0 60% 0;
  background: linear-gradient(180deg, #f0e0c8 0%, #e8d4b8 100%);
  border-bottom: 2px solid rgba(180, 140, 100, 0.3);
  animation: pib-wall 20s ease-in-out infinite alternate;
}

.scn-passion-weighs-in-balance .table {
  position: absolute;
  bottom: 0;
  left: 10%;
  right: 10%;
  height: 40%;
  background: linear-gradient(180deg, #b08a5e 0%, #8c6d47 100%);
  border-radius: 10% 10% 0 0 / 30% 30% 0 0;
  box-shadow: 0 -6px 20px rgba(0,0,0,0.15);
  animation: pib-table 15s ease-in-out infinite;
}

.scn-passion-weighs-in-balance .beam {
  position: absolute;
  bottom: 75%;
  left: 20%;
  right: 20%;
  height: 4px;
  background: #6b4f32;
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  transform-origin: 50% 50%;
  animation: pib-beam 6s ease-in-out infinite alternate;
}

.scn-passion-weighs-in-balance .pan-l,
.scn-passion-weighs-in-balance .pan-r {
  position: absolute;
  bottom: 72%;
  width: 40px;
  height: 40px;
  background: radial-gradient(circle at 50% 40%, #c4a67a 0%, #8c6d47 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.25);
}
.scn-passion-weighs-in-balance .pan-l {
  left: 22%;
  animation: pib-pan-l 6s ease-in-out infinite alternate;
}
.scn-passion-weighs-in-balance .pan-r {
  right: 22%;
  animation: pib-pan-r 6s ease-in-out infinite alternate;
}

.scn-passion-weighs-in-balance .figure-l,
.scn-passion-weighs-in-balance .figure-r {
  position: absolute;
  bottom: 72%;
  width: 24px;
  height: 60px;
  background: linear-gradient(180deg, #4a3e35 0%, #2e241c 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  z-index: 1;
}
.scn-passion-weighs-in-balance .figure-l {
  left: 28%;
  animation: pib-figure-l 8s ease-in-out infinite;
}
.scn-passion-weighs-in-balance .figure-r {
  right: 28%;
  animation: pib-figure-r 8s ease-in-out infinite;
}

.scn-passion-weighs-in-balance .glow {
  position: absolute;
  top: 15%;
  left: 45%;
  width: 60px;
  height: 60px;
  background: radial-gradient(circle, rgba(255,240,200,0.6) 0%, rgba(255,240,200,0) 80%);
  filter: blur(16px);
  animation: pib-glow 10s ease-in-out infinite alternate;
}

@keyframes pib-wall {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}

@keyframes pib-table {
  0%, 100% { transform: scaleY(1); }
  50% { transform: scaleY(0.98) translateY(2px); }
}

@keyframes pib-beam {
  0% { transform: rotate(-4deg); }
  50% { transform: rotate(0deg); }
  100% { transform: rotate(4deg); }
}

@keyframes pib-pan-l {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-3px) rotate(0deg); }
}

@keyframes pib-pan-r {
  0%, 100% { transform: translateY(0) rotate(2deg); }
  50% { transform: translateY(3px) rotate(0deg); }
}

@keyframes pib-figure-l {
  0%, 100% { transform: translateX(0) translateY(0) rotate(-2deg); }
  50% { transform: translateX(-2px) translateY(-2px) rotate(0deg); }
}

@keyframes pib-figure-r {
  0%, 100% { transform: translateX(0) translateY(0) rotate(2deg); }
  50% { transform: translateX(2px) translateY(-2px) rotate(0deg); }
}

@keyframes pib-glow {
  0% { opacity: 0.6; transform: scale(1); }
  50% { opacity: 0.9; transform: scale(1.1); }
  100% { opacity: 0.7; transform: scale(0.95); }
}

.scn-kneeling-horse-wives { 
  background: 
    radial-gradient(ellipse 50% 60% at 50% 70%, rgba(180,120,60,.25) 0%, transparent 70%),
    linear-gradient(180deg, #2a1f14 0%, #1a140e 40%, #0e0b08 100%);
}
.scn-kneeling-horse-wives .wall-back {
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, #2a1f14 0%, #1a140e 60%); 
  opacity: .6; animation: khw-wall 20s ease-in-out infinite;
}
.scn-kneeling-horse-wives .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(0deg, #3a2a1a 0%, #4a3a2a 60%, #3a2a1a 100%);
  border-radius: 20% 30% 0 0 / 40% 50% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,.6); 
  animation: khw-floor 15s ease-in-out infinite alternate;
}
.scn-kneeling-horse-wives .lantern {
  position: absolute; top: 25%; left: 60%; 
  width: 20px; height: 30px;
  background: radial-gradient(circle at 50% 50%, #ffc080 0%, #b06030 100%);
  border-radius: 10% 10% 30% 30%;
  box-shadow: 0 0 40px 15px rgba(255,160,60,.4), 0 0 80px 30px rgba(255,140,40,.2);
  animation: khw-lantern 4s ease-in-out infinite alternate;
}
.scn-kneeling-horse-wives .horse {
  position: absolute; bottom: 35%; left: 30%; 
  width: 80px; height: 70px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0e00 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  transform-origin: bottom center;
  box-shadow: 0 8px 16px rgba(0,0,0,.5);
  animation: khw-horse 6s ease-in-out infinite;
}
.scn-kneeling-horse-wives .rider {
  position: absolute; bottom: 42%; left: 28%;
  width: 16px; height: 32px;
  background: linear-gradient(180deg, #1a140e 0%, #0e0b08 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  transform-origin: bottom center;
  animation: khw-rider 6s ease-in-out infinite;
}
.scn-kneeling-horse-wives .hay {
  position: absolute; bottom: 30%; left: 50%; 
  width: 80px; height: 20px;
  background: linear-gradient(180deg, #6a5a3a 0%, #4a3a2a 100%);
  border-radius: 50% 50% 0 0;
  filter: blur(2px);
  animation: khw-hay 12s ease-in-out infinite alternate;
}
.scn-kneeling-horse-wives .window {
  position: absolute; top: 15%; right: 15%;
  width: 30px; height: 40px;
  background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%);
  border-radius: 5px;
  box-shadow: inset 0 0 10px rgba(0,20,40,.6);
  animation: khw-window 8s ease-in-out infinite alternate;
}
.scn-kneeling-horse-wives .rays {
  position: absolute; top: 25%; left: 60%;
  width: 200px; height: 200px;
  background: radial-gradient(ellipse 100% 100% at 0% 50%, rgba(255,180,80,.12) 0%, transparent 70%);
  transform-origin: 0% 50%;
  animation: khw-rays 6s ease-in-out infinite alternate;
}
@keyframes khw-wall { 0% { opacity:.5 } 50% { opacity:.7 } 100% { opacity:.5 } }
@keyframes khw-floor { 0% { transform: scaleY(1) translateY(0) } 50% { transform: scaleY(1.02) translateY(-2px) } 100% { transform: scaleY(1) translateY(0) } }
@keyframes khw-lantern { 0% { box-shadow:0 0 30px 10px rgba(255,160,60,.3),0 0 60px 20px rgba(255,140,40,.15); opacity:.85 } 50% { box-shadow:0 0 50px 20px rgba(255,180,80,.5),0 0 100px 40px rgba(255,160,60,.3); opacity:1 } 100% { box-shadow:0 0 30px 10px rgba(255,160,60,.3),0 0 60px 20px rgba(255,140,40,.15); opacity:.85 } }
@keyframes khw-horse { 0% { transform: rotate(-2deg) scaleY(1) } 25% { transform: rotate(0deg) scaleY(1.01) } 50% { transform: rotate(2deg) scaleY(1) } 75% { transform: rotate(0deg) scaleY(.99) } 100% { transform: rotate(-2deg) scaleY(1) } }
@keyframes khw-rider { 0% { transform: rotate(-1deg) translateX(0) } 25% { transform: rotate(1deg) translateX(2px) } 50% { transform: rotate(2deg) translateX(0) } 75% { transform: rotate(0deg) translateX(-2px) } 100% { transform: rotate(-1deg) translateX(0) } }
@keyframes khw-hay { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-4px) scale(1.05) } 100% { transform: translateY(0) scale(1) } }
@keyframes khw-window { 0% { box-shadow: inset 0 0 8px rgba(0,20,40,.5); } 50% { box-shadow: inset 0 0 20px rgba(0,20,40,.8); } 100% { box-shadow: inset 0 0 8px rgba(0,20,40,.5); } }
@keyframes khw-rays { 0% { transform: rotate(-5deg) scaleX(1); opacity:.5 } 50% { transform: rotate(5deg) scaleX(1.2); opacity:.8 } 100% { transform: rotate(-5deg) scaleX(1); opacity:.5 } }

.scn-delight-has-voice-leads-tongue {
  background: 
    linear-gradient(180deg, #0f0f1a 0%, #1a1a2e 40%, #25253a 100%),
    radial-gradient(ellipse at 50% 70%, #3a2a2a 0%, transparent 80%);
}

.scn-delight-has-voice-leads-tongue .bg-room {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(30,20,30,0.6) 100%);
}

.scn-delight-has-voice-leads-tongue .figure-silhouette {
  position: absolute;
  bottom: 15%;
  left: 35%;
  width: 70px;
  height: 140px;
  background: linear-gradient(180deg, #1a1a2a 0%, #12121a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: scaleX(0.6) rotate(0deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
  animation: dhv-fig 6s ease-in-out infinite alternate;
}

.scn-delight-has-voice-leads-tongue .voice-tongue {
  position: absolute;
  bottom: 38%;
  left: 48%;
  width: 8px;
  height: 8px;
  background: radial-gradient(circle, #ffb347 0%, #ff8c00 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 6px #ffb347, 0 0 40px 12px rgba(255,179,71,0.5);
  animation: dhv-voice 4s ease-in-out infinite;
  transform-origin: center bottom;
}

.scn-delight-has-voice-leads-tongue .ambient-glow {
  position: absolute;
  bottom: 15%;
  left: 30%;
  width: 120px;
  height: 160px;
  background: radial-gradient(ellipse at 60% 40%, rgba(255,179,71,0.15) 0%, transparent 70%);
  filter: blur(12px);
  animation: dhv-glow 8s ease-in-out infinite alternate;
}

.scn-delight-has-voice-leads-tongue .particle {
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,220,150,0.8) 0%, transparent 100%);
  filter: blur(2px);
  box-shadow: 0 0 6px 2px rgba(255,179,71,0.3);
}

.scn-delight-has-voice-leads-tongue .particle-1 {
  top: 25%;
  left: 48%;
  width: 6px;
  height: 6px;
  animation: dhv-float1 9s ease-in-out infinite;
}

.scn-delight-has-voice-leads-tongue .particle-2 {
  top: 18%;
  left: 55%;
  width: 4px;
  height: 4px;
  animation: dhv-float2 7s ease-in-out infinite;
  animation-delay: -2s;
}

.scn-delight-has-voice-leads-tongue .particle-3 {
  top: 32%;
  left: 44%;
  width: 5px;
  height: 5px;
  animation: dhv-float3 11s ease-in-out infinite;
  animation-delay: -4s;
}

@keyframes dhv-fig {
  0% { transform: scaleX(0.6) rotate(0deg) translateY(0); }
  50% { transform: scaleX(0.6) rotate(2deg) translateY(-2px); }
  100% { transform: scaleX(0.6) rotate(0deg) translateY(0); }
}

@keyframes dhv-voice {
  0% { transform: translate(0, 0) scale(1); opacity: 0.8; }
  25% { transform: translate(4px, -6px) scale(1.2); opacity: 1; }
  50% { transform: translate(8px, -2px) scale(0.9); opacity: 0.9; }
  75% { transform: translate(12px, -8px) scale(1.1); opacity: 1; }
  100% { transform: translate(16px, -4px) scale(1); opacity: 0.8; }
}

@keyframes dhv-glow {
  0% { opacity: 0.5; transform: scale(1); }
  100% { opacity: 0.8; transform: scale(1.05); }
}

@keyframes dhv-float1 {
  0% { transform: translate(0, 0) scale(1); opacity: 0.6; }
  33% { transform: translate(10px, -15px) scale(1.2); opacity: 1; }
  66% { transform: translate(-5px, -8px) scale(0.9); opacity: 0.8; }
  100% { transform: translate(0, 0) scale(1); opacity: 0.6; }
}

@keyframes dhv-float2 {
  0% { transform: translate(0, 0) scale(1); opacity: 0.7; }
  50% { transform: translate(-8px, -10px) scale(1.1); opacity: 1; }
  100% { transform: translate(0, 0) scale(1); opacity: 0.7; }
}

@keyframes dhv-float3 {
  0% { transform: translate(0, 0) scale(1); opacity: 0.5; }
  40% { transform: translate(12px, -12px) scale(1.3); opacity: 0.9; }
  80% { transform: translate(-4px, -6px) scale(0.8); opacity: 0.7; }
  100% { transform: translate(0, 0) scale(1); opacity: 0.5; }
}

.scn-contrary-to-evidence {
  background:
    linear-gradient(135deg, #f5e6d0 0%, #d9c8b0 50%, #b8a692 100%),
    radial-gradient(ellipse at 30% 40%, #fff7e6 0%, transparent 60%);
}
.scn-contrary-to-evidence .wall-left {
  position: absolute;
  inset: 0 50% 0 0;
  background: linear-gradient(180deg, #e6d5bb 0%, #cdb99a 100%);
}
.scn-contrary-to-evidence .wall-right {
  position: absolute;
  inset: 0 0 0 50%;
  background: linear-gradient(180deg, #d4c4a8 0%, #b8a28a 100%);
}
.scn-contrary-to-evidence .floor {
  position: absolute;
  bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #8b7a66 0%, #a6907a 40%, #d4c4a8 100%);
  transform-origin: bottom center;
  border-radius: 60% 60% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 12px 20px rgba(0,0,0,0.15);
  animation: cte-floor 12s ease-in-out infinite;
}
.scn-contrary-to-evidence .window {
  position: absolute;
  top: 10%; left: 35%; width: 30%; height: 40%;
  background: radial-gradient(ellipse at 50% 50%, #fffbe6 0%, #f0e0b0 40%, #d4b880 100%);
  border: 4px solid #5a4a3a;
  border-radius: 4px;
  box-shadow: 0 0 60px 20px rgba(240,224,176,0.6), inset 0 0 30px rgba(255,255,240,0.5);
  animation: cte-window 8s ease-in-out infinite alternate;
}
.scn-contrary-to-evidence .desk {
  position: absolute;
  bottom: 20%; left: 30%; width: 40%; height: 12%;
  background: linear-gradient(180deg, #6b5a4a 0%, #4d3f33 100%);
  border-radius: 2px 2px 8px 8px;
  box-shadow: 0 8px 16px rgba(0,0,0,0.3);
  transform: perspective(800px) rotateX(2deg);
}
.scn-contrary-to-evidence .shadow {
  position: absolute;
  bottom: 22%; left: 55%; width: 60px; height: 100px;
  background: rgba(40,30,20,0.5);
  border-radius: 40% 40% 10% 10% / 60% 60% 20% 20%;
  filter: blur(6px);
  transform-origin: bottom center;
  animation: cte-shadow 6s ease-in-out infinite;
}
.scn-contrary-to-evidence .figure {
  position: absolute;
  bottom: 22%; left: 48%; width: 40px; height: 90px;
  background: linear-gradient(180deg, #2a221a 0%, #1a140e 100%);
  border-radius: 45% 45% 30% 30% / 50% 50% 25% 25%;
  transform-origin: bottom center;
  animation: cte-figure 5s ease-in-out infinite;
}
.scn-contrary-to-evidence .pendulum {
  position: absolute;
  top: 5%; left: 60%; width: 4px; height: 60%;
  background: linear-gradient(180deg, #5a4a3a 0%, transparent 100%);
  transform-origin: top center;
  animation: cte-pendulum 3s ease-in-out infinite;
}
.scn-contrary-to-evidence .pendulum::after {
  content: "";
  position: absolute;
  bottom: 0; left: -8px;
  width: 20px; height: 20px;
  background: radial-gradient(circle, #b08060 0%, #5a3a2a 100%);
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0,0,0,0.4);
}

@keyframes cte-floor {
  0% { transform: scaleY(1) translateY(0); }
  50% { transform: scaleY(0.98) translateY(2px); }
  100% { transform: scaleY(1) translateY(0); }
}
@keyframes cte-window {
  0% { box-shadow: 0 0 40px 10px rgba(240,224,176,0.4); opacity: 0.8; }
  50% { box-shadow: 0 0 80px 30px rgba(240,224,176,0.7); opacity: 1; }
  100% { box-shadow: 0 0 50px 15px rgba(240,224,176,0.5); opacity: 0.85; }
}
@keyframes cte-shadow {
  0% { transform: scaleX(1) rotate(0deg); opacity: 0.5; }
  50% { transform: scaleX(1.2) rotate(2deg); opacity: 0.7; }
  100% { transform: scaleX(0.9) rotate(-1deg); opacity: 0.4; }
}
@keyframes cte-figure {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(4px) rotate(2deg); }
  100% { transform: translateX(-2px) rotate(-1deg); }
}
@keyframes cte-pendulum {
  0% { transform: rotate(-30deg); }
  50% { transform: rotate(30deg); }
  100% { transform: rotate(-30deg); }
}

.scn-bad-women-visits {
  background:
    linear-gradient(180deg, #1e1a24 0%, #2a2433 40%, #14111a 100%),
    radial-gradient(ellipse at 50% 60%, #3a3038 0%, #1a1620 70%);
}
.scn-bad-women-visits .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a2433 0%, #1e1a24 100%);
  animation: bwv-wall 8s ease-in-out infinite alternate;
}
.scn-bad-women-visits .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1e1a14 0%, #0d0b0a 100%);
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.6);
  animation: bwv-floor 9s ease-in-out infinite alternate;
}
.scn-bad-women-visits .hearth {
  position: absolute; bottom: 26%; left: 50%; width: 120px; height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: inset 0 -6px 12px rgba(0,0,0,0.8);
}
.scn-bad-women-visits .fire {
  position: absolute; bottom: 30%; left: 50%; width: 60px; height: 80px;
  transform: translateX(-50%) scale(1);
  background: radial-gradient(ellipse at 50% 80%, #c85a30 0%, #a0461a 40%, #4a2a12 70%, transparent 100%);
  border-radius: 50% 50% 30% 30% / 80% 80% 20% 20%;
  box-shadow: 0 0 40px 15px rgba(200,90,48,0.4), 0 0 80px 30px rgba(200,90,48,0.2);
  animation: bwv-fire 2.5s ease-in-out infinite alternate;
}
.scn-bad-women-visits .figure-main {
  position: absolute; bottom: 22%; left: 38%; width: 40px; height: 90px;
  background: linear-gradient(180deg, #2e2833 0%, #1a1620 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: -8px 0 12px rgba(0,0,0,0.4);
  animation: bwv-figure-main 4s ease-in-out infinite;
}
.scn-bad-women-visits .figure-visitor1 {
  position: absolute; bottom: 22%; right: 30%; width: 35px; height: 80px;
  background: linear-gradient(180deg, #3a2a2a 0%, #241a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  filter: brightness(0.9);
  animation: bwv-figure-visitor 5s ease-in-out infinite 1s;
}
.scn-bad-women-visits .figure-visitor2 {
  position: absolute; bottom: 20%; right: 18%; width: 38px; height: 85px;
  background: linear-gradient(180deg, #2a3a2a 0%, #1a241a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  filter: brightness(0.85);
  animation: bwv-figure-visitor 5.5s ease-in-out infinite 2s;
}
.scn-bad-women-visits .shadow-flicker {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 60%, transparent 50%, rgba(0,0,0,0.3) 100%);
  animation: bwv-flicker 3s ease-in-out infinite alternate;
}
@keyframes bwv-wall {
  0% { opacity: 0.7; }
  50% { opacity: 0.85; }
  100% { opacity: 0.7; }
}
@keyframes bwv-floor {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes bwv-fire {
  0% { transform: translateX(-50%) scale(1); opacity: 0.8; box-shadow: 0 0 30px 10px rgba(200,90,48,0.3), 0 0 60px 20px rgba(200,90,48,0.15); }
  50% { transform: translateX(-50%) scale(1.1) rotate(2deg); opacity: 1; box-shadow: 0 0 50px 20px rgba(200,90,48,0.5), 0 0 100px 40px rgba(200,90,48,0.3); }
  100% { transform: translateX(-50%) scale(0.95) rotate(-1deg); opacity: 0.85; box-shadow: 0 0 35px 12px rgba(200,90,48,0.35), 0 0 70px 25px rgba(200,90,48,0.2); }
}
@keyframes bwv-figure-main {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-4px) rotate(2deg); }
  50% { transform: translateY(-8px) rotate(-1deg); }
  75% { transform: translateY(-2px) rotate(1deg); }
}
@keyframes bwv-figure-visitor {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-6px) rotate(3deg); }
  60% { transform: translateY(-10px) rotate(-2deg); }
  85% { transform: translateY(-4px) rotate(1deg); }
}
@keyframes bwv-flicker {
  0% { opacity: 0.9; }
  50% { opacity: 0.7; }
  100% { opacity: 0.85; }
}

.scn-physician-help-people-wrongdoing {
  background:
    linear-gradient(180deg, #2a1e12 0%, #1e1509 40%, #0d0a05 100%),
    radial-gradient(ellipse at 50% 60%, #4a3020 0%, transparent 70%);
}
.scn-physician-help-people-wrongdoing .room-bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(0deg, #1a110b 0%, transparent 30%),
    radial-gradient(ellipse at 30% 50%, #2e1f12 0%, transparent 60%);
  opacity: 0.9;
  animation: ph-fade 12s ease-in-out infinite alternate;
}
.scn-physician-help-people-wrongdoing .window {
  position: absolute;
  top: 10%;
  left: 60%;
  width: 80px;
  height: 160px;
  background: linear-gradient(180deg, #35483a 0%, #1f2e23 60%, #0f1a12 100%);
  border: 2px solid #2a1e14;
  border-radius: 4px;
  box-shadow: inset 0 0 20px 8px rgba(60,80,50,0.4);
  animation: ph-window 18s ease-in-out infinite alternate;
}
.scn-physician-help-people-wrongdoing .doctor {
  position: absolute;
  bottom: 18%;
  left: 35%;
  width: 40px;
  height: 120px;
  background: linear-gradient(180deg, #3a2a1c 0%, #1e140d 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 20% 20%;
  transform-origin: bottom center;
  animation: ph-stance 20s ease-in-out infinite;
}
.scn-physician-help-people-wrongdoing .patient {
  position: absolute;
  bottom: 10%;
  left: 45%;
  width: 80px;
  height: 50px;
  background: linear-gradient(180deg, #2e2216 0%, #1a110b 100%);
  border-radius: 30% 30% 50% 50% / 40% 40% 60% 60%;
  transform-origin: center bottom;
  animation: ph-breathe 7s ease-in-out infinite;
}
.scn-physician-help-people-wrongdoing .lamp {
  position: absolute;
  bottom: 28%;
  left: 20%;
  width: 12px;
  height: 20px;
  background: radial-gradient(circle, #f0c068 0%, #b08040 70%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 32px 8px #c08040, 0 0 60px 16px rgba(192,128,64,0.3);
  animation: ph-lamp 4s ease-in-out infinite alternate;
}
.scn-physician-help-people-wrongdoing .desk {
  position: absolute;
  bottom: 14%;
  left: 30%;
  width: 140px;
  height: 20px;
  background: linear-gradient(180deg, #4a3220 0%, #2e1e12 100%);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.7);
  animation: ph-desk 30s ease-in-out infinite alternate;
}
.scn-physician-help-people-wrongdoing .dust {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(ellipse at 40% 30%, rgba(200,170,120,0.03) 0%, transparent 30%),
              radial-gradient(ellipse at 70% 50%, rgba(180,140,90,0.02) 0%, transparent 40%),
              radial-gradient(ellipse at 20% 70%, rgba(190,150,100,0.015) 0%, transparent 35%);
  animation: ph-dust 60s linear infinite;
}

@keyframes ph-fade { 0% { opacity: 0.85; } 50% { opacity: 0.95; } 100% { opacity: 0.88; } }
@keyframes ph-window { 0% { box-shadow: inset 0 0 20px 8px rgba(60,80,50,0.4); opacity: 1; } 50% { box-shadow: inset 0 0 30px 12px rgba(80,100,70,0.2); opacity: 0.8; } 100% { box-shadow: inset 0 0 20px 8px rgba(60,80,50,0.4); opacity: 1; } }
@keyframes ph-stance { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(1deg); } 100% { transform: translateY(0) rotate(-0.5deg); } }
@keyframes ph-breathe { 0% { transform: scaleY(1) translateY(0); } 50% { transform: scaleY(1.02) translateY(-2px); } 100% { transform: scaleY(1) translateY(0); } }
@keyframes ph-lamp { 0% { box-shadow: 0 0 24px 6px #c08040, 0 0 48px 12px rgba(192,128,64,0.3); opacity: 0.9; } 50% { box-shadow: 0 0 36px 10px #ffd060, 0 0 72px 20px rgba(255,208,96,0.4); opacity: 1; } 100% { box-shadow: 0 0 28px 8px #c08040, 0 0 56px 14px rgba(192,128,64,0.35); opacity: 0.95; } }
@keyframes ph-desk { 0% { transform: translateY(0); box-shadow: 0 4px 12px rgba(0,0,0,0.7); } 50% { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(0,0,0,0.8); } 100% { transform: translateY(0); box-shadow: 0 4px 12px rgba(0,0,0,0.7); } }
@keyframes ph-dust { 0% { background-position: 0% 0%; } 33% { background-position: 10% 5%; } 66% { background-position: -5% 2%; } 100% { background-position: 0% 0%; } }

.scn-self-appreciative-fond-fame-topic {
  background: linear-gradient(180deg, #1a1612 0%, #2b221b 40%, #3a2e24 100%);
  box-shadow: inset 0 0 60px 20px rgba(0,0,0,0.6);
  overflow: hidden;
}
.scn-self-appreciative-fond-fame-topic .wall {
  position: absolute;
  inset: 0 0 30% 0;
  background: linear-gradient(135deg, #2b221b 0%, #1a1612 50%, #3a2e24 100%);
  animation: sf-wall 12s ease-in-out infinite alternate;
}
.scn-self-appreciative-fond-fame-topic .floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 30%;
  background: linear-gradient(180deg, #3a2e24 0%, #1f1a14 100%);
  border-radius: 20% 20% 0 0 / 10% 10% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.5);
}
.scn-self-appreciative-fond-fame-topic .window-frame {
  position: absolute;
  top: 12%;
  right: 15%;
  width: 80px;
  height: 100px;
  border: 6px solid #4a3d2e;
  border-radius: 4px;
  background: transparent;
  box-shadow: inset 0 0 0 4px #1a1612, 0 4px 12px rgba(0,0,0,0.5);
}
.scn-self-appreciative-fond-fame-topic .night-sky {
  position: absolute;
  top: 12%;
  right: 15%;
  width: 68px;
  height: 88px;
  margin: 6px;
  background: linear-gradient(180deg, #0b0e1a 0%, #1a2140 100%);
  border-radius: 2px;
  box-shadow: 0 0 20px 5px rgba(10,20,40,0.4);
  animation: sf-sky 30s linear infinite;
}
.scn-self-appreciative-fond-fame-topic .lamp-glow {
  position: absolute;
  bottom: 38%;
  left: 38%;
  width: 120px;
  height: 120px;
  background: radial-gradient(circle, rgba(200,150,80,0.45) 0%, rgba(200,150,80,0.05) 50%, transparent 100%);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: sf-lamp-pulse 3s ease-in-out infinite alternate;
}
.scn-self-appreciative-fond-fame-topic .lamp-body {
  position: absolute;
  bottom: 35%;
  left: 35%;
  width: 24px;
  height: 30px;
  background: linear-gradient(180deg, #8a6a3a 0%, #4a3a1a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform: translate(-50%, 0);
  box-shadow: 0 2px 8px rgba(0,0,0,0.6);
}
.scn-self-appreciative-fond-fame-topic .desk {
  position: absolute;
  bottom: 25%;
  left: 20%;
  right: 40%;
  height: 14px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.5);
}
.scn-self-appreciative-fond-fame-topic .book {
  position: absolute;
  bottom: 30%;
  left: 30%;
  width: 40px;
  height: 6px;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a14 100%);
  border-radius: 20% 20% 0 0;
  transform: rotate(-8deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: sf-book-shift 4s ease-in-out infinite;
}
.scn-self-appreciative-fond-fame-topic .figure {
  position: absolute;
  bottom: 22%;
  left: 28%;
  width: 28px;
  height: 40px;
  background: linear-gradient(180deg, #1a1612 0%, #0a0806 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: 0 0 10px 2px rgba(0,0,0,0.3);
  animation: sf-figure-breathe 6s ease-in-out infinite;
}
.scn-self-appreciative-fond-fame-topic .mote {
  position: absolute;
  top: 20%;
  left: 45%;
  width: 4px;
  height: 4px;
  background: rgba(200,180,140,0.6);
  border-radius: 50%;
  filter: blur(1px);
  animation: sf-mote 12s ease-in-out infinite alternate;
}

@keyframes sf-wall {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes sf-sky {
  0% { background-position: 0 0; }
  100% { background-position: 0 100%; }
}
@keyframes sf-lamp-pulse {
  0% { transform: translate(-50%, -50%) scale(0.95); opacity: 0.7; }
  50% { transform: translate(-50%, -50%) scale(1.05); opacity: 1; }
  100% { transform: translate(-50%, -50%) scale(1); opacity: 0.8; }
}
@keyframes sf-book-shift {
  0% { transform: rotate(-8deg) translateX(0); }
  50% { transform: rotate(-6deg) translateX(2px); }
  100% { transform: rotate(-8deg) translateX(0); }
}
@keyframes sf-figure-breathe {
  0% { transform: scaley(1) translateY(0); }
  50% { transform: scaley(1.02) translateY(-2px); }
  100% { transform: scaley(1) translateY(0); }
}
@keyframes sf-mote {
  0% { transform: translate(0, 0); opacity: 0.2; }
  50% { transform: translate(-10px, -20px); opacity: 0.8; }
  100% { transform: translate(5px, -15px); opacity: 0.3; }
}

/* one block per scene id. Append to style.css. */
.scn-menedemus-playful-remark { 
  background: 
    radial-gradient(ellipse at 50% 50%, rgba(100,60,30,.3) 0%, transparent 60%),
    linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%);
}
.scn-menedemus-playful-remark .bg-wall { position:absolute; inset:0; background: linear-gradient(135deg, #4a3a2a 0%, #2a1a0a 50%, #1a120a 100%); }
.scn-menedemus-playful-remark .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-top: 2px solid #6a5a4a; }
.scn-menedemus-playful-remark .podium { position:absolute; bottom:25%; left:50%; width:60px; height:40px; margin-left:-30px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius:4% 4% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: mpr-podium 6s ease-in-out infinite; }
.scn-menedemus-playful-remark .menedemus { position:absolute; bottom:40%; left:50%; width:30px; height:70px; margin-left:-15px; background: linear-gradient(180deg, #1a1a12 0%, #0a0a06 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mpr-figure 4s ease-in-out infinite; }
.scn-menedemus-playful-remark .shadow { position:absolute; bottom:25%; left:50%; width:40px; height:8px; margin-left:-20px; background: rgba(0,0,0,.4); border-radius:50%; animation: mpr-shadow 4s ease-in-out infinite; }
.scn-menedemus-playful-remark .hat-a { position:absolute; bottom:65%; left:38%; width:16px; height:8px; background: #5a3a2a; border-radius: 2px 2px 0 0; box-shadow: 0 -4px 0 #2a1a0a; animation: mpr-hat-a 5s ease-in-out infinite; }
.scn-menedemus-playful-remark .hat-b { position:absolute; bottom:70%; left:50%; width:18px; height:10px; margin-left:-9px; background: #f0d080; border-radius: 50% 50% 0 0; box-shadow: 0 -5px 0 #b89050; animation: mpr-hat-b 7s ease-in-out infinite 1s; }
.scn-menedemus-playful-remark .hat-c { position:absolute; bottom:68%; left:60%; width:14px; height:6px; background: #6a4a3a; border-radius: 0 0 50% 50%; box-shadow: 0 4px 0 #3a2a1a; animation: mpr-hat-c 6s ease-in-out infinite 2s; }
.scn-menedemus-playful-remark .speech-bubble { position:absolute; top:20%; right:15%; width:50px; height:30px; background: rgba(200,180,160,.2); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; filter: blur(3px); animation: mpr-bubble 3s ease-in-out infinite alternate; }
@keyframes mpr-podium { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes mpr-figure { 0%,100% { transform: rotate(-2deg); } 50% { transform: rotate(2deg) translateY(-4px); } }
@keyframes mpr-shadow { 0%,100% { transform: scaleX(1) scaleY(1); opacity:.4; } 50% { transform: scaleX(1.2) scaleY(1.1); opacity:.6; } }
@keyframes mpr-hat-a { 0%,100% { transform: translateY(0) rotate(-5deg); } 50% { transform: translateY(-8px) rotate(5deg); } }
@keyframes mpr-hat-b { 0%,100% { transform: translateY(0) rotate(5deg); } 50% { transform: translateY(-12px) rotate(-5deg); } }
@keyframes mpr-hat-c { 0%,100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-6px) rotate(3deg); } }
@keyframes mpr-bubble { 0% { opacity:.3; transform: scale(.9); } 100% { opacity:.5; transform: scale(1.1); } }

.scn-farmers-ears-corn-empty-assurance {
  background: 
    linear-gradient(180deg, #6b4c2a 0%, #4a3318 40%, #3a2510 100%),
    radial-gradient(ellipse at 30% 80%, #8b6b3a 0%, transparent 60%);
}
.scn-farmers-ears-corn-empty-assurance .bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #8b6b3a 0%, #6b4c2a 60%, #4a3318 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.5);
  border-radius: 0 0 20% 20% / 0 0 10% 10%;
  animation: feca-bg 20s ease-in-out infinite alternate;
}
.scn-farmers-ears-corn-empty-assurance .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #5a3f22 0%, #3a2814 100%);
  box-shadow: inset 0 12px 24px rgba(0,0,0,0.6);
}
.scn-farmers-ears-corn-empty-assurance .window {
  position: absolute; top: 12%; left: 58%; width: 100px; height: 130px;
  background: linear-gradient(135deg, #ffe8c0 0%, #ffd080 80%);
  border-radius: 6px;
  box-shadow: inset 0 0 20px #fff, 0 0 40px rgba(255,210,100,0.6);
  animation: feca-window 6s ease-in-out infinite alternate;
}
.scn-farmers-ears-corn-empty-assurance .light-beam {
  position: absolute; top: 18%; left: 60%; width: 140px; height: 80%;
  background: linear-gradient(135deg, rgba(255,230,180,0.4) 0%, transparent 70%);
  clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%);
  filter: blur(4px);
  animation: feca-light 8s ease-in-out infinite alternate;
}
.scn-farmers-ears-corn-empty-assurance .farmer {
  position: absolute; bottom: 28%; left: 20%; width: 50px; height: 110px;
  background: linear-gradient(180deg, #2a1e10 0%, #1a1208 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: feca-breath 4s ease-in-out infinite;
}
.scn-farmers-ears-corn-empty-assurance .farmer::before {
  content: ''; position: absolute; top: -8px; left: 10px; width: 30px; height: 25px;
  background: #1a1208;
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  transform: rotate(-10deg);
}
.scn-farmers-ears-corn-empty-assurance .corn-stalk {
  position: absolute; bottom: 30%; left: 35%; width: 6px; height: 100px;
  background: linear-gradient(180deg, #6b8a3a 0%, #4a6a2a 100%);
  border-radius: 2px;
  transform-origin: bottom center;
  animation: feca-stalk 5s ease-in-out infinite alternate;
}
.scn-farmers-ears-corn-empty-assurance .ear-heavy {
  position: absolute; bottom: 60%; left: 32%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #b89a4a 0%, #8a6a2a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform: rotate(30deg);
  transform-origin: top center;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: feca-heavy 3s ease-in-out infinite alternate;
}
.scn-farmers-ears-corn-empty-assurance .ear-empty {
  position: absolute; bottom: 68%; left: 36%; width: 14px; height: 34px;
  background: linear-gradient(180deg, #a08840 0%, #7a6830 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform: rotate(-20deg);
  transform-origin: top center;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: feca-empty 4s ease-in-out infinite alternate;
}

@keyframes feca-bg {
  0% { opacity: 0.9; }
  50% { opacity: 1; box-shadow: inset 0 0 80px rgba(0,0,0,0.4); }
  100% { opacity: 0.85; }
}
@keyframes feca-window {
  0% { box-shadow: inset 0 0 20px #fff, 0 0 40px rgba(255,210,100,0.6); }
  50% { box-shadow: inset 0 0 30px #fff, 0 0 60px rgba(255,210,100,0.8); transform: scale(1.01); }
  100% { box-shadow: inset 0 0 15px #fff, 0 0 35px rgba(255,210,100,0.5); }
}
@keyframes feca-light {
  0% { opacity: 0.7; transform: translateX(0) scaleX(1); }
  50% { opacity: 1; transform: translateX(4px) scaleX(1.02); }
  100% { opacity: 0.8; transform: translateX(-2px) scaleX(0.98); }
}
@keyframes feca-breath {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes feca-stalk {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(2deg); }
  100% { transform: rotate(-1deg); }
}
@keyframes feca-heavy {
  0% { transform: rotate(25deg); }
  50% { transform: rotate(35deg); }
  100% { transform: rotate(28deg); }
}
@keyframes feca-empty {
  0% { transform: rotate(-25deg); }
  50% { transform: rotate(-15deg); }
  100% { transform: rotate(-20deg); }
}

.scn-arts-powerless\? {
  background:
    linear-gradient(180deg, #1a1a3e 0%, #2a1a2a 50%, #1e1e1e 100%),
    radial-gradient(ellipse at 30% 50%, #c08040 0%, transparent 70%);
}
.scn-arts-powerless\? .room-bg {
  position: absolute;
  inset: 0 0 25% 0;
  background: linear-gradient(180deg, #1e1e2e 0%, #0e0e1a 100%);
  border-radius: 0 0 30% 30% / 0 0 20% 20%;
  animation: ap-bg-pulse 12s ease-in-out infinite alternate;
}
.scn-arts-powerless\? .floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 25%;
  background: linear-gradient(180deg, #2a1a0e 0%, #1a0e06 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,.6);
}
.scn-arts-powerless\? .lamp-stand {
  position: absolute;
  bottom: 20%;
  left: 20%;
  width: 6px;
  height: 60%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0e 100%);
  border-radius: 2px;
  transform-origin: bottom center;
  animation: ap-stand-sway 8s ease-in-out infinite alternate;
}
.scn-arts-powerless\? .lamp-glow {
  position: absolute;
  bottom: 75%;
  left: 17%;
  width: 40px;
  height: 40px;
  background: radial-gradient(circle, #ffd060 0%, #c08040 50%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px rgba(192,128,64,.5), 0 0 100px 40px rgba(192,128,64,.2);
  animation: ap-glow-flicker 3s ease-in-out infinite alternate;
}
.scn-arts-powerless\? .figure {
  position: absolute;
  bottom: 12%;
  left: 45%;
  width: 24px;
  height: 60px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ap-figure-sway 5s ease-in-out infinite;
}
.scn-arts-powerless\? .book {
  position: absolute;
  bottom: 8%;
  right: 30%;
  width: 28px;
  height: 8px;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%);
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,.5);
  animation: ap-book-pulse 3s ease-in-out infinite alternate;
}
.scn-arts-powerless\? .shadow {
  position: absolute;
  bottom: 7%;
  left: 40%;
  width: 50px;
  height: 6px;
  background: rgba(0,0,0,.4);
  border-radius: 50%;
  filter: blur(4px);
  transform-origin: center bottom;
  animation: ap-shadow-tremor 2s ease-in-out infinite;
}
.scn-arts-powerless\? .dust {
  position: absolute;
  top: 30%;
  left: 30%;
  width: 4px;
  height: 4px;
  background: rgba(240,220,180,.3);
  border-radius: 50%;
  filter: blur(2px);
  animation: ap-dust-drift 15s linear infinite;
}
.scn-arts-powerless\? .dust:nth-of-type(2) {
  left: 60%;
  top: 50%;
  animation-delay: -5s;
  animation-duration: 18s;
  width: 3px;
  height: 3px;
}
@keyframes ap-bg-pulse {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes ap-stand-sway {
  0% { transform: rotate(-1deg); }
  50% { transform: rotate(1deg); }
  100% { transform: rotate(-0.5deg); }
}
@keyframes ap-glow-flicker {
  0% { opacity: 0.6; box-shadow: 0 0 40px 15px rgba(192,128,64,.4), 0 0 80px 30px rgba(192,128,64,.15); }
  50% { opacity: 1; box-shadow: 0 0 80px 25px rgba(255,208,96,.6), 0 0 120px 40px rgba(255,208,96,.3); }
  100% { opacity: 0.7; box-shadow: 0 0 50px 18px rgba(192,128,64,.45), 0 0 90px 35px rgba(192,128,64,.2); }
}
@keyframes ap-figure-sway {
  0% { transform: translateX(0) rotate(-1deg); }
  25% { transform: translateX(2px) rotate(1deg); }
  50% { transform: translateX(-1px) rotate(-0.5deg); }
  75% { transform: translateX(1px) rotate(0.5deg); }
  100% { transform: translateX(0) rotate(-1deg); }
}
@keyframes ap-book-pulse {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.1); }
  100% { transform: scaleY(1); }
}
@keyframes ap-shadow-tremor {
  0% { transform: scaleX(1) translateY(0); }
  25% { transform: scaleX(1.05) translateY(1px); }
  50% { transform: scaleX(0.95) translateY(-1px); }
  75% { transform: scaleX(1.03) translateY(0.5px); }
  100% { transform: scaleX(1) translateY(0); }
}
@keyframes ap-dust-drift {
  0% { transform: translate(0, 0) scale(1); opacity: 0; }
  10% { opacity: 0.6; }
  90% { opacity: 0.4; }
  100% { transform: translate(30px, -20px) scale(0.5); opacity: 0; }
}

.scn-moon-wife-visibility { background: linear-gradient(180deg, #0a0a2e 0%, #1a1a4e 40%, #2a2a5e 100%), radial-gradient(ellipse at 50% 100%, #2a2a5e 0%, transparent 70%); }
.scn-moon-wife-visibility .sky { position: absolute; inset: 0 0 0 0; background: linear-gradient(180deg, transparent 0%, rgba(20,20,80,0.4) 100%); animation: mwv-sky 20s ease-in-out infinite alternate; }
.scn-moon-wife-visibility .moon { position: absolute; top: 15%; left: 50%; width: 80px; height: 80px; transform: translateX(-50%); background: radial-gradient(circle, #f0e8d0 0%, #c8c0a0 60%, #8a8060 100%); border-radius: 50%; box-shadow: 0 0 40px 10px rgba(200,192,160,0.4), 0 0 80px 20px rgba(200,192,160,0.2); animation: mwv-moon-glow 8s ease-in-out infinite alternate; }
.scn-moon-wife-visibility .hills { position: absolute; bottom: 30%; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%); border-radius: 30% 70% 0 0 / 60% 40% 0 0; animation: mwv-hills 15s ease-in-out infinite alternate; }
.scn-moon-wife-visibility .house { position: absolute; bottom: 28%; left: 50%; width: 100px; height: 80px; transform: translateX(-50%); background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 8% 8% 4% 4%; box-shadow: 0 4px 8px rgba(0,0,0,0.5); animation: mwv-house 12s ease-in-out infinite; }
.scn-moon-wife-visibility .window { position: absolute; bottom: 35%; left: 50%; width: 20px; height: 25px; transform: translateX(-50%); background: radial-gradient(circle, #e8c870 0%, #c8a050 70%); border-radius: 20%; box-shadow: 0 0 20px 6px rgba(200,160,80,0.5), 0 0 40px 12px rgba(200,160,80,0.3); animation: mwv-window-glow 4s ease-in-out infinite alternate; }
.scn-moon-wife-visibility .figure { position: absolute; bottom: 28%; left: 50%; width: 16px; height: 30px; transform: translateX(-50%); background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: mwv-figure-turn 6s ease-in-out infinite; }
.scn-moon-wife-visibility .cloud-a { position: absolute; top: 20%; left: -80px; width: 120px; height: 20px; background: linear-gradient(180deg, rgba(255,255,255,0.3) 0%, rgba(255,255,255,0.05) 100%); border-radius: 50%; filter: blur(8px); animation: mwv-cloud-drift 30s linear infinite; }
.scn-moon-wife-visibility .cloud-b { position: absolute; top: 25%; left: -60px; width: 90px; height: 14px; background: linear-gradient(180deg, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0.02) 100%); border-radius: 50%; filter: blur(6px); animation: mwv-cloud-drift 40s linear infinite; animation-delay: -15s; }
@keyframes mwv-sky { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes mwv-moon-glow { 0% { box-shadow: 0 0 30px 8px rgba(200,192,160,0.3), 0 0 60px 15px rgba(200,192,160,0.15); } 50% { box-shadow: 0 0 50px 15px rgba(200,192,160,0.5), 0 0 100px 30px rgba(200,192,160,0.3); } 100% { box-shadow: 0 0 35px 10px rgba(200,192,160,0.35), 0 0 70px 20px rgba(200,192,160,0.2); } }
@keyframes mwv-hills { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes mwv-house { 0%,100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-1px); } }
@keyframes mwv-window-glow { 0% { box-shadow: 0 0 15px 4px rgba(200,160,80,0.4), 0 0 30px 8px rgba(200,160,80,0.2); opacity:0.8; } 50% { box-shadow: 0 0 30px 10px rgba(200,160,80,0.7), 0 0 60px 20px rgba(200,160,80,0.4); opacity:1; } 100% { box-shadow: 0 0 20px 6px rgba(200,160,80,0.5), 0 0 40px 12px rgba(200,160,80,0.3); opacity:0.9; } }
@keyframes mwv-figure-turn { 0% { transform: translateX(-50%) rotate(0deg) scaleX(1); } 25% { transform: translateX(-50%) rotate(5deg) scaleX(0.95); } 50% { transform: translateX(-50%) rotate(0deg) scaleX(1); } 75% { transform: translateX(-50%) rotate(-5deg) scaleX(0.95); } 100% { transform: translateX(-50%) rotate(0deg) scaleX(1); } }
@keyframes mwv-cloud-drift { 0% { transform: translateX(-100px) scaleX(1); } 50% { transform: translateX(50vw) scaleX(1.05); } 100% { transform: translateX(100vw) scaleX(1); } }

.scn-aeschylus-sappho-tongue-fire {
  background: linear-gradient(180deg, #1a0f0a 0%, #2a1a10 50%, #3a2015 100%), radial-gradient(ellipse at 50% 60%, #4a2a1a 0%, transparent 70%);
}
.scn-aeschylus-sappho-tongue-fire .bg-wall {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1a0f0a 0%, #2a1a10 100%);
  animation: aes-wall 15s ease-in-out infinite alternate;
}
.scn-aeschylus-sappho-tongue-fire .fire {
  position: absolute; bottom: 20%; left: 50%; transform: translateX(-50%);
  width: 40px; height: 60px;
  background: linear-gradient(180deg, #ffcc80 0%, #ff8040 50%, #a0461a 100%);
  border-radius: 50% 50% 30% 30%;
  animation: aes-fire 0.5s ease-in-out infinite alternate;
}
.scn-aeschylus-sappho-tongue-fire .glow {
  position: absolute; bottom: 18%; left: 50%; transform: translateX(-50%);
  width: 120px; height: 120px;
  background: radial-gradient(circle, rgba(255,150,50,0.4) 0%, transparent 70%);
  animation: aes-glow 2s ease-in-out infinite alternate;
}
.scn-aeschylus-sappho-tongue-fire .figure {
  position: absolute; bottom: 24%; left: 50%; transform: translateX(-30px);
  width: 60px; height: 90px;
  background: #0a0505;
  border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%;
  animation: aes-fig 4s ease-in-out infinite;
}
.scn-aeschylus-sappho-tongue-fire .eye {
  position: absolute; top: 34%; left: 56%; transform: translate(-50%, -50%);
  width: 6px; height: 4px;
  background: #ffaa00;
  border-radius: 50%;
  box-shadow: 0 0 10px 4px #ffaa00;
  animation: aes-eye 1s ease-in-out infinite alternate;
}
.scn-aeschylus-sappho-tongue-fire .shadow {
  position: absolute; bottom: 24%; left: 50%; transform: translateX(20px);
  width: 80px; height: 20px;
  background: rgba(0,0,0,0.5);
  border-radius: 50%; filter: blur(4px);
  animation: aes-shadow 4s ease-in-out infinite alternate;
}
.scn-aeschylus-sappho-tongue-fire .ember-a,
.scn-aeschylus-sappho-tongue-fire .ember-b {
  position: absolute; bottom: 36%; left: 48%;
  width: 4px; height: 4px;
  background: #ff8040;
  border-radius: 50%;
  box-shadow: 0 0 6px 2px #ff8040;
}
.scn-aeschylus-sappho-tongue-fire .ember-a {
  animation: aes-ember-a 3s linear infinite;
}
.scn-aeschylus-sappho-tongue-fire .ember-b {
  animation: aes-ember-b 4s linear infinite;
}

@keyframes aes-wall {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes aes-fire {
  0% { transform: scaleX(1) scaleY(1); opacity: 0.9; }
  50% { transform: scaleX(1.1) scaleY(0.9); opacity: 1; }
  100% { transform: scaleX(0.95) scaleY(1.05); opacity: 0.95; }
}
@keyframes aes-glow {
  0% { box-shadow: 0 0 30px 10px rgba(255,150,50,0.3); }
  50% { box-shadow: 0 0 60px 20px rgba(255,150,50,0.5); }
  100% { box-shadow: 0 0 40px 15px rgba(255,150,50,0.4); }
}
@keyframes aes-fig {
  0% { transform: translateX(-30px) translateY(0) rotate(0deg); }
  50% { transform: translateX(-28px) translateY(-2px) rotate(1deg); }
  100% { transform: translateX(-30px) translateY(0) rotate(0deg); }
}
@keyframes aes-eye {
  0% { box-shadow: 0 0 8px 2px #ffaa00; opacity: 0.8; }
  50% { box-shadow: 0 0 16px 6px #ffcc00; opacity: 1; }
  100% { box-shadow: 0 0 10px 3px #ffaa00; opacity: 0.9; }
}
@keyframes aes-shadow {
  0% { transform: translateX(20px) translateY(10px); opacity: 0.5; }
  50% { transform: translateX(25px) translateY(12px); opacity: 0.6; }
  100% { transform: translateX(18px) translateY(8px); opacity: 0.5; }
}
@keyframes aes-ember-a {
  0% { transform: translateY(0) translateX(0); opacity: 1; }
  50% { transform: translateY(-30px) translateX(10px); opacity: 0.5; }
  100% { transform: translateY(-60px) translateX(-5px); opacity: 0; }
}
@keyframes aes-ember-b {
  0% { transform: translateY(0) translateX(5px); opacity: 1; }
  50% { transform: translateY(-20px) translateX(-5px); opacity: 0.6; }
  100% { transform: translateY(-50px) translateX(10px); opacity: 0; }
}

.scn-modesty-not-put-off {
  background: linear-gradient(180deg, #2a1e1a 0%, #3a2a22 40%, #1a1210 100%), radial-gradient(ellipse at 50% 100%, #4a3a2a 0%, transparent 70%);
}
.scn-modesty-not-put-off .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 100%);
  animation: mnpo-floor 12s ease-in-out infinite alternate;
}
.scn-modesty-not-put-off .mirror {
  position: absolute; left: 35%; top: 18%; width: 80px; height: 110px;
  background: radial-gradient(circle, #4a3a2a 0%, #1a1210 100%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5), 0 0 10px rgba(100,60,30,0.3);
  animation: mnpo-mirror 15s ease-in-out infinite alternate;
}
.scn-modesty-not-put-off .figure {
  position: absolute; bottom: 28%; left: 55%; width: 34px; height: 80px;
  background: linear-gradient(180deg, #1a1210 0%, #0a0808 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mnpo-figure 6s ease-in-out infinite;
}
.scn-modesty-not-put-off .dress {
  position: absolute; bottom: 25%; left: 28%; width: 50px; height: 60px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e1a 100%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: mnpo-dress 8s ease-in-out infinite;
}
.scn-modesty-not-put-off .candle {
  position: absolute; bottom: 35%; left: 45%; width: 8px; height: 25px;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a22 100%);
  border-radius: 40% 40% 0 0;
  animation: mnpo-candle 3s ease-in-out infinite alternate;
}
.scn-modesty-not-put-off .flame {
  position: absolute; bottom: 58%; left: 45.5%; width: 7px; height: 12px;
  background: radial-gradient(circle, #ffd070 0%, #c08040 70%);
  border-radius: 50%;
  box-shadow: 0 0 14px 4px rgba(255,208,112,0.6);
  animation: mnpo-flame 2s ease-in-out infinite alternate;
}
.scn-modesty-not-put-off .glow {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 45% 55%, rgba(255,208,112,0.12) 0%, transparent 60%);
  animation: mnpo-glow 5s ease-in-out infinite alternate;
}
@keyframes mnpo-floor {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes mnpo-mirror {
  0% { transform: scale(1); box-shadow: inset 0 0 20px rgba(0,0,0,0.5), 0 0 10px rgba(100,60,30,0.3); }
  50% { transform: scale(1.02); box-shadow: inset 0 0 25px rgba(0,0,0,0.4), 0 0 14px rgba(100,60,30,0.4); }
  100% { transform: scale(1); box-shadow: inset 0 0 20px rgba(0,0,0,0.5), 0 0 10px rgba(100,60,30,0.3); }
}
@keyframes mnpo-figure {
  0% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes mnpo-dress {
  0% { transform: scale(1); }
  50% { transform: scale(1.02) translateY(-1px); }
  100% { transform: scale(1); }
}
@keyframes mnpo-candle {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.05); }
  100% { transform: scaleY(1); }
}
@keyframes mnpo-flame {
  0% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(1.15) translateY(-2px); opacity: 1; }
  100% { transform: scale(1) translateY(0); opacity: 0.85; }
}
@keyframes mnpo-glow {
  0% { opacity: 0.3; }
  50% { opacity: 0.5; }
  100% { opacity: 0.3; }
}

.scn-body-health-helps-soul {
  background:
    linear-gradient(180deg, #fdf6ec 0%, #f2dfd0 35%, #cba28b 100%),
    radial-gradient(ellipse at 75% 20%, #fff8f0 0%, transparent 70%),
    radial-gradient(ellipse at 40% 80%, #b89882 0%, transparent 60%);
  overflow: hidden;
}

.scn-body-health-helps-soul .bhhs-wall {
  position: absolute;
  left: 5%;
  bottom: 30%;
  width: 90%;
  height: 70%;
  background: radial-gradient(ellipse at 30% 50%, #f2dfd0 0%, #d9bab0 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0;
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.05);
}

.scn-body-health-helps-soul .bhhs-floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 35%;
  background: linear-gradient(180deg, #cba28b 0%, #a8887a 30%, #6a5a52 100%);
  border-radius: 0 0 20px 20px;
  transform-style: preserve-3d;
  transform: perspective(400px) rotateX(6deg);
  transform-origin: bottom center;
}

.scn-body-health-helps-soul .bhhs-light {
  position: absolute;
  top: -10%;
  left: 55%;
  width: 30%;
  height: 60%;
  background: linear-gradient(180deg, rgba(255, 248, 240, 0.6) 0%, rgba(255, 235, 215, 0.15) 60%, transparent 100%);
  filter: blur(4px);
  transform: skewX(-8deg) rotate(4deg);
  clip-path: polygon(20% 0%, 80% 0%, 65% 100%, 35% 100%);
  animation: bhhs-light-pulse 6s ease-in-out infinite alternate;
}

.scn-body-health-helps-soul .bhhs-tub {
  position: absolute;
  bottom: 12%;
  left: 50%;
  width: 180px;
  height: 70px;
  transform: translateX(-50%);
  background: linear-gradient(160deg, #9a8a7a 0%, #5a4a3a 100%);
  border-radius: 50%;
  box-shadow: inset 0 -12px 24px rgba(0,0,0,0.4), 0 10px 20px rgba(0,0,0,0.3);
  border: 2px solid #7a6a5a;
}

.scn-body-health-helps-soul .bhhs-water {
  position: absolute;
  bottom: 18%;
  left: 50%;
  width: 156px;
  height: 40px;
  transform: translateX(-50%);
  background: linear-gradient(120deg, #8ab4b8 0%, #c8e0e4 40%, #6a9a9e 100%);
  border-radius: 50%;
  box-shadow: inset 0 4px 12px rgba(255,255,255,0.4), 0 0 20px rgba(106, 154, 158, 0.3);
  animation: bhhs-shimmer 8s ease-in-out infinite alternate;
}

.scn-body-health-helps-soul .bhhs-figure {
  position: absolute;
  bottom: 24%;
  left: 46%;
  width: 36px;
  height: 70px;
  background: linear-gradient(160deg, #4a3a2a 0%, #2a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: 0 8px 16px rgba(0,0,0,0.3);
  animation: bhhs-breathe 5s ease-in-out infinite;
}

.scn-body-health-helps-soul .bhhs-figure::after {
  content: '';
  position: absolute;
  top: -10px;
  left: 10px;
  width: 16px;
  height: 20px;
  background: linear-gradient(160deg, #4a3a2a 0%, #2a1a1a 100%);
  border-radius: 50% 50% 40% 40%;
  transform: rotate(-12deg);
  transform-origin: bottom right;
  animation: bhhs-rest 5s ease-in-out infinite;
}

.scn-body-health-helps-soul .bhhs-plant {
  position: absolute;
  bottom: 20%;
  left: 18%;
  width: 20px;
  height: 90px;
  background: linear-gradient(180deg, #6a8a4a 0%, #4a6a2a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: 0 0 20px rgba(74, 106, 42, 0.2);
  animation: bhhs-sway 7s ease-in-out infinite;
}

.scn-body-health-helps-soul .bhhs-plant::before {
  content: '';
  position: absolute;
  top: -30px;
  left: -15px;
  width: 40px;
  height: 40px;
  background: radial-gradient(circle, #8aaa5a 0%, #5a7a3a 70%);
  border-radius: 50% 20% 50% 30%;
  transform: rotate(-20deg);
  box-shadow: 0 0 12px rgba(90, 122, 58, 0.3);
  animation: bhhs-sway 7s ease-in-out infinite -2s;
}

.scn-body-health-helps-soul .bhhs-plant::after {
  content: '';
  position: absolute;
  top: -45px;
  left: 10px;
  width: 30px;
  height: 30px;
  background: radial-gradient(circle, #9aba6a 0%, #6a8a4a 70%);
  border-radius: 40% 60% 30% 50%;
  transform: rotate(30deg);
  box-shadow: 0 0 10px rgba(106, 138, 74, 0.3);
  animation: bhhs-sway 7s ease-in-out infinite -4s;
}

.scn-body-health-helps-soul .bhhs-steam {
  position: absolute;
  bottom: 40%;
  left: 50%;
  width: 40px;
  height: 60px;
  background: radial-gradient(circle, rgba(255,255,255,0.3) 0%, transparent 100%);
  filter: blur(12px);
  border-radius: 50%;
  pointer-events: none;
}

.scn-body-health-helps-soul .bhhs-steam-1 {
  animation: bhhs-rise 12s ease-in-out infinite;
}

.scn-body-health-helps-soul .bhhs-steam-2 {
  left: 42%;
  width: 30px;
  height: 50px;
  filter: blur(10px);
  background: radial-gradient(circle, rgba(255,255,255,0.25) 0%, transparent 100%);
  animation: bhhs-rise 14s ease-in-out infinite -4s;
}

@keyframes bhhs-light-pulse {
  0%   { opacity: 0.5; transform: skewX(-8deg) rotate(4deg) scaleX(0.95); }
  50%  { opacity: 1;   transform: skewX(-6deg) rotate(2deg) scaleX(1.05); }
  100% { opacity: 0.6; transform: skewX(-8deg) rotate(4deg) scaleX(0.95); }
}

@keyframes bhhs-shimmer {
  0%   { background-position: 0% 0%; background-size: 100% 100%; opacity: 0.8; }
  50%  { background-position: 20% 10%; background-size: 120% 100%; opacity: 1; }
  100% { background-position: 0% 0%; background-size: 100% 100%; opacity: 0.85; }
}

@keyframes bhhs-breathe {
  0%   { transform: translateX(-50%) scaleY(1) translateY(0); }
  50%  { transform: translateX(-50%) scaleY(1.008) translateY(-1px); }
  100% { transform: translateX(-50%) scaleY(1) translateY(0); }
}

@keyframes bhhs-rest {
  0%   { transform: rotate(-12deg) translateY(0); }
  50%  { transform: rotate(-14deg) translateY(-1px); }
  100% { transform: rotate(-12deg) translateY(0); }
}

@keyframes bhhs-sway {
  0%   { transform: rotate(0deg); }
  50%  { transform: rotate(6deg); }
  100% { transform: rotate(0deg); }
}

@keyframes bhhs-rise {
  0%   { transform: translateY(0) scale(0.8); opacity: 0; }
  25%  { transform: translateY(-20px) scale(1.2); opacity: 0.8; }
  50%  { transform: translateY(-50px) scale(1.5); opacity: 0.5; }
  75%  { transform: translateY(-80px) scale(1.8); opacity: 0.2; }
  100% { transform: translateY(-120px) scale(2); opacity: 0; }
}

.scn-pasiphaee-bull {
  background:
    linear-gradient(180deg, #1a0e0a 0%, #2a1812 100%),
    radial-gradient(ellipse at 70% 55%, #3a2018 0%, transparent 80%);
}
.scn-pasiphaee-bull .bg-wall {
  position: absolute; inset: 0 0 20% 0;
  background:
    repeating-linear-gradient(90deg, #2a1812 0px, #2a1812 3px, #1a0e0a 3px, #1a0e0a 6px);
  opacity: 0.5;
  animation: pb-wall 20s ease-in-out infinite;
}
.scn-pasiphaee-bull .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #0e0705 0%, #1a0e0a 100%);
  border-top: 2px solid #3a2018;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
}
.scn-pasiphaee-bull .torch {
  position: absolute; top: 15%; right: 18%; width: 14px; height: 20px;
  background: linear-gradient(180deg, #ffaa44 0%, #ff6622 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 30px 8px rgba(255,170,68,0.5), 0 0 60px 20px rgba(255,102,34,0.3);
  animation: pb-torch 3s ease-in-out infinite alternate;
}
.scn-pasiphaee-bull .bull-body {
  position: absolute; bottom: 20%; left: 8%; width: 35%; height: 55%;
  background: radial-gradient(ellipse at 40% 60%, #140a07 0%, #0a0503 100%);
  border-radius: 60% 40% 30% 50% / 70% 50% 50% 40%;
  box-shadow: -10px 0 30px rgba(0,0,0,0.7);
  animation: pb-bull-breath 4s ease-in-out infinite;
}
.scn-pasiphaee-bull .bull-head {
  position: absolute; bottom: 58%; left: 28%; width: 18%; height: 20%;
  background: radial-gradient(ellipse at 60% 40%, #1a0e0a 0%, #0a0503 100%);
  border-radius: 60% 40% 20% 30% / 70% 60% 40% 40%;
  transform-origin: 40% 80%;
  animation: pb-bull-nod 5s ease-in-out infinite;
  box-shadow: -5px -5px 15px rgba(0,0,0,0.5);
}
.scn-pasiphaee-bull .woman {
  position: absolute; bottom: 20%; right: 20%; width: 8%; height: 30%;
  background: linear-gradient(180deg, #1a0e0a 0%, #0e0705 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pb-woman 6s ease-in-out infinite alternate;
  box-shadow: -4px 0 12px rgba(0,0,0,0.4);
}
.scn-pasiphaee-bull .dust {
  position: absolute; width: 6px; height: 6px;
  background: radial-gradient(circle, rgba(255,200,150,0.6) 0%, transparent 80%);
  border-radius: 50%;
  filter: blur(2px);
}
.scn-pasiphaee-bull .dust-a {
  top: 30%; left: 30%;
  animation: pb-drift 20s linear infinite;
}
.scn-pasiphaee-bull .dust-b {
  top: 45%; left: 50%;
  animation: pb-drift 35s linear infinite 5s;
}
@keyframes pb-wall {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 0.6; }
}
@keyframes pb-torch {
  0% { box-shadow: 0 0 20px 5px rgba(255,170,68,0.4), 0 0 40px 15px rgba(255,102,34,0.2); opacity: 0.9; }
  50% { box-shadow: 0 0 40px 12px rgba(255,170,68,0.6), 0 0 80px 25px rgba(255,102,34,0.4); opacity: 1; }
  100% { box-shadow: 0 0 25px 8px rgba(255,170,68,0.5), 0 0 50px 18px rgba(255,102,34,0.3); opacity: 0.95; }
}
@keyframes pb-bull-breath {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-3px) scale(1.01); }
}
@keyframes pb-bull-nod {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(4deg); }
}
@keyframes pb-woman {
  0% { transform: translateX(0) rotate(-1deg); }
  50% { transform: translateX(6px) rotate(2deg); }
  100% { transform: translateX(-2px) rotate(-2deg); }
}
@keyframes pb-drift {
  0% { transform: translate(0, 0); opacity: 0; }
  10% { opacity: 0.7; }
  90% { opacity: 0.3; }
  100% { transform: translate(120px, -60px); opacity: 0; }
}

.scn-socrates-avoid-tempting-foods { background: linear-gradient(180deg, #2a1e18 0%, #1a120e 100%), radial-gradient(ellipse at 50% 60%, #1a120e 0%, #0a0604 70%); }
.scn-socrates-avoid-tempting-foods .room { position:absolute; inset:0; background: linear-gradient(180deg, #2a1e18 0%, #1c1410 100%); animation: sf-room 15s ease-in-out infinite alternate; }
.scn-socrates-avoid-tempting-foods .table { position:absolute; bottom:20%; left:30%; width:40%; height:10%; background: linear-gradient(180deg, #3d2b1f 0%, #2a1c12 100%); border-radius:4px; box-shadow: 0 4px 10px rgba(0,0,0,.6); animation: sf-table 8s ease-in-out infinite; }
.scn-socrates-avoid-tempting-foods .plate { position:absolute; bottom:26%; left:45%; width:12%; height:6%; background: radial-gradient(circle, #5a3e2e 0%, #3d2b1f 100%); border-radius:50%; animation: sf-plate 5s ease-in-out infinite; }
.scn-socrates-avoid-tempting-foods .cup { position:absolute; bottom:27%; left:55%; width:6%; height:10%; background: linear-gradient(180deg, #6b4c3b 0%, #4a3225 100%); border-radius:20% 20% 10% 10%; animation: sf-cup 7s ease-in-out infinite; }
.scn-socrates-avoid-tempting-foods .candle { position:absolute; bottom:32%; left:35%; width:3%; height:12%; background: linear-gradient(180deg, #c08a5c 0%, #8a5a3a 100%); border-radius:30% 30% 10% 10%; animation: sf-candle 12s ease-in-out infinite; }
.scn-socrates-avoid-tempting-foods .flame { position:absolute; bottom:44%; left:35.5%; width:2%; height:5%; background: radial-gradient(circle, #ffd080 0%, #f0a030 50%, transparent 100%); border-radius:50% 50% 20% 20%; box-shadow: 0 0 20px 6px rgba(240,160,48,.6); animation: sf-flame 2s ease-in-out infinite alternate; }
.scn-socrates-avoid-tempting-foods .figure { position:absolute; bottom:20%; left:25%; width:15%; height:50%; background: linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: sf-figure 10s ease-in-out infinite; }
.scn-socrates-avoid-tempting-foods .shadow { position:absolute; bottom:20%; left:35%; width:30%; height:4%; background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 100%); animation: sf-shadow 8s ease-in-out infinite; }
@keyframes sf-room { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes sf-table { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes sf-plate { 0% { transform: scale(1) rotate(0deg) } 50% { transform: scale(1.02) rotate(2deg) } 100% { transform: scale(1) rotate(0deg) } }
@keyframes sf-cup { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes sf-candle { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-2px) scaleY(1.05) } 100% { transform: translateY(0) scaleY(1) } }
@keyframes sf-flame { 0% { transform: scaleY(1) translateY(0) } 50% { transform: scaleY(1.2) translateY(-2px) } 100% { transform: scaleY(.8) translateY(0) } }
@keyframes sf-figure { 0% { transform: translateX(0) scaleX(1) } 50% { transform: translateX(-5px) scaleX(.9) } 100% { transform: translateX(0) scaleX(1) } }
@keyframes sf-shadow { 0% { opacity:.6; transform: scaleX(1) } 50% { opacity:.8; transform: scaleX(1.1) } 100% { opacity:.6; transform: scaleX(1) } }

.scn-socrates-draws-out-theaetetus {
  background: 
    linear-gradient(180deg, #2a1b1a 0%, #1b1110 40%, #0f0807 100%),
    radial-gradient(ellipse at 50% 20%, #3a2520 0%, transparent 70%);
}

.scn-socrates-draws-out-theaetetus .wall {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #2a1b1a 0%, #1b1110 40%, #0f0807 100%);
}

.scn-socrates-draws-out-theaetetus .table {
  position: absolute;
  bottom: 20%;
  left: 10%;
  right: 10%;
  height: 8%;
  background: linear-gradient(180deg, #3a2a20 0%, #1f1410 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
  animation: sd-table 10s ease-in-out infinite;
}

.scn-socrates-draws-out-theaetetus .lamp {
  position: absolute;
  bottom: 28%;
  left: 50%;
  transform: translateX(-50%);
  width: 16px;
  height: 24px;
  background: linear-gradient(180deg, #a06030 0%, #603020 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 20px 5px #c08040;
  animation: sd-lamp-glow 3s ease-in-out infinite alternate;
}

.scn-socrates-draws-out-theaetetus .figure-left {
  position: absolute;
  bottom: 25%;
  left: 18%;
  width: 50px;
  height: 90px;
  background: 
    radial-gradient(circle at 50% 12%, #1a100e 18%, transparent 18%),
    linear-gradient(180deg, #1a100e 0%, #2a1f1a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  animation: sd-figure-left 12s ease-in-out infinite;
}

.scn-socrates-draws-out-theaetetus .figure-right {
  position: absolute;
  bottom: 25%;
  right: 18%;
  width: 50px;
  height: 90px;
  background: 
    radial-gradient(circle at 50% 12%, #1a100e 18%, transparent 18%),
    linear-gradient(180deg, #1a100e 0%, #2a1f1a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform: scaleX(-1);
  animation: sd-figure-right 14s ease-in-out infinite -3s;
}

.scn-socrates-draws-out-theaetetus .shadow-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.4) 0%, transparent 50%, rgba(0,0,0,0.6) 100%);
  pointer-events: none;
  animation: sd-shadow 20s ease-in-out infinite;
}

@keyframes sd-table {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
}

@keyframes sd-lamp-glow {
  0% { box-shadow: 0 0 10px 2px #c08040, 0 0 20px 5px rgba(192,128,64,0.3); opacity: 0.9; }
  50% { box-shadow: 0 0 18px 5px #ffd060, 0 0 40px 10px rgba(255,208,96,0.5); opacity: 1; }
  100% { box-shadow: 0 0 12px 3px #c08040, 0 0 25px 6px rgba(192,128,64,0.35); opacity: 0.9; }
}

@keyframes sd-figure-left {
  0%,100% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
}

@keyframes sd-figure-right {
  0%,100% { transform: translateX(0) rotate(0deg) scaleX(-1); }
  50% { transform: translateY(-2px) rotate(-1deg) scaleX(-1); }
}

@keyframes sd-shadow {
  0%,100% { opacity: 0.6; }
  50% { opacity: 0.8; }
}

.scn-deliberative-element-different-opinions {
  background: linear-gradient(180deg, #e8dcc8 0%, #d4c8b0 30%, #c0b098 60%, #a89880 100%), radial-gradient(ellipse at 50% 30%, #fff4e0 0%, transparent 60%);
}
.scn-deliberative-element-different-opinions .wall {
  position: absolute; inset:0;
  background: linear-gradient(135deg, transparent 0%, rgba(200,180,160,0.1) 50%, transparent 100%);
  animation: de-wall 12s ease-in-out infinite alternate;
}
.scn-deliberative-element-different-opinions .window {
  position: absolute; top:10%; left:35%; width:30%; height:40%;
  background: radial-gradient(ellipse at 50% 50%, #fffae0 0%, #e8dcc0 70%, #d4c8b0 100%);
  border-radius: 10px;
  box-shadow: inset 0 0 30px rgba(255,255,200,0.3), 0 0 60px rgba(255,240,200,0.2);
  animation: de-glow 8s ease-in-out infinite alternate;
}
.scn-deliberative-element-different-opinions .sill {
  position: absolute; top:50%; left:35%; width:30%; height:4%;
  background: linear-gradient(180deg, #c0a888 0%, #a08870 100%);
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
.scn-deliberative-element-different-opinions .curtain {
  position: absolute; top:10%; width:12%; height:42%;
  background: linear-gradient(180deg, #b8a898 0%, #a09080 50%, #908070 100%);
  border-radius: 0 10px 10px 0 / 0 20px 20px 0;
}
.scn-deliberative-element-different-opinions .curtain-l {
  left:23%;
  transform-origin: left center;
  animation: de-curtain 6s ease-in-out infinite alternate;
}
.scn-deliberative-element-different-opinions .curtain-r {
  right:23%;
  transform-origin: right center;
  animation: de-curtain 6s ease-in-out infinite alternate-reverse;
}
.scn-deliberative-element-different-opinions .desk {
  position: absolute; bottom:10%; left:20%; width:60%; height:20%;
  background: linear-gradient(180deg, #a09070 0%, #8a7a5a 100%);
  border-radius: 5px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
.scn-deliberative-element-different-opinions .lamp {
  position: absolute; bottom:25%; left:22%; width:6%; height:10%;
  background: radial-gradient(ellipse at 50% 20%, #ffd080 0%, #b89870 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 30px rgba(255,200,100,0.5), 0 0 60px rgba(255,200,100,0.3);
  animation: de-lamp 4s ease-in-out infinite alternate;
}
.scn-deliberative-element-different-opinions .figure {
  position: absolute; bottom:10%; left:45%; width:10%; height:30%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 40% 60% 50% 50% / 60% 70% 40% 40%;
  transform-origin: bottom center;
  animation: de-figure 5s ease-in-out infinite alternate;
}
.scn-deliberative-element-different-opinions .book {
  position: absolute; bottom:12%; left:47%; width:4%; height:2%;
  background: #8a6a4a;
  border-radius: 2px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.2);
}
@keyframes de-wall { 0% { opacity:0.5; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes de-glow { 0% { box-shadow: inset 0 0 20px rgba(255,255,200,0.2), 0 0 40px rgba(255,240,200,0.1); } 50% { box-shadow: inset 0 0 40px rgba(255,255,200,0.4), 0 0 80px rgba(255,240,200,0.3); } 100% { box-shadow: inset 0 0 30px rgba(255,255,200,0.3), 0 0 60px rgba(255,240,200,0.2); } }
@keyframes de-curtain { 0% { transform: rotate(0deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-2deg); } }
@keyframes de-lamp { 0% { transform: scaleY(1) translateY(0); } 50% { transform: scaleY(1.05) translateY(-2px); } 100% { transform: scaleY(0.98) translateY(1px); } }
@keyframes de-figure { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }

.scn-hunter-and-animal-analogy {
  background: linear-gradient(180deg, #fdf9f2 0%, #ede3d3 40%, #d5c8b0 100%),
              radial-gradient(ellipse at 70% 20%, rgba(255, 255, 240, 0.6) 0%, transparent 60%);
}
.scn-hunter-and-animal-analogy .room-wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #f5efe2 0%, #e3d7c4 100%);
}
.scn-hunter-and-animal-analogy .window-outside {
  position: absolute; top: 5%; left: 12%; right: 12%; bottom: 45%;
  background: linear-gradient(180deg, #bce3f2 0%, #8ac5d9 40%, #a7c9a6 100%);
  border-radius: 4px;
  animation: haa-outside 25s ease-in-out infinite alternate;
}
.scn-hunter-and-animal-analogy .window-frame {
  position: absolute; top: 5%; left: 12%; right: 12%; bottom: 45%;
  border: 16px solid #c8b89a;
  border-radius: 8px;
  box-shadow: 0 0 0 3px #a89476, inset 0 0 30px rgba(0,0,0,0.1);
}
.scn-hunter-and-animal-analogy .sunbeam {
  position: absolute; top: -10%; left: 10%; width: 70%; bottom: 0;
  background: linear-gradient(135deg, rgba(255, 255, 240, 0.45) 0%, rgba(255, 255, 240, 0) 100%);
  clip-path: polygon(0% 0%, 100% 0%, 75% 100%, 0% 100%);
  animation: haa-beam 12s ease-in-out infinite alternate;
}
.scn-hunter-and-animal-analogy .figure-hunter {
  position: absolute; bottom: 30%; left: 22%;
  width: 34px; height: 72px;
  background: linear-gradient(180deg, #4a4a4a 0%, #3a3a3a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: haa-hunt 4s ease-in-out infinite;
}
.scn-hunter-and-animal-analogy .spear {
  position: absolute; bottom: 30%; left: 24%;
  width: 4px; height: 80px;
  background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%);
  border-radius: 2px;
  transform-origin: bottom center;
  animation: haa-hunt 4s ease-in-out infinite;
}
.scn-hunter-and-animal-analogy .figure-animal {
  position: absolute; bottom: 31%; right: 20%;
  width: 55px; height: 42px;
  background: linear-gradient(180deg, #4a4a4a 0%, #3a3a3a 100%);
  border-radius: 30% 50% 30% 30% / 40% 60% 40% 40%;
  transform-origin: center bottom;
  animation: haa-animal 4s ease-in-out infinite alternate;
}
.scn-hunter-and-animal-analogy .dust-motes {
  position: absolute; inset: 0;
  background-image: radial-gradient(circle at 30% 40%, rgba(220, 200, 170, 0.7) 1px, transparent 1px);
  background-size: 70px 70px;
  animation: haa-dust 25s linear infinite;
}
.scn-hunter-and-animal-analogy .table {
  position: absolute; bottom: 25%; left: 50%;
  width: 140px; height: 12px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #b09a7a 0%, #8a7252 100%);
  border-radius: 3px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
.scn-hunter-and-animal-analogy .plant {
  position: absolute; bottom: 26%; left: 55%;
  width: 40px; height: 50px;
  background: radial-gradient(ellipse at 50% 100%, #5a7a5a 0%, #3a4a3a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  box-shadow: 0 8px 12px rgba(0,0,0,0.15);
  animation: haa-plant 7s ease-in-out infinite alternate;
}

@keyframes haa-outside {
  0% { opacity: 0.85; background-position: 0% 0%; }
  50% { opacity: 1; background-position: 10% 5%; }
  100% { opacity: 0.9; background-position: 0% 0%; }
}
@keyframes haa-beam {
  0% { opacity: 0.5; transform: skewX(-5deg) translateX(-10px); }
  50% { opacity: 0.9; transform: skewX(0deg) translateX(5px); }
  100% { opacity: 0.6; transform: skewX(5deg) translateX(-5px); }
}
@keyframes haa-hunt {
  0% { transform: translateX(0) rotate(-2deg) scaleY(1); }
  50% { transform: translateX(8px) rotate(2deg) scaleY(1.02); }
  100% { transform: translateX(0) rotate(-2deg) scaleY(1); }
}
@keyframes haa-animal {
  0% { transform: translateX(0) rotate(3deg) scaleX(1); }
  50% { transform: translateX(-12px) rotate(-4deg) scaleX(1.05); }
  100% { transform: translateX(0) rotate(3deg) scaleX(1); }
}
@keyframes haa-dust {
  0% { transform: translateY(0); opacity: 0.4; }
  50% { transform: translateY(-15px); opacity: 0.8; }
  100% { transform: translateY(0); opacity: 0.4; }
}
@keyframes haa-plant {
  0% { transform: rotate(-2deg) scaleX(1); }
  50% { transform: rotate(3deg) scaleX(1.02); }
  100% { transform: rotate(-2deg) scaleX(1); }
}

.scn-curtail-talkativeness-answer-track {
  background: 
    linear-gradient(180deg, #2a1a12 0%, #1a1210 50%, #0d0806 100%),
    radial-gradient(ellipse at 50% 50%, rgba(42,26,18,0.6) 0%, transparent 70%);
  overflow: hidden;
}
.scn-curtail-talkativeness-answer-track .wall {
  position: absolute;
  inset: 0 0 40% 0;
  background: linear-gradient(180deg, #2a1a12 0%, #1a1210 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.5);
}
.scn-curtail-talkativeness-answer-track .floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 40%;
  background: linear-gradient(0deg, #0d0806 0%, #1a1210 100%);
}
.scn-curtail-talkativeness-answer-track .desk {
  position: absolute;
  bottom: 20%;
  left: 20%;
  width: 60%;
  height: 6%;
  background: linear-gradient(to bottom, #3a2218 0%, #2a1a12 100%);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
}
.scn-curtail-talkativeness-answer-track .figure {
  position: absolute;
  bottom: 26%;
  left: 44%;
  width: 12%;
  height: 30%;
  background: #0d0806;
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ctat-breathe 6s ease-in-out infinite;
}
.scn-curtail-talkativeness-answer-track .lamp {
  position: absolute;
  bottom: 24%;
  left: 30%;
  width: 3%;
  height: 5%;
  background: #dda032;
  border-radius: 50% 50% 0 0;
  transform: translateX(-50%);
  box-shadow: 0 0 12px 6px rgba(221,160,50,0.7);
  animation: ctat-lamp-glow 3s ease-in-out infinite alternate;
}
.scn-curtail-talkativeness-answer-track .glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at 30% 40%, rgba(221,160,50,0.25) 0%, transparent 60%);
  animation: ctat-glow-fade 8s ease-in-out infinite alternate;
}
.scn-curtail-talkativeness-answer-track .circle {
  position: absolute;
  bottom: 22%;
  left: 50%;
  width: 10%;
  height: 10%;
  transform: translate(-50%, 0);
  border: 2px solid #dda032;
  border-radius: 50%;
  background: transparent;
  box-shadow: 0 0 8px 2px rgba(221,160,50,0.3);
  animation: ctat-circle-rotate 20s linear infinite;
}
@keyframes ctat-breathe {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes ctat-lamp-glow {
  0% { box-shadow: 0 0 10px 4px rgba(221,160,50,0.8); opacity: 0.8; }
  50% { box-shadow: 0 0 22px 10px rgba(221,160,50,0.95); opacity: 1; }
  100% { box-shadow: 0 0 8px 3px rgba(221,160,50,0.7); opacity: 0.85; }
}
@keyframes ctat-glow-fade {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes ctat-circle-rotate {
  0% { transform: translate(-50%, 0) rotate(0deg) scale(1); }
  50% { transform: translate(-50%, 0) rotate(180deg) scale(1.02); }
  100% { transform: translate(-50%, 0) rotate(360deg) scale(1); }
}
/* end per-scene blocks */

/* auto-stub: parent tag-classes flagged by CSS audit */
.bride { position: absolute; pointer-events: none; }
.col { position: absolute; pointer-events: none; }
.kitten { position: absolute; pointer-events: none; }
.oar { position: absolute; pointer-events: none; }
.reeds { position: absolute; pointer-events: none; }
.sail { position: absolute; pointer-events: none; }

/* ============ tier A ============ */
/* per-scene blocks (EXP step_scenes) */
.scn-philosophy-cures-soul {
  background: linear-gradient(180deg, #f5f0e8 0%, #e8dcc8 50%, #d4c4a8 100%), radial-gradient(ellipse at 70% 30%, rgba(255,220,160,.3) 0%, transparent 60%);
}
.scn-philosophy-cures-soul .bg { position:absolute; inset:0; background: linear-gradient(135deg, #f0ebe0 0%, #d9cdb5 100%); }
.scn-philosophy-cures-soul .window { position:absolute; top:10%; left:15%; width:30%; height:40%; background: radial-gradient(circle at 30% 30%, #fff8e8 0%, #f0dcc0 70%); border-radius:4px; box-shadow: inset 0 0 40px rgba(200,170,120,.5), 0 0 60px rgba(255,220,160,.3); animation: ph1-window 6s ease-in-out infinite alternate; }
.scn-philosophy-cures-soul .bookshelf { position:absolute; right:5%; top:20%; width:25%; height:70%; background: linear-gradient(180deg, #9a7a5a 0%, #7a5a3a 100%); border-radius:2px; box-shadow: inset 0 4px 12px rgba(0,0,0,.3); animation: ph1-shelf 12s ease-in-out infinite alternate; }
.scn-philosophy-cures-soul .figure { position:absolute; bottom:20%; left:35%; width:30px; height:50px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ph1-figure 8s ease-in-out infinite; }
.scn-philosophy-cures-soul .book { position:absolute; bottom:24%; left:38%; width:22px; height:16px; background: linear-gradient(135deg, #b8a080 0%, #907050 100%); border-radius:2px; box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: ph1-book 5s ease-in-out infinite alternate; }
.scn-philosophy-cures-soul .lamp { position:absolute; top:15%; left:60%; width:8px; height:20px; background: linear-gradient(180deg, #c0a070 0%, #706050 100%); border-radius:2px; }
.scn-philosophy-cures-soul .glow { position:absolute; top:12%; left:58%; width:20px; height:30px; background: radial-gradient(circle, #fff0c0 0%, rgba(255,240,192,.2) 60%); border-radius:50%; filter:blur(4px); animation: ph1-glow 4s ease-in-out infinite alternate; }
@keyframes ph1-window { 0% { opacity:.85; transform:scaleY(.95); } 50% { opacity:1; transform:scaleY(1); } 100% { opacity:.9; transform:scaleY(.97); } }
@keyframes ph1-shelf { 0% { transform:translateY(0); } 50% { transform:translateY(-2px); } 100% { transform:translateY(0); } }
@keyframes ph1-figure { 0% { transform:rotate(-2deg); } 25% { transform:rotate(0deg) translateY(-1px); } 50% { transform:rotate(2deg); } 75% { transform:rotate(0deg) translateY(-1px); } 100% { transform:rotate(-2deg); } }
@keyframes ph1-book { 0% { transform:rotate(-5deg); } 50% { transform:rotate(5deg); } 100% { transform:rotate(-3deg); } }
@keyframes ph1-glow { 0% { opacity:.5; transform:scale(.9); } 50% { opacity:.9; transform:scale(1.1); } 100% { opacity:.6; transform:scale(1); } }

.scn-philosophy-teaches-worship {
  background: linear-gradient(180deg, #ede5d8 0%, #d4cbb8 50%, #b8aa90 100%), radial-gradient(ellipse at 50% 20%, rgba(255,230,180,.4) 0%, transparent 70%);
}
.scn-philosophy-teaches-worship .bg { position:absolute; inset:0; background: linear-gradient(180deg, #f5efe0 0%, #d4c4a8 100%); }
.scn-philosophy-teaches-worship .pillar { position:absolute; bottom:0; width:20px; height:100%; background: linear-gradient(180deg, #b8a080 0%, #8a7050 100%); border-radius:4px; box-shadow: inset 0 0 10px rgba(0,0,0,.2); }
.scn-philosophy-teaches-worship .pillar.left { left:10%; }
.scn-philosophy-teaches-worship .pillar.right { right:10%; }
.scn-philosophy-teaches-worship .statue { position:absolute; bottom:30%; left:50%; width:40px; height:60px; transform:translateX(-50%); background: linear-gradient(180deg, #a09080 0%, #706050 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; animation: ph2-statue 10s ease-in-out infinite alternate; }
.scn-philosophy-teaches-worship .figure { position:absolute; bottom:18%; left:38%; width:22px; height:40px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ph2-figure 6s ease-in-out infinite; }
.scn-philosophy-teaches-worship .lightray { position:absolute; top:0; left:20%; width:60%; height:60%; background: linear-gradient(180deg, rgba(255,240,200,.15) 0%, transparent 100%); clip-path: polygon(30% 0, 70% 0, 80% 100%, 20% 100%); animation: ph2-ray 8s ease-in-out infinite alternate; }
.scn-philosophy-teaches-worship .halo { position:absolute; top:8%; left:50%; width:60px; height:60px; transform:translateX(-50%); background: radial-gradient(circle, rgba(255,240,200,.4) 0%, transparent 70%); filter:blur(6px); animation: ph2-halo 5s ease-in-out infinite alternate; }
@keyframes ph2-statue { 0% { transform:translateX(-50%) translateY(0); } 50% { transform:translateX(-50%) translateY(-3px); } 100% { transform:translateX(-50%) translateY(0); } }
@keyframes ph2-figure { 0% { transform:rotate(-3deg) translateY(0); } 25% { transform:rotate(0deg) translateY(-1px); } 50% { transform:rotate(3deg) translateY(0); } 75% { transform:rotate(0deg) translateY(-1px); } 100% { transform:rotate(-3deg); } }
@keyframes ph2-ray { 0% { opacity:.4; } 50% { opacity:.8; } 100% { opacity:.5; } }
@keyframes ph2-halo { 0% { opacity:.3; transform:translateX(-50%) scale(.95); } 50% { opacity:.7; transform:translateX(-50%) scale(1.05); } 100% { opacity:.4; transform:translateX(-50%) scale(1); } }

.scn-value-of-old-books {
  background: linear-gradient(180deg, #e8ddd0 0%, #cbb8a0 50%, #a89078 100%), radial-gradient(ellipse at 30% 50%, rgba(255,210,150,.3) 0%, transparent 60%);
}
.scn-value-of-old-books .bg { position:absolute; inset:0; background: linear-gradient(135deg, #f0e8d8 0%, #d4c4a8 100%); }
.scn-value-of-old-books .shelf { position:absolute; left:5%; right:5%; height:20px; background: linear-gradient(180deg, #9a7a5a 0%, #6a4a2a 100%); border-radius:2px; box-shadow: 0 2px 4px rgba(0,0,0,.3); }
.scn-value-of-old-books .shelf.top { top:20%; }
.scn-value-of-old-books .shelf.mid { top:50%; }
.scn-value-of-old-books .reader { position:absolute; bottom:10%; left:30%; width:28px; height:45px; background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ph3-reader 7s ease-in-out infinite; }
.scn-value-of-old-books .book { position:absolute; bottom:14%; left:34%; width:20px; height:14px; background: linear-gradient(135deg, #b09878 0%, #806040 100%); border-radius:2px; transform:rotate(10deg); animation: ph3-book 4s ease-in-out infinite alternate; }
.scn-value-of-old-books .lamp { position:absolute; top:10%; left:60%; width:10px; height:25px; background: linear-gradient(180deg, #c0a070 0%, #706050 100%); border-radius:2px; }
.scn-value-of-old-books .scroll { position:absolute; top:55%; left:70%; width:30px; height:10px; background: linear-gradient(180deg, #d8c8a8 0%, #b8a080 100%); border-radius:50%; transform:rotate(-20deg); animation: ph3-scroll 15s linear infinite; }
@keyframes ph3-reader { 0% { transform:rotate(-2deg); } 25% { transform:rotate(0deg) translateY(-1px); } 50% { transform:rotate(2deg); } 75% { transform:rotate(0deg) translateY(-1px); } 100% { transform:rotate(-2deg); } }
@keyframes ph3-book { 0% { transform:rotate(8deg); } 50% { transform:rotate(12deg); } 100% { transform:rotate(8deg); } }
@keyframes ph3-scroll { 0% { transform:translateX(0) rotate(-20deg); } 50% { transform:translateX(10px) rotate(-15deg); } 100% { transform:translateX(0) rotate(-20deg); } }

.scn-training-for-war {
  background: linear-gradient(180deg, #d4c8b0 0%, #b8a88a 40%, #9a8870 100%), radial-gradient(ellipse at 50% 30%, rgba(255,220,170,.2) 0%, transparent 70%);
}
.scn-training-for-war .bg { position:absolute; inset:0; background: linear-gradient(135deg, #e0d4c0 0%, #c0b098 100%); }
.scn-training-for-war .column { position:absolute; bottom:0; width:18px; height:90%; background: linear-gradient(180deg, #a89880 0%, #786858 100%); border-radius:3px; box-shadow: inset 0 0 8px rgba(0,0,0,.2); }
.scn-training-for-war .column.left { left:15%; }
.scn-training-for-war .column.right { right:15%; }
.scn-training-for-war .floor { position:absolute; bottom:0; left:0; right:0; height:15%; background: linear-gradient(180deg, #b8a890 0%, #988070 100%); border-radius:10% 10% 0 0; }
.scn-training-for-war .figure { position:absolute; bottom:18%; left:40%; width:24px; height:42px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ph4-figure 4s ease-in-out infinite; }
.scn-training-for-war .javelin { position:absolute; bottom:20%; left:30%; width:4px; height:50px; background: linear-gradient(180deg, #a08060 0%, #605040 100%); transform:rotate(30deg); transform-origin: bottom center; animation: ph4-javelin 3s ease-in-out infinite alternate; }
.scn-training-for-war .light { position:absolute; top:5%; left:30%; width:40%; height:20%; background: linear-gradient(180deg, rgba(255,235,200,.2) 0%, transparent 100%); clip-path: polygon(20% 0, 80% 0, 60% 100%, 40% 100%); animation: ph4-light 9s ease-in-out infinite alternate; }
@keyframes ph4-figure { 0% { transform:rotate(-5deg) translateY(0); } 25% { transform:rotate(0deg) translateY(-2px); } 50% { transform:rotate(5deg) translateY(0); } 75% { transform:rotate(0deg) translateY(-2px); } 100% { transform:rotate(-5deg); } }
@keyframes ph4-javelin { 0% { transform:rotate(25deg); } 50% { transform:rotate(35deg); } 100% { transform:rotate(25deg); } }
@keyframes ph4-light { 0% { opacity:.3; } 50% { opacity:.7; } 100% { opacity:.4; } }

.scn-sloth-vs-training {
  background: linear-gradient(180deg, #fdf8f0 0%, #f0e4d0 50%, #d8c4a8 100%),
              radial-gradient(ellipse at 80% 20%, #fff5e6 0%, transparent 60%);
}
.scn-sloth-vs-training .room-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(90deg, #d8c4a8 0%, #c8b090 50%, #b8a088 100%); }
.scn-sloth-vs-training .window-glow { position:absolute; top:8%; left:60%; width:26%; height:40%; background: radial-gradient(ellipse at 50% 50%, #fff8e0 0%, #f0e4d0 60%, transparent 80%); border-radius: 10% / 20%; box-shadow: inset 0 0 30px 10px rgba(255,248,224,0.3); animation: svt-glow 6s ease-in-out infinite alternate; }
.scn-sloth-vs-training .desk { position:absolute; bottom:20%; left:15%; width:55%; height:12%; background: linear-gradient(180deg, #b09070 0%, #907050 100%); border-radius: 4% 4% 0 0; transform: perspective(800px) rotateX(10deg); }
.scn-sloth-vs-training .book { position:absolute; bottom:28%; left:32%; width:20%; height:8%; background: linear-gradient(180deg, #8b7355 0%, #6b5030 100%); border-radius: 6% 6% 0 0; transform: rotate(-5deg); box-shadow: 2px 2px 8px rgba(0,0,0,0.2); animation: svt-book 8s ease-in-out infinite; }
.scn-sloth-vs-training .drop { position:absolute; top:12%; left:42%; width:4px; height:8px; background: rgba(100,150,200,0.8); border-radius: 50% 50% 40% 40%; box-shadow: 0 0 8px 2px rgba(100,150,200,0.5); animation: svt-drop 2s ease-in-out infinite; }
.scn-sloth-vs-training .stone { position:absolute; bottom:30%; left:40%; width:10%; height:6%; background: #a09080; border-radius: 50% 50% 30% 30%; box-shadow: inset 2px -2px 4px rgba(0,0,0,0.3); animation: svt-stone 12s linear infinite; }
.scn-sloth-vs-training .figure { position:absolute; bottom:20%; left:70%; width:12%; height:30%; background: radial-gradient(ellipse at 50% 30%, #3a3a2a 0%, #1a1a10 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: svt-figure 5s ease-in-out infinite; }
@keyframes svt-glow { 0% { opacity:0.7; transform: scale(1); } 50% { opacity:0.9; transform: scale(1.05); } 100% { opacity:0.8; transform: scale(0.98); } }
@keyframes svt-book { 0%,100% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-3deg) translateY(-2px); } }
@keyframes svt-drop { 0% { transform: translateY(0) scaleY(1); opacity:1; } 80% { transform: translateY(200px) scaleY(1.5); opacity:0.6; } 100% { transform: translateY(220px) scaleY(0.3); opacity:0; } }
@keyframes svt-stone { 0% { transform: translateY(0); } 50% { transform: translateY(2px); } 100% { transform: translateY(0); } }
@keyframes svt-figure { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(2deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(-3px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }

.scn-power-of-diligence {
  background: linear-gradient(180deg, #f5f0e0 0%, #e8dcc8 40%, #d0c0a0 100%),
              radial-gradient(ellipse at 20% 80%, #c8b080 0%, transparent 60%);
}
.scn-power-of-diligence .soil-left { position:absolute; bottom:30%; left:8%; width:35%; height:50%; background: linear-gradient(180deg, #8b7a60 0%, #6b5a40 100%); border-radius: 40% 40% 0 0; }
.scn-power-of-diligence .soil-right { position:absolute; bottom:30%; right:8%; width:35%; height:50%; background: linear-gradient(180deg, #9b8a70 0%, #7b6a50 100%); border-radius: 40% 40% 0 0; }
.scn-power-of-diligence .plant-left { position:absolute; bottom:48%; left:20%; width:6%; height:24%; background: linear-gradient(180deg, #5a8a3a 0%, #3a6a2a 100%); border-radius: 40% 40% 10% 10%; transform-origin: bottom center; animation: pod-plant-l 4s ease-in-out infinite alternate; }
.scn-power-of-diligence .plant-right { position:absolute; bottom:45%; right:20%; width:6%; height:12%; background: linear-gradient(180deg, #6a5a3a 0%, #4a3a2a 100%); border-radius: 10% 10% 5% 5%; transform-origin: bottom center; animation: pod-plant-r 6s ease-in-out infinite; }
.scn-power-of-diligence .hand { position:absolute; top:15%; left:45%; width:16%; height:30%; background: radial-gradient(ellipse at 50% 20%, #d4b098 0%, #b89780 100%); border-radius: 30% 30% 50% 50% / 40% 40% 60% 60%; animation: pod-hand 8s ease-in-out infinite; }
.scn-power-of-diligence .water-flow { position:absolute; top:30%; left:50%; width:4%; height:30%; background: linear-gradient(180deg, rgba(120,180,220,0.9) 0%, rgba(120,180,220,0.2) 100%); border-radius: 0 0 20% 20%; animation: pod-water 3s ease-in-out infinite; }
@keyframes pod-plant-l { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.15); } 100% { transform: scaleY(0.95); } }
@keyframes pod-plant-r { 0% { transform: scaleY(0.8) rotate(10deg); } 50% { transform: scaleY(1) rotate(-5deg); } 100% { transform: scaleY(0.9) rotate(5deg); } }
@keyframes pod-hand { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(10px) rotate(5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes pod-water { 0% { transform: translateY(0) scaleX(1); opacity:1; } 50% { transform: translateY(30px) scaleX(0.7); opacity:0.7; } 100% { transform: translateY(60px) scaleX(1.2); opacity:0; } }

.scn-constitution-health {
  background: linear-gradient(180deg, #fcf0e0 0%, #e8d8c0 50%, #d0c0a8 100%),
              radial-gradient(ellipse at 60% 30%, #fff8f0 0%, transparent 70%);
}
.scn-constitution-health .arena { position:absolute; bottom:0; left:5%; width:90%; height:40%; background: linear-gradient(180deg, #d0b8a0 0%, #b8a088 100%); border-radius: 50% 50% 0 0 / 30% 30% 0 0; }
.scn-constitution-health .horse-body { position:absolute; bottom:25%; left:20%; width:55%; height:35%; background: radial-gradient(ellipse at 50% 40%, #6b5030 0%, #4a3520 100%); border-radius: 50% 50% 40% 40% / 40% 40% 50% 50%; transform-origin: bottom center; animation: ch-horse 5s ease-in-out infinite; }
.scn-constitution-health .horse-head { position:absolute; bottom:42%; left:65%; width:18%; height:20%; background: radial-gradient(ellipse at 50% 40%, #7b6040 0%, #5a4428 100%); border-radius: 40% 50% 30% 30%; transform-origin: bottom left; animation: ch-head 3s ease-in-out infinite alternate; }
.scn-constitution-health .rider { position:absolute; bottom:42%; left:32%; width:12%; height:28%; background: radial-gradient(ellipse at 50% 30%, #2a2a3a 0%, #0a0a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: ch-rider 4s ease-in-out infinite; }
.scn-constitution-health .whip { position:absolute; top:10%; right:18%; width:2%; height:40%; background: linear-gradient(180deg, #6a4030 0%, #4a2a1a 100%); border-radius: 0 0 20% 20%; transform-origin: top center; animation: ch-whip 1.5s ease-in-out infinite; }
.scn-constitution-health .dust { position:absolute; bottom:28%; left:10%; width:8%; height:6%; background: rgba(200,180,160,0.4); border-radius: 50%; filter: blur(4px); animation: ch-dust 3s linear infinite; }
.scn-constitution-health .dust:nth-child(6) { left:60%; width:6%; height:4%; animation-delay: -1.5s; }
@keyframes ch-horse { 0%,100% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-6px) rotate(2deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-3px) rotate(-1deg); } }
@keyframes ch-head { 0% { transform: rotate(10deg); } 50% { transform: rotate(0deg); } 100% { transform: rotate(5deg); } }
@keyframes ch-rider { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-4px) rotate(3deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ch-whip { 0% { transform: rotate(20deg); } 50% { transform: rotate(-10deg); } 100% { transform: rotate(20deg); } }
@keyframes ch-dust { 0% { transform: translateY(0) scale(1); opacity:0.6; } 100% { transform: translateY(-30px) scale(2); opacity:0; } }

.scn-thessalian-mild {
  background: linear-gradient(180deg, #fff5e6 0%, #f0e0c8 50%, #d8c8b0 100%),
              radial-gradient(ellipse at 50% 0%, #fffaf0 0%, transparent 60%);
}
.scn-thessalian-mild .bg-sky { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #e0d8c8 0%, #c8b8a0 100%); animation: tm-sky 15s ease-in-out infinite alternate; }
.scn-thessalian-mild .ground { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #b8a088 0%, #988068 100%); border-radius: 60% 40% 0 0 / 30% 20% 0 0; }
.scn-thessalian-mild .figure-left { position:absolute; bottom:25%; left:25%; width:15%; height:35%; background: radial-gradient(ellipse at 50% 30%, #3a3a2a 0%, #1a1a10 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: tm-fig 6s ease-in-out infinite; }
.scn-thessalian-mild .shield { position:absolute; bottom:35%; left:38%; width:10%; height:12%; background: radial-gradient(ellipse at 50% 50%, #8b7355 0%, #6b5030 100%); border-radius: 50%; box-shadow: 0 4px 8px rgba(0,0,0,0.3); animation: tm-shield 10s linear infinite; }
.scn-thessalian-mild .sword { position:absolute; bottom:30%; left:15%; width:2%; height:40%; background: linear-gradient(180deg, #a0a0b0 0%, #808090 100%); border-radius: 0 0 10% 10%; transform-origin: bottom center; transform: rotate(30deg); animation: tm-sword 4s ease-in-out infinite alternate; }
.scn-thessalian-mild .dove { position:absolute; top:10%; right:25%; width:8%; height:6%; background: radial-gradient(ellipse at 50% 50%, #f0f0f0 0%, #d0d0d0 100%); border-radius: 50% 50% 30% 30%; box-shadow: 0 2px 4px rgba(0,0,0,0.1); animation: tm-dove 20s linear infinite; }
.scn-thessalian-mild .olive { position:absolute; top:8%; right:30%; width:3%; height:4%; background: #4a7a3a; border-radius: 50% 50% 30% 30%; box-shadow: 0 0 6px 2px rgba(74,122,58,0.4); animation: tm-olive 3s ease-in-out infinite; }
@keyframes tm-sky { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.9; } }
@keyframes tm-fig { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(8px) rotate(3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes tm-shield { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-4px) rotate(5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes tm-sword { 0% { transform: rotate(25deg); } 100% { transform: rotate(35deg); } }
@keyframes tm-dove { 0% { transform: translateX(0) translateY(0); } 25% { transform: translateX(30px) translateY(-20px); } 50% { transform: translateX(60px) translateY(-10px); } 75% { transform: translateX(90px) translateY(-30px); } 100% { transform: translateX(120px) translateY(0); } }
@keyframes tm-olive { 0%,100% { transform: scale(1); opacity:0.8; } 50% { transform: scale(1.3); opacity:1; } }

/* choice-of-tutors */
.scn-choice-of-tutors {
  background:
    linear-gradient(180deg, #fff2d9 0%, #f5e0c0 40%, #dcc5a0 100%),
    radial-gradient(ellipse at 50% 0%, #fff8e7 0%, transparent 70%);
}
.scn-choice-of-tutors .wall    { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #f0dbb8 0%, #d9c49a 100%); animation: ct-wall 12s ease-in-out infinite alternate; }
.scn-choice-of-tutors .floor   { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #b89a7a 0%, #8a6e52 100%); border-radius: 4% 4% 0 0; box-shadow: inset 0 8px 12px rgba(0,0,0,0.15); }
.scn-choice-of-tutors .window  { position:absolute; top:8%; right:12%; width:60px; height:80px; background: linear-gradient(180deg, #bcd8f0 0%, #8ab8d8 100%); border-radius: 4px; box-shadow: inset 0 0 20px 8px rgba(255,255,200,0.3), 0 0 30px 10px rgba(255,230,180,0.4); animation: ct-win 8s ease-in-out infinite alternate; }
.scn-choice-of-tutors .table   { position:absolute; bottom:32%; left:50%; width:120px; height:8px; transform:translateX(-50%); background: linear-gradient(90deg, #9a7a5a 0%, #b09070 50%, #9a7a5a 100%); border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,0.2); }
.scn-choice-of-tutors .scroll  { position:absolute; bottom:40%; left:52%; width:24px; height:14px; background: linear-gradient(180deg, #f0e0b0 0%, #d0b880 100%); border-radius: 30% 30% 40% 40% / 50% 50% 30% 30%; transform: rotate(-15deg); animation: ct-scroll 6s ease-in-out infinite; }
.scn-choice-of-tutors .tutor   { position:absolute; bottom:28%; left:58%; width:32px; height:60px; background: linear-gradient(180deg, #b89878 0%, #7a6450 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: ct-tutor 5s ease-in-out infinite alternate; }
.scn-choice-of-tutors .student { position:absolute; bottom:28%; left:42%; width:24px; height:48px; background: linear-gradient(180deg, #d0b898 0%, #a08068 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ct-student 6s ease-in-out infinite; }
.scn-choice-of-tutors .sunlight{ position:absolute; top:0; left:0; right:0; bottom:0; background: radial-gradient(ellipse at 70% 20%, rgba(255,240,200,0.25) 0%, transparent 60%); pointer-events:none; animation: ct-sun 10s ease-in-out infinite alternate; }
@keyframes ct-wall      { 0% { opacity: 0.85; } 50% { opacity: 1; } 100% { opacity: 0.88; } }
@keyframes ct-win       { 0% { box-shadow: inset 0 0 20px 8px rgba(255,255,200,0.3), 0 0 30px 10px rgba(255,230,180,0.4); } 50% { box-shadow: inset 0 0 30px 12px rgba(255,255,240,0.5), 0 0 50px 20px rgba(255,240,200,0.6); } 100% { box-shadow: inset 0 0 20px 8px rgba(255,255,200,0.3), 0 0 30px 10px rgba(255,230,180,0.4); } }
@keyframes ct-scroll    { 0%,100% { transform: rotate(-15deg) translateY(0); } 50% { transform: rotate(-10deg) translateY(-2px); } }
@keyframes ct-tutor     { 0% { transform: scale(1) translateY(0); } 50% { transform: scale(1.02) translateY(-1px); } 100% { transform: scale(1) translateY(0); } }
@keyframes ct-student   { 0%,100% { transform: rotate(-2deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-1px); } }
@keyframes ct-sun       { 0% { opacity: 0.6; transform: scale(1); } 50% { opacity: 0.9; transform: scale(1.05); } 100% { opacity: 0.7; transform: scale(1); } }

/* socrates-rebuke */
.scn-socrates-rebuke {
  background:
    linear-gradient(180deg, #fff4e0 0%, #f5e0c5 40%, #dcc5a0 100%),
    radial-gradient(ellipse at 20% 30%, rgba(255,245,210,0.3) 0%, transparent 60%);
}
.scn-socrates-rebuke .wall-left   { position:absolute; top:0; left:0; width:30%; bottom:30%; background: linear-gradient(180deg, #e8d2b8 0%, #c8b098 100%); border-radius: 0 0 20% 0; }
.scn-socrates-rebuke .wall-right  { position:absolute; top:0; right:0; width:30%; bottom:30%; background: linear-gradient(180deg, #e8d2b8 0%, #c8b098 100%); border-radius: 0 0 0 20%; }
.scn-socrates-rebuke .floor       { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #b89a7a 0%, #8a6e52 100%); border-radius: 10% 10% 0 0; box-shadow: inset 0 8px 12px rgba(0,0,0,0.2); }
.scn-socrates-rebuke .podium      { position:absolute; bottom:28%; left:50%; width:80px; height:20px; transform:translateX(-50%); background: linear-gradient(180deg, #a08060 0%, #786050 100%); border-radius: 4px 4px 0 0; box-shadow: 0 -4px 8px rgba(0,0,0,0.15); }
.scn-socrates-rebuke .socrates     { position:absolute; bottom:35%; left:50%; width:34px; height:70px; transform:translateX(-50%); background: linear-gradient(180deg, #c8aa8a 0%, #8a7058 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: sr-socrates 7s ease-in-out infinite; }
.scn-socrates-rebuke .gesture     { position:absolute; bottom:52%; left:52%; width:20px; height:16px; background: radial-gradient(ellipse at 30% 50%, #d0b898 0%, #a08068 100%); border-radius: 50% 20% 20% 50% / 50% 50% 30% 30%; transform: rotate(30deg); animation: sr-gesture 4s ease-in-out infinite alternate; }
.scn-socrates-rebuke .listener-left { position:absolute; bottom:24%; left:15%; width:24px; height:44px; background: linear-gradient(180deg, #b89878 0%, #8a6e52 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sr-listen 8s ease-in-out infinite; }
.scn-socrates-rebuke .listener-right{ position:absolute; bottom:24%; right:15%; width:24px; height:44px; background: linear-gradient(180deg, #b89878 0%, #8a6e52 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sr-listen 8s ease-in-out infinite reverse; }
@keyframes sr-socrates { 0%,100% { transform: translateX(-50%) rotate(-1deg) scale(1); } 50% { transform: translateX(-50%) rotate(1deg) scale(1.02); } }
@keyframes sr-gesture  { 0% { transform: rotate(30deg) translateX(0); } 50% { transform: rotate(45deg) translateX(4px); } 100% { transform: rotate(30deg) translateX(0); } }
@keyframes sr-listen   { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(3deg); } }

/* aristippus-rebuke */
.scn-aristippus-rebuke {
  background:
    linear-gradient(180deg, #faf0dc 0%, #f0dcc0 40%, #d8c0a0 100%),
    radial-gradient(ellipse at 30% 40%, rgba(255,245,220,0.25) 0%, transparent 60%);
}
.scn-aristippus-rebuke .bg-wall   { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #e8d2b8 0%, #c8b098 100%); animation: ar-wall 10s ease-in-out infinite alternate; }
.scn-aristippus-rebuke .bg-floor  { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #b89a7a 0%, #8a6e52 100%); border-radius: 5% 5% 0 0; }
.scn-aristippus-rebuke .column    { position:absolute; bottom:35%; left:50%; width:16px; height:90px; transform:translateX(-50%); background: linear-gradient(90deg, #c8b8a0 0%, #e0d0b8 50%, #c8b8a0 100%); border-radius: 4px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
.scn-aristippus-rebuke .aristippus { position:absolute; bottom:30%; left:44%; width:30px; height:58px; background: linear-gradient(180deg, #c0a080 0%, #8a6e52 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: ar-arist 6s ease-in-out infinite; }
.scn-aristippus-rebuke .father    { position:absolute; bottom:30%; right:40%; width:28px; height:54px; background: linear-gradient(180deg, #b89878 0%, #7a6450 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ar-father 7s ease-in-out infinite; }
.scn-aristippus-rebuke .coin-pouch { position:absolute; bottom:42%; right:42%; width:12px; height:8px; background: linear-gradient(180deg, #805030 0%, #604020 100%); border-radius: 50% 50% 30% 30%; box-shadow: 0 2px 4px rgba(0,0,0,0.3); animation: ar-pouch 5s ease-in-out infinite; }
.scn-aristippus-rebuke .shadow    { position:absolute; bottom:0; left:10%; right:10%; height:30%; background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.1) 0%, transparent 70%); pointer-events:none; animation: ar-shadow 8s ease-in-out infinite; }
@keyframes ar-wall    { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.92; } }
@keyframes ar-arist   { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-3px) rotate(2deg); } }
@keyframes ar-father  { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-1px) scale(1.02); } }
@keyframes ar-pouch   { 0%,100% { transform: translateY(0) rotate(-5deg); } 50% { transform: translateY(-2px) rotate(5deg); } }
@keyframes ar-shadow  { 0% { opacity: 0.4; } 50% { opacity: 0.6; } 100% { opacity: 0.4; } }

/* education-immortal */
.scn-education-immortal {
  background:
    linear-gradient(180deg, #fff8f0 0%, #f0e4d0 40%, #e0d0b8 100%),
    radial-gradient(ellipse at 50% 10%, rgba(255,250,230,0.6) 0%, transparent 70%);
}
.scn-education-immortal .sky       { position:absolute; top:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #ffeac0 0%, #ffdfb0 100%); animation: ei-sky 15s ease-in-out infinite alternate; }
.scn-education-immortal .ground    { position:absolute; bottom:0; left:0; right:0; height:65%; background: linear-gradient(180deg, #d8c8b0 0%, #b8a088 100%); border-radius: 30% 30% 0 0 / 20% 20% 0 0; }
.scn-education-immortal .pedestal  { position:absolute; bottom:30%; left:50%; width:60px; height:10px; transform:translateX(-50%); background: linear-gradient(90deg, #a09078 0%, #c0b098 50%, #a09078 100%); border-radius: 2px; }
.scn-education-immortal .figure    { position:absolute; bottom:35%; left:50%; width:30px; height:65px; transform:translateX(-50%); background: linear-gradient(180deg, #c8b098 0%, #908070 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: ei-figure 6s ease-in-out infinite; }
.scn-education-immortal .torch-glow { position:absolute; bottom:58%; left:50%; width:28px; height:28px; transform:translateX(-50%); background: radial-gradient(circle, #fff4c0 0%, #ffe080 40%, transparent 70%); border-radius: 50%; box-shadow: 0 0 40px 20px rgba(255,220,100,0.5), 0 0 80px 40px rgba(255,220,100,0.2); animation: ei-torch 4s ease-in-out infinite alternate; }
.scn-education-immortal .scroll    { position:absolute; bottom:46%; left:44%; width:20px; height:12px; background: linear-gradient(180deg, #f0e0c0 0%, #d0b890 100%); border-radius: 20% 20% 30% 30% / 40% 40% 20% 20%; transform: rotate(-10deg); animation: ei-scroll 8s ease-in-out infinite; }
.scn-education-immortal .rays      { position:absolute; top:10%; left:20%; right:20%; height:40%; background: radial-gradient(ellipse at 50% 0%, rgba(255,240,200,0.15) 0%, transparent 70%); animation: ei-rays 12s ease-in-out infinite alternate; }
.scn-education-immortal .particle  { position:absolute; top:20%; left:30%; width:4px; height:4px; background: #ffe8b0; border-radius: 50%; box-shadow: 0 0 6px 2px rgba(255,232,176,0.6); animation: ei-part 20s linear infinite; }
@keyframes ei-sky    { 0% { opacity: 0.8; background-position: 0% 0%; } 50% { opacity: 1; background-position: 50% 0%; } 100% { opacity: 0.85; background-position: 100% 0%; } }
@keyframes ei-figure { 0%,100% { transform: translateX(-50%) rotate(-1deg) scale(1); } 50% { transform: translateX(-50%) rotate(1deg) scale(1.02); } }
@keyframes ei-torch  { 0% { opacity: 0.6; transform: translateX(-50%) scale(1); } 50% { opacity: 1; transform: translateX(-50%) scale(1.2); } 100% { opacity: 0.8; transform: translateX(-50%) scale(1); } }
@keyframes ei-scroll { 0% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(-5deg) translateY(-2px); } 100% { transform: rotate(-10deg) translateY(0); } }
@keyframes ei-rays   { 0% { opacity: 0.3; } 50% { opacity: 0.7; } 100% { opacity: 0.4; } }
@keyframes ei-part   { 0% { transform: translate(0,0) rotate(0deg); opacity: 0; } 10% { opacity: 1; } 100% { transform: translate(100px, -200px) rotate(720deg); opacity: 0; } }

.scn-education-birth { background: linear-gradient(180deg, #f7f0e0 0%, #e8dccc 50%, #d4c4b0 100%), radial-gradient(ellipse at 50% 0%, #faf5ee 0%, transparent 70%); }
.scn-education-birth .eb-wall { position:absolute; inset:0; background: linear-gradient(135deg, #ede5d5 0%, #d8ccc0 50%, #c4b8a8 100%); }
.scn-education-birth .eb-window { position:absolute; top:10%; left:25%; width:30%; height:40%; background: linear-gradient(180deg, #b8d0e0 0%, #a0b8d0 100%); border:6px solid #8a7a6a; border-radius:12px; box-shadow: inset 0 0 30px rgba(200,220,240,.3); }
.scn-education-birth .eb-curtain-a { position:absolute; top:10%; left:25%; width:15%; height:40%; background: linear-gradient(135deg, #c8b8a8 0%, #b0a090 100%); border-radius:0 40% 40% 0; transform-origin: left center; animation: eb-curtain 8s ease-in-out infinite alternate; }
.scn-education-birth .eb-curtain-b { position:absolute; top:10%; right:25%; width:15%; height:40%; background: linear-gradient(225deg, #c8b8a8 0%, #b0a090 100%); border-radius:40% 0 0 40%; transform-origin: right center; animation: eb-curtain 8s ease-in-out infinite alternate-reverse; }
.scn-education-birth .eb-cradle { position:absolute; bottom:15%; left:50%; width:120px; height:60px; transform:translateX(-50%); background: linear-gradient(180deg, #a09070 0%, #807050 100%); border-radius:40% 40% 20% 20%; box-shadow: 0 8px 16px rgba(0,0,0,.1); animation: eb-cradle 4s ease-in-out infinite; }
.scn-education-birth .eb-mother { position:absolute; bottom:18%; left:38%; width:40px; height:80px; background: linear-gradient(180deg, #c8b8a8 0%, #b0a090 50%, #907060 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: eb-mother 6s ease-in-out infinite; }
.scn-education-birth .eb-lamp { position:absolute; top:45%; right:20%; width:16px; height:24px; background: radial-gradient(circle, #f0d8a0 0%, #c8a060 50%, transparent 100%); border-radius:50%; box-shadow: 0 0 40px 12px rgba(200,160,96,.4); animation: eb-lamp 3s ease-in-out infinite alternate; }
.scn-education-birth .eb-toy { position:absolute; bottom:22%; left:55%; width:20px; height:20px; background: linear-gradient(135deg, #e0c090 0%, #c0a070 100%); border-radius:50%; animation: eb-toy 5s ease-in-out infinite; }

@keyframes eb-curtain { 0% { transform: scaleX(1); } 50% { transform: scaleX(0.9) rotate(-2deg); } 100% { transform: scaleX(1); } }
@keyframes eb-cradle { 0%,100% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) rotate(2deg) translateY(-2px); } }
@keyframes eb-mother { 0% { transform: translateY(0) rotate(-1deg); } 25% { transform: translateY(-2px) rotate(1deg); } 50% { transform: translateY(0) rotate(0); } 75% { transform: translateY(-1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes eb-lamp { 0% { opacity:.8; box-shadow: 0 0 30px 8px rgba(200,160,96,.3); } 50% { opacity:1; box-shadow: 0 0 50px 16px rgba(200,160,96,.6); } 100% { opacity:.85; box-shadow: 0 0 35px 10px rgba(200,160,96,.4); } }
@keyframes eb-toy { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }

.scn-foundation-well-laid { background: linear-gradient(180deg, #e8e0d0 0%, #d4c8b8 50%, #c0b0a0 100%), radial-gradient(ellipse at 50% 100%, #f0e8d8 0%, transparent 70%); }
.scn-foundation-well-laid .fw-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #b0a090 0%, #908070 100%); }
.scn-foundation-well-laid .fw-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #d8d0c0 0%, #c0b8a8 100%); }
.scn-foundation-well-laid .fw-stone { position:absolute; bottom:30%; left:50%; width:140px; height:80px; transform:translateX(-50%); background: linear-gradient(135deg, #b0a090 0%, #908070 50%, #706050 100%); border-radius:8px; box-shadow: 0 8px 16px rgba(0,0,0,.2); animation: fw-stone 10s ease-in-out infinite; }
.scn-foundation-well-laid .fw-tool { position:absolute; bottom:35%; left:45%; width:30px; height:60px; background: linear-gradient(180deg, #a08060 0%, #604020 100%); border-radius:4px 4px 20px 20px; transform-origin: bottom center; animation: fw-tool 4s ease-in-out infinite alternate; }
.scn-foundation-well-laid .fw-builder { position:absolute; bottom:30%; left:35%; width:35px; height:70px; background: linear-gradient(180deg, #c8b8a8 0%, #a09080 50%, #706050 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fw-builder 7s ease-in-out infinite; }
.scn-foundation-well-laid .fw-column { position:absolute; bottom:30%; left:70%; width:30px; height:120px; background: linear-gradient(180deg, #d0c8b8 0%, #b8b0a0 50%, #a09888 100%); border-radius:4px; box-shadow: -4px 0 8px rgba(0,0,0,.1); animation: fw-column 12s ease-in-out infinite alternate; }
.scn-foundation-well-laid .fw-shadow { position:absolute; bottom:30%; left:50%; width:160px; height:10px; transform:translateX(-50%); background: radial-gradient(ellipse, rgba(0,0,0,.15) 0%, transparent 70%); animation: fw-shadow 10s ease-in-out infinite; }

@keyframes fw-stone { 0%,100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-2px); } }
@keyframes fw-tool { 0% { transform: rotate(-10deg); } 50% { transform: rotate(5deg); } 100% { transform: rotate(-10deg); } }
@keyframes fw-builder { 0% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-2px) rotate(2deg); } 50% { transform: translateY(0) rotate(-1deg); } 75% { transform: translateY(-1px) rotate(1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes fw-column { 0% { opacity:.9; filter: brightness(1); } 50% { opacity:1; filter: brightness(1.05); } 100% { opacity:.95; filter: brightness(0.98); } }
@keyframes fw-shadow { 0%,100% { width:160px; opacity:.6; } 50% { width:180px; opacity:.8; } }

.scn-sons-of-illustrious { background: linear-gradient(180deg, #e0d8c8 0%, #c8c0b0 50%, #b0a898 100%), radial-gradient(ellipse at 50% 0%, #f0e8d8 0%, transparent 70%); }
.scn-sons-of-illustrious .so-hall { position:absolute; inset:0; background: linear-gradient(135deg, #d0c8b8 0%, #b8b0a0 50%, #a09888 100%); }
.scn-sons-of-illustrious .so-pedestal { position:absolute; bottom:20%; left:50%; width:80px; height:20px; transform:translateX(-50%); background: linear-gradient(180deg, #b8a898 0%, #988878 100%); border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,.15); }
.scn-sons-of-illustrious .so-bust { position:absolute; bottom:20%; left:50%; width:40px; height:60px; transform:translateX(-50%); background: linear-gradient(180deg, #d0c0a8 0%, #b8a890 100%); border-radius:50% 50% 30% 30% / 60% 60% 30% 30%; box-shadow: 0 6px 12px rgba(0,0,0,.2); animation: so-bust 8s ease-in-out infinite alternate; }
.scn-sons-of-illustrious .so-figure { position:absolute; bottom:15%; left:30%; width:40px; height:90px; background: linear-gradient(180deg, #c8b8a8 0%, #a09080 50%, #706050 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: so-figure 6s ease-in-out infinite; }
.scn-sons-of-illustrious .so-drape { position:absolute; top:5%; right:10%; width:80px; height:70px; background: linear-gradient(135deg, #d8c8b8 0%, #b8a898 50%, #a09080 100%); border-radius:0 0 60% 40%; box-shadow: 4px 4px 12px rgba(0,0,0,.1); animation: so-drape 12s ease-in-out infinite alternate; }
.scn-sons-of-illustrious .so-light { position:absolute; top:0; left:0; width:100%; height:100%; background: radial-gradient(ellipse at 30% 20%, rgba(255,240,200,.3) 0%, transparent 60%); animation: so-light 5s ease-in-out infinite alternate; }

@keyframes so-bust { 0% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) rotate(2deg) scale(1.02); } 100% { transform: translateX(-50%) rotate(-1deg); } }
@keyframes so-figure { 0% { transform: translateY(0) rotate(-1deg); } 25% { transform: translateY(-3px) rotate(2deg); } 50% { transform: translateY(0) rotate(0); } 75% { transform: translateY(-2px) rotate(-2deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes so-drape { 0% { transform: scaleX(1) translateY(0); } 50% { transform: scaleX(1.05) translateY(-2px); } 100% { transform: scaleX(0.95) translateY(0); } }
@keyframes so-light { 0% { opacity:.5; } 50% { opacity:.8; } 100% { opacity:.6; } }

.scn-lacedaemonian-fining { background: linear-gradient(180deg, #e0d8c8 0%, #c8c0b0 50%, #b0a898 100%), radial-gradient(ellipse at 50% 50%, #f0e8d8 0%, transparent 60%); }
.scn-lacedaemonian-fining .lf-wall { position:absolute; inset:0; background: linear-gradient(135deg, #d0c8b8 0%, #b8b0a0 50%, #a09888 100%); }
.scn-lacedaemonian-fining .lf-bench { position:absolute; bottom:18%; left:50%; width:160px; height:20px; transform:translateX(-50%); background: linear-gradient(180deg, #b8a898 0%, #988878 100%); border-radius:4px; box-shadow: 0 6px 12px rgba(0,0,0,.15); }
.scn-lacedaemonian-fining .lf-king { position:absolute; bottom:18%; left:38%; width:35px; height:80px; background: linear-gradient(180deg, #c8b8a8 0%, #a09080 50%, #706050 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: lf-king 5s ease-in-out infinite; }
.scn-lacedaemonian-fining .lf-queen { position:absolute; bottom:18%; left:54%; width:28px; height:60px; background: linear-gradient(180deg, #d0c0b0 0%, #b0a090 50%, #907060 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: lf-queen 7s ease-in-out infinite alternate; }
.scn-lacedaemonian-fining .lf-judge { position:absolute; bottom:18%; right:28%; width:40px; height:85px; background: linear-gradient(180deg, #b8a898 0%, #988878 50%, #786858 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: lf-judge 6s ease-in-out infinite; }
.scn-lacedaemonian-fining .lf-coins { position:absolute; bottom:22%; left:60%; width:20px; height:10px; background: radial-gradient(circle, #e0c090 0%, #c0a070 100%); border-radius:50%; box-shadow: 0 4px 8px rgba(0,0,0,.2); animation: lf-coins 3s ease-in-out infinite alternate; }
.scn-lacedaemonian-fining .lf-drape { position:absolute; top:5%; left:15%; width:50px; height:80px; background: linear-gradient(135deg, #c8b8a8 0%, #a09080 100%); border-radius:0 0 50% 50%; animation: lf-drape 10s ease-in-out infinite alternate; }

@keyframes lf-king { 0% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-2px) rotate(2deg); } 50% { transform: translateY(0) rotate(-1deg); } 75% { transform: translateY(-1px) rotate(1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes lf-queen { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-2px) scale(0.98); } 100% { transform: translateY(0) scale(1); } }
@keyframes lf-judge { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-2deg); } }
@keyframes lf-coins { 0% { opacity:.7; transform: translateY(0); } 50% { opacity:1; transform: translateY(-2px); } 100% { opacity:.8; transform: translateY(0); } }
@keyframes lf-drape { 0% { transform: scaleY(1) translateX(0); } 50% { transform: scaleY(1.05) translateX(2px); } 100% { transform: scaleY(0.95) translateX(-2px); } }

.scn-lycurgus-puppies {
  background: linear-gradient(180deg, #f5e6d3 0%, #e8d5b7 40%, #d4b89a 100%),
              radial-gradient(ellipse at 50% 80%, #e0c9a8 0%, transparent 70%);
}
.scn-lycurgus-puppies .wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #f0dfcb 0%, #dcc3a7 100%); border-radius: 0 0 30% 30% / 0 0 20% 20%; }
.scn-lycurgus-puppies .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #b89a7a 0%, #9a7d5e 100%); }
.scn-lycurgus-puppies .window { position:absolute; top:8%; right:12%; width:60px; height:80px; background: radial-gradient(ellipse at center, #fff8e7 0%, #e6d4b5 60%, #c6b096 100%); border:4px solid #a68a6a; border-radius:10% 10% 5% 5%; box-shadow: inset 0 0 20px rgba(255,255,200,0.3); }
.scn-lycurgus-puppies .lycurgus { position:absolute; bottom:28%; left:20%; width:50px; height:120px; background: linear-gradient(180deg, #3a2a1a 0%, #1e1410 100%); border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%; transform-origin: bottom center; animation: animate-lp-walk 6s ease-in-out infinite; }
.scn-lycurgus-puppies .puppy-pampered { position:absolute; bottom:20%; left:52%; width:36px; height:24px; background: linear-gradient(180deg, #d4a56a 0%, #b0824a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 4px 8px rgba(0,0,0,0.2); animation: animate-lp-lie 8s ease-in-out infinite; }
.scn-lycurgus-puppies .puppy-trained { position:absolute; bottom:22%; left:68%; width:38px; height:28px; background: linear-gradient(180deg, #8a6a3a 0%, #5e4222 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-10deg); animation: animate-lp-stand 5s ease-in-out infinite; }
.scn-lycurgus-puppies .cushion { position:absolute; bottom:18%; left:52%; width:48px; height:12px; background: linear-gradient(180deg, #c85060 0%, #a03040 100%); border-radius: 30% 30% 20% 20%; box-shadow: 0 2px 6px rgba(0,0,0,0.3); animation: animate-lp-cushion 8s ease-in-out infinite; }
.scn-lycurgus-puppies .leash { position:absolute; bottom:32%; left:70%; width:30px; height:4px; background: #4a2a1a; border-radius: 2px; transform-origin: left center; animation: animate-lp-leash 5s ease-in-out infinite; }
@keyframes animate-lp-walk { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3px) rotate(1deg); } }
@keyframes animate-lp-lie { 0%,100% { transform: scaleX(1) rotate(0); } 50% { transform: scaleX(1.1) rotate(-5deg); } }
@keyframes animate-lp-stand { 0%,100% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(-5deg) translateY(-2px); } }
@keyframes animate-lp-cushion { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes animate-lp-leash { 0%,100% { transform: rotate(5deg); } 50% { transform: rotate(-5deg); } }

.scn-platter-and-hare {
  background: linear-gradient(180deg, #f2e3d0 0%, #e0cfb5 40%, #cbb59a 100%),
              radial-gradient(ellipse at 50% 70%, #e8d6be 0%, transparent 60%);
}
.scn-platter-and-hare .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #eddcc7 0%, #d4c0a8 100%); border-radius: 0 0 40% 40% / 0 0 25% 25%; }
.scn-platter-and-hare .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #b09478 0%, #8c7258 100%); }
.scn-platter-and-hare .platter { position:absolute; bottom:18%; left:20%; width:70px; height:14px; background: linear-gradient(180deg, #d0b090 0%, #a08060 100%); border-radius: 40% 40% 30% 30%; box-shadow: 0 4px 8px rgba(0,0,0,0.25); transform: scaleX(1.3); }
.scn-platter-and-hare .hare { position:absolute; bottom:20%; right:22%; width:40px; height:50px; background: linear-gradient(180deg, #b8a090 0%, #8a7060 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; animation: animate-ph-hop 4s ease-in-out infinite; }
.scn-platter-and-hare .puppy-dart { position:absolute; bottom:16%; left:40%; width:40px; height:26px; background: linear-gradient(180deg, #9a7a5a 0%, #6a4a2a 100%); border-radius: 50% 40% 30% 40% / 60% 50% 40% 40%; transform: rotate(20deg); animation: animate-ph-dart 3s ease-in-out infinite alternate; }
.scn-platter-and-hare .puppy-platter { position:absolute; bottom:16%; right:40%; width:38px; height:24px; background: linear-gradient(180deg, #ba9050 0%, #8a6020 100%); border-radius: 40% 50% 40% 30% / 50% 60% 40% 40%; transform: rotate(-15deg); animation: animate-ph-dart 4s ease-in-out infinite alternate-reverse; }
.scn-platter-and-hare .shadow-left { position:absolute; bottom:14%; left:38%; width:30px; height:6px; background: rgba(0,0,0,0.15); border-radius: 50%; filter: blur(2px); }
.scn-platter-and-hare .shadow-right { position:absolute; bottom:14%; right:38%; width:30px; height:6px; background: rgba(0,0,0,0.15); border-radius: 50%; filter: blur(2px); }
@keyframes animate-ph-hop { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-6px) rotate(5deg); } }
@keyframes animate-ph-dart { 0% { transform: rotate(20deg) translateX(0); } 100% { transform: rotate(20deg) translateX(10px); } }

.scn-nutrition-mothers-nurse {
  background: linear-gradient(180deg, #f5e6dc 0%, #e5d4c0 40%, #d0bb9e 100%),
              radial-gradient(ellipse at 50% 60%, #ead8c4 0%, transparent 70%);
}
.scn-nutrition-mothers-nurse .wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #eddcca 0%, #dac6b0 100%); border-radius: 0 0 20% 20%; }
.scn-nutrition-mothers-nurse .bed { position:absolute; bottom:12%; left:15%; right:15%; height:50%; background: linear-gradient(180deg, #b09880 0%, #8a7058 100%); border-radius: 30% 30% 10% 10% / 40% 40% 20% 20%; box-shadow: 0 8px 20px rgba(0,0,0,0.2); }
.scn-nutrition-mothers-nurse .mother { position:absolute; bottom:20%; left:38%; width:70px; height:110px; background: linear-gradient(180deg, #c0a080 0%, #907050 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: animate-nmn-breathe 6s ease-in-out infinite; }
.scn-nutrition-mothers-nurse .baby-left { position:absolute; bottom:30%; left:36%; width:30px; height:30px; background: linear-gradient(180deg, #d0b8a0 0%, #b09070 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: animate-nmn-suckle 4s ease-in-out infinite; }
.scn-nutrition-mothers-nurse .baby-right { position:absolute; bottom:30%; right:36%; width:30px; height:30px; background: linear-gradient(180deg, #d0b8a0 0%, #b09070 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: animate-nmn-suckle 4.5s ease-in-out infinite; }
.scn-nutrition-mothers-nurse .blanket { position:absolute; bottom:22%; left:30%; right:30%; height:30px; background: linear-gradient(180deg, #b0a8c0 0%, #8880a0 100%); border-radius: 40% 40% 20% 20%; transform: translateY(10px); opacity: 0.6; }
.scn-nutrition-mothers-nurse .pillow { position:absolute; bottom:40%; left:35%; width:40px; height:15px; background: linear-gradient(180deg, #e0d0c0 0%, #c0b0a0 100%); border-radius: 50%; filter: blur(1px); }
@keyframes animate-nmn-breathe { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes animate-nmn-suckle { 0%,100% { transform: scale(1); } 50% { transform: scale(1.05) rotate(-3deg); } }

.scn-nurses-fables {
  background: linear-gradient(180deg, #f0e4d8 0%, #dfcfbe 40%, #cbb8a2 100%),
              radial-gradient(ellipse at 50% 60%, #e2d0bc 0%, transparent 70%);
}
.scn-nurses-fables .wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #eadccc 0%, #d6c4b0 100%); border-radius: 0 0 20% 20%; }
.scn-nurses-fables .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #a89078 0%, #8a7058 100%); }
.scn-nurses-fables .nurse { position:absolute; bottom:25%; left:45%; width:55px; height:130px; background: linear-gradient(180deg, #2a3a4a 0%, #14202a 100%); border-radius: 25% 25% 20% 20% / 40% 40% 30% 30%; transform-origin: bottom center; animation: animate-nf-tell 7s ease-in-out infinite; }
.scn-nurses-fables .child-left { position:absolute; bottom:18%; left:25%; width:30px; height:40px; background: linear-gradient(180deg, #b8a090 0%, #907050 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; animation: animate-nf-listen 5s ease-in-out infinite; }
.scn-nurses-fables .child-right { position:absolute; bottom:18%; right:25%; width:30px; height:40px; background: linear-gradient(180deg, #b8a090 0%, #907050 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; animation: animate-nf-listen 6s ease-in-out infinite reverse; }
.scn-nurses-fables .book { position:absolute; bottom:32%; left:47%; width:35px; height:45px; background: linear-gradient(180deg, #8a6040 0%, #5e3a22 100%); border-radius: 5%; transform: rotate(-8deg); animation: animate-nf-open 8s ease-in-out infinite; }
.scn-nurses-fables .scroll { position:absolute; bottom:28%; right:15%; width:20px; height:10px; background: linear-gradient(180deg, #d0b888 0%, #a89060 100%); border-radius: 20% 20% 40% 40%; transform: rotate(30deg); animation: animate-nf-scroll 12s linear infinite; }
.scn-nurses-fables .window { position:absolute; top:12%; left:12%; width:50px; height:65px; background: radial-gradient(ellipse at center, #fff8e7 0%, #ecdcc4 60%, #cbb596 100%); border:3px solid #a08060; border-radius:8%; box-shadow: inset 0 0 15px rgba(255,255,200,0.2); }
@keyframes animate-nf-tell { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(2deg); } }
@keyframes animate-nf-listen { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes animate-nf-open { 0%,100% { transform: rotate(-8deg); } 50% { transform: rotate(-4deg); } }
@keyframes animate-nf-scroll { 0% { transform: rotate(30deg) translateX(0); } 100% { transform: rotate(30deg) translateX(50px); opacity: 0; } }

/* scene 1: stilpo-virtue */
.scn-stilpo-virtue {
  background: linear-gradient(180deg, #f5ead0 0%, #e8d8b8 50%, #d4c4a0 100%),
              radial-gradient(ellipse at 50% 30%, #fff8e0 0%, transparent 70%);
}
.scn-stilpo-virtue .wall { position:absolute; inset:0; background: linear-gradient(180deg, #f0e6d2 0%, #dfd0b6 100%); }
.scn-stilpo-virtue .shelves { position:absolute; top:8%; left:12%; width:60%; height:30%; background: repeating-linear-gradient(0deg, #c4a070 0px, #c4a070 4px, transparent 4px, transparent 20px); transform: rotate(-2deg); animation: sv-shelves 20s ease-in-out infinite alternate; }
.scn-stilpo-virtue .window { position:absolute; top:12%; right:10%; width:90px; height:120px; background: linear-gradient(180deg, #e6f0ff 0%, #c0d4f0 100%); border-radius:8% 8% 4% 4%; border:6px solid #b09870; box-shadow:inset 0 0 20px rgba(180,200,240,.3); animation: sv-window 10s ease-in-out infinite alternate; }
.scn-stilpo-virtue .figure-sage { position:absolute; bottom:20%; left:38%; width:40px; height:70px; background: linear-gradient(180deg, #8a7a5c 0%, #6a5a42 100%); border-radius:50% 50% 40% 40% / 70% 60% 40% 40%; transform-origin: bottom center; animation: sv-fig 8s ease-in-out infinite; }
.scn-stilpo-virtue .lamp { position:absolute; bottom:36%; left:60%; width:14px; height:18px; background: radial-gradient(circle, #ffddaa 0%, #e8b878 70%); border-radius:30% 30% 10% 10%; box-shadow:0 0 20px 6px #e8b878, 0 0 40px 12px rgba(232,184,120,.3); animation: sv-lamp 5s ease-in-out infinite alternate; }
.scn-stilpo-virtue .book { position:absolute; bottom:22%; left:54%; width:30px; height:44px; background: linear-gradient(90deg, #8a3333 0%, #b04444 50%, #8a3333 100%); border-radius:2px; transform:rotate(-10deg); box-shadow:2px 2px 4px rgba(0,0,0,.15); }
.scn-stilpo-virtue .scroll { position:absolute; bottom:20%; right:32%; width:26px; height:8px; background: linear-gradient(90deg, #d4c09a 0%, #f0e0c0 100%); border-radius:50%; transform:rotate(15deg); animation: sv-scroll 12s ease-in-out infinite; }
.scn-stilpo-virtue .dust-mote { position:absolute; top:28%; left:42%; width:3px; height:3px; background:#fff; border-radius:50%; opacity:.4; animation: sv-motes 15s linear infinite; }
@keyframes sv-shelves { 0% { transform: rotate(-2deg) translateY(0); } 50% { transform: rotate(1deg) translateY(-1px); } 100% { transform: rotate(-1deg) translateY(0); } }
@keyframes sv-window { 0% { opacity:.75; box-shadow:inset 0 0 20px rgba(180,200,240,.2); } 50% { opacity:.95; box-shadow:inset 0 0 30px rgba(200,220,255,.5); } 100% { opacity:.8; box-shadow:inset 0 0 20px rgba(180,200,240,.3); } }
@keyframes sv-fig { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-2px) rotate(0deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes sv-lamp { 0% { transform: scale(1); opacity:.8; box-shadow:0 0 15px 4px #e8b878; } 50% { transform: scale(1.05); opacity:1; box-shadow:0 0 28px 8px #f0c888; } 100% { transform: scale(.98); opacity:.85; box-shadow:0 0 18px 5px #e8b878; } }
@keyframes sv-scroll { 0% { transform: rotate(15deg) translateX(0); } 50% { transform: rotate(20deg) translateX(3px); } 100% { transform: rotate(12deg) translateX(0); } }
@keyframes sv-motes { 0% { transform: translate(0,0) scale(1); opacity:.3; } 50% { transform: translate(15px,-10px) scale(1.5); opacity:.5; } 100% { transform: translate(30px,-20px) scale(1); opacity:.2; } }

/* scene 2: sound-education-advice */
.scn-sound-education-advice {
  background: linear-gradient(180deg, #f7f0e0 0%, #e5d8c0 50%, #d4c4a8 100%),
              radial-gradient(ellipse at 60% 40%, #fff7e8 0%, transparent 60%);
}
.scn-sound-education-advice .bg-study { position:absolute; inset:0; background: linear-gradient(180deg, #f2e6d0 0%, #e0d0b4 100%); }
.scn-sound-education-advice .chair-big { position:absolute; bottom:12%; left:28%; width:70px; height:80px; background: linear-gradient(180deg, #8a6a42 0%, #6a4a2a 100%); border-radius:10% 10% 40% 40% / 20% 20% 60% 60%; box-shadow:0 -4px 10px rgba(0,0,0,.15); animation: se-chair 12s ease-in-out infinite alternate; }
.scn-sound-education-advice .chair-small { position:absolute; bottom:16%; left:48%; width:40px; height:50px; background: linear-gradient(180deg, #a08050 0%, #806030 100%); border-radius:10% 10% 40% 40% / 20% 20% 60% 60%; animation: se-chair 12s ease-in-out infinite alternate-reverse; }
.scn-sound-education-advice .figure-parent { position:absolute; bottom:18%; left:26%; width:50px; height:100px; background: linear-gradient(180deg, #7a6a52 0%, #5a4a32 100%); border-radius:50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: se-fig-p 8s ease-in-out infinite; }
.scn-sound-education-advice .figure-child { position:absolute; bottom:20%; left:50%; width:30px; height:60px; background: linear-gradient(180deg, #9a8a6e 0%, #7a6a4e 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: se-fig-c 7s ease-in-out infinite; }
.scn-sound-education-advice .desk { position:absolute; bottom:8%; left:20%; width:120px; height:16px; background: linear-gradient(90deg, #b09870 0%, #d0b888 50%, #b09870 100%); border-radius:2px; box-shadow:0 2px 6px rgba(0,0,0,.1); }
.scn-sound-education-advice .candle { position:absolute; bottom:32%; left:38%; width:8px; height:20px; background: linear-gradient(180deg, #ffddaa 0%, #e8b878 60%, #c09050 100%); border-radius:2px; box-shadow:0 0 12px 4px #e8b878; animation: se-candle 4s ease-in-out infinite alternate; }
.scn-sound-education-advice .quill { position:absolute; bottom:24%; right:32%; width:4px; height:28px; background: linear-gradient(180deg, #d4b890 0%, #b09870 100%); border-radius:50% 50% 10% 10% / 30% 30% 20% 20%; transform:rotate(-20deg); animation: se-quill 6s ease-in-out infinite; }
@keyframes se-chair { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes se-fig-p { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-3px) rotate(0deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes se-fig-c { 0% { transform: translateY(0) rotate(1deg); } 50% { transform: translateY(-2px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes se-candle { 0% { opacity:.8; box-shadow:0 0 8px 2px #e8b878; } 50% { opacity:1; box-shadow:0 0 18px 6px #f0c888; } 100% { opacity:.85; box-shadow:0 0 10px 3px #e8b878; } }
@keyframes se-quill { 0% { transform: rotate(-20deg) translateX(0); } 50% { transform: rotate(-15deg) translateX(2px); } 100% { transform: rotate(-22deg) translateX(0); } }

/* scene 3: apelles-quick-painting */
.scn-apelles-quick-painting {
  background: linear-gradient(180deg, #f2edd8 0%, #e2d4b8 50%, #d0c0a0 100%),
              radial-gradient(ellipse at 70% 20%, #fff8e0 0%, transparent 60%);
}
.scn-apelles-quick-painting .wall-studio { position:absolute; inset:0; background: linear-gradient(180deg, #ece4cc 0%, #d8ccb0 100%); }
.scn-apelles-quick-painting .window-studio { position:absolute; top:8%; right:8%; width:100px; height:130px; background: linear-gradient(180deg, #cce0f0 0%, #a0c0e0 100%); border-radius:6% 6% 4% 4%; border:8px solid #c0a880; box-shadow:inset 0 0 30px rgba(160,190,230,.3); animation: aq-window 8s ease-in-out infinite alternate; }
.scn-apelles-quick-painting .easel { position:absolute; bottom:16%; left:30%; width:10px; height:100px; background: linear-gradient(90deg, #8a6a42, #6a4a2a); border-radius:2px; transform:rotate(-5deg); }
.scn-apelles-quick-painting .canvas { position:absolute; bottom:30%; left:28%; width:70px; height:80px; background: linear-gradient(180deg, #f5f0e0 0%, #e8dcc8 100%); border:4px solid #b09870; border-radius:2px; transform:rotate(-5deg); box-shadow:0 4px 12px rgba(0,0,0,.12); animation: aq-canvas 12s ease-in-out infinite; }
.scn-apelles-quick-painting .painter { position:absolute; bottom:6%; left:40%; width:45px; height:100px; background: linear-gradient(180deg, #8a7a5c 0%, #6a5a3e 100%); border-radius:50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: aq-painter 6s ease-in-out infinite; }
.scn-apelles-quick-painting .paint-pots { position:absolute; bottom:10%; left:16%; width:10px; height:10px; background: radial-gradient(circle, #d4a070 0%, #a07040 60%); border-radius:50%; box-shadow: 0 0 6px 2px rgba(160,112,64,.3), 0 10px 0 -2px #c08850, 0 20px 0 -2px #b07840; }
.scn-apelles-quick-painting .stool { position:absolute; bottom:4%; left:40%; width:30px; height:14px; background: linear-gradient(90deg, #b09870 0%, #d0b888 50%, #b09870 100%); border-radius:2px; transform:translateX(-18px); }
.scn-apelles-quick-painting .light-beam { position:absolute; top:0; right:10%; width:60%; height:100%; background: linear-gradient(135deg, rgba(255,255,240,.12) 0%, rgba(255,255,240,.05) 100%); transform:skewX(-10deg); animation: aq-beam 15s ease-in-out infinite alternate; }
@keyframes aq-window { 0% { opacity:.7; box-shadow:inset 0 0 20px rgba(160,190,230,.2); } 50% { opacity:.9; box-shadow:inset 0 0 40px rgba(180,210,240,.5); } 100% { opacity:.75; box-shadow:inset 0 0 20px rgba(160,190,230,.3); } }
@keyframes aq-canvas { 0% { transform: rotate(-5deg) translateX(0); } 50% { transform: rotate(-3deg) translateX(2px); } 100% { transform: rotate(-6deg) translateX(0); } }
@keyframes aq-painter { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes aq-beam { 0% { opacity:.3; } 50% { opacity:.6; } 100% { opacity:.2; } }

/* scene 4: mean-in-language */
.scn-mean-in-language {
  background: linear-gradient(180deg, #efe6d4 0%, #ddd0b8 50%, #cbbc9e 100%),
              radial-gradient(ellipse at 50% 80%, #fffbf0 0%, transparent 60%);
}
.scn-mean-in-language .bg-podium { position:absolute; inset:0; background: linear-gradient(180deg, #f0e6d0 0%, #dfd0b4 100%); }
.scn-mean-in-language .column-left { position:absolute; bottom:0; left:12%; width:20px; height:70%; background: linear-gradient(90deg, #c0a880 0%, #b09870 50%, #c0a880 100%); border-radius:6% 6% 0 0; box-shadow:0 0 10px rgba(0,0,0,.1); animation: ml-column 20s ease-in-out infinite alternate; }
.scn-mean-in-language .column-right { position:absolute; bottom:0; right:12%; width:20px; height:70%; background: linear-gradient(90deg, #c0a880 0%, #b09870 50%, #c0a880 100%); border-radius:6% 6% 0 0; box-shadow:0 0 10px rgba(0,0,0,.1); animation: ml-column 20s ease-in-out infinite alternate-reverse; }
.scn-mean-in-language .speaker { position:absolute; bottom:28%; left:50%; width:40px; height:80px; transform:translateX(-50%); background: linear-gradient(180deg, #8a7a5c 0%, #6a5a3e 100%); border-radius:50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: ml-speaker 6s ease-in-out infinite; }
.scn-mean-in-language .podium { position:absolute; bottom:12%; left:50%; width:60px; height:30px; transform:translateX(-50%); background: linear-gradient(180deg, #c8b090 0%, #b09878 100%); border-radius:6% 6% 10% 10% / 20% 20% 30% 30%; box-shadow:0 4px 8px rgba(0,0,0,.1); }
.scn-mean-in-language .scale { position:absolute; bottom:40%; left:50%; width:80px; height:6px; transform:translateX(-50%); background: linear-gradient(90deg, #b09870 0%, #d0b888 50%, #b09870 100%); border-radius:2px; animation: ml-scale 10s ease-in-out infinite; }
.scn-mean-in-language .scale::before { content:''; position:absolute; left:-4px; top:-8px; width:8px; height:20px; background: linear-gradient(180deg, #8a6a42 0%, #6a4a2a 100%); border-radius:2px; box-shadow:0 0 4px rgba(0,0,0,.1); }
.scn-mean-in-language .scale::after { content:''; position:absolute; right:-4px; top:-8px; width:8px; height:20px; background: linear-gradient(180deg, #8a6a42 0%, #6a4a2a 100%); border-radius:2px; box-shadow:0 0 4px rgba(0,0,0,.1); }
.scn-mean-in-language .candle-left { position:absolute; bottom:48%; left:18%; width:6px; height:16px; background: linear-gradient(180deg, #ffddaa 0%, #e8b878 60%, #c09050 100%); border-radius:2px; box-shadow:0 0 10px 3px #e8b878; animation: ml-candle 5s ease-in-out infinite alternate; }
.scn-mean-in-language .candle-right { position:absolute; bottom:48%; right:18%; width:6px; height:16px; background: linear-gradient(180deg, #ffddaa 0%, #e8b878 60%, #c09050 100%); border-radius:2px; box-shadow:0 0 10px 3px #e8b878; animation: ml-candle 5s ease-in-out infinite alternate-reverse; }
.scn-mean-in-language .floor-line { position:absolute; bottom:8%; left:0; right:0; height:2px; background: linear-gradient(90deg, transparent 0%, #c8b090 20%, #b09878 50%, #c8b090 80%, transparent 100%); }
@keyframes ml-column { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes ml-speaker { 0% { transform: translateX(-50%) translateY(0) rotate(-2deg); } 50% { transform: translateX(-50%) translateY(-3px) rotate(0deg); } 100% { transform: translateX(-50%) translateY(0) rotate(2deg); } }
@keyframes ml-scale { 0% { transform: translateX(-50%) rotate(-5deg); } 50% { transform: translateX(-50%) rotate(3deg); } 100% { transform: translateX(-50%) rotate(-4deg); } }
@keyframes ml-candle { 0% { opacity:.75; box-shadow:0 0 6px 2px #e8b878; } 50% { opacity:1; box-shadow:0 0 16px 5px #f0c888; } 100% { opacity:.8; box-shadow:0 0 8px 3px #e8b878; } }

/* self-control-anger */
.scn-self-control-anger {
  background: linear-gradient(180deg, #f5e6d3 0%, #e8d4b8 40%, #d4b896 70%, #bfa07a 100%),
              radial-gradient(ellipse at 30% 40%, #fff7ee 0%, transparent 60%);
}
.scn-self-control-anger .wall     { position:absolute; inset:0; background: linear-gradient(90deg, transparent 0%, rgba(245,230,211,.25) 50%, transparent 100%); }
.scn-self-control-anger .table    { position:absolute; bottom:20%; left:15%; right:15%; height:6%; background: linear-gradient(180deg, #8b5e3c 0%, #6b4226 100%); border-radius:4px 4px 0 0; box-shadow:0 8px 15px rgba(0,0,0,.3); }
.scn-self-control-anger .figure   { position:absolute; bottom:26%; left:35%; width:22px; height:48px; background: linear-gradient(180deg, #5a3a2a 0%, #3a2212 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation:sa1-breathe 6s ease-in-out infinite; }
.scn-self-control-anger .hand     { position:absolute; bottom:32%; left:38%; width:14px; height:10px; background: radial-gradient(circle at 50% 30%, #e0b080 0%, #c08a50 70%); border-radius:50% 40% 40% 50%; transform:rotate(-15deg); animation:sa1-hand 4s ease-in-out infinite alternate; }
.scn-self-control-anger .book     { position:absolute; bottom:22%; left:45%; width:18px; height:12px; background: linear-gradient(135deg, #a07850 0%, #7a5a3a 100%); border-radius:2px; transform:rotate(-5deg); box-shadow:2px 2px 4px rgba(0,0,0,.3); animation:sa1-book 8s ease-in-out infinite; }
.scn-self-control-anger .lamp     { position:absolute; bottom:28%; left:55%; width:8px; height:14px; background: linear-gradient(180deg, #d4a86a 0%, #a07840 100%); border-radius:30% 30% 10% 10%; box-shadow:0 0 20px 8px #f0d080; }
.scn-self-control-anger .dust-a   { position:absolute; top:30%; left:20%; width:6px; height:6px; background:rgba(245,230,211,.6); border-radius:50%; filter:blur(2px); animation:sa1-drift-a 12s ease-in-out infinite; }
.scn-self-control-anger .dust-b   { position:absolute; top:50%; right:30%; width:4px; height:4px; background:rgba(245,230,211,.5); border-radius:50%; filter:blur(1.5px); animation:sa1-drift-b 15s ease-in-out infinite; }
@keyframes sa1-breathe   { 0%,100% { transform:scaleY(1) } 50% { transform:scaleY(1.02) } }
@keyframes sa1-hand      { 0% { transform:rotate(-15deg) translateY(0) } 100% { transform:rotate(5deg) translateY(-2px) } }
@keyframes sa1-book      { 0%,100% { transform:rotate(-5deg) } 50% { transform:rotate(2deg) } }
@keyframes sa1-drift-a   { 0% { transform:translate(0,0); opacity:0 } 25% { opacity:1 } 50% { transform:translate(30px,-10px); opacity:.8 } 75% { opacity:1 } 100% { transform:translate(60px,5px); opacity:0 } }
@keyframes sa1-drift-b   { 0% { transform:translate(0,0); opacity:0 } 20% { opacity:.7 } 40% { transform:translate(-20px,15px); opacity:.5 } 60% { transform:translate(-40px,5px); opacity:.9 } 80% { transform:translate(-60px,-10px); opacity:.6 } 100% { transform:translate(-80px,0); opacity:0 } }

/* socrates-and-aristophanes */
.scn-socrates-and-aristophanes {
  background: linear-gradient(180deg, #fce4c8 0%, #eaceb0 30%, #d4b494 70%, #be9a7a 100%),
              radial-gradient(circle at 60% 30%, #ffffff 0%, transparent 70%);
}
.scn-socrates-and-aristophanes .col-l    { position:absolute; left:10%; top:0; bottom:0; width:8%; background: linear-gradient(90deg, #c9a882 0%, #b08a64 50%, #9a7454 100%); }
.scn-socrates-and-aristophanes .col-r    { position:absolute; right:10%; top:0; bottom:0; width:8%; background: linear-gradient(90deg, #9a7454 0%, #b08a64 50%, #c9a882 100%); }
.scn-socrates-and-aristophanes .table    { position:absolute; bottom:22%; left:25%; right:25%; height:5%; background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%); border-radius:6px 6px 0 0; box-shadow:0 8px 20px rgba(0,0,0,.4); }
.scn-socrates-and-aristophanes .mask     { position:absolute; bottom:35%; left:42%; width:20px; height:22px; background: radial-gradient(circle at 50% 40%, #d4b040 0%, #b09030 80%); border-radius:50% 50% 40% 40%; box-shadow:0 4px 10px rgba(0,0,0,.3); animation:sa2-mask 4s ease-in-out infinite; }
.scn-socrates-and-aristophanes .cup      { position:absolute; bottom:27%; left:48%; width:10px; height:8px; background: linear-gradient(180deg, #e0c080 0%, #c0a060 100%); border-radius:0 0 30% 30%; box-shadow:0 0 6px rgba(255,200,100,.4); }
.scn-socrates-and-aristophanes .figure   { position:absolute; bottom:22%; left:36%; width:20px; height:44px; background: linear-gradient(180deg, #4a2a1a 0%, #2a120a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation:sa2-fig 8s ease-in-out infinite; }
.scn-socrates-and-aristophanes .curtain  { position:absolute; top:0; right:20%; width:12%; height:100%; background: linear-gradient(90deg, transparent 0%, rgba(160,80,60,.5) 50%, transparent 100%); border-radius:0 0 20% 20%; filter:blur(3px); animation:sa2-curr 12s ease-in-out infinite; }
.scn-socrates-and-aristophanes .motes-a  { position:absolute; top:20%; left:20%; width:5px; height:5px; background:rgba(255,230,200,.6); border-radius:50%; filter:blur(1px); animation:sa2-mote 18s linear infinite; }
.scn-socrates-and-aristophanes .motes-b  { position:absolute; top:40%; left:60%; width:4px; height:4px; background:rgba(255,230,200,.5); border-radius:50%; filter:blur(1px); animation:sa2-mote 22s linear infinite reverse; }
@keyframes sa2-mask   { 0%,100% { transform:rotate(0) scale(1) } 50% { transform:rotate(8deg) scale(1.05) } }
@keyframes sa2-fig    { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-3px) } }
@keyframes sa2-curr   { 0%,100% { opacity:.6 } 50% { opacity:1 } }
@keyframes sa2-mote   { 0% { transform:translateY(0) translateX(0); opacity:0 } 25% { opacity:.8 } 50% { transform:translateY(-30px) translateX(20px); opacity:.6 } 75% { opacity:.9 } 100% { transform:translateY(-60px) translateX(40px); opacity:0 } }

/* imitate-good-practice */
.scn-imitate-good-practice {
  background: linear-gradient(180deg, #ede0d0 0%, #dcc4a8 30%, #c8ac8a 60%, #b09472 100%),
              radial-gradient(ellipse at 40% 30%, #fff5e8 0%, transparent 60%);
}
.scn-imitate-good-practice .arch    { position:absolute; top:0; left:20%; right:20%; height:40%; background: linear-gradient(180deg, #c9b09a 0%, #b09880 100%); border-radius:50% 50% 0 0; }
.scn-imitate-good-practice .pill-l  { position:absolute; left:22%; top:0; bottom:0; width:5%; background: linear-gradient(90deg, #a08870 0%, #b09880 50%, #a08870 100%); }
.scn-imitate-good-practice .pill-r  { position:absolute; right:22%; top:0; bottom:0; width:5%; background: linear-gradient(90deg, #a08870 0%, #b09880 50%, #a08870 100%); }
.scn-imitate-good-practice .scroll  { position:absolute; bottom:28%; left:45%; width:24px; height:10px; background: linear-gradient(90deg, #d4c08a 0%, #c0ac74 100%); border-radius:50% 50% 30% 30%; transform:rotate(-10deg); box-shadow:0 4px 8px rgba(0,0,0,.3); animation:ig3-scroll 10s ease-in-out infinite; }
.scn-imitate-good-practice .figure  { position:absolute; bottom:20%; left:38%; width:18px; height:42px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation:ig3-fig 7s ease-in-out infinite; }
.scn-imitate-good-practice .candle  { position:absolute; bottom:30%; left:52%; width:8px; height:16px; background: linear-gradient(180deg, #f0e0c0 0%, #e0c898 100%); border-radius:4px 4px 2px 2px; box-shadow:0 0 20px 6px #f0c880; animation:ig3-candle 3s ease-in-out infinite alternate; }
.scn-imitate-good-practice .shadow  { position:absolute; bottom:18%; left:36%; right:44%; height:4%; background: rgba(0,0,0,.2); border-radius:50%; filter:blur(4px); animation:ig3-shadow 7s ease-in-out infinite; }
.scn-imitate-good-practice .p-a     { position:absolute; top:35%; left:15%; width:6px; height:6px; background:rgba(220,200,180,.5); border-radius:50%; filter:blur(2px); animation:ig3-part 14s linear infinite; }
.scn-imitate-good-practice .p-b     { position:absolute; top:55%; right:25%; width:4px; height:4px; background:rgba(220,200,180,.6); border-radius:50%; filter:blur(1.5px); animation:ig3-part 18s linear infinite reverse; }
@keyframes ig3-scroll  { 0%,100% { transform:rotate(-10deg) translateY(0) } 50% { transform:rotate(5deg) translateY(-2px) } }
@keyframes ig3-fig    { 0%,100% { transform:scaleY(1) } 50% { transform:scaleY(1.03) } }
@keyframes ig3-candle { 0% { box-shadow:0 0 15px 4px #f0c880; opacity:.8 } 50% { box-shadow:0 0 30px 10px #ffd090; opacity:1 } 100% { box-shadow:0 0 18px 5px #f0c880; opacity:.85 } }
@keyframes ig3-shadow { 0%,100% { transform:scaleX(1) scaleY(1) } 50% { transform:scaleX(.95) scaleY(1.1) } }
@keyframes ig3-part   { 0% { transform:translate(0,0); opacity:0 } 20% { opacity:.7 } 40% { transform:translate(40px,-20px); opacity:.8 } 60% { transform:translate(80px,-10px); opacity:.5 } 80% { transform:translate(120px,5px); opacity:.6 } 100% { transform:translate(160px,20px); opacity:0 } }

/* socrates-demosthenes */
.scn-socrates-demosthenes {
  background: linear-gradient(180deg, #e8dcc8 0%, #d4c0a8 30%, #bea48c 60%, #a88870 100%),
              radial-gradient(circle at 30% 40%, #fff7ee 0%, transparent 60%);
}
.scn-socrates-demosthenes .floor   { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #b09880 0%, #9a8470 100%); border-radius:20% 20% 0 0; }
.scn-socrates-demosthenes .throne  { position:absolute; bottom:20%; left:35%; width:30px; height:28px; background: linear-gradient(135deg, #8a6a4a 0%, #6a4a2a 100%); border-radius:10% 10% 0 0; box-shadow:6px 0 15px rgba(0,0,0,.4); }
.scn-socrates-demosthenes .robe    { position:absolute; bottom:26%; left:37%; width:20px; height:18px; background: linear-gradient(180deg, #6a3a4a 0%, #4a1a2a 100%); border-radius:40% 40% 30% 30%; transform:rotate(-5deg); animation:sd4-robe 6s ease-in-out infinite; }
.scn-socrates-demosthenes .figure  { position:absolute; bottom:22%; left:42%; width:16px; height:36px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation:sd4-fig 8s ease-in-out infinite; }
.scn-socrates-demosthenes .foolscap{ position:absolute; bottom:48%; left:44%; width:10px; height:10px; background: radial-gradient(circle, #d4b060 0%, #b09040 80%); border-radius:50% 50% 40% 40%; animation:sd4-cap 4s ease-in-out infinite alternate; }
.scn-socrates-demosthenes .window  { position:absolute; top:10%; right:15%; width:40px; height:45px; background: linear-gradient(135deg, #f0e8d0 0%, #dccfc0 100%); border:3px solid #a08870; border-radius:2px; box-shadow:inset 0 0 20px rgba(255,255,200,.5), 0 0 30px rgba(255,255,200,.2); }
.scn-socrates-demosthenes .ray-a   { position:absolute; top:15%; left:55%; width:80px; height:200px; background: linear-gradient(135deg, rgba(255,240,200,.2) 0%, transparent 80%); clip-path: polygon(0 0, 100% 0, 70% 100%, 0% 100%); animation:sd4-ray 12s ease-in-out infinite alternate; }
.scn-socrates-demosthenes .ray-b   { position:absolute; top:25%; left:40%; width:60px; height:180px; background: linear-gradient(135deg, rgba(255,240,200,.15) 0%, transparent 80%); clip-path: polygon(0 0, 100% 0, 60% 100%, 20% 100%); animation:sd4-ray 16s ease-in-out infinite alternate-reverse; }
@keyframes sd4-robe  { 0%,100% { transform:rotate(-5deg) } 50% { transform:rotate(3deg) } }
@keyframes sd4-fig   { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-2px) } }
@keyframes sd4-cap   { 0% { transform:rotate(-10deg) scale(1) } 100% { transform:rotate(10deg) scale(1.05) } }
@keyframes sd4-ray   { 0% { opacity:.3 } 50% { opacity:.7 } 100% { opacity:.4 } }

.scn-entreaties-not-blows {
  background: linear-gradient(180deg, #f5e6d3 0%, #e8d4b8 30%, #d9c2a6 60%, #c4a88a 100%),
              radial-gradient(ellipse at 40% 30%, #fff8e7 0%, transparent 70%);
}
.scn-entreaties-not-blows .wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #f0dfc9 0%, #d9c2a6 100%); }
.scn-entreaties-not-blows .floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #b08c6a 0%, #8b6e4a 100%); }
.scn-entreaties-not-blows .window { position:absolute; top:10%; left:55%; width:35%; height:50%; background: linear-gradient(180deg, #fff8e7 0%, #e8d4b8 100%); border-radius: 2px; box-shadow: inset 0 0 20px rgba(255,248,231,.5), 0 0 30px rgba(255,248,231,.3); }
.scn-entreaties-not-blows .light { position:absolute; top:10%; left:55%; width:35%; height:50%; background: linear-gradient(135deg, rgba(255,248,231,.6) 0%, transparent 100%); animation: en-light 10s ease-in-out infinite alternate; }
.scn-entreaties-not-blows .desk { position:absolute; bottom:40%; left:10%; width:55%; height:8%; background: linear-gradient(180deg, #7a5c3a 0%, #5a3e22 100%); border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,.2); }
.scn-entreaties-not-blows .book { position:absolute; bottom:45%; left:28%; width:12%; height:10%; background: linear-gradient(180deg, #a67c52 0%, #6b4c2e 100%); border-radius: 2px; transform: rotate(-5deg); animation: en-book 8s ease-in-out infinite; }
.scn-entreaties-not-blows .adult { position:absolute; bottom:40%; left:15%; width:12%; height:35%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: en-adult 6s ease-in-out infinite; }
.scn-entreaties-not-blows .child { position:absolute; bottom:40%; left:30%; width:10%; height:28%; background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: en-child 7s ease-in-out infinite; }
@keyframes en-light {
  0% { opacity: .8; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.05); }
  100% { opacity: .85; transform: scale(1); }
}
@keyframes en-book {
  0%, 100% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(-2deg) translateY(-2px); }
}
@keyframes en-adult {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(2deg); }
}
@keyframes en-child {
  0%, 100% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(-1deg) translateY(1px); }
}

.scn-remission-from-labour {
  background: linear-gradient(180deg, #e8d4b8 0%, #d9c2a6 40%, #c4a88a 100%),
              radial-gradient(ellipse at 60% 30%, #fff8e7 0%, transparent 70%);
}
.scn-remission-from-labour .wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #f0dfc9 0%, #d9c2a6 100%); }
.scn-remission-from-labour .floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #b08c6a 0%, #8b6e4a 100%); }
.scn-remission-from-labour .window { position:absolute; top:10%; left:55%; width:35%; height:50%; background: linear-gradient(180deg, #fff8e7 0%, #e8d4b8 100%); border-radius: 2px; box-shadow: inset 0 0 20px rgba(255,248,231,.5), 0 0 30px rgba(255,248,231,.3); }
.scn-remission-from-labour .light { position:absolute; top:10%; left:55%; width:35%; height:50%; background: linear-gradient(135deg, rgba(255,248,231,.6) 0%, transparent 100%); animation: rl-light 12s ease-in-out infinite alternate; }
.scn-remission-from-labour .couch { position:absolute; bottom:40%; left:8%; width:60%; height:15%; background: linear-gradient(180deg, #9a7a5a 0%, #7a5c3a 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 8px 16px rgba(0,0,0,.2); animation: rl-couch 9s ease-in-out infinite; }
.scn-remission-from-labour .boy { position:absolute; bottom:52%; left:34%; width:12%; height:20%; background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(5deg); animation: rl-boy 8s ease-in-out infinite; }
.scn-remission-from-labour .book-open { position:absolute; bottom:54%; left:44%; width:10%; height:6%; background: linear-gradient(180deg, #a67c52 0%, #6b4c2e 100%); border-radius: 50% 50% 10% 10%; transform: rotate(-10deg); animation: rl-book 10s ease-in-out infinite; }
.scn-remission-from-labour .curve-soft { position:absolute; bottom:40%; left:0; right:0; height:10%; background: linear-gradient(180deg, transparent 0%, rgba(255,248,231,.1) 100%); border-radius: 50% 50% 0 0; animation: rl-curve 15s ease-in-out infinite; }
@keyframes rl-light {
  0% { opacity: .8; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.05); }
  100% { opacity: .85; transform: scale(1); }
}
@keyframes rl-couch {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}
@keyframes rl-boy {
  0%, 100% { transform: rotate(5deg) translateY(0); }
  50% { transform: rotate(3deg) translateY(-2px); }
}
@keyframes rl-book {
  0%, 100% { transform: rotate(-10deg) translateY(0); }
  50% { transform: rotate(-8deg) translateY(-1px); }
}
@keyframes rl-curve {
  0% { opacity: .8; }
  50% { opacity: 1; }
  100% { opacity: .8; }
}

.scn-kings-eye-horse {
  background: linear-gradient(180deg, #e8d4b8 0%, #d9c2a6 30%, #c4a88a 60%, #b08c6a 100%),
              radial-gradient(ellipse at 50% 20%, #fff8e7 0%, transparent 70%);
}
.scn-kings-eye-horse .wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #f0dfc9 0%, #d9c2a6 100%); }
.scn-kings-eye-horse .floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #b08c6a 0%, #8b6e4a 100%); }
.scn-kings-eye-horse .window { position:absolute; top:10%; left:55%; width:35%; height:50%; background: linear-gradient(180deg, #fff8e7 0%, #e8d4b8 100%); border-radius: 2px; box-shadow: inset 0 0 20px rgba(255,248,231,.5), 0 0 30px rgba(255,248,231,.3); }
.scn-kings-eye-horse .light { position:absolute; top:10%; left:55%; width:35%; height:50%; background: linear-gradient(135deg, rgba(255,248,231,.6) 0%, transparent 100%); animation: kh-light 10s ease-in-out infinite alternate; }
.scn-kings-eye-horse .father { position:absolute; bottom:40%; left:12%; width:12%; height:35%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: kh-father 7s ease-in-out infinite; }
.scn-kings-eye-horse .son { position:absolute; bottom:40%; left:32%; width:10%; height:28%; background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: kh-son 8s ease-in-out infinite; }
.scn-kings-eye-horse .horse-fig { position:absolute; bottom:40%; left:50%; width:20%; height:22%; background: linear-gradient(180deg, #8b6e4a 0%, #6b4c2e 100%); border-radius: 40% 60% 40% 40% / 50% 50% 40% 40%; clip-path: polygon(20% 0%, 80% 0%, 90% 30%, 80% 100%, 20% 100%, 10% 30%); animation: kh-horse 6s ease-in-out infinite; }
.scn-kings-eye-horse .book-shelf { position:absolute; bottom:40%; right:5%; width:20%; height:50%; background: linear-gradient(180deg, #7a5c3a 0%, #5a3e22 100%); border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,.2); }
@keyframes kh-light {
  0% { opacity: .8; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.05); }
  100% { opacity: .85; transform: scale(1); }
}
@keyframes kh-father {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(2deg); }
}
@keyframes kh-son {
  0%, 100% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(-1deg) translateY(1px); }
}
@keyframes kh-horse {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-3px) rotate(2deg); }
}

.scn-filthy-language {
  background: linear-gradient(180deg, #e8d4b8 0%, #d9c2a6 40%, #c4a88a 100%),
              radial-gradient(ellipse at 40% 30%, #fff8e7 0%, transparent 70%);
}
.scn-filthy-language .wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #f0dfc9 0%, #d9c2a6 100%); }
.scn-filthy-language .floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #b08c6a 0%, #8b6e4a 100%); }
.scn-filthy-language .window { position:absolute; top:10%; left:55%; width:35%; height:50%; background: linear-gradient(180deg, #fff8e7 0%, #e8d4b8 100%); border-radius: 2px; box-shadow: inset 0 0 20px rgba(255,248,231,.5), 0 0 30px rgba(255,248,231,.3); }
.scn-filthy-language .light { position:absolute; top:10%; left:55%; width:35%; height:50%; background: linear-gradient(135deg, rgba(255,248,231,.6) 0%, transparent 100%); animation: fl-light 11s ease-in-out infinite alternate; }
.scn-filthy-language .mother { position:absolute; bottom:40%; left:15%; width:12%; height:35%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: fl-mother 6s ease-in-out infinite; }
.scn-filthy-language .boy { position:absolute; bottom:40%; left:32%; width:10%; height:28%; background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: fl-boy 7s ease-in-out infinite; }
.scn-filthy-language .curtain { position:absolute; top:10%; left:0; width:20%; height:60%; background: linear-gradient(90deg, #c4a88a 0%, #a88a6a 100%); border-radius: 0 0 50% 0; animation: fl-curtain 15s ease-in-out infinite; }
.scn-filthy-language .shield { position:absolute; bottom:45%; left:40%; width:15%; height:20%; background: linear-gradient(180deg, #a88a6a 0%, #8b6e4a 100%); border-radius: 50%; border: 2px solid #7a5c3a; animation: fl-shield 8s ease-in-out infinite; }
@keyframes fl-light {
  0% { opacity: .8; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.05); }
  100% { opacity: .85; transform: scale(1); }
}
@keyframes fl-mother {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(2deg); }
}
@keyframes fl-boy {
  0%, 100% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(-1deg) translateY(1px); }
}
@keyframes fl-curtain {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(2px); }
}
@keyframes fl-shield {
  0%, 100% { transform: scale(1) rotate(0deg); }
  50% { transform: scale(1.05) rotate(-3deg); }
}

/* children-begot-drunk - interior cutaway, warm tavern */
.scn-children-begot-drunk {
  background:
    linear-gradient(180deg, #3a2a1a 0%, #1f1410 100%),
    radial-gradient(ellipse at 30% 40%, #7a5530 0%, transparent 70%);
}
.scn-children-begot-drunk .room-bg { position:absolute; inset:0; background: linear-gradient(135deg, #2a1a10 0%, #1a100a 100%); }
.scn-children-begot-drunk .window { position:absolute; top:15%; left:10%; width:80px; height:120px; background: radial-gradient(ellipse at 50% 50%, #ffe0a0 0%, #c08040 60%, #4a3020 100%); border-radius: 10px; box-shadow: 0 0 40px 15px rgba(192,128,64,0.6); animation: cbd-glow 4s ease-in-out infinite alternate; }
.scn-children-begot-drunk .light-beam { position:absolute; top:15%; left:10%; width:60%; height:70%; background: linear-gradient(135deg, rgba(255,224,160,0.35) 0%, transparent 70%); transform-origin: top left; animation: cbd-sway 8s ease-in-out infinite alternate; animation-delay: -2s; }
.scn-children-begot-drunk .table { position:absolute; bottom:12%; right:8%; width:55%; height:22%; background: linear-gradient(180deg, #5a3a20 0%, #2a1a0a 100%); border-radius: 12px; box-shadow: 0 8px 20px rgba(0,0,0,0.7); }
.scn-children-begot-drunk .flask { position:absolute; bottom:34%; right:25%; width:18px; height:40px; background: radial-gradient(ellipse at 50% 30%, #c08040 0%, #6a4020 100%); border-radius: 0 0 8px 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.5); transform-origin: bottom center; animation: cbd-tip 6s ease-in-out infinite; }
.scn-children-begot-drunk .figure { position:absolute; bottom:12%; right:16%; width:50px; height:70px; background: #1a100a; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cbd-breathe 5s ease-in-out infinite; }
.scn-children-begot-drunk .shadow { position:absolute; bottom:8%; right:8%; width:55%; height:8%; background: rgba(0,0,0,0.6); border-radius: 50%; filter: blur(8px); }
@keyframes cbd-glow { 0% { opacity:0.7; box-shadow: 0 0 30px 10px #c08040; } 50% { opacity:1; box-shadow: 0 0 60px 20px #ffe0a0; } 100% { opacity:0.8; box-shadow: 0 0 40px 15px #c08040; } }
@keyframes cbd-sway { 0% { transform: rotate(-8deg) scaleX(1); opacity:0.8; } 50% { transform: rotate(2deg) scaleX(1.15); opacity:1; } 100% { transform: rotate(-5deg) scaleX(1); opacity:0.9; } }
@keyframes cbd-tip { 0% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(-12deg) translateY(-3px); } 100% { transform: rotate(4deg) translateY(0); } }
@keyframes cbd-breathe { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.02) rotate(-2deg); } 100% { transform: scale(1) rotate(1deg); } }

/* three-essentials - wide horizon, pastoral calm */
.scn-three-essentials {
  background:
    linear-gradient(180deg, #a0c8e0 0%, #e8dca0 60%, #8fbc8f 100%),
    radial-gradient(ellipse at 50% 20%, #fff8dc 0%, transparent 60%);
}
.scn-three-essentials .sky { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #b0d8f0 0%, #d8e8b0 100%); animation: te-sky 12s ease-in-out infinite alternate; }
.scn-three-essentials .sun { position:absolute; top:10%; right:15%; width:60px; height:60px; background: radial-gradient(circle, #fff0a0 0%, #f0c860 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 40px 20px rgba(240,200,96,0.4); animation: te-shimmer 6s ease-in-out infinite alternate; }
.scn-three-essentials .field { position:absolute; bottom:0; left:0; right:0; height:45%; background: linear-gradient(180deg, #7a9a5a 0%, #4a6a2a 100%); border-radius: 60% 40% 0 0 / 40% 30% 0 0; animation: te-sway 14s ease-in-out infinite; }
.scn-three-essentials .farmer { position:absolute; bottom:20%; left:25%; width:24px; height:52px; background: #3a4a2a; border-radius: 40% 40% 30% 30%; box-shadow: 0 4px 8px rgba(0,0,0,0.3); animation: te-walk 8s ease-in-out infinite; }
.scn-three-essentials .tree { position:absolute; bottom:22%; right:20%; width:36px; height:80px; background: linear-gradient(180deg, #5a7a3a 0%, #3a4a1a 100%); border-radius: 60% 60% 40% 40% / 80% 80% 20% 20%; }
.scn-three-essentials .stone { position:absolute; bottom:18%; left:55%; width:44px; height:24px; background: linear-gradient(180deg, #8a8a7a 0%, #6a6a5a 100%); border-radius: 30% 30% 40% 40%; box-shadow: inset 0 4px 8px rgba(0,0,0,0.2); }
@keyframes te-sky { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.9; } }
@keyframes te-shimmer { 0% { box-shadow: 0 0 30px 15px rgba(240,200,96,0.3); transform: scale(0.95); } 50% { box-shadow: 0 0 60px 30px rgba(240,200,96,0.6); transform: scale(1.05); } 100% { box-shadow: 0 0 40px 20px rgba(240,200,96,0.4); transform: scale(1); } }
@keyframes te-sway { 0% { transform: translateY(0px) scaleX(1); } 50% { transform: translateY(-4px) scaleX(1.02); } 100% { transform: translateY(2px) scaleX(0.98); } }
@keyframes te-walk { 0% { transform: translateX(0px) rotate(0deg); } 50% { transform: translateX(30px) rotate(-4deg); } 100% { transform: translateX(60px) rotate(0deg); } }

/* natural-ability-blind - vertical closeness, reaching for light */
.scn-natural-ability-blind {
  background:
    linear-gradient(90deg, #0a0a0a 0%, #1a1410 30%, #2a2015 70%, #0a0a0a 100%),
    radial-gradient(ellipse at 30% 40%, #c08040 0%, transparent 70%);
}
.scn-natural-ability-blind .bg-deep { position:absolute; inset:0; background: linear-gradient(180deg, #0f0b08 0%, #1a1410 100%); }
.scn-natural-ability-blind .wall { position:absolute; top:0; right:0; width:40%; height:100%; background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%); box-shadow: inset -10px 0 20px rgba(0,0,0,0.5); animation: nab-shift 10s ease-in-out infinite alternate; }
.scn-natural-ability-blind .light-beam { position:absolute; top:20%; left:10%; width:35%; height:60%; background: linear-gradient(135deg, rgba(192,128,64,0.5) 0%, transparent 80%); clip-path: polygon(0% 0%, 100% 10%, 80% 100%, 0% 90%); transform-origin: top left; animation: nab-beam 7s ease-in-out infinite alternate; }
.scn-natural-ability-blind .figure { position:absolute; bottom:15%; left:25%; width:44px; height:100px; background: #0a0a0a; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 8px 20px rgba(0,0,0,0.8); animation: nab-breathe 6s ease-in-out infinite; }
.scn-natural-ability-blind .hand { position:absolute; bottom:50%; left:40%; width:30px; height:14px; background: #0a0a0a; border-radius: 50% 50% 30% 30%; transform-origin: left center; animation: nab-reach 9s ease-in-out infinite; animation-delay: -4s; }
.scn-natural-ability-blind .ground { position:absolute; bottom:0; left:0; right:0; height:15%; background: linear-gradient(180deg, #1a1410 0%, #0a0a0a 100%); border-radius: 30% 70% 0 0 / 20% 40% 0 0; }
@keyframes nab-beam { 0% { opacity:0.3; transform: rotate(-5deg) skewX(2deg); } 50% { opacity:0.8; transform: rotate(3deg) skewX(-1deg); } 100% { opacity:0.5; transform: rotate(-2deg) skewX(1deg); } }
@keyframes nab-shift { 0% { box-shadow: inset -10px 0 20px rgba(0,0,0,0.5); } 50% { box-shadow: inset -20px 0 30px rgba(0,0,0,0.7); } 100% { box-shadow: inset -5px 0 15px rgba(0,0,0,0.4); } }
@keyframes nab-breathe { 0% { transform: scale(1) translateY(0); } 50% { transform: scale(1.01) translateY(-3px); } 100% { transform: scale(1) translateY(0); } }
@keyframes nab-reach { 0% { transform: translateX(0px) scaleX(1); } 50% { transform: translateX(25px) scaleX(1.6); } 100% { transform: translateX(0px) scaleX(1); } }

/* famous-men-combined - silhouette against classical arch */
.scn-famous-men-combined {
  background:
    linear-gradient(180deg, #2a1a0a 0%, #4a3020 50%, #8a6a40 100%),
    radial-gradient(ellipse at 50% 0%, #d0a060 0%, transparent 60%);
}
.scn-famous-men-combined .sky { position:absolute; inset:0 0 70% 0; background: linear-gradient(180deg, #d0a060 0%, #8a6a40 100%); opacity:0.6; animation: fmc-glow 8s ease-in-out infinite alternate; }
.scn-famous-men-combined .arch-bg { position:absolute; top:0; left:15%; width:70%; height:60%; background: linear-gradient(180deg, #5a3a20 0%, #3a1a0a 100%); border-radius: 50% 50% 0 0; box-shadow: inset 0 10px 30px rgba(0,0,0,0.5); }
.scn-famous-men-combined .col-left { position:absolute; bottom:15%; left:20%; width:18px; height:70%; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%); box-shadow: 0 0 20px rgba(0,0,0,0.4); }
.scn-famous-men-combined .col-right { position:absolute; bottom:15%; right:20%; width:18px; height:70%; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%); box-shadow: 0 0 20px rgba(0,0,0,0.4); }
.scn-famous-men-combined .figure-center { position:absolute; bottom:18%; left:50%; width:55px; height:90px; transform: translateX(-50%); background: #1a100a; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 10px 30px rgba(0,0,0,0.6); animation: fmc-float 7s ease-in-out infinite; }
.scn-famous-men-combined .floor { position:absolute; bottom:0; left:0; right:0; height:15%; background: linear-gradient(180deg, #6a5a3a 0%, #3a2a1a 100%); box-shadow: inset 0 10px 30px rgba(0,0,0,0.4); animation: fmc-shimmer 10s ease-in-out infinite; }
.scn-famous-men-combined .glow { position:absolute; bottom:25%; left:50%; width:180px; height:180px; transform: translateX(-50%); background: radial-gradient(circle, rgba(208,160,96,0.4) 0%, transparent 70%); animation: fmc-pulse 6s ease-in-out infinite alternate; }
@keyframes fmc-glow { 0% { opacity:0.5; } 50% { opacity:0.8; } 100% { opacity:0.6; } }
@keyframes fmc-float { 0% { transform: translateX(-50%) translateY(0px) scale(1); } 50% { transform: translateX(-50%) translateY(-6px) scale(1.02); } 100% { transform: translateX(-50%) translateY(0px) scale(1); } }
@keyframes fmc-shimmer { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.9; } }
@keyframes fmc-pulse { 0% { transform: translateX(-50%) scale(0.95); opacity:0.6; } 50% { transform: translateX(-50%) scale(1.1); opacity:1; } 100% { transform: translateX(-50%) scale(1); opacity:0.8; } }
/* end per-scene blocks */

/* auto-stub: parent tag-classes flagged by CSS audit */
.attendee-left { position: absolute; pointer-events: none; }
.attendee-right { position: absolute; pointer-events: none; }
.dist { position: absolute; pointer-events: none; }
.figure-follower-1 { position: absolute; pointer-events: none; }
.figure-follower-2 { position: absolute; pointer-events: none; }
.flicker-ember { position: absolute; pointer-events: none; }
.golden-motes { position: absolute; pointer-events: none; }
.light-column { position: absolute; pointer-events: none; }
.quince { position: absolute; pointer-events: none; }
.vial { position: absolute; pointer-events: none; }

/* ============ tier S ============ */
/* per-scene blocks (EXP step_scenes) */
/* nino-to-orpheus — tense, dim-interior */
.scn-nino-to-orpheus {
  background: linear-gradient(180deg, #0d0d1a 0%, #1a1423 40%, #2a1e30 70%, #1a1220 100%),
              radial-gradient(ellipse at 50% 30%, #3a2850 0%, transparent 60%);
}
.scn-nino-to-orpheus .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #1a1423 0%, #14101e 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.6);
}
.scn-nino-to-orpheus .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #2a1e30 0%, #0d0a12 100%);
  box-shadow: inset 0 12px 20px rgba(0,0,0,0.5);
}
.scn-nino-to-orpheus .lamp {
  position: absolute; bottom: 38%; left: 22%; width: 10px; height: 14px;
  background: linear-gradient(180deg, #b08a50 0%, #6a4a2a 100%);
  border-radius: 4px 4px 2px 2px;
  transform: skewX(-2deg);
  animation: nto-lamp-flicker 0.3s ease-in-out infinite alternate;
}
.scn-nino-to-orpheus .lamp-glow {
  position: absolute; bottom: 36%; left: 18%; width: 18%; height: 28%;
  background: radial-gradient(ellipse, #d4a060 0%, #a07030 30%, transparent 70%);
  opacity: 0.85;
  filter: blur(10px);
  animation: nto-glow-pulse 1.5s ease-in-out infinite alternate;
}
.scn-nino-to-orpheus .figure-left {
  position: absolute; bottom: 30%; left: 15%; width: 32px; height: 58px;
  background: linear-gradient(135deg, #1a1a2e 0%, #0a0a18 100%);
  border-radius: 50% 50% 45% 45% / 55% 55% 45% 45%;
  transform: rotate(6deg);
  box-shadow: -4px 0 8px rgba(0,0,0,0.5);
  animation: nto-left-shift 4s ease-in-out infinite;
}
.scn-nino-to-orpheus .figure-right {
  position: absolute; bottom: 30%; right: 18%; width: 28px; height: 54px;
  background: linear-gradient(225deg, #1a1a2e 0%, #0a0a18 100%);
  border-radius: 50% 50% 45% 45% / 55% 55% 45% 45%;
  transform: rotate(-5deg);
  box-shadow: 4px 0 8px rgba(0,0,0,0.5);
  animation: nto-right-shift 4.2s ease-in-out infinite;
}
.scn-nino-to-orpheus .lyre {
  position: absolute; bottom: 40%; left: 50%; width: 16px; height: 20px;
  transform: translateX(-50%) rotate(-10deg);
  background: linear-gradient(180deg, #c8a060 0%, #8a6a30 100%);
  border-radius: 30% 30% 10% 10% / 40% 40% 10% 10%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: nto-lyre-tilt 6s ease-in-out infinite;
}
.scn-nino-to-orpheus .shadow-bar {
  position: absolute; bottom: 35%; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, transparent 0%, #000 20%, #000 80%, transparent 100%);
  opacity: 0.3;
  animation: nto-shadow-sway 3s ease-in-out infinite alternate;
}
@keyframes nto-lamp-flicker {
  0% { opacity: 0.85; transform: skewX(-2deg) scaleY(1); }
  50% { opacity: 1; transform: skewX(0deg) scaleY(1.02); }
  100% { opacity: 0.9; transform: skewX(-2deg) scaleY(0.98); }
}
@keyframes nto-glow-pulse {
  0% { opacity: 0.7; transform: scale(0.95); }
  50% { opacity: 0.9; transform: scale(1.05); }
  100% { opacity: 0.75; transform: scale(0.98); }
}
@keyframes nto-left-shift {
  0% { transform: rotate(6deg) translateX(0); }
  50% { transform: rotate(4deg) translateX(-3px); }
  100% { transform: rotate(6deg) translateX(0); }
}
@keyframes nto-right-shift {
  0% { transform: rotate(-5deg) translateX(0); }
  50% { transform: rotate(-3deg) translateX(3px); }
  100% { transform: rotate(-5deg) translateX(0); }
}
@keyframes nto-lyre-tilt {
  0% { transform: translateX(-50%) rotate(-10deg); }
  50% { transform: translateX(-50%) rotate(-7deg) translateY(-2px); }
  100% { transform: translateX(-50%) rotate(-10deg); }
}
@keyframes nto-shadow-sway {
  0% { opacity: 0.25; }
  50% { opacity: 0.4; }
  100% { opacity: 0.3; }
}

/* pericles-to-pythagoras — calm, dim-interior */
.scn-pericles-to-pythagoras {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2035 40%, #3a2a40 70%, #1a1425 100%),
              radial-gradient(ellipse at 60% 40%, #4a3a4e 0%, transparent 65%);
}
.scn-pericles-to-pythagoras .bg-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a2035 0%, #1e1828 100%);
  box-shadow: inset 0 0 30px rgba(0,0,0,0.4);
}
.scn-pericles-to-pythagoras .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #3a2a40 0%, #14101e 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.5);
}
.scn-pericles-to-pythagoras .desk {
  position: absolute; bottom: 22%; left: 30%; right: 30%; height: 8%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
.scn-pericles-to-pythagoras .scroll {
  position: absolute; bottom: 26%; left: 38%; width: 14%; height: 4%;
  background: linear-gradient(180deg, #d4c4a0 0%, #b8a880 100%);
  border-radius: 0 0 8px 8px;
  transform: rotate(-2deg);
  animation: pp-scroll-unfurl 12s ease-in-out infinite alternate;
}
.scn-pericles-to-pythagoras .lamp-light {
  position: absolute; bottom: 34%; left: 50%; width: 20%; height: 26%;
  background: radial-gradient(ellipse, #e8c880 0%, #c8a860 30%, #8a6830 60%, transparent 85%);
  opacity: 0.6;
  filter: blur(14px);
  animation: pp-light-breathe 6s ease-in-out infinite alternate;
}
.scn-pericles-to-pythagoras .lamp-body {
  position: absolute; bottom: 32%; left: 52%; width: 10px; height: 16px;
  background: linear-gradient(180deg, #c8a060 0%, #7a5a2a 100%);
  border-radius: 6px 6px 2px 2px;
  box-shadow: 0 0 12px rgba(200,160,96,0.3);
}
.scn-pericles-to-pythagoras .seated-figure {
  position: absolute; bottom: 24%; left: 44%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%);
  border-radius: 50% 50% 45% 45% / 55% 55% 40% 40%;
  transform: rotate(-1deg);
  animation: pp-figure-sway 9s ease-in-out infinite;
}
.scn-pericles-to-pythagoras .plinth {
  position: absolute; bottom: 20%; left: 50%; width: 12%; height: 5%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
}
@keyframes pp-scroll-unfurl {
  0% { transform: rotate(-2deg) scaleX(0.95); }
  50% { transform: rotate(-1deg) scaleX(1.05); }
  100% { transform: rotate(-2deg) scaleX(0.98); }
}
@keyframes pp-light-breathe {
  0% { opacity: 0.55; transform: scale(0.98); }
  50% { opacity: 0.7; transform: scale(1.04); }
  100% { opacity: 0.6; transform: scale(1); }
}
@keyframes pp-figure-sway {
  0% { transform: rotate(-1deg) translateX(0); }
  50% { transform: rotate(1deg) translateX(2px) translateY(-2px); }
  100% { transform: rotate(-1deg) translateX(0); }
}

/* proverbs-cited-extensively — calm, dim-interior */
.scn-proverbs-cited-extensively {
  background: linear-gradient(180deg, #1c1812 0%, #2a2218 40%, #3a2e1e 70%, #1a1410 100%),
              radial-gradient(ellipse at 50% 40%, #4a3a28 0%, transparent 60%);
}
.scn-proverbs-cited-extensively .room-back {
  position: absolute; inset: 0 0 28% 0;
  background: linear-gradient(180deg, #2a2218 0%, #1e1812 100%);
  box-shadow: inset 0 0 30px rgba(0,0,0,0.5);
}
.scn-proverbs-cited-extensively .room-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 28%;
  background: linear-gradient(180deg, #3a2e1e 0%, #0d0a08 100%);
}
.scn-proverbs-cited-extensively .lectern {
  position: absolute; bottom: 22%; left: 35%; right: 35%; height: 14%;
  background: linear-gradient(180deg, #6a5a3a 0%, #3a2a1a 100%);
  border-radius: 4px 4px 2px 2px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.4);
  transform: perspective(400px) rotateX(3deg);
}
.scn-proverbs-cited-extensively .book {
  position: absolute; bottom: 28%; left: 38%; width: 20%; height: 10%;
  background: linear-gradient(180deg, #d4c0a0 0%, #b8a480 100%);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  transform: perspective(400px) rotateX(2deg) rotateY(-2deg);
}
.scn-proverbs-cited-extensively .candle {
  position: absolute; bottom: 36%; left: 48%; width: 6px; height: 20px;
  background: linear-gradient(180deg, #e8d0a0 0%, #c8a860 60%, #7a5a2a 100%);
  border-radius: 3px 3px 2px 2px;
  animation: pce-candle-flicker 0.8s ease-in-out infinite alternate;
}
.scn-proverbs-cited-extensively .candle-glow {
  position: absolute; bottom: 34%; left: 46%; width: 10%; height: 20%;
  background: radial-gradient(ellipse, #f0d080 0%, #d0b060 40%, transparent 80%);
  opacity: 0.7;
  filter: blur(8px);
  animation: pce-glow-wave 3s ease-in-out infinite alternate;
}
.scn-proverbs-cited-extensively .scholar {
  position: absolute; bottom: 24%; left: 44%; width: 28px; height: 48px;
  background: linear-gradient(180deg, #1a1a22 0%, #0a0a12 100%);
  border-radius: 50% 50% 45% 45% / 55% 55% 40% 40%;
  transform: rotate(-2deg);
  animation: pce-scholar-nod 7s ease-in-out infinite;
}
.scn-proverbs-cited-extensively .scroll-pile {
  position: absolute; bottom: 20%; right: 15%; width: 12%; height: 10%;
  background: linear-gradient(180deg, #c8b890 0%, #a89878 100%);
  border-radius: 6px 6px 2px 2px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  transform: rotate(4deg);
  animation: pce-pile-settle 20s ease-in-out infinite;
}
@keyframes pce-candle-flicker {
  0% { transform: scaleY(1); opacity: 0.9; }
  50% { transform: scaleY(1.02); opacity: 1; }
  100% { transform: scaleY(0.97); opacity: 0.85; }
}
@keyframes pce-glow-wave {
  0% { opacity: 0.6; transform: scale(0.96); }
  50% { opacity: 0.8; transform: scale(1.06); }
  100% { opacity: 0.65; transform: scale(0.98); }
}
@keyframes pce-scholar-nod {
  0% { transform: rotate(-2deg) translateX(0); }
  50% { transform: rotate(0deg) translateX(1px) translateY(-1px); }
  100% { transform: rotate(-2deg) translateX(0); }
}
@keyframes pce-pile-settle {
  0% { transform: rotate(4deg) translateY(0); }
  50% { transform: rotate(3.5deg) translateY(-2px); }
  100% { transform: rotate(4deg) translateY(0); }
}

/* satyr-tale-and-scipio — calm, dim-interior */
.scn-satyr-tale-and-scipio {
  background: linear-gradient(180deg, #121018 0%, #1e1828 40%, #2a2235 70%, #14101a 100%),
              radial-gradient(ellipse at 45% 50%, #3a2a44 0%, transparent 60%);
}
.scn-satyr-tale-and-scipio .camp-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #1e1828 0%, #14101e 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.6);
}
.scn-satyr-tale-and-scipio .camp-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a2235 0%, #0d0a12 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.4);
}
.scn-satyr-tale-and-scipio .campfire {
  position: absolute; bottom: 28%; left: 50%; width: 20px; height: 16px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse, #e8a040 0%, #c07a20 40%, #6a3a0a 70%, transparent 85%);
  border-radius: 50%;
  animation: sts-fire-dance 0.6s ease-in-out infinite alternate;
}
.scn-satyr-tale-and-scipio .campfire-glow {
  position: absolute; bottom: 26%; left: 40%; width: 20%; height: 30%;
  background: radial-gradient(ellipse, #d08030 0%, #8a4a1a 30%, transparent 70%);
  opacity: 0.5;
  filter: blur(16px);
  animation: sts-fire-glow 1.5s ease-in-out infinite alternate;
}
.scn-satyr-tale-and-scipio .satyr-body {
  position: absolute; bottom: 26%; left: 20%; width: 20px; height: 44px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 50% 50% 45% 45% / 55% 55% 40% 40%;
  transform: rotate(4deg);
  animation: sts-satyr-move 5s ease-in-out infinite;
}
.scn-satyr-tale-and-scipio .satyr-legs {
  position: absolute; bottom: 24%; left: 20%; width: 16px; height: 22px;
  background: linear-gradient(180deg, #5a3a22 0%, #2a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform: rotate(6deg);
  animation: sts-legs-stomp 2.5s ease-in-out infinite;
}
.scn-satyr-tale-and-scipio .scipio {
  position: absolute; bottom: 26%; right: 22%; width: 26px; height: 54px;
  background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%);
  border-radius: 50% 50% 45% 45% / 55% 55% 40% 40%;
  transform: rotate(-3deg);
  box-shadow: -2px 0 6px rgba(0,0,0,0.4);
  animation: sts-scipio-stand 7s ease-in-out infinite;
}
.scn-satyr-tale-and-scipio .spear {
  position: absolute; bottom: 30%; right: 28%; width: 2px; height: 36px;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a10 100%);
  transform: rotate(8deg);
  animation: sts-spear-tilt 4s ease-in-out infinite alternate;
}
@keyframes sts-fire-dance {
  0% { transform: translateX(-50%) scaleY(1); }
  50% { transform: translateX(-50%) scaleY(1.08) translateY(-1px); }
  100% { transform: translateX(-50%) scaleY(0.94); }
}
@keyframes sts-fire-glow {
  0% { opacity: 0.4; transform: scale(0.95); }
  50% { opacity: 0.6; transform: scale(1.06); }
  100% { opacity: 0.45; transform: scale(0.98); }
}
@keyframes sts-satyr-move {
  0% { transform: rotate(4deg) translateX(0); }
  50% { transform: rotate(2deg) translateX(-3px); }
  100% { transform: rotate(4deg) translateX(0); }
}
@keyframes sts-legs-stomp {
  0% { transform: rotate(6deg) translateX(0); }
  30% { transform: rotate(4deg) translateX(-2px); }
  70% { transform: rotate(8deg) translateX(2px); }
  100% { transform: rotate(6deg) translateX(0); }
}
@keyframes sts-scipio-stand {
  0% { transform: rotate(-3deg) translateX(0); }
  50% { transform: rotate(-1deg) translateX(2px); }
  100% { transform: rotate(-3deg) translateX(0); }
}
@keyframes sts-spear-tilt {
  0% { transform: rotate(8deg); }
  50% { transform: rotate(6deg) translateY(-2px); }
  100% { transform: rotate(8deg); }
}

.scn-resist-flatterers {
  background: linear-gradient(180deg, #1a1520 0%, #2a1e2a 60%, #1e1418 100%), radial-gradient(ellipse at 50% 30%, #3a2a2a 0%, transparent 70%);
}
.scn-resist-flatterers .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #2a1e2a 0%, #1a1520 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.6);
  animation: rf1-wall 12s ease-in-out infinite alternate;
}
.scn-resist-flatterers .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #2a2018 0%, #1a1210 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.5);
}
.scn-resist-flatterers .lamp {
  position: absolute; bottom: 30%; left: 50%; width: 12px; height: 16px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #c87a3a 0%, #8a4a2a 70%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 20px 6px #b06a2a, 0 0 40px 12px rgba(176,106,42,0.3);
  animation: rf1-lamp 3s ease-in-out infinite alternate;
}
.scn-resist-flatterers .socrates {
  position: absolute; bottom: 24%; left: 40%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1414 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: rf1-socrates 5s ease-in-out infinite;
}
.scn-resist-flatterers .flatterer-1 {
  position: absolute; bottom: 26%; left: 55%; width: 16px; height: 32px;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 50% 50% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: rf1-flatter 6s ease-in-out infinite;
}
.scn-resist-flatterers .flatterer-2 {
  position: absolute; bottom: 27%; left: 62%; width: 14px; height: 28px;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 50% 50% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: rf1-flatter 6s ease-in-out infinite 2s;
}
.scn-resist-flatterers .shadow {
  position: absolute; bottom: 0; left: 30%; width: 40%; height: 25%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.5) 0%, transparent 80%);
  animation: rf1-shadow 8s ease-in-out infinite alternate;
}
@keyframes rf1-wall {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes rf1-lamp {
  0% { box-shadow: 0 0 16px 4px #b06a2a, 0 0 32px 8px rgba(176,106,42,0.2); opacity: 0.85; }
  50% { box-shadow: 0 0 28px 8px #d88a3a, 0 0 48px 14px rgba(216,138,58,0.4); opacity: 1; }
  100% { box-shadow: 0 0 20px 5px #b06a2a, 0 0 36px 10px rgba(176,106,42,0.3); opacity: 0.9; }
}
@keyframes rf1-socrates {
  0% { transform: translateX(0) rotate(0); }
  25% { transform: translateX(4px) rotate(2deg); }
  50% { transform: translateX(0) rotate(0); }
  75% { transform: translateX(-4px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes rf1-flatter {
  0% { transform: translateX(0) scale(1); }
  50% { transform: translateX(6px) scale(0.95); }
  100% { transform: translateX(0) scale(1); }
}
@keyframes rf1-shadow {
  0% { opacity: 0.6; transform: scaleX(1); }
  100% { opacity: 0.9; transform: scaleX(1.1); }
}

.scn-ptolemy-and-philemon {
  background: linear-gradient(180deg, #87ceeb 0%, #b0e0ff 40%, #fff8dc 100%), radial-gradient(ellipse at 50% 30%, #fff8dc 0%, transparent 60%);
}
.scn-ptolemy-and-philemon .sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #6db3d4 0%, #9fc8e0 60%, transparent 100%);
  animation: pt2-sky 20s ease-in-out infinite alternate;
}
.scn-ptolemy-and-philemon .sea {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, #2a6ba0 0%, #1a4a7a 100%);
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.3);
  animation: pt2-sea 15s ease-in-out infinite alternate;
}
.scn-ptolemy-and-philemon .ship {
  position: absolute; bottom: 40%; left: 30%; width: 80px; height: 30px;
  background: linear-gradient(90deg, #5a3a2a 0%, #7a4a3a 50%, #5a3a2a 100%);
  border-radius: 10% 10% 40% 40%;
  transform-origin: bottom center;
  animation: pt2-ship 8s ease-in-out infinite;
}
.scn-ptolemy-and-philemon .ptolemy {
  position: absolute; bottom: 38%; left: 35%; width: 18px; height: 36px;
  background: linear-gradient(180deg, #c0a060 0%, #8a6a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pt2-figure 4s ease-in-out infinite;
}
.scn-ptolemy-and-philemon .soldier {
  position: absolute; bottom: 38%; left: 42%; width: 16px; height: 34px;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: pt2-figure 4s ease-in-out infinite 1s;
}
.scn-ptolemy-and-philemon .dice {
  position: absolute; bottom: 42%; left: 44%; width: 8px; height: 8px;
  background: radial-gradient(circle, #fff 0%, #ccc 80%);
  border-radius: 20%;
  box-shadow: 0 0 4px 2px rgba(255,255,255,0.5);
  animation: pt2-dice 3s ease-in-out infinite alternate;
}
.scn-ptolemy-and-philemon .grammarian {
  position: absolute; bottom: 40%; left: 48%; width: 14px; height: 30px;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a1a 100%);
  border-radius: 50% 50% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: pt2-figure 4s ease-in-out infinite 2s;
}
@keyframes pt2-sky {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes pt2-sea {
  0% { transform: translateY(0); }
  50% { transform: translateY(4px); }
  100% { transform: translateY(0); }
}
@keyframes pt2-ship {
  0% { transform: translateX(0) rotate(0); }
  25% { transform: translateX(5px) rotate(2deg); }
  50% { transform: translateX(0) rotate(0); }
  75% { transform: translateX(-5px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes pt2-figure {
  0% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-3px) rotate(3deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes pt2-dice {
  0% { transform: rotate(0) scale(1); }
  50% { transform: rotate(180deg) scale(1.2); }
  100% { transform: rotate(360deg) scale(1); }
}

.scn-anger-roots-out {
  background: linear-gradient(180deg, #1a1620 0%, #2a2030 50%, #1a1620 100%), radial-gradient(ellipse at 50% 60%, #3a2a3a 0%, transparent 70%);
}
.scn-anger-roots-out .bg {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #2a2030 0%, #1a1620 100%);
  box-shadow: inset 0 0 50px rgba(0,0,0,0.5);
  animation: ar3-bg 14s ease-in-out infinite alternate;
}
.scn-anger-roots-out .altar {
  position: absolute; bottom: 30%; left: 50%; width: 60px; height: 40px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 40% 40%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}
.scn-anger-roots-out .flame {
  position: absolute; bottom: 42%; left: 50%; width: 14px; height: 20px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 30%, #c86a3a 0%, #8a3a1a 70%);
  border-radius: 40% 40% 30% 30%;
  box-shadow: 0 0 20px 6px #c86a3a, 0 0 40px 12px rgba(200,106,58,0.3);
  animation: ar3-flame 2s ease-in-out infinite alternate;
}
.scn-anger-roots-out .figure {
  position: absolute; bottom: 24%; left: 35%; width: 20px; height: 38px;
  background: linear-gradient(180deg, #4a3a3a 0%, #1a1414 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ar3-figure 6s ease-in-out infinite;
}
.scn-anger-roots-out .offering {
  position: absolute; bottom: 34%; left: 40%; width: 10px; height: 6px;
  background: radial-gradient(circle, #a08060 0%, #6a4a2a 80%);
  border-radius: 30%;
  box-shadow: 0 0 4px 2px rgba(160,128,96,0.3);
  animation: ar3-offering 4s ease-in-out infinite alternate;
}
.scn-anger-roots-out .smoke-1 {
  position: absolute; bottom: 50%; left: 48%; width: 20px; height: 20px;
  background: radial-gradient(circle, rgba(255,255,255,0.3) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(4px);
  animation: ar3-smoke 10s ease-in-out infinite alternate;
}
.scn-anger-roots-out .smoke-2 {
  position: absolute; bottom: 52%; left: 52%; width: 16px; height: 16px;
  background: radial-gradient(circle, rgba(255,255,255,0.2) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(3px);
  animation: ar3-smoke 10s ease-in-out infinite alternate 4s;
}
@keyframes ar3-bg {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes ar3-flame {
  0% { transform: scaleY(1) translateY(0); }
  50% { transform: scaleY(1.2) translateY(-4px); }
  100% { transform: scaleY(0.9) translateY(2px); }
}
@keyframes ar3-figure {
  0% { transform: translateX(0) rotate(0); }
  25% { transform: translateX(4px) rotate(2deg); }
  50% { transform: translateX(0) rotate(0); }
  75% { transform: translateX(-4px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes ar3-offering {
  0% { opacity: 0.6; transform: scale(1); }
  100% { opacity: 1; transform: scale(1.1); }
}
@keyframes ar3-smoke {
  0% { transform: translateY(0) scale(1); opacity: 0.3; }
  50% { transform: translateY(-10px) scale(1.3); opacity: 0.5; }
  100% { transform: translateY(0) scale(1); opacity: 0.3; }
}

.scn-best-remedy-for-anger {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a40 50%, #1a1a2e 100%), radial-gradient(ellipse at 50% 40%, #3a3a50 0%, transparent 70%);
}
.scn-best-remedy-for-anger .bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a2a40 0%, #1a1a2e 100%);
  box-shadow: inset 0 0 30px rgba(0,0,0,0.4);
  animation: br4-bg 16s ease-in-out infinite alternate;
}
.scn-best-remedy-for-anger .window {
  position: absolute; top: 10%; left: 60%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #4a6a8a 0%, #2a4a6a 100%);
  border-radius: 10%;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.3);
  animation: br4-window 8s ease-in-out infinite alternate;
}
.scn-best-remedy-for-anger .desk {
  position: absolute; bottom: 20%; left: 30%; width: 60px; height: 20px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 30% 30%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
.scn-best-remedy-for-anger .philosopher {
  position: absolute; bottom: 18%; left: 25%; width: 22px; 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: br4-philo 10s ease-in-out infinite;
}
.scn-best-remedy-for-anger .lamp {
  position: absolute; bottom: 28%; left: 28%; width: 10px; height: 14px;
  background: radial-gradient(circle, #c0a060 0%, #8a6a3a 70%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 0 16px 4px #c0a060, 0 0 32px 8px rgba(192,160,96,0.3);
  animation: br4-lamp 4s ease-in-out infinite alternate;
}
.scn-best-remedy-for-anger .books {
  position: absolute; bottom: 22%; left: 35%; width: 8px; height: 12px;
  background: linear-gradient(90deg, #4a3a2a 0%, #6a5a4a 50%, #4a3a2a 100%);
  border-radius: 10%;
  box-shadow: 4px 0 0 #3a2a1a, 8px 0 0 #5a4a3a;
  animation: br4-books 6s ease-in-out infinite alternate;
}
@keyframes br4-bg {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes br4-window {
  0% { opacity: 0.5; transform: scale(1); }
  50% { opacity: 0.8; transform: scale(1.05); }
  100% { opacity: 0.6; transform: scale(1); }
}
@keyframes br4-philo {
  0% { transform: translateX(0) rotate(0); }
  25% { transform: translateX(3px) rotate(1deg); }
  50% { transform: translateX(0) rotate(0); }
  75% { transform: translateX(-3px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes br4-lamp {
  0% { box-shadow: 0 0 12px 3px #c0a060, 0 0 24px 6px rgba(192,160,96,0.2); opacity: 0.8; }
  50% { box-shadow: 0 0 24px 6px #d0b070, 0 0 40px 10px rgba(208,176,112,0.4); opacity: 1; }
  100% { box-shadow: 0 0 16px 4px #c0a060, 0 0 28px 8px rgba(192,160,96,0.3); opacity: 0.85; }
}
@keyframes br4-books {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-2px) scale(1.05); }
  100% { transform: translateY(0) scale(1); }
}

.scn-reprove-with-kind-words {
  background: linear-gradient(180deg, #2b1e17 0%, #1f1410 40%, #0d0806 100%), radial-gradient(ellipse at 50% 80%, #3c2a22 0%, transparent 60%);
}
.scn-reprove-with-kind-words .bg-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #3d2b20 0%, #2a1a12 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.6);
}
.scn-reprove-with-kind-words .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a1a12 0%, #1a0f0a 100%);
}
.scn-reprove-with-kind-words .desk {
  position: absolute; bottom: 22%; left: 20%; right: 20%; height: 14%;
  background: linear-gradient(180deg, #4a3528 0%, #2e1e15 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.5);
}
.scn-reprove-with-kind-words .candle {
  position: absolute; bottom: 32%; left: 42%; width: 8px; height: 36px;
  background: linear-gradient(180deg, #d4b896 0%, #b08a6a 100%);
  border-radius: 50% 50% 10% 10%;
  transform-origin: bottom center;
  animation: rkw-candle 6s ease-in-out infinite;
}
.scn-reprove-with-kind-words .flame {
  position: absolute; bottom: 65%; left: 42%; width: 12px; height: 18px;
  background: radial-gradient(circle, #ffd6a0 0%, #f0a040 40%, transparent 70%);
  border-radius: 50% 50% 20% 20%;
  filter: blur(1px);
  animation: rkw-flame 2s ease-in-out infinite alternate;
  box-shadow: 0 0 20px 6px #f0a040, 0 0 40px 12px rgba(200,100,30,0.3);
}
.scn-reprove-with-kind-words .figure {
  position: absolute; bottom: 18%; left: 50%; width: 28px; height: 50px;
  margin-left: -14px;
  background: linear-gradient(180deg, #1f1410 0%, #0d0806 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  transform-origin: bottom center;
  animation: rkw-figure 8s ease-in-out infinite;
}
.scn-reprove-with-kind-words .shadow {
  position: absolute; bottom: 15%; left: 30%; right: 30%; height: 10%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 100%);
  animation: rkw-shadow 8s ease-in-out infinite;
}
@keyframes rkw-candle {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-1px) scaleY(1.02); }
  100% { transform: translateY(0) scaleY(1); }
}
@keyframes rkw-flame {
  0% { transform: translateY(0) scale(1); opacity: 0.9; }
  50% { transform: translateY(-2px) scale(1.1, 0.9); opacity: 1; }
  100% { transform: translateY(0) scale(1); opacity: 0.95; }
}
@keyframes rkw-figure {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  25% { transform: translateX(2px) translateY(-1px) rotate(-2deg); }
  50% { transform: translateX(0) translateY(0) rotate(0deg); }
  75% { transform: translateX(-2px) translateY(-1px) rotate(2deg); }
  100% { transform: translateX(0) translateY(0) rotate(0deg); }
}
@keyframes rkw-shadow {
  0% { transform: scaleX(1); opacity: 0.7; }
  50% { transform: scaleX(0.85); opacity: 0.5; }
  100% { transform: scaleX(1); opacity: 0.7; }
}

.scn-enemies-teach-us {
  background: linear-gradient(180deg, #1a1a2e 0%, #12121e 40%, #080810 100%), radial-gradient(ellipse at 50% 50%, #2a2a3e 0%, transparent 70%);
}
.scn-enemies-teach-us .bg-dark {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #12121e 0%, #080810 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.8);
}
.scn-enemies-teach-us .bg-light {
  position: absolute; bottom: 40%; left: 10%; right: 10%; top: 0;
  background: radial-gradient(ellipse at 50% 100%, #3a3a4e 0%, transparent 60%);
  animation: et-light 10s ease-in-out infinite alternate;
}
.scn-enemies-teach-us .enemy {
  position: absolute; bottom: 20%; right: 20%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #2a2a2e 0%, #1a1a1e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  transform: rotate(10deg);
  animation: et-enemy 6s ease-in-out infinite;
  box-shadow: -10px 0 20px rgba(0,0,0,0.5);
}
.scn-enemies-teach-us .figure {
  position: absolute; bottom: 20%; left: 20%; width: 35px; height: 55px;
  background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  transform: rotate(-5deg);
  animation: et-figure 8s ease-in-out infinite;
}
.scn-enemies-teach-us .word-bubble {
  position: absolute; bottom: 50%; left: 18%; width: 50px; height: 30px;
  background: radial-gradient(ellipse, rgba(200,200,220,0.2) 0%, transparent 70%);
  border-radius: 50%;
  animation: et-bubble 4s ease-in-out infinite alternate;
  filter: blur(2px);
}
.scn-enemies-teach-us .echo {
  position: absolute; bottom: 50%; right: 18%; width: 40px; height: 20px;
  background: radial-gradient(ellipse, rgba(220,200,200,0.15) 0%, transparent 70%);
  border-radius: 50%;
  animation: et-echo 5s ease-in-out infinite alternate;
  filter: blur(2px);
}
.scn-enemies-teach-us .floor-line {
  position: absolute; bottom: 18%; left: 10%; right: 10%; height: 2px;
  background: linear-gradient(90deg, transparent, #4a4a5e 20%, #3a3a4e 50%, transparent 80%);
  animation: et-floor 12s ease-in-out infinite;
}
@keyframes et-light {
  0% { opacity: 0.6; transform: scaleY(1); }
  50% { opacity: 0.9; transform: scaleY(1.1); }
  100% { opacity: 0.6; transform: scaleY(1); }
}
@keyframes et-enemy {
  0% { transform: rotate(10deg) translateX(0); }
  50% { transform: rotate(5deg) translateX(-5px); }
  100% { transform: rotate(10deg) translateX(0); }
}
@keyframes et-figure {
  0% { transform: rotate(-5deg) translateX(0); }
  50% { transform: rotate(-8deg) translateX(3px); }
  100% { transform: rotate(-5deg) translateX(0); }
}
@keyframes et-bubble {
  0% { transform: scale(0.8); opacity: 0.3; }
  50% { transform: scale(1.2); opacity: 0.6; }
  100% { transform: scale(0.8); opacity: 0.3; }
}
@keyframes et-echo {
  0% { transform: translateX(0) scale(0.8); opacity: 0.2; }
  50% { transform: translateX(-10px) scale(1); opacity: 0.5; }
  100% { transform: translateX(0) scale(0.8); opacity: 0.2; }
}
@keyframes et-floor {
  0% { opacity: 0.4; }
  50% { opacity: 0.7; }
  100% { opacity: 0.4; }
}

.scn-praising-deserving-enemy {
  background: linear-gradient(180deg, #87ceeb 0%, #b0d8f0 30%, #f0e8c8 60%, #d4c090 100%), radial-gradient(ellipse at 50% 0%, #f0e8c8 0%, transparent 50%);
}
.scn-praising-deserving-enemy .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #87ceeb 0%, #b0d8f0 60%, transparent 100%);
  animation: pde-sky 20s ease-in-out infinite alternate;
}
.scn-praising-deserving-enemy .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #d4c090 0%, #b8a070 100%);
}
.scn-praising-deserving-enemy .pedestal {
  position: absolute; bottom: 30%; left: 50%; width: 60px; height: 70px;
  margin-left: -30px;
  background: linear-gradient(180deg, #d0c0a0 0%, #b8a080 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 6px 20px rgba(0,0,0,0.3);
  animation: pde-pedestal 30s ease-in-out infinite;
}
.scn-praising-deserving-enemy .statue {
  position: absolute; bottom: 53%; left: 50%; width: 30px; height: 60px;
  margin-left: -15px;
  background: linear-gradient(180deg, #c8c0b0 0%, #a09888 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  transform-origin: bottom center;
  animation: pde-statue 15s ease-in-out infinite;
}
.scn-praising-deserving-enemy .figure {
  position: absolute; bottom: 22%; left: 30%; width: 25px; height: 45px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  transform: rotate(5deg);
  animation: pde-figure 12s ease-in-out infinite;
}
.scn-praising-deserving-enemy .sun-rays {
  position: absolute; top: 10%; left: 30%; right: 30%; height: 40%;
  background: radial-gradient(ellipse at 50% 0%, rgba(255,255,200,0.3) 0%, transparent 70%);
  animation: pde-rays 10s ease-in-out infinite alternate;
}
.scn-praising-deserving-enemy .shadow {
  position: absolute; bottom: 8%; left: 20%; right: 20%; height: 15%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.2) 0%, transparent 100%);
  animation: pde-shadow 12s ease-in-out infinite;
}
@keyframes pde-sky {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes pde-pedestal {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes pde-statue {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-1px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes pde-figure {
  0% { transform: rotate(5deg) translateX(0); }
  50% { transform: rotate(3deg) translateX(5px); }
  100% { transform: rotate(5deg) translateX(0); }
}
@keyframes pde-rays {
  0% { transform: scale(1); opacity: 0.4; }
  50% { transform: scale(1.2); opacity: 0.6; }
  100% { transform: scale(1); opacity: 0.4; }
}
@keyframes pde-shadow {
  0% { transform: scaleX(1); opacity: 0.3; }
  50% { transform: scaleX(0.8); opacity: 0.5; }
  100% { transform: scaleX(1); opacity: 0.3; }
}

.scn-talkativeness-ruins {
  background: linear-gradient(180deg, #1a1212 0%, #0d0808 50%, #050303 100%), radial-gradient(ellipse at 50% 70%, #2a1a1a 0%, transparent 60%);
}
.scn-talkativeness-ruins .bg-dark {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1a1212 0%, #050303 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.9);
}
.scn-talkativeness-ruins .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
}
.scn-talkativeness-ruins .barber-chair {
  position: absolute; bottom: 25%; left: 40%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #3a2a22 0%, #1a120e 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.6);
  animation: tr-chair 8s ease-in-out infinite;
}
.scn-talkativeness-ruins .razor {
  position: absolute; bottom: 45%; left: 45%; width: 50px; height: 6px;
  background: linear-gradient(90deg, #808080 0%, #c0c0c0 50%, #808080 100%);
  border-radius: 30% 50% 50% 30%;
  transform: rotate(-30deg);
  transform-origin: left center;
  animation: tr-razor 3s ease-in-out infinite;
  box-shadow: 0 0 10px rgba(200,200,200,0.5);
}
.scn-talkativeness-ruins .barber-hand {
  position: absolute; bottom: 30%; left: 38%; width: 16px; height: 30px;
  background: linear-gradient(180deg, #3a2a22 0%, #1a120e 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform: rotate(20deg);
  animation: tr-hand 3s ease-in-out infinite;
}
.scn-talkativeness-ruins .king-silhouette {
  position: absolute; bottom: 20%; right: 20%; width: 45px; height: 70px;
  background: linear-gradient(180deg, #1a0a0a 0%, #0a0202 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform: rotate(-5deg);
  animation: tr-king 10s ease-in-out infinite;
}
.scn-talkativeness-ruins .blood-drop {
  position: absolute; bottom: 40%; left: 52%; width: 6px; height: 10px;
  background: radial-gradient(circle, #8a2020 0%, #4a1010 100%);
  border-radius: 50%;
  animation: tr-drop 4s ease-in-out infinite;
  box-shadow: 0 0 8px 2px rgba(138,32,32,0.4);
}
.scn-talkativeness-ruins .curtain {
  position: absolute; top: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #2a1a1a 0%, transparent 100%);
  animation: tr-curtain 15s ease-in-out infinite;
}
@keyframes tr-chair {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes tr-razor {
  0% { transform: rotate(-30deg) translateX(0); }
  50% { transform: rotate(-25deg) translateX(3px); }
  100% { transform: rotate(-30deg) translateX(0); }
}
@keyframes tr-hand {
  0% { transform: rotate(20deg); }
  50% { transform: rotate(25deg); }
  100% { transform: rotate(20deg); }
}
@keyframes tr-king {
  0% { transform: rotate(-5deg) translateX(0); }
  50% { transform: rotate(-8deg) translateX(-3px); }
  100% { transform: rotate(-5deg) translateX(0); }
}
@keyframes tr-drop {
  0% { transform: translateY(0) scale(1); opacity: 0.8; }
  50% { transform: translateY(8px) scale(0.7); opacity: 0.4; }
  100% { transform: translateY(0) scale(1); opacity: 0.8; }
}
@keyframes tr-curtain {
  0% { opacity: 0.7; }
  50% { opacity: 0.9; }
  100% { opacity: 0.7; }
}

.scn-progress-in-virtue {
  background: linear-gradient(180deg, #2a2218 0%, #3d3125 40%, #4a3d2e 100%), radial-gradient(ellipse at 50% 100%, #5a4a36 0%, transparent 70%);
}
.scn-progress-in-virtue .room-bg { position:absolute; inset:0; background: linear-gradient(180deg, #3a2e20 0%, #1e1a14 100%); }
.scn-progress-in-virtue .window-frame { position:absolute; top:10%; left:50%; width:120px; height:150px; transform:translateX(-50%); background: linear-gradient(180deg, #5a4a36 0%, #3a2e20 100%); border-radius:4px; box-shadow: 0 4px 12px rgba(0,0,0,.6); }
.scn-progress-in-virtue .window-glass { position:absolute; top:13%; left:calc(50% - 50px); width:100px; height:130px; background: linear-gradient(180deg, #1a1e2a 0%, #2a3040 100%); border-radius:2px; box-shadow: inset 0 0 20px rgba(255,220,150,.1); }
.scn-progress-in-virtue .ravine { position:absolute; top:20%; left:calc(50% - 40px); width:80px; height:90px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 0 0 50% 50% / 0 0 60% 60%; box-shadow: inset 0 10px 20px rgba(0,0,0,.8); }
.scn-progress-in-virtue .figure-climbing { position:absolute; bottom:25%; left:calc(50% - 5px); width:14px; height:30px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pv-climb 6s ease-in-out infinite; }
.scn-progress-in-virtue .path-steps { position:absolute; bottom:15%; left:calc(50% - 30px); width:60px; height:8px; background: #3a2e20; border-radius: 4px; box-shadow: 0 -8px 0 #2a1e10, 0 -16px 0 #1a1208; animation: pv-steps 6s ease-in-out infinite; }
.scn-progress-in-virtue .lamp-glow { position:absolute; bottom:10%; right:15%; width:12px; height:16px; background: radial-gradient(circle, #ffd080 0%, #c08040 60%); border-radius:50%; box-shadow: 0 0 30px 10px rgba(255,208,128,.4); animation: pv-lamp 4s ease-in-out infinite alternate; }
.scn-progress-in-virtue .dream-cloud { position:absolute; top:30%; right:20%; width:40px; height:12px; background: rgba(255,255,255,.08); border-radius:50%; filter:blur(4px); animation: pv-cloud 20s linear infinite; }
@keyframes pv-climb { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-8px) rotate(2deg); } 50% { transform: translateY(-16px) rotate(-1deg); } 75% { transform: translateY(-8px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes pv-steps { 0% { opacity:0.6; } 50% { opacity:1; } 100% { opacity:0.6; } }
@keyframes pv-lamp { 0% { box-shadow: 0 0 20px 5px rgba(255,208,128,.3); } 50% { box-shadow: 0 0 40px 15px rgba(255,208,128,.5); } 100% { box-shadow: 0 0 20px 5px rgba(255,208,128,.3); } }
@keyframes pv-cloud { 0% { transform: translateX(0) scale(1); } 50% { transform: translateX(-30px) scale(1.2); } 100% { transform: translateX(-60px) scale(1); } }

.scn-bodily-and-soul-sickness {
  background: linear-gradient(180deg, #1a1410 0%, #2a1e18 50%, #3a2820 100%), radial-gradient(ellipse at 50% 30%, #3a2820 0%, transparent 70%);
}
.scn-bodily-and-soul-sickness .room-bg { position:absolute; inset:0; background: linear-gradient(180deg, #2a1e18 0%, #0e0a08 100%); }
.scn-bodily-and-soul-sickness .bed-frame { position:absolute; bottom:10%; left:15%; width:70%; height:50%; background: linear-gradient(180deg, #4a3828 0%, #2a1a10 100%); border-radius: 4px 4px 20px 20px; box-shadow: 0 8px 20px rgba(0,0,0,.7); }
.scn-bodily-and-soul-sickness .sick-figure { position:absolute; bottom:12%; left:30%; width:40px; height:60px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: bs-tremble 2s ease-in-out infinite; }
.scn-bodily-and-soul-sickness .shadow-vice { position:absolute; bottom:10%; right:20%; width:50px; height:70px; background: radial-gradient(ellipse, #0a0a0a 0%, transparent 70%); border-radius: 50% 50% 40% 40% / 40% 40% 60% 60%; animation: bs-shadow 4s ease-in-out infinite alternate; }
.scn-bodily-and-soul-sickness .lamp-flicker { position:absolute; top:10%; right:10%; width:10px; height:14px; background: radial-gradient(circle, #b08040 0%, #5a3a1a 100%); border-radius:50%; box-shadow: 0 0 20px 6px rgba(176,128,64,.5); animation: bs-flicker 1.5s steps(3) infinite; }
.scn-bodily-and-soul-sickness .pillow { position:absolute; bottom:25%; left:28%; width:30px; height:10px; background: #3a2a1a; border-radius: 50% 50% 40% 40%; box-shadow: inset 0 -2px 4px rgba(0,0,0,.5); }
.scn-bodily-and-soul-sickness .blanket { position:absolute; bottom:10%; left:20%; width:60%; height:20%; background: linear-gradient(180deg, #4a3828 0%, #2a1a10 100%); border-radius: 0 0 20px 20px; }
@keyframes bs-tremble { 0% { transform: rotate(0deg); } 25% { transform: rotate(2deg); } 50% { transform: rotate(-1deg); } 75% { transform: rotate(3deg); } 100% { transform: rotate(0deg); } }
@keyframes bs-shadow { 0% { transform: scaleY(1) translateX(0); } 50% { transform: scaleY(1.1) translateX(-5px); } 100% { transform: scaleY(0.9) translateX(5px); } }
@keyframes bs-flicker { 0% { opacity:0.8; } 33% { opacity:1; } 66% { opacity:0.6; } 100% { opacity:0.9; } }

.scn-true-friendship-rare {
  background: linear-gradient(180deg, #2a2218 0%, #3d3125 40%, #4a3d2e 100%), radial-gradient(ellipse at 50% 100%, #4a3d2e 0%, transparent 70%);
}
.scn-true-friendship-rare .room-bg { position:absolute; inset:0; background: linear-gradient(180deg, #3a2e20 0%, #1e1a14 100%); }
.scn-true-friendship-rare .window-frame { position:absolute; top:10%; left:50%; width:120px; height:150px; transform:translateX(-50%); background: linear-gradient(180deg, #5a4a36 0%, #3a2e20 100%); border-radius:4px; box-shadow: 0 4px 12px rgba(0,0,0,.6); }
.scn-true-friendship-rare .river-scene { position:absolute; top:20%; left:calc(50% - 40px); width:80px; height:90px; background: linear-gradient(90deg, #1a2030 0%, #2a3850 50%, #1a2030 100%); border-radius: 50% 50% 0 0 / 40% 40% 0 0; animation: fr-river 10s ease-in-out infinite alternate; }
.scn-true-friendship-rare .friend-figure { position:absolute; bottom:30%; left:25%; width:16px; height:34px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: fr-friend 8s ease-in-out infinite; }
.scn-true-friendship-rare .lamp-steady { position:absolute; bottom:10%; right:15%; width:12px; height:16px; background: radial-gradient(circle, #ffd080 0%, #c08040 60%); border-radius:50%; box-shadow: 0 0 30px 10px rgba(255,208,128,.3); animation: fr-lamp 6s ease-in-out infinite alternate; }
.scn-true-friendship-rare .book-symbol { position:absolute; bottom:20%; left:20%; width:20px; height:26px; background: linear-gradient(180deg, #5a3a1a 0%, #3a1a0a 100%); border-radius: 2px; box-shadow: 2px 2px 4px rgba(0,0,0,.5); animation: fr-book 10s ease-in-out infinite; }
.scn-true-friendship-rare .chair { position:absolute; bottom:15%; left:30%; width:30px; height:40px; background: linear-gradient(180deg, #4a3828 0%, #2a1a10 100%); border-radius: 4px 4px 10px 10px; }
@keyframes fr-river { 0% { background-position: 0% 0%; } 50% { background-position: 100% 0%; } 100% { background-position: 0% 0%; } }
@keyframes fr-friend { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-4px) rotate(1deg); } 50% { transform: translateY(0) rotate(-1deg); } 75% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes fr-lamp { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes fr-book { 0% { transform: rotate(0deg); } 50% { transform: rotate(5deg); } 100% { transform: rotate(0deg); } }

.scn-flatterer-mimics-friendship {
  background: linear-gradient(180deg, #1a1410 0%, #2a1e18 50%, #3a2820 100%), radial-gradient(ellipse at 50% 30%, #3a2820 0%, transparent 70%);
}
.scn-flatterer-mimics-friendship .room-bg { position:absolute; inset:0; background: linear-gradient(180deg, #2a1e18 0%, #0e0a08 100%); }
.scn-flatterer-mimics-friendship .throne { position:absolute; bottom:10%; left:50%; width:60px; height:80px; transform:translateX(-50%); background: linear-gradient(180deg, #5a4030 0%, #3a2818 100%); border-radius: 4px 4px 20px 20px; box-shadow: 0 8px 20px rgba(0,0,0,.7); }
.scn-flatterer-mimics-friendship .king-figure { position:absolute; bottom:15%; left:calc(50% - 15px); width:30px; height:45px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: fm-king 3s ease-in-out infinite; }
.scn-flatterer-mimics-friendship .flatterer { position:absolute; bottom:10%; left:30%; width:20px; height:40px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fm-flatter 2s ease-in-out infinite alternate; }
.scn-flatterer-mimics-friendship .mask { position:absolute; bottom:25%; left:28%; width:16px; height:20px; background: radial-gradient(circle, #6a5a4a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: fm-mask 4s ease-in-out infinite; }
.scn-flatterer-mimics-friendship .lamp-harsh { position:absolute; top:10%; right:10%; width:10px; height:14px; background: radial-gradient(circle, #a07030 0%, #5a3a1a 100%); border-radius:50%; box-shadow: 0 0 30px 8px rgba(160,112,48,.6); animation: fm-lamp 1s steps(4) infinite; }
.scn-flatterer-mimics-friendship .shadow-fear { position:absolute; bottom:10%; right:15%; width:40px; height:60px; background: radial-gradient(ellipse, #0a0a0a 0%, transparent 70%); border-radius: 50% 50% 40% 40% / 40% 40% 60% 60%; animation: fm-shadow 3s ease-in-out infinite alternate; }
@keyframes fm-king { 0% { transform: rotate(0deg); } 25% { transform: rotate(2deg); } 50% { transform: rotate(-1deg); } 75% { transform: rotate(3deg); } 100% { transform: rotate(0deg); } }
@keyframes fm-flatter { 0% { transform: translateY(0) rotate(0deg) scaleY(1); } 100% { transform: translateY(-6px) rotate(-5deg) scaleY(1.1); } }
@keyframes fm-mask { 0% { transform: translateX(0); } 25% { transform: translateX(4px) rotate(3deg); } 50% { transform: translateX(-4px) rotate(-3deg); } 75% { transform: translateX(2px) rotate(2deg); } 100% { transform: translateX(0); } }
@keyframes fm-lamp { 0% { opacity:0.7; } 25% { opacity:1; } 50% { opacity:0.5; } 75% { opacity:0.8; } 100% { opacity:0.6; } }
@keyframes fm-shadow { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.2); } 100% { transform: scaleX(0.8); } }

/* ===== Scene 1: guarding-against-whisperers ===== */
.scn-guarding-against-whisperers {
  background: 
    linear-gradient(180deg, #1e1a16 0%, #2b231c 40%, #1a1410 100%),
    radial-gradient(ellipse at 50% 80%, #3a2d22 0%, transparent 60%);
}
.scn-guarding-against-whisperers .wall-bg {
  position:absolute; inset:0 0 25% 0;
  background: linear-gradient(180deg, #2a221c 0%, #1c1713 100%);
  animation: gaw-wall 12s ease-in-out infinite alternate;
}
.scn-guarding-against-whisperers .floor {
  position:absolute; bottom:0; left:0; right:0; height:25%;
  background: linear-gradient(0deg, #1c1410 0%, #2a201a 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.6);
}
.scn-guarding-against-whisperers .lamp {
  position:absolute; bottom:30%; left:50%; width:20px; height:40px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #b89860 0%, #8a7a50 100%);
  border-radius: 40% 40% 10% 10%;
  box-shadow: 0 -4px 12px rgba(200,160,80,0.3);
}
.scn-guarding-against-whisperers .lamp-glow {
  position:absolute; bottom:36%; left:50%; width:60px; height:60px;
  transform: translateX(-30px);
  background: radial-gradient(circle, rgba(220,180,100,0.6) 0%, rgba(220,180,100,0.1) 70%, transparent 100%);
  border-radius: 50%;
  animation: gaw-glow 4s ease-in-out infinite alternate;
}
.scn-guarding-against-whisperers .bookshelf {
  position:absolute; bottom:28%; left:15%; width:30%; height:45%;
  background: linear-gradient(180deg, #3a2e26 0%, #2b201a 100%);
  border-radius: 4px;
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.5);
}
.scn-guarding-against-whisperers .curtain-left {
  position:absolute; top:0; left:0; width:20%; height:70%;
  background: linear-gradient(90deg, #3b2d24 0%, #2a1e16 100%);
  border-radius: 0 40% 40% 0 / 0 60% 60% 0;
  transform-origin: left center;
  animation: gaw-curtain 20s ease-in-out infinite alternate;
}
.scn-guarding-against-whisperers .curtain-right {
  position:absolute; top:0; right:0; width:20%; height:70%;
  background: linear-gradient(-90deg, #3b2d24 0%, #2a1e16 100%);
  border-radius: 40% 0 0 40% / 60% 0 0 60%;
  transform-origin: right center;
  animation: gaw-curtain 20s ease-in-out infinite alternate-reverse;
}
.scn-guarding-against-whisperers .figure-reader {
  position:absolute; bottom:24%; left:50%; width:24px; height:40px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2a221c 0%, #14100c 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  animation: gaw-figure 6s ease-in-out infinite;
}
@keyframes gaw-wall { 0% { opacity:0.7 } 50% { opacity:0.85 } 100% { opacity:0.75 } }
@keyframes gaw-glow { 0% { transform: translateX(-30px) scale(1); opacity:0.6 } 50% { transform: translateX(-30px) scale(1.08); opacity:0.9 } 100% { transform: translateX(-30px) scale(0.95); opacity:0.7 } }
@keyframes gaw-curtain { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.04) } 100% { transform: scaleX(0.98) } }
@keyframes gaw-figure { 0% { transform: translateX(-50%) rotate(0deg) } 33% { transform: translateX(-48%) rotate(1deg) } 66% { transform: translateX(-52%) rotate(-1deg) } 100% { transform: translateX(-50%) rotate(0deg) } }

/* ===== Scene 2: soul-returns-quickly ===== */
.scn-soul-returns-quickly {
  background: 
    linear-gradient(180deg, #1a1a2e 0%, #252340 50%, #1a1a2e 100%),
    radial-gradient(ellipse at 50% 20%, #3a3a5e 0%, transparent 60%);
}
.scn-soul-returns-quickly .window-frame {
  position:absolute; top:10%; left:35%; width:30%; height:50%;
  background: linear-gradient(180deg, #3b3545 0%, #2b2635 100%);
  border-radius: 8px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.8);
}
.scn-soul-returns-quickly .window-pane {
  position:absolute; top:12%; left:37%; width:26%; height:46%;
  background: linear-gradient(180deg, rgba(180,200,230,0.3) 0%, rgba(140,160,200,0.1) 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 40px rgba(200,220,255,0.1);
  animation: srq-window 10s ease-in-out infinite alternate;
}
.scn-soul-returns-quickly .cradle {
  position:absolute; bottom:20%; left:50%; width:80px; height:50px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3f3a 0%, #2c2520 100%);
  border-radius: 30% 30% 10% 10% / 60% 60% 20% 20%;
}
.scn-soul-returns-quickly .cradle-blanket {
  position:absolute; bottom:22%; left:44%; width:40px; height:30px;
  background: linear-gradient(135deg, #6b6058 0%, #4a3f3a 100%);
  border-radius: 50% 50% 30% 30%;
  animation: srq-blanket 6s ease-in-out infinite alternate;
}
.scn-soul-returns-quickly .soft-light {
  position:absolute; top:15%; left:40%; width:20%; height:40%;
  background: radial-gradient(ellipse at 50% 100%, rgba(200,210,230,0.2) 0%, transparent 70%);
  animation: srq-light 8s ease-in-out infinite alternate;
}
.scn-soul-returns-quickly .particles {
  position:absolute; top:10%; left:30%; width:4px; height:4px;
  background: rgba(220,230,250,0.6);
  border-radius: 50%;
  box-shadow: 0 0 6px rgba(200,210,230,0.4);
  animation: srq-particle 15s linear infinite;
}
.scn-soul-returns-quickly .particles.delay {
  left:60%; animation-delay: -7s; width:3px; height:3px;
  background: rgba(200,210,230,0.4);
  box-shadow: 0 0 4px rgba(200,210,230,0.3);
}
@keyframes srq-window { 0% { opacity:0.3 } 50% { opacity:0.6 } 100% { opacity:0.4 } }
@keyframes srq-blanket { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-2px) scale(1.02) } 100% { transform: translateY(0) scale(0.98) } }
@keyframes srq-light { 0% { opacity:0.2 } 50% { opacity:0.4 } 100% { opacity:0.3 } }
@keyframes srq-particle { 0% { transform: translateY(0) translateX(0) scale(1); opacity:0.6 } 25% { transform: translateY(-20px) translateX(10px) scale(1.2); opacity:0.8 } 50% { transform: translateY(-40px) translateX(-5px) scale(0.8); opacity:0.4 } 75% { transform: translateY(-60px) translateX(15px) scale(1.1); opacity:0.7 } 100% { transform: translateY(-80px) translateX(0) scale(1); opacity:0 } }

/* ===== Scene 3: reason-and-passion ===== */
.scn-reason-and-passion {
  background: 
    linear-gradient(180deg, #1e1c24 0%, #2a2636 50%, #1e1c24 100%),
    radial-gradient(ellipse at 70% 50%, #3a3450 0%, transparent 60%);
}
.scn-reason-and-passion .wall-bg {
  position:absolute; inset:0 0 20% 0;
  background: linear-gradient(180deg, #2a2636 0%, #1e1c24 100%);
  animation: rap-wall 10s ease-in-out infinite alternate;
}
.scn-reason-and-passion .floor {
  position:absolute; bottom:0; left:0; right:0; height:20%;
  background: linear-gradient(0deg, #16141a 0%, #221e2a 100%);
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.5);
}
.scn-reason-and-passion .pillar-left {
  position:absolute; bottom:20%; left:20%; width:10%; height:70%;
  background: linear-gradient(90deg, #3a344a 0%, #2a2636 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: -4px 0 12px rgba(0,0,0,0.4);
}
.scn-reason-and-passion .pillar-right {
  position:absolute; bottom:20%; right:20%; width:10%; height:70%;
  background: linear-gradient(-90deg, #4a3c54 0%, #3a3450 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 4px 0 12px rgba(0,0,0,0.4);
}
.scn-reason-and-passion .central-lamp {
  position:absolute; bottom:35%; left:50%; width:16px; height:30px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #c8a878 0%, #a08a60 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 20px rgba(200,168,120,0.3);
  animation: rap-lamp 4s ease-in-out infinite alternate;
}
.scn-reason-and-passion .drapery-left {
  position:absolute; top:0; left:5%; width:20%; height:80%;
  background: linear-gradient(180deg, #3a3450 0%, #2a2636 100%);
  border-radius: 0 30% 30% 0 / 0 50% 50% 0;
  transform-origin: left top;
  animation: rap-drape 25s ease-in-out infinite alternate;
}
.scn-reason-and-passion .drapery-right {
  position:absolute; top:0; right:5%; width:20%; height:80%;
  background: linear-gradient(180deg, #4a405c 0%, #3a3450 100%);
  border-radius: 30% 0 0 30% / 50% 0 0 50%;
  transform-origin: right top;
  animation: rap-drape 25s ease-in-out infinite alternate-reverse;
}
@keyframes rap-wall { 0% { opacity:0.7 } 50% { opacity:0.85 } 100% { opacity:0.75 } }
@keyframes rap-lamp { 0% { transform: translateX(-50%) scale(1); opacity:0.7 } 50% { transform: translateX(-50%) scale(1.1); opacity:0.9 } 100% { transform: translateX(-50%) scale(0.95); opacity:0.8 } }
@keyframes rap-drape { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.04) } 100% { transform: scaleY(0.98) } }

/* ===== Scene 4: soul-has-two-parts ===== */
.scn-soul-has-two-parts {
  background: 
    linear-gradient(180deg, #1a1822 0%, #2a2236 50%, #1a1822 100%),
    radial-gradient(ellipse at 50% 50%, #3a3050 0%, transparent 70%);
}
.scn-soul-has-two-parts .wall-dark {
  position:absolute; inset:0 0 15% 0;
  background: linear-gradient(180deg, #2a2236 0%, #1a1822 100%);
  animation: shp-wall 14s ease-in-out infinite alternate;
}
.scn-soul-has-two-parts .mirror-frame {
  position:absolute; top:10%; left:30%; width:40%; height:60%;
  background: linear-gradient(180deg, #4a405c 0%, #3a3450 100%);
  border-radius: 8px;
  box-shadow: 0 0 30px rgba(0,0,0,0.7);
}
.scn-soul-has-two-parts .mirror-glass {
  position:absolute; top:12%; left:32%; width:36%; height:56%;
  background: linear-gradient(135deg, rgba(180,170,200,0.25) 0%, rgba(130,120,160,0.1) 50%, rgba(180,170,200,0.2) 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 40px rgba(0,0,0,0.3);
  animation: shp-mirror 8s ease-in-out infinite alternate;
}
.scn-soul-has-two-parts .figure-left {
  position:absolute; bottom:18%; left:34%; width:20px; height:45px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2a2236 0%, #1a1822 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  animation: shp-figure 12s ease-in-out infinite;
}
.scn-soul-has-two-parts .figure-right {
  position:absolute; bottom:18%; right:34%; width:20px; height:45px;
  transform: translateX(50%) scaleX(-1);
  background: linear-gradient(180deg, #3a3050 0%, #2a2236 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  animation: shp-figure 12s ease-in-out infinite reverse;
}
.scn-soul-has-two-parts .candle-left {
  position:absolute; bottom:15%; left:38%; width:10px; height:20px;
  background: linear-gradient(180deg, #c8b898 0%, #a09070 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 16px rgba(200,184,152,0.2);
  transform-origin: bottom center;
  animation: shp-candle 5s ease-in-out infinite alternate;
}
.scn-soul-has-two-parts .candle-right {
  position:absolute; bottom:15%; right:38%; width:10px; height:20px;
  background: linear-gradient(180deg, #a09070 0%, #908060 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 12px rgba(160,144,112,0.15);
  transform-origin: bottom center;
  animation: shp-candle 5s ease-in-out infinite alternate-reverse;
}
.scn-soul-has-two-parts .floor-reflection {
  position:absolute; bottom:0; left:20%; width:60%; height:15%;
  background: linear-gradient(0deg, rgba(42,34,54,0.4) 0%, transparent 100%);
  animation: shp-reflect 10s ease-in-out infinite alternate;
}
@keyframes shp-wall { 0% { opacity:0.6 } 50% { opacity:0.8 } 100% { opacity:0.7 } }
@keyframes shp-mirror { 0% { opacity:0.3 } 50% { opacity:0.5 } 100% { opacity:0.4 } }
@keyframes shp-figure { 0% { transform: translateX(-50%) rotate(0deg); opacity:0.7 } 25% { transform: translateX(-50%) rotate(2deg); opacity:0.9 } 75% { transform: translateX(-50%) rotate(-2deg); opacity:0.8 } 100% { transform: translateX(-50%) rotate(0deg); opacity:0.7 } }
@keyframes shp-candle { 0% { transform: scaleY(1); opacity:0.7 } 50% { transform: scaleY(1.06); opacity:0.9 } 100% { transform: scaleY(0.96); opacity:0.8 } }
@keyframes shp-reflect { 0% { opacity:0.2 } 50% { opacity:0.4 } 100% { opacity:0.3 } }

/* love-as-divine-frenzy – dim interior, warm, passion */
.scn-love-as-divine-frenzy {
  background: 
    radial-gradient(ellipse at 40% 60%, #3a1a0a 0%, #1a0a05 70%, #050200 100%),
    linear-gradient(180deg, #2a1508 0%, #1a0a05 50%, #0a0502 100%);
}
.scn-love-as-divine-frenzy .bg-room {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a1508 0%, #1a0a05 60%, #0a0502 100%);
  animation: lf-breathe 8s ease-in-out infinite;
}
.scn-love-as-divine-frenzy .couch {
  position: absolute; bottom: 15%; left: 20%; width: 60%; height: 30%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a150a 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.6);
  animation: lf-couch 12s ease-in-out infinite;
}
.scn-love-as-divine-frenzy .lover {
  position: absolute; bottom: 25%; left: 30%; width: 12%; height: 35%;
  background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lf-lover 6s ease-in-out infinite;
}
.scn-love-as-divine-frenzy .beloved {
  position: absolute; bottom: 25%; left: 55%; width: 11%; height: 33%;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lf-beloved 6s ease-in-out infinite reverse;
}
.scn-love-as-divine-frenzy .lamp {
  position: absolute; bottom: 50%; left: 15%; width: 8%; height: 12%;
  background: radial-gradient(circle at 50% 30%, #ffc080 0%, #b06020 100%);
  border-radius: 20% 20% 50% 50%;
  box-shadow: 0 0 30px 10px rgba(255,160,80,0.4);
  animation: lf-lamp 4s ease-in-out infinite;
}
.scn-love-as-divine-frenzy .flame-glow {
  position: absolute; bottom: 52%; left: 17%; width: 4%; height: 6%;
  background: radial-gradient(circle, #ffd080 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(6px);
  animation: lf-flame 1.5s ease-in-out infinite alternate;
}
.scn-love-as-divine-frenzy .scroll {
  position: absolute; bottom: 30%; left: 45%; width: 15%; height: 5%;
  background: linear-gradient(90deg, #c8a060 0%, #a08040 50%, #c8a060 100%);
  border-radius: 5px;
  animation: lf-scroll 18s linear infinite;
}
@keyframes lf-breathe { 0% { opacity: 0.7 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes lf-couch { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes lf-lover { 0% { transform: rotate(-2deg) translateY(0) } 25% { transform: rotate(2deg) translateY(-2px) } 50% { transform: rotate(-1deg) translateY(0) } 75% { transform: rotate(3deg) translateY(-1px) } 100% { transform: rotate(-2deg) translateY(0) } }
@keyframes lf-beloved { 0% { transform: rotate(2deg) translateY(0) } 25% { transform: rotate(-2deg) translateY(-2px) } 50% { transform: rotate(1deg) translateY(0) } 75% { transform: rotate(-3deg) translateY(-1px) } 100% { transform: rotate(2deg) translateY(0) } }
@keyframes lf-lamp { 0% { transform: rotate(-5deg) } 50% { transform: rotate(5deg) } 100% { transform: rotate(-5deg) } }
@keyframes lf-flame { 0% { transform: scale(1) opacity(0.8) } 50% { transform: scale(1.2) opacity(1) } 100% { transform: scale(0.9) opacity(0.6) } }
@keyframes lf-scroll { 0% { transform: translateX(0) scaleX(1) } 50% { transform: translateX(10px) scaleX(1.1) } 100% { transform: translateX(0) scaleX(1) } }

/* love-makes-cowards-brave – sunlit, warm, heroic */
.scn-love-makes-cowards-brave {
  background: 
    linear-gradient(180deg, #87ceeb 0%, #f0e68c 50%, #ffd700 100%),
    radial-gradient(ellipse at 50% 0%, #ffe4b5 0%, transparent 70%);
}
.scn-love-makes-cowards-brave .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #b0e0e6 0%, #ffe4b5 100%);
  animation: lc-sky 15s ease-in-out infinite alternate;
}
.scn-love-makes-cowards-brave .sun {
  position: absolute; top: 10%; left: 70%; width: 15%; height: 20%;
  background: radial-gradient(circle, #ffd700 0%, #ffa500 50%, transparent 100%);
  border-radius: 50%;
  filter: blur(10px);
  animation: lc-sun 20s linear infinite;
}
.scn-love-makes-cowards-brave .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #8fbc8f 0%, #556b2f 100%);
  border-radius: 40% 40% 0 0;
  animation: lc-ground 12s ease-in-out infinite;
}
.scn-love-makes-cowards-brave .hero {
  position: absolute; bottom: 20%; left: 25%; width: 14%; height: 40%;
  background: linear-gradient(180deg, #b8860b 0%, #8b4513 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lc-hero 5s ease-in-out infinite;
}
.scn-love-makes-cowards-brave .coward {
  position: absolute; bottom: 20%; left: 55%; width: 12%; height: 35%;
  background: linear-gradient(180deg, #a0522d 0%, #5c3a1e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lc-coward 5s ease-in-out infinite reverse;
}
.scn-love-makes-cowards-brave .cup {
  position: absolute; bottom: 30%; left: 45%; width: 8%; height: 10%;
  background: linear-gradient(180deg, #daa520 0%, #b8860b 100%);
  border-radius: 20% 20% 30% 30%;
  animation: lc-cup 8s ease-in-out infinite;
}
.scn-love-makes-cowards-brave .rays {
  position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(135deg, rgba(255,215,0,0.15) 0%, transparent 50%, rgba(255,215,0,0.1) 100%);
  animation: lc-rays 10s linear infinite;
}
@keyframes lc-sky { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes lc-sun { 0% { transform: translateX(0) scale(1) } 50% { transform: translateX(-10px) scale(1.05) } 100% { transform: translateX(0) scale(1) } }
@keyframes lc-ground { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes lc-hero { 0% { transform: rotate(-3deg) translateY(0) } 25% { transform: rotate(2deg) translateY(-4px) } 50% { transform: rotate(-1deg) translateY(0) } 75% { transform: rotate(4deg) translateY(-2px) } 100% { transform: rotate(-3deg) translateY(0) } }
@keyframes lc-coward { 0% { transform: rotate(2deg) translateY(0) scale(1) } 25% { transform: rotate(-1deg) translateY(-3px) scale(0.95) } 50% { transform: rotate(1deg) translateY(0) scale(1) } 75% { transform: rotate(-2deg) translateY(-2px) scale(0.98) } 100% { transform: rotate(2deg) translateY(0) scale(1) } }
@keyframes lc-cup { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-5px) rotate(10deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes lc-rays { 0% { opacity: 0.5 } 50% { opacity: 0.8 } 100% { opacity: 0.5 } }

/* husbands-and-wives – dim interior, calm, domestic */
.scn-husbands-and-wives {
  background: 
    radial-gradient(ellipse at 50% 70%, #3a2a1a 0%, #1a1008 70%, #0a0502 100%),
    linear-gradient(180deg, #2a1a0a 0%, #1a1008 50%, #0a0502 100%);
}
.scn-husbands-and-wives .bg-room {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a1008 60%, #0a0502 100%);
  animation: hw-breathe 10s ease-in-out infinite;
}
.scn-husbands-and-wives .curtain {
  position: absolute; top: 0; left: 10%; width: 80%; height: 20%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a150a 100%);
  border-radius: 0 0 50% 50%;
  animation: hw-curtain 15s ease-in-out infinite;
}
.scn-husbands-and-wives .husband {
  position: absolute; bottom: 20%; left: 20%; width: 13%; height: 38%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: hw-husband 7s ease-in-out infinite;
}
.scn-husbands-and-wives .wife {
  position: absolute; bottom: 20%; left: 55%; width: 11%; height: 35%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: hw-wife 7s ease-in-out infinite reverse;
}
.scn-husbands-and-wives .candle {
  position: absolute; bottom: 40%; left: 40%; width: 4%; height: 12%;
  background: linear-gradient(180deg, #ffd080 0%, #b06020 100%);
  border-radius: 10% 10% 40% 40%;
  box-shadow: 0 0 20px 8px rgba(255,160,80,0.3);
  animation: hw-candle 3s ease-in-out infinite alternate;
}
.scn-husbands-and-wives .table {
  position: absolute; bottom: 15%; left: 35%; width: 30%; height: 8%;
  background: linear-gradient(180deg, #5c3a1e 0%, #3a2010 100%);
  border-radius: 5px;
  animation: hw-table 20s linear infinite;
}
.scn-husbands-and-wives .bed {
  position: absolute; bottom: 10%; left: 15%; width: 70%; height: 25%;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: inset 0 5px 15px rgba(0,0,0,0.5);
  animation: hw-bed 12s ease-in-out infinite;
}
@keyframes hw-breathe { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes hw-curtain { 0% { transform: translateY(0) } 50% { transform: translateY(-5px) } 100% { transform: translateY(0) } }
@keyframes hw-husband { 0% { transform: rotate(-1deg) translateY(0) } 50% { transform: rotate(1deg) translateY(-2px) } 100% { transform: rotate(-1deg) translateY(0) } }
@keyframes hw-wife { 0% { transform: rotate(1deg) translateY(0) } 50% { transform: rotate(-1deg) translateY(-2px) } 100% { transform: rotate(1deg) translateY(0) } }
@keyframes hw-candle { 0% { transform: scaleY(1) opacity(0.8) } 50% { transform: scaleY(1.1) opacity(1) } 100% { transform: scaleY(0.95) opacity(0.7) } }
@keyframes hw-table { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes hw-bed { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }

/* wifely-submission – dim interior, calm, submissive */
.scn-wifely-submission {
  background: 
    radial-gradient(ellipse at 50% 80%, #2a1a0a 0%, #1a1008 60%, #0a0502 100%),
    linear-gradient(180deg, #1a1008 0%, #0a0502 100%);
}
.scn-wifely-submission .bg-room {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1a1008 0%, #0a0502 100%);
  animation: ws-breathe 12s ease-in-out infinite;
}
.scn-wifely-submission .husband-seated {
  position: absolute; bottom: 20%; left: 25%; width: 14%; height: 40%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a1008 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ws-husband 8s ease-in-out infinite;
}
.scn-wifely-submission .wife-kneeling {
  position: absolute; bottom: 15%; left: 60%; width: 10%; height: 25%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ws-wife 6s ease-in-out infinite;
}
.scn-wifely-submission .veil {
  position: absolute; bottom: 30%; left: 58%; width: 14%; height: 20%;
  background: linear-gradient(180deg, rgba(200,180,160,0.4) 0%, transparent 100%);
  border-radius: 50% 50% 40% 40%;
  filter: blur(3px);
  animation: ws-veil 10s ease-in-out infinite alternate;
}
.scn-wifely-submission .lamp {
  position: absolute; bottom: 50%; left: 10%; width: 6%; height: 10%;
  background: radial-gradient(circle at 50% 40%, #ffc080 0%, #b06020 100%);
  border-radius: 20% 20% 50% 50%;
  box-shadow: 0 0 25px 8px rgba(255,160,80,0.3);
  animation: ws-lamp 5s ease-in-out infinite;
}
.scn-wifely-submission .offering {
  position: absolute; bottom: 22%; left: 45%; width: 6%; height: 6%;
  background: radial-gradient(circle, #daa520 0%, #b8860b 100%);
  border-radius: 50%;
  box-shadow: 0 0 10px 3px rgba(218,165,32,0.4);
  animation: ws-offering 7s ease-in-out infinite;
}
@keyframes ws-breathe { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes ws-husband { 0% { transform: rotate(-2deg) translateY(0) } 50% { transform: rotate(2deg) translateY(-1px) } 100% { transform: rotate(-2deg) translateY(0) } }
@keyframes ws-wife { 0% { transform: rotate(3deg) translateY(0) scale(0.98) } 50% { transform: rotate(-2deg) translateY(-2px) scale(1) } 100% { transform: rotate(3deg) translateY(0) scale(0.98) } }
@keyframes ws-veil { 0% { transform: translateX(0) rotate(0deg) opacity(0.4) } 50% { transform: translateX(5px) rotate(5deg) opacity(0.6) } 100% { transform: translateX(0) rotate(0deg) opacity(0.4) } }
@keyframes ws-lamp { 0% { transform: rotate(-4deg) } 50% { transform: rotate(4deg) } 100% { transform: rotate(-4deg) } }
@keyframes ws-offering { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-3px) scale(1.1) } 100% { transform: translateY(0) scale(1) } }

/* nero-soul-transformed */
.scn-nero-soul-transformed {
  background: linear-gradient(180deg, #0d0d1a 0%, #1a0a2e 30%, #2b1a3a 60%, #0d0d1a 100%),
              radial-gradient(ellipse at 50% 60%, #3a1a4a 0%, transparent 70%);
}
.scn-nero-soul-transformed .bg-deep { position:absolute; inset:0; background:linear-gradient(135deg, #1a0a2e 0%, #0d0d1a 100%); animation:nst-pulse 6s ease-in-out infinite; }
.scn-nero-soul-transformed .bg-mid { position:absolute; inset:10% 5% 15% 5%; background:linear-gradient(180deg, rgba(60,30,80,.2) 0%, transparent 100%); border-radius:50%; filter:blur(20px); }
.scn-nero-soul-transformed .figure-viper { position:absolute; bottom:30%; left:50%; width:60px; height:20px; transform:translateX(-50%); background:linear-gradient(90deg, #2d5a2d 0%, #1a3a1a 100%); border-radius:50% 50% 0 0 / 50% 50% 40% 40%; box-shadow:0 0 20px #2d5a2d; animation:nst-viper 8s ease-in-out infinite alternate; }
.scn-nero-soul-transformed .figure-frog { position:absolute; bottom:20%; left:50%; width:40px; height:30px; transform:translateX(-50%); background:radial-gradient(circle, #3a5a3a 0%, #1a2a1a 100%); border-radius:50% 50% 40% 40%; box-shadow:0 0 15px #3a5a3a; animation:nst-frog 8s ease-in-out infinite alternate; }
.scn-nero-soul-transformed .halo { position:absolute; top:15%; left:50%; width:100px; height:100px; transform:translateX(-50%); background:radial-gradient(circle, rgba(80,40,120,.4) 0%, transparent 70%); border-radius:50%; animation:nst-halo 10s ease-in-out infinite; }
.scn-nero-soul-transformed .particle { position:absolute; width:4px; height:4px; background:radial-gradient(circle, #6a4a8a, transparent); border-radius:50%; animation:nst-float 4s ease-in-out infinite; }
.scn-nero-soul-transformed .p1 { top:20%; left:30%; animation-delay:0s; }
.scn-nero-soul-transformed .p2 { top:35%; left:70%; animation-delay:1.5s; }
.scn-nero-soul-transformed .p3 { top:50%; left:40%; animation-delay:3s; }
@keyframes nst-pulse { 0%,100% { opacity:.6 } 50% { opacity:.9 } }
@keyframes nst-viper { 0%,100% { transform:translateX(-50%) scaleX(1) scaleY(1) rotate(0deg); opacity:.9 } 25% { transform:translateX(-50%) scaleX(1.4) scaleY(.6) rotate(5deg); opacity:.7 } 50% { transform:translateX(-50%) scaleX(1) scaleY(1) rotate(0deg); opacity:.5 } 75% { transform:translateX(-50%) scaleX(.8) scaleY(1.2) rotate(-3deg); opacity:.85 } }
@keyframes nst-frog { 0%,100% { transform:translateX(-50%) scaleY(1) rotate(0deg); opacity:.5 } 30% { transform:translateX(-50%) scaleY(1.3) rotate(2deg); opacity:.85 } 70% { transform:translateX(-50%) scaleY(.8) rotate(-2deg); opacity:.6 } }
@keyframes nst-halo { 0%,100% { transform:translateX(-50%) scale(1); opacity:.3 } 50% { transform:translateX(-50%) scale(1.2); opacity:.6 } }
@keyframes nst-float { 0%,100% { transform:translate(0,0) scale(1); opacity:.2 } 25% { transform:translate(10px,-15px) scale(1.5); opacity:.8 } 50% { transform:translate(20px,5px) scale(1); opacity:.4 } 75% { transform:translate(5px,10px) scale(1.2); opacity:.7 } }

/* knowledge-drives-virtue */
.scn-knowledge-drives-virtue {
  background: linear-gradient(180deg, #ffe0b0 0%, #ffcc80 30%, #ffaa55 60%, #ff8833 100%),
              radial-gradient(ellipse at 50% 0%, #ffe0b0 0%, transparent 60%);
}
.scn-knowledge-drives-virtue .sky { position:absolute; inset:0 0 60% 0; background:linear-gradient(180deg, #ffdd99 0%, #ffbb66 100%); animation:kdv-sky 12s ease-in-out infinite; }
.scn-knowledge-drives-virtue .sun { position:absolute; top:10%; left:60%; width:60px; height:60px; background:radial-gradient(circle, #ffeecc 0%, #ffcc66 60%, transparent 100%); border-radius:50%; box-shadow:0 0 60px 30px rgba(255,200,80,.5); animation:kdv-sun 8s ease-in-out infinite; }
.scn-knowledge-drives-virtue .rays { position:absolute; top:8%; left:58%; width:80px; height:80px; background:repeating-linear-gradient(135deg, #ffeebb 0px, #ffeebb 2px, transparent 2px, transparent 12px); border-radius:50%; transform:rotate(0deg); animation:kdv-rays 20s linear infinite; }
.scn-knowledge-drives-virtue .horizon { position:absolute; bottom:40%; left:0; right:0; height:8px; background:linear-gradient(90deg, #aa7733 0%, #cc9944 50%, #aa7733 100%); box-shadow:0 2px 10px rgba(0,0,0,.2); }
.scn-knowledge-drives-virtue .figure-epam { position:absolute; bottom:35%; left:30%; width:20px; height:50px; background:linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation:kdv-walk 6s ease-in-out infinite; }
.scn-knowledge-drives-virtue .shadow { position:absolute; bottom:34%; left:25%; width:40px; height:6px; background:rgba(0,0,0,.15); border-radius:50%; animation:kdv-shadow 6s ease-in-out infinite; }
.scn-knowledge-drives-virtue .dust { position:absolute; width:3px; height:3px; background:rgba(255,220,150,.6); border-radius:50%; animation:kdv-dust 5s ease-in-out infinite; }
.scn-knowledge-drives-virtue .d1 { bottom:50%; left:40%; animation-delay:0s; }
.scn-knowledge-drives-virtue .d2 { bottom:45%; left:55%; animation-delay:2.5s; }
@keyframes kdv-sky { 0%,100% { opacity:.9 } 50% { opacity:1 } }
@keyframes kdv-sun { 0%,100% { transform:scale(1); box-shadow:0 0 50px 20px rgba(255,200,80,.5) } 50% { transform:scale(1.1); box-shadow:0 0 80px 40px rgba(255,200,80,.7) } }
@keyframes kdv-rays { 0% { transform:rotate(0deg) scale(1) } 50% { transform:rotate(180deg) scale(1.1) } 100% { transform:rotate(360deg) scale(1) } }
@keyframes kdv-walk { 0%,100% { transform:translateX(0) rotate(0deg) } 25% { transform:translateX(5px) rotate(-2deg) } 50% { transform:translateX(15px) rotate(2deg) } 75% { transform:translateX(10px) rotate(-1deg) } }
@keyframes kdv-shadow { 0%,100% { transform:scaleX(1) translateX(0); opacity:.3 } 25% { transform:scaleX(.8) translateX(5px); opacity:.4 } 50% { transform:scaleX(1.2) translateX(15px); opacity:.5 } 75% { transform:scaleX(1) translateX(10px); opacity:.4 } }
@keyframes kdv-dust { 0%,100% { transform:translate(0,0) scale(1); opacity:.5 } 50% { transform:translate(10px,-15px) scale(2); opacity:1 } }

/* citizen-of-world */
.scn-citizen-of-world {
  background: linear-gradient(180deg, #aaccdd 0%, #88bbcc 40%, #6699aa 100%),
              radial-gradient(ellipse at 30% 80%, #77aabb 0%, transparent 70%);
}
.scn-citizen-of-world .sky { position:absolute; inset:0 0 50% 0; background:linear-gradient(180deg, #b8d4e3 0%, #8bb9cf 100%); animation:cow-sky 15s ease-in-out infinite; }
.scn-citizen-of-world .earth-arc { position:absolute; bottom:30%; left:10%; right:10%; height:40%; background:radial-gradient(ellipse at 50% 100%, #4a7a5a 0%, #2a5a3a 50%, #1a3a2a 100%); border-radius:50% 50% 0 0 / 80% 80% 0 0; box-shadow:inset 0 10px 30px rgba(0,0,0,.3); animation:cow-arc 20s ease-in-out infinite; }
.scn-citizen-of-world .city { position:absolute; bottom:35%; left:40%; width:80px; height:40px; background:linear-gradient(180deg, #6a5a3a 0%, #3a2a1a 100%); border-radius:4% 4% 0 0; box-shadow:0 4px 12px rgba(0,0,0,.3); transform-origin:bottom center; animation:cow-city 12s ease-in-out infinite; }
.scn-citizen-of-world .figure-socrates { position:absolute; bottom:32%; left:50%; width:16px; height:38px; background:linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation:cow-figure 10s ease-in-out infinite; }
.scn-citizen-of-world .beam { position:absolute; top:10%; left:20%; width:60%; height:4px; background:linear-gradient(90deg, transparent, #ffeedd, transparent); border-radius:50%; filter:blur(2px); animation:cow-beam 6s ease-in-out infinite; }
.scn-citizen-of-world .cloud { position:absolute; height:10px; background:rgba(255,255,255,.15); border-radius:50%; filter:blur(4px); animation:cow-cloud 40s linear infinite; }
.scn-citizen-of-world .c1 { top:15%; left:10%; width:80px; animation-delay:0s; }
.scn-citizen-of-world .c2 { top:20%; left:50%; width:60px; animation-delay:12s; }
.scn-citizen-of-world .c3 { top:12%; left:70%; width:50px; animation-delay:25s; }
@keyframes cow-sky { 0%,100% { opacity:.85 } 50% { opacity:1 } }
@keyframes cow-arc { 0%,100% { transform:scaleY(1) translateY(0) } 50% { transform:scaleY(1.03) translateY(-3px) } }
@keyframes cow-city { 0%,100% { transform:scaleY(1) } 50% { transform:scaleY(1.05) } }
@keyframes cow-figure { 0%,100% { transform:translateX(0) rotate(0deg) } 30% { transform:translateX(3px) rotate(1deg) } 60% { transform:translateX(-2px) rotate(-1deg) } 100% { transform:translateX(0) rotate(0deg) } }
@keyframes cow-beam { 0%,100% { opacity:.3; transform:scaleX(1) } 50% { opacity:.7; transform:scaleX(1.2) } }
@keyframes cow-cloud { 0% { transform:translateX(-80px) } 100% { transform:translateX(100vw) } }

/* exile-aids-genius */
.scn-exile-aids-genius {
  background: linear-gradient(180deg, #cce6d5 0%, #a6c9b0 40%, #7dab8a 100%),
              radial-gradient(ellipse at 20% 80%, #b8d8c2 0%, transparent 70%);
}
.scn-exile-aids-genius .bg-tree { position:absolute; bottom:0; left:0; right:0; height:70%; background:linear-gradient(180deg, #5a7a4a 0%, #3a5a2a 100%); border-radius:60% 40% 0 0 / 30% 20% 0 0; box-shadow:inset 0 20px 40px rgba(0,0,0,.3); animation:eag-shade 10s ease-in-out infinite; }
.scn-exile-aids-genius .canopy { position:absolute; top:5%; left:10%; width:80%; height:50%; background:radial-gradient(ellipse at 50% 100%, #6a9a5a 0%, #4a7a3a 60%, transparent 100%); border-radius:50%; filter:blur(10px); animation:eag-canopy 15s ease-in-out infinite; }
.scn-exile-aids-genius .desk { position:absolute; bottom:25%; left:35%; width:60px; height:8px; background:linear-gradient(90deg, #8a5a3a 0%, #6a3a1a 100%); border-radius:2px; box-shadow:0 2px 6px rgba(0,0,0,.3); }
.scn-exile-aids-genius .scroll { position:absolute; bottom:30%; left:38%; width:40px; height:14px; background:linear-gradient(180deg, #eeddbb 0%, #ccbb99 100%); border-radius:2px; transform:rotate(-5deg); box-shadow:0 2px 8px rgba(0,0,0,.2); animation:eag-scroll 6s ease-in-out infinite; }
.scn-exile-aids-genius .figure-scribe { position:absolute; bottom:28%; left:32%; width:18px; height:40px; background:linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation:eag-bow 8s ease-in-out infinite; }
.scn-exile-aids-genius .inkwell { position:absolute; bottom:27%; left:43%; width:10px; height:12px; background:linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); border-radius:20% 20% 10% 10%; box-shadow:0 2px 4px rgba(0,0,0,.4); }
.scn-exile-aids-genius .leaf { position:absolute; width:8px; height:4px; background:radial-gradient(ellipse, #7a9a5a, #4a6a3a); border-radius:50%; animation:eag-fall 5s ease-in-out infinite; }
.scn-exile-aids-genius .l1 { top:15%; left:20%; animation-delay:0s; }
.scn-exile-aids-genius .l2 { top:25%; left:70%; animation-delay:1.7s; }
.scn-exile-aids-genius .l3 { top:10%; left:50%; animation-delay:3.3s; }
@keyframes eag-shade { 0%,100% { opacity:.8 } 50% { opacity:.9 } }
@keyframes eag-canopy { 0%,100% { transform:scale(1) } 50% { transform:scale(1.05) } }
@keyframes eag-scroll { 0%,100% { transform:rotate(-5deg) translateY(0) } 50% { transform:rotate(-3deg) translateY(-2px) } }
@keyframes eag-bow { 0%,100% { transform:rotate(2deg) translateY(0) } 25% { transform:rotate(-3deg) translateY(-1px) } 50% { transform:rotate(4deg) translateY(0) } 75% { transform:rotate(-1deg) translateY(-2px) } }
@keyframes eag-fall { 0%,100% { transform:translate(0,0) rotate(0deg); opacity:.6 } 25% { transform:translate(10px,15px) rotate(45deg); opacity:.9 } 50% { transform:translate(20px,30px) rotate(90deg); opacity:.4 } 75% { transform:translate(15px,20px) rotate(45deg); opacity:.7 } }

/* flatterer-yields-palm */
.scn-flatterer-yields-palm {
  background: 
    linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 50%, #0e0808 100%),
    radial-gradient(ellipse at 50% 35%, #4a2a2a 0%, transparent 60%);
}
.scn-flatterer-yields-palm .bg { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 60%, #3a2020 0%, transparent 70%); animation: ff1-bg 8s ease-in-out infinite alternate; }
.scn-flatterer-yields-palm .arch-left { position:absolute; left:5%; top:10%; width:15%; height:80%; background: linear-gradient(90deg, #2e1818 0%, #1a0e0e 100%); border-radius:0 40% 0 0; box-shadow: inset -4px 0 #4a2020; }
.scn-flatterer-yields-palm .arch-right { position:absolute; right:5%; top:10%; width:15%; height:80%; background: linear-gradient(270deg, #2e1818 0%, #1a0e0e 100%); border-radius:40% 0 0 0; box-shadow: inset 4px 0 #4a2020; }
.scn-flatterer-yields-palm .patron { position:absolute; bottom:20%; right:30%; width:12%; height:40%; background: linear-gradient(180deg, #3e2828 0%, #1a0e0e 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: ff1-patron 12s ease-in-out infinite; }
.scn-flatterer-yields-palm .flatterer { position:absolute; bottom:18%; left:35%; width:10%; height:35%; background: linear-gradient(180deg, #4a2a2a 0%, #2a1818 100%); border-radius: 50% 50% 40% 40% / 50% 50% 35% 35%; transform-origin: bottom center; animation: ff1-flatterer 6s ease-in-out infinite; }
.scn-flatterer-yields-palm .palm-offer { position:absolute; bottom:30%; left:42%; width:6%; height:10%; background: radial-gradient(ellipse, #7a4a3a 0%, #4a2a1a 100%); border-radius: 30% 30% 60% 40%; transform: rotate(15deg); box-shadow: 0 2px 6px rgba(100,50,20,.5); animation: ff1-offer 4s ease-in-out infinite; }
.scn-flatterer-yields-palm .lamp-glow { position:absolute; top:15%; left:45%; width:10%; height:10%; background: radial-gradient(circle, #b07040 0%, #805020 40%, transparent 80%); border-radius:50%; filter: blur(8px); animation: ff1-lamp 3s ease-in-out infinite alternate; }
.scn-flatterer-yields-palm .floor-shadow { position:absolute; bottom:0; left:20%; width:60%; height:10%; background: radial-gradient(ellipse at 50% 0%, #0e0808 50%, transparent 80%); }
@keyframes ff1-bg { 0% { opacity:.7 } 50% { opacity:.85 } 100% { opacity:.6 } }
@keyframes ff1-patron { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } }
@keyframes ff1-flatterer { 0% { transform: rotate(0) translateY(0) } 25% { transform: rotate(-2deg) translateY(-2px) } 50% { transform: rotate(0) translateY(0) } 75% { transform: rotate(2deg) translateY(-1px) } 100% { transform: rotate(0) translateY(0) } }
@keyframes ff1-offer { 0%,100% { transform: rotate(15deg) translateY(0) } 50% { transform: rotate(18deg) translateY(-3px) } }
@keyframes ff1-lamp { 0% { opacity:.4; transform: scale(.9) } 100% { opacity:.8; transform: scale(1.1) } }

/* flattery-hides-in-false-outspokenness */
.scn-flattery-hides-in-false-outspokenness {
  background: 
    linear-gradient(180deg, #1e1212 0%, #2a1a1a 40%, #1a0e0e 100%),
    radial-gradient(ellipse at 40% 60%, #3a2222 0%, transparent 60%);
}
.scn-flattery-hides-in-false-outspokenness .bg { position:absolute; inset:0; background: radial-gradient(ellipse at 40% 30%, #3e2828 0%, transparent 70%); animation: ff2-bg 6s ease-in-out infinite alternate; }
.scn-flattery-hides-in-false-outspokenness .table { position:absolute; bottom:22%; left:25%; width:50%; height:8%; background: linear-gradient(90deg, #4a2a1a 0%, #5a3a2a 50%, #3a1a0e 100%); border-radius:10%; box-shadow: 0 -4px 8px rgba(0,0,0,.5); }
.scn-flattery-hides-in-false-outspokenness .pot { position:absolute; bottom:30%; left:35%; width:12%; height:16%; background: radial-gradient(ellipse at 50% 30%, #6a4a3a 0%, #3a2010 100%); border-radius: 30% 30% 50% 50%; box-shadow: 0 4px 8px rgba(0,0,0,.4); transform-origin: bottom center; animation: ff2-pot 8s ease-in-out infinite; }
.scn-flattery-hides-in-false-outspokenness .figure-body { position:absolute; bottom:18%; right:30%; width:12%; height:40%; background: linear-gradient(180deg, #4a2a2a 0%, #2a1818 100%); border-radius: 50% 50% 40% 40% / 55% 55% 35% 35%; transform-origin: bottom center; animation: ff2-body 5s ease-in-out infinite; }
.scn-flattery-hides-in-false-outspokenness .figure-arm { position:absolute; bottom:35%; right:38%; width:10%; height:5%; background: linear-gradient(270deg, #4a2a2a 0%, #2a1818 100%); border-radius:50%; transform-origin: right center; animation: ff2-arm 3s ease-in-out infinite; }
.scn-flattery-hides-in-false-outspokenness .figure-head { position:absolute; bottom:52%; right:32%; width:8%; height:10%; background: radial-gradient(ellipse at 50% 40%, #3e1e1e 0%, #1e0e0e 100%); border-radius:50%; animation: ff2-head 4s ease-in-out infinite; }
.scn-flattery-hides-in-false-outspokenness .shadow-cast { position:absolute; bottom:0; left:20%; width:60%; height:18%; background: radial-gradient(ellipse at 50% 0%, #0e0606 50%, transparent 100%); }
@keyframes ff2-bg { 0% { opacity:.6 } 50% { opacity:.9 } 100% { opacity:.7 } }
@keyframes ff2-pot { 0%,100% { transform: rotate(0) } 30% { transform: rotate(-2deg) } 60% { transform: rotate(1deg) } }
@keyframes ff2-body { 0% { transform: translateX(0) } 25% { transform: translateX(-2px) } 50% { transform: translateX(0) } 75% { transform: translateX(2px) } 100% { transform: translateX(0) } }
@keyframes ff2-arm { 0% { transform: rotate(0) } 25% { transform: rotate(20deg) } 50% { transform: rotate(-5deg) } 75% { transform: rotate(15deg) } 100% { transform: rotate(0) } }
@keyframes ff2-head { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } }

/* friend-kindness-secret */
.scn-friend-kindness-secret {
  background: 
    linear-gradient(180deg, #1a1e14 0%, #2a2e1e 40%, #3a2e1a 100%),
    radial-gradient(ellipse at 60% 20%, #c8a060 0%, transparent 50%);
}
.scn-friend-kindness-secret .bg { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 50%, #4a3e2a 0%, transparent 80%); animation: ff3-bg 10s ease-in-out infinite alternate; }
.scn-friend-kindness-secret .window { position:absolute; top:10%; left:60%; width:22%; height:30%; background: linear-gradient(180deg, #d8c080 0%, #b89860 100%); border-radius:10%; box-shadow: inset 0 0 30px rgba(200,160,80,.4); animation: ff3-window 15s ease-in-out infinite; }
.scn-friend-kindness-secret .shelf { position:absolute; bottom:40%; left:10%; width:80%; height:4%; background: linear-gradient(90deg, #5a4a2a 0%, #6a5a3a 50%, #4a3a1a 100%); border-radius:10%; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-friend-kindness-secret .books { position:absolute; bottom:44%; left:15%; width:40%; height:10%; background: linear-gradient(90deg, #7a5a3a 20%, #8a6a4a 40%, #6a4a2a 80%, #9a7a5a 100%); border-radius:5%; box-shadow: 0 2px 4px rgba(0,0,0,.3); }
.scn-friend-kindness-secret .gift { position:absolute; bottom:44%; left:55%; width:6%; height:8%; background: linear-gradient(180deg, #9a6a3a 0%, #7a4a1a 100%); border-radius:10%; box-shadow: 0 4px 8px rgba(0,0,0,.2); transform-origin: bottom center; animation: ff3-gift 6s ease-in-out infinite; }
.scn-friend-kindness-secret .hand-placing { position:absolute; bottom:44%; left:50%; width:8%; height:12%; background: radial-gradient(ellipse at 50% 60%, #b89860 0%, #7a5a3a 100%); border-radius: 40% 40% 50% 50%; transform-origin: bottom left; animation: ff3-hand 4s ease-in-out infinite; }
.scn-friend-kindness-secret .lamp-light { position:absolute; top:15%; left:20%; width:12%; height:15%; background: radial-gradient(circle, #e0c080 0%, #c0a060 40%, transparent 80%); filter: blur(12px); animation: ff3-lamp 3s ease-in-out infinite alternate; }
@keyframes ff3-bg { 0% { opacity:.7 } 50% { opacity:.9 } 100% { opacity:.6 } }
@keyframes ff3-window { 0% { opacity:.8; transform: scaleY(1) } 50% { opacity:1; transform: scaleY(1.02) } 100% { opacity:.85; transform: scaleY(1) } }
@keyframes ff3-gift { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes ff3-hand { 0% { transform: translate(0, 0) rotate(0) } 25% { transform: translate(-4px, -2px) rotate(-10deg) } 50% { transform: translate(0, -3px) rotate(0) } 75% { transform: translate(-2px, -1px) rotate(-5deg) } 100% { transform: translate(0, 0) rotate(0) } }
@keyframes ff3-lamp { 0% { opacity:.3; transform: scale(.8) } 100% { opacity:.7; transform: scale(1.1) } }

/* reprover-includes-himself */
.scn-reprover-includes-himself {
  background: 
    linear-gradient(180deg, #1e1e1a 0%, #2a2a24 40%, #1a1814 100%),
    radial-gradient(ellipse at 50% 40%, #4a4238 0%, transparent 60%);
}
.scn-reprover-includes-himself .bg { position:absolute; inset:0; background: radial-gradient(ellipse at 40% 50%, #3a342a 0%, transparent 70%); animation: ff4-bg 12s ease-in-out infinite alternate; }
.scn-reprover-includes-himself .couch-left { position:absolute; bottom:20%; left:10%; width:35%; height:30%; background: linear-gradient(180deg, #5a4e3e 0%, #3a2e1e 100%); border-radius: 30% 30% 10% 10%; box-shadow: 4px 0 8px rgba(0,0,0,.4); }
.scn-reprover-includes-himself .couch-right { position:absolute; bottom:20%; right:10%; width:35%; height:30%; background: linear-gradient(180deg, #5a4e3e 0%, #3a2e1e 100%); border-radius: 30% 30% 10% 10%; box-shadow: -4px 0 8px rgba(0,0,0,.4); }
.scn-reprover-includes-himself .figure1 { position:absolute; bottom:25%; left:20%; width:14%; height:35%; background: linear-gradient(180deg, #4a4238 0%, #2a2420 100%); border-radius: 50% 50% 40% 40% / 55% 55% 35% 35%; transform-origin: bottom center; animation: ff4-figure1 8s ease-in-out infinite; }
.scn-reprover-includes-himself .figure2 { position:absolute; bottom:25%; right:20%; width:14%; height:35%; background: linear-gradient(180deg, #4a4238 0%, #2a2420 100%); border-radius: 50% 50% 40% 40% / 55% 55% 35% 35%; transform-origin: bottom center; animation: ff4-figure2 9s ease-in-out infinite; }
.scn-reprover-includes-himself .book-shared { position:absolute; bottom:38%; left:43%; width:14%; height:12%; background: linear-gradient(90deg, #8a7a5a 0%, #a09070 100%); border-radius:5%; box-shadow: 0 4px 6px rgba(0,0,0,.3); animation: ff4-book 4s ease-in-out infinite; }
.scn-reprover-includes-himself .lamp-glow { position:absolute; top:10%; left:45%; width:10%; height:12%; background: radial-gradient(circle, #c0a060 0%, #a08040 50%, transparent 80%); filter: blur(10px); animation: ff4-lamp 3s ease-in-out infinite alternate; }
.scn-reprover-includes-himself .floor-shadow { position:absolute; bottom:0; left:10%; width:80%; height:15%; background: radial-gradient(ellipse at 50% 0%, #0e0c08 50%, transparent 100%); }
@keyframes ff4-bg { 0% { opacity:.6 } 50% { opacity:.85 } 100% { opacity:.7 } }
@keyframes ff4-figure1 { 0% { transform: translateY(0) } 33% { transform: translateY(-3px) } 66% { transform: translateY(0) } 100% { transform: translateY(-1px) } }
@keyframes ff4-figure2 { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.015) } }
@keyframes ff4-book { 0%,100% { transform: rotate(0) } 50% { transform: rotate(3deg) } }
@keyframes ff4-lamp { 0% { opacity:.3; transform: scale(.8) } 100% { opacity:.6; transform: scale(1.1) } }

.scn-disposition-shapes-life {
  background: linear-gradient(180deg, #dce9f0 0%, #b8d4e6 40%, #f0e6c0 80%), radial-gradient(ellipse at 50% 30%, #ffe8b0 0%, transparent 70%);
  position: relative; overflow: hidden;
}
.scn-disposition-shapes-life .sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #87ceeb 0%, #dce9f0 100%);
  animation: ds-sky 20s ease-in-out infinite alternate;
}
.scn-disposition-shapes-life .sun {
  position: absolute; top: 8%; left: 70%; width: 60px; height: 60px;
  background: radial-gradient(circle at 40% 40%, #fff5d0 0%, #ffd580 60%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px rgba(255,213,128,0.6);
  animation: ds-sun 30s ease-in-out infinite alternate;
}
.scn-disposition-shapes-life .fountain-base {
  position: absolute; bottom: 20%; left: 45%; width: 100px; height: 40px;
  background: linear-gradient(180deg, #b0a090 0%, #8a7a6a 100%);
  border-radius: 20% 20% 10% 10%;
  transform: translateX(-50%);
}
.scn-disposition-shapes-life .fountain-water {
  position: absolute; bottom: 32%; left: 50%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #90c8e8 0%, #c0e4f4 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  animation: ds-water 3s ease-in-out infinite;
}
.scn-disposition-shapes-life .figure {
  position: absolute; bottom: 15%; left: 38%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #4a3a30 0%, #2a1a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ds-figure 6s ease-in-out infinite;
}
.scn-disposition-shapes-life .dice {
  position: absolute; bottom: 18%; left: 62%; width: 12px; height: 12px;
  background: linear-gradient(135deg, #f5f0e0 0%, #d0c8b0 100%);
  border-radius: 4px;
  box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
  animation: ds-dice 8s ease-in-out infinite;
}
.scn-disposition-shapes-life .rays {
  position: absolute; top: 12%; left: 50%; width: 120px; height: 4px;
  background: linear-gradient(90deg, transparent 0%, #fff5d0 40%, transparent 100%);
  filter: blur(2px);
  animation: ds-rays 5s ease-in-out infinite alternate;
}
@keyframes ds-sky { 0% { opacity:0.85 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes ds-sun { 0% { transform: scale(1) translateX(0) } 50% { transform: scale(1.05) translateX(8px) } 100% { transform: scale(0.95) translateX(-4px) } }
@keyframes ds-water { 0%,100% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(1.15) } }
@keyframes ds-figure { 0% { transform: rotate(-2deg) translateY(0) } 50% { transform: rotate(2deg) translateY(-4px) } 100% { transform: rotate(-1deg) translateY(0) } }
@keyframes ds-dice { 0%,100% { transform: rotate(0deg) translateX(0) } 50% { transform: rotate(180deg) translateX(6px) } }
@keyframes ds-rays { 0% { transform: scaleX(0.8); opacity:0.5 } 50% { transform: scaleX(1); opacity:0.9 } 100% { transform: scaleX(0.9); opacity:0.6 } }

.scn-flatterer-promises-advice {
  background: linear-gradient(135deg, #2c2c3a 0%, #1a1a28 50%, #0e0e18 100%), radial-gradient(ellipse at 40% 60%, #3a3a4e 0%, transparent 70%);
  position: relative; overflow: hidden;
}
.scn-flatterer-promises-advice .wall-back {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%);
  animation: fp-wall 12s ease-in-out infinite alternate;
}
.scn-flatterer-promises-advice .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a2a32 0%, #1a1a22 100%);
  border-radius: 0 0 8% 8%;
}
.scn-flatterer-promises-advice .flatterer {
  position: absolute; bottom: 28%; left: 30%; width: 24px; height: 44px;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fp-flatterer 4s ease-in-out infinite;
}
.scn-flatterer-promises-advice .friend {
  position: absolute; bottom: 28%; left: 56%; width: 22px; height: 42px;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fp-friend 5s ease-in-out infinite;
}
.scn-flatterer-promises-advice .candle {
  position: absolute; bottom: 26%; left: 46%; width: 8px; height: 16px;
  background: linear-gradient(180deg, #ffdd99 0%, #ddaa66 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 20px 6px #ddaa66, 0 0 40px 12px rgba(221,170,102,0.3);
  animation: fp-candle 3s ease-in-out infinite alternate;
}
.scn-flatterer-promises-advice .shadow-glow {
  position: absolute; bottom: 22%; left: 40%; width: 60px; height: 40px;
  background: radial-gradient(ellipse at 50% 50%, #ddaa66 0%, transparent 70%);
  filter: blur(8px);
  opacity: 0.4;
  animation: fp-shadow 4s ease-in-out infinite alternate;
}
.scn-flatterer-promises-advice .whisper-curve {
  position: absolute; bottom: 38%; left: 38%; width: 40px; height: 20px;
  border: 2px solid rgba(180,180,200,0.2);
  border-radius: 50%;
  border-top: none; border-right: none;
  transform: rotate(30deg);
  animation: fp-whisper 6s ease-in-out infinite;
}
.scn-flatterer-promises-advice .table {
  position: absolute; bottom: 24%; left: 40%; width: 60px; height: 10px;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  border-radius: 4px;
  animation: fp-table 8s ease-in-out infinite alternate;
}
@keyframes fp-wall { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes fp-flatterer { 0% { transform: rotate(-5deg) translateX(0) } 25% { transform: rotate(2deg) translateX(6px) } 50% { transform: rotate(0deg) translateX(12px) } 75% { transform: rotate(-3deg) translateX(6px) } 100% { transform: rotate(-5deg) translateX(0) } }
@keyframes fp-friend { 0% { transform: rotate(3deg) translateX(0) } 50% { transform: rotate(-2deg) translateX(-6px) } 100% { transform: rotate(3deg) translateX(0) } }
@keyframes fp-candle { 0% { transform: scaleY(1) translateY(0); box-shadow: 0 0 15px 4px #ddaa66 } 50% { transform: scaleY(1.1) translateY(-2px); box-shadow: 0 0 25px 8px #ffdd99 } 100% { transform: scaleY(0.95) translateY(1px); box-shadow: 0 0 18px 5px #ddaa66 } }
@keyframes fp-shadow { 0% { opacity:0.3; transform: scale(1) } 50% { opacity:0.5; transform: scale(1.1) } 100% { opacity:0.35; transform: scale(0.95) } }
@keyframes fp-whisper { 0%,100% { opacity:0.1; transform: rotate(30deg) } 50% { opacity:0.3; transform: rotate(40deg) } }
@keyframes fp-table { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }

.scn-friend-good-service-hidden {
  background: linear-gradient(180deg, #1a1a28 0%, #2a2a3a 50%, #1a1a22 100%), radial-gradient(ellipse at 50% 60%, #3a2a2a 0%, transparent 80%);
  position: relative; overflow: hidden;
}
.scn-friend-good-service-hidden .bed-frame {
  position: absolute; bottom: 15%; left: 50%; width: 120px; height: 60px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 6px;
  transform: translateX(-50%);
  box-shadow: 0 6px 12px rgba(0,0,0,0.6);
}
.scn-friend-good-service-hidden .mattress {
  position: absolute; bottom: 20%; left: 50%; width: 100px; height: 20px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 4px;
  transform: translateX(-50%);
}
.scn-friend-good-service-hidden .pillow {
  position: absolute; bottom: 26%; left: 50%; width: 30px; height: 16px;
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 40% 40%;
  transform: translateX(-50%);
  animation: fg-pillow 6s ease-in-out infinite alternate;
}
.scn-friend-good-service-hidden .sleeping-figure {
  position: absolute; bottom: 20%; left: 44%; width: 30px; height: 16px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(-5deg);
  animation: fg-sleep 10s ease-in-out infinite;
}
.scn-friend-good-service-hidden .friend-figure {
  position: absolute; bottom: 18%; left: 64%; width: 22px; height: 40px;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fg-friend 5s ease-in-out infinite;
}
.scn-friend-good-service-hidden .arm-reaching {
  position: absolute; bottom: 30%; left: 58%; width: 18px; height: 8px;
  background: linear-gradient(90deg, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 30% 30% 20% 20% / 60% 60% 40% 40%;
  transform: rotate(20deg);
  animation: fg-arm 4s ease-in-out infinite alternate;
}
.scn-friend-good-service-hidden .lamp-glow {
  position: absolute; top: 12%; right: 20%; width: 30px; height: 30px;
  background: radial-gradient(circle at 40% 40%, #ffd080 0%, #dda060 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 40px 18px #dda060, 0 0 80px 30px rgba(221,160,96,0.3);
  animation: fg-lamp 7s ease-in-out infinite alternate;
}
.scn-friend-good-service-hidden .coin-pouch {
  position: absolute; bottom: 28%; left: 66%; width: 8px; height: 6px;
  background: #7a6a5a;
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  animation: fg-pouch 9s ease-in-out infinite;
}
@keyframes fg-pillow { 0% { transform: translateX(-50%) translateY(0) } 50% { transform: translateX(-50%) translateY(-2px) } 100% { transform: translateX(-50%) translateY(0) } }
@keyframes fg-sleep { 0% { transform: rotate(-5deg) scaleY(1) } 50% { transform: rotate(-3deg) scaleY(1.02) } 100% { transform: rotate(-5deg) scaleY(1) } }
@keyframes fg-friend { 0% { transform: translateY(0) rotate(2deg) } 50% { transform: translateY(-3px) rotate(-1deg) } 100% { transform: translateY(0) rotate(2deg) } }
@keyframes fg-arm { 0% { transform: rotate(20deg) scaleX(1) } 50% { transform: rotate(15deg) scaleX(1.2) } 100% { transform: rotate(20deg) scaleX(1) } }
@keyframes fg-lamp { 0% { opacity:0.8; transform: scale(1) } 50% { opacity:1; transform: scale(1.08) } 100% { opacity:0.85; transform: scale(0.95) } }
@keyframes fg-pouch { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }

.scn-receiving-reproof {
  background: linear-gradient(135deg, #1e2a2e 0%, #2a3a3e 50%, #1a2a2a 100%), radial-gradient(ellipse at 50% 40%, #3a4a4e 0%, transparent 70%);
  position: relative; overflow: hidden;
}
.scn-receiving-reproof .window-light {
  position: absolute; top: 8%; left: 60%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #c0d0d8 0%, #a0b0b8 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.2), 0 0 20px 4px rgba(192,208,216,0.3);
  animation: rr-window 10s ease-in-out infinite alternate;
}
.scn-receiving-reproof .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a3a3e 0%, #1a2a2e 100%);
}
.scn-receiving-reproof .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1e2a2a 0%, #0e1a1a 100%);
  border-radius: 0 0 10% 10%;
}
.scn-receiving-reproof .rebuker {
  position: absolute; bottom: 28%; left: 38%; width: 22px; height: 44px;
  background: linear-gradient(180deg, #3a3a3e 0%, #1a1a1e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: rr-rebuker 4s ease-in-out infinite;
}
.scn-receiving-reproof .listener {
  position: absolute; bottom: 28%; left: 56%; width: 22px; height: 44px;
  background: linear-gradient(180deg, #2a3a3e 0%, #1a2a2e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: rr-listener 5s ease-in-out infinite;
}
.scn-receiving-reproof .calm-radiance {
  position: absolute; bottom: 34%; left: 55%; width: 30px; height: 30px;
  background: radial-gradient(circle at 50% 50%, #b0c0c8 0%, transparent 70%);
  filter: blur(6px);
  opacity: 0.3;
  animation: rr-radiance 8s ease-in-out infinite alternate;
}
.scn-receiving-reproof .shadow-drape {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, transparent 0%, #0a0a0e 100%);
  opacity: 0.4;
  animation: rr-shadow 12s ease-in-out infinite;
}
@keyframes rr-window { 0% { opacity:0.7; transform: scaleY(1) } 50% { opacity:0.9; transform: scaleY(1.05) } 100% { opacity:0.75; transform: scaleY(0.95) } }
@keyframes rr-rebuker { 0% { transform: rotate(8deg) translateY(0) } 50% { transform: rotate(0deg) translateY(-2px) } 100% { transform: rotate(8deg) translateY(0) } }
@keyframes rr-listener { 0% { transform: rotate(-3deg) translateY(0) } 50% { transform: rotate(0deg) translateY(-1px) } 100% { transform: rotate(-3deg) translateY(0) } }
@keyframes rr-radiance { 0% { opacity:0.2; transform: scale(1) } 50% { opacity:0.4; transform: scale(1.2) } 100% { opacity:0.25; transform: scale(0.9) } }
@keyframes rr-shadow { 0% { opacity:0.35 } 50% { opacity:0.45 } 100% { opacity:0.35 } }

/* Scene: education-begins-at-birth */
.scn-education-begins-at-birth {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 50%, #3a3a4e 100%), radial-gradient(ellipse at 50% 100%, #4a4a5e 0%, transparent 70%);
}
.scn-education-begins-at-birth .bg-wall { position:absolute; inset:0; background: linear-gradient(135deg, #1f1f2f 0%, #2d2d3f 100%); }
.scn-education-begins-at-birth .window{ position:absolute; top:12%; right:18%; width:80px; height:60px; background: linear-gradient(180deg, #3a4a6a 0%, #2a3a5a 100%); border-radius:6% 6% 0 0; border:2px solid #4a4a3a; box-shadow: inset 0 0 20px #0a0a2a; }
.scn-education-begins-at-birth .cradle{ position:absolute; bottom:18%; left:35%; width:100px; height:40px; background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%); border-radius:30% 30% 20% 20%; box-shadow: 0 4px 8px rgba(0,0,0,0.6); animation: ebb-cradle 4s ease-in-out infinite; }
.scn-education-begins-at-birth .lamp { position:absolute; bottom:22%; right:40%; width:14px; height:20px; background: radial-gradient(circle at 50% 30%, #ffd080 0%, #c08040 100%); border-radius:30% 30% 10% 10%; box-shadow: 0 0 20px 6px #ffc060, 0 0 40px 12px rgba(255,192,96,0.4); animation: ebb-lamp 3s ease-in-out infinite alternate; }
.scn-education-begins-at-birth .mother{ position:absolute; bottom:20%; left:30%; width:40px; height:70px; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ebb-mother 5s ease-in-out infinite; }
.scn-education-begins-at-birth .blanket{ position:absolute; bottom:18%; left:38%; width:60px; height:15px; background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%); border-radius:40% 40% 20% 20%; filter: blur(1px); animation: ebb-blanket 6s ease-in-out infinite alternate; }

@keyframes ebb-cradle { 0% { transform: rotate(-1deg); } 50% { transform: rotate(1deg) translateY(-1px); } 100% { transform: rotate(-1deg); } }
@keyframes ebb-lamp { 0% { opacity:0.8; box-shadow:0 0 15px 4px #ffc060,0 0 30px 8px rgba(255,192,96,0.3); } 50% { opacity:1; box-shadow:0 0 25px 8px #ffd070,0 0 50px 16px rgba(255,208,112,0.5); } 100% { opacity:0.85; box-shadow:0 0 18px 5px #ffc060,0 0 35px 10px rgba(255,192,96,0.35); } }
@keyframes ebb-mother { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes ebb-blanket { 0% { transform: scaleX(0.95); opacity:0.7; } 50% { transform: scaleX(1.05); opacity:1; } 100% { transform: scaleX(0.95); opacity:0.7; } }

/* Scene: education-is-paramount */
.scn-education-is-paramount {
  background: linear-gradient(180deg, #1a1a2e 0%, #2c2c3e 50%, #441e1b 100%), radial-gradient(ellipse at 50% 100%, #5a3a2a 0%, transparent 70%);
}
.scn-education-is-paramount .bg-shelf{ position:absolute; top:0; left:5%; right:5%; height:70%; background: repeating-linear-gradient(0deg, transparent, transparent 20px, #3a2a1a 20px, #3a2a1a 22px); }
.scn-education-is-paramount .desk   { position:absolute; bottom:22%; left:20%; right:20%; height:25%; background: linear-gradient(180deg, #6a4a2a 0%, #4a3a1a 100%); border-radius:8% 8% 4% 4%; box-shadow: 0 6px 12px rgba(0,0,0,0.5); }
.scn-education-is-paramount .lamp-study{ position:absolute; bottom:32%; left:45%; width:12px; height:18px; background: radial-gradient(circle at 50% 30%, #ffe080 0%, #d0a050 100%); border-radius:20% 20% 10% 10%; box-shadow: 0 0 14px 3px #e0a050, 0 0 28px 6px rgba(224,160,80,0.4); animation: ep-lamp 4s ease-in-out infinite alternate; }
.scn-education-is-paramount .scroll { position:absolute; bottom:24%; left:35%; width:40px; height:8px; background: linear-gradient(90deg, #d0b090 0%, #f0e0c0 50%, #c0a080 100%); border-radius:50%; transform: rotate(-10deg); animation: ep-scroll 10s ease-in-out infinite; }
.scn-education-is-paramount .scholar{ position:absolute; bottom:20%; left:50%; width:35px; height:75px; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: translateX(-50%); transform-origin: bottom center; animation: ep-scholar 6s ease-in-out infinite; }
.scn-education-is-paramount .book   { position:absolute; bottom:26%; left:55%; width:30px; height:20px; background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%); border-radius:10% 10% 5% 5%; box-shadow: 2px 2px 6px rgba(0,0,0,0.5); animation: ep-book 8s ease-in-out infinite alternate; }

@keyframes ep-lamp { 0% { opacity:0.8; box-shadow:0 0 10px 2px #e0a050,0 0 20px 5px rgba(224,160,80,0.3); } 50% { opacity:1; box-shadow:0 0 20px 6px #ffc060,0 0 40px 12px rgba(255,192,96,0.5); } 100% { opacity:0.9; box-shadow:0 0 14px 4px #e0a050,0 0 28px 8px rgba(224,160,80,0.35); } }
@keyframes ep-scroll { 0% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(-5deg) translateY(-2px); } 100% { transform: rotate(-10deg) translateY(0); } }
@keyframes ep-scholar { 0% { transform: translateX(-50%) rotate(-1deg); } 50% { transform: translateX(-50%) translateY(-2px) rotate(1deg); } 100% { transform: translateX(-50%) rotate(-1deg); } }
@keyframes ep-book { 0% { transform: scaleY(0.9); opacity:0.8; } 50% { transform: scaleY(1.1); opacity:1; } 100% { transform: scaleY(0.9); opacity:0.8; } }

/* Scene: marriage-wealth-and-wisdom */
.scn-marriage-wealth-and-wisdom {
  background: linear-gradient(180deg, #1a1a1a 0%, #2a1a1a 30%, #3a2a2a 60%, #1a0a0a 100%), radial-gradient(ellipse at 30% 70%, #6a3a3a 0%, transparent 70%);
}
.scn-marriage-wealth-and-wisdom .bg-room { position:absolute; inset:0; background: radial-gradient(ellipse at 70% 60%, #4a2a2a 0%, transparent 80%); }
.scn-marriage-wealth-and-wisdom .table  { position:absolute; bottom:22%; left:25%; right:25%; height:18%; background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%); border-radius:20% 20% 5% 5%; box-shadow: 0 4px 10px rgba(0,0,0,0.7); animation: mww-table 2s ease-in-out infinite alternate; }
.scn-marriage-wealth-and-wisdom .figure-left{ position:absolute; bottom:22%; left:18%; width:30px; height:70px; background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mww-fig-l 1.5s ease-in-out infinite; }
.scn-marriage-wealth-and-wisdom .figure-right{ position:absolute; bottom:22%; right:18%; width:30px; height:70px; background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mww-fig-r 1.8s ease-in-out infinite; }
.scn-marriage-wealth-and-wisdom .lamp-tense{ position:absolute; bottom:30%; left:48%; width:10px; height:16px; background: radial-gradient(circle at 50% 30%, #ff8040 0%, #b05020 100%); border-radius:30% 30% 10% 10%; box-shadow: 0 0 18px 4px #ff6020, 0 0 36px 8px rgba(255,96,32,0.5); animation: mww-lamp 0.5s ease-in-out infinite alternate; }
.scn-marriage-wealth-and-wisdom .goblet { position:absolute; bottom:24%; left:45%; width:16px; height:20px; background: linear-gradient(180deg, #c0a070 0%, #907050 100%); border-radius:20% 20% 10% 10%; box-shadow: 0 2px 6px rgba(0,0,0,0.6); animation: mww-goblet 3s ease-in-out infinite; }

@keyframes mww-table { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-2deg); } }
@keyframes mww-fig-l { 0% { transform: rotate(5deg); } 50% { transform: rotate(-5deg); } 100% { transform: rotate(5deg); } }
@keyframes mww-fig-r { 0% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } 100% { transform: rotate(-5deg); } }
@keyframes mww-lamp { 0% { opacity:0.6; box-shadow:0 0 12px 2px #ff6020,0 0 24px 5px rgba(255,96,32,0.3); } 50% { opacity:1; box-shadow:0 0 24px 6px #ff8040,0 0 48px 12px rgba(255,128,64,0.6); } 100% { opacity:0.7; box-shadow:0 0 14px 3px #ff6020,0 0 28px 7px rgba(255,96,32,0.4); } }
@keyframes mww-goblet { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }

/* Scene: ismenodora-seizes-baccho */
.scn-ismenodora-seizes-baccho {
  background: linear-gradient(180deg, #1a0a0a 0%, #2a1a1a 40%, #1a0a0a 100%), radial-gradient(ellipse at 50% 80%, #5a2a1a 0%, transparent 70%);
}
.scn-ismenodora-seizes-baccho .bg-chamber{ position:absolute; inset:0; background: radial-gradient(ellipse at 60% 50%, #3a1a1a 0%, transparent 80%); }
.scn-ismenodora-seizes-baccho .door     { position:absolute; bottom:0; left:40%; right:40%; height:60%; background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%); border-radius:10% 10% 0 0; border-top:4px solid #6a3a2a; box-shadow: -2px 0 10px rgba(0,0,0,0.8); animation: isb-door 4s ease-in-out infinite alternate; }
.scn-ismenodora-seizes-baccho .robe     { position:absolute; bottom:30%; left:30%; width:50px; height:60px; background: linear-gradient(180deg, #f0e0d0 0%, #d0c0b0 100%); border-radius:30% 30% 10% 10% / 50% 50% 20% 20%; transform: rotate(-5deg); animation: isb-robe 3s ease-in-out infinite; }
.scn-ismenodora-seizes-baccho .figure-ismenodora{ position:absolute; bottom:20%; left:20%; width:35px; height:80px; background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: isb-isme 1.2s ease-in-out infinite; }
.scn-ismenodora-seizes-baccho .figure-baccho   { position:absolute; bottom:20%; right:20%; width:35px; height:75px; background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: isb-baccho 1.5s ease-in-out infinite; }
.scn-ismenodora-seizes-baccho .candle   { position:absolute; bottom:35%; left:50%; width:6px; height:12px; background: linear-gradient(180deg, #ffe0a0 0%, #ffc060 100%); border-radius:20% 20% 0 0; box-shadow: 0 0 6px 2px #ffc060; animation: isb-candle 0.3s ease-in-out infinite alternate; }

@keyframes isb-door { 0% { transform: scaleX(1); } 50% { transform: scaleX(0.95); } 100% { transform: scaleX(1); } }
@keyframes isb-robe { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(5deg) translateY(-2px); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes isb-isme { 0% { transform: translateX(2px) rotate(-2deg); } 50% { transform: translateX(-2px) rotate(2deg); } 100% { transform: translateX(2px) rotate(-2deg); } }
@keyframes isb-baccho { 0% { transform: translateX(-2px) rotate(2deg); } 50% { transform: translateX(2px) rotate(-2deg); } 100% { transform: translateX(-2px) rotate(2deg); } }
@keyframes isb-candle { 0% { opacity:0.6; transform: scaleY(0.8); } 50% { opacity:1; transform: scaleY(1.2); } 100% { opacity:0.7; transform: scaleY(0.9); } }

.scn-guard-against-fault-finding {
  background:
    linear-gradient(180deg, #3a2e1e 0%, #2a1e12 40%, #1a1208 100%),
    radial-gradient(ellipse at 50% 50%, #4a3a2a 0%, transparent 60%);
}
.scn-guard-against-fault-finding .wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #2e2216 0%, #1e140a 100%); animation: gaf-wall 20s ease-in-out infinite alternate;
}
.scn-guard-against-fault-finding .shelf {
  position: absolute; top: 15%; left: 5%; right: 5%; height: 35%;
  background: linear-gradient(180deg, #5a4a36 0%, #3a2a1a 100%);
  border-radius: 4px; box-shadow: inset 0 -4px 8px rgba(0,0,0,0.5);
  animation: gaf-shelf 30s linear infinite alternate;
}
.scn-guard-against-fault-finding .desk {
  position: absolute; bottom: 20%; left: 20%; right: 20%; height: 12%;
  background: linear-gradient(180deg, #6a5a44 0%, #4a3a28 100%);
  border-radius: 6px; box-shadow: 0 4px 12px rgba(0,0,0,0.6);
  animation: gaf-desk 8s ease-in-out infinite;
}
.scn-guard-against-fault-finding .lamp-glow {
  position: absolute; bottom: 32%; left: 50%; width: 40px; height: 50px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #f0d080 0%, #b09040 60%, transparent 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 30px 10px #b09040, 0 0 60px 20px rgba(176,144,64,0.4);
  animation: gaf-lamp 4s ease-in-out infinite alternate;
}
.scn-guard-against-fault-finding .figure {
  position: absolute; bottom: 20%; left: 42%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #1a1208 0%, #0c0804 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: gaf-figure 6s ease-in-out infinite;
}
.scn-guard-against-fault-finding .book {
  position: absolute; bottom: 25%; left: 30%; width: 40px; height: 6px;
  background: linear-gradient(90deg, #a0703a 0%, #c09050 50%, #a0703a 100%);
  border-radius: 4px;
  animation: gaf-book 3s ease-in-out infinite alternate;
}
.scn-guard-against-fault-finding .shadow {
  position: absolute; bottom: 18%; left: 35%; width: 100px; height: 20px;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.6) 0%, transparent 100%);
  animation: gaf-shadow 6s ease-in-out infinite;
}
@keyframes gaf-wall { 0% { opacity: 0.7 } 50% { opacity: 0.85 } 100% { opacity: 0.75 } }
@keyframes gaf-shelf { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes gaf-desk { 0%,100% { transform: translateY(0) scale(1) } 50% { transform: translateY(-2px) scale(1.01) } }
@keyframes gaf-lamp { 0% { box-shadow: 0 0 20px 6px #a08040, 0 0 40px 12px rgba(160,128,64,0.3); opacity: 0.9 }
  50% { box-shadow: 0 0 40px 15px #f0c060, 0 0 80px 25px rgba(240,192,96,0.5); opacity: 1 }
  100% { box-shadow: 0 0 25px 8px #a08040, 0 0 50px 16px rgba(160,128,64,0.35); opacity: 0.92 } }
@keyframes gaf-figure { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(4px) rotate(1deg) }
  50% { transform: translateX(8px) rotate(-1deg) } 75% { transform: translateX(12px) rotate(2deg) } 100% { transform: translateX(16px) rotate(0deg) } }
@keyframes gaf-book { 0% { transform: translateY(0) scaleX(1) } 50% { transform: translateY(-3px) scaleX(1.05) } 100% { transform: translateY(0) scaleX(1) } }
@keyframes gaf-shadow { 0% { opacity: 0.4 } 50% { opacity: 0.7 } 100% { opacity: 0.5 } }

.scn-self-praise-awes-bold {
  background:
    linear-gradient(180deg, #f4d28c 0%, #e8b86c 30%, #c89850 60%, #a07830 100%),
    radial-gradient(ellipse at 50% 0%, #fff4d0 0%, transparent 70%);
}
.scn-self-praise-awes-bold .sky {
  position: absolute; inset: 0; background: linear-gradient(180deg, #f0c880 0%, #d0a050 100%);
  animation: spa-sky 15s ease-in-out infinite alternate;
}
.scn-self-praise-awes-bold .sun-glare {
  position: absolute; top: -10%; left: 30%; width: 120px; height: 120px;
  background: radial-gradient(circle, #ffe8a0 0%, #f0c860 40%, transparent 70%);
  border-radius: 50%;
  animation: spa-glare 8s ease-in-out infinite alternate;
}
.scn-self-praise-awes-bold .mountains {
  position: absolute; bottom: 40%; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 30% 50% 0 0 / 70% 80% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.3);
  animation: spa-mnt 25s ease-in-out infinite alternate;
}
.scn-self-praise-awes-bold .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #8a7050 0%, #6a5030 100%);
  animation: spa-ground 12s ease-in-out infinite alternate;
}
.scn-self-praise-awes-bold .warrior {
  position: absolute; bottom: 25%; left: 45%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a12 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: spa-warrior 4s ease-in-out infinite;
}
.scn-self-praise-awes-bold .shield {
  position: absolute; bottom: 30%; left: 48%; width: 30px; height: 50px;
  background: radial-gradient(ellipse at 40% 50%, #a07030 0%, #705020 70%);
  border-radius: 50%;
  border: 2px solid #b08040;
  transform: skewX(-10deg);
  animation: spa-shield 6s ease-in-out infinite alternate;
}
.scn-self-praise-awes-bold .spear {
  position: absolute; bottom: 25%; left: 52%; width: 4px; height: 90px;
  background: linear-gradient(180deg, #c0a060 0%, #806030 100%);
  transform-origin: bottom center;
  transform: rotate(-10deg);
  animation: spa-spear 5s ease-in-out infinite;
}
@keyframes spa-sky { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes spa-glare { 0% { transform: scale(0.9); opacity: 0.8 } 50% { transform: scale(1.1); opacity: 1 } 100% { transform: scale(0.95); opacity: 0.9 } }
@keyframes spa-mnt { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-4px) scaleY(1.02) } 100% { transform: translateY(0) scaleY(1) } }
@keyframes spa-ground { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes spa-warrior { 0% { transform: translateX(0) rotate(-2deg) } 25% { transform: translateX(5px) rotate(1deg) }
  50% { transform: translateX(10px) rotate(-1deg) } 75% { transform: translateX(15px) rotate(2deg) } 100% { transform: translateX(20px) rotate(0deg) } }
@keyframes spa-shield { 0% { transform: translateX(0) skewX(-10deg) } 50% { transform: translateX(3px) skewX(-5deg) } 100% { transform: translateX(0) skewX(-10deg) } }
@keyframes spa-spear { 0% { transform: rotate(-12deg) scaleY(1) } 50% { transform: rotate(-6deg) scaleY(1.05) } 100% { transform: rotate(-12deg) scaleY(1) } }

.scn-vainglory-bad-repute {
  background:
    linear-gradient(180deg, #1e1420 0%, #2a1a30 40%, #1a0e20 100%),
    radial-gradient(ellipse at 50% 100%, #3a2a40 0%, transparent 60%);
}
.scn-vainglory-bad-repute .chamber {
  position: absolute; inset: 0; background: linear-gradient(135deg, #1c1220 0%, #0e0810 100%);
  animation: vbr-chamber 30s ease-in-out infinite alternate;
}
.scn-vainglory-bad-repute .podium {
  position: absolute; bottom: 20%; left: 35%; right: 35%; height: 15%;
  background: linear-gradient(180deg, #4a3a30 0%, #2a1e18 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.5);
  animation: vbr-podium 10s ease-in-out infinite alternate;
}
.scn-vainglory-bad-repute .speaker {
  position: absolute; bottom: 20%; left: 38%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #1a1220 0%, #0c0812 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: vbr-speaker 5s ease-in-out infinite;
}
.scn-vainglory-bad-repute .listener-1 {
  position: absolute; bottom: 18%; left: 20%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #2a2030 0%, #18101c 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: vbr-listener-1 7s ease-in-out infinite;
}
.scn-vainglory-bad-repute .listener-2 {
  position: absolute; bottom: 18%; right: 20%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #2a2030 0%, #18101c 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: vbr-listener-2 9s ease-in-out infinite reverse;
}
.scn-vainglory-bad-repute .candle {
  position: absolute; bottom: 28%; left: 50%; width: 6px; height: 20px;
  background: linear-gradient(180deg, #f0d080 0%, #b09040 100%);
  border-radius: 2px;
  animation: vbr-candle 3s ease-in-out infinite alternate;
}
.scn-vainglory-bad-repute .candle-glow {
  position: absolute; bottom: 28%; left: 50%; width: 80px; height: 80px;
  transform: translate(-50%, -10%);
  background: radial-gradient(circle, #f0d080 0%, rgba(240,208,128,0.4) 40%, transparent 70%);
  border-radius: 50%;
  animation: vbr-glow 2s ease-in-out infinite alternate;
}
.scn-vainglory-bad-repute .shadow {
  position: absolute; bottom: 15%; left: 30%; right: 30%; height: 20px;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.7) 0%, transparent 100%);
  animation: vbr-shadow 5s ease-in-out infinite;
}
@keyframes vbr-chamber { 0% { opacity: 0.6 } 50% { opacity: 0.8 } 100% { opacity: 0.7 } }
@keyframes vbr-podium { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes vbr-speaker { 0% { transform: rotate(-2deg) } 25% { transform: rotate(1deg) translateX(3px) }
  50% { transform: rotate(-1deg) translateX(6px) } 75% { transform: rotate(2deg) translateX(9px) } 100% { transform: rotate(0deg) translateX(12px) } }
@keyframes vbr-listener-1 { 0% { transform: translateX(0) rotate(0deg) } 33% { transform: translateX(3px) rotate(2deg) }
  66% { transform: translateX(-2px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes vbr-listener-2 { 0% { transform: translateX(0) rotate(0deg) } 33% { transform: translateX(-3px) rotate(-2deg) }
  66% { transform: translateX(2px) rotate(1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes vbr-candle { 0% { transform: scaleY(0.9); opacity: 0.8 } 50% { transform: scaleY(1.1); opacity: 1 } 100% { transform: scaleY(0.95); opacity: 0.9 } }
@keyframes vbr-glow { 0% { transform: translate(-50%, -10%) scale(0.8); opacity: 0.5 } 50% { transform: translate(-50%, -10%) scale(1.2); opacity: 0.9 } 100% { transform: translate(-50%, -10%) scale(0.85); opacity: 0.6 } }
@keyframes vbr-shadow { 0% { opacity: 0.3 } 50% { opacity: 0.7 } 100% { opacity: 0.4 } }

.scn-divine-punishment-examples {
  background:
    linear-gradient(180deg, #0e0a1a 0%, #1a122a 30%, #0e081a 100%),
    radial-gradient(ellipse at 50% 0%, #2a2a4a 0%, transparent 70%);
}
.scn-divine-punishment-examples .temple-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #12101e 0%, #08060e 100%);
  animation: dpe-wall 25s ease-in-out infinite alternate;
}
.scn-divine-punishment-examples .column-left {
  position: absolute; bottom: 0; left: 10%; width: 20px; height: 85%;
  background: linear-gradient(180deg, #4a3a4a 0%, #2a1a2a 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 0 12px rgba(0,0,0,0.6);
  animation: dpe-col-l 30s ease-in-out infinite alternate;
}
.scn-divine-punishment-examples .column-right {
  position: absolute; bottom: 0; right: 10%; width: 20px; height: 85%;
  background: linear-gradient(180deg, #4a3a4a 0%, #2a1a2a 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 0 12px rgba(0,0,0,0.6);
  animation: dpe-col-r 30s ease-in-out infinite alternate;
}
.scn-divine-punishment-examples .altar {
  position: absolute; bottom: 15%; left: 38%; right: 38%; height: 20%;
  background: linear-gradient(180deg, #2a1a2a 0%, #1a0e1a 100%);
  border-radius: 8px;
  box-shadow: inset 0 -4px 8px rgba(0,0,0,0.5), 0 8px 16px rgba(0,0,0,0.7);
  animation: dpe-altar 12s ease-in-out infinite alternate;
}
.scn-divine-punishment-examples .flame {
  position: absolute; bottom: 25%; left: 50%; width: 16px; height: 30px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #f0c840 0%, #d07020 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 20px 8px #d07020, 0 0 40px 16px rgba(208,112,32,0.4);
  animation: dpe-flame 1.5s ease-in-out infinite alternate;
}
.scn-divine-punishment-examples .spirit {
  position: absolute; bottom: 30%; left: 20%; width: 30px; height: 60px;
  background: linear-gradient(180deg, rgba(180,180,240,0.6) 0%, rgba(100,100,200,0.2) 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  filter: blur(2px);
  animation: dpe-spirit 8s ease-in-out infinite;
}
.scn-divine-punishment-examples .oracle {
  position: absolute; bottom: 20%; left: 45%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #1a1220 0%, #0c0812 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dpe-oracle 6s ease-in-out infinite;
}
.scn-divine-punishment-examples .star-glow {
  position: absolute; top: 5%; left: 40%; width: 100px; height: 100px;
  background: radial-gradient(circle, rgba(200,200,255,0.3) 0%, transparent 60%);
  border-radius: 50%;
  animation: dpe-star 10s ease-in-out infinite alternate;
}
@keyframes dpe-wall { 0% { opacity: 0.7 } 50% { opacity: 0.85 } 100% { opacity: 0.75 } }
@keyframes dpe-col-l { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes dpe-col-r { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes dpe-altar { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) scale(1.02) } 100% { transform: translateY(0) } }
@keyframes dpe-flame { 0% { transform: translateX(-50%) scaleY(0.9) rotate(-2deg); opacity: 0.9 }
  50% { transform: translateX(-50%) scaleY(1.2) rotate(2deg); opacity: 1 }
  100% { transform: translateX(-50%) scaleY(0.95) rotate(-1deg); opacity: 0.92 } }
@keyframes dpe-spirit { 0% { transform: translateY(0) rotate(0deg); opacity: 0.5 }
  33% { transform: translateY(-8px) rotate(3deg); opacity: 0.8 }
  66% { transform: translateY(4px) rotate(-2deg); opacity: 0.6 }
  100% { transform: translateY(0) rotate(0deg); opacity: 0.5 } }
@keyframes dpe-oracle { 0% { transform: rotate(-3deg) translateX(0) } 25% { transform: rotate(1deg) translateX(4px) }
  50% { transform: rotate(-1deg) translateX(8px) } 75% { transform: rotate(2deg) translateX(12px) } 100% { transform: rotate(0deg) translateX(16px) } }
@keyframes dpe-star { 0% { transform: scale(0.8); opacity: 0.3 } 50% { transform: scale(1.2); opacity: 0.6 } 100% { transform: scale(0.9); opacity: 0.4 } }

.scn-socrates-dominates-entries { background: linear-gradient(180deg, #2a1e14 0%, #1a120c 100%), radial-gradient(ellipse at 30% 50%, #3a2a1a 0%, transparent 70%); }
.scn-socrates-dominates-entries .desk   { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a1e14 0%, #1a120c 100%); border-radius:20% 20% 0 0; animation: sd-desk 10s ease-in-out infinite; }
.scn-socrates-dominates-entries .figure { position:absolute; bottom:25%; left:30%; width:30px; height:60px; background: linear-gradient(180deg, #1a120c 0%, #0d0a06 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation: sd-figure 8s ease-in-out infinite; }
.scn-socrates-dominates-entries .lamp   { position:absolute; bottom:35%; left:55%; width:20px; height:30px; background: linear-gradient(180deg, #a06020 0%, #603010 100%); border-radius:10% 10% 20% 20%; animation: sd-lamp 6s ease-in-out infinite; }
.scn-socrates-dominates-entries .scroll { position:absolute; bottom:20%; left:40%; width:40px; height:15px; background: linear-gradient(90deg, #c8a080 0%, #a07050 50%, #c8a080 100%); border-radius:10px; animation: sd-scroll 12s ease-in-out infinite; }
.scn-socrates-dominates-entries .book   { position:absolute; bottom:20%; left:20%; width:25px; height:35px; background: linear-gradient(180deg, #804030 0%, #502020 100%); border-radius:5% 5% 10% 10%; animation: sd-book 9s ease-in-out infinite; }
.scn-socrates-dominates-entries .glow   { position:absolute; bottom:50%; left:50%; width:60px; height:60px; background: radial-gradient(circle, #ffc080 0%, transparent 70%); border-radius:50%; animation: sd-glow 3s ease-in-out infinite alternate; }
.scn-socrates-dominates-entries .shadow { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, transparent 0%, #0d0a06 100%); animation: sd-shadow 6s ease-in-out infinite; }
@keyframes sd-desk   { 0% { transform:translateY(0); } 50% { transform:translateY(-2px); } 100% { transform:translateY(0); } }
@keyframes sd-figure { 0% { transform:translateX(0) rotate(-2deg); } 50% { transform:translateX(5px) rotate(2deg); } 100% { transform:translateX(0) rotate(-2deg); } }
@keyframes sd-lamp   { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes sd-scroll { 0% { transform:scaleY(1); } 50% { transform:scaleY(1.05); } 100% { transform:scaleY(1); } }
@keyframes sd-book   { 0% { transform:translateY(0); } 50% { transform:translateY(-3px); } 100% { transform:translateY(0); } }
@keyframes sd-glow   { 0% { opacity:0.6; transform:scale(0.9); } 50% { opacity:1; transform:scale(1.1); } 100% { opacity:0.7; transform:scale(0.95); } }
@keyframes sd-shadow { 0% { opacity:0.5; } 50% { opacity:0.7; } 100% { opacity:0.5; } }

.scn-themistocles-to-timoxena { background: linear-gradient(180deg, #1a120c 0%, #120c08 100%), radial-gradient(ellipse at 70% 40%, #3a2a1a 0%, transparent 60%); }
.scn-themistocles-to-timoxena .shelf   { position:absolute; top:20%; left:0; right:0; height:10%; background: linear-gradient(180deg, #2a1e14 0%, #1a120c 100%); border-radius:5px; }
.scn-themistocles-to-timoxena .scrolls { position:absolute; top:22%; left:10%; width:30%; height:60%; background: repeating-linear-gradient(90deg, #c8a080 0px, #c8a080 8px, #a07050 8px, #a07050 16px); border-radius:5px; animation: tt-scrolls 15s ease-in-out infinite; }
.scn-themistocles-to-timoxena .ladder  { position:absolute; bottom:30%; left:5%; width:8px; height:50%; background: linear-gradient(180deg, #603010 0%, #402008 100%); border-radius:2px; transform-origin:bottom center; animation: tt-ladder 12s ease-in-out infinite; }
.scn-themistocles-to-timoxena .figure  { position:absolute; bottom:10%; left:20%; width:25px; height:50px; background: linear-gradient(180deg, #1a120c 0%, #0d0a06 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation: tt-figure 10s ease-in-out infinite; }
.scn-themistocles-to-timoxena .candle  { position:absolute; bottom:15%; left:70%; width:10px; height:40px; background: linear-gradient(180deg, #f0d0a0 0%, #c08040 100%); border-radius:10%; animation: tt-candle 6s ease-in-out infinite; }
.scn-themistocles-to-timoxena .flame   { position:absolute; bottom:55%; left:70%; width:12px; height:18px; background: radial-gradient(circle, #ffc080 0%, #ff8000 50%, transparent 100%); border-radius:50%; animation: tt-flame 2s ease-in-out infinite alternate; }
.scn-themistocles-to-timoxena .table   { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #2a1e14 0%, #1a120c 100%); border-radius:20% 20% 0 0; }
@keyframes tt-scrolls { 0% { transform:translateY(0); } 50% { transform:translateY(-5px); } 100% { transform:translateY(0); } }
@keyframes tt-ladder  { 0% { transform:rotate(0deg); } 50% { transform:rotate(2deg); } 100% { transform:rotate(0deg); } }
@keyframes tt-figure  { 0% { transform:translateX(0) rotate(-1deg); } 50% { transform:translateX(10px) rotate(1deg); } 100% { transform:translateX(0) rotate(-1deg); } }
@keyframes tt-candle  { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes tt-flame   { 0% { transform:scale(1) translateY(0); opacity:0.8; } 50% { transform:scale(1.2) translateY(-3px); opacity:1; } 100% { transform:scale(1) translateY(0); opacity:0.8; } }

.scn-xeniads-to-xenophon { background: linear-gradient(180deg, #1a120c 0%, #0d0a06 100%), radial-gradient(ellipse at 50% 30%, #2a1e14 0%, transparent 70%); }
.scn-xeniads-to-xenophon .bookshelf { position:absolute; top:0; left:30%; width:40%; height:100%; background: linear-gradient(90deg, #2a1e14 0%, #1a120c 50%, #2a1e14 100%); border-radius:10px; animation: xx-shelf 20s ease-in-out infinite; }
.scn-xeniads-to-xenophon .books     { position:absolute; top:10%; left:32%; width:36%; height:80%; background: repeating-linear-gradient(180deg, #804030 0px, #804030 15px, #502020 15px, #502020 30px); border-radius:5px; animation: xx-books 15s ease-in-out infinite; }
.scn-xeniads-to-xenophon .figure    { position:absolute; bottom:10%; left:15%; width:20px; height:45px; background: linear-gradient(180deg, #1a120c 0%, #0d0a06 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation: xx-figure 8s ease-in-out infinite; }
.scn-xeniads-to-xenophon .lantern   { position:absolute; top:20%; left:50%; width:15px; height:25px; background: radial-gradient(circle, #ffc080 0%, #a06020 70%); border-radius:20% 20% 10% 10%; animation: xx-lantern 6s ease-in-out infinite alternate; }
.scn-xeniads-to-xenophon .rope      { position:absolute; top:0; left:50%; width:2px; height:30%; background: linear-gradient(180deg, #603010 0%, #402008 100%); animation: xx-rope 4s ease-in-out infinite; }
.scn-xeniads-to-xenophon .shadow    { position:absolute; bottom:0; left:0; right:0; height:15%; background: linear-gradient(180deg, transparent 0%, #0d0a06 100%); }
.scn-xeniads-to-xenophon .dust      { position:absolute; bottom:50%; left:20%; width:80px; height:20px; background: radial-gradient(circle, rgba(255,200,128,0.2) 0%, transparent 70%); border-radius:50%; filter:blur(4px); animation: xx-dust 25s linear infinite; }
@keyframes xx-shelf   { 0% { transform:scaleY(1); } 50% { transform:scaleY(1.01); } 100% { transform:scaleY(1); } }
@keyframes xx-books   { 0% { transform:translateY(0); } 50% { transform:translateY(-3px); } 100% { transform:translateY(0); } }
@keyframes xx-figure  { 0% { transform:translateX(0) rotate(-1deg); } 50% { transform:translateX(8px) rotate(1deg); } 100% { transform:translateX(0) rotate(-1deg); } }
@keyframes xx-lantern { 0% { transform:translateY(0) rotate(-5deg); opacity:0.7; } 50% { transform:translateY(-5px) rotate(5deg); opacity:1; } 100% { transform:translateY(0) rotate(-5deg); opacity:0.7; } }
@keyframes xx-rope    { 0% { transform:rotate(0deg); } 50% { transform:rotate(2deg); } 100% { transform:rotate(0deg); } }
@keyframes xx-dust    { 0% { transform:translateX(0) translateY(0); opacity:0.2; } 50% { transform:translateX(20px) translateY(-10px); opacity:0.4; } 100% { transform:translateX(0) translateY(0); opacity:0.2; } }

/* ======= laconians-value-silence (calm | dim-interior) ======= */
.scn-laconians-value-silence {
  background:
    linear-gradient(180deg, #1a1410 0%, #2a1e14 30%, #1e1612 70%, #0d0806 100%),
    radial-gradient(ellipse at 30% 60%, #3a2820 0%, transparent 70%);
}
.scn-laconians-value-silence .wall-back {
  position: absolute;
  left: 0; right: 25%; top: 0; bottom: 30%;
  background: linear-gradient(135deg, #2a1e18 0%, #1a1410 100%);
  border-radius: 0 0 4% 0;
  box-shadow: inset -4px 0 12px rgba(0,0,0,0.6);
  animation: lcv-wall 20s ease-in-out infinite alternate;
}
.scn-laconians-value-silence .wall-side {
  position: absolute;
  right: 0; top: 0; bottom: 30%; width: 28%;
  background: linear-gradient(225deg, #1e1614 0%, #120e0a 100%);
  border-radius: 0 0 0 6%;
  box-shadow: inset 4px 0 8px rgba(0,0,0,0.5);
  animation: lcv-wall 20s ease-in-out infinite alternate-reverse;
}
.scn-laconians-value-silence .floor {
  position: absolute;
  left: 0; right: 0; bottom: 0; height: 30%;
  background: linear-gradient(180deg, #2a1e14 0%, #1a120c 100%);
  border-radius: 20% 20% 0 0 / 8% 8% 0 0;
  box-shadow: inset 0 6px 14px rgba(0,0,0,0.7);
}
.scn-laconians-value-silence .window {
  position: absolute;
  left: 12%; top: 14%; width: 32%; height: 28%;
  background: linear-gradient(180deg, #3a4a5a 0%, #2a3a4a 100%);
  border: 3px solid #1a1410;
  border-radius: 4% 4% 6% 6%;
  box-shadow:
    inset 0 0 30px 6px rgba(60,80,100,0.3),
    0 0 20px 4px rgba(60,80,100,0.15);
  animation: lcv-window 9s ease-in-out infinite alternate;
}
.scn-laconians-value-silence .figure-seated {
  position: absolute;
  left: 38%; bottom: 24%; width: 22%; height: 32%;
  background: linear-gradient(180deg, #1a1412 0%, #0d0a08 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  box-shadow: 2px 4px 8px rgba(0,0,0,0.6);
  animation: lcv-breathe 6s ease-in-out infinite alternate;
}
.scn-laconians-value-silence .lamp-glow {
  position: absolute;
  left: 26%; bottom: 32%; width: 8%; height: 10%;
  background: radial-gradient(circle at 50% 30%, #e8b860 0%, #c08030 40%, transparent 75%);
  border-radius: 50%;
  box-shadow:
    0 0 40px 10px rgba(200,140,60,0.5),
    0 0 80px 20px rgba(180,120,40,0.25);
  animation: lcv-lamp 4s ease-in-out infinite alternate;
}
.scn-laconians-value-silence .shadow-pool {
  position: absolute;
  left: 30%; bottom: 20%; width: 40%; height: 12%;
  background: radial-gradient(ellipse 50% 50% at 50% 50%, rgba(0,0,0,0.6) 0%, transparent 80%);
  border-radius: 50%;
  filter: blur(4px);
  animation: lcv-shadow 8s ease-in-out infinite alternate;
}
@keyframes lcv-wall {
  0% { opacity: 0.85; transform: translateX(0); }
  50% { opacity: 0.95; transform: translateX(-2px); }
  100% { opacity: 0.9; transform: translateX(0); }
}
@keyframes lcv-window {
  0% { box-shadow: inset 0 0 20px 4px rgba(60,80,100,0.2), 0 0 12px 2px rgba(60,80,100,0.1); }
  50% { box-shadow: inset 0 0 40px 8px rgba(80,100,120,0.4), 0 0 30px 6px rgba(80,100,120,0.25); }
  100% { box-shadow: inset 0 0 25px 5px rgba(60,80,100,0.25), 0 0 15px 3px rgba(60,80,100,0.12); }
}
@keyframes lcv-breathe {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-2px) scaleY(1.01); }
  100% { transform: translateY(0) scaleY(1); }
}
@keyframes lcv-lamp {
  0% { opacity: 0.7; transform: scale(0.95); }
  50% { opacity: 0.9; transform: scale(1.05); }
  100% { opacity: 0.75; transform: scale(0.98); }
}
@keyframes lcv-shadow {
  0% { transform: scaleX(1) scaleY(1); opacity: 0.6; }
  50% { transform: scaleX(1.05) scaleY(0.95); opacity: 0.7; }
  100% { transform: scaleX(1) scaleY(1); opacity: 0.55; }
}

/* ======= curiosity-condemned (tense | dim-interior) ======= */
.scn-curiosity-condemned {
  background:
    linear-gradient(180deg, #120e0c 0%, #1a1410 40%, #0e0a08 100%),
    radial-gradient(ellipse at 65% 50%, #2a1e18 0%, transparent 75%);
}
.scn-curiosity-condemned .wall-back {
  position: absolute;
  left: 0; right: 10%; top: 0; bottom: 28%;
  background: linear-gradient(180deg, #1e1814 0%, #16120e 100%);
  border-radius: 0 0 6% 0;
  animation: crc-wallpulse 2.5s ease-in-out infinite alternate;
}
.scn-curiosity-condemned .wall-marked {
  position: absolute;
  left: 8%; top: 18%; width: 50%; height: 40%;
  background:
    linear-gradient(90deg, transparent 0%, rgba(60,40,30,0.3) 10%, transparent 20%, rgba(50,35,25,0.4) 30%, transparent 40%);
  border-radius: 2%;
  box-shadow: inset 0 0 20px 4px rgba(0,0,0,0.5);
  animation: crc-inscrip 4s ease-in-out infinite alternate;
}
.scn-curiosity-condemned .floor-dark {
  position: absolute;
  left: 0; right: 0; bottom: 0; height: 30%;
  background: linear-gradient(180deg, #1a1410 0%, #0d0a06 100%);
  border-radius: 15% 15% 0 0 / 6% 6% 0 0;
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.8);
}
.scn-curiosity-condemned .figure-reach {
  position: absolute;
  right: 22%; bottom: 22%; width: 18%; height: 40%;
  background: linear-gradient(180deg, #1e1816 0%, #0e0a08 100%);
  border-radius: 40% 45% 35% 40% / 55% 50% 35% 40%;
  transform-origin: bottom center;
  box-shadow: -2px 0 10px rgba(0,0,0,0.7);
  animation: crc-reach 3.5s ease-in-out infinite;
}
.scn-curiosity-condemned .hand-hesitate {
  position: absolute;
  right: 34%; bottom: 48%; width: 12%; height: 10%;
  background: radial-gradient(ellipse 60% 100% at 30% 0%, #2a201a 0%, #1a1410 100%);
  border-radius: 40% 20% 30% 40%;
  transform-origin: 80% 100%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: crc-flinch 2s ease-in-out infinite;
}
.scn-curiosity-condemned .letter-sealed {
  position: absolute;
  right: 12%; bottom: 18%; width: 14%; height: 10%;
  background: linear-gradient(135deg, #d4c090 0%, #b8a070 100%);
  border-radius: 8%;
  box-shadow: 2px 3px 8px rgba(0,0,0,0.6);
  animation: crc-letter 6s ease-in-out infinite;
}
.scn-curiosity-condemned .shadow-creep {
  position: absolute;
  right: 8%; bottom: 10%; width: 60%; height: 18%;
  background: radial-gradient(ellipse 60% 100% at 70% 0%, rgba(0,0,0,0.7) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(6px);
  animation: crc-creep 8s ease-in-out infinite alternate;
}
@keyframes crc-wallpulse {
  0% { opacity: 0.8; box-shadow: inset 0 0 10px rgba(0,0,0,0.3); }
  50% { opacity: 0.95; box-shadow: inset 0 0 25px rgba(0,0,0,0.5); }
  100% { opacity: 0.85; box-shadow: inset 0 0 15px rgba(0,0,0,0.4); }
}
@keyframes crc-inscrip {
  0% { opacity: 0.2; transform: scaleX(1); }
  50% { opacity: 0.5; transform: scaleX(1.02); }
  100% { opacity: 0.25; transform: scaleX(1); }
}
@keyframes crc-reach {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(-6px) rotate(-2deg); }
  50% { transform: translateX(-12px) rotate(-4deg); }
  75% { transform: translateX(-6px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes crc-flinch {
  0% { transform: rotate(-5deg) scale(1); }
  30% { transform: rotate(-15deg) scale(0.9); }
  60% { transform: rotate(-5deg) scale(1); }
  100% { transform: rotate(-5deg) scale(1); }
}
@keyframes crc-letter {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-1px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes crc-creep {
  0% { transform: scaleX(0.9) scaleY(1); opacity: 0.5; }
  50% { transform: scaleX(1.2) scaleY(0.9); opacity: 0.8; }
  100% { transform: scaleX(1) scaleY(1); opacity: 0.6; }
}

/* ======= practice-refusal (tense | dim-interior) ======= */
.scn-practice-refusal {
  background:
    linear-gradient(180deg, #16100c 0%, #221814 40%, #0e0a06 100%),
    radial-gradient(ellipse at 40% 70%, #2a1c14 0%, transparent 80%);
}
.scn-practice-refusal .wall-back {
  position: absolute;
  left: 0; right: 0; top: 0; bottom: 35%;
  background: linear-gradient(170deg, #1e1612 0%, #14100c 100%);
  border-radius: 0 0 12% 12%;
  box-shadow: inset 0 -8px 20px rgba(0,0,0,0.6);
  animation: prf-wall 3s ease-in-out infinite alternate;
}
.scn-practice-refusal .floor-tilt {
  position: absolute;
  left: 0; right: 0; bottom: 0; height: 38%;
  background: linear-gradient(180deg, #2a1e16 0%, #16100a 100%);
  border-radius: 30% 30% 0 0 / 10% 10% 0 0;
  transform: perspective(300px) rotateX(2deg);
  transform-origin: bottom center;
  box-shadow: inset 0 12px 24px rgba(0,0,0,0.7);
}
.scn-practice-refusal .table-low {
  position: absolute;
  left: 20%; bottom: 28%; width: 60%; height: 6%;
  background: linear-gradient(180deg, #4a3424 0%, #3a281c 100%);
  border-radius: 6% 6% 4% 4%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.6);
  animation: prf-table 7s ease-in-out infinite;
}
.scn-practice-refusal .cup-offer {
  position: absolute;
  right: 24%; bottom: 38%; width: 10%; height: 12%;
  background: linear-gradient(180deg, #6a5038 0%, #4a3424 100%);
  border-radius: 20% 20% 8% 8%;
  box-shadow:
    inset 0 -2px 4px rgba(0,0,0,0.4),
    2px 3px 6px rgba(0,0,0,0.5);
  animation: prf-cup 2.5s ease-in-out infinite;
}
.scn-practice-refusal .hand-refuse {
  position: absolute;
  left: 26%; bottom: 40%; width: 14%; height: 14%;
  background: radial-gradient(ellipse 100% 80% at 70% 50%, #2a1e18 0%, #1a1410 100%);
  border-radius: 30% 30% 50% 50%;
  transform-origin: 30% 80%;
  box-shadow: -2px 2px 6px rgba(0,0,0,0.5);
  animation: prf-push 1.8s ease-in-out infinite;
}
.scn-practice-refusal .dice-a {
  position: absolute;
  right: 36%; bottom: 32%; width: 6%; height: 6%;
  background: linear-gradient(135deg, #e8dcc0 0%, #c8b898 100%);
  border-radius: 12%;
  box-shadow: 1px 2px 4px rgba(0,0,0,0.5);
  animation: prf-dice 4s ease-in-out infinite;
}
.scn-practice-refusal .dice-b {
  position: absolute;
  right: 28%; bottom: 30%; width: 5%; height: 5%;
  background: linear-gradient(135deg, #d8ccb0 0%, #b8a888 100%);
  border-radius: 12%;
  box-shadow: 1px 2px 4px rgba(0,0,0,0.4);
  animation: prf-dice 4s ease-in-out infinite 0.6s;
}
.scn-practice-refusal .figure-turn {
  position: absolute;
  left: 8%; bottom: 20%; width: 22%; height: 42%;
  background: linear-gradient(180deg, #1a1412 0%, #0e0a06 100%);
  border-radius: 45% 40% 35% 40% / 55% 50% 35% 40%;
  transform-origin: bottom center;
  box-shadow: 4px 0 10px rgba(0,0,0,0.6);
  animation: prf-turn 3s ease-in-out infinite;
}
@keyframes prf-wall {
  0% { box-shadow: inset 0 -4px 12px rgba(0,0,0,0.4); }
  50% { box-shadow: inset 0 -10px 24px rgba(0,0,0,0.7); }
  100% { box-shadow: inset 0 -4px 12px rgba(0,0,0,0.4); }
}
@keyframes prf-table {
  0% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
  100% { transform: translateY(0); }
}
@keyframes prf-cup {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(4px) rotate(3deg); }
  50% { transform: translateX(0) rotate(0deg); }
  75% { transform: translateX(4px) rotate(3deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes prf-push {
  0% { transform: rotate(10deg) scale(1); }
  30% { transform: rotate(25deg) scale(0.95); }
  60% { transform: rotate(10deg) scale(1); }
  100% { transform: rotate(10deg) scale(1); }
}
@keyframes prf-turn {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(-4px) rotate(-2deg); }
  50% { transform: translateX(-8px) rotate(-4deg); }
  75% { transform: translateX(-4px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes prf-dice {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(15deg); }
  100% { transform: translateY(0) rotate(0deg); }
}

/* ======= zeno-rebukes-youth (tense | dim-interior) ======= */
.scn-zeno-rebukes-youth {
  background:
    linear-gradient(180deg, #12100e 0%, #1e1814 35%, #0c0a08 100%),
    radial-gradient(ellipse at 25% 50%, #2a2018 0%, transparent 70%);
}
.scn-zeno-rebukes-youth .wall-back {
  position: absolute;
  left: 0; right: 0; top: 0; bottom: 32%;
  background: linear-gradient(170deg, #1a1410 0%, #100c08 100%);
  border-radius: 0 0 8% 8%;
  box-shadow: inset 0 -6px 18px rgba(0,0,0,0.7);
  animation: zry-wall 3s ease-in-out infinite alternate;
}
.scn-zeno-rebukes-youth .floor-striped {
  position: absolute;
  left: 0; right: 0; bottom: 0; height: 34%;
  background: linear-gradient(180deg, #221814 0%, #14100c 100%);
  border-radius: 18% 18% 0 0 / 6% 6% 0 0;
  box-shadow: inset 0 10px 24px rgba(0,0,0,0.7);
  animation: zry-floor 5s ease-in-out infinite alternate;
}
.scn-zeno-rebukes-youth .column-left {
  position: absolute;
  left: 6%; top: 0; bottom: 10%; width: 8%;
  background: linear-gradient(90deg, #2a221c 0%, #3a3028 30%, #2e2620 60%, #1e1814 100%);
  border-radius: 4%;
  box-shadow: 4px 0 12px rgba(0,0,0,0.6);
}
.scn-zeno-rebukes-youth .zeno-tall {
  position: absolute;
  left: 20%; bottom: 18%; width: 20%; height: 50%;
  background: linear-gradient(180deg, #1a1612 0%, #0e0c08 100%);
  border-radius: 42% 45% 35% 38% / 52% 55% 35% 38%;
  transform-origin: bottom center;
  box-shadow: -2px 0 8px rgba(0,0,0,0.5);
  animation: zry-zeno 4s ease-in-out infinite;
}
.scn-zeno-rebukes-youth .youth-cower {
  position: absolute;
  right: 16%; bottom: 18%; width: 18%; height: 34%;
  background: linear-gradient(180deg, #1a1412 0%, #0e0a06 100%);
  border-radius: 48% 42% 40% 44% / 50% 45% 35% 40%;
  transform-origin: bottom center;
  box-shadow: 2px 0 8px rgba(0,0,0,0.5);
  animation: zry-youth 2.5s ease-in-out infinite alternate;
}
.scn-zeno-rebukes-youth .arm-point {
  position: absolute;
  left: 32%; bottom: 38%; width: 18%; height: 6%;
  background: linear-gradient(180deg, #1e1814 0%, #14100c 100%);
  border-radius: 20% 60% 40% 40%;
  transform-origin: 0% 50%;
  box-shadow: 2px 2px 4px rgba(0,0,0,0.4);
  animation: zry-point 1.8s ease-in-out infinite;
}
.scn-zeno-rebukes-youth .shadow-wedge {
  position: absolute;
  left: 30%; bottom: 0; width: 40%; height: 18%;
  background: linear-gradient(135deg, rgba(0,0,0,0.7) 0%, transparent 100%);
  clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 0% 100%);
  filter: blur(5px);
  animation: zry-wedge 4s ease-in-out infinite alternate;
}
@keyframes zry-wall {
  0% { box-shadow: inset 0 -4px 12px rgba(0,0,0,0.5); }
  50% { box-shadow: inset 0 -10px 28px rgba(0,0,0,0.8); }
  100% { box-shadow: inset 0 -4px 12px rgba(0,0,0,0.5); }
}
@keyframes zry-floor {
  0% { transform: translateY(0); opacity: 0.9; }
  50% { transform: translateY(-2px); opacity: 1; }
  100% { transform: translateY(0); opacity: 0.9; }
}
@keyframes zry-zeno {
  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 zry-youth {
  0% { transform: translateX(0) scaleY(1); }
  50% { transform: translateX(-4px) scaleY(0.96); }
  100% { transform: translateX(0) scaleY(1); }
}
@keyframes zry-point {
  0% { transform: rotate(-5deg) scaleX(1); }
  30% { transform: rotate(-15deg) scaleX(1.05); }
  60% { transform: rotate(-5deg) scaleX(1); }
  100% { transform: rotate(-5deg) scaleX(1); }
}
@keyframes zry-wedge {
  0% { transform: translateX(0) skewX(0deg); opacity: 0.5; }
  50% { transform: translateX(8px) skewX(-3deg); opacity: 0.8; }
  100% { transform: translateX(0) skewX(0deg); opacity: 0.5; }
}

.scn-index-threads-classical-thought { background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%), radial-gradient(ellipse at 50% 30%, #4a3a2a 0%, transparent 60%); }
.scn-index-threads-classical-thought .wall { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); animation: scn1-wall 8s ease-in-out infinite alternate; }
.scn-index-threads-classical-thought .desk { position:absolute; bottom:0; left:10%; right:10%; height:45%; background: linear-gradient(0deg, #5a3a1a 0%, #3a2a0a 100%); border-radius: 10% 10% 0 0; box-shadow: inset 0 5px 15px rgba(0,0,0,0.6); }
.scn-index-threads-classical-thought .scroll { position:absolute; bottom:28%; left:50%; width:80px; height:20px; transform:translateX(-50%); background: linear-gradient(90deg, #c8a86e 0%, #e0c098 50%, #c8a86e 100%); border-radius: 10px; box-shadow: 0 2px 6px rgba(0,0,0,0.5); animation: scn1-scroll 6s ease-in-out infinite; }
.scn-index-threads-classical-thought .statue { position:absolute; bottom:15%; left:20%; width:30px; height:60px; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: scn1-statue 12s ease-in-out infinite; }
.scn-index-threads-classical-thought .candle { position:absolute; bottom:30%; left:70%; width:8px; height:25px; background: linear-gradient(180deg, #e0c098 0%, #a08050 100%); border-radius: 4px; }
.scn-index-threads-classical-thought .glow-candle { position:absolute; bottom:42%; left:70%; width:20px; height:20px; background: radial-gradient(circle, rgba(255,200,100,0.8) 0%, rgba(255,200,100,0.3) 40%, transparent 70%); border-radius:50%; transform:translate(-50%, -50%); animation: scn1-candle 2s ease-in-out infinite alternate; }
.scn-index-threads-classical-thought .book { position:absolute; bottom:25%; left:35%; width:40px; height:15px; background: linear-gradient(90deg, #6a4a2a 0%, #8a6a4a 100%); border-radius: 2px; transform: rotate(-5deg); box-shadow: 0 2px 4px rgba(0,0,0,0.5); }
@keyframes scn1-wall { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes scn1-scroll { 0% { transform:translateX(-50%) rotate(0deg); } 50% { transform:translateX(-50%) rotate(1deg) translateY(-2px); } 100% { transform:translateX(-50%) rotate(0deg); } }
@keyframes scn1-statue { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(0deg); } }
@keyframes scn1-candle { 0% { opacity:0.7; transform:translate(-50%, -50%) scale(0.8); } 50% { opacity:1; transform:translate(-50%, -50%) scale(1.1); } 100% { opacity:0.8; transform:translate(-50%, -50%) scale(0.9); } }

.scn-lacydes-and-lais { background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%), radial-gradient(ellipse at 30% 20%, #3a2a1a 0%, transparent 50%); }
.scn-lacydes-and-lais .bg-room { position:absolute; inset:0; background: linear-gradient(180deg, #4a3a2a 0%, #1a0a00 100%); }
.scn-lacydes-and-lais .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 40% 40% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,0.7); }
.scn-lacydes-and-lais .figure-lacydes { position:absolute; bottom:20%; left:30%; width:35px; height:60px; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: scn2-fig1 8s ease-in-out infinite; }
.scn-lacydes-and-lais .figure-lais { position:absolute; bottom:20%; right:30%; width:30px; height:55px; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: scn2-fig2 10s ease-in-out infinite alternate; }
.scn-lacydes-and-lais .lamp { position:absolute; bottom:30%; left:50%; width:8px; height:20px; background: #a08050; border-radius: 4px; transform:translateX(-50%); }
.scn-lacydes-and-lais .lamp-glow { position:absolute; bottom:40%; left:50%; width:30px; height:30px; background: radial-gradient(circle, rgba(255,200,100,0.9) 0%, rgba(255,200,100,0.2) 50%, transparent 80%); border-radius:50%; transform:translate(-50%, -50%); animation: scn2-lamp 3s ease-in-out infinite alternate; }
.scn-lacydes-and-lais .column { position:absolute; bottom:0; left:10%; width:10px; height:80%; background: linear-gradient(0deg, #4a3a2a 0%, #3a2a1a 100%); border-radius: 5px; box-shadow: inset 0 0 10px rgba(0,0,0,0.5); }
.scn-lacydes-and-lais .wall-light { position:absolute; top:30%; left:15%; width:10px; height:15px; background: rgba(255,200,100,0.3); border-radius:50%; filter: blur(5px); animation: scn2-light 4s ease-in-out infinite; }
@keyframes scn2-fig1 { 0% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-3px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes scn2-fig2 { 0% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(-2deg) translateY(-2px); } 100% { transform: rotate(1deg) translateY(-1px); } }
@keyframes scn2-lamp { 0% { opacity:0.8; transform:translate(-50%, -50%) scale(0.9); } 50% { opacity:1; transform:translate(-50%, -50%) scale(1.1); } 100% { opacity:0.9; transform:translate(-50%, -50%) scale(1.0); } }
@keyframes scn2-light { 0% { opacity:0.5; } 50% { opacity:1; } 100% { opacity:0.6; } }

.scn-love-treated-broadly { background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%), radial-gradient(ellipse at 50% 40%, #6a3a2a 0%, transparent 50%); }
.scn-love-treated-broadly .bg-chamber { position:absolute; inset:0; background: linear-gradient(180deg, #3a1a0a 0%, #1a0a00 100%); }
.scn-love-treated-broadly .figure-cupid { position:absolute; bottom:20%; left:50%; width:40px; height:50px; transform:translateX(-50%); background: linear-gradient(180deg, #c8a86e 0%, #a08050 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: scn3-cupid 6s ease-in-out infinite; }
.scn-love-treated-broadly .wings { position:absolute; bottom:35%; left:35%; width:20px; height:30px; background: #a08050; border-radius: 50% 50% 0 0; transform: rotate(-30deg); animation: scn3-wings 4s ease-in-out infinite alternate; }
.scn-love-treated-broadly .bow { position:absolute; bottom:30%; left:45%; width:30px; height:10px; background: #6a4a2a; border-radius: 50%; transform: rotate(20deg); }
.scn-love-treated-broadly .arrow { position:absolute; bottom:35%; left:55%; width:40px; height:4px; background: #a08050; transform: rotate(-10deg); border-radius: 2px; animation: scn3-arrow 5s ease-in-out infinite; }
.scn-love-treated-broadly .halo-glow { position:absolute; top:15%; left:50%; width:40px; height:40px; transform:translateX(-50%); background: radial-gradient(circle, rgba(255,200,100,0.8) 0%, rgba(255,180,80,0.3) 50%, transparent 80%); border-radius:50%; animation: scn3-halo 3s ease-in-out infinite alternate; }
@keyframes scn3-cupid { 0% { transform:translateX(-50%) rotate(0deg); } 50% { transform:translateX(-50%) rotate(3deg) translateY(-4px); } 100% { transform:translateX(-50%) rotate(0deg); } }
@keyframes scn3-wings { 0% { transform: rotate(-30deg) scale(1); } 50% { transform: rotate(-20deg) scale(1.1); } 100% { transform: rotate(-35deg) scale(1); } }
@keyframes scn3-arrow { 0% { opacity:0.7; transform: rotate(-10deg) translateX(0); } 50% { opacity:1; transform: rotate(-5deg) translateX(5px); } 100% { opacity:0.8; transform: rotate(-12deg) translateX(0); } }
@keyframes scn3-halo { 0% { opacity:0.6; transform:translateX(-50%) scale(0.9); } 50% { opacity:1; transform:translateX(-50%) scale(1.1); } 100% { opacity:0.7; transform:translateX(-50%) scale(0.95); } }

.scn-metrocles-to-mithridates { background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%), radial-gradient(ellipse at 50% 30%, #4a3a2a 0%, transparent 60%); }
.scn-metrocles-to-mithridates .bg-interior { position:absolute; inset:0; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); }
.scn-metrocles-to-mithridates .mother { position:absolute; bottom:20%; left:30%; width:40px; height:60px; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: scn4-mother 10s ease-in-out infinite alternate; }
.scn-metrocles-to-mithridates .child { position:absolute; bottom:22%; left:33%; width:25px; height:30px; background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: scn4-child 8s ease-in-out infinite; }
.scn-metrocles-to-mithridates .mirror { position:absolute; top:30%; right:20%; width:40px; height:50px; background: linear-gradient(180deg, #a08050 0%, #604020 100%); border-radius: 50%; box-shadow: inset 0 0 10px rgba(0,0,0,0.5); animation: scn4-mirror 12s ease-in-out infinite; }
.scn-metrocles-to-mithridates .lyre { position:absolute; bottom:25%; left:55%; width:20px; height:30px; background: linear-gradient(180deg, #c8a86e 0%, #a08050 100%); border-radius: 50% 50% 30% 30%; transform: rotate(15deg); animation: scn4-lyre 6s ease-in-out infinite; }
.scn-metrocles-to-mithridates .window { position:absolute; top:10%; left:10%; width:40px; height:50px; background: #2a1a0a; border: 2px solid #4a3a2a; border-radius: 4px; box-shadow: inset 0 0 20px rgba(100,100,150,0.3); animation: scn4-window 15s ease-in-out infinite alternate; }
@keyframes scn4-mother { 0% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(1deg) translateY(-2px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes scn4-child { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(0deg); } }
@keyframes scn4-mirror { 0% { opacity:0.7; transform: scale(1); } 50% { opacity:1; transform: scale(1.02); } 100% { opacity:0.8; transform: scale(1); } }
@keyframes scn4-lyre { 0% { transform: rotate(15deg) translateX(0); } 50% { transform: rotate(20deg) translateX(3px); } 100% { transform: rotate(12deg) translateX(0); } }
@keyframes scn4-window { 0% { box-shadow: inset 0 0 20px rgba(100,100,150,0.3); } 50% { box-shadow: inset 0 0 30px rgba(100,100,150,0.6); } 100% { box-shadow: inset 0 0 20px rgba(100,100,150,0.3); } }

/* Scene: hopes-delay-fools (tense, dim interior) */
.scn-hopes-delay-fools {
  background:
    linear-gradient(180deg, #1a1410 0%, #2a1f1a 50%, #3a2a1e 100%),
    radial-gradient(ellipse at 40% 20%, #3a3020 0%, transparent 60%);
}
.scn-hopes-delay-fools .wall {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(45deg, #2a1f1a 0px, #2a1f1a 4px, #3a2a1e 4px, #3a2a1e 8px);
  opacity: 0.3;
}
.scn-hopes-delay-fools .window {
  position: absolute; top: 10%; left: 20%; width: 60px; height: 90px;
  background: linear-gradient(180deg, #0a0806 0%, #1a1410 30%, #0a0806 100%);
  border: 2px solid #4a3a2e; border-radius: 4px;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.7);
  animation: hdf-window 12s ease-in-out infinite alternate;
}
.scn-hopes-delay-fools .table {
  position: absolute; bottom: 20%; left: 30%; width: 120px; height: 10px;
  background: #4a3a2e; border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
}
.scn-hopes-delay-fools .coins {
  position: absolute; bottom: 20%; left: 35%; width: 30px; height: 8px;
  background: radial-gradient(circle, #c88a44 0%, #8a6030 100%);
  border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  animation: hdf-coins 2s ease-in-out infinite alternate;
}
.scn-hopes-delay-fools .lamp {
  position: absolute; bottom: 40%; left: 50%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #c88a44 0%, #8a6030 100%);
  border-radius: 50% 50% 40% 40%;
  box-shadow: 0 0 30px 10px rgba(200,138,68,0.6);
  animation: hdf-lamp 1s ease-in-out infinite alternate;
}
.scn-hopes-delay-fools .figure {
  position: absolute; bottom: 15%; left: 45%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #1a1410 0%, #0a0806 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: hdf-figure 4s ease-in-out infinite;
}
.scn-hopes-delay-fools .scroll {
  position: absolute; bottom: 10%; left: 20%; width: 60px; height: 10px;
  background: #4a3a2e; border-radius: 4px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.3);
  animation: hdf-scroll 6s ease-in-out infinite;
}
@keyframes hdf-window {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes hdf-coins {
  0% { transform: translateY(0) scale(1); opacity: 0.8; }
  50% { transform: translateY(-2px) scale(1.1); opacity: 1; }
  100% { transform: translateY(0) scale(1); opacity: 0.8; }
}
@keyframes hdf-lamp {
  0% { box-shadow: 0 0 20px 5px rgba(200,138,68,0.5); opacity: 0.9; }
  50% { box-shadow: 0 0 40px 15px rgba(200,138,68,0.8); opacity: 1; }
  100% { box-shadow: 0 0 25px 8px rgba(200,138,68,0.6); opacity: 0.9; }
}
@keyframes hdf-figure {
  0% { transform: translateX(0) rotate(0); }
  25% { transform: translateX(5px) rotate(2deg); }
  50% { transform: translateX(10px) rotate(-1deg); }
  75% { transform: translateX(15px) rotate(1deg); }
  100% { transform: translateX(20px) rotate(0); }
}
@keyframes hdf-scroll {
  0% { transform: rotate(0) translateX(0); }
  33% { transform: rotate(2deg) translateX(2px); }
  66% { transform: rotate(-1deg) translateX(-1px); }
  100% { transform: rotate(0) translateX(0); }
}

/* Scene: wisdom-governs-arts (calm, dim interior) */
.scn-wisdom-governs-arts {
  background:
    linear-gradient(180deg, #1a1410 0%, #2a1f1a 50%, #3a2a1e 100%),
    radial-gradient(ellipse at 30% 20%, #3a2a1e 0%, transparent 60%);
}
.scn-wisdom-governs-arts .wall {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(135deg, #2a1f1a 0px, #2a1f1a 3px, #3a2a1e 3px, #3a2a1e 6px);
  opacity: 0.2;
}
.scn-wisdom-governs-arts .easel {
  position: absolute; bottom: 20%; left: 40%; width: 80px; height: 60px;
  background: linear-gradient(180deg, #4a3a2e 0%, #3a2a1e 100%);
  border-radius: 4px; transform: rotate(-5deg);
}
.scn-wisdom-governs-arts .canvas {
  position: absolute; bottom: 22%; left: 42%; width: 60px; height: 50px;
  background: radial-gradient(circle, #8a7a6a 0%, #5a4a3a 100%);
  border: 1px solid #4a3a2e;
  animation: wga-canvas 8s ease-in-out infinite alternate;
}
.scn-wisdom-governs-arts .sponge {
  position: absolute; bottom: 10%; left: 30%; width: 30px; height: 20px;
  background: #6a5a4a;
  border-radius: 40% 40% 60% 60% / 50% 50% 50% 50%;
  animation: wga-sponge 3s ease-in-out infinite alternate;
}
.scn-wisdom-governs-arts .palette {
  position: absolute; bottom: 15%; left: 55%; width: 50px; height: 30px;
  background: #4a3a2e;
  border-radius: 50% 50% 40% 40%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: wga-palette 5s ease-in-out infinite;
}
.scn-wisdom-governs-arts .stool {
  position: absolute; bottom: 0%; left: 25%; width: 40px; height: 20px;
  background: #3a2a1e; border-radius: 4px 4px 0 0;
}
.scn-wisdom-governs-arts .window-light {
  position: absolute; top: 10%; left: 10%; width: 80px; height: 100px;
  background: linear-gradient(135deg, rgba(200,180,160,0.2) 0%, transparent 50%);
  animation: wga-light 12s ease-in-out infinite alternate;
}
@keyframes wga-canvas {
  0% { opacity: 0.6; filter: brightness(1); }
  50% { opacity: 0.8; filter: brightness(1.1); }
  100% { opacity: 0.6; filter: brightness(1); }
}
@keyframes wga-sponge {
  0% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-3px) rotate(10deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes wga-palette {
  0% { transform: rotate(-5deg); }
  50% { transform: rotate(5deg); }
  100% { transform: rotate(-5deg); }
}
@keyframes wga-light {
  0% { opacity: 0.3; }
  50% { opacity: 0.5; }
  100% { opacity: 0.3; }
}

/* Scene: wisdom-not-wealth (calm, dim interior) */
.scn-wisdom-not-wealth {
  background:
    linear-gradient(180deg, #1a1410 0%, #2a1f1a 50%, #3a2a1e 100%),
    radial-gradient(ellipse at 50% 30%, #3a2a1e 0%, transparent 50%);
}
.scn-wisdom-not-wealth .wall {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(90deg, #2a1f1a 0px, #2a1f1a 2px, #3a2a1e 2px, #3a2a1e 4px);
  opacity: 0.15;
}
.scn-wisdom-not-wealth .figure {
  position: absolute; bottom: 20%; left: 30%; width: 50px; height: 80px;
  background: linear-gradient(180deg, #1a1410 0%, #0a0806 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom;
  animation: wnw-figure 6s ease-in-out infinite;
}
.scn-wisdom-not-wealth .arm {
  position: absolute; bottom: 50%; left: 35%; width: 10px; height: 40px;
  background: #1a1410;
  border-radius: 50% 50% 0 0;
  transform-origin: bottom left;
  animation: wnw-arm 3s ease-in-out infinite alternate;
}
.scn-wisdom-not-wealth .gift {
  position: absolute; bottom: 25%; left: 50%; width: 40px; height: 40px;
  background: radial-gradient(circle, #c88a44 0%, #8a6030 100%);
  border-radius: 10%;
  box-shadow: 0 0 20px 5px rgba(200,138,68,0.6);
  animation: wnw-gift 4s ease-in-out infinite alternate;
}
.scn-wisdom-not-wealth .pedestal {
  position: absolute; bottom: 20%; left: 48%; width: 50px; height: 10px;
  background: #4a3a2e; border-radius: 4px;
}
.scn-wisdom-not-wealth .shadow {
  position: absolute; bottom: 0%; left: 20%; width: 80px; height: 20px;
  background: rgba(0,0,0,0.4);
  border-radius: 50%; filter: blur(4px);
  animation: wnw-shadow 6s ease-in-out infinite;
}
.scn-wisdom-not-wealth .light-ray {
  position: absolute; top: 10%; left: 45%; width: 30px; height: 200px;
  background: linear-gradient(180deg, rgba(200,138,68,0.3) 0%, transparent 100%);
  transform: rotate(-10deg);
  animation: wnw-ray 8s ease-in-out infinite alternate;
}
@keyframes wnw-figure {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes wnw-arm {
  0% { transform: rotate(0); }
  100% { transform: rotate(-30deg); }
}
@keyframes wnw-gift {
  0% { box-shadow: 0 0 15px 3px rgba(200,138,68,0.5); opacity: 0.8; }
  50% { box-shadow: 0 0 30px 10px rgba(200,138,68,0.8); opacity: 1; }
  100% { box-shadow: 0 0 20px 6px rgba(200,138,68,0.6); opacity: 0.9; }
}
@keyframes wnw-shadow {
  0% { transform: scale(1); opacity: 0.4; }
  50% { transform: scale(0.9); opacity: 0.3; }
  100% { transform: scale(1); opacity: 0.4; }
}
@keyframes wnw-ray {
  0% { opacity: 0.2; }
  50% { opacity: 0.5; }
  100% { opacity: 0.2; }
}

/* Scene: index-catalogs-figures (calm, dim interior) */
.scn-index-catalogs-figures {
  background:
    linear-gradient(180deg, #1a1410 0%, #2a1f1a 50%, #3a2a1e 100%),
    radial-gradient(ellipse at 60% 30%, #3a2a1e 0%, transparent 50%);
}
.scn-index-catalogs-figures .wall {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(0deg, #2a1f1a 0px, #2a1f1a 5px, #3a2a1e 5px, #3a2a1e 10px);
  opacity: 0.1;
}
.scn-index-catalogs-figures .lectern {
  position: absolute; bottom: 15%; left: 50%; width: 60px; height: 80px;
  background: linear-gradient(180deg, #4a3a2e 0%, #3a2a1e 100%);
  border-radius: 4px; transform: translateX(-50%);
}
.scn-index-catalogs-figures .book-left {
  position: absolute; bottom: 25%; left: 45%; width: 40px; height: 30px;
  background: linear-gradient(180deg, #6a5a4a 0%, #5a4a3a 100%);
  border-radius: 2px; transform: rotate(-5deg);
  animation: icf-page-left 5s ease-in-out infinite alternate;
}
.scn-index-catalogs-figures .book-right {
  position: absolute; bottom: 25%; left: 53%; width: 40px; height: 30px;
  background: linear-gradient(180deg, #6a5a4a 0%, #5a4a3a 100%);
  border-radius: 2px; transform: rotate(5deg);
  animation: icf-page-right 5s ease-in-out infinite alternate;
}
.scn-index-catalogs-figures .figure-1 {
  position: absolute; bottom: 35%; left: 20%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #1a1410 0%, #0a0806 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: icf-fig1 8s ease-in-out infinite;
}
.scn-index-catalogs-figures .figure-2 {
  position: absolute; bottom: 35%; right: 20%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #1a1410 0%, #0a0806 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: icf-fig2 10s ease-in-out infinite;
}
.scn-index-catalogs-figures .candle {
  position: absolute; bottom: 10%; left: 50%; width: 10px; height: 20px;
  background: linear-gradient(180deg, #c88a44 0%, #8a6030 100%);
  border-radius: 2px;
  box-shadow: 0 0 10px 3px rgba(200,138,68,0.5);
  animation: icf-candle 2s ease-in-out infinite alternate;
}
@keyframes icf-page-left {
  0% { transform: rotate(-5deg); }
  50% { transform: rotate(-10deg); }
  100% { transform: rotate(-5deg); }
}
@keyframes icf-page-right {
  0% { transform: rotate(5deg); }
  50% { transform: rotate(10deg); }
  100% { transform: rotate(5deg); }
}
@keyframes icf-fig1 {
  0% { transform: translateY(0) scale(1); opacity: 0.6; }
  50% { transform: translateY(-5px) scale(1.05); opacity: 0.8; }
  100% { transform: translateY(0) scale(1); opacity: 0.6; }
}
@keyframes icf-fig2 {
  0% { transform: translateY(0) scale(1); opacity: 0.6; }
  50% { transform: translateY(5px) scale(0.95); opacity: 0.8; }
  100% { transform: translateY(0) scale(1); opacity: 0.6; }
}
@keyframes icf-candle {
  0% { box-shadow: 0 0 8px 2px rgba(200,138,68,0.5); height: 20px; }
  50% { box-shadow: 0 0 15px 5px rgba(200,138,68,0.8); height: 22px; }
  100% { box-shadow: 0 0 10px 3px rgba(200,138,68,0.6); height: 20px; }
}

.scn-xeniads-to-xenophon {
  background:
    linear-gradient(180deg, #2e1b0e 0%, #3d2815 40%, #5a3a1e 100%),
    radial-gradient(ellipse at 60% 50%, rgba(200,140,60,0.15) 0%, transparent 60%);
}
.scn-xeniads-to-xenophon .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(145deg, #2a1a0a 0%, #4a3220 100%);
  border-radius: 2px;
  box-shadow: inset 0 0 60px rgba(0,0,0,0.7);
}
.scn-xeniads-to-xenophon .bookshelf {
  position: absolute; top: 8%; left: 5%; right: 5%; height: 35%;
  background: linear-gradient(180deg, #4a3220 0%, #2a1a0a 100%);
  border-radius: 4px;
  box-shadow: inset 0 12px 20px rgba(0,0,0,0.5), 0 6px 12px rgba(0,0,0,0.4);
  animation: xtx-shelfdrift 20s ease-in-out infinite alternate;
}
.scn-xeniads-to-xenophon .books {
  position: absolute; top: 12%; left: 12%; right: 12%; height: 28%;
  background:
    linear-gradient(90deg, #7a5a3a 10%, #8a6a4a 10%, #8a6a4a 20%, #5a4a3a 20%, #5a4a3a 30%, #6a5a4a 30%, #6a5a4a 40%, #4a3a2a 40%, #4a3a2a 50%, #7a5a3a 50%, #7a5a3a 60%, #6a4a3a 60%, #6a4a3a 70%, #5a3a2a 70%, #5a3a2a 80%, #8a6a4a 80%, #8a6a4a 90%, #7a5a3a 90%);
  border-radius: 2px;
  box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
  animation: xtx-booksbreathe 10s ease-in-out infinite;
}
.scn-xeniads-to-xenophon .desk {
  position: absolute; bottom: 12%; left: 20%; right: 20%; height: 18%;
  background: linear-gradient(160deg, #5a3a1e 0%, #3a2210 100%);
  border-radius: 6px 6px 2px 2px;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.5), inset 0 4px 8px rgba(200,140,60,0.1);
}
.scn-xeniads-to-xenophon .lamp {
  position: absolute; bottom: 30%; left: 55%; width: 30px; height: 50px;
  background: radial-gradient(circle at 50% 20%, #c8a060 0%, #a07840 40%, #604020 80%, #301800 100%);
  border-radius: 40% 40% 10% 10% / 50% 50% 10% 10%;
  box-shadow: 0 0 40px 10px rgba(200,140,60,0.3), 0 0 80px 20px rgba(200,140,60,0.1);
  animation: xtx-lampglow 4s ease-in-out infinite alternate;
}
.scn-xeniads-to-xenophon .figure {
  position: absolute; bottom: 8%; left: 48%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #1a1008 0%, #0a0502 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: 50% 90%;
  animation: xtx-figurebreath 6s ease-in-out infinite;
}
.scn-xeniads-to-xenophon .scroll {
  position: absolute; bottom: 14%; left: 38%; width: 50px; height: 14px;
  background: linear-gradient(180deg, #d4b68a 0%, #b8986e 50%, #a07850 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: xtx-scrollfloat 8s ease-in-out infinite;
}
@keyframes xtx-shelfdrift {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes xtx-booksbreathe {
  0% { transform: scaleY(1) translateY(0); }
  50% { transform: scaleY(1.005) translateY(-1px); }
  100% { transform: scaleY(1) translateY(0); }
}
@keyframes xtx-lampglow {
  0% { box-shadow: 0 0 30px 8px rgba(200,140,60,0.25), 0 0 60px 16px rgba(200,140,60,0.08); opacity: 0.9; }
  50% { box-shadow: 0 0 50px 14px rgba(200,140,60,0.4), 0 0 100px 30px rgba(200,140,60,0.15); opacity: 1; }
  100% { box-shadow: 0 0 35px 10px rgba(200,140,60,0.3), 0 0 70px 20px rgba(200,140,60,0.1); opacity: 0.95; }
}
@keyframes xtx-figurebreath {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-3px) scaleY(1.01); }
  100% { transform: translateY(0) scaleY(1); }
}
@keyframes xtx-scrollfloat {
  0% { transform: translateX(0) rotate(0deg); }
  33% { transform: translateX(4px) rotate(2deg); }
  66% { transform: translateX(-3px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}

.scn-socrates-dominates-entries {
  background:
    radial-gradient(ellipse at 40% 60%, #5a3a1a 0%, #2a1a0a 65%, #1a0e05 100%),
    linear-gradient(180deg, #1a0e05 0%, #2a1a0a 50%, #3a2a1a 100%);
}
.scn-socrates-dominates-entries .bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a0e05 0%, transparent 50%, #0a0502 100%);
  animation: sde-bg 12s ease-in-out infinite alternate;
}
.scn-socrates-dominates-entries .wall {
  position: absolute; inset: 5% 5% 10% 5%; background: linear-gradient(135deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 4px; box-shadow: inset 0 0 40px rgba(0,0,0,.8);
}
.scn-socrates-dominates-entries .shelf {
  position: absolute; left: 10%; right: 10%; height: 6px; background: #4a2a0a;
  border-radius: 2px; box-shadow: 0 4px 6px rgba(0,0,0,.6);
}
.scn-socrates-dominates-entries .shelf-top { top: 30%; }
.scn-socrates-dominates-entries .shelf-mid { top: 55%; }
.scn-socrates-dominates-entries .scrolls {
  position: absolute; width: 20px; height: 12px; background: #6a4a2a;
  border-radius: 0 0 50% 50% / 0 0 100% 100%; box-shadow: 0 2px 4px rgba(0,0,0,.5);
}
.scn-socrates-dominates-entries .scrolls-left { top: 35%; left: 15%; }
.scn-socrates-dominates-entries .scrolls-right { top: 60%; right: 20%; }
.scn-socrates-dominates-entries .lamp {
  position: absolute; bottom: 40%; left: 55%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #c08040 0%, #8a5a20 50%, #3a2a0a 100%);
  border-radius: 30% 30% 10% 10%; box-shadow: 0 0 30px 12px #c08040, 0 0 60px 20px rgba(192,128,64,.3);
  animation: sde-lamp 4s ease-in-out infinite alternate;
}
.scn-socrates-dominates-entries .figure {
  position: absolute; bottom: 25%; left: 30%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #1a0e05 0%, #2a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: center bottom;
  animation: sde-figure 8s ease-in-out infinite;
}
.scn-socrates-dominates-entries .dust {
  position: absolute; inset: 0; background: radial-gradient(circle at 55% 70%, rgba(255, 220, 150, .08) 0%, transparent 60%);
  animation: sde-dust 30s linear infinite;
}
@keyframes sde-bg { 0% { opacity: .8 } 50% { opacity: .9 } 100% { opacity: .7 } }
@keyframes sde-lamp { 0% { box-shadow: 0 0 20px 8px #c08040, 0 0 40px 14px rgba(192,128,64,.2); transform: scaleY(1); } 50% { box-shadow: 0 0 40px 16px #e0a060, 0 0 80px 24px rgba(224,160,96,.4); transform: scaleY(1.05); } 100% { box-shadow: 0 0 25px 10px #c08040, 0 0 50px 18px rgba(192,128,64,.25); transform: scaleY(.98); } }
@keyframes sde-figure { 0% { transform: translateY(0) rotate(-2deg) } 50% { transform: translateY(-4px) rotate(2deg) } 100% { transform: translateY(0) rotate(-1deg) } }
@keyframes sde-dust { 0% { background-position: 0 0; opacity: .6 } 50% { opacity: 1 } 100% { background-position: 30px 30px; opacity: .5 } }

.scn-themistocles-to-timoxena {
  background:
    radial-gradient(ellipse at 50% 80%, #3a2a1a 0%, #1a0e05 70%, #0a0502 100%),
    linear-gradient(180deg, #0a0502 0%, #2a1a0a 50%, #1a0e05 100%);
}
.scn-themistocles-to-timoxena .bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #0a0502 0%, transparent 60%, #2a1a0a 100%);
  animation: t2t-bg 15s ease-in-out infinite alternate;
}
.scn-themistocles-to-timoxena .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #1a0e05 0%, #0a0502 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,.8);
}
.scn-themistocles-to-timoxena .wall-left {
  position: absolute; top: 5%; bottom: 20%; left: 5%; width: 25%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 6px; box-shadow: inset -4px 0 10px rgba(0,0,0,.6);
  transform: perspective(400px) rotateY(15deg);
  transform-origin: left center;
}
.scn-themistocles-to-timoxena .wall-right {
  position: absolute; top: 5%; bottom: 20%; right: 5%; width: 25%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 6px; box-shadow: inset 4px 0 10px rgba(0,0,0,.6);
  transform: perspective(400px) rotateY(-15deg);
  transform-origin: right center;
}
.scn-themistocles-to-timoxena .shelf-receding {
  position: absolute; top: 35%; left: 10%; right: 10%; height: 5px;
  background: #4a2a0a; border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,.7);
}
.scn-themistocles-to-timoxena .scrolls-receding {
  position: absolute; top: 38%; left: 15%; width: 18px; height: 10px;
  background: #5a3a1a; border-radius: 0 0 40% 40% / 0 0 80% 80%;
  box-shadow: 0 2px 4px rgba(0,0,0,.5);
  transform: scale(0.8) translateX(40px);
  animation: t2t-scroll 10s ease-in-out infinite alternate;
}
.scn-themistocles-to-timoxena .lamp {
  position: absolute; bottom: 25%; left: 48%; width: 14px; height: 22px;
  background: linear-gradient(180deg, #b07030 0%, #7a4a1a 50%, #3a2a0a 100%);
  border-radius: 30% 30% 10% 10%; box-shadow: 0 0 24px 10px #b07030, 0 0 48px 18px rgba(176,112,48,.3);
  animation: t2t-lamp 5s ease-in-out infinite alternate;
}
.scn-themistocles-to-timoxena .figure-tiny {
  position: absolute; bottom: 22%; left: 45%; width: 16px; height: 30px;
  background: linear-gradient(180deg, #1a0e05 0%, #2a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform: scale(0.7) translateY(10px);
  animation: t2t-figure 12s ease-in-out infinite;
}
.scn-themistocles-to-timoxena .particles {
  position: absolute; inset: 0; background-image: radial-gradient(2px 2px at 20px 30px, rgba(255, 220, 150, .15), transparent);
  background-size: 40px 40px;
  animation: t2t-particles 20s linear infinite;
}
@keyframes t2t-bg { 0% { opacity: .7 } 50% { opacity: .9 } 100% { opacity: .6 } }
@keyframes t2t-scroll { 0% { transform: scale(0.8) translateX(40px); opacity: .5 } 50% { transform: scale(1) translateX(0); opacity: 1 } 100% { transform: scale(0.85) translateX(30px); opacity: .6 } }
@keyframes t2t-lamp { 0% { box-shadow: 0 0 15px 6px #b07030, 0 0 30px 12px rgba(176,112,48,.2); } 50% { box-shadow: 0 0 30px 12px #d09050, 0 0 60px 20px rgba(208,144,80,.35); } 100% { box-shadow: 0 0 20px 8px #b07030, 0 0 40px 15px rgba(176,112,48,.25); } }
@keyframes t2t-figure { 0% { transform: scale(0.7) translateY(10px) rotate(-3deg); } 50% { transform: scale(0.75) translateY(5px) rotate(3deg); } 100% { transform: scale(0.7) translateY(10px) rotate(-3deg); } }
@keyframes t2t-particles { 0% { background-position: 0 0; } 100% { background-position: 40px 40px; } }
/* end per-scene blocks */
