/* The paywall sheet — PaywallView.swift, presented the way Settings presents
   the sign-in sheet: a <dialog>, narrow, centred, the page's own tokens. */
dialog.pro-paywall{border:none;padding:0;background:none;color:var(--ink);
  width:min(440px,92vw);max-height:90vh;font-family:var(--font-stack);font-size:var(--font-body)}
dialog.pro-paywall::backdrop{background:rgba(0,0,0,.45);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.pp{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-5);
  padding:var(--space-9) var(--space-8) var(--space-8);text-align:center;
  background:var(--bg);border-radius:var(--radius-card);
  box-shadow:inset 0 0 0 1px var(--separator),0 24px 60px rgba(0,0,0,.28)}
.pp-close{position:absolute;top:var(--space-6);right:var(--space-6);width:32px;height:32px;
  border:0;border-radius:50%;background:var(--chip-unselected);color:var(--ink-secondary);
  font-size:var(--font-subheadline);line-height:1;cursor:pointer}
.pp-hero{width:44px;height:44px;fill:var(--accent)}
.pp h2{margin:0;font-size:var(--font-title2);font-weight:var(--weight-bold);letter-spacing:-.4px}
.pp-pitch{margin:0;font-size:var(--font-caption);color:var(--ink-secondary);max-width:34ch}
.pp-benefits{list-style:none;margin:var(--space-2) 0 0;padding:0;width:100%;
  display:flex;flex-direction:column;gap:var(--space-4);text-align:left}
.pp-benefits li{display:grid;grid-template-columns:18px 1fr;gap:var(--space-4);align-items:start}
.pp-benefits svg{width:18px;height:18px;fill:none;stroke:var(--ink-tertiary);stroke-width:2.2;
  stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
.pp-benefits li.on svg{stroke:var(--accent)}
.pp-benefits span{display:flex;flex-direction:column;gap:2px;font-size:var(--font-caption);color:var(--ink-secondary)}
.pp-benefits b{font-size:var(--font-subheadline);font-weight:var(--weight-semibold);color:var(--ink)}
.pp-benefits li.on b{color:var(--accent)}
.pp-price{font-size:var(--font-subheadline);font-weight:var(--weight-semibold);
  font-variant-numeric:tabular-nums;display:flex;flex-direction:column;gap:2px}
.pp-price span{font-size:var(--font-caption);font-weight:var(--weight-regular);color:var(--ink-secondary)}
.pp-how{width:100%;background:var(--card);border-radius:var(--radius-md);padding:var(--space-6);
  display:flex;flex-direction:column;gap:var(--space-3);align-items:center}
.pp-how h3{margin:0;font-size:var(--font-headline);font-weight:var(--weight-semibold)}
.pp-how p{margin:0;font-size:var(--font-caption);color:var(--ink-secondary);max-width:36ch}
.pp-cta{margin-top:var(--space-2);display:inline-block;padding:10px 18px;border-radius:var(--radius-pill);
  background:var(--accent);color:var(--on-accent);font-weight:var(--weight-semibold);text-decoration:none}
.pp-note{margin:0;font-size:var(--font-caption2);color:var(--attention)}
/* ProBadge — 9pt heavy, tracked, on the accent. */
.pro-badge{display:inline-block;font-size:9px;font-weight:var(--weight-heavy);letter-spacing:.6px;
  background:var(--accent);color:var(--on-accent);padding:2px 5px;border-radius:999px;
  margin-left:6px;vertical-align:middle;line-height:1.2}
