:root{color-scheme:light dark;--paper:#fff;--ink:#111;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
@media(prefers-color-scheme:dark){:root{--paper:#111;--ink:#fff}}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}a{color:inherit;text-underline-offset:5px}button,input{font:inherit;color:inherit;background:transparent;border:1px solid var(--ink);border-radius:0;min-height:48px}button{cursor:pointer;padding:0 16px}button:hover{background:var(--ink);color:var(--paper)}button:disabled{opacity:.45;cursor:wait}input{padding:0 12px;min-width:0}input[type=password],.masked{-webkit-text-security:square}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}[hidden]{display:none!important}.masthead{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 32px;border-bottom:1px solid var(--ink);font-size:12px}.brand{text-decoration:none;font-size:24px;font-weight:bold;letter-spacing:-2px}.eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase}.login{min-height:100svh;display:grid;place-content:center;justify-items:center;padding:24px 0}
.login h1{font-family:Arial,sans-serif;font-size:clamp(42px,12vw,220px);font-weight:400;letter-spacing:-.07em;line-height:.95;margin:0 24px 7vh;text-align:center;width:calc(100vw - 48px)}
.login form{position:relative;display:grid;gap:12px;width:min(440px,calc(100vw - 48px))}
.login .row{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:12px}
.field-wrap,.login .square{position:relative;height:48px;min-width:0}
.login .square{width:48px;height:48px;padding:0;font-size:0}
.login form[data-icons="true"] .square{font-size:20px}
.square-mask{position:absolute;inset:1px 13px;line-height:46px;pointer-events:none;overflow:hidden;white-space:pre;font-size:18px;letter-spacing:.08em}
.login input.masked{color:transparent;-webkit-text-fill-color:transparent;caret-color:var(--ink)}
.login input{height:48px;font-size:18px;width:100%}
.login form[data-error]{outline:1px dashed var(--ink);outline-offset:8px}
.sr,.sr-only{position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip-path:inset(50%)}
.pulse-ring{position:absolute;inset:-1px;border:1px solid var(--ink);pointer-events:none;animation:pulse-ring 440ms cubic-bezier(.16,1,.3,1) forwards}
.pulse-ring.subtle{animation-name:pulse-subtle;animation-duration:360ms}
@keyframes pulse-ring{from{inset:-1px;opacity:.55}to{inset:-9px;opacity:0}}
@keyframes pulse-subtle{from{inset:-1px;opacity:.38}to{inset:-6px;opacity:0}}
@media(prefers-reduced-motion:reduce){.pulse-ring{animation-duration:1ms}}
dialog{background:var(--paper);color:var(--ink);border:1px solid var(--ink);max-width:min(520px,calc(100vw - 32px));padding:32px;line-height:1.6}dialog::backdrop{background:#7778}main.security{max-width:1200px;margin:auto;padding:48px 32px 80px}.page-title{font-size:clamp(32px,5vw,64px);font-weight:400;letter-spacing:-.06em;margin:12px 0 40px}main:not(.security):not(.login){padding:48px} @media(max-width:600px){.masthead{padding:20px}.masthead .eyebrow{font-size:9px}main.security{padding:32px 20px}}

.login h1 span{display:inline-block;white-space:nowrap}
@media(max-width:600px){.login h1{font-size:clamp(42px,42vw,220px)}}
