.haven-welcome{position:absolute;inset:0;z-index:50;background:#fff;color:#68635f;display:flex;flex-direction:column;align-items:center;overflow:hidden;opacity:1;transition:opacity .25s ease;cursor:pointer;font-family:var(--app-font,'Haven Serif',serif)}.haven-welcome.is-closing{opacity:0;pointer-events:none}.welcome-content{position:absolute;top:calc(33% - 52px);left:0;right:0;display:flex;align-items:center;flex-direction:column;padding:0 28px}.welcome-pair{position:relative;flex:none;width:160px;height:104px;transform:scale(.85);transform-origin:center center}.welcome-pair .welcome-cat,.welcome-pair .welcome-panther{position:absolute;bottom:0;width:92px;height:92px;object-fit:contain;animation:welcomeBreathe 3.3s ease-in-out infinite;transform-origin:50% 85%}.welcome-cat{left:0;z-index:2}.welcome-panther{left:68px;z-index:1;animation-delay:-1.5s!important}.welcome-heart{position:absolute;width:25px;height:25px;left:70px;top:5px;opacity:0}.is-ready .welcome-cat{animation:welcomeLean 1.7s ease-in-out both}.is-ready .welcome-heart{animation:welcomeHeart 1.7s .15s ease-out both}.welcome-line{max-width:340px;width:100%;margin:16px 0 0;text-align:center;font-size:clamp(15px,4vw,18px);line-height:1.9;font-weight:400;letter-spacing:.035em;white-space:pre-wrap;overflow-wrap:anywhere;opacity:0}.is-ready .welcome-line{animation:welcomeWords .6s ease-out forwards}.welcome-skip{position:absolute;bottom:max(25px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);font-family:inherit;font-size:12px;line-height:1.5;color:#8c8782!important;border:0;background:transparent;padding:12px 20px;opacity:.7;cursor:pointer}.welcome-options label{margin:14px 0}.welcome-settings-note{font-size:12px;line-height:1.8;opacity:.7}
@keyframes welcomeBreathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.5px)}}@keyframes welcomeLean{0%,100%{transform:translateX(0)}45%,65%{transform:translateX(4px) rotate(2deg)}}@keyframes welcomeHeart{0%,100%{opacity:0;transform:translateY(3px) scale(.7)}40%{opacity:.85;transform:translateY(-3px) scale(1)}}@keyframes welcomeWords{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.haven-welcome{transition:opacity .12s}.haven-welcome *{animation:none!important}.haven-welcome.is-ready .welcome-line{opacity:1}}
