/** 《返校确认》自愿支持浮层：沿用《松涛粮站》1 元支持层结构，按校园服务平台做细节适配。 */
.paywall-overlay{position:fixed;inset:0;background:rgba(19,31,40,.66);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:18px;opacity:0;transition:opacity .4s ease}
.paywall-overlay.paywall-show{opacity:1}.paywall-overlay.paywall-closing{opacity:0}
.paywall-card{background:linear-gradient(145deg,#f6f0df,#e8ddbd);border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.32),0 0 0 1px rgba(255,255,255,.22);max-width:460px;width:min(90vw,460px);max-height:90vh;overflow-y:auto;position:relative;transform:scale(.9) translateY(20px);transition:transform .4s cubic-bezier(.34,1.56,.64,1);color:#344237}
.paywall-overlay.paywall-show .paywall-card{transform:scale(1) translateY(0)}
.paywall-close{position:absolute;top:10px;right:14px;background:none;border:0;font-size:1.8rem;color:#8c9388;cursor:pointer;z-index:10;transition:color .2s,transform .2s;line-height:1;padding:7px 10px;min-width:44px;min-height:44px}.paywall-close:hover{color:#56615b;transform:rotate(90deg)}
.paywall-card-inner{padding:30px 28px 24px}.paywall-header{text-align:center;margin-bottom:20px}.paywall-title-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:6px}.paywall-heart{font-size:1.3rem;color:#527ba0;animation:paywallHeartbeat 1.5s ease-in-out infinite}.paywall-title{font-size:1.4rem;font-weight:700;color:#294b66;letter-spacing:1px}.paywall-subtitle{font-size:.82rem;color:#787457;letter-spacing:.5px}
@keyframes paywallHeartbeat{0%,100%{transform:scale(1)}50%{transform:scale(1.2)}}
.paywall-body{display:flex;flex-direction:column;align-items:center;gap:16px}.paywall-qr-wrapper{position:relative;width:124px;height:124px;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.12)}.paywall-qr-img{width:100%;height:100%;object-fit:contain;border-radius:10px;display:block}.paywall-qr-glow{position:absolute;inset:0;border-radius:10px;box-shadow:inset 0 0 0 2px rgba(47,110,166,.16);pointer-events:none}.paywall-qr-error{position:absolute;inset:0;background:#fff;padding:18px 10px;display:grid;place-content:center;text-align:center;font-size:.75rem;color:#687681;line-height:1.6}.paywall-qr-error[hidden]{display:none}.paywall-qr-error a{color:#145f99}.paywall-qr-tip{font-size:.74rem;color:#827c6b;text-align:center;line-height:1.5;margin-top:-8px}.paywall-qr-tip strong{color:#1677ff}
.paywall-message{text-align:center;width:100%}.paywall-msg-warm{font-size:.95rem;color:#344d42;font-weight:600;margin:0 0 10px}.paywall-msg-body{font-size:.84rem;color:#596049;line-height:1.9;margin:0 0 10px}.paywall-msg-body strong{color:#865b25}.paywall-msg-cute{font-size:.82rem;color:#5f6f58;line-height:1.8;padding:8px 14px;background:rgba(47,110,166,.09);border-radius:9px;margin:0 0 10px}.paywall-msg-warm2{font-size:.82rem;color:#6c684f;line-height:1.7;margin:0}
.paywall-footer{margin-top:20px;padding-top:16px;border-top:1px dashed rgba(135,125,95,.28)}.paywall-hint{display:flex;align-items:flex-start;gap:6px;font-size:.72rem;color:#817c6d;line-height:1.6;margin-bottom:14px;padding:0 4px}.paywall-hint-icon{flex-shrink:0}.paywall-btns{display:flex;gap:10px}.paywall-btn{flex:1;min-height:44px;padding:11px 16px;border-radius:9px;border:0;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .25s;font-family:inherit}.paywall-btn-support{background:linear-gradient(135deg,#2f6ea6,#5b8eb4);color:#fff;box-shadow:0 4px 14px rgba(47,110,166,.28)}.paywall-btn-support:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(47,110,166,.38)}.paywall-btn-later{background:#f3eee4;color:#8b8174;border:1px solid rgba(150,135,115,.22)}.paywall-btn-later:hover{background:#ebe3d7}.paywall-studio{text-align:center;font-size:.8rem;font-weight:700;color:#aea696;margin-top:14px;letter-spacing:1px}
.paywall-toast{position:fixed;bottom:max(30px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%) translateY(20px);background:rgba(47,110,166,.97);color:#fff;padding:12px 24px;border-radius:10px;font-size:.9rem;z-index:10001;opacity:0;transition:all .4s;box-shadow:0 6px 20px rgba(0,0,0,.16);white-space:nowrap;max-width:calc(100vw - 32px);overflow:hidden;text-overflow:ellipsis}.paywall-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.paywall-close:focus-visible,.paywall-btn:focus-visible,.paywall-qr-error a:focus-visible{outline:3px solid rgba(39,116,174,.34);outline-offset:2px}
@media(max-width:480px){.paywall-overlay{padding:10px}.paywall-card{width:100%;max-height:94vh}.paywall-card-inner{padding:25px 18px 18px}.paywall-qr-wrapper{width:116px;height:116px}.paywall-btns{flex-direction:column}.paywall-message{font-size:.8rem}.paywall-msg-body br{display:none}}
.reduced-motion .paywall-overlay,.reduced-motion .paywall-card,.reduced-motion .paywall-toast{transition-duration:.001ms!important}.reduced-motion .paywall-heart{animation:none!important}
@media(prefers-reduced-motion:reduce){.paywall-overlay,.paywall-card,.paywall-toast{transition-duration:.001ms!important}.paywall-heart{animation:none!important}}
