/* TZ3 · Rocket in space. Visual only; pairs with rocket-space.js. */
.rs-stage{isolation:isolate;overflow:hidden}
.rs-space{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;border-radius:inherit;--rs-d:0;--rs-heat:0;
  background:radial-gradient(ellipse at 60% 30%,#16245a,#050a1c 70%)}
.rs-deep{position:absolute;inset:-4% -2%;background:center/cover no-repeat;opacity:0;transition:opacity .9s ease;
  transform:translate3d(0,calc(var(--rs-d)*3%),0) scale(1.04);will-change:transform}
.rs-space.rs-ready .rs-deep{opacity:1}
.rs-planet{position:absolute;opacity:0;transition:opacity 1s ease .2s;will-change:transform;user-select:none}
.rs-space.rs-ready .rs-planet,.rs-space.rs-ready .rs-horizon{opacity:1}
.rs-giant{width:min(46%,420px);right:-6%;top:6%;transform:translate3d(0,calc(var(--rs-d)*38%),0) rotate(-6deg);
  filter:drop-shadow(0 0 30px #ffb46a22)}
.rs-ocean{width:min(17%,150px);left:7%;top:12%;transform:translate3d(0,calc(var(--rs-d)*70%),0)}
.rs-moon{width:min(8%,70px);left:30%;top:4%;opacity:.85;transform:translate3d(0,calc(var(--rs-d)*120%),0)}
.rs-fx{position:absolute;inset:0;width:100%;height:100%}
.rs-horizon{position:absolute;left:-6%;width:112%;bottom:-2%;opacity:0;filter:brightness(.72) saturate(1.1);
  transform:translate3d(0,calc(var(--rs-d)*120%),0);transition:opacity 1s ease .2s;will-change:transform}
.rs-flash{position:absolute;inset:0;opacity:0}
.rs-flash.go{animation:rs-flash .7s ease-out}
.rs-flash.launch{background:radial-gradient(ellipse at 50% 92%,#ffd58a88,#ff9a4a33 35%,transparent 70%)}
.rs-flash.cash{background:radial-gradient(circle at 50% 55%,#7dffc466,#37d3ff22 40%,transparent 70%)}
.rs-flash.boom{background:radial-gradient(circle at 50% 55%,#fff2c0cc,#ff6a3a88 25%,#a0142855 50%,transparent 75%);animation-duration:.9s}
@keyframes rs-flash{0%{opacity:1}100%{opacity:0}}
.rs-space.rs-cash::after{content:"";position:absolute;left:50%;top:55%;width:160px;height:160px;margin:-80px 0 0 -80px;border-radius:50%;
  border:2px solid #8dffc4;box-shadow:0 0 30px #8dffc488;animation:rs-ring .9s cubic-bezier(.2,.7,.3,1) forwards}
@keyframes rs-ring{0%{opacity:1;transform:scale(.4)}100%{opacity:0;transform:scale(3)}}
.rs-stage.rs-shake{animation:rs-shake .5s cubic-bezier(.36,.07,.19,.97)}
@keyframes rs-shake{10%,90%{transform:translate(-1px,1px)}20%,80%{transform:translate(3px,-2px)}30%,50%,70%{transform:translate(-5px,2px)}40%,60%{transform:translate(5px,-1px)}}
/* heat glow on the stage edge as the multiplier climbs */
.rs-space::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:calc(var(--rs-heat)*.8);
  background:radial-gradient(ellipse at 50% 100%,#ff8a3a33,transparent 60%)}
/* replace the old flat stars / planet / orbit drawings */
.rs-stage .stars,.rs-stage #stars,.rs-page-training .rs-stage .planet,.rs-page-training .rs-stage .orbit{display:none!important}
/* training rocket: transform-only pose driven by rocket-space.js (smooth, no layout animation) */
.rs-page-training .rs-stage .rocket{animation:none!important;transition:filter .4s!important;left:50%!important;bottom:30px!important;
  transform:translateX(-50%) translate(var(--rs-x,0px),calc(var(--rs-y,0px)*-1)) rotate(var(--rs-r,-10deg)) scale(var(--rs-s,1))!important;
  will-change:transform}
@media (max-width:850px){.rs-page-training .rs-stage .rocket{bottom:18px!important}}
/* readability over the brighter scene */
.rs-on .rs-stage .multiplier,.rs-on .rs-stage #multiplier{text-shadow:0 6px 30px #000d,0 0 34px #36d4ff55}
@media (prefers-reduced-motion:reduce){.rs-flash.go,.rs-space.rs-cash::after,.rs-stage.rs-shake{animation:none}}
html.rs-lite .rs-giant{filter:none}
