#wl-login-entry {
  padding: 5px 12px; margin-left: 14px; border: 1px solid currentColor; border-radius: 7px;
  background: transparent; color: inherit; font: inherit; font-size: 13px; cursor: pointer;
  max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: middle;
}
#wl-login-entry:disabled { cursor: default; opacity: .85; }
#wl-login-entry.wl-login-entry-floating { position: fixed; top: 75px; right: 18px; z-index: 998; background: #fff; color: #2d3748; }
#wl-login-dialog {
  width: min(440px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 0; border: 0;
  border-radius: 18px; background: #fff; color: #26313f; box-shadow: 0 24px 80px #14243c3b;
  overflow-y: auto; overscroll-behavior: contain; font-family: inherit; margin: auto;
}
#wl-login-dialog::backdrop { background: rgba(17, 27, 41, .54); backdrop-filter: blur(3px); }
#wl-login-dialog [hidden] { display: none !important; }
#wl-login-dialog .wl-login-card { position: relative; padding: 32px; }
#wl-login-dialog .wl-login-close {
  position: absolute; top: 12px; right: 14px; width: 36px; height: 36px; border: 0; border-radius: 8px;
  background: transparent; color: #77808b; font-size: 27px; line-height: 1; cursor: pointer;
}
#wl-login-dialog .wl-login-close:hover { background: #f0f3f6; color: #26313f; }
#wl-login-dialog .wl-login-brand { margin: 0 0 14px; color: #a77821; font-size: 12px; font-weight: 600; letter-spacing: .8px; }
#wl-login-dialog h2 { margin: 0; color: inherit; font-size: 27px; font-weight: 650; line-height: 1.4; }
#wl-login-dialog #wl-login-description { margin: 8px 0 24px; color: #75808b; font-size: 14px; line-height: 1.7; }
#wl-login-dialog label { display: block; margin: 13px 0 7px; font-size: 13px; font-weight: 600; }
#wl-login-dialog input:not([type="hidden"]) {
  box-sizing: border-box; width: 100%; height: 44px; padding: 10px 12px; border: 1px solid #dce1e7;
  border-radius: 8px; background: #fff; color: #26313f; font: inherit; font-size: 16px;
}
#wl-login-dialog input:focus { outline: 2px solid #2f80ed; outline-offset: 1px; }
#wl-login-dialog #wl-login-message { min-height: 20px; margin: 10px 0; font-size: 12px; color: #7a8491; line-height: 1.6; }
#wl-login-dialog #wl-login-message.wl-login-error { color: #bc3b36; }
#wl-login-dialog #wl-login-submit {
  width: 100%; min-height: 45px; border: 0; border-radius: 8px; background: #286fcc; color: #fff;
  font: inherit; font-size: 15px; font-weight: 600; cursor: pointer;
}
#wl-login-dialog #wl-login-submit:hover { background: #205ead; }
#wl-login-dialog #wl-login-submit:disabled { opacity: .55; cursor: wait; }
#wl-login-dialog .wl-login-divider { display: flex; align-items: center; gap: 12px; margin: 23px 0 12px; color: #8b949e; font-size: 12px; }
#wl-login-dialog .wl-login-divider::before, #wl-login-dialog .wl-login-divider::after { content: ""; height: 1px; flex: 1; background: #e9edf1; }
#wl-login-dialog #wl-login-qq { display: flex; justify-content: center; border-radius: 8px; padding: 3px; }
#wl-login-dialog #wl-login-qq img { width: 230px; height: 48px; margin: 0; }
#wl-login-dialog .wl-login-register { margin: 18px 0 0; text-align: center; font-size: 13px; color: #7a8491; }
#wl-login-dialog a { color: #286fcc; text-decoration: none; }
#wl-login-dialog a:hover { text-decoration: underline; }
#wl-login-dialog .wl-login-footer { display: flex; flex-direction: column; align-items: center; gap: 9px; margin-top: 22px; }
#wl-login-dialog #wl-login-later { border: 0; background: transparent; color: #677483; padding: 5px 8px; font: inherit; font-size: 13px; cursor: pointer; }
#wl-login-dialog #wl-login-fallback { font-size: 11px; color: #89939e; }
#wl-login-dialog button:focus-visible, #wl-login-dialog a:focus-visible, #wl-login-entry:focus-visible { outline: 2px solid #2f80ed; outline-offset: 3px; }
html[data-theme="dark"] #wl-login-dialog { background: #242831; color: #edf2f7; }
html[data-theme="dark"] #wl-login-dialog input:not([type="hidden"]) { background: #191d25; border-color: #454c58; color: #edf2f7; }
html[data-theme="dark"] #wl-login-dialog #wl-login-description, html[data-theme="dark"] #wl-login-dialog #wl-login-later { color: #b5bfcd; }
html[data-theme="dark"] #wl-login-dialog a { color: #85baff; }
html[data-theme="dark"] #wl-login-dialog #wl-login-qq { background: #fff; }
@media (max-width: 768px) {
  #wl-login-entry { position: fixed; top: 72px; right: 14px; z-index: 998; padding: 7px 12px; background: #fff; color: #344154; border-color: #d9e0e7; box-shadow: 0 4px 14px #24384c12; }
  #wl-login-dialog .wl-login-card { padding: 28px 22px 22px; }
  #wl-login-dialog h2 { font-size: 24px; }
}

/* 首屏常驻官方入口，HTML 自带链接，不依赖状态接口。 */
#wl-qq-entry { position: fixed; top: 76px; right: 24px; z-index: 998; display: flex; align-items: center; padding: 8px; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; box-shadow: 0 5px 20px #14243c18; }
#wl-qq-entry[hidden] { display: none !important; }
#wl-qq-entry img { display: block; width: 230px; height: 48px; margin: 0; }
#wl-qq-entry:focus-visible { outline: 3px solid #286fcc; outline-offset: 3px; }
#wl-login-entry img { width: 28px; height: 28px; object-fit: cover; border-radius: 50%; vertical-align: middle; margin: 0 7px 0 0; }
@media (max-width: 768px) { #wl-qq-entry { top: 112px; right: 14px; padding: 0; } }
