.ship{--mood:var(--mood-happy);width:var(--ship-w);height:calc(var(--ship-w) * 1.4583);transform-origin:50%;position:absolute;top:0;left:0}.ship[data-mood=think]{--mood:var(--mood-think)}.ship[data-mood=worried]{--mood:var(--mood-worried)}.ship[data-mood=party]{--mood:var(--mood-party)}.ship svg{width:100%;height:100%;display:block;overflow:visible}.ship-wig{transform-origin:50% 60%;width:100%;height:100%}.ship-bank{transform-origin:50% 66%;width:100%;height:100%;animation:6s ease-in-out infinite ship-bank}.ship-float{width:100%;height:100%;animation:5s ease-in-out infinite ship-float}@keyframes ship-bank{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes ship-float{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-8px)rotate(2deg)}}.ship-flame{transform-box:fill-box;transform-origin:50% 0;animation:.24s ease-in-out infinite ship-flame}@keyframes ship-flame{0%,to{opacity:.95;transform:scaleY(1)}50%{opacity:.6;transform:scaleY(.62)}}.ship .face{display:none}.ship[data-mood=happy] .face-happy,.ship[data-mood=think] .face-think,.ship[data-mood=worried] .face-worried,.ship[data-mood=party] .face-party{display:inline}.ship .stroke{stroke:var(--mood);fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.ship .fill,.ship-antenna{fill:var(--mood)}.ship-blink{transform-origin:80px 80px;animation:4.4s infinite ship-blink}@keyframes ship-blink{0%,46%,50%,to{transform:scaleY(1)}48%{transform:scaleY(.1)}}.ship-eyes{transition:transform .25s var(--ease-out)}@media (prefers-reduced-motion:reduce){.ship-bank,.ship-float,.ship-flame,.ship-blink{animation:none}}
.pass{padding-bottom:140px}.pass-head{flex-direction:column;align-items:center;gap:18px;display:flex}.pass-wrap{justify-content:center;align-items:center;gap:28px;width:100%;margin-top:48px;display:flex;position:relative}.pass-bepo{flex-shrink:0;width:190px;animation:4.6s ease-in-out infinite pass-float}@keyframes pass-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.pass-thruster{animation:1s ease-in-out infinite pass-glow}.pass-thruster.late{animation-delay:.5s}@keyframes pass-glow{0%,to{opacity:.45}50%{opacity:1}}.pass-blink{transform-origin:80px 80px;animation:4.4s infinite ship-blink}.pass-card{background:var(--surface);text-align:left;border:1px solid #ffd27a73;border-radius:24px;width:780px;max-width:100%;display:flex;position:relative}.pass-done{max-width:640px}.pass-main{flex-direction:column;flex:1;gap:14px;min-width:0;padding:24px;display:flex}.pass-kicker{color:var(--gold)}.pass-field{flex-direction:column;gap:6px;min-width:0;display:flex}.pass-input{border:1px solid var(--border);background:var(--bg);width:100%;height:52px;color:var(--ink);font:600 16px var(--font-body), sans-serif;border-radius:14px;outline:none;padding:0 14px;transition:border-color .15s,box-shadow .15s}.pass-input::placeholder{color:var(--ink-muted)}.pass-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #ffd27a2e}.pass-input.invalid{border-color:var(--danger)}.pass-select{align-items:center;display:flex;position:relative}.pass-select select{appearance:none;cursor:pointer;padding-right:38px}.pass-select option{background:var(--surface);color:var(--ink)}.pass-select svg{pointer-events:none;color:var(--ink-muted);position:absolute;right:14px}.pass-two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.pass-beta{align-self:flex-end}.pass-stub{border-left:2px dashed #eef1fa38;flex-direction:column;justify-content:space-between;gap:12px;width:200px;padding:24px 20px;display:flex;position:relative}.pass-stub:before,.pass-stub:after{content:"";background:var(--bg);border-radius:50%;width:24px;height:24px;position:absolute;left:-13px}.pass-stub:before{top:-13px}.pass-stub:after{bottom:-13px}.pass-stub-item{flex-direction:column;gap:2px;display:flex}.pass-stub-item b{font:600 20px var(--font-display), sans-serif}.pass-submit{width:100%;padding:0 16px}.pass-dock{flex-shrink:0;align-self:flex-end;width:56px;margin-bottom:24px;position:relative}.pass-dock-ship{width:56px;height:75px;display:block}.pass-flame{transform-box:fill-box;transform-origin:50% 0;animation:.5s ease-in-out infinite route-flame}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.pass-dock-ship{animation:linear both pass-dock;animation-timeline:view();animation-range:cover 10% cover 55%}}}@keyframes pass-dock{0%{animation-timing-function:cubic-bezier(.65,0,.35,1);transform:translateY(-320px)}to{transform:none}}.pass.launched .pass-dock{animation:pass-launch 1.2s var(--ease-in-out) both}@keyframes pass-launch{0%{transform:none}15%{transform:translateY(6px)}to{opacity:0;transform:translateY(-760px)}}@media (prefers-reduced-motion:reduce){.pass-bepo,.pass-thruster,.pass-blink,.pass-flame,.pass.launched .pass-dock{animation:none}}@media (max-width:900px){.pass-wrap{flex-direction:column;gap:12px}.pass-card{flex-direction:column}.pass-stub{border-top:2px dashed #eef1fa38;border-left:none;flex-flow:wrap;width:auto}.pass-stub:before{top:-13px;left:-13px}.pass-stub:after{inset:-13px -13px auto auto}.pass-two{grid-template-columns:minmax(0,1fr)}.pass-bepo{width:150px}.pass-dock{display:none}}
