.login-screen{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;overflow:hidden;overscroll-behavior:none;box-sizing:border-box;height:100vh;height:100svh;padding:clamp(10px,2vh,22px) clamp(14px,4vw,40px) 54px;color:#edf0e9;background-color:#090c09;background-image:radial-gradient(#d7e0d522 0.55px,transparent 0.8px),radial-gradient(ellipse at 50% 46%,#252b24 0,#171b17 38%,#090c09 100%);background-size:7px 7px,100% 100%}
.login-screen::before{content:"";position:absolute;inset:-8%;pointer-events:none;background-image:url('/site73-logo.svg');background-repeat:no-repeat;background-position:calc(50% + 610px) 48%;background-size:min(900px,74vw);opacity:.055;filter:blur(3px)}
.login-screen::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.11;background:repeating-linear-gradient(117deg,transparent 0 3px,#fff 4px,transparent 5px 9px);mix-blend-mode:soft-light}
.login-card{position:relative;z-index:1;width:min(500px,100%);margin-block:auto;padding:8px 0;border:0;background:transparent;display:grid;justify-items:center;gap:clamp(6px,1.2vh,11px);box-shadow:none}
.login-credentials{display:contents}.login-credentials[hidden],.login-mfa[hidden],.login-mfa-box[hidden],#login-mfa-code-field[hidden],#login-mfa-submit[hidden],#login-mfa-continue[hidden]{display:none!important}.login-mfa{width:100%;display:grid;justify-items:center;gap:10px}.login-mfa h2{font-family:Rajdhani,"Arial Narrow",sans-serif;font-size:clamp(21px,2.4vw,28px);letter-spacing:.08em;text-align:center}.login-mfa>p{width:100%;margin:0;text-align:center;color:#b7c0b3;font-size:11px}.login-mfa-box{display:grid;justify-items:center;gap:9px;width:100%;padding:13px;border:1px solid #ffffff24;background:#080b08a8}.login-mfa-box p{margin:0;text-align:center;font-size:10px}.login-mfa-box code,.login-mfa-box pre{max-width:100%;overflow-wrap:anywhere;color:#dce8d3;font:600 12px "IBM Plex Mono",monospace;text-align:center}.login-mfa-box pre{margin:0;white-space:pre-wrap;line-height:1.8}.login-mfa-box details{width:100%;text-align:center}.login-mfa-box summary{color:#a4aca0;font-size:10px;cursor:pointer}.login-mfa-box details code{display:block;margin-top:8px;font-size:9px;font-weight:400}
.login-card h1{margin:0 0 4px;text-align:center;color:#f1f3ee;font-family:Rajdhani,"Arial Narrow",sans-serif;font-size:clamp(30px,3vw,40px);font-weight:700;line-height:1;letter-spacing:.24em;padding-left:.24em}
.login-logo{display:block;width:clamp(120px,16vw,205px);max-width:min(44vw,28vh);height:auto;aspect-ratio:1;object-fit:contain;margin:0 0 3px;filter:none;opacity:1;transform:none;mix-blend-mode:normal}
.login-field{display:grid;grid-template-columns:minmax(135px,175px) minmax(0,270px);align-items:center;gap:9px;width:100%;margin:0;color:#edf0e9}
.login-field span{font-family:Rajdhani,"Arial Narrow",sans-serif;font-size:clamp(20px,2vw,29px);font-weight:700;letter-spacing:.1em;line-height:1;text-align:right;white-space:nowrap}
.login-field input{width:100%;height:46px;min-width:0;padding:7px 10px;border:2px solid #d9dfd4;border-radius:0;background:#080b08a8;color:#f0f3eb;font:500 15px "IBM Plex Mono",monospace;outline:none;box-shadow:0 2px 8px #0007}
.login-field input:focus{border-color:#9ecb46;box-shadow:0 0 0 3px #9ecb4633}
.login-field input::placeholder{color:transparent}
.login-error{width:100%;min-height:14px;margin:-9px 0 -4px;color:#ff9389!important;text-align:center;font-size:12px;font-weight:600}
.login-card>.solid{min-width:190px;margin-top:0;padding:10px 16px;border:2px solid #9ecb46;border-radius:0;background:#9ecb46;color:#10150e;font:600 11px "IBM Plex Mono",monospace;letter-spacing:.1em}
.login-card>.solid:hover{background:#b1dc58;border-color:#b1dc58}
.login-card small{color:#a4aca0;text-align:center;font:500 10px "IBM Plex Mono",monospace;letter-spacing:.06em}
.login-footer{position:absolute;z-index:2;right:0;bottom:0;left:0;min-height:42px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px clamp(14px,4vw,40px) calc(10px + env(safe-area-inset-bottom));border-top:1px solid #ffffff17;background:#080a08b8;color:#a0a99d;font:500 9px "IBM Plex Mono",monospace;letter-spacing:.12em}
@media(max-width:640px){.login-screen::before{background-position:center 40%;background-size:min(700px,135vw);opacity:.08}.login-card{width:min(430px,100%)}.login-logo{width:clamp(115px,34vw,180px);max-width:min(42vw,26vh);margin-bottom:0}.login-field{grid-template-columns:minmax(100px,34%) minmax(0,1fr);gap:7px}.login-field span{font-size:clamp(16px,4.3vw,23px);letter-spacing:.045em}.login-field input{height:42px;border-width:2px;padding:6px}.login-card>.solid{margin-top:2px}.login-footer{flex-direction:column;justify-content:center;gap:4px;text-align:center;font-size:8px;letter-spacing:.08em}}
@media(max-width:360px){.login-screen{padding-inline:12px}.login-card{gap:8px}.login-field{grid-template-columns:minmax(96px,32%) minmax(0,1fr);gap:6px}.login-field span{font-size:15px;letter-spacing:.035em}.login-field input{padding-inline:6px}}
@media(max-height:680px){.login-screen{align-items:flex-start}.login-card{margin-block:auto}.login-card h1{font-size:clamp(30px,6vh,42px);margin-bottom:2px}.login-logo{width:clamp(96px,23vh,170px);max-width:40vw;margin-bottom:0}.login-field input{height:clamp(42px,7vh,50px)}.login-card>.solid{padding-block:10px}}
@media(max-height:560px){.login-screen{padding-top:4px;padding-bottom:48px}.login-card{gap:5px;padding-block:3px}.login-card h1{font-size:28px;margin:0}.login-logo{width:clamp(78px,16vh,112px);max-width:32vw}.login-field input{height:38px}.login-card>.solid{padding-block:7px}.login-card small{font-size:8px}.login-footer{min-height:38px;padding-block:7px;font-size:8px}}
@media(max-height:470px) and (orientation:landscape){.login-screen{align-items:flex-start;padding-block:8px}.login-card{grid-template-columns:120px minmax(0,520px);grid-template-rows:repeat(6,auto);column-gap:22px;row-gap:6px;width:min(700px,100%);justify-items:stretch}.login-card h1{grid-column:2;margin:0;font-size:30px}.login-logo{grid-column:1;grid-row:1 / span 6;width:110px;max-width:100%;align-self:center;justify-self:center;margin:0}.login-field{grid-column:2;grid-template-columns:145px minmax(0,1fr)}.login-field span{font-size:20px}.login-field input{height:40px}.login-error,.login-card>.solid,.login-card small{grid-column:2}.login-card>.solid{justify-self:start;padding:8px 14px}}
body.login-active{overflow:hidden;overscroll-behavior:none}
