/* Small, self-contained reader support UI. Uses the site's existing fonts. */
.pm-support-badge { position:fixed; left:20px; bottom:24px; z-index:7900; display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:10px 17px; box-sizing:border-box; border:1px solid #ffaaa65c; border-radius:999px; background:linear-gradient(125deg,#d82035,#901d33); color:#fff!important; box-shadow:0 6px 22px #350b2533; text-decoration:none!important; font:650 13px/1.2 'Montserrat',system-ui,sans-serif; }
.pm-support-badge svg,.pm-support-emblem svg { display:block; flex-shrink:0; }
.pm-support-badge:hover { background:#b31b32; }
body.layover-active .pm-support-badge,body:has(dialog[open]) .pm-support-badge { visibility:hidden; }
.pm-support-dialog { --support-ink:#211820; --support-muted:#70636b; --support-line:#e5dfe3; --support-surface:#fff; box-sizing:border-box; position:fixed; inset:0; width:min(460px,calc(100% - 28px)); max-height:calc(100dvh - 28px); margin:auto; padding:0; border:1px solid #ffffff3d; border-radius:26px; background:var(--support-surface); color:var(--support-ink); overflow:auto; box-shadow:0 24px 90px #14051055; }
.pm-support-dialog::backdrop { background:#12121ccc; }
.pm-support-card { --support-ink:#211820; --support-muted:#70636b; --support-line:#e5dfe3; --support-surface:#fff; position:relative; padding:32px; background:radial-gradient(ellipse at 100% 0,#fce7eb,transparent 52%),var(--support-surface); color:var(--support-ink); font:15px/1.55 'Montserrat',system-ui,sans-serif; box-sizing:border-box; }
.pm-support-close { position:absolute; right:14px; top:14px; z-index:2; display:grid; place-items:center; width:38px; height:38px; padding:0; border:1px solid #a99aa233; border-radius:50%; background:#ffffffcc; color:#493c45; cursor:pointer; }
.pm-support-emblem { display:grid; place-items:center; width:48px; height:48px; border-radius:15px; background:linear-gradient(145deg,#ec3547,#a41936); color:#fff; margin-bottom:22px; }
.pm-support-emblem svg { width:30px; height:30px; }
.pm-support-card .pm-support-eyebrow { margin:0 0 8px; color:#b12036; font-size:10px; line-height:1.4; font-weight:750; text-transform:uppercase; letter-spacing:.13em; }
.pm-support-card h2 { margin:0 0 12px; padding:0; font-family:'PM Outfit','Montserrat',system-ui,sans-serif; font-size:32px; line-height:1.08; font-weight:750; letter-spacing:-.045em; color:var(--support-ink); text-transform:none; border:0; }
.pm-support-card h2::before,.pm-support-card h2::after { content:none; }
.pm-support-copy { margin:0 0 24px; color:var(--support-muted); font-size:13px; line-height:1.7; }
.pm-support-label,.pm-support-amounts legend { display:block; padding:0; margin:0 0 9px; font:650 12px/1.5 'Montserrat',system-ui,sans-serif; color:var(--support-ink); }
.pm-support-card select,.pm-support-custom input { display:block; box-sizing:border-box; width:100%; min-height:46px; padding:11px 13px; margin:0; border:1px solid var(--support-line); border-radius:10px; color:var(--support-ink); background:var(--support-surface); font:500 16px/1.4 system-ui,sans-serif; }
.pm-support-amounts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; min-width:0; padding:0; margin:21px 0 18px; border:0; }
.pm-support-amounts label { position:relative; display:block; margin:0; cursor:pointer; }
.pm-support-amounts input { position:absolute; opacity:0; width:1px; height:1px; }
.pm-support-amounts label > span { display:flex; align-items:center; justify-content:center; min-height:48px; border:1px solid var(--support-line); border-radius:10px; background:var(--support-surface); color:var(--support-ink); font:600 14px/1.2 system-ui,sans-serif; }
.pm-support-amounts input:checked + span { border:2px solid #d7243a; background:#fff0f2; color:#b71930; box-shadow:0 3px 10px #cb233014; }
.pm-support-amounts input:focus-visible + span,.pm-support-card :is(select,input,button):focus-visible,.pm-support-badge:focus-visible,.pm-support-close:focus-visible { outline:3px solid #e84458; outline-offset:3px; }
.pm-support-custom { margin-bottom:20px; }
.pm-support-custom[hidden],.pm-support-error[hidden] { display:none!important; }
.pm-support-custom p { margin:6px 0 0; font-size:11px; color:var(--support-muted); }
.pm-support-card .pm-support-submit { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; min-height:50px; padding:12px; border:0; border-radius:12px; background:linear-gradient(120deg,#e22a3e,#ad1934); color:#fff; font:650 14px/1.4 'Montserrat',system-ui,sans-serif; cursor:pointer; }
.pm-support-submit svg { display:block; width:20px; height:20px; flex-shrink:0; }
.pm-support-reassurance { text-align:center; font-size:11px; font-weight:650; margin:14px 0 7px; color:var(--support-ink); }
.pm-support-fine { text-align:center; font-size:10px; line-height:1.65; color:var(--support-muted); margin:0; }
.pm-support-error { font-size:12px; color:#b71930; margin:0 0 14px; }
.pm-footer .pm-support-footer-link { display:inline-flex; gap:8px; align-items:center; color:#fff; font-size:13px; margin-top:18px; text-decoration:none; }
.pm-support-page { max-width:760px; margin:40px auto; padding:0 14px; }
.pm-support-page > h1 { font:700 14px/1.5 'Montserrat',system-ui,sans-serif; text-align:center; margin:0 0 16px; color:var(--pm-text,#21232a); }
.pm-support-page .pm-support-card { border:1px solid #a99aa233; border-radius:26px; }
.pm-support-page > .pm-support-card { max-width:480px; margin:0 auto; }
.pm-tip-content { margin:32px auto 0; padding:32px; border:1px solid var(--pm-border,#e2e2e6); border-radius:24px; background:var(--pm-surface,#fff); color:var(--pm-text,#202127); }
.pm-tip-kicker { margin:0 0 8px; color:#b12036; font-size:11px; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
.pm-tip-content h2 { margin:0 0 12px; font-family:'PM Outfit','Montserrat',system-ui,sans-serif; font-size:30px; line-height:1.12; letter-spacing:-.035em; }
.pm-tip-content > p { line-height:1.7; color:var(--pm-muted,#61636b); }
.pm-tip-content-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:24px 0; }
.pm-tip-content-grid a { display:flex; flex-direction:column; gap:5px; min-height:94px; padding:17px; border:1px solid var(--pm-border,#e2e2e6); border-radius:15px; color:var(--pm-text,#202127); text-decoration:none; background:linear-gradient(145deg,#fff8f9,#fff); }
.pm-tip-content-grid a:hover { border-color:#d95667; }
.pm-tip-content-grid strong { font-size:15px; }
.pm-tip-content-grid span { color:var(--pm-muted,#696a71); font-size:12px; line-height:1.55; }
.pm-tip-content .pm-tip-note { margin-bottom:0; padding:16px; border-radius:12px; background:#fff2f4; color:#63313a; font-size:13px; }
.dark-theme .pm-tip-content-grid a { background:linear-gradient(145deg,#2b2027,#211920); }
.dark-theme .pm-tip-content .pm-tip-note { background:#351d26; color:#f4c6ce; }
.dark-theme .pm-support-card,.dark-theme .pm-support-dialog { --support-ink:#faf3f6; --support-muted:#c3b5bf; --support-line:#493340; --support-surface:#201820; }
.dark-theme .pm-support-card { background:radial-gradient(ellipse at 100% 0,#621d3b66,transparent 52%),var(--support-surface); }
.dark-theme .pm-support-eyebrow { color:#ff9ba9; }
.dark-theme .pm-support-amounts input:checked + span { background:#441b2a; color:#ffb0bb; border-color:#f36175; }
.dark-theme .pm-support-error { color:#ffa1af; }
@media(max-width:767px) {
 .pm-support-badge { left:12px; bottom:calc(14px + env(safe-area-inset-bottom,0px)); padding:9px 13px; font-size:12px; min-height:42px; }
 body.pm-has-bottom-ad .pm-support-badge { bottom:calc(var(--pm-floating-ad-shell-height,80px) + 18px + env(safe-area-inset-bottom,0px)); }
 body:has(.pm-mobile-engagement-dock.is-visible) .pm-support-badge { bottom:calc(88px + env(safe-area-inset-bottom,0px)); }
 body.pm-has-bottom-ad:has(.pm-mobile-engagement-dock.is-visible) .pm-support-badge { bottom:calc(var(--pm-floating-ad-shell-height,80px) + 92px + env(safe-area-inset-bottom,0px)); }
 .pm-support-card { padding:26px 22px; }
 .pm-support-card h2 { font-size:29px; }
}
@media(max-width:359px) { .pm-support-card { padding:25px 18px; } .pm-support-amounts { gap:5px; } .pm-support-amounts label>span { font-size:13px; } }
@media(max-width:600px) { .pm-tip-content { padding:24px 20px; } .pm-tip-content h2 { font-size:26px; } .pm-tip-content-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .pm-support-badge,.pm-support-dialog { transition:none; } }

body.pm-support-open { overflow:hidden; }

.pm-support-amounts small{display:block;font-size:11px;font-weight:500;margin-top:5px}
.pm-support-account{max-width:680px;margin:32px auto;padding:24px;border:1px solid var(--pm-border,#e2e2e6);border-radius:20px;background:var(--pm-surface,#fff);color:var(--pm-text,#202127)}
.pm-support-account h2{font-family:'PM Outfit',sans-serif;font-size:26px;margin-top:0}.pm-support-account p{line-height:1.65}.pm-support-account a{color:#bf2438;text-decoration:underline}.pm-support-history{overflow:auto}.pm-support-history table{width:100%;border-collapse:collapse;font-size:14px}.pm-support-history th,.pm-support-history td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--pm-border,#eee);white-space:nowrap}.pm-comment-supporter{display:inline-flex;align-items:center;gap:5px;color:#a91c31;background:#fff1f3;border:1px solid #e8a6ad;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:700}.pm-support-return{max-width:680px;margin:15px auto;padding:20px;border-radius:12px;background:#f0f7f3;color:#205038;line-height:1.6}
.pm-support-amounts label>span{flex-direction:column;gap:0;min-height:62px}.pm-support-amounts small{line-height:1.3;margin-top:4px}.pm-support-amounts b{white-space:nowrap}
