/** 通用 1 元自愿打赏浮层 - 沿用《松涛粮站》结构，适配《五还》视觉 **/
html.paywall-open{overflow:hidden}
.paywall-overlay{position:fixed;inset:0;background:rgba(24,20,17,.68);backdrop-filter:blur(6px);z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s ease;padding:18px}
.paywall-overlay.paywall-show{opacity:1}.paywall-overlay.paywall-closing{opacity:0}
.paywall-card{background:linear-gradient(145deg,#f4ead0,#e3d5aa);border:1px solid rgba(95,72,52,.25);border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.32);max-width:460px;width:min(460px,92vw);max-height:90vh;overflow-y:auto;position:relative;transform:scale(.92) translateY(18px);transition:transform .4s cubic-bezier(.34,1.56,.64,1)}
.paywall-overlay.paywall-show .paywall-card{transform:scale(1) translateY(0)}
.paywall-close{position:absolute;top:11px;right:14px;background:none;border:0;font-size:1.8rem;color:#9e9184;cursor:pointer;z-index:10;transition:color .2s,transform .2s;line-height:1;padding:5px 8px}
.paywall-close:hover,.paywall-close:focus-visible{color:#5f5146;transform:rotate(90deg);outline:1px solid #8e8174;outline-offset:2px}
.paywall-card-inner{padding:30px 28px 24px}.paywall-header{text-align:center;margin-bottom:19px}.paywall-title-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:6px}
.paywall-heart{font-size:1.3rem;color:#7d5144;animation:paywallHeartbeat 1.5s ease-in-out infinite}@keyframes paywallHeartbeat{0%,100%{transform:scale(1)}50%{transform:scale(1.16)}}
.paywall-title{font-family:"Noto Serif SC","Source Han Serif SC","Songti SC",SimSun,serif;font-size:1.42rem;font-weight:700;color:#382c27;letter-spacing:.08em}.paywall-subtitle{font:12px/1.5 Arial,"Microsoft YaHei",sans-serif;color:#7b6c60;letter-spacing:.04em}
.paywall-body{display:flex;flex-direction:column;align-items:center;gap:16px}.paywall-qr-wrapper{position:relative;width:126px;height:126px;border-radius:8px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.12);background:#fff;display:grid;place-items:center}
.paywall-qr-img{width:100%;height:100%;object-fit:contain;background:#fff}.paywall-qr-glow{position:absolute;inset:0;border-radius:8px;box-shadow:inset 0 0 0 1px rgba(126,90,60,.18);pointer-events:none}.paywall-qr-fallback{padding:12px;color:#6c6259;font:12px/1.6 Arial,"Microsoft YaHei",sans-serif;text-align:center}
.paywall-qr-tip{font:11px/1.5 Arial,"Microsoft YaHei",sans-serif;color:#95887c;text-align:center}.paywall-qr-tip strong{color:#1677ff}
.paywall-message{text-align:center;width:100%}.paywall-msg-warm{font-size:.95rem;color:#473d34;font-weight:700;margin:0 0 10px}.paywall-msg-body{font-size:.84rem;color:#5e574f;line-height:1.9;margin:0 0 10px}.paywall-msg-body strong{color:#7b473b}
.paywall-msg-cute{font-size:.82rem;color:#6c6258;line-height:1.75;padding:9px 14px;background:rgba(126,77,60,.08);border-radius:8px;margin:0 0 10px}.paywall-msg-warm2{font-size:.82rem;color:#71675d;line-height:1.75;margin:0}
.paywall-footer{margin-top:19px;padding-top:15px;border-top:1px dashed rgba(130,108,90,.28)}.paywall-hint{display:flex;align-items:flex-start;gap:6px;font:11px/1.55 Arial,"Microsoft YaHei",sans-serif;color:#95887c;margin-bottom:13px;padding:0 3px}.paywall-hint-icon{flex-shrink:0}
.paywall-btns{display:flex;gap:10px}.paywall-btn{flex:1;padding:11px 15px;border-radius:8px;border:0;font-size:.88rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;font-family:inherit}.paywall-btn:focus-visible{outline:2px solid #6b4a3f;outline-offset:2px}.paywall-btn-support{background:linear-gradient(135deg,#6f5548,#9b7960);color:#fff;box-shadow:0 4px 14px rgba(80,54,40,.2)}.paywall-btn-support:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(80,54,40,.26)}.paywall-btn-later{background:#f2ede6;color:#807266;border:1px solid rgba(130,105,85,.18)}.paywall-btn-later:hover{background:#e9e1d7}
.paywall-studio{text-align:center;font:700 11px/1.2 Arial,"Microsoft YaHei",sans-serif;color:#a99b8e;margin-top:13px;letter-spacing:.08em}
.paywall-toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(20px);background:rgba(91,67,56,.96);color:#fff;padding:12px 24px;border-radius:8px;font:13px/1.45 Arial,"Microsoft YaHei",sans-serif;z-index:10001;opacity:0;transition:all .4s;box-shadow:0 6px 20px rgba(0,0,0,.18);white-space:nowrap}.paywall-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.support-author-fixed{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));z-index:9600;width:40px;height:40px;display:grid;place-items:center;border:1px solid #8e8478;background:rgba(249,246,239,.94);color:#654238;border-radius:0;box-shadow:0 2px 8px rgba(0,0,0,.08);font:700 18px/1 Arial,"Microsoft YaHei",sans-serif;cursor:pointer}.support-author-fixed.beside-music{right:max(82px,calc(env(safe-area-inset-right) + 68px))}.support-author-fixed:hover,.support-author-fixed:focus-visible{background:#fff;color:#7b4036;outline:2px solid #8e8478;outline-offset:2px}.support-author-fixed.supported::after{content:"";position:absolute;right:5px;top:5px;width:6px;height:6px;border-radius:50%;background:#657a4d}
@media(max-width:480px){.paywall-overlay{padding:10px}.paywall-card{width:94vw;max-height:90vh}.paywall-card-inner{padding:25px 18px 18px}.paywall-qr-wrapper{width:112px;height:112px}.paywall-btns{flex-direction:column}.paywall-title{font-size:1.22rem}.paywall-toast{max-width:86vw;white-space:normal;text-align:center}.support-author-fixed{right:max(9px,env(safe-area-inset-right));bottom:max(9px,env(safe-area-inset-bottom));width:40px;height:40px}.support-author-fixed.beside-music{right:max(74px,calc(env(safe-area-inset-right) + 65px))}}
@media(prefers-reduced-motion:reduce){.paywall-overlay,.paywall-card,.paywall-toast,.paywall-close,.paywall-heart{transition:none!important;animation:none!important}}

/* final page: keep the support icon clear of the audio fallback control */
.support-author-fixed.on-final-page{bottom:max(62px,calc(env(safe-area-inset-bottom) + 58px));right:max(14px,env(safe-area-inset-right))}
@media(max-width:480px){.support-author-fixed.on-final-page{bottom:max(62px,calc(env(safe-area-inset-bottom) + 58px));right:max(9px,env(safe-area-inset-right))}}
