.auth-layer{position:fixed;inset:0;z-index:80;background:#f9f8f3ec;backdrop-filter:blur(18px);display:grid;place-items:center;padding:24px;overflow:auto}.auth-layer[hidden]{display:none}.auth-sheet{position:relative;width:min(420px,100%);padding:36px 24px;color:#3f4b40;font-family:Huiwen,serif}.auth-close{position:absolute;right:0;top:0;font-size:28px;background:none;border:0;color:#73816b;width:44px;height:44px}.auth-eyebrow{font-size:12px;letter-spacing:4px;color:#87907e}.auth-sheet h2{font-size:34px;font-weight:400;margin:22px 0 30px}.auth-sheet label{display:block;font-size:14px;margin:20px 0}.auth-sheet input{display:block;margin-top:9px;width:100%;min-width:0;border:0;border-bottom:1px solid #8997824a;background:#e7eadd66;padding:12px;font:16px/1.5 system-ui,sans-serif;color:#394534;border-radius:0}.auth-sheet input:focus-visible{outline:1px solid #718068;outline-offset:2px}.auth-sheet button{cursor:pointer;font-family:Huiwen,serif}.auth-code-row{display:flex;align-items:stretch;gap:9px}.auth-code-row input{flex:1;width:50%}.auth-code-row button{margin-top:9px;min-width:105px;background:#e2e7d8;border:0;color:#506148}.auth-primary{display:block;width:100%;min-height:48px;margin-top:30px;border:0;background:#dfe5d7;color:#42553d;font-size:17px}.auth-links{display:flex;justify-content:space-between;margin-top:20px}.auth-links button,.auth-identity button{border:0;background:none;color:#68785e;font-size:13px;padding:12px 0}.auth-note,#authMessage,.auth-verified{font-size:12px;line-height:1.9;color:#7c8477}#authMessage{color:#815e48;min-height:23px;margin-top:22px}.auth-identity{margin:0 0 22px}.auth-identity p{overflow-wrap:anywhere;font:14px system-ui,sans-serif;margin-bottom:3px}.auth-identity small{display:block;font-size:11px;line-height:1.8;color:#8b8f83}body.auth-open{overflow:hidden}body.auth-open .willow-canvas{visibility:hidden}
/* ===== 协议勾选 / 发码按钮置灰（邮箱验证码登录） ===== */
#authSend[disabled]{color:#a9aea0;cursor:default}
.auth-agree{display:flex;align-items:flex-start;gap:8px;margin:26px 0 0;padding:0;border:0;background:none;text-align:left;font-size:12px;line-height:1.8;color:#7c8477;cursor:pointer;user-select:none}
.auth-agree .box{flex:none;width:14px;height:14px;margin-top:3px;border:1px solid #a9b3a0;background:transparent;position:relative;transition:background .15s}
.auth-agree.on .box{background:#718068;border-color:#718068}
.auth-agree.on .box:after{content:"";position:absolute;left:3.5px;top:.5px;width:4px;height:8px;border:solid #f4f6ee;border-width:0 1.5px 1.5px 0;transform:rotate(42deg)}
.auth-agree a{color:#68785e;text-decoration:none;border-bottom:1px solid #68785e55}
#captchaElement{position:absolute;width:1px;height:1px;overflow:hidden}
@media(max-width:600px){.auth-layer{padding:max(18px,env(safe-area-inset-top)) 24px max(18px,env(safe-area-inset-bottom));place-items:start center}.auth-sheet{padding:45px 8px 24px;max-width:370px}.auth-sheet h2{font-size:30px}}@media(prefers-reduced-motion:no-preference){.auth-layer:not([hidden]) .auth-sheet{animation:auth-in .3s ease-out}@keyframes auth-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}
