/* 共享交易反馈只表现真实请求状态；不模拟百分比，成功动画仅用于已确认回执。 */
.payment-progress,.receipt-result{--feedback-ink:var(--ink);--feedback-muted:var(--muted);--feedback-accent:#4d86ac;--feedback-track:#dce9f3;--feedback-core:#edf4fa;--feedback-success:#528f87;--feedback-success-soft:#eef6f4}
.payment-progress{background:transparent;min-height:300px;gap:13px;padding:35px 18px;color:var(--feedback-ink)}
.payment-progress h3{font-size:18px;font-weight:550;line-height:1.8;color:var(--feedback-ink)}
.payment-progress p{font-size:12px;line-height:1.9;color:var(--feedback-muted);max-width:100%}
.payment-progress .processing-amount{font-size:30px;line-height:1.7;color:var(--feedback-ink);font-weight:550;max-width:100%;overflow-wrap:anywhere}
.payment-signal{position:relative;width:104px;height:104px;margin:0 0 17px;flex:none}
.payment-signal>svg{display:block;width:100%;height:100%;overflow:visible}
.payment-track{stroke:var(--feedback-track);stroke-width:1}
.payment-sweep{stroke:var(--feedback-accent);stroke-width:2;stroke-linecap:round;stroke-dasharray:21 79;transform-origin:52px 52px;animation:payment-signal-turn 1.6s linear infinite}
.payment-inner-track{stroke:var(--feedback-track);stroke-width:.7;stroke-dasharray:2 6}
.payment-signal-core{position:absolute;inset:25px;display:grid;place-items:center;border-radius:19px;background:var(--feedback-core);color:var(--feedback-accent);animation:payment-signal-breathe 2.2s ease-in-out infinite}
.payment-signal-core>.ico{width:23px;height:23px;stroke-width:1.5}
.receipt-result .receipt-amount{color:var(--feedback-ink)}
.receipt-result>.success-circle{position:relative;display:block;width:96px;height:96px;border-radius:50%;background:var(--feedback-success-soft);color:var(--feedback-success);box-shadow:none;animation:payment-success-arrive .45s cubic-bezier(.2,.7,.3,1) both}
.success-circle:after{content:'';position:absolute;inset:-9px;border:1px solid currentColor;border-radius:50%;opacity:0;animation:payment-success-halo .85s ease-out .12s both;pointer-events:none}
.payment-success-mark{display:block;width:100%;height:100%;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.payment-success-mark .success-seal{stroke-width:1;stroke-opacity:.34;stroke-dasharray:100;stroke-dashoffset:100;transform:rotate(-90deg);transform-origin:48px 48px;animation:payment-success-draw .7s ease .08s both}
.payment-success-mark .success-tick{stroke-width:3;stroke-dasharray:100;stroke-dashoffset:100;animation:payment-success-draw .48s cubic-bezier(.2,.6,.3,1) .28s both}
@keyframes payment-signal-turn{to{transform:rotate(360deg)}}
@keyframes payment-signal-breathe{0%,100%{transform:scale(.96)}50%{transform:scale(1)}}
@keyframes payment-success-arrive{from{opacity:0;transform:translateY(5px) scale(.92)}to{opacity:1;transform:none}}
@keyframes payment-success-draw{to{stroke-dashoffset:0}}
@keyframes payment-success-halo{0%{opacity:.15;transform:scale(.9)}100%{opacity:0;transform:scale(1.13)}}
/* 暗色装饰线统一为低亮语义色；正文和键盘焦点保留辨识度。 */
html[data-theme=dark] :is(.payment-progress,.receipt-result){--feedback-ink:var(--night-text);--feedback-muted:var(--night-muted);--feedback-accent:#91b8d6;--feedback-track:#344c61;--feedback-core:#22394d;--feedback-success:#9bc9bf;--feedback-success-soft:#203b3e}
html[data-theme=dark] .route-loading{--surface:var(--night-panel);--surface-tint:var(--night-raised);--line:var(--night-line)}
html[data-theme=dark] .route-loading i{background-image:linear-gradient(105deg,#213448 25%,#2a4056 45%,#213448 65%)}
html[data-theme=dark] .route-loading .skeleton-panel{background:var(--night-panel);border-color:var(--night-line);box-shadow:none}
html[data-theme=dark] .route-loading .skeleton-panel>div{border-color:var(--night-line)}
/* 金额使用无框大字输入，提示与数值等字号；键盘焦点以柔和底色表达。 */
.personal #fixed-payment-form .fixed-amount-input{border:0;background:transparent;box-shadow:none;gap:10px;padding:10px 0;margin-top:12px;border-radius:10px}
.personal #fixed-payment-form .fixed-amount-input>span{font-size:25px;color:var(--ink)}
.personal #fixed-payment-form .fixed-amount-input input{font-size:clamp(26px,7.4vw,34px)!important;line-height:1.5;letter-spacing:0;min-height:64px;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0;outline:0;margin:0;color:var(--ink);caret-color:var(--accent)}
.personal #fixed-payment-form .fixed-amount-input input::placeholder{font-size:inherit!important;line-height:inherit;font-weight:400;color:#718da5;opacity:1}
.personal #fixed-payment-form .fixed-amount-input:focus-within{background:#edf4fa80}
html[data-theme=dark] .personal #fixed-payment-form .fixed-amount-input:focus-within{background:#21344870}
html[data-theme=dark] .personal #fixed-payment-form .fixed-amount-input input,html[data-theme=dark] .personal #fixed-payment-form .fixed-amount-input>span{color:var(--night-text)}
html[data-theme=dark] .personal #fixed-payment-form .fixed-amount-input input::placeholder{color:#9bb0c4;opacity:1}
@media(prefers-reduced-motion:reduce){.payment-sweep,.payment-signal-core,.receipt-result>.success-circle,.success-circle:after,.payment-success-mark .success-seal,.payment-success-mark .success-tick{animation:none!important;transform:none}.payment-success-mark :is(.success-seal,.success-tick){stroke-dashoffset:0}.success-circle:after{display:none}}
