/* The sign-in page. Served before sign-in, so it carries its own tokens. */
@font-face{font-family:"Fraunces";src:url(/assets/fonts/fraunces-latin-full-normal.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Nunito";src:url(/assets/fonts/nunito-latin-wght-normal.woff2) format("woff2");font-weight:200 1000;font-display:swap}
:root{color-scheme:light dark;--bg:#F6EFE6;--paper:#FFFBF5;--ink:#3B2F2F;--ink-2:#6E5E58;--line:#E3D3C2;--rose:#B8506B;--rose-ink:#fff;--ball:#E9B7C2;--strand:#C26A80;--needle:#C99A2E;--hook:#2F8C86;--danger:#A8402A;
--knit:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='18'%3E%3Cg fill='none' stroke='%237d5a46' stroke-opacity='.08' stroke-width='1.8'%3E%3Cellipse cx='6' cy='4.5' rx='4.3' ry='2.4'/%3E%3Cellipse cx='18' cy='4.5' rx='4.3' ry='2.4'/%3E%3Cellipse cx='0' cy='13.5' rx='4.3' ry='2.4'/%3E%3Cellipse cx='12' cy='13.5' rx='4.3' ry='2.4'/%3E%3Cellipse cx='24' cy='13.5' rx='4.3' ry='2.4'/%3E%3C/g%3E%3C/svg%3E")}
@media (prefers-color-scheme:dark){:root{--bg:#1F1A1E;--paper:#2A2328;--ink:#F3E9E1;--ink-2:#C9B9AF;--line:#46393F;--rose:#EE8FA6;--rose-ink:#2A1A20;--ball:#6E3B4A;--strand:#EE8FA6;--needle:#E7BE62;--hook:#7CCBC2;--danger:#F39A78;
--knit:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='18'%3E%3Cg fill='none' stroke='%23ffe6dc' stroke-opacity='.05' stroke-width='1.8'%3E%3Cellipse cx='6' cy='4.5' rx='4.3' ry='2.4'/%3E%3Cellipse cx='18' cy='4.5' rx='4.3' ry='2.4'/%3E%3Cellipse cx='0' cy='13.5' rx='4.3' ry='2.4'/%3E%3Cellipse cx='12' cy='13.5' rx='4.3' ry='2.4'/%3E%3Cellipse cx='24' cy='13.5' rx='4.3' ry='2.4'/%3E%3C/g%3E%3C/svg%3E")}}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--bg) var(--knit);color:var(--ink);font:17px/1.55 Nunito,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.card{width:min(440px,100%);padding:34px 30px 30px;border-radius:28px;background:var(--paper);border:2px dashed var(--line);box-shadow:0 0 0 8px var(--paper),0 18px 40px -24px rgb(59 47 47/.45)}
.mark{width:84px;height:84px;display:block;margin:-6px 0 0 -6px}
.ball{fill:var(--ball)}.strand,.tail{stroke:var(--strand)}.hook path{stroke:var(--hook)}.hook .grip{stroke:color-mix(in srgb,var(--hook) 70%,#000)}
.eyebrow{margin:16px 0 6px;font-weight:800;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--rose)}
h1{margin:0;font:600 clamp(40px,10vw,52px)/1 Fraunces,Georgia,serif;font-variation-settings:"SOFT" 100,"WONK" 1;letter-spacing:-.01em}
.lede{margin:14px 0 24px;color:var(--ink-2)}
label{display:block;margin-bottom:8px;font-weight:800;font-size:14px}
input{width:100%;min-height:50px;padding:10px 16px;border:2px solid var(--line);border-radius:16px;background:var(--bg);color:var(--ink);font:inherit}
input:focus{outline:3px solid var(--rose);outline-offset:2px;border-color:var(--rose)}
.is-error input{border-color:var(--danger)}
button{width:100%;min-height:54px;margin-top:16px;border:0;border-radius:999px;background:var(--rose);color:var(--rose-ink);font:800 18px/1 Nunito,system-ui,sans-serif;cursor:pointer;box-shadow:0 4px 0 rgb(0 0 0/.12)}
button:hover{filter:brightness(1.05)}
button:active{translate:0 2px;box-shadow:0 2px 0 rgb(0 0 0/.12)}
button:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.error{min-height:1.5em;margin:12px 0 0;color:var(--danger);font-weight:700;font-size:.95rem}
