.auth-root{min-height:100vh;background:var(--bg);color:var(--ink);font-family:Inter,Noto Sans SC,-apple-system,BlinkMacSystemFont,sans-serif;display:flex;align-items:center;justify-content:center;padding:24px;position:relative}.auth-root:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.45;background-image:radial-gradient(#1b1a170d 1px,#0000 0),radial-gradient(#1b1a170a 1px,#0000 0);background-size:3px 3px,7px 7px;background-position:0 0,1px 2px}.auth-card{position:relative;z-index:1;width:min(100%,386px);background:var(--paper);border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);padding:32px}.auth-top{position:absolute;left:16px;top:14px;display:flex;gap:8px}.auth-link{border:2px solid transparent;background:transparent;color:var(--ink-soft);font-size:12px;font-weight:900;text-decoration:none;padding:7px 9px;cursor:pointer}.auth-link:hover{border-color:var(--ink);background:var(--paper);box-shadow:2px 2px 0 var(--ink);color:var(--ink)}.auth-brand{display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:10px}.auth-brand span{font-family:VT323,Zpix,monospace;font-size:25px;line-height:1}.auth-kicker{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--ink-mute);font-family:VT323,Zpix,monospace;font-size:18px;line-height:1}.auth-kicker:before{content:"";width:10px;height:10px;background:var(--acid);border:2px solid var(--ink);box-shadow:1px 1px 0 var(--ink)}.auth-title{font-family:VT323,Zpix,monospace;font-size:58px;line-height:.86;text-align:center;margin:10px 0 8px;font-weight:400;letter-spacing:0}.auth-subtitle{text-align:center;font-size:12px;color:var(--ink-soft);margin:0 0 24px}.auth-form{display:grid;gap:13px}.auth-input{height:42px;border:2px solid var(--ink);background:var(--paper);box-shadow:3px 3px 0 #1b1a1729;color:var(--ink);font:inherit;font-weight:800;padding:0 12px;outline:0}.auth-input:focus{box-shadow:4px 4px 0 var(--tomato)}.auth-button{width:100%;height:42px;border:2px solid var(--ink);background:var(--ink);color:var(--paper);box-shadow:4px 4px 0 #1b1a1729;font-weight:950;cursor:pointer}.auth-button:hover{background:var(--tomato);transform:translate(-1px,-1px)}.auth-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-button[hidden],.auth-divider[hidden]{display:none}.auth-button--secondary{background:var(--paper);color:var(--ink);box-shadow:3px 3px 0 #1b1a1729}.auth-button--secondary:hover{background:var(--acid)}.auth-ghost{border:0;background:transparent;color:var(--ink-soft);min-height:34px;width:100%;font-size:12px;font-weight:900;cursor:pointer}.auth-ghost:hover{color:var(--ink);background:var(--bg-deep)}.auth-ghost--link{display:grid;place-items:center;text-decoration:none;margin-top:2px}.auth-note{text-align:center;font-size:12px;color:var(--ink-mute);margin:0}.auth-divider{display:flex;align-items:center;gap:9px;margin:6px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--ink);flex:1}.auth-divider span{font-family:VT323,Zpix,monospace;font-size:20px;color:var(--ink-mute)}.auth-preview{display:none;border:2px solid var(--ink);background:var(--acid);box-shadow:3px 3px 0 var(--ink);padding:10px 12px;font-size:12px;font-weight:850;line-height:1.45}.auth-preview.show{display:block}.auth-error{display:none;border:2px solid var(--ink);background:var(--tomato);color:var(--paper);box-shadow:3px 3px 0 var(--ink);padding:9px 11px;font-size:12px;font-weight:900}.auth-error.show{display:block}.auth-turnstile{min-height:65px;display:grid;place-items:center;border:2px dashed var(--ink);background:#fffdf5;padding:8px}.auth-turnstile[hidden]{display:none}.auth-turnstile-status{width:100%;font-size:12px;font-weight:900;text-align:center;color:var(--ink-soft)}.auth-turnstile-status.ok{color:#116c37}.auth-toast{position:fixed;right:20px;bottom:20px;z-index:10;border:2px solid var(--ink);background:var(--ink);color:var(--paper);box-shadow:5px 5px 0 var(--tomato);padding:12px 14px;font-weight:900;transform:translateY(120px);transition:transform .18s ease}.auth-toast.show{transform:translateY(0)}@media(max-width:560px){.auth-root{align-items:flex-start;padding-top:74px}.auth-card{padding:26px 20px}.auth-title{font-size:50px}.auth-top{left:10px;top:10px}}
