.welcome-intro{display:none;position:fixed;inset:0;z-index:10000;background:#321b15;place-items:center;pointer-events:none}
.show-welcome .welcome-intro{display:grid;animation:welcome-dissolve .35s ease 1.95s both}
.welcome-mark{display:block;width:min(80vw,480px);height:auto;overflow:visible;filter:drop-shadow(0 5px 0 #49230e1a)}
.welcome-letter-art{filter:none}
.show-welcome .welcome-piece{animation:welcome-pop .46s var(--delay) both}
.welcome-tagline{transform-origin:640px 1000px}
.show-welcome .welcome-tagline{animation:welcome-tag .35s .48s both}
.welcome-roll-bounce{transform-origin:1122px 530px}
.show-welcome .welcome-roll-bounce{animation:welcome-jelly .55s .42s both}
@keyframes welcome-pop{0%{opacity:0;transform:translateY(115px) rotate(var(--tilt)) scale(.5)}42%{opacity:1;transform:translateY(-24px) rotate(calc(var(--tilt) * -.3)) scale(1.08,1.12)}65%{transform:translateY(10px) rotate(calc(var(--tilt) * .12)) scale(1.04,.92)}84%{transform:translateY(-4px) scale(.99,1.03)}100%{opacity:1;transform:none}}
@keyframes welcome-tag{0%{opacity:0;transform:translateY(40px) scale(.8)}60%{opacity:1;transform:translateY(-6px) scale(1.04)}100%{opacity:1;transform:none}}
@keyframes welcome-jelly{0%{opacity:0;transform:translateY(-100px) rotate(-18deg) scale(.35)}30%{opacity:1;transform:translateY(0) rotate(5deg) scale(1.22,.76)}48%{transform:translateY(-18px) rotate(-7deg) scale(.88,1.16)}66%{transform:translateY(0) rotate(4deg) scale(1.09,.93)}83%{transform:translateY(-3px) rotate(-2deg) scale(.98,1.04)}100%{opacity:1;transform:none}}
@keyframes welcome-dissolve{0%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){.show-welcome .welcome-intro{display:none}}

.welcome-composition{display:flex;flex-direction:column;align-items:center;gap:4px}
.welcome-script{margin:0;color:#fff3dc;font-family:'Sweet Dough Script',cursive;font-size:clamp(40px,10vw,64px);font-weight:400;line-height:1.4;padding:0 14px 8px;clip-path:inset(0 0 0 0)}
.show-welcome .welcome-script{animation:welcome-write .95s linear .45s both}
@keyframes welcome-write{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
