.welcome-open{overflow:hidden}.welcome{position:fixed;inset:0;z-index:100;background:radial-gradient(ellipse at 50% 68%,#58704844,transparent 55%),#101d18;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:24px;color:#f4e7c9}.welcome[hidden]{display:none}.welcome:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 100px,#ffcf7010 102px,transparent 104px);pointer-events:none}.welcome-heading{z-index:1;text-align:center;margin:0;font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(30px,5.5vw,72px);font-weight:400;line-height:1.02;text-transform:uppercase;letter-spacing:.015em}.welcome-heading span{display:block;color:#ffbd59}.welcome .eyebrow{z-index:1;margin-bottom:12px}.welcome-stage{--figure:min(59svh,88vw,600px);position:relative;width:min(100%,1100px);height:var(--figure);flex:none;margin-top:10px}.welcome-stage:after{content:'';position:absolute;width:70%;height:8%;left:15%;bottom:0;background:radial-gradient(ellipse,#0009,transparent 65%);z-index:-1}.welcome-sprite{position:absolute;left:50%;top:0;width:var(--figure);height:var(--figure);margin-left:calc(var(--figure)*-.5);background-image:url('level3-intro-hotpants.png?v=1');background-size:200% 200%;background-repeat:no-repeat;filter:drop-shadow(0 10px 12px #0004);pointer-events:none}.welcome-left{background-position:0 0;transform:translateX(calc(var(--figure)*-.4))}.welcome-right{background-position:100% 0;transform:translateX(calc(var(--figure)*.4))}.welcome-kiss{background-position:0 100%;opacity:0}.welcome-toast{background-position:100% 100%;opacity:0}.welcome-caption{z-index:1;margin:12px 0 8px;font-size:clamp(11px,1.3vw,15px);color:#b9c8ad;text-align:center;min-height:20px}.welcome-play{z-index:1;width:260px;max-width:90%;min-height:47px;border:0;border-radius:7px;background:#ffbd59;color:#17241b;font-weight:800;cursor:pointer}.welcome-play[hidden]{display:none}.welcome-skip{position:absolute;right:20px;top:18px;background:#17281d;border:1px solid #7b8e65;border-radius:25px;padding:9px 14px;font-size:11px}.welcome-replay{display:block;width:100%;border:1px solid #687b57;background:transparent;border-radius:8px;padding:12px;margin-top:12px;font-size:11px}.welcome[data-phase=walk] .welcome-left{animation:welcome-from-left 2.8s linear forwards,welcome-step .34s ease-in-out infinite}.welcome[data-phase=walk] .welcome-right{animation:welcome-from-right 2.8s linear forwards,welcome-step .34s .17s ease-in-out infinite}.welcome[data-phase=kiss] .welcome-left,.welcome[data-phase=kiss] .welcome-right,.welcome[data-phase=toast] .welcome-left,.welcome[data-phase=toast] .welcome-right,.welcome[data-phase=done] .welcome-left,.welcome[data-phase=done] .welcome-right{opacity:0}.welcome[data-phase=kiss] .welcome-kiss{opacity:1;animation:welcome-affection 1.6s ease-in-out}.welcome[data-phase=toast] .welcome-toast,.welcome[data-phase=done] .welcome-toast{opacity:1}.welcome[data-phase=toast] .welcome-toast{animation:welcome-cheers .6s ease-out}.welcome-spark{position:absolute;left:50%;top:25%;font-size:42px;color:#ffce73;opacity:0;pointer-events:none}.welcome[data-phase=toast] .welcome-spark{animation:welcome-spark .65s ease-out}.welcome[data-phase=done] .welcome-spark{opacity:0}
@keyframes welcome-from-left{from{transform:translateX(-90vw)}to{transform:translateX(calc(var(--figure)*-.2))}}@keyframes welcome-from-right{from{transform:translateX(90vw)}to{transform:translateX(calc(var(--figure)*.2))}}@keyframes welcome-step{0%,100%{translate:0 0;rotate:-.6deg}50%{translate:0 -6px;rotate:.6deg}}@keyframes welcome-affection{0%,100%{scale:1}50%{scale:1.018}}@keyframes welcome-cheers{0%{translate:0 3px;rotate:-.8deg}35%{translate:0 -5px;rotate:.8deg}100%{translate:0 0;rotate:0deg}}@keyframes welcome-spark{0%{opacity:0;scale:.3}40%{opacity:1;scale:1}100%{opacity:0;scale:1.8}}
@media(max-width:540px){.welcome{padding:20px 10px}.welcome-heading{font-size:36px}.welcome-skip{top:10px;right:10px;font-size:10px}.welcome .eyebrow{font-size:8px;margin-top:24px}.welcome-caption{margin-top:16px}.welcome-stage{margin-top:20px}.welcome-spark{font-size:25px}}
@media(prefers-reduced-motion:reduce){.welcome *{animation:none!important}.welcome[data-phase=walk] .welcome-left{transform:translateX(calc(var(--figure)*-.2))}.welcome[data-phase=walk] .welcome-right{transform:translateX(calc(var(--figure)*.2))}}
