@font-face{font-family:"Winky Sans";src:url(/fonts/winky.woff2) format("woff2");font-weight:300 900;font-display:swap}
@font-face{font-family:"Nunito";src:url(/fonts/nunito.woff2) format("woff2");font-weight:200 1000;font-display:swap}
:root{--bg:#0d0b12;--panel:#15121c;--line:#2a2433;--ink:#f4eee6;--mut:#9a90a6;--acc:#ff4f8b;--danger:#ff7a8a}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font:600 15px/1.4 "Nunito",system-ui,sans-serif}
.login{min-height:100dvh;display:grid;align-content:center;justify-items:center;padding:24px 16px}
.wordmark{margin:0 0 28px;text-align:center;font:800 56px/1 "Winky Sans","Nunito",system-ui,sans-serif;letter-spacing:-.02em;background:linear-gradient(90deg,#ff69c1,#ffa28f 55%,#ffdb5b);-webkit-background-clip:text;background-clip:text;color:transparent}
.viewport{width:100%;max-width:380px;overflow:hidden}
.track{display:flex;width:200%;transition:transform .38s cubic-bezier(.32,.72,0,1)}
.track.two{transform:translateX(-50%)}
.step{width:50%;flex:none;display:grid;gap:16px;align-content:start;padding:2px 4px 4px}
.step[inert]{visibility:hidden;transition:visibility 0s .38s}
h1{margin:0;font:800 30px/36px "Winky Sans","Nunito",sans-serif;letter-spacing:-.03em}
.sub{margin:-6px 0 0;color:var(--mut);overflow-wrap:anywhere}.sub b{color:var(--ink);font-weight:700}
.field{display:grid;gap:2px;align-content:center;min-height:56px;padding:6px 16px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.field span{font-size:12px;line-height:16px;color:var(--mut)}
.field input{min-height:24px;padding:0;border:0;background:none;color:var(--ink);font:600 17px "Nunito",sans-serif;outline:0}
.field:focus-within,.code:focus{border-color:var(--acc)}
.code{width:100%;height:76px;border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--ink);text-align:center;font:800 38px "Winky Sans","Nunito",sans-serif;letter-spacing:.42em;padding-left:.42em;outline:0}
.code::placeholder{color:#3a3345}
.code.bad{border-color:var(--danger)}
.status{min-height:20px;margin:0;font-size:14px;color:var(--danger)}.status[data-ok]{color:var(--mut)}
.pill{height:52px;border:0;border-radius:99px;background:var(--acc);color:#fff;font:800 16px "Nunito",sans-serif;cursor:pointer;transition:opacity .15s}
.pill:disabled{opacity:.4;cursor:default}
.link{border:0;background:none;padding:0;color:var(--acc);font:700 14px "Nunito",sans-serif;cursor:pointer}
.link:disabled{color:var(--mut);cursor:default}
.resend{justify-self:center}
