.onboarding{--onboarding-accent:#ed2b04;background:var(--onboarding-canvas);min-height:100svh;color:var(--ink);isolation:isolate}.onboarding--signIn{--onboarding-accent:var(--ink)}.onboarding--invite{--onboarding-accent:#008fea}.onboarding-shell{max-width:80rem;margin-inline:auto}.onboarding-navigation{height:calc(76px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);margin-inline:max(20px, env(safe-area-inset-left));place-items:center;display:grid;position:relative}.onboarding-back{background:var(--surface);width:44px;height:44px;box-shadow:inset 0 1px 1px var(--line-strong);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:12px;left:0}.onboarding-back svg{stroke-width:2px;width:26px;height:26px}.onboarding-progress{align-items:center;gap:6px;display:flex}.onboarding-progress span{background:var(--line-strong);border-radius:99px;width:6px;height:6px;transition:width .45s,background-color .45s}.onboarding-progress [data-complete=true]{background:var(--onboarding-accent)}.onboarding-progress [data-current=true]{width:24px}.onboarding-body{min-height:calc(100svh - 76px - env(safe-area-inset-top));flex-direction:column;display:flex}.onboarding-artwork{flex:none;width:100%}.onboarding-pine{height:min(58vw,360px);position:relative;overflow:hidden}.onboarding-pine img{width:max(100%,min(174vw,1080px));max-width:none;height:auto;left:calc(var(--pine-progress) * 100%);transform:translateX(calc(var(--pine-progress) * -100%));transition:left .65s var(--ease-ios), transform .65s var(--ease-ios);-webkit-user-select:none;user-select:none;pointer-events:none;position:absolute}.onboarding-panel{width:min(100%,620px);padding:28px 28px max(24px, env(safe-area-inset-bottom));animation:onboarding-enter .55s var(--ease-out) both;flex-direction:column;flex:1;margin-inline:auto;display:flex}.onboarding-title{letter-spacing:-.035em;font-size:clamp(2rem,8.7vw,2.25rem);font-weight:750;line-height:1.15}.onboarding-title:focus{outline:none}.onboarding-serif{letter-spacing:-.02em;font-family:ui-serif,New York,Georgia,Songti TC,Songti SC,serif}.onboarding-description{color:var(--ink-2);margin-top:18px;font-size:1.125rem;line-height:1.45}.onboarding-actions{flex-direction:column;gap:14px;margin-top:30px;display:flex}.onboarding-primary{background:color-mix(in srgb, var(--onboarding-accent) 90%, #000);color:#fff;border-radius:99px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:58px;padding:14px 24px;font-size:1.0625rem;font-weight:650;transition:filter .2s,transform .2s;display:inline-flex;box-shadow:inset 0 2px 2px #ffffff1f}.onboarding-primary:hover{filter:brightness(1.1)}.onboarding-primary:active{transform:scale(.98)}.onboarding-primary:disabled,.onboarding-back:disabled{opacity:.45;cursor:default}.onboarding button:focus-visible,.onboarding a:focus-visible{outline-offset:5px}.onboarding--welcome .onboarding-panel{justify-content:flex-end;padding-top:44px}.onboarding--welcome .onboarding-title{white-space:pre-line}.onboarding--welcome .onboarding-description{font-size:1.25rem}.onboarding--signIn .onboarding-panel{text-align:center;justify-content:flex-end}.onboarding-sign-in{flex-direction:column;gap:32px;display:flex}.onboarding-providers{flex-direction:column;gap:16px;display:flex}.onboarding-providers>button:not(.onboarding-provider-back){background:var(--ink);color:var(--onboarding-canvas);min-height:54px;font-size:1.125rem;font-weight:550}.onboarding-providers>button svg{width:24px;height:24px}.onboarding-legal{color:var(--ink-3);flex-wrap:wrap;justify-content:center;gap:0 20px;padding-top:16px;font-size:.8125rem;display:flex}.onboarding-legal a{align-items:center;min-height:44px;display:inline-flex}.onboarding-legal a:hover{text-decoration:underline}.onboarding--birthday .onboarding-panel{text-align:center}.onboarding--birthday .onboarding-title{font-size:clamp(1.75rem,8vw,2.25rem)}.onboarding--birthday .onboarding-copy{margin-block:auto;padding-block:24px 36px}.onboarding-birthday{min-width:0;margin-top:32px}.birthday-fields{text-align:left;grid-template-columns:minmax(0,1.6fr) minmax(64px,.85fr) minmax(84px,1.1fr);gap:8px;display:grid}.birthday-fields label{min-width:0;position:relative}.birthday-fields label>span{color:var(--ink-3);padding:0 12px 8px;font-size:.8125rem;display:block}.birthday-fields select{appearance:none;background:var(--surface);width:100%;min-height:58px;color:var(--ink);border:1px solid #0000;border-radius:14px;padding:10px 34px 10px 12px;font-size:1rem}.birthday-fields label>svg{width:14px;height:14px;color:var(--ink-2);pointer-events:none;position:absolute;bottom:22px;right:12px}.birthday-fields select:hover{border-color:var(--line-strong)}.onboarding--birthday .onboarding-actions{margin-top:0}.onboarding--avatar .onboarding-body{justify-content:center}.onboarding--avatar .onboarding-artwork{margin-top:auto;padding-top:24px}.onboarding--avatar .onboarding-panel{text-align:center;flex:0}.onboarding--avatar .onboarding-actions{margin-top:clamp(32px,8svh,80px)}.onboarding--avatar .onboarding-description{max-width:31rem;margin-inline:auto}.onboarding-eyebrow{color:var(--onboarding-accent);text-transform:uppercase;letter-spacing:.15em;margin-bottom:12px;font-size:.75rem;font-weight:750}.onboarding--avatar .onboarding-eyebrow{color:color-mix(in srgb, var(--onboarding-accent) 70%, var(--ink))}.avatar-reveal{aspect-ratio:1;place-items:center;width:min(80vw,340px);margin-inline:auto;display:grid;position:relative;container-type:inline-size}.avatar-reveal:before{content:"";border:1px solid color-mix(in srgb, var(--onboarding-accent) 20%, transparent);background:radial-gradient(color-mix(in srgb, var(--onboarding-accent) 22%, transparent), transparent 72%);border-radius:50%;position:absolute;inset:4%}.avatar-reveal>img{object-fit:contain;z-index:1;width:78%;height:78%;animation:.8s cubic-bezier(.2,.8,.3,1.2) both avatar-reveal}.avatar-reveal>svg{color:var(--onboarding-accent);width:23px;height:23px;position:absolute;bottom:0}.avatar-confetti{pointer-events:none;perspective:600px;position:absolute;inset:0}.avatar-confetti i{opacity:0;width:6px;height:10px;animation:confetti-flight var(--duration) linear var(--delay) both;position:absolute;top:48%;left:50%}.avatar-confetti b{background:var(--onboarding-accent);width:100%;height:100%;animation:confetti-tumble var(--duration) ease-out var(--delay) both;border-radius:1.5px;display:block;box-shadow:inset 0 1px 1px #ffffff80}.avatar-confetti i:nth-child(3n) b{background:#dfb96d}.avatar-confetti i:nth-child(3n+1) b{background:color-mix(in srgb, var(--onboarding-accent) 45%, #fff)}.avatar-confetti i:nth-child(4n){width:4px;height:7px}.avatar-confetti i:nth-child(6n){width:8px;height:8px}.avatar-confetti i:nth-child(6n) b{clip-path:polygon(50% 0,62% 36%,100% 50%,62% 64%,50% 100%,38% 64%,0 50%,38% 36%)}.onboarding--invite .onboarding-artwork{padding:8px 28px 0}.invite-table{aspect-ratio:1;width:min(100%,310px);margin-inline:auto;position:relative}.invite-table-surface{object-fit:contain;width:78%;height:78%;position:absolute;top:11%;left:11%}.invite-table-avatar{object-fit:contain;width:29%;height:29%;position:absolute;top:70%;left:35.5%;transform:rotate(180deg)}.invite-seat{background:var(--surface);border:1px dashed var(--line-strong);width:44px;height:44px;color:var(--ink-3);border-radius:50%;place-items:center;display:grid;position:absolute}.invite-seat:hover{color:var(--ink);border-color:var(--ink-3)}.invite-seat--left{top:calc(50% - 22px);left:-12px}.invite-seat--top{top:-4px;left:calc(50% - 22px)}.invite-seat--right{top:calc(50% - 22px);right:-12px}.onboarding--invite .onboarding-panel{justify-content:flex-end}.invite-actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.invite-actions button,.invite-actions a{background:var(--surface);border-radius:99px;justify-content:center;align-items:center;gap:10px;min-height:56px;padding:12px;font-weight:600;display:flex}.invite-actions svg,.invite-actions img{width:24px;height:24px}.onboarding-skip{color:var(--ink-2);min-height:44px;font-size:1rem;font-weight:600}.onboarding-skip:hover{color:var(--ink)}.invite-destinations{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 8px;display:grid}.invite-destinations>a,.invite-destinations>button{text-align:center;overflow-wrap:anywhere;flex-direction:column;align-items:center;gap:8px;font-size:.8125rem;display:flex}.invite-destinations span{background:var(--surface);border-radius:50%;place-items:center;width:56px;height:56px;transition:background .2s;display:grid}.invite-destinations a:hover span,.invite-destinations button:hover span{background:var(--surface-2)}.invite-destinations svg,.invite-destinations img{width:23px;height:23px}.invite-destinations .invite-instagram{color:#fff;background:radial-gradient(circle at 30% 107%,#fdf497 0% 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%);border-radius:8px;width:29px;height:29px;padding:4px}.invite-brand{background:currentColor;flex:none;width:24px;height:24px;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.invite-brand--whatsapp,.invite-brand--wechat{color:#168f42}.invite-brand--facebook,.invite-brand--messenger{color:#1877f2}.invite-paste{background:var(--surface);border-radius:16px;flex-direction:column;gap:12px;padding:16px;font-size:.875rem;display:flex}.invite-open{align-items:center;min-height:44px;padding-inline:12px;font-weight:600;display:inline-flex}@keyframes onboarding-enter{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes avatar-reveal{0%{opacity:0;transform:scale(.75)translateY(15px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes confetti-flight{0%{opacity:0;animation-timing-function:cubic-bezier(.16,.7,.3,1);transform:translate(-50%,8cqw)scale(.6)}8%{opacity:1}38%{opacity:1;transform:translate(var(--burst-x), var(--burst-y));animation-timing-function:cubic-bezier(.4,0,.8,.5)}72%{opacity:.85}to{opacity:0;transform:translate(calc(var(--burst-x) + var(--drift)), var(--fall)) scale(.85)}}@keyframes confetti-tumble{0%{transform:rotateZ(var(--tilt)) rotateY(0deg)}to{transform:rotateZ(var(--spin)) rotateY(640deg)}}@media (max-width:360px){.onboarding--birthday .onboarding-panel{padding-inline:16px}.birthday-fields{grid-template-columns:minmax(0,1fr) 60px 80px;gap:6px}.birthday-fields select{padding-inline:10px 30px}.birthday-fields label>svg{width:12px;right:10px}}@media (min-width:600px) and (max-width:959px){.onboarding-navigation{height:calc(96px + env(safe-area-inset-top));margin-inline:32px}.onboarding-body{min-height:calc(100svh - 96px - env(safe-area-inset-top))}.onboarding-panel{padding-bottom:max(36px, env(safe-area-inset-bottom))}.onboarding-title{font-size:2.625rem}.onboarding-description{font-size:1.25rem}.onboarding--avatar .onboarding-artwork{padding-top:48px}.avatar-reveal{width:380px}.invite-table{width:min(100%,410px)}}@media (min-width:960px){.onboarding-navigation{height:96px;margin-inline:40px}.onboarding-body{grid-template-columns:1.08fr 1fr;align-items:center;min-height:calc(100svh - 96px);padding-bottom:64px;display:grid}.onboarding-artwork{min-width:0}.onboarding-pine{height:420px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 96px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 96px),#0000)}.onboarding-pine img{width:1260px}.onboarding-panel{width:100%;max-width:560px;padding:40px 48px}.onboarding-title{font-size:clamp(2.5rem,3.3vw,3.25rem)}.onboarding-description,.onboarding--welcome .onboarding-description{font-size:1.25rem}.onboarding--welcome .onboarding-panel,.onboarding--signIn .onboarding-panel,.onboarding--invite .onboarding-panel{justify-content:center}.onboarding-actions{margin-top:36px}.onboarding-sign-in{gap:40px}.onboarding--birthday .onboarding-copy{padding-block:0 40px}.onboarding--avatar .onboarding-artwork{margin-top:0;padding-top:0}.onboarding--avatar .onboarding-actions{margin-top:36px}.avatar-reveal{width:min(90%,460px)}.invite-table{width:min(90%,440px)}.invite-seat{width:52px;height:52px}}@media (max-height:600px) and (max-width:959px) and (orientation:landscape){.onboarding-navigation{height:64px}.onboarding-body{min-height:calc(100svh - 64px)}.onboarding-pine{display:none}.onboarding--avatar .onboarding-body,.onboarding--invite .onboarding-body{flex-direction:row;align-items:center}.onboarding--avatar .onboarding-artwork,.onboarding--invite .onboarding-artwork{width:45%;margin:0;padding:20px}.onboarding--avatar .onboarding-panel,.onboarding--invite .onboarding-panel{width:55%}.avatar-reveal{width:100%;max-width:270px}.invite-table{width:min(100%,270px)}.onboarding--avatar .onboarding-actions{margin-top:24px}}@media (prefers-reduced-motion:reduce){.onboarding *,.onboarding :before{transition:none!important;animation:none!important}.avatar-confetti{display:none}}
