.launch-banner { display: flex; align-items: center; gap: 18px; margin-top: 24px; padding: 18px 24px; border: 1px solid #b6e4d5; border-radius: 24px; background: linear-gradient(110deg, #e4f9ef, #f1fcf8 65%, #e6f5ff); box-shadow: 0 12px 35px #0878650a; }
.launch-banner-icon { flex: 0 0 54px; width: 54px; height: 54px; border-radius: 15px; }
.launch-banner-copy { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px 12px; }
.launch-label { color: #08745f; font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.launch-banner-copy .launch-label { flex-basis: 100%; }
.launch-banner-copy strong { font-size: 19px; letter-spacing: -.035em; }
.launch-banner-copy > span:last-child { color: #48685e; font-size: 14px; }
.launch-banner-link { flex-shrink: 0; margin-left: auto; color: #086a56; font-size: 13px; font-weight: 750; }
.launch-banner-link > span { display: inline-block; margin-left: 8px; transition: transform .2s; }
.launch-banner:hover .launch-banner-link > span { transform: translate(2px, -2px); }
.launch-popup[hidden] { display: none; }
.launch-popup { position: fixed; z-index: 40; right: max(24px, env(safe-area-inset-right)); bottom: max(24px, env(safe-area-inset-bottom)); width: 370px; max-width: calc(100vw - 32px); max-height: calc(100dvh - 32px); overflow: auto; border: 1px solid #cee9de; border-radius: 28px; color: #173e34; background: #f8fffb; box-shadow: 0 24px 80px #07372c38, 0 4px 16px #07372c12; animation: launch-enter .6s cubic-bezier(.2,.8,.2,1) both; }
.launch-close { position: absolute; z-index: 2; top: 12px; right: 12px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #ffffff3b; border-radius: 50%; color: white; background: #053e3299; font-size: 26px; cursor: pointer; }
.launch-close:hover { background: #053e32; }
.launch-art { position: relative; height: 184px; overflow: hidden; background: radial-gradient(ellipse at 57% 65%, #279b78 0%, #0a614c 47%, #063d33 100%); }
.launch-orbit { position: absolute; width: 300px; height: 132px; left: 30px; top: 30px; border: 1px solid #b7f5d63b; border-radius: 50%; transform: rotate(-24deg); }
.launch-orbit::after { content: ""; position: absolute; inset: -30px 18px; border: 1px solid #b7f5d620; border-radius: 50%; }
.launch-app { position: absolute; top: 63px; left: 80px; width: 76px; height: 76px; border: 1px solid #ffffff70; border-radius: 21px; box-shadow: 0 18px 30px #002b354d; transform: rotate(-12deg); }
.launch-rocket { position: absolute; top: 13px; right: 77px; width: 96px; height: 140px; transform: rotate(23deg); filter: drop-shadow(0 9px 12px #002c3855); animation: launch-liftoff 1.3s ease-out 2 alternate; }
.launch-flame { transform-origin: 60px 112px; animation: launch-flame .4s ease-in-out 6 alternate; }
.launch-star { position: absolute; color: #c4ffe4; }
.launch-star-one { top: 28px; left: 59px; font-size: 19px; }
.launch-star-two { top: 108px; right: 45px; font-size: 26px; }
.launch-star-three { top: 31px; left: 172px; font-size: 10px; }
.launch-art-caption { position: absolute; bottom: 15px; left: 0; right: 0; text-align: center; color: #bfe7d8; font-size: 9px; font-weight: 750; letter-spacing: .2em; }
.launch-popup-copy { padding: 24px; }
.launch-popup-copy .launch-label { display: flex; align-items: center; gap: 7px; margin: 0 0 10px; }
.launch-live-dot { width: 6px; height: 6px; border-radius: 50%; background: #098567; box-shadow: 0 0 0 4px #09856712; }
.launch-popup h2 { margin: 0; font-size: 29px; line-height: 1.15; letter-spacing: -.05em; }
.launch-popup-copy > p:not(.launch-label) { margin: 12px 0 20px; color: #526b61; font-size: 15px; line-height: 1.55; }
.launch-store { display: flex; justify-content: center; width: 100%; min-height: 48px; padding: 14px 16px; border-radius: 15px; color: white; background: #08775f; font-size: 14px; box-shadow: 0 8px 20px #08775f20; }
.launch-store:hover { background: #065e4b; }
.launch-details { display: block; padding: 15px 8px 0; text-align: center; color: #49695c; font-size: 13px; font-weight: 650; }
.launch-banner:focus-visible, .launch-popup :focus-visible { outline: 3px solid #18b995; outline-offset: 4px; }
.launch-popup h2:focus { outline: none; }
.coming-icons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
html[data-theme="dark"] .launch-banner { border-color: #285347; background: linear-gradient(110deg, #11392f, #132b28 65%, #172e3e); }
html[data-theme="dark"] .launch-banner-copy > span:last-child { color: #b2cfc2; }
html[data-theme="dark"] .launch-banner-link, html[data-theme="dark"] .launch-label { color: #8ce5bf; }
html[data-theme="dark"] .launch-popup { border-color: #315c4c; color: #edf9f2; background: #132b23; box-shadow: 0 24px 80px #0008; }
html[data-theme="dark"] .launch-popup-copy > p:not(.launch-label), html[data-theme="dark"] .launch-details { color: #b2cfc2; }
html[data-theme="dark"] .launch-live-dot { background: #8ce5bf; }
html[data-theme="dark"] .launch-store { background: #8ce5bf; color: #103a2c; }
html[data-theme="dark"] .launch-store:hover { background: #a8f0d1; }
.launch-banner-sleep { border-color: #cfc2ff; background: linear-gradient(110deg, #f0edff, #faf8ff 65%, #f1edff); box-shadow: 0 12px 35px #7959d01a; }
.launch-banner-sleep .launch-label, .launch-banner-sleep .launch-banner-link { color: #6245c7; }
.launch-banner-sleep .launch-banner-copy > span:last-child { color: #5f5a78; }
.launch-popup-sleep { border-color: #b8a8ef; color: #272044; background: #fbfaff; box-shadow: 0 24px 80px #24135e38, 0 4px 16px #24135e12; }
.launch-popup-sleep .launch-art { background: radial-gradient(ellipse at 57% 65%, #946ff1 0%, #563aa5 47%, #241656 100%); }
.launch-popup-sleep .launch-orbit { border-color: #e2d9ff52; }
.launch-popup-sleep .launch-orbit::after { border-color: #e2d9ff2b; }
.launch-popup-sleep .launch-star { color: #eee8ff; }
.launch-popup-sleep .launch-art-caption { color: #e1d9ff; }
.launch-popup-sleep .launch-live-dot { background: #7654e8; box-shadow: 0 0 0 4px #7654e81a; }
.launch-popup-sleep .launch-store { background: #7654e8; box-shadow: 0 8px 20px #7654e82e; }
.launch-popup-sleep .launch-store:hover { background: #6443d2; }
.launch-popup-sleep .launch-details { color: #625b82; }
.launch-popup-sleep .launch-label { color: #6245c7; }
.launch-popup-sleep .launch-popup-copy > p:not(.launch-label) { color: #625b82; }
.launch-popup-sleep .launch-close { background: #24165699; }
.launch-popup-sleep .launch-close:hover { background: #241656; }
.launch-banner-sleep:focus-visible, .launch-popup-sleep :focus-visible { outline-color: #a893ff; }
html[data-theme="dark"] .launch-banner-sleep { border-color: #4f3e8d; background: linear-gradient(110deg, #211944, #1e1939 65%, #282044); }
html[data-theme="dark"] .launch-banner-sleep .launch-label, html[data-theme="dark"] .launch-banner-sleep .launch-banner-link { color: #c7baff; }
html[data-theme="dark"] .launch-banner-sleep .launch-banner-copy > span:last-child { color: #c4bddc; }
html[data-theme="dark"] .launch-popup-sleep { border-color: #5b4b9d; color: #f4f0ff; background: #211a3b; }
html[data-theme="dark"] .launch-popup-sleep .launch-label { color: #c7baff; }
html[data-theme="dark"] .launch-popup-sleep .launch-live-dot { background: #a893ff; box-shadow: 0 0 0 4px #a893ff1a; }
html[data-theme="dark"] .launch-popup-sleep .launch-store { background: #a893ff; color: #211642; }
html[data-theme="dark"] .launch-popup-sleep .launch-store:hover { background: #b9aaff; }
html[data-theme="dark"] .launch-popup-sleep .launch-details, html[data-theme="dark"] .launch-popup-sleep .launch-popup-copy > p:not(.launch-label) { color: #cbc4e3; }
@keyframes launch-enter { from { opacity: 0; transform: translateY(24px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes launch-liftoff { from { transform: translate(-5px, 9px) rotate(20deg); } to { transform: translate(3px, -5px) rotate(25deg); } }
@keyframes launch-flame { from { transform: scaleY(.8); } to { transform: scaleY(1.1); } }
@media (max-width: 600px) {
  .launch-banner { gap: 12px; padding: 15px; border-radius: 20px; }
  .launch-banner-icon { flex-basis: 44px; width: 44px; height: 44px; border-radius: 12px; }
  .launch-banner-copy strong { font-size: 17px; }
  .launch-banner-copy > span:last-child { font-size: 12px; line-height: 1.4; }
  .launch-banner-link { font-size: 0; }
  .launch-banner-link > span { margin: 0; font-size: 20px; }
  .launch-popup { right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); }
  .launch-art { height: 154px; }
  .launch-app { top: 45px; }
  .launch-rocket { top: 0; width: 84px; height: 122px; }
  .launch-popup-copy { padding: 20px; }
}
@media (max-height: 540px) { .launch-art { display: none; } .launch-popup-copy { padding-top: 60px; } }
@media (prefers-reduced-motion: reduce) {
  .launch-popup, .launch-rocket, .launch-flame { animation: none; }
  .launch-banner-link > span { transition: none; }
  html { scroll-behavior: auto; }
}
