@font-face{font-family:SB;src:url('/auth/font.otf') format('opentype');font-display:swap}@font-face{font-family:SBExtended;src:url('/auth/display.ttf') format('truetype');font-weight:600;font-display:swap}
:root{color-scheme:dark;--bg:#0a0a0a;--panel:#101010;--text:#fafafa;--quiet:#777;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:SB,sans-serif;min-height:100svh}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait}button:focus-visible{outline:2px solid #8bdcbd;outline-offset:5px}.grid{position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(ellipse at center,#000 5%,transparent 74%)}.gate{min-height:100svh;display:grid;place-items:center;padding:32px 20px}.card{position:relative;width:min(100%,420px);padding:40px;border:1px solid #ffffff06;border-radius:16px;background:var(--panel);animation:arrive .55s var(--ease) both}.brand{display:flex;align-items:center;gap:15px;font-size:19px;line-height:25px}.brand img{display:block}h1{font-family:SBExtended,SB,sans-serif;font-weight:600;font-size:38px;letter-spacing:-.04em;line-height:1.1;margin:66px 0 34px}label{display:block;font-size:14px;color:#999;margin:0 0 12px}.password-field{display:flex;align-items:center;height:58px;border:1px solid #343434;border-radius:12px;background:#0b0b0b;transition:border-color .25s,box-shadow .25s}.password-field:focus-within{border-color:#9dd5c0;box-shadow:0 0 0 3px #7de0b50b}input{width:100%;min-width:0;border:0;background:transparent;outline:none;color:var(--text);padding:17px 0 17px 18px;font-size:16px;line-height:22px}input::placeholder{color:#5f5f5f}.reveal{flex:0 0 48px;height:48px;border:0;background:none;color:#777;padding:13px;transition:color .2s}.reveal:hover,.reveal[aria-pressed=true]{color:#fff}.reveal svg{width:22px;height:22px}.error{min-height:36px;margin:10px 0 10px;color:#e7a39e;font-size:13px;line-height:18px}.submit{display:flex;align-items:center;gap:9px;width:100%;height:48px;border:1px solid #fafafa;border-radius:24px;padding:0 18px;color:var(--text);background:transparent;font-size:18px;transition:background .25s,transform .35s var(--ease)}.submit:hover{background:#ffffff0a}.submit:active{transform:scale(.98)}.dot{width:12px;height:12px;flex:0 0 12px;border-radius:50%;background:linear-gradient(135deg,#c1ff42,#00d893 48%,#45b5ff);transition:transform .35s var(--ease)}.submit:hover .dot{transform:scale(1.16)}.arrow{margin-left:auto;width:20px;height:20px;transition:transform .35s var(--ease)}.submit:hover .arrow{transform:translateX(3px)}.invalid .password-field{border-color:#9b635f}.leaving .card{opacity:0;transform:translateY(-8px);transition:opacity .3s,transform .3s var(--ease)}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:480px){.card{padding:30px 26px}h1{margin-top:52px;font-size:34px}.grid{background-size:60px 60px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
