/* The homepage's launchable companion: no panel, no page-sized hit target. */
.rocket-float[hidden],.rocket-float [hidden]{display:none!important}
.rocket-float{position:fixed;inset:0;z-index:45;pointer-events:none;isolation:isolate}
.rocket-trajectory{position:absolute;inset:0;display:none;width:100%;height:100%;overflow:hidden;pointer-events:none}
.rocket-float:is([data-flight=countdown],[data-flight=flying]) .rocket-trajectory{display:block}
.rocket-trajectory path{fill:none;stroke:var(--ember);stroke-width:1;stroke-opacity:.3;stroke-dasharray:4 8;vector-effect:non-scaling-stroke}
.rocket-trajectory circle{fill:var(--bg);stroke:var(--ember);stroke-opacity:.65;stroke-width:1}
.rocket-trajectory text{fill:var(--ember-text);fill-opacity:.8;stroke:var(--bg);stroke-width:4;paint-order:stroke;stroke-linejoin:round;font:10px var(--mono);letter-spacing:.04em}
#rocketFlightCanvas{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}
.rocket-dock{position:absolute;right:30px;bottom:95px;width:248px;height:130px;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:0;border:0;background:transparent;color:var(--ink);cursor:pointer;pointer-events:auto;text-align:right;-webkit-tap-highlight-color:transparent}
.rocket-dock-copy{display:flex;flex-direction:column;gap:5px;white-space:nowrap;text-shadow:0 1px 12px var(--bg),0 0 24px var(--bg);transition:transform .25s,opacity .25s;line-height:1.5}
.rocket-dock-copy>span{font:11px/1.6 var(--mono);color:var(--dim)}
.rocket-dock-copy strong{font:600 14px/1.6 var(--body);color:var(--ember-text);border-bottom:1px solid color-mix(in srgb,var(--ember) 45%,transparent);padding-bottom:3px}
.rocket-dock-copy strong span{display:inline-block;margin-left:7px;transition:transform .25s}
.rocket-dock:hover .rocket-dock-copy{transform:translateX(-5px)}.rocket-dock:hover .rocket-dock-copy strong span{transform:translate(2px,-2px)}
.rocket-icon{width:90px;height:130px;flex:none;filter:drop-shadow(0 6px 9px #0005);pointer-events:none}
.rocket-float[data-webgl=true] .rocket-icon{visibility:hidden}
.rocket-icon-fire{opacity:0}
.rocket-return{position:absolute;right:30px;bottom:112px;min-height:44px;padding:10px 13px;border:1px solid var(--line-2);border-radius:30px;background:var(--panel);backdrop-filter:blur(12px);color:var(--ember-text);font:11px var(--mono);cursor:pointer;pointer-events:auto}
.rocket-return span{margin-inline:7px}.rocket-return:hover{border-color:var(--ember)}
.rocket-countdown{position:absolute;right:135px;bottom:160px;width:118px;display:grid;justify-items:center;gap:7px;pointer-events:none;color:var(--ember-text);text-shadow:0 2px 14px var(--bg),0 0 22px var(--bg)}
.rocket-countdown>span{font:10px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.15em}
.rocket-countdown strong{display:grid;place-items:center;width:68px;height:68px;border:1px solid color-mix(in srgb,var(--ember) 55%,transparent);border-radius:50%;background:color-mix(in srgb,var(--bg) 75%,transparent);font:600 48px/1 var(--mono);font-variant-numeric:tabular-nums;box-shadow:0 0 30px color-mix(in srgb,var(--ember) 12%,transparent)}
.rocket-float[data-flight=countdown] .rocket-dock{pointer-events:none}.rocket-float[data-flight=countdown] .rocket-dock-copy{visibility:hidden}
.rocket-float[data-flight=countdown] .rocket-return{right:135px;bottom:103px;width:118px;font-size:10px}
.rocket-dock:focus-visible{outline:2px solid var(--ember);outline-offset:5px;border-radius:12px}.rocket-return:focus-visible{outline-color:var(--ember)}
.rocket-float[data-flight=returning] .rocket-dock-copy{animation:rocket-arrival .5s ease-out both}
.rocket-float[data-flight=flying][data-webgl=false] .rocket-icon{position:fixed;width:70px;height:110px;left:var(--rocket-x);top:var(--rocket-y);transform:translate(-50%,-50%) rotate(var(--rocket-angle));visibility:visible}
.rocket-float[data-flight=flying][data-webgl=false] .rocket-dock{display:block!important;width:0;height:0;pointer-events:none}
.rocket-float[data-flight=flying] .rocket-dock-copy{display:none}.rocket-float[data-flight=flying] .rocket-icon-fire{opacity:1}
@keyframes rocket-arrival{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.rocket-dock{width:100px;height:155px;right:25px;bottom:80px;justify-content:center}.rocket-dock-copy{position:absolute;bottom:0;right:0;text-align:center;white-space:nowrap}.rocket-dock-copy>span{display:none}.rocket-dock-copy strong{font-size:11px}.rocket-dock-copy strong span{margin-left:3px}.rocket-return{font-size:10px}.rocket-dock-copy{text-shadow:0 1px 8px var(--bg),0 0 14px var(--bg),0 0 22px var(--bg)}}
@media(max-height:500px){.rocket-dock{bottom:95px;height:110px}.rocket-return{bottom:88px}}
@media(prefers-reduced-motion:reduce){.rocket-float *{transition:none!important;animation:none!important}}

/* Countdown: where we're headed */
.rocket-countdown em{display:block;max-width:180px;font:500 11px/1.4 var(--mono);font-style:normal;letter-spacing:.04em;text-align:center;color:var(--ink);white-space:normal}
.rocket-countdown strong{animation:rocket-tick 1s ease-out infinite}
@keyframes rocket-tick{0%{transform:scale(1.18);box-shadow:0 0 0 0 color-mix(in srgb,var(--ember) 45%,transparent)}100%{transform:scale(1);box-shadow:0 0 0 18px transparent}}

/* Arrival report */
.rocket-destination{position:absolute;right:30px;bottom:240px;width:min(340px,calc(100vw - 40px));max-height:calc(100dvh - 260px);overflow-y:auto;box-sizing:border-box;padding:16px 18px 14px;
  border:1px solid var(--line-2);border-top:2px solid var(--ember);border-radius:14px;background:var(--bg);
  box-shadow:0 24px 60px -18px rgba(0,0,0,.55),0 0 0 1px color-mix(in srgb,var(--ember) 10%,transparent);color:var(--ink);pointer-events:auto;animation:rocket-arrival .45s cubic-bezier(.2,.8,.2,1) both}
.rocket-destination::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(120% 70% at 100% 0%,color-mix(in srgb,var(--ember) 14%,transparent),transparent 60%)}
.rocket-destination>*{position:relative}
.rocket-destination-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-6px -10px 0 0}
.rocket-destination-kicker{color:var(--ember-text);font:500 10.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.rocket-destination-top button{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--dim);font:22px/1 var(--body);cursor:pointer}
.rocket-destination-top button:hover{color:var(--ember-text);background:var(--ember-soft)}
.rocket-destination-arrived{display:block;margin-top:2px;font:10px/1.4 var(--mono);color:var(--dim);letter-spacing:.12em;text-transform:uppercase}
.rocket-destination-name{margin:2px 0 12px;font:800 clamp(28px,3.2vw,36px)/1 var(--display);font-stretch:118%;letter-spacing:-.01em;color:var(--ink);text-wrap:balance}
.rocket-destination-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0 0 12px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--line)}
.rocket-destination-stats div{padding:9px 11px;background:var(--bg)}
.rocket-destination-stats dt{font:10px/1.5 var(--mono);color:var(--dim);text-transform:uppercase;letter-spacing:.08em}
.rocket-destination-stats dd{margin:3px 0 0;font:600 16px/1.3 var(--body);color:var(--ember-text);font-variant-numeric:tabular-nums}
.rocket-destination-fact{margin:0 0 10px;font:15px/1.5 var(--body);color:var(--text)}
.rocket-destination-note{display:block;font:10.5px/1.6 var(--mono);color:var(--dim)}
.rocket-destination-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:12px}
.rocket-again{min-height:44px;padding:0 16px;border:0;border-radius:30px;background:var(--ember);color:var(--on-ember);font:600 14px var(--body);cursor:pointer}
.rocket-again:hover{filter:brightness(1.08)}.rocket-again span{display:inline-block;margin-left:4px;transition:transform .2s}.rocket-again:hover span{transform:translate(2px,-2px)}
.rocket-destination-actions a{display:inline-flex;align-items:center;min-height:44px;color:var(--ember-text);font:500 13px var(--body);text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--ember) 50%,transparent)}
.rocket-destination :focus-visible{outline:2px solid var(--ember);outline-offset:2px}
.rocket-float[data-report=open] .rocket-dock-copy>span{visibility:hidden}
@media(max-width:600px){
  .rocket-destination{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto;max-height:calc(100dvh - 90px);padding:14px 16px 12px}
  .rocket-float[data-report=open] .rocket-dock{visibility:hidden}
  .rocket-destination-name{font-size:30px}
  .rocket-countdown{right:16px;bottom:250px;width:120px}
  .rocket-float[data-flight=countdown] .rocket-return{right:auto;left:50%;bottom:24px;width:auto;transform:translateX(-50%)}
  .rocket-float[data-flight=flying] .rocket-return{right:auto;left:50%;bottom:24px;transform:translateX(-50%)}
}
@media(max-height:500px){.rocket-destination{bottom:12px;right:140px;width:min(340px,calc(100vw - 170px));max-height:calc(100dvh - 24px)}}
@media(prefers-reduced-motion:reduce){.rocket-countdown strong{animation:none}}

/* Countdown and skip sit on solid chips so they stay readable over hero copy */
.rocket-countdown{padding:12px 10px 11px;border:1px solid var(--line-2);border-radius:18px;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(10px);box-shadow:0 18px 40px -20px rgba(0,0,0,.5);text-shadow:none}
.rocket-countdown strong{width:58px;height:58px;font-size:40px}
.rocket-return{background:var(--bg)}
@media(max-width:600px){.rocket-countdown{bottom:245px;width:132px}}
