/* ===== HABITS FOR LAUNCH ===== */
/* box model: padding + margin use % and vw (per assignment) */
.launch-section {
  max-width: 600px;
  margin: 6vw auto;          /* EXTERNAL margin — vw */
  padding: 5vw 6%;           /* INTERNAL padding — vw and % */
  background: linear-gradient(160deg, #2a1226, #160a18);   /* panel color — tweak here */
  border-radius: 20px;
  text-align: center;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.4);
}

/* --- the rocket --- */
.rocket { position: relative; width: 120px; height: 200px; margin: 0 auto 10px; animation: float 3s ease-in-out infinite; }
.rocket-body {
  position: absolute; left: 50%; top: 0; transform: translateX(-50%);
  width: 76px; height: 150px;
  background: linear-gradient(#FDF1F8, #F2A6CE);   /* body: light to pink */
  border: 3px solid #C71585;                        /* pink outline */
  border-radius: 50% 50% 26% 26% / 46% 46% 20% 20%;
  z-index: 2;
}
.rocket-window {
  position: absolute; left: 50%; top: 34px; transform: translateX(-50%);
  width: 34px; height: 34px; border-radius: 50%;
  background: radial-gradient(#F6D98B, #E3B24C);    /* gold window */
  border: 4px solid #C71585; z-index: 3;
}
.rocket-fin { position: absolute; bottom: 22px; width: 0; height: 0; z-index: 1; }
.rocket-fin.l { left: 16px; border-bottom: 46px solid #C71585; border-left: 22px solid transparent; }
.rocket-fin.r { right: 16px; border-bottom: 46px solid #C71585; border-right: 22px solid transparent; }
.rocket-flame {
  position: absolute; left: 50%; bottom: -4px; transform: translateX(-50%);
  width: 28px; height: 42px;
  background: linear-gradient(#FFD801, #E3702C);    /* gold-orange flame */
  border-radius: 50% 50% 50% 50% / 30% 30% 78% 78%;
  z-index: 0; animation: flicker 0.45s ease-in-out infinite alternate;
}
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes flicker { from { transform: translateX(-50%) scaleY(0.8); opacity: 0.9; } to { transform: translateX(-50%) scaleY(1.12); opacity: 1; } }

/* --- text + list --- */
.launch-heading { font-family: 'Caveat', cursive; font-size: 3rem; color: #FFD801; margin: 0 0 6px; }
.launch-intro { font-family: 'EB Garamond', Georgia, serif; font-style: italic; font-size: 1.3rem; color: #F3E8EF; margin: 0 0 24px; }
.habits-list { list-style: none; max-width: 420px; margin: 0 auto; padding: 0; text-align: left; }
.habits-list li {
  font-family: 'EB Garamond', Georgia, serif; font-size: 1.15rem; color: #FBF7F2; line-height: 1.5;
  padding: 12px 0 12px 40px; position: relative; border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.habits-list li::before { content: "\2605"; color: #FFD801; position: absolute; left: 8px; top: 12px; font-size: 1.2rem; }

/* respect reduced motion */
@media (prefers-reduced-motion: reduce) { .rocket, .rocket-flame { animation: none; } }