html,body{height:100%;margin:0;padding:0}.auth-shell{min-height:100vh;font-family:var(--font-sans);background:#faf9f6;display:flex}.auth-left{background:#0c0b0a;flex-direction:column;justify-content:space-between;display:none;position:relative;overflow:hidden}@media (width>=1024px){.auth-left{width:54%;display:flex}}@media (width>=1280px){.auth-left{width:58%}}#ascii-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.auth-right{background:#faf9f6;flex:1;justify-content:center;align-items:center;padding:2rem 1.5rem;display:flex}.auth-form-wrap{flex-direction:column;gap:1.5rem;width:100%;max-width:380px;display:flex}.auth-back{color:#9c9590;text-transform:uppercase;letter-spacing:.08em;font-family:JetBrains Mono,monospace;font-size:.6875rem;font-weight:600;text-decoration:none;transition:color .15s}.auth-back:hover{color:#1c1a18}.auth-heading h1{font-family:var(--font-display);color:#1c1a18;letter-spacing:-.025em;margin:0 0 .375rem;font-size:1.875rem;font-weight:700}.auth-heading p{color:#6b6560;margin:0;font-size:.875rem}.auth-error{background:#fef2f2;border:1px solid #ef444433;border-radius:.75rem;flex-direction:column;gap:.25rem;padding:.875rem 1rem;display:flex}.auth-error strong{color:#dc2626;font-size:.75rem}.auth-error span{color:#4b4540;font-size:.75rem;line-height:1.5}.auth-oauth{flex-direction:column;gap:.625rem;display:flex}.oauth-btn{letter-spacing:.055em;text-transform:uppercase;color:#1c1a18;cursor:pointer;background:#fff;border:1px solid #e5e3df;border-radius:.5rem;justify-content:center;align-items:center;gap:.625rem;width:100%;padding:.75rem 1rem;font-family:JetBrains Mono,monospace;font-size:.6875rem;font-weight:700;transition:background .15s,border-color .15s,transform .1s,box-shadow .1s;display:flex;box-shadow:0 2px #d5d1ca}.oauth-btn:hover{background:#f5f4f1;border-color:#ccc}.oauth-btn:active{box-shadow:none;transform:translateY(2px)}.auth-divider{color:#c0bdb9;align-items:center;gap:1rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-top:1px solid #e5e3df;flex:1}.auth-divider span{text-transform:uppercase;letter-spacing:.1em;color:#b0ada9;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:.625rem;font-weight:700}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-form.hidden{display:none}.auth-field{flex-direction:column;gap:.375rem;display:flex}.auth-field label{text-transform:uppercase;letter-spacing:.1em;color:#6b6560;font-family:JetBrains Mono,monospace;font-size:.625rem;font-weight:700}.auth-field-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.auth-field-head a{color:#a61b10;letter-spacing:.04em;text-underline-offset:3px;font-family:JetBrains Mono,monospace;font-size:.625rem;font-weight:700;-webkit-text-decoration:underline #dbd5c8;text-decoration:underline #dbd5c8}.auth-field-head a:hover{text-decoration-color:#a61b10}.auth-input-wrap{position:relative}.auth-input-icon{color:#b0ada9;pointer-events:none;width:1rem;height:1rem;transition:color .15s;position:absolute;top:50%;left:.875rem;transform:translateY(-50%)}.auth-input-wrap:focus-within .auth-input-icon{color:#a61b10}.auth-input-wrap input{color:#1c1a18;box-sizing:border-box;width:100%;font-size:.875rem;font-family:var(--font-sans);background:#fff;border:1px solid #e5e3df;border-radius:.5rem;outline:none;padding:.75rem 1rem .75rem 2.75rem;transition:border-color .15s,box-shadow .15s}.auth-input-wrap input::placeholder{color:#c0bdb9}.auth-input-wrap input:focus{border-color:#a61b10;box-shadow:0 0 0 3px #a61b101a}.auth-turnstile{justify-content:center;padding:.25rem 0;display:flex}.auth-limit-note{color:#7b746b;text-align:center;margin:-.25rem 0 0;font-size:.6875rem;line-height:1.5}.auth-submit{color:#fff;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;background:#a61b10;border:1px solid #5e0f08;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.8125rem 1.25rem;font-family:JetBrains Mono,monospace;font-size:.6875rem;font-weight:700;transition:background .15s,transform .1s,box-shadow .1s;display:flex;box-shadow:0 2px #5e0f08}.auth-submit:hover{background:#c92114}.auth-submit:active{box-shadow:none;transform:translateY(2px)}.auth-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}.auth-success{background:#f0fdf4;border:1px solid #22c55e33;border-radius:.75rem;flex-direction:column;gap:.25rem;padding:.875rem 1rem;display:flex}.auth-success.hidden{display:none}.auth-success strong{color:#16a34a;font-size:.75rem}.auth-success span{color:#4b4540;font-size:.75rem}.auth-links{text-align:center;border-top:1px solid #e5e3df;flex-direction:column;gap:.625rem;padding-top:1.25rem;display:flex}.auth-link-muted{text-transform:uppercase;letter-spacing:.08em;color:#9c9590;cursor:pointer;background:0 0;border:none;padding:0;font-family:JetBrains Mono,monospace;font-size:.625rem;font-weight:700;transition:color .15s}.auth-link-muted:hover{color:#a61b10}.auth-link-primary{text-transform:uppercase;letter-spacing:.08em;color:#a61b10;font-family:JetBrains Mono,monospace;font-size:.625rem;font-weight:700;text-decoration:none;transition:color .15s}.auth-link-primary:hover{color:#5e0f08}
