.captcha-positioner{position:fixed;inset:0;z-index:10001;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.4)}.captcha-positioner[hidden]{display:none}.gateway-login-dialog{position:fixed;inset:0;margin:auto;width:min(520px,calc(100vw - 32px));height:min(760px,calc(100vh - 32px));height:min(760px,calc(100dvh - 32px));max-width:none;max-height:none;box-sizing:border-box;padding:44px 0 0;border:0;border-radius:16px;background:#f7f8f2;box-shadow:0 16px 64px rgba(0,0,0,0.25);overflow:hidden}.gateway-login-dialog::backdrop{background:rgba(0,0,0,0.45)}.gateway-login-close{position:absolute;top:4px;right:8px;width:36px;height:36px;border:0;border-radius:8px;background:transparent;color:#203e35;font-size:28px;cursor:pointer}.gateway-login-close:hover{background:rgba(33,78,62,0.08)}.gateway-login-dialog iframe{display:block;width:100%;height:100%;border:0}.avatar-btn{-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none;width:44px;height:44px;border-radius:50%;border:2px solid #d1d5db;background:transparent;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .25s ease;padding:0;flex-shrink:0;position:absolute;top:5px;left:20px}#openLoginBtn:hover,#openLoginBtn:active,#openLoginBtn:focus,#openLoginBtn:disabled{background:transparent}.avatar-btn.logged-in{font-size:24px;line-height:1;overflow:hidden}.avatar-btn .login-avatar{display:block;flex:0 0 auto;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:24px;line-height:1;white-space:nowrap;pointer-events:none}@media(min-width:601px){.avatar-btn .login-avatar{font-size:32px}}.avatar-btn.logged-in>svg{display:none}.avatar-btn:hover{border-color:#5a7a3a}.avatar-btn.captcha-loading{border-color:transparent;cursor:progress}.avatar-btn.captcha-loading::after{content:'';position:absolute;inset:-2px;border:3px solid;border-radius:50%;pointer-events:none;animation:avatar-captcha-ring 1.2s linear infinite}@keyframes avatar-captcha-ring{0%{transform:rotate(0);border-color:#5a7a3a #faaf3b #2a6df4 transparent}50%{border-color:#2a6df4 #5a7a3a #faaf3b transparent}100%{transform:rotate(360deg);border-color:#5a7a3a #faaf3b #2a6df4 transparent}}.avatar-btn svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;border:0}.loading-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,0.45);backdrop-filter:blur(2px);display:flex;justify-content:center;align-items:center;z-index:9999;opacity:0;pointer-events:none;transition:opacity .25s ease}.loading-overlay.active{opacity:1;pointer-events:auto}.loading-card{background:#fff;padding:32px 40px 28px 40px;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,0.18),0 8px 24px rgba(0,0,0,0.06);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;min-width:200px;max-width:320px;transform:scale(0.94);transition:transform .25s cubic-bezier(0.18,0.89,0.32,1.28)}.loading-overlay.active .loading-card{transform:scale(1)}.newspinner{width:44px;height:44px;border:4px solid #e9edf4;border-top-color:#2a6df4;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.loading-message{font-size:16px;font-weight:500;color:#1f2a3a;letter-spacing:.3px;text-align:center;line-height:1.4;word-break:break-word}.login-success-toast{position:fixed;top:24px;left:50%;transform:translate(-50%,-8px);z-index:10000;padding:12px 24px;border:1px solid #b8e0b8;border-radius:12px;background:#e6f5e6;color:#1a7a3a;box-shadow:0 8px 24px rgba(0,0,0,0.12);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.login-success-toast.visible{opacity:1;transform:translate(-50%,0)}.login-account-popover{position:fixed;z-index:1000;box-sizing:border-box;width:240px;max-width:calc(100vw - 24px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px;padding:14px;border:1px solid #dfe7df;border-radius:14px;background:#fff;color:#203e35;box-shadow:0 12px 32px rgba(32,62,53,0.14),0 2px 6px rgba(32,62,53,0.04);font-family:-apple-system,BlinkMacSystemFont,"Microsoft YaHei",sans-serif;font-size:14px;line-height:1.4;white-space:normal;overflow-wrap:anywhere;text-align:left}.login-account-popover[hidden]{display:none}.login-account-summary{grid-column:1 / -1;display:flex;align-items:center;gap:10px;min-width:0;padding-bottom:12px;border-bottom:1px solid #edf0ea}.login-account-details{min-width:0;flex:1}.login-account-heading{display:flex;align-items:center;gap:6px;min-width:0}.login-account-gender{display:inline-flex;flex:none}.login-account-gender.male{color:#246fc0}.login-account-gender.female{color:#c44880}.login-account-gender svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;border:0}.login-account-name{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;line-height:1.5}.login-account-role{display:block;margin-top:3px;color:#7b887d;font-size:12px}.login-account-popover .login-account-action{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;min-width:0;height:34px;margin:0;padding:0 8px;border:1px solid #e1e8df;border-radius:8px;background:#f5f8f2;color:#315b43;font:inherit;font-size:13px;line-height:1;cursor:pointer;transition:background-color .15s,border-color .15s}.login-account-popover .login-account-action:hover{background:#eaf1e5;border-color:#cddcc7}.login-account-popover .login-account-logout{background:#fff;color:#a65043;border-color:#ebddd8}.login-account-popover .login-account-logout:hover{background:#fff3ef;border-color:#dfbeb3}.login-account-popover .login-account-action:focus-visible{outline:2px solid #64816a;outline-offset:2px}.site-header{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;min-height:54px;padding:0}.site-title{grid-column:2;display:flex;align-items:center;gap:8px;margin:0;font:inherit;min-width:0}.site-title img{flex:none;object-fit:contain;transform:translateY(0.075em)}.site-title span{white-space:nowrap}.site-header .avatar-btn{grid-column:3;justify-self:start;margin-left:16px;box-sizing:border-box;position:relative;top:auto;left:auto;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:2px solid #d1d5db;border-radius:50%;background:transparent;color:#9ca3af;cursor:pointer;flex-shrink:0;transition:border-color .25s ease}.site-header .avatar-btn:hover{border-color:#5a7a3a}.site-header .avatar-btn:focus-visible{outline:2px solid #5a7a3a;outline-offset:3px}.site-header .avatar-btn svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;border:0}@media(max-width:480px){.site-header{min-height:48px;font-size:24px}.site-title{gap:6px}.site-title img{width:30px;height:30px}.site-header .avatar-btn{margin-left:12px;width:38px;height:38px}.site-header .avatar-btn svg{width:20px;height:20px}}@media(max-width:480px){.loading-card{padding:28px 24px 24px;min-width:160px;max-width:280px}.newspinner{width:38px;height:38px;border-width:3.5px}.loading-message{font-size:15px}}@media(max-width:360px){.site-header .avatar-btn{margin-left:2px;width:28px;height:28px}.site-header .avatar-btn .login-avatar{font-size:17px}}.site-header .avatar-btn.captcha-loading{border-color:transparent;cursor:progress}.gateway-login-dialog,.gateway-login-dialog button,.login-account-popover,.login-account-popover button,.login-success-toast,.loading-card{font-family:-apple-system,BlinkMacSystemFont,"Microsoft YaHei","Heiti SC",Arial,"Hiragino Sans GB","WenQuanYi Micro Hei",sans-serif}.gateway-login-close{padding:0}@media(max-width:600px){.site-title img{transform:none}.loading-card{box-sizing:border-box;width:calc(100vw - 32px);min-width:0}.login-success-toast{box-sizing:border-box;width:max-content;max-width:calc(100vw - 24px);padding:12px 16px;text-align:center}.loading-overlay{height:100dvh}.login-account-popover .login-account-action{min-height:44px}}