/* Contextual Premium prompts; the practice controls remain free. */
#upgradeModal{margin:auto;max-width:440px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);overflow:auto;background:#1a1a1a;color:#f4f4f4;border:1px solid #363636;border-radius:18px;padding:28px;text-align:left;box-shadow:0 24px 80px #0008}
#upgradeModal::backdrop{background:#000b;backdrop-filter:blur(3px)}
#upgradeModal .upgrade-close-btn{display:block;margin:-12px -12px 8px auto;width:44px;height:44px;border:0;border-radius:50%;background:#292929;color:#ccc;font-size:24px;cursor:pointer}
.upgrade-eyebrow{font-size:12px;letter-spacing:1.4px;color:#ff8c85;font-weight:700}
#upgradeModal h2{font-size:28px;line-height:1.15;letter-spacing:-.8px;margin:10px 0 14px;font-weight:750}
.upgrade-intro,.upgrade-account-note{color:#b2b2b2;font-size:15px;line-height:1.5;margin:0 0 16px}
.upgrade-library{border:1px solid #363636;background:#202020;border-radius:10px;margin:18px 0;padding:14px;display:flex;gap:16px;align-items:center}
.upgrade-loop-mark{font:32px Georgia,serif;color:var(--accent,#ff453a)}
.upgrade-library strong{display:block;font-size:14px;color:#f4f4f4}
.upgrade-loop-range{color:#b2b2b2;font:12px ui-monospace,monospace;margin-top:4px}
.upgrade-bullets{list-style:none;padding:0;margin:18px 0}
.upgrade-bullets li{margin:10px 0;font-size:14px;color:#d3d3d3;display:flex;gap:12px;line-height:1.5}
.upgrade-bullets li:before{content:'✓';color:var(--accent,#ff453a)}
.upgrade-price-hint{font-size:13px;color:#b2b2b2;text-align:center;margin:16px 0}
.upgrade-cta-primary,.upgrade-cta-secondary,.upgrade-cta-secondary-link{display:block;width:100%;min-height:46px;padding:12px;border:0;border-radius:10px;text-align:center;text-decoration:none;line-height:1.4;cursor:pointer;font-size:15px}
.upgrade-cta-primary{background:var(--accent,#ff453a);color:#fff;font-weight:700}
.upgrade-cta-primary:hover{color:#fff;background:#e83c32}
.upgrade-cta-secondary{background:#2c2c2c;color:#fff;margin-top:10px}
.upgrade-cta-secondary:hover{background:#363636;color:#fff}
.upgrade-cta-secondary-link{background:transparent;color:#bbb;font-size:14px;margin-top:4px}
.upgrade-cta-secondary-link:hover{color:#fff}
#upgradeModal [hidden],.premium-suggestion[hidden]{display:none!important}
.premium-suggestion{margin:24px 0;padding:20px 68px 20px 20px;border:1px solid #363636;border-left:3px solid var(--accent,#ff453a);border-radius:12px;background:#1a1a1a;position:relative;color:#f4f4f4}
.premium-suggestion h2{margin:0 0 8px;font-size:20px;line-height:1.3;color:#f4f4f4}
.premium-suggestion p{font-size:14px;line-height:1.5;margin:0 0 16px;color:#b2b2b2}
.premium-suggestion .upgrade-cta-primary{width:auto;display:inline-block}
.premium-suggestion-close{position:absolute;right:12px;top:12px;width:44px;height:44px;border:0;border-radius:50%;background:#292929;color:#ccc;font-size:24px;cursor:pointer}
#upgradeModal :focus-visible,.premium-suggestion :focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:500px){#upgradeModal{padding:24px}#upgradeModal h2{font-size:26px}.upgrade-intro,.upgrade-account-note{font-size:14px}.upgrade-library{margin:16px 0;padding:12px}.upgrade-bullets{margin:16px 0}.upgrade-bullets li{margin:8px 0}.premium-suggestion{padding:18px 64px 18px 18px}}
@media(max-height:850px){.upgrade-library{display:none}#upgradeModal h2{font-size:24px}.upgrade-intro{font-size:14px}.upgrade-bullets{margin:12px 0}.upgrade-bullets li{margin:8px 0}.upgrade-price-hint{margin:12px 0}}

/* Discovery is an explicit modal, shown only after the visitor pauses. */
#premiumSuggestion{position:fixed;inset:0;margin:auto;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;padding:28px;border:1px solid #363636;border-radius:18px;box-shadow:0 24px 80px #0008;text-align:left}
#premiumSuggestion::backdrop{background:#000b;backdrop-filter:blur(3px)}
#premiumSuggestion h2{font-size:22px;padding-right:40px;margin:4px 0 16px;line-height:1.3}
#premiumSuggestion p{font-size:14px;line-height:1.6;margin:0 0 20px}
#premiumSuggestion .upgrade-cta-primary{display:block;width:100%}
@media(max-width:500px){#premiumSuggestion{padding:22px}#premiumSuggestion h2{font-size:20px}#premiumSuggestion p{font-size:13px}}
