/* "Supported with love by LifeSim.com": the LifeSim blue orb from lifesim.com, with the ring logo. Shared by both pages. */
.ls-love { position: relative; display: flex; align-items: center; gap: 14px; padding: 16px 20px 16px 16px; border-radius: 22px; overflow: hidden; isolation: isolate;
  color: #fff; text-decoration: none; text-align: left;
  background: linear-gradient(180deg, #ffffff40 0%, #fff0 46%), radial-gradient(circle at 22% 18%, #5fb0ff 0%, #1f8bff 35%, #007aff 68%, #0064d6 100%);
  box-shadow: 0 10px 30px #007aff4d, 0 2px 0 #0050ad, inset 0 1px 0 #fff6;
  transition: transform .18s, box-shadow .18s; }
.ls-love:hover { transform: translateY(-2px); box-shadow: 0 16px 40px #007aff66, 0 2px 0 #0050ad, inset 0 1px 0 #fff6; }
.ls-love::after { content: ""; position: absolute; z-index: -1; inset: -40% -10% auto auto; width: 60%; aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(circle, #ffffff38, #fff0 65%); }
.ls-orb { flex: none; width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: #0b1530; box-shadow: 0 4px 12px #0005, inset 0 0 0 2px #ffffff26; }
.ls-orb img { width: 40px; height: 40px; border-radius: 50%; display: block; }
.ls-txt { display: flex; flex-direction: column; min-width: 0; }
.ls-txt small { font: 600 13px/1.2 "Inter", -apple-system, sans-serif; color: #ffffffd9; letter-spacing: .01em; }
.ls-txt b { font: 900 30px/1 "Nichrome", "Inter", Impact, sans-serif; text-transform: uppercase; letter-spacing: .03em; text-shadow: 0 2px 0 #0050ad; margin-top: 3px; }
.ls-txt em { font: 500 12.5px/1.3 "Inter", -apple-system, sans-serif; font-style: normal; color: #ffffffcc; margin-top: 5px; }
.ls-heart { margin-left: auto; flex: none; font-size: 28px; line-height: 1; color: #ff4d6d; text-shadow: 0 2px 6px #0004; animation: ls-beat 1.6s ease-in-out infinite; }
@keyframes ls-beat { 0%, 60%, 100% { transform: scale(1); } 15% { transform: scale(1.22); } 30% { transform: scale(.96); } 45% { transform: scale(1.12); } }
.ls-love.small { padding: 10px 14px 10px 10px; border-radius: 16px; gap: 10px; }
.ls-love.small .ls-orb { width: 38px; height: 38px; }
.ls-love.small .ls-orb img { width: 30px; height: 30px; }
.ls-love.small .ls-txt b { font-size: 21px; }
.ls-love.small .ls-txt small { font-size: 11.5px; }
.ls-love.small .ls-heart { font-size: 20px; }
@media (prefers-reduced-motion: reduce) { .ls-heart { animation: none; } .ls-love { transition: none; } }
