/* Daily red envelope (fortune.js). */
.lm-fortune { position: fixed; left: 16px; bottom: 16px; z-index: 900; width: 46px; height: 58px; padding: 0; border: 0; border-radius: 8px; cursor: pointer; background: #c8102e; box-shadow: 0 6px 18px rgba(0,0,0,.22); }
.lm-fortune:hover { transform: translateY(-2px) rotate(-3deg); }
.lm-env { position: absolute; inset: 0; border-radius: 8px; overflow: hidden; }
.lm-env::before { content: ''; position: absolute; left: -10%; right: -10%; top: -30%; height: 60%; background: #a50d25; border-radius: 0 0 50% 50%; }
.lm-env::after { content: '福'; position: absolute; left: 50%; top: 38%; transform: translate(-50%, -50%); width: 20px; height: 20px; border-radius: 50%; background: #f2c14e; color: #a50d25; font: 700 12px/20px serif; text-align: center; }
.lm-env-card { position: fixed; left: 16px; bottom: 16px; z-index: 901; width: min(340px, calc(100vw - 32px)); padding-top: 8px; }
.lm-env-letter { position: relative; z-index: 1; margin: 0 14px -40px; background: #fffaf0; color: #3a2a1a; border-radius: 8px; padding: 16px 18px 54px; box-shadow: 0 6px 20px rgba(0,0,0,.18); border: 1px solid #f2c14e; }
.lm-env-pocket { position: relative; z-index: 2; height: 74px; background: #c8102e; border-radius: 0 0 12px 12px; box-shadow: 0 10px 30px rgba(0,0,0,.25); }
.lm-env-flap { position: absolute; left: 0; right: 0; top: 0; height: 26px; background: #a50d25; border-radius: 0 0 50% 50% / 0 0 100% 100%; }
.lm-env-seal { position: absolute; left: 50%; top: 10px; transform: translateX(-50%); width: 34px; height: 34px; border-radius: 50%; background: #f2c14e; color: #a50d25; font: 700 18px/34px serif; text-align: center; }
.lm-env-quote { font-size: 1.05rem; font-weight: 600; margin: 0 0 10px; }
.lm-env-lunar, .lm-env-note, .lm-env-hours, .lm-env-count { margin: 4px 0 0; font-size: .85rem; color: #7a5a3a; }
.lm-env-note { color: #a50d25; font-weight: 600; }
.lm-env-x { position: absolute; right: 18px; top: 14px; z-index: 3; border: 0; background: none; font-size: 20px; cursor: pointer; color: #7a5a3a; }
.lm-env-card.is-opening .lm-env-letter { animation: lm-env-rise .7s .15s cubic-bezier(.2,.8,.2,1) both; }
.lm-env-card.is-opening .lm-env-pocket { animation: lm-env-shake .5s ease-out both; }
@keyframes lm-env-rise { from { transform: translateY(90px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes lm-env-shake { 0% { transform: scale(.6) rotate(-6deg); } 50% { transform: scale(1.05) rotate(3deg); } 100% { transform: none; } }
@media (prefers-reduced-motion: reduce) { .lm-env-card * { animation: none !important; } }
