.login-page{background:var(--surface);min-height:100dvh;color:var(--ink);place-items:center;padding:2.5rem 1.25rem 3.5rem;display:grid;position:relative}.login-page:before{content:"";pointer-events:none;opacity:.5;background-image:radial-gradient(1.8px at 14px 16px,#b7c4cc 99%,transparent 100%),radial-gradient(1.8px at 29px 16px,#b7c4cc 99%,transparent 100%),radial-gradient(1.8px at 44px 16px,#b7c4cc 99%,transparent 100%),radial-gradient(1.8px at 14px 16px,#b7c4cc 99%,transparent 100%),radial-gradient(1.8px at 29px 16px,#b7c4cc 99%,transparent 100%),radial-gradient(1.8px at 44px 16px,#b7c4cc 99%,transparent 100%);background-position:0 0,0 0,0 0,56px 56px,56px 56px,56px 56px;background-size:112px 112px;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#000 0%,transparent 88%);mask-image:linear-gradient(#000 0%,transparent 88%)}.login-stack{z-index:1;width:100%;max-width:27rem;position:relative}.login-card{border:1.5px solid var(--ink);background:var(--bg);border-radius:30px;padding:2.25rem 2rem 2rem;position:relative}.login-card:before,.login-card:after{content:"";clip-path:polygon(0 0,0 100%,100% 0);position:absolute}.login-card:before{background:var(--ink);width:24px;height:24px;top:100%;left:2.5rem}.login-card:after{background:var(--bg);width:21.4px;height:21.4px;top:calc(100% - 1.5px);left:calc(2.5rem + 1.5px)}.login-brand{letter-spacing:-.01em;align-items:center;gap:.6rem;font-size:1.15rem;font-weight:800;display:flex}.login-wordmark b{color:var(--accent);font-weight:inherit}.login-brand svg{width:2.5rem;height:auto;fill:var(--accent);display:block}.login-card h1{letter-spacing:-.025em;margin:1.5rem 0 0;font-size:max(1.55rem,min(5.5vw,1.85rem));font-weight:800;line-height:1.1}.login-intro{color:var(--ink-2);margin:.5rem 0 0;font-size:.9rem;line-height:1.45}.login-form{gap:.9rem;margin-top:1.75rem;display:grid}.login-form label{color:var(--ink-2);gap:.35rem;font-size:.82rem;font-weight:650;display:grid}.login-form input{background:var(--surface);width:100%;color:var(--ink);font:inherit;border:1.5px solid transparent;border-radius:13px;padding:.7rem .85rem;font-size:1rem}.login-form input:focus{border-color:var(--accent);background:var(--bg);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent)18%,transparent);outline:none}.login-form button{background:var(--accent);color:#fff;width:100%;min-height:2.95rem;font:inherit;cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;margin-top:.35rem;font-size:1rem;font-weight:700;display:flex}.login-form button:hover:not(:disabled){background:var(--accent-2)}.login-form button:disabled{cursor:progress}.login-form button:focus-visible{outline:3px solid color-mix(in srgb,var(--accent)55%,transparent);outline-offset:3px}.login-dots{gap:.3rem;display:inline-flex}.login-dots span{background:currentColor;border-radius:50%;width:.45rem;height:.45rem;animation:1.05s ease-in-out infinite login-dot}.login-dots span:nth-child(2){animation-delay:.15s}.login-dots span:nth-child(3){animation-delay:.3s}@keyframes login-dot{0%,to{opacity:.32;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.login-error{color:#a4271f;background:#fdecee;border-radius:13px;gap:.5rem;margin:0;padding:.65rem .8rem;font-size:.88rem;font-weight:600;line-height:1.35;display:flex}.login-host{min-height:1.2em;color:var(--ink-2);letter-spacing:.02em;margin:2.4rem 0 0;padding-left:2.5rem;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,monospace;font-size:.78rem}.login-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes login-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.login-card{animation:.42s cubic-bezier(.22,.61,.36,1) both login-rise}.login-host{animation:.42s cubic-bezier(.22,.61,.36,1) .12s both login-rise}@media (max-width:26rem){.login-card{border-radius:24px;padding:1.75rem 1.4rem 1.6rem}.login-card:before{left:1.9rem}.login-card:after{left:calc(1.9rem + 1.5px)}.login-host{padding-left:1.9rem}}@media (prefers-reduced-motion:reduce){.login-card,.login-host{animation:none}.login-dots span{opacity:.75;animation:none}}
