.auth-dialog{--auth-paper:#fffdf7;--auth-ink:#26382f;--auth-muted:#6d736c;--auth-line:#dcded4;--auth-green:#304e3e;--auth-rust:#a65d46;box-sizing:border-box;width:392px;max-width:calc(100vw - 32px);padding:24px 30px 14px;background:var(--auth-paper);border:1px solid #e7e5da;border-radius:18px;box-shadow:0 16px 64px #20372a20;color:var(--auth-ink);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}
.auth-dialog::before{content:"";position:absolute;top:0;left:30px;width:13px;height:24px;background:var(--auth-rust);clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%)}
.auth-dialog[open]{animation:auth-enter .2s ease-out}
.auth-dialog::backdrop{background:#26382f32;backdrop-filter:blur(2px)}
.auth-dialog .dialog-close{top:6px;right:6px;width:44px;height:44px;font:25px/1 sans-serif;color:#73786e;border-radius:50%;display:grid;place-items:center;transition:background .16s}
.auth-dialog .dialog-close:hover{background:#eeeee5}
.auth-brand{display:flex;align-items:baseline;gap:9px;margin:4px 0 18px;color:var(--auth-green)}
.auth-brand>span{font:18px/1.2 'Songti SC','STSong','Noto Serif CJK SC',serif;letter-spacing:.12em}
.auth-brand small{font:9px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:.16em;color:var(--auth-muted)}
.auth-dialog h2{font:500 27px/1.35 'Songti SC','STSong','Noto Serif CJK SC',serif;letter-spacing:.015em;margin:0 0 6px;text-align:left}
.auth-dialog #auth-intro{font-size:13px;line-height:1.6;color:var(--auth-muted);text-align:left;margin:0 0 18px}
.auth-dialog label{display:block;font-size:12px;font-weight:500;margin:0 0 7px}
.auth-dialog input{box-sizing:border-box;width:100%;height:46px;border:1px solid var(--auth-line);border-radius:8px;background:#fffefa;font-family:inherit;font-size:16px;line-height:1.4;color:var(--auth-ink);padding:10px 12px;outline:none;margin:0;transition:border-color .16s,box-shadow .16s}
.auth-dialog input:focus{border-color:#71836a;box-shadow:0 0 0 3px #63795713}
.auth-dialog input::placeholder{color:#969a90}
.auth-dialog input[aria-invalid=true]{border-color:var(--auth-rust)}
.auth-password-field{margin-top:12px}
.auth-password-input{position:relative}
.auth-password-input input{padding-right:58px}
.auth-password-input>button{position:absolute;right:1px;top:1px;min-width:50px;height:44px;padding:0 10px;border:0;background:transparent;font-family:inherit;font-size:12px;color:var(--auth-muted);border-radius:7px}
.auth-dialog .primary{display:flex;align-items:center;justify-content:center;background:var(--auth-green);color:#fffdf7;border:1px solid var(--auth-green);border-radius:8px;font-size:14px;line-height:1.4;font-weight:500;height:46px;padding:10px 16px;margin-top:16px;width:100%;transition:background .16s,box-shadow .16s}
.auth-dialog .primary:hover:enabled{background:#253f31;box-shadow:0 3px 9px #24391b16}
.auth-dialog button:disabled{cursor:default;opacity:.48}
.auth-dialog :is(button,a):focus-visible{outline:2px solid #607a50;outline-offset:3px}
.auth-dialog .auth-text-button{font-family:inherit;font-size:12px;line-height:1.4;background:none;border:0;color:var(--auth-green);padding:8px 0;min-height:44px;text-decoration:none}
.auth-dialog .auth-text-button:hover:enabled{text-decoration:underline;text-underline-offset:4px}
.auth-entry-actions{display:flex;justify-content:space-between;gap:14px;margin-top:1px}
.auth-providers{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.auth-provider{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:44px;border:1px solid var(--auth-line);border-radius:8px;background:transparent;color:#28332c;font-size:13px;font-weight:500;transition:background .16s,border-color .16s}
.auth-provider img{width:18px;height:18px;flex:none}
.auth-provider:hover:enabled{background:#f2f3eb;border-color:#aeb7a5}
.auth-provider .provider-state{font-size:10px;font-weight:400;color:var(--auth-muted)}
.auth-dialog .auth-divider{display:flex;align-items:center;font-size:11px;margin:1px 0 11px;color:#8b9085;gap:12px}
.auth-dialog .auth-divider::before,.auth-dialog .auth-divider::after{content:"";height:1px;background:#e7e8df;flex:1}
.auth-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:10px}
.auth-dialog .auth-signup{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--auth-muted);margin:0}
.auth-mailbox{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0 10px;margin:-12px 0 15px;font-size:13px}
#auth-recipient{max-width:100%;overflow-wrap:anywhere;font-weight:500}
.auth-dialog #email-code{height:50px;font:24px/1.2 ui-monospace,SFMono-Regular,monospace;letter-spacing:8px;text-align:center;padding-left:20px}
.auth-code-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:var(--auth-muted)}
.auth-dialog #auth-status{font-size:12px;line-height:1.7;margin:11px 0 0;overflow-wrap:anywhere;min-height:0}
.auth-dialog #auth-status:empty{display:none}
.auth-dialog #auth-status.error{color:#984831}
.auth-availability{font-size:12px;line-height:1.7;color:var(--auth-muted);margin-top:12px}
.auth-dialog .auth-skip{display:block;flex:none;font-size:11px;color:var(--auth-muted);margin:0 0 0 auto;padding:0;border:0;text-align:center;line-height:44px;min-height:44px;text-decoration:none}
.auth-dialog .auth-skip span{color:var(--auth-rust);padding-left:3px}
.auth-dialog #new-password-hint{font-size:12px;color:var(--auth-muted);margin:8px 0 0}
.auth-dialog .local-note{font-size:11px;line-height:1.6}
.auth-dialog [hidden]{display:none!important}
@keyframes auth-enter{from{opacity:0;transform:translateY(7px) scale(.99)}to{opacity:1;transform:none}}
@media(max-width:440px){.auth-dialog{padding:24px 24px 14px}.auth-dialog::before{left:24px}.auth-dialog h2{font-size:27px}}
@media(max-height:580px){.auth-dialog{padding-top:23px}.auth-brand{margin-bottom:15px}.auth-dialog #auth-intro{margin-bottom:17px}.auth-dialog .auth-skip{margin-top:0}}
@media(prefers-reduced-motion:reduce){.auth-dialog[open]{animation:none}.auth-dialog *{transition:none}}
