/* ===== Sahne temaları (gen_scenes.py + elle yazılmış parçalar). Süre: --cs-ms, yüzdeler zaman çizelgesidir ===== */
.th { position: absolute; inset: 0; display: none; }
.carshow[data-theme="car"] .th-car, .carshow:not([data-theme]) .th-car { display: block; }
.carshow[data-theme="plane"] .th-plane { display: block; }
.carshow[data-theme="shield"] .th-shield { display: block; }
.carshow[data-theme="house"] .th-house { display: block; }
.carshow[data-theme="cart"] .th-cart { display: block; }
.carshow[data-theme="card"] .th-card { display: block; }

.gnd { position: absolute; left: 0; right: 0; bottom: 0; height: 64px; background: linear-gradient(180deg, #2a3553 0, #151d33 40%, #0a0f1e 100%); border-top: 3px solid rgba(255, 255, 255, .38); box-shadow: 0 -18px 40px rgba(var(--cyan-rgb), .12); }
.gnd-line { position: absolute; left: 0; right: 0; top: 30px; height: 4px; background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .75) 0 46px, transparent 46px 94px); opacity: .7; }

/* ---------------- UÇAK (Turizm) ---------------- */
.th-plane::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 0, rgba(var(--cyan-rgb), .10) 55%, rgba(var(--cyan-rgb), .26) 100%); }
.pl-clouds i { position: absolute; display: block; border-radius: 99px; background: rgba(255, 255, 255, .17); filter: blur(1.5px); box-shadow: 40px -14px 0 -6px rgba(255, 255, 255, .15), -34px -10px 0 -8px rgba(255, 255, 255, .13); }
.pl-clouds .c1 { width: 230px; height: 44px; top: 34px; left: 0; }
.pl-clouds .c2 { width: 170px; height: 34px; top: 150px; left: 0; }
.pl-clouds .c3 { width: 260px; height: 50px; top: 232px; left: 0; opacity: .8; }
.pl-clouds .c4 { width: 140px; height: 28px; top: 92px; left: 0; opacity: .7; }
.pl-scale { position: absolute; left: 50%; bottom: 96px; width: 0; height: 0; transform: scale(calc(var(--cs-s) * .78)); transform-origin: 50% 50%; }
.pl-fly { position: absolute; left: 0; top: 0; width: 0; height: 0; transform: translate(-72vw, 60px) rotate(8deg); }
.pl-plane { position: absolute; left: -150px; top: -58px; width: 300px; height: auto; overflow: visible; filter: drop-shadow(0 16px 18px rgba(0, 0, 0, .35)); }
.pl-trail { position: absolute; right: 150px; top: -3px; width: 300px; height: 6px; border-radius: 6px; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .8)); opacity: 0; }
.pl-globewrap { position: absolute; left: 50%; bottom: 4px; width: 120px; margin-left: -60px; transform: scale(calc(var(--cs-s) * .6)); transform-origin: 50% 100%; }
.pl-globe { display: block; width: 120px; height: auto; transform: scale(0); transform-origin: 50% 85%; overflow: visible; }
.pl-land { animation: pl-spin 5s linear infinite; }
.pl-pin { transform: translateY(-90px); opacity: 0; }
.pl-ping { opacity: 0; transform-box: fill-box; transform-origin: center; }

.cs-go .pl-clouds .c1 { animation: pl-c1 var(--cs-ms) linear both; } .cs-go .pl-clouds .c2 { animation: pl-c2 var(--cs-ms) linear both; }
.cs-go .pl-clouds .c3 { animation: pl-c3 var(--cs-ms) linear both; } .cs-go .pl-clouds .c4 { animation: pl-c4 var(--cs-ms) linear both; }
.cs-go .pl-fly { animation: pl-fly var(--cs-ms) both; }
.cs-go .pl-trail { animation: pl-trail var(--cs-ms) linear both; }
.cs-go .pl-globe { animation: pl-globe var(--cs-ms) cubic-bezier(.3, 1.4, .5, 1) both; }
.cs-go .pl-pin { animation: pl-pin var(--cs-ms) linear both; }
.cs-go .pl-ping { animation: pl-ping var(--cs-ms) linear both; }
@keyframes pl-spin { to { transform: translateX(-120px); } }
@keyframes pl-c1 { from { transform: translateX(85vw); } to { transform: translateX(-40vw); } }
@keyframes pl-c2 { from { transform: translateX(110vw); } to { transform: translateX(-30vw); } }
@keyframes pl-c3 { from { transform: translateX(40vw); } to { transform: translateX(-100vw); } }
@keyframes pl-c4 { from { transform: translateX(-10vw); } to { transform: translateX(120vw); } }
@keyframes pl-trail { 0%, 5% { opacity: 0; } 10%, 28% { opacity: .9; } 33%, 66% { opacity: 0; } 72%, 94% { opacity: .9; } 98%, 100% { opacity: 0; } }
@keyframes pl-globe { 0%, 24% { transform: scale(0); } 32% { transform: scale(1); } 90% { transform: scale(1); } 97%, 100% { transform: scale(0); } }
@keyframes pl-pin { 0%, 36% { opacity: 0; transform: translateY(-90px); } 37% { opacity: 1; } 42% { transform: translateY(0); } 44% { transform: translateY(-14px); } 46%, 100% { opacity: 1; transform: translateY(0); } }
@keyframes pl-ping { 0%, 46% { opacity: 0; transform: scale(.6); } 47% { opacity: .9; } 54% { opacity: 0; transform: scale(3.4); } 55%, 58% { opacity: 0; transform: scale(.6); } 59% { opacity: .9; } 66% { opacity: 0; transform: scale(3.4); } 67%, 70% { opacity: 0; transform: scale(.6); } 71% { opacity: .9; } 78%, 100% { opacity: 0; transform: scale(3.4); } }

@keyframes pl-fly {
  0%, 3% { transform: translate(-72vw, 60px) rotate(8deg); animation-timing-function: cubic-bezier(.15, .7, .25, 1); }
  30% { transform: translate(0px, 0px) rotate(-3deg); animation-timing-function: ease-in-out; }
  36% { transform: translate(0.0px, 0.0px) rotate(0deg); }
  38% { transform: translate(20.0px, -5.4px) rotate(-30deg); }
  40% { transform: translate(34.6px, -20.0px) rotate(-60deg); }
  42% { transform: translate(40.0px, -40.0px) rotate(-90deg); }
  44% { transform: translate(34.6px, -60.0px) rotate(-120deg); }
  46% { transform: translate(20.0px, -74.6px) rotate(-150deg); }
  48% { transform: translate(0.0px, -80.0px) rotate(-180deg); }
  50% { transform: translate(-20.0px, -74.6px) rotate(-210deg); }
  52% { transform: translate(-34.6px, -60.0px) rotate(-240deg); }
  54% { transform: translate(-40.0px, -40.0px) rotate(-270deg); }
  56% { transform: translate(-34.6px, -20.0px) rotate(-300deg); }
  58% { transform: translate(-20.0px, -5.4px) rotate(-330deg); }
  60% { transform: translate(-0.0px, 0.0px) rotate(-360deg); }
  66% { transform: translate(0px, 0px) rotate(-360deg); animation-timing-function: cubic-bezier(.6, 0, .9, .5); }
  97%, 100% { transform: translate(72vw, -90px) rotate(-372deg); }
}


/* ---------------- ŞEMSİYE + KALKAN (Sigorta) ---------------- */
.sh-rain { position: absolute; inset: 0; overflow: hidden; opacity: 0; }
.sh-rain i { position: absolute; top: -40px; width: 2px; border-radius: 2px; background: linear-gradient(180deg, transparent, rgba(170, 215, 255, .8)); transform: rotate(10deg); animation: sh-drop 700ms linear infinite; }
@keyframes sh-drop { from { transform: translateY(0) rotate(10deg); } to { transform: translateY(380px) rotate(10deg); } }
.sh-ground { position: absolute; left: 0; right: 0; bottom: 0; height: 40px; background: linear-gradient(180deg, rgba(var(--cyan-rgb), .22), rgba(8, 24, 55, .0)); border-top: 2px solid rgba(255, 255, 255, .25); }
.sh-scale { position: absolute; left: 50%; bottom: 16px; width: 0; height: 0; transform: scale(calc(var(--cs-s) * .7)); transform-origin: 50% 100%; }
.sh-center { position: absolute; left: 0; bottom: 0; width: 0; height: 0; }
.sh-shield { position: absolute; left: -62px; bottom: 0; width: 124px; height: auto; transform: scale(0); transform-origin: 50% 100%; filter: drop-shadow(0 14px 18px rgba(0, 0, 0, .4)); }
.sh-check { stroke-dasharray: 100; stroke-dashoffset: 100; }
.sh-umbrella { position: absolute; left: -150px; bottom: 138px; width: 300px; height: auto; transform: translateY(-190px) scaleX(.12); transform-origin: 50% 100%; opacity: 0; filter: drop-shadow(0 14px 16px rgba(0, 0, 0, .35)); }
.sh-spark { position: absolute; width: 14px; height: 14px; background: #fff; clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%); opacity: 0; }
.sh-spark.s1 { left: -130px; bottom: 120px; } .sh-spark.s2 { left: 112px; bottom: 150px; width: 18px; height: 18px; background: #ffe27a; } .sh-spark.s3 { left: -90px; bottom: 40px; width: 10px; height: 10px; } .sh-spark.s4 { left: 96px; bottom: 56px; width: 12px; height: 12px; } .sh-spark.s5 { left: 10px; bottom: 236px; width: 12px; height: 12px; background: #8af3f8; }
.sh-heart { position: absolute; width: 26px; height: auto; opacity: 0; }
.sh-heart.h1 { left: -96px; bottom: 90px; } .sh-heart.h2 { left: 84px; bottom: 100px; width: 20px; } .sh-heart.h3 { left: -20px; bottom: 120px; width: 18px; }

.cs-go .sh-rain { animation: sh-rainvis var(--cs-ms) linear both; }
.cs-go .sh-shield { animation: sh-shield var(--cs-ms) cubic-bezier(.3, 1.5, .5, 1) both; }
.cs-go .sh-check { animation: sh-check var(--cs-ms) ease-out both; }
.cs-go .sh-umbrella { animation: sh-umb var(--cs-ms) cubic-bezier(.3, 1.3, .5, 1) both; }
.cs-go .sh-spark { animation: sh-spark 1.4s ease-in-out infinite both; animation-delay: calc(var(--cs-ms) * .7); }
.cs-go .sh-spark.s2 { animation-delay: calc(var(--cs-ms) * .7 + 300ms); } .cs-go .sh-spark.s3 { animation-delay: calc(var(--cs-ms) * .7 + 700ms); }
.cs-go .sh-spark.s4 { animation-delay: calc(var(--cs-ms) * .7 + 1000ms); } .cs-go .sh-spark.s5 { animation-delay: calc(var(--cs-ms) * .7 + 500ms); }
.cs-go .sh-heart { animation: sh-heart 2.4s ease-out infinite both; animation-delay: calc(var(--cs-ms) * .66); }
.cs-go .sh-heart.h2 { animation-delay: calc(var(--cs-ms) * .66 + 700ms); } .cs-go .sh-heart.h3 { animation-delay: calc(var(--cs-ms) * .66 + 1300ms); }
@keyframes sh-rainvis { 0%, 6% { opacity: 0; } 14%, 64% { opacity: 1; } 76%, 100% { opacity: 0; } }
@keyframes sh-shield { 0%, 14% { transform: scale(0); } 24% { transform: scale(1.12); } 28%, 100% { transform: scale(1); } }
@keyframes sh-check { 0%, 26% { stroke-dashoffset: 100; } 38%, 100% { stroke-dashoffset: 0; } }
@keyframes sh-umb { 0%, 36% { opacity: 0; transform: translateY(-190px) scaleX(.12); } 40% { opacity: 1; } 52% { transform: translateY(0) scaleX(1.08); } 56%, 100% { opacity: 1; transform: translateY(0) scaleX(1); } }
@keyframes sh-spark { 0%, 100% { opacity: 0; transform: scale(.3) rotate(0); } 50% { opacity: 1; transform: scale(1.2) rotate(90deg); } }
@keyframes sh-heart { 0% { opacity: 0; transform: translateY(0) scale(.5); } 15% { opacity: 1; } 100% { opacity: 0; transform: translateY(-90px) scale(1.1); } }

/* ---------------- BİNA (Gayrimenkul) ---------------- */
.hs-wrap { position: absolute; left: 50%; bottom: 64px; width: 620px; margin-left: -310px; transform: scale(calc(var(--cs-s) * .74)); transform-origin: 50% 100%; }
.hs-city { display: block; width: 620px; height: auto; overflow: visible; }
.hs-b { transform-box: fill-box; transform-origin: 50% 100%; transform: scaleY(0); }
.hs-win { fill: #0b1226; fill-opacity: .55; }
.hs-keywrap { position: absolute; left: 50%; top: 0; width: 0; height: 0; }
.hs-key { position: absolute; left: 250px; top: 0; width: 56px; height: auto; transform-origin: 50% 0; opacity: 0; filter: drop-shadow(0 10px 10px rgba(0, 0, 0, .4)); }
.cs-go .hs-b1 { animation: hs-up var(--cs-ms) cubic-bezier(.3, 1.2, .5, 1) both; --a: 5%; --b: 17%; }
.cs-go .hs-b2 { animation: hs-up2 var(--cs-ms) cubic-bezier(.3, 1.2, .5, 1) both; }
.cs-go .hs-b3 { animation: hs-up3 var(--cs-ms) cubic-bezier(.3, 1.2, .5, 1) both; }
.cs-go .hs-b4 { animation: hs-up4 var(--cs-ms) cubic-bezier(.3, 1.2, .5, 1) both; }
.cs-go .hs-b5 { animation: hs-up5 var(--cs-ms) cubic-bezier(.3, 1.2, .5, 1) both; }
.cs-go .hs-win { animation: hs-lit 1100ms ease-out both; animation-delay: calc(var(--cs-ms) * .36 + var(--wd, 0ms)); }
.cs-go .hs-key { animation: hs-key var(--cs-ms) ease-in-out both; }
@keyframes hs-up { 0%, 5% { transform: scaleY(0); } 17%, 100% { transform: scaleY(1); } }
@keyframes hs-up2 { 0%, 10% { transform: scaleY(0); } 23%, 100% { transform: scaleY(1); } }
@keyframes hs-up3 { 0%, 15% { transform: scaleY(0); } 27%, 100% { transform: scaleY(1); } }
@keyframes hs-up4 { 0%, 20% { transform: scaleY(0); } 33%, 100% { transform: scaleY(1); } }
@keyframes hs-up5 { 0%, 25% { transform: scaleY(0); } 36%, 100% { transform: scaleY(1); } }
@keyframes hs-lit { from { fill: #0b1226; fill-opacity: .55; } to { fill: #ffe27a; fill-opacity: 1; } }
@keyframes hs-key { 0%, 48% { opacity: 0; transform: translateY(-120px) rotate(0); } 54% { opacity: 1; transform: translateY(0) rotate(0); } 60% { transform: rotate(18deg); } 67% { transform: rotate(-15deg); } 74% { transform: rotate(10deg); } 80% { transform: rotate(-6deg); } 86%, 100% { opacity: 1; transform: rotate(0); } }

/* ---------------- ALIŞVERİŞ ARABASI (E-Ticaret) ---------------- */
.ct-scale { position: absolute; left: 50%; bottom: 40px; width: 0; height: 0; transform: scale(calc(var(--cs-s) * .7)); transform-origin: 50% 100%; }
.ct-x { position: absolute; left: 0; bottom: 0; width: 0; height: 0; transform: translateX(-70vw); }
.ct-pitch { position: absolute; left: 0; bottom: 0; width: 0; height: 0; transform-origin: 0 0; }
.ct-cart { position: absolute; left: -160px; bottom: -6px; width: 320px; height: auto; overflow: visible; }
.ct-wheel { transform-box: fill-box; transform-origin: center; }
.ct-item { position: absolute; overflow: visible; opacity: 0; transform: translateY(-300px); }
.ct-i1 { left: -92px; bottom: 100px; width: 66px; z-index: 1; } .ct-i2 { left: -8px; bottom: 92px; width: 72px; } .ct-i3 { left: 60px; bottom: 98px; width: 62px; }
.ct-badge { position: absolute; left: 40px; bottom: 200px; width: 64px; height: 64px; transform: scale(0); }
.ct-speed { position: absolute; left: -470px; bottom: 20px; width: 240px; height: 120px; opacity: 0; }
.ct-speed b { position: absolute; left: 0; height: 3px; border-radius: 3px; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .85)); }
.ct-speed b:nth-child(1) { bottom: 18px; width: 220px; } .ct-speed b:nth-child(2) { bottom: 52px; width: 160px; left: 50px; } .ct-speed b:nth-child(3) { bottom: 86px; width: 190px; left: 20px; }
.cs-go .ct-x { animation: cs-carx var(--cs-ms) both; }
.cs-go .ct-wheel { animation: cs-spin var(--cs-ms) both; }
.cs-go .ct-speed { animation: cs-speed var(--cs-ms) linear both; }
.cs-go .ct-pitch { animation: ct-pitch var(--cs-ms) ease-in-out both; }
.cs-go .ct-i1 { animation: ct-drop1 var(--cs-ms) linear both; } .cs-go .ct-i2 { animation: ct-drop2 var(--cs-ms) linear both; } .cs-go .ct-i3 { animation: ct-drop3 var(--cs-ms) linear both; }
.cs-go .ct-badge { animation: ct-badge var(--cs-ms) cubic-bezier(.3, 1.5, .5, 1) both; }
@keyframes ct-pitch { 0%, 36% { transform: translateY(0) rotate(0); } 38% { transform: translateY(5px); } 41% { transform: translateY(0); } 46% { transform: translateY(5px); } 49% { transform: translateY(0); } 54% { transform: translateY(6px); } 57%, 70% { transform: translateY(0) rotate(0); } 75% { transform: rotate(-9deg); } 86%, 100% { transform: rotate(0); } }
@keyframes ct-drop1 { 0%, 34% { opacity: 0; transform: translateY(-300px); } 35% { opacity: 1; } 38% { transform: translateY(0); } 39.5% { transform: translateY(-16px); } 41%, 100% { opacity: 1; transform: translateY(0); } }
@keyframes ct-drop2 { 0%, 43% { opacity: 0; transform: translateY(-300px); } 44% { opacity: 1; } 47% { transform: translateY(0); } 48.5% { transform: translateY(-16px); } 50%, 100% { opacity: 1; transform: translateY(0); } }
@keyframes ct-drop3 { 0%, 52% { opacity: 0; transform: translateY(-300px); } 53% { opacity: 1; } 56% { transform: translateY(0); } 57.5% { transform: translateY(-16px); } 59%, 100% { opacity: 1; transform: translateY(0); } }
@keyframes ct-badge { 0%, 60% { transform: scale(0) rotate(-30deg); } 66% { transform: scale(1.15) rotate(8deg); } 70%, 100% { transform: scale(1) rotate(0); } }

/* ---------------- KART (PlatinCard) ---------------- */
.cd-glow { position: absolute; left: 50%; top: 50%; width: 520px; height: 260px; margin: -130px 0 0 -260px; border-radius: 50%; background: radial-gradient(closest-side, rgba(var(--cyan-rgb), .35), transparent); opacity: 0; }
.cd-scale { position: absolute; left: 50%; bottom: 46px; width: 0; height: 0; transform: scale(calc(var(--cs-s) * .64)); transform-origin: 50% 100%; }
.cd-fly { position: absolute; left: 0; bottom: 0; width: 0; height: 0; transform: translate(-60vw, -60px) rotate(-28deg) scale(.6); opacity: 0; }
.cd-bob { position: absolute; left: -160px; bottom: 0; width: 320px; height: 200px; }
.cd-face { position: absolute; inset: 0; border-radius: 22px; overflow: hidden; box-shadow: 0 26px 50px rgba(0, 0, 0, .5); transform-origin: 50% 50%; }
.cd-face svg { display: block; width: 100%; height: 100%; }
.cd-back { transform: scaleX(0); }
.cd-shine { position: absolute; top: -10%; bottom: -10%; width: 38%; left: 0; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .55), transparent); transform: translateX(-160%) skewX(-18deg); pointer-events: none; }
.cd-waves { position: absolute; right: -46px; top: 50%; width: 0; height: 0; }
.cd-waves i { position: absolute; left: 0; top: -40px; width: 80px; height: 80px; border: 5px solid rgba(255, 255, 255, .9); border-left-color: transparent; border-bottom-color: transparent; border-radius: 50%; transform: rotate(45deg) scale(.2); opacity: 0; }
.cd-star { position: absolute; width: 16px; height: 16px; background: #fff; clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%); opacity: 0; }
.cd-star.s1 { left: 30%; top: 22%; } .cd-star.s2 { left: 68%; top: 18%; background: #ffe27a; width: 20px; height: 20px; } .cd-star.s3 { left: 24%; top: 66%; width: 11px; height: 11px; } .cd-star.s4 { left: 74%; top: 64%; width: 13px; height: 13px; background: #8af3f8; } .cd-star.s5 { left: 52%; top: 12%; width: 12px; height: 12px; }

.cs-go .cd-glow { animation: cd-glow var(--cs-ms) linear both; }
.cs-go .cd-fly { animation: cd-fly var(--cs-ms) both; }
.cs-go .cd-bob { animation: cd-bob var(--cs-ms) ease-in-out both; }
.cs-go .cd-front { animation: cd-front var(--cs-ms) ease-in-out both; }
.cs-go .cd-back { animation: cd-back var(--cs-ms) ease-in-out both; }
.cs-go .cd-shine { animation: cd-shine var(--cs-ms) ease-in-out both; }
.cs-go .cd-waves i { animation: cd-wave var(--cs-ms) linear both; } .cs-go .cd-waves i:nth-child(2) { animation-name: cd-wave2; } .cs-go .cd-waves i:nth-child(3) { animation-name: cd-wave3; }
.cs-go .cd-star { animation: cd-star 1.5s ease-in-out infinite both; animation-delay: calc(var(--cs-ms) * .32); }
.cs-go .cd-star.s2 { animation-delay: calc(var(--cs-ms) * .32 + 350ms); } .cs-go .cd-star.s3 { animation-delay: calc(var(--cs-ms) * .32 + 800ms); } .cs-go .cd-star.s4 { animation-delay: calc(var(--cs-ms) * .32 + 1100ms); } .cs-go .cd-star.s5 { animation-delay: calc(var(--cs-ms) * .32 + 550ms); }
@keyframes cd-glow { 0%, 12% { opacity: 0; } 30%, 80% { opacity: 1; } 95%, 100% { opacity: 0; } }
@keyframes cd-fly {
  0%, 3% { opacity: 0; transform: translate(-60vw, -60px) rotate(-28deg) scale(.6); animation-timing-function: cubic-bezier(.15, .75, .25, 1); }
  6% { opacity: 1; }
  30% { opacity: 1; transform: translate(0, 0) rotate(-6deg) scale(1); animation-timing-function: ease-in-out; }
  36%, 78% { opacity: 1; transform: translate(0, 0) rotate(-4deg) scale(1); animation-timing-function: cubic-bezier(.6, 0, .9, .5); }
  95% { opacity: 1; }
  97%, 100% { opacity: 0; transform: translate(62vw, -90px) rotate(22deg) scale(.7); }
}
@keyframes cd-bob { 0%, 30% { transform: translateY(0); } 38% { transform: translateY(-9px); } 46% { transform: translateY(0); } 54% { transform: translateY(-9px); } 62% { transform: translateY(0); } 70% { transform: translateY(-9px); } 78%, 100% { transform: translateY(0); } }
@keyframes cd-front { 0%, 40% { transform: scaleX(1); } 45%, 62% { transform: scaleX(0); } 67%, 100% { transform: scaleX(1); } }
@keyframes cd-back { 0%, 45% { transform: scaleX(0); } 50%, 62% { transform: scaleX(1); } 67%, 100% { transform: scaleX(0); } }
@keyframes cd-shine { 0%, 32% { transform: translateX(-160%) skewX(-18deg); } 38% { transform: translateX(420%) skewX(-18deg); } 39%, 68% { transform: translateX(-160%) skewX(-18deg); } 74%, 100% { transform: translateX(420%) skewX(-18deg); } }
@keyframes cd-wave { 0%, 69% { opacity: 0; transform: rotate(45deg) scale(.2); } 71% { opacity: 1; } 80%, 100% { opacity: 0; transform: rotate(45deg) scale(1.1); } }
@keyframes cd-wave2 { 0%, 72% { opacity: 0; transform: rotate(45deg) scale(.2); } 74% { opacity: 1; } 83%, 100% { opacity: 0; transform: rotate(45deg) scale(1.5); } }
@keyframes cd-wave3 { 0%, 75% { opacity: 0; transform: rotate(45deg) scale(.2); } 77% { opacity: 1; } 86%, 100% { opacity: 0; transform: rotate(45deg) scale(1.9); } }
@keyframes cd-star { 0%, 100% { opacity: 0; transform: scale(.3) rotate(0); } 50% { opacity: 1; transform: scale(1.2) rotate(90deg); } }

@media (max-width: 760px) {
  .hs-wrap { transform: scale(calc(var(--cs-s) * .62)); }
  .pl-clouds .c3 { top: 190px; }
}
@media (prefers-reduced-motion: reduce) { .th * { animation: none !important; } }
