:root{--canvas:#fbf9f4;--surface:#fff;--rule:#ddd;--ink:#0b1846;--navy:#071849;--muted:#555fab;--body:#3b4470;--purple:#4f23ce;--purple-hover:#3f1aa8;--mint:#50e2c2;--on-navy:#c9d0ea;--red:#c4052a;--ok:#1d7a5f;--display:"Lato", Arial, sans-serif;--ui:"Inter", "Helvetica Neue", Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{background:var(--navy);color:var(--ink);font-family:var(--ui);font-size:16px;line-height:1.5}.page{min-height:100dvh;padding-block:40px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));flex-direction:column;justify-content:center;align-items:center;display:flex}.brand{justify-content:center;margin-bottom:28px;display:flex}.brand img{width:auto;height:58px}@media (width<=420px){.brand img{height:48px}}.card{background:var(--surface);border:1px solid var(--rule);border-radius:16px;width:min(440px,100%);padding:36px 32px 32px;box-shadow:0 24px 48px #00000047}@media (width<=420px){.card{padding:28px 20px 24px}}h1{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance;margin:0 0 8px;font-size:1.75rem;font-weight:900;line-height:1.15}.lede{color:var(--body);margin:0 0 24px}.fine{color:var(--muted);margin:16px 0 0;font-size:.875rem}.fine.before-field{margin:-8px 0 20px}.center{text-align:center}form{flex-direction:column;display:flex}.field{flex-direction:column;gap:6px;margin-bottom:18px;display:flex}label{font-size:.9rem;font-weight:600}input{font:inherit;color:var(--ink);border:1px solid var(--rule);background:var(--canvas);border-radius:10px;width:100%;padding:12px 14px}input:focus{border-color:var(--purple);background:var(--surface);outline:none;box-shadow:0 0 0 3px #4f23ce2e}.invalid input{border-color:var(--red)}.field-error{color:var(--red);margin:0;font-size:.85rem}.password{position:relative}.password input{padding-right:64px}.password .link{position:absolute;top:50%;right:10px;transform:translateY(-50%)}.rules{color:var(--muted);grid-template-columns:1fr 1fr;gap:2px 12px;margin:6px 0 0;padding:0;font-size:.82rem;list-style:none;display:grid}@media (width<=380px){.rules{grid-template-columns:1fr}}.rules .ok{color:var(--ok)}.code{letter-spacing:.45em;text-align:center;padding:12px;font-family:Courier New,monospace;font-size:1.6rem}.primary{font:inherit;font-family:var(--display);background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:10px;margin-top:4px;padding:14px 20px;font-size:1rem;font-weight:700}.primary:hover:not(:disabled){background:var(--purple-hover)}.primary:disabled{opacity:.55;cursor:default}.primary:focus-visible,.link:focus-visible,a:focus-visible{outline:3px solid var(--mint);outline-offset:2px}a.button{text-align:center;text-decoration:none;display:block}.link{font:inherit;color:var(--purple);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;font-size:.9rem;text-decoration:underline}.link:disabled{color:var(--muted);cursor:default;text-decoration:none}.row{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:18px;display:flex}.alert{color:#8a0420;background:#fdecef;border-radius:10px;margin:0 0 14px;padding:10px 14px;font-size:.9rem}.turnstile:not(:empty){margin:0 0 14px}.login{color:var(--on-navy);margin:24px 0 0;font-size:.95rem}.login a{color:var(--mint);font-weight:600}.login a:focus-visible{outline-color:var(--surface)}a{color:var(--purple)}.spinner{border:4px solid var(--rule);border-top-color:var(--purple);border-radius:50%;width:40px;height:40px;margin:8px auto 20px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{border-top-color:var(--mint);animation:none}}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
