.signin-shell{min-height:calc(100vh - var(--header));display:grid;place-items:center;padding:clamp(2rem,6vw,5rem) 1rem;background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--purple) 9%,transparent),transparent 42%)}
.signin-card{width:min(100%,620px);padding:clamp(1.35rem,4vw,2.4rem);border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:0 22px 65px rgba(31,19,55,.1)}
html[data-theme=dark] .signin-card{box-shadow:0 22px 65px rgba(0,0,0,.28)}
.signin-heading{text-align:center}.signin-mark{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 1rem;border:1px solid color-mix(in srgb,var(--purple) 25%,var(--line));border-radius:15px;background:var(--purple-soft)}.signin-mark img{width:44px;height:44px;object-fit:contain}.signin-heading h1{margin:.45rem 0 .6rem;font-size:clamp(2rem,6vw,3.25rem);line-height:1;letter-spacing:-.045em}.signin-heading p{max-width:470px;margin:0 auto;color:var(--muted);line-height:1.55}
.signin-providers{display:grid;gap:.7rem;margin-top:1.7rem}.signin-provider{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:.85rem;min-height:68px;padding:.75rem 1rem;border:1px solid var(--line);border-radius:13px;color:var(--ink);background:var(--bg);transition:border-color .16s ease,background .16s ease,transform .16s ease}.signin-provider:hover{border-color:color-mix(in srgb,var(--purple) 60%,var(--line));background:color-mix(in srgb,var(--purple) 5%,var(--bg));transform:translateY(-1px)}.signin-provider:focus-visible{outline:3px solid color-mix(in srgb,var(--purple) 28%,transparent);outline-offset:2px}.signin-provider>svg{width:28px;height:28px;fill:currentColor}.signin-provider-copy{display:grid;gap:.15rem;min-width:0}.signin-provider b{font-size:.92rem}.signin-provider small{color:var(--muted);font-size:.75rem}.signin-provider-tail{display:flex;align-items:center;justify-content:flex-end;gap:.55rem}.signin-provider-tail>i{color:var(--muted);font-style:normal;font-size:1.15rem}.signin-provider .signin-last-used{padding:.24rem .5rem;border:1px solid color-mix(in srgb,var(--purple) 38%,var(--line));border-radius:999px;color:var(--purple);background:var(--purple-soft);font-size:.62rem;font-weight:850;line-height:1;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap}.signin-discord>svg{color:#5865f2}.signin-github>svg{color:var(--ink)}
.signin-consent{margin:1.35rem 0 0;text-align:center;color:var(--muted);font-size:.8rem;line-height:1.6}.signin-consent a{color:var(--ink);font-weight:850;text-decoration:underline;text-decoration-color:var(--purple);text-decoration-thickness:2px;text-underline-offset:3px}.signin-consent a:hover{color:var(--purple)}
.signin-privacy{display:flex;align-items:flex-start;gap:.55rem;margin:1rem 0 0;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.72rem;line-height:1.5}.signin-privacy svg{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:var(--purple);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.signin-card .form-errors{margin:1.2rem 0 0}.signin-card .form-errors strong{display:block}.signin-card .form-errors ul{padding-left:1.15rem}
@media(max-width:520px){.signin-shell{place-items:start center;padding-top:1.25rem}.signin-card{padding:1.2rem;border-radius:17px}.signin-heading{text-align:left}.signin-mark{margin:0 0 1rem}.signin-heading p{margin:0}.signin-provider{grid-template-columns:32px minmax(0,1fr) auto;padding:.7rem .8rem}.signin-provider>svg{width:25px;height:25px}.signin-provider-tail{gap:.35rem}.signin-provider .signin-last-used{padding:.22rem .4rem;font-size:.56rem}.signin-consent{text-align:left}}
