/* 文档站公共浮层：默认实底，支持滤镜的浏览器使用玻璃与蓝青色背光。 */
:root {
  --doc-light: radial-gradient(ellipse at 34% 39%, rgba(171,214,255,.82), transparent 43%),
    radial-gradient(ellipse at 66% 64%, rgba(181,233,224,.64), transparent 42%),
    radial-gradient(ellipse at 52% 52%, rgba(235,244,255,.94) 8%, transparent 64%);
}
#loginModal .modal-content, .swal2-container .swal2-popup:not(.swal2-toast) {
  background: #eff6fc;
  color: #173854;
  border: 1px solid rgba(255,255,255,.56);
  border-radius: 14px;
  box-shadow: 0 12px 36px rgba(12,38,66,.22), 0 0 9px rgba(200,229,254,.45);
}
@supports ((backdrop-filter: blur(20px)) or (-webkit-backdrop-filter: blur(20px))) {
  #loginModal.show { background-image: var(--doc-light); }
  .swal2-container.swal2-backdrop-show { background: var(--doc-light), rgba(21,40,58,.50); }
  #loginModal .modal-content, .swal2-container.swal2-backdrop-show .swal2-popup:not(.swal2-toast) {
    background-color: rgba(255,255,255,.10);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
  }
}
#loginModal .modal-title { color: #183f64; }
#loginModal .modal-body { max-height: calc(100vh - 130px); max-height: calc(100dvh - 130px); }
#loginModal #wechat-frame { background: transparent; }
html.doc-embed, body[data-embedded="1"], body[data-embedded="1"] main { background: transparent; }
#loginModal #loginBtn { color: #164a78; border-color: #83a6c6; background: rgba(246,251,255,.9); }
#loginModal .floating-field input { background: rgba(249,252,255,.85); }
@media (prefers-reduced-motion: no-preference) {
  :is(#wechat-login, #register-panel .account-button, #scan-login:has(#binding[hidden]) #refresh,
      #binding #submit, .swal2-actions .swal2-confirm):not(:disabled) {
    position: relative; overflow: hidden;
  }
  :is(#wechat-login, #register-panel .account-button, #scan-login:has(#binding[hidden]) #refresh,
      #binding #submit, .swal2-actions .swal2-confirm):not(:disabled)::after {
    content: ""; position: absolute; top: -40%; bottom: -40%; left: 0; width: 33.333%;
    pointer-events: none; background: linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
    animation: doc-sweep 2.6s cubic-bezier(.4,0,.2,1) infinite;
  }
}
@keyframes doc-sweep {
  0%,35% { transform: translateX(-150%) skewX(-20deg); }
  75%,100% { transform: translateX(400%) skewX(-20deg); }
}

.doc-action-feedback {
  position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%);
  z-index: 12000; width: max-content; max-width: calc(100% - 32px);
  padding: 14px 22px; border-radius: 10px; background: #0a5284; color: white; border: 1px solid rgba(175,235,255,.85); font-weight: 600;
  box-shadow: 0 0 5px rgba(121,225,255,.7), 0 0 15px rgba(39,170,223,.38), 0 8px 26px rgba(8,52,94,.28); text-align: center;
  pointer-events: none; opacity: 1; transition: opacity .35s ease;
}
.doc-action-feedback.is-leaving { opacity: 0; }
@media (prefers-reduced-motion: reduce) { .doc-action-feedback { transition: none; } }

@supports ((backdrop-filter: blur(20px)) or (-webkit-backdrop-filter: blur(20px))) {
  .doc-action-feedback {
    background: linear-gradient(110deg, rgba(8,66,128,.89), rgba(4,97,125,.87));
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
  }
}