.signing-feature-disabled-hint { margin-top: 7px; color: #e17b19; font-size: 12px; line-height: 1.45; text-align: center; }
.donation-qr-footer { position: relative; isolation: isolate; overflow: hidden; margin: 18px auto 0; padding: 18px 16px 14px; border: 1px solid var(--line, rgba(120,130,150,.16)); border-radius: 18px; background: var(--card, rgba(255,255,255,.92)); text-align: center; box-shadow: 0 10px 28px rgba(57,88,145,.09); }
.donation-qr-footer::before { position: absolute; z-index: 0; inset: -1px; padding: 1.5px; border-radius: inherit; content: ""; background: conic-gradient(from 0deg, transparent 0 68%, rgba(76,143,255,.56) 77%, rgba(157,107,255,.48) 84%, rgba(61,213,202,.46) 91%, transparent 100%); animation: donation-light-flow 8s linear infinite; pointer-events: none; -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; }
.donation-qr-footer > * { position: relative; z-index: 1; }
.donation-qr-footer h2 { margin: 0; color: var(--label, #202531); font-size: 16px; font-weight: 700; }
.donation-qr-footer > p { margin: 6px 0 12px; color: var(--label2, #8a919f); font-size: 12px; }
.donation-qr-list { display: flex; justify-content: center; align-items: flex-start; gap: 18px; flex-wrap: wrap; }
.donation-qr-list figure { margin: 0; width: min(40vw, 156px); }
.donation-qr-trigger { display: grid; place-items: center; width: 100%; padding: 4px; border: 0; border-radius: 12px; background: transparent; cursor: zoom-in; -webkit-tap-highlight-color: transparent; }
.donation-qr-trigger:focus-visible { outline: 2px solid var(--theme-primary, #528bff); outline-offset: 2px; }
.donation-qr-list img { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; padding: 6px; border-radius: 10px; background: white; box-shadow: 0 4px 14px rgba(25,45,80,.08); transition: transform .2s ease, box-shadow .2s ease; }
.donation-qr-trigger:active img { transform: scale(.97); box-shadow: 0 2px 7px rgba(25,45,80,.12); }
.donation-qr-list figcaption { margin-top: 5px; color: var(--label2, #8a919f); font-size: 12px; }
.donation-qr-tip { display: block; margin-top: 10px; color: var(--label3, #a0a6b1); font-size: 10px; }
@keyframes donation-light-flow { to { transform: rotate(360deg); } }
.donation-qr-preview[hidden] { display: none; }
.donation-qr-preview { position: fixed; z-index: 10000; inset: 0; display: grid; place-items: center; padding: 22px; background: rgba(15,22,38,.58); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.donation-qr-dialog { position: relative; display: grid; justify-items: center; width: min(100%, 380px); padding: 24px 20px 20px; border: 1px solid rgba(255,255,255,.72); border-radius: 24px; background: var(--card, #fff); box-shadow: 0 24px 70px rgba(10,20,40,.28); text-align: center; }
.donation-qr-dialog h2 { margin: 0 32px 16px; color: var(--label, #202531); font-size: 16px; }
.donation-qr-close { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 34px; height: 34px; border: 0; border-radius: 50%; background: rgba(125,135,155,.1); color: var(--label2, #737b89); font-size: 23px; line-height: 1; }
.donation-qr-large { display: block; width: min(72vw, 290px); max-height: 55vh; object-fit: contain; padding: 8px; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(30,48,80,.12); }
.donation-qr-save-hint { margin: 14px 0 12px; color: var(--label2, #8a919f); font-size: 12px; }
.donation-qr-save { min-width: 150px; padding: 11px 20px; border: 0; border-radius: 12px; background: linear-gradient(110deg, #528bff, #7865f5); color: #fff; font-size: 14px; font-weight: 650; box-shadow: 0 7px 18px rgba(82,139,255,.27); }
.donation-qr-save:disabled { opacity: .6; }
.donation-qr-save-status { min-height: 16px; margin-top: 10px; color: var(--label3, #a0a6b1); font-size: 10px; line-height: 1.5; }
@media (prefers-reduced-motion: reduce) { .donation-qr-footer::before { animation: none; background: linear-gradient(115deg, transparent 40%, rgba(76,143,255,.26), transparent 62%); } .donation-qr-list img { transition: none; } }

/* Unavailable signing modes remain clickable for an explanatory toast. / 未开放的签名方式置灰，点击仅提示原因。 */
body .sign-mode-picker .sign-mode-choice.is-unavailable{opacity:.48!important;filter:grayscale(1)!important;cursor:not-allowed!important;background:transparent!important;color:#98a2b3!important;box-shadow:none!important}
body .sign-mode-picker .sign-mode-choice.is-unavailable .sign-mode-choice-title,body .sign-mode-picker .sign-mode-choice.is-unavailable .sign-mode-choice-detail{color:#98a2b3!important}
