*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:#000;color:#eee;font:14px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;min-height:100svh;display:grid;place-items:center;padding:32px 24px}main{width:min(100%,440px);text-align:center;padding:36px 0}.access-brand{display:block;width:250px;max-width:76%;margin:0 auto 58px}.access-brand img{display:block;width:100%;height:auto}h1{font-size:14px;line-height:1.6;font-weight:400;letter-spacing:.07em;margin:0 0 24px;text-transform:uppercase}form{display:grid;gap:14px;text-align:left}label{display:grid;gap:8px;font-size:12px;color:#aaa}input{font:400 16px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;color:#fff;background:#181818;border:1px solid #333;padding:14px 16px;border-radius:0;min-width:0;width:100%;min-height:52px}input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid #fff;outline-offset:4px}.password-row{display:grid;grid-template-columns:1fr 104px;gap:12px;align-items:end}button{min-height:52px;border:1px solid #555;border-radius:0;background:#000;color:#fff;font:inherit;font-weight:600;cursor:pointer;transition:background .16s}button:hover{background:#202020}button:disabled{opacity:.5}#accessError{color:#f7b5b5;font-size:13px;margin:0;min-height:22px}.access-status{font-size:12px;color:#999;letter-spacing:.09em;margin:10px 0 0}@media(max-width:480px){body{padding:24px}.access-brand{width:220px;margin-bottom:48px}.password-row{grid-template-columns:1fr 88px}}@media(prefers-reduced-motion:reduce){button{transition:none}}
/* The visible viewport excludes the mobile keyboard. */
body{min-height:var(--access-height,100svh);padding:24px;transition:min-height .2s ease}
main{animation:access-in .65s ease both}
input{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default;scroll-margin-block:100px;touch-action:manipulation}
.access-editing{align-items:start}
.access-editing main{padding-top:12px;padding-bottom:80px}
.access-editing .access-brand{width:150px;margin-bottom:20px}
.access-brand{transition:width .25s ease,margin .25s ease}
@keyframes access-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:480px){body{padding:20px 24px}.password-row{grid-template-columns:1fr;gap:16px}.password-row button{width:100%;min-height:50px}.access-editing h1{margin-bottom:14px}.access-status{margin-top:8px}}
@media(prefers-reduced-motion:reduce){main{animation:none}body,.access-brand{transition:none}}
