.lyckis-splash { position: fixed; inset: 0; z-index: 90; display: flex; align-items: center; justify-content: center; flex-direction: column; padding: 28px; background: radial-gradient(ellipse at 50% 40%, #293923 0%, #141c15 35%, #111416 70%); text-align: center; }
.splash-mascot { width: min(220px, 48vw); height: min(220px, 48vw); animation: splash-jump 1.7s ease-in-out infinite; filter: drop-shadow(0 10px 30px #c6f36a13); }
.splash-mascot svg { width: 100%; height: 100%; overflow: visible; }
.splash-hand { transform-origin: 50px 60px; animation: splash-wave .65s ease-in-out infinite alternate; }
.lyckis-splash h1 { font: 700 48px/1.2 'Sora','Inter',sans-serif; color: #f1f7e9; letter-spacing: -2px; margin: 16px 0 12px; }
.lyckis-splash p { font-size: 17px; color: #bccaad; line-height: 1.8; margin: 0; }
.splash-dots { display: flex; gap: 8px; margin-top: 28px; }.splash-dots i { width: 6px; height: 6px; border-radius: 50%; background: #c6f36a; animation: splash-dot 1s ease-in-out infinite; }.splash-dots i:nth-child(2) { animation-delay: .15s; }.splash-dots i:nth-child(3) { animation-delay: .3s; }
.streak-preview-page { max-width: 620px; margin: auto; padding: 24px 20px; }
.streak-preview-page > header { text-align: center; margin-bottom: 18px; }.streak-preview-page > header > strong { font-size: 20px; color: #eef6e6; }.streak-preview-page > header p { color: var(--muted); font-size: 12px; }
.streak-preview-page .daily-celebration { margin-bottom: 18px; }.streak-preview-page > .preview-return { display: block; text-align: center; color: var(--lime); font-size: 13px; padding: 10px; }
.streak-preview-page { max-width: 680px; min-height: 100svh; display: flex; flex-direction: column; justify-content: center; padding-block: 30px; }
.streak-preview-page > header { margin-bottom: 4px; }
.streak-preview-page > header > strong { font-size: 15px; color: #c5cfbc; font-weight: 500; }
.streak-preview-page > header p { font-size: 10px; color: #84907b; }
.streak-preview-page .daily-celebration { margin-bottom: 0; }
.streak-preview-page > .preview-return { font-size: 12px; }
body.celebration-preview-mode { margin: 0; padding: 0; }
.celebration-preview-mode #app { min-height: 0; padding: 0; margin: 0; }
.celebration-preview-mode .streak-preview-page {
  box-sizing: border-box; width: 100%; max-width: 620px; height: 100svh; height: 100dvh; min-height: 0;
  padding: max(18px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));
  display: grid; grid-template-rows: auto minmax(0, 1fr) auto; align-content: center; gap: clamp(4px, 1.2dvh, 12px);
}
.celebration-preview-mode .streak-preview-page > header { margin: 0; }
.celebration-preview-mode .streak-preview-page > header p { margin: 0; font-size: 9px; line-height: 1.4; }
.celebration-preview-mode #streak-preview-stage { min-height: 0; display: flex; align-items: center; justify-content: center; }
.celebration-preview-mode .daily-celebration { width: 100%; padding: 0; margin: 0; }
.celebration-preview-mode .daily-celebration-art { height: clamp(115px, 27dvh, 230px); width: min(280px, 70vw); }
.celebration-preview-mode .daily-cheering-gnista { height: clamp(110px, 24dvh, 190px); width: clamp(110px, 24dvh, 190px); left: 50%; margin-left: calc(clamp(110px, 24dvh, 190px) / -2); top: 0; }
.celebration-preview-mode .daily-audio-hint { bottom: 0; font-size: 10px; }
.celebration-preview-mode .daily-praise { margin: 8px 0 4px; font-size: clamp(13px, 2dvh, 17px); }
.celebration-preview-mode .daily-celebration h2 { font-size: clamp(25px, 4.6dvh, 40px); margin: clamp(8px, 1.8dvh, 16px) 0; line-height: 1.2; }
.celebration-preview-mode .daily-celebration p { font-size: clamp(11px, 1.7dvh, 14px); line-height: 1.7; margin: 0; }
.celebration-preview-mode .daily-streak-days { gap: clamp(5px, 2vw, 12px); margin: clamp(12px, 2.6dvh, 24px) 0 0; }
.celebration-preview-mode .preview-return { min-height: 40px; padding: 10px; font-size: 12px; }
@media(max-height: 480px) and (min-width: 500px) {
  .celebration-preview-mode .streak-preview-page { max-width: 880px; padding-block: 12px; }
  .celebration-preview-mode .daily-celebration { display: grid; grid-template-columns: 40% 60%; align-items: center; }
  .celebration-preview-mode .daily-celebration-art { grid-column: 1; grid-row: 1 / 5; width: 100%; height: 180px; }
  .celebration-preview-mode .daily-cheering-gnista { width: 155px; height: 155px; margin-left: -77.5px; }
  .celebration-preview-mode .daily-celebration > :not(.daily-celebration-art) { grid-column: 2; }
}
@keyframes splash-jump { 0%,100% { transform: translateY(0) rotate(0); } 42% { transform: translateY(-18px) rotate(-5deg); } 70% { transform: translateY(-3px) rotate(4deg); } }
@keyframes splash-wave { to { transform: rotate(5deg); } }
@keyframes splash-dot { 50% { opacity: .25; transform: translateY(-4px); } }
@media(prefers-reduced-motion: reduce) { .lyckis-splash * { animation: none !important; } }
