/* per-scene blocks (EXP step_scenes) */
.scn-blunderstone-rookery { background: linear-gradient(180deg, #0a0a1e 0%, #150f2a 45%, #08051a 100%), radial-gradient(circle at 18% 14%, rgba(200,210,255,.25) 0%, transparent 65%), radial-gradient(circle at 75% 22%, rgba(160,170,220,.15) 0%, transparent 55%), radial-gradient(ellipse at 55% 9%, rgba(120,140,200,.08) 0%, transparent 45%); }
.scn-blunderstone-rookery .sky    { position:absolute; inset:0 0 55% 0; background: linear-gradient(180deg, #1a1a3a 0%, rgba(10,10,30,.3) 100%); animation: br-sky 25s ease-in-out infinite alternate; }
.scn-blunderstone-rookery .moon   { position:absolute; top:12%; left:20%; width:55px; height:55px; background: radial-gradient(circle, #c8d0ff 0%, #a0acc0 50%, transparent 75%); border-radius:50%; filter:blur(3px); box-shadow: 0 0 28px 8px rgba(200,210,255,.6), 0 0 50px 16px rgba(200,210,255,.3); animation: br-drift 55s linear infinite; }
.scn-blunderstone-rookery .rook-a { position:absolute; top:18%; right:32%; width:26px; height:16px; background: linear-gradient(135deg, #151515 0%, #0f0f0f 70%); border-radius: 65% 45% 55% 35% / 60% 50% 40% 70%; transform-origin: center; animation: br-hop 2.8s ease-in-out infinite; }
.scn-blunderstone-rookery .rook-b { position:absolute; top:22%; right:28%; width:24px; height:15px; background: linear-gradient(135deg, #151515 0%, #0f0f0f 70%); border-radius: 65% 45% 55% 35% / 60% 50% 40% 70%; transform-origin: center; animation: br-hop 3.2s ease-in-out infinite 0.8s reverse; filter: drop-shadow(0 2px 4px rgba(0,0,0,.6)); }
.scn-blunderstone-rookery .rookery{ position:absolute; bottom:28%; right:22%; width:95px; height:125px; background: linear-gradient(180deg, #2a1a0a 0%, #1a0f05 40%, #0a0700 100%); border-radius: 8% 12% 25% 18%; box-shadow: inset 0 10px 25px rgba(0,0,0,.5), 0 8px 16px rgba(0,0,0,.4); animation: br-sway 14s ease-in-out infinite alternate; transform-origin: bottom center; }
.scn-blunderstone-rookery .house  { position:absolute; bottom:22%; left:50%; width:72px; height:52px; transform:translateX(-50%); background: linear-gradient(180deg, #3a2a1a 0%, #1a1005 100%); border-radius:6% 6% 3% 3%; box-shadow: 0 6px 14px rgba(0,0,0,.5); animation: br-house 11s ease-in-out infinite; }
.scn-blunderstone-rookery .window { position:absolute; bottom:28%; left:50%; width:15px; height:16px; transform:translateX(-50%); background: radial-gradient(circle, #f0d080 0%, #d0a040 70%); border-radius:25% 25% 12% 12%; box-shadow: 0 0 20px 5px #d0a040, 0 0 40px 10px rgba(208,160,64,.4); animation: br-glow 2.5s ease-in-out infinite alternate; }
.scn-blunderstone-rookery .aunt   { position:absolute; bottom:18%; left:8%; width:22px; height:42px; background: linear-gradient(180deg, #161616 0%, #0e0e0e 100%); border-radius:55% 55% 45% 45% / 65% 65% 40% 40%; transform-origin: bottom center; animation: br-walk 4.5s ease-in-out infinite; }
.scn-blunderstone-rookery .ground { position:absolute; bottom:0; left:0; right:0; height:32%; background: linear-gradient(180deg, #0f0f1a 0%, #08041a 100%); border-radius: 55% 45% 0 0 / 75% 65% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.5); animation: br-ground 16s ease-in-out infinite alternate; }
@keyframes br-sky    { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.75 } }
@keyframes br-drift  { 0% { transform: translateX(-40px) } 100% { transform: translateX(130vw) } }
@keyframes br-hop    { 0%,100% { transform: translateY(0) scale(1) rotate(0) } 30% { transform: translateY(-10px) scale(1.08) rotate(-5deg) } 60% { transform: translateY(-5px) scale(1.02) rotate(3deg) } }
@keyframes br-sway   { 0% { transform: rotate(-1.5deg) } 50% { transform: rotate(0) } 100% { transform: rotate(1.5deg) } }
@keyframes br-house  { 0%,100% { transform: translateX(-50%) translateY(0) } 50% { transform: translateX(-50%) translateY(-2px) scale(.99) } }
@keyframes br-glow   { 0% { box-shadow: 0 0 16px 4px #d0a040, 0 0 32px 8px rgba(208,160,64,.3); opacity:.9 } 50% { box-shadow: 0 0 28px 8px #f0d080, 0 0 56px 16px rgba(240,208,128,.5); opacity:1 } 100% { box-shadow: 0 0 20px 5px #d0a040, 0 0 40px 10px rgba(208,160,64,.35); opacity:.95 } }
@keyframes br-walk   { 0% { transform: translateX(0) rotate(-2deg) } 25% { transform: translateX(8px) translateY(-2px) rotate(2deg) } 50% { transform: translateX(16px) rotate(-1deg) } 75% { transform: translateX(24px) translateY(-1px) rotate(1deg) } 100% { transform: translateX(32px) rotate(0) } }
@keyframes br-ground { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(1px) } }
/* end per-scene blocks */
