:root{color-scheme:dark;--black:#000;--paper:#f4f4f4;--muted:#777;--line:#333;font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-synthesis:none}
*{box-sizing:border-box}
html{min-width:280px;background:var(--black)}
body{margin:0;color:var(--paper);background:var(--black)}
.login-screen{position:relative;z-index:1;min-height:100svh;isolation:isolate}
button,input{font:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible{outline:1px solid var(--paper);outline-offset:5px}
.login-shell{position:relative;z-index:1;display:grid;place-items:center;min-height:100svh;padding:64px 28px}
.viewport-marks{position:fixed;inset:0;pointer-events:none;color:#bcbcbc;font-size:11px;letter-spacing:2px;z-index:1;text-shadow:0 0 7px #ffffff65}
.mark-top,.mark-bottom{position:absolute;left:38px}
.mark-top{top:29px}.mark-bottom{bottom:28px}
.terminal-window{position:relative;width:min(100%,416px);padding:32px 39px 24px;border:1px solid #ffffff45;background:linear-gradient(135deg,#080808d9,#000000e8);box-shadow:0 30px 100px #000,0 0 35px #ffffff07,inset 0 0 35px #ffffff03;isolation:isolate;text-shadow:0 0 7px #ffffff30}
.frame-corner{position:absolute;color:#fff;font-size:19px;font-weight:400;line-height:1;width:13px;height:13px;display:grid;place-items:center;background:#000;text-shadow:0 0 8px #ffffff80}
.top-left{top:-7px;left:-7px}.top-right{top:-7px;right:-7px}.bottom-left{bottom:-7px;left:-7px}.bottom-right{bottom:-7px;right:-7px}
.terminal-caption{display:flex;align-items:center;justify-content:center;gap:9px;font-size:9px;line-height:12px;letter-spacing:2px;color:#c2c2c2}
.terminal-cursor{color:var(--paper);animation:blink 1.3s steps(1,end) infinite}
.portal{position:relative;display:grid;place-items:center;margin:23px 0 22px}
.portal pre{margin:0;color:#fff;font:10px/1.25 "SFMono-Regular",Consolas,"Liberation Mono",monospace;letter-spacing:.5px;white-space:pre;filter:drop-shadow(0 0 6px #ffffff60);user-select:none}
.portal-specks{position:absolute;left:-3px;top:31px;color:#888;font-size:8px;letter-spacing:2px;transform:rotate(-90deg);transform-origin:0 0}
.portal::after{content:". : + . :";position:absolute;right:-10px;bottom:18px;font-size:8px;letter-spacing:2px;color:#888;transform:rotate(90deg);transform-origin:100% 100%}
h1{margin:0;font-size:32px;line-height:1.25;font-weight:400;letter-spacing:4px;text-align:center}
.title-dot{color:#c0c0c0}
.heading-rule{display:flex;gap:14px;align-items:center;justify-content:space-between;margin:22px 0 30px;color:#929292;font-size:10px;line-height:1;overflow:hidden}
.heading-rule span:nth-child(2){white-space:nowrap;letter-spacing:2.7px}
.field{margin-bottom:24px}
.field label{display:flex;align-items:center;gap:11px;margin:0 0 11px;font-size:10px;line-height:1;letter-spacing:2px;color:#ccc}
.label-prefix{color:#999;font-size:12px;letter-spacing:0}
.input-line{display:flex;align-items:center;gap:12px;min-height:48px;border-bottom:1px solid #484848;background:#ffffff03;transition:border-color .18s,background .18s;padding:0 11px}
.input-line:focus-within{border-color:var(--paper);background:#ffffff07}
.input-bracket{flex:none;color:#aaa;font-size:18px;line-height:1}
.input-line:focus-within .input-bracket{color:#d3d3d3}
.field input{display:block;min-width:0;width:100%;height:47px;padding:0;border:0;border-radius:0;background:transparent;color:var(--paper);font-size:13px;line-height:1;outline:0;caret-color:#fff}
.field input::placeholder{color:#888;font-size:12px}
.field input:focus-visible{outline:0}
.field input:-webkit-autofill,.field input:-webkit-autofill:hover,.field input:-webkit-autofill:focus{-webkit-text-fill-color:var(--paper);-webkit-box-shadow:0 0 0 100px #111 inset;caret-color:#fff}
.password-field{gap:10px}
.password-toggle{flex:none;display:grid;place-items:center;align-self:stretch;min-width:42px;padding:0;border:0;background:transparent;color:#bbb;font-size:9px;line-height:1;letter-spacing:1px;transition:color .18s}
.password-toggle:hover,.password-toggle[aria-pressed="true"]{color:#fff}
.form-error{font-size:11px;line-height:1.7;color:#eee;margin:0 0 20px;padding-left:25px;position:relative;overflow-wrap:anywhere}
.form-error:empty{display:none}
.form-error:not(:empty)::before{content:"!";position:absolute;left:2px;top:0;color:#fff}
.submit-button{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:50px;margin-top:31px;padding:0 17px;border:1px solid #f4f4f4;border-radius:0;background:#f4f4f4;color:#090909;font-size:11px;line-height:1;letter-spacing:3px;font-weight:600;transition:background .18s,color .18s,transform .18s}
.submit-button:hover{background:#000;color:#fff}
.submit-button:active{transform:translateY(1px)}
.submit-button:disabled{cursor:wait;background:#bdbdbd;border-color:#bdbdbd;color:#222}
.enter-mark{font-size:20px;letter-spacing:0;font-weight:400}
.terminal-footer{display:flex;justify-content:space-between;margin-top:25px;color:#8d8d8d;font-size:10px;line-height:1;letter-spacing:2px}
@keyframes blink{0%,48%{opacity:1}49%,100%{opacity:0}}
@media(max-width:600px){.login-shell{padding:48px 24px}.terminal-window{padding:28px 28px 22px}.mark-top,.mark-bottom{left:24px}.mark-top{top:20px}.mark-bottom{bottom:20px}.viewport-marks{font-size:9px}.portal{margin:24px 0}.portal pre{font-size:9px;letter-spacing:.2px}h1{font-size:29px;letter-spacing:3px}.heading-rule{margin:20px 0 27px}.heading-rule span:nth-child(2){letter-spacing:1px}.field{margin-bottom:23px}.terminal-footer{margin-top:23px}}
@media(max-width:340px){.login-shell{padding:38px 19px}.terminal-window{padding-inline:19px}.portal pre{font-size:8px}.heading-rule{gap:8px}.heading-rule span:nth-child(2){letter-spacing:.2px}}
@media(max-height:700px) and (min-width:601px){.login-shell{padding-block:34px}.terminal-window{padding-top:23px;padding-bottom:20px}.portal{margin-block:18px}.portal pre{font-size:9px}.heading-rule{margin-block:18px 25px}.field{margin-bottom:20px}.terminal-footer{margin-top:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
