:root{--join-spring:cubic-bezier(.34, 1.4, .64, 1);--join-snappy:cubic-bezier(.2, 0, 0, 1)}.join-header{view-transition-name:join-header}.join-progress{view-transition-name:join-progress}.join-main{view-transition-name:join-main}::view-transition-old(join-main){animation:join-out .22s var(--join-snappy) both}::view-transition-new(join-main){animation:join-in .22s var(--join-snappy) both}:root[data-join-dir=back]::view-transition-old(join-main){animation-name:join-out-back}:root[data-join-dir=back]::view-transition-new(join-main){animation-name:join-in-back}@keyframes join-out{to{opacity:0;transform:translate(-24px)}}@keyframes join-in{0%{opacity:0;transform:translate(24px)}}@keyframes join-out-back{to{opacity:0;transform:translate(24px)}}@keyframes join-in-back{0%{opacity:0;transform:translate(-24px)}}.join-progress-fill{transition:transform .36s var(--join-spring)}.join-title{animation:join-rise .22s var(--join-snappy) both}.join-intro{animation:join-rise .22s var(--join-snappy) 60ms both}@keyframes join-rise{0%{opacity:0;transform:translateY(8px)}}.age-tile,.category-tile{animation:join-tile-in .26s var(--join-spring) both;animation-delay:calc(var(--i,0) * 30ms)}.preview-row{animation:join-tile-in .26s var(--join-spring) both;animation-delay:calc(var(--i,0) * 40ms)}@keyframes join-tile-in{0%{opacity:0;transform:translateY(6px)scale(.96)}}.age-tile{transition:background-color .15s,border-color .15s}.age-check{animation:join-pop .18s var(--join-spring) both}@keyframes join-pop{0%{opacity:0;transform:scale(.6)}}.join-arm{animation:join-arm .22s var(--join-spring)}@keyframes join-arm{50%{transform:scale(1.04)}}.join-hint-in,.banner-in{animation:.15s ease-out both join-hint}@keyframes join-hint{0%{opacity:0;transform:translateY(-4px)}}.join-nudge{animation:join-nudge .22s var(--join-spring)}@keyframes join-nudge{50%{transform:scale(1.03)}}.join-dialog{transition:opacity .22s var(--join-spring), scale .22s var(--join-spring)}.join-dialog[data-starting-style]{opacity:0;scale:.92}.join-dialog[data-ending-style]{opacity:0;transition-duration:.14s;transition-timing-function:var(--join-snappy);scale:.96}.join-backdrop{transition:opacity .2s}.join-backdrop[data-starting-style],.join-backdrop[data-ending-style]{opacity:0}.join-close{transition:rotate .2s var(--join-spring)}.join-close:active{rotate:90deg}.seen-mark{animation:join-pop .18s var(--join-spring) both}.padlock-wiggle{transform-origin:50% 70%;animation:.32s ease-in-out padlock}@keyframes padlock{25%{rotate:-10deg}50%{rotate:8deg}75%{rotate:-4deg}}.dice-spin{animation:dice .4s var(--join-spring)}@keyframes dice{50%{scale:1.15}to{rotate:360deg}}.pill-pop{animation:pill-pop .2s var(--join-spring)}@keyframes pill-pop{0%{scale:.92}}.price-roll{animation:price-roll .2s var(--join-snappy) both}@keyframes price-roll{0%{opacity:0;transform:translateY(60%)}}.join-actions-sticky{padding-inline:16px;padding-bottom:max(env(safe-area-inset-bottom), 12px);z-index:var(--z-sticky);background:linear-gradient(#0000,#155c02 24px);margin-inline:-16px;position:sticky;bottom:0}[data-keyboard=open] .join-actions-sticky{background:0 0;position:static}[data-keyboard=open] .join-footer{display:none}.join-field input{min-height:48px;font-size:16px}@media (height<=560px){.join-logo{width:64px}.welcome-logo{width:150px}.join-title{font-size:var(--text-display-s);line-height:var(--text-display-s--line-height)}.age-tile{min-height:64px}.category-tile{min-height:44px}}.slot-unlock{animation:.2s ease-out both slot-in}@keyframes slot-in{0%{opacity:0}}.pay-success{animation:join-rise .2s var(--join-snappy) both}.pay-check{animation:join-pop .26s var(--join-spring) both}.pay-confetti{height:0;display:block;position:relative}.pay-confetti i{background:var(--palette-lime-400);width:8px;height:8px;animation:confetti .7s var(--join-snappy) both;animation-delay:calc(var(--i) * 15ms);border-radius:2px;position:absolute;top:-40px;left:50%}.pay-confetti i:nth-child(odd){background:var(--palette-yellow-300)}@keyframes confetti{0%{opacity:1;transform:translate(-50%)rotate(0)}to{opacity:0;transform:translate(calc(-50% + (var(--i) - 5.5) * 14px), calc(60px + (var(--i) * 3px))) rotate(calc(var(--i) * 40deg))}}.season2-pill{position:relative;overflow:hidden}.season2-pill:after{content:"";background:linear-gradient(100deg,#0000 30%,#ffffff73 50%,#0000 70%);animation:.6s ease-out .6s both shine;position:absolute;inset:0;transform:translate(-120%)}@keyframes shine{to{transform:translate(120%)}}.sim-stripes{background:repeating-linear-gradient(45deg, var(--color-warning) 0 10px, #ffe7a3 10px 20px)}.landing-topbar.is-solid{background:color-mix(in srgb, var(--palette-parent-edge) 92%, transparent);border-bottom:1px solid var(--palette-lime-400)}.topbar-cta{animation:.2s ease-out both topbar-cta}@keyframes topbar-cta{0%{opacity:0;transform:translate(8px)}}.hero-card{animation:hero-flip .42s var(--join-spring) both;animation-delay:calc(.6s + var(--i,0) * 60ms)}@keyframes hero-flip{0%{opacity:.3;transform:rotateY(90deg)}}.chip-in{animation:join-pop .2s var(--join-spring) both;animation-delay:calc(var(--i,0) * 20ms)}.flip-card{perspective:800px}.flip-face{backface-visibility:hidden;transition:transform .36s var(--join-spring);position:absolute;inset:0}.flip-back{transform:rotateY(180deg)}.flip-card.is-flipped .flip-front{transform:rotateY(-180deg)}.flip-card.is-flipped .flip-back{transform:rotateY(0)}.page-fade{animation:.2s ease-out both page-fade}@keyframes page-fade{0%{opacity:0}}.consent-done{animation:join-rise .2s var(--join-snappy) both}.revoke-done{animation:.15s ease-out both page-fade}.welcome-logo{animation:welcome-logo .36s var(--join-spring) both}@keyframes welcome-logo{0%{opacity:0;transform:scale(.92)}}.welcome-season{animation:join-rise .24s var(--join-snappy) 80ms both}.welcome-bulb{animation:.6s ease-out .2s bulb-glow}@keyframes bulb-glow{50%{filter:drop-shadow(0 0 8px #ff0c)}}.welcome-unlock{animation:join-arm .22s var(--join-spring) .4s 1}@media (prefers-reduced-motion:reduce){::view-transition-old(join-main){animation:.12s ease-out both page-fade}::view-transition-new(join-main){animation:.12s ease-out both page-fade}::view-transition-old(join-main){animation-direction:reverse}.join-title,.join-intro,.age-tile,.category-tile,.preview-row,.age-check,.join-arm,.join-nudge,.seen-mark,.dice-spin,.pill-pop,.price-roll,.pay-check,.hero-card,.chip-in,.topbar-cta,.welcome-logo,.welcome-season,.welcome-bulb,.welcome-unlock,.padlock-wiggle,.consent-done,.pay-success{animation:none}.join-hint-in,.banner-in,.slot-unlock,.revoke-done,.page-fade{animation:.12s ease-out both page-fade}.pay-confetti,.season2-pill:after{display:none}.join-dialog{transition:opacity .12s}.join-dialog[data-starting-style],.join-dialog[data-ending-style]{scale:1}.join-progress-fill,.flip-face{transition:none}.join-close:active{rotate:0deg}.padlock-wiggle+*,[data-unlock-line].join-nudge{color:#fff}}:root[data-reduce-motion=true] :is(.join-title,.join-intro,.age-tile,.category-tile,.preview-row,.age-check,.join-arm,.join-nudge,.seen-mark,.dice-spin,.pill-pop,.price-roll,.pay-check,.hero-card,.chip-in,.topbar-cta,.welcome-logo,.welcome-season,.welcome-bulb,.welcome-unlock,.padlock-wiggle,.consent-done,.pay-success){animation:none}:root[data-reduce-motion=true] .pay-confetti{display:none}:root[data-reduce-motion=true] .flip-face{transition:none}
