.signin{container-type:inline-size;position:relative;min-height:100dvh;background:var(--s-ground,#0b0b10);color:var(--s-ink,#f5f5f7);font-family:var(--sans,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif);display:grid;grid-template-rows:1fr auto;overflow:hidden;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0)}.signin__main{display:flex;align-items:flex-start;justify-content:center;padding:calc(env(safe-area-inset-top, 0px) + 40px) 24px 24px;overflow:auto}.signin__col{width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center;text-align:center;margin-top:clamp(0px,calc((100dvh - env(safe-area-inset-top, 0px) - 420px) * .38),260px);opacity:0;transition:opacity var(--dur-medium,.22s) var(--ease,cubic-bezier(.4,0,.2,1))}.signin.is-ready .signin__col{opacity:1}.signin__badge{width:56px;height:56px;border-radius:var(--radius-full,999px);background:color-mix(in srgb,var(--s-type-share,#9d85f5) 12%,transparent);display:grid;place-items:center;margin-bottom:20px;overflow:hidden}.signin__badge svg{width:26px;height:26px;stroke:var(--s-type-share,#9d85f5);fill:none;stroke-width:1.5;stroke-linecap:round}.signin__badge img{width:100%;height:auto}.signin__name{font-family:var(--display,var(--sans,system-ui,sans-serif));font-size:30px;letter-spacing:-.04em;line-height:1;margin:0;color:var(--s-ink,#f5f5f7)}.signin__name b{font-weight:800}.signin__name span{font-weight:400}.signin__name em{font-style:normal;font-weight:400;color:var(--s-brand,#22d3ee)}.signin__tag{font-size:15px;font-weight:300;margin:10px 0 0;line-height:1.5;max-width:30ch}.signin__server,.signin__tag{color:var(--s-body,rgba(245,245,247,.72))}.signin__server{margin-top:28px;display:inline-flex;align-items:center;gap:10px;max-width:100%;border:1px solid var(--s-line,rgba(245,245,247,.12));padding:7px 14px 7px 12px;background:var(--s-card,#14141a);font-family:var(--mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:12px;letter-spacing:.02em}.signin__server,.signin__server .dot{border-radius:var(--radius-full,999px)}.signin__server .dot{width:7px;height:7px;background:var(--s-good,#34d399);flex:none;box-shadow:0 0 0 3px var(--s-good-soft,rgba(52,211,153,.14))}.signin__server .host{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--s-ink,#f5f5f7)}.signin__server button{all:unset;cursor:pointer;color:var(--s-link,#4f9df7);font-family:var(--sans,system-ui,sans-serif);font-size:13px;font-weight:500;padding:12px 2px;margin:-8px 0}.signin__server button:focus-visible{outline:2px solid var(--s-focus,#7dd3fc);outline-offset:2px;border-radius:4px}.signin[data-state=offline] .signin__server .dot{background:var(--s-warn,#fbbf24);box-shadow:0 0 0 3px var(--s-warn-soft,rgba(251,191,36,.14))}.signin[data-state=error] .signin__server .dot{background:var(--s-danger,#f87171);box-shadow:0 0 0 3px var(--s-danger-soft,rgba(248,113,113,.14))}.signin[data-state=checking] .signin__server .dot,.signin[data-state=first-launch] .signin__server .dot{display:none}.signin[data-state=first-launch] .signin__server .host{color:var(--s-muted,rgba(245,245,247,.48))}.signin__btn{width:100%;height:48px;margin-top:20px;border:0;border-radius:var(--radius-s,8px);background:var(--s-electric,#22d3ee);color:var(--s-on-grad-msg,#052026);font-family:var(--display,var(--sans,system-ui,sans-serif));font-weight:600;font-size:15px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:transform var(--dur,.15s) var(--ease,cubic-bezier(.4,0,.2,1)),background var(--dur,.15s) linear}.signin__btn:hover{background:var(--s-link,#4f9df7)}.signin__btn:active{transform:scale(.985)}.signin__btn:focus-visible{outline:2px solid var(--s-focus,#7dd3fc);outline-offset:3px}.signin__btn[disabled]{opacity:.55;cursor:default;transform:none;background:var(--s-electric,#22d3ee)}.signin__spin{width:16px;height:16px;border-radius:var(--radius-full,999px);border:2px solid var(--s-brand-soft,rgba(34,211,238,.18));border-top-color:var(--s-ink,#f5f5f7);animation:signin-spin .8s linear infinite;display:none}.signin[data-state=connecting] .signin__spin{display:block}@keyframes signin-spin{to{transform:rotate(1turn)}}.signin__hint{font-size:13px;color:var(--s-muted,rgba(245,245,247,.48));margin:14px 0 0;line-height:1.5}.signin__hint.err{color:var(--s-danger,#f87171)}.signin__foot{display:flex;justify-content:center;gap:18px;padding:12px 24px calc(env(safe-area-inset-bottom, 0px) + 14px);font-size:12px;color:var(--s-faint,rgba(245,245,247,.36))}.signin__foot button{all:unset;cursor:pointer;color:inherit}.signin__foot button:hover{color:var(--s-muted,rgba(245,245,247,.48))}.signin__foot button:focus-visible{outline:2px solid var(--s-focus,#7dd3fc);outline-offset:2px;border-radius:4px}.signin__foot .v{font-family:var(--mono,ui-monospace,Menlo,monospace);letter-spacing:.03em}.signin__scrim{position:absolute;inset:0;background:var(--s-scrim,rgba(0,0,0,.5));opacity:0;pointer-events:none;transition:opacity var(--dur-medium,.22s) var(--ease,cubic-bezier(.4,0,.2,1))}.signin__sheet{position:absolute;left:0;right:0;bottom:0;background:var(--s-card,#14141a);border:1px solid var(--s-line,rgba(245,245,247,.12));border-bottom:0;border-radius:var(--radius-l,16px) var(--radius-l,16px) 0 0;padding:14px 20px calc(env(safe-area-inset-bottom, 0px) + 20px);transform:translateY(100%);transition:transform var(--dur-medium,.22s) var(--ease,cubic-bezier(.4,0,.2,1));z-index:6}.signin__sheet .grab{width:36px;height:4px;border-radius:2px;background:var(--s-faint,rgba(245,245,247,.36));opacity:.5;margin:0 auto 14px}.signin__sheet h2{font-family:var(--display,var(--sans,system-ui,sans-serif));font-weight:600;font-size:17px;margin:0 0 4px;color:var(--s-ink,#f5f5f7)}.signin__sheet p{font-size:13px;margin:0 0 16px}.signin__sheet label,.signin__sheet p{color:var(--s-body,rgba(245,245,247,.72))}.signin__sheet label{display:block;font-size:12px;margin-bottom:6px;text-align:left}.signin__sheet input{width:100%;height:46px;border-radius:var(--radius-s,8px);border:1px solid var(--s-line,rgba(245,245,247,.12));background:var(--s-raise,#1c1c24);color:var(--s-ink,#f5f5f7);font-family:var(--mono,ui-monospace,Menlo,monospace);font-size:14px;padding:0 14px;outline:0;box-sizing:border-box}.signin__sheet input:focus{border-color:var(--s-focus,#7dd3fc);box-shadow:0 0 0 3px var(--s-brand-soft,rgba(34,211,238,.18))}.signin__sheet .acts{display:flex;gap:10px;margin-top:14px}.signin__sheet .acts .signin__btn{margin:0;flex:1}.signin__sheet .ghost{height:48px;padding:0 20px;border-radius:var(--radius-s,8px);border:1px solid var(--s-line-strong,rgba(245,245,247,.24));background:transparent;color:var(--s-ink,#f5f5f7);font-family:var(--display,var(--sans,system-ui,sans-serif));font-weight:600;font-size:14px;cursor:pointer}.signin__sheet .ghost:focus-visible{outline:2px solid var(--s-focus,#7dd3fc);outline-offset:2px}.signin.sheet-open .signin__scrim{opacity:1;pointer-events:auto}.signin.sheet-open .signin__sheet{transform:none}@container (min-width: 600px){.signin__sheet{left:50%;right:auto;bottom:auto;top:50%;width:440px;border-radius:var(--radius-l,16px);border-bottom:1px solid var(--s-line,rgba(245,245,247,.12));padding:24px 24px 22px;transform:translate(-50%,-50%) scale(.96);opacity:0;pointer-events:none;transition:transform var(--dur-medium,.22s) var(--ease,cubic-bezier(.4,0,.2,1)),opacity var(--dur-medium,.22s) var(--ease,cubic-bezier(.4,0,.2,1))}.signin.sheet-open .signin__sheet{transform:translate(-50%,-50%);opacity:1;pointer-events:auto}.signin__sheet .grab{display:none}.signin__name{font-size:34px}.signin__badge{width:64px;height:64px}.signin__badge svg{width:30px;height:30px}.signin__col{margin-top:clamp(0px,calc((100dvh - env(safe-area-inset-top, 0px) - 420px) * .36),320px)}}@container (min-width: 900px){.signin__col{max-width:380px}.signin__main{padding-left:48px;padding-right:48px}}@media (prefers-reduced-motion:reduce){.signin__btn,.signin__col,.signin__scrim,.signin__sheet{transition:none}.signin__spin{animation-duration:1.6s}}