.auth-page{flex:1;width:100%;display:flex;align-items:center;justify-content:center;min-height:100vh;padding:40px 20px}.auth-card{width:100%;min-width:min(520px,100%);max-width:560px;display:flex;flex-direction:column;align-items:stretch;gap:28px}@media(max-width:600px){.auth-card{min-width:0}}.auth-card h2{font-size:24px}.auth-heading-group{display:flex;flex-direction:column;gap:8px}.auth-heading{margin:0;font-family:var(--font-sans);font-size:32px;font-variation-settings:"wght" 660,"opsz" 60;letter-spacing:-.03em;line-height:1.05;color:var(--foreground)}.auth-sub{margin:0;font-size:14px;line-height:1.5;color:var(--foreground-feint);max-width:360px}.auth-logo{align-self:flex-start;display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--foreground);margin-bottom:8px}.auth-logo .logo-text{font-size:21px;font-variation-settings:"wght" 650,"opsz" 80;letter-spacing:-.03em;line-height:1}.auth-note{font-size:14px;color:var(--foreground-feint);text-align:center;margin-top:-8px}.auth-form{width:100%;display:flex;flex-direction:column;gap:36px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--foreground-feint)}.auth-field-label:before{content:"> ";color:var(--accent)}.auth-field-wrap{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid color-mix(in srgb,var(--foreground) 25%,transparent);transition:border-color .15s;cursor:text}.auth-field-wrap:focus-within{border-bottom-color:var(--foreground)}.auth-field-input{flex:1;width:100%;padding:0;background:transparent;border:none;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:var(--font-mono);font-size:13px;letter-spacing:.02em;color:var(--foreground);outline:none;line-height:1}.auth-field-input::placeholder{color:var(--foreground);opacity:.35}.auth-field-input:disabled{opacity:.5}.auth-btn{width:100%;justify-content:center;margin-top:4px;opacity:.85;transition:opacity .15s}.auth-btn:hover{opacity:1}.auth-btn:disabled{opacity:.5;cursor:not-allowed}.auth-btn--auto{width:auto}.auth-field-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.auth-field-aux{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--foreground-feint);text-decoration:none;transition:color .15s}.auth-field-aux:hover{color:var(--foreground)}.auth-error-block{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px}.auth-error-action{margin-left:auto}.auth-error{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--foreground);margin:0}.auth-error:before{content:"! ";color:var(--accent)}.auth-error-action a{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);text-decoration:none}.auth-error-action a:hover{text-decoration:underline}.auth-switch{font-size:14px}.auth-frame{width:100%;min-width:420px;padding:8px;background-image:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--foreground) 10%,transparent) 0px,color-mix(in srgb,var(--foreground) 10%,transparent) 1.5px,transparent 1.5px,transparent 8px)}.auth-frame-inner{background:var(--background);padding:28px 32px;display:flex;flex-direction:column;gap:22px;position:relative}.auth-frame-divider{height:1px;background:color-mix(in srgb,var(--foreground) 14%,transparent);margin:4px 0 0}@media(max-width:600px){.auth-frame{min-width:0}.auth-frame-inner{padding:22px 20px;gap:18px}.auth-sub{font-size:13px;line-height:1.45;max-width:none}}.auth-frame .auth-kicker{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--foreground-feint);display:flex;align-items:center;gap:8px}.auth-frame .auth-kicker:before{content:">";color:var(--accent)}.auth-success,.auth-error-state{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.auth-success-icon{width:48px;height:48px;color:var(--accent)}.auth-error-state h2{font-size:22px}.auth-error-state p{max-width:300px;text-wrap:balance}.auth-error-state .auth-btn{width:auto;margin-top:8px}
