/* v3.2 conversion screens: upgrade sheet, "out of time" page, pricing toggle, trial, referral, renewal. Uses the site's CSS variables so light/dark just work. */
.cv-eyebrow{margin:0 0 2px;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:700;color:var(--brand)}
.cv-h2{font:700 24px var(--serif);margin:26px 0 4px;text-align:center}
.cv-sub{color:var(--muted);font-size:14px;margin:4px 0 10px}
.cv-fine,.ups-fine{color:var(--muted);font-size:12.5px;line-height:1.5;margin:10px 0 0}
.cv-fine a,.ups-fine a{text-decoration:underline}
/* period toggle + plan cards */
.cv-toggle{display:flex;gap:0;margin:8px auto 14px;width:fit-content;max-width:100%;border:1.5px solid var(--line);border-radius:999px;background:var(--panel);overflow:hidden}
.cv-toggle button,.cv-toggle a{border:0;background:transparent;color:var(--ink);font:600 15px var(--sans);padding:10px 18px;min-height:44px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.cv-toggle .on{background:var(--ink);color:var(--bg)}.cv-toggle small{font-weight:500;opacity:.85;font-size:12px}
.cv-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cv-card{position:relative;background:var(--panel);border:1.5px solid var(--line);border-radius:var(--radius);padding:14px 14px 14px;display:flex;flex-direction:column;gap:2px;min-width:0}
.cv-card.pick{border:2.5px solid var(--brand);box-shadow:var(--shadow-hover);transform:translateY(-2px)}
.cv-card h3{font:700 19px var(--serif);margin:0}
.cv-flag{position:absolute;top:-12px;left:12px;background:var(--brand);color:#fff;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 10px;border-radius:99px}
.cv-price{margin:4px 0 0;font:700 28px var(--serif)}.cv-price small{font:500 13px var(--sans);color:var(--muted)}
.cv-perday{margin:0;font-size:13px;color:var(--muted)}.cv-read{margin:6px 0 10px;font-size:13px;flex:1}
.cv-card .btn{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:auto}
[data-period=year] .cv-m,[data-period=year] .pm{display:none}[data-period=month] .cv-y,[data-period=month] .py{display:none}
/* upgrade sheet: bottom sheet on phones, floating card bottom-right on desktop */
.upsheet{position:fixed;z-index:40;left:0;right:0;bottom:0;max-height:88vh;overflow:auto;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0;
  padding:16px 14px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -10px 40px rgba(0,0,0,.25);animation:ups-in .28s ease-out}
.upsheet[hidden]{display:none}
@keyframes ups-in{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.upsheet{animation:none}}
.ups-x{position:absolute;top:6px;right:8px;width:44px;height:44px;border:0;background:transparent;font-size:28px;line-height:1;color:var(--muted);cursor:pointer}
.ups-head{display:flex;gap:12px;align-items:center;padding-right:34px}
.ups-manny{width:72px;height:auto;flex:none;align-self:flex-end}
.ups-head h2{font:700 21px/1.2 var(--serif);margin:0 0 4px}.ups-p{margin:0;font-size:14px;color:var(--muted)}
.cv-count{font-variant-numeric:tabular-nums;color:var(--ink)}
.ups-more{margin:12px 0 4px}.ups-more>summary{cursor:pointer;font-weight:600;min-height:32px;display:flex;align-items:center}.ups-more small{color:var(--muted);font-weight:400;margin-left:6px}
.upsheet .cv-cards{grid-template-columns:1fr;gap:8px}
.upsheet .cv-card{display:grid;grid-template-columns:1fr auto;column-gap:10px;align-items:center;padding:10px 12px}
.upsheet .cv-card h3{grid-column:1;font-size:17px}.upsheet .cv-price{grid-column:2;grid-row:1/3;text-align:right;font-size:22px;margin:0}
.upsheet .cv-perday{grid-column:1}.upsheet .cv-read{display:none}.upsheet .cv-card .btn{grid-column:1/3;margin-top:6px}
.upsheet .cv-card.pick{transform:none}.upsheet .cv-flag{left:auto;right:12px;top:-10px}
.ups-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.ups-actions .btn{flex:1 1 200px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
@media(min-width:900px){
  .upsheet{left:auto;right:20px;bottom:20px;width:420px;border-radius:18px;border-bottom:1px solid var(--line);max-height:calc(100vh - 40px)}
  .ups-manny{width:84px}
}
/* "out of time" page */
.cv-limit{max-width:980px;margin:0 auto}
.cv-hero{display:flex;gap:22px;align-items:center;background:linear-gradient(135deg,var(--chip),var(--panel));border:1px solid var(--line);border-radius:var(--radius);padding:22px 22px}
.cv-manny{width:150px;height:auto;flex:none}
.cv-say h1{font:700 clamp(25px,4vw,36px)/1.15 var(--serif);margin:0 0 8px}
.cv-lead{margin:0 0 6px;font-size:16px}
.cv-clock{margin:2px 0 6px;font:700 clamp(36px,7vw,56px)/1 var(--serif);font-variant-numeric:tabular-nums;color:var(--brand)}
.cv-cta{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:18px 0 4px}.cv-cta .btn{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:640px){
  .cv-hero{flex-direction:column;text-align:center;padding:16px 14px}.cv-manny{width:110px}
  .cv-cards{grid-template-columns:1fr;gap:16px}.cv-card.pick{order:-1}
  .cv-card{display:grid;grid-template-columns:1fr auto;column-gap:10px;align-items:center}.cv-card h3{grid-column:1}.cv-price{grid-column:2;grid-row:1/3;text-align:right}.cv-perday,.cv-read{grid-column:1}.cv-card .btn{grid-column:1/3;margin-top:8px}
  .cv-cta .btn{flex:1 1 100%}
}
/* pricing page */
.cv-banner{display:flex;gap:14px;align-items:center;background:var(--chip);border:1.5px dashed var(--brand);border-radius:var(--radius);padding:12px 16px;max-width:1040px;margin:0 auto 16px}
.cv-banner img{width:56px;height:auto;flex:none}.cv-banner p{margin:0}.cv-banner .btn{margin-left:auto;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
@media(max-width:640px){.cv-banner{flex-wrap:wrap}.cv-banner .btn{margin:6px 0 0;flex:1 1 100%;justify-content:center}}
.tcard .price .py,.tcard .price .pm{display:inline}
.tcard .perday{margin:-4px 0 8px;font-size:13px;color:var(--muted)}.tcard .perday b{color:var(--ink)}
.tiers-grid[data-period=year] .pm,.tiers-grid[data-period=month] .py{display:none}
.cv-billing{max-width:1040px;margin:18px auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px}
.cv-billing h2{font:700 20px var(--serif);margin:0 0 6px}.cv-billing ul{margin:6px 0 4px;padding-left:20px}.cv-billing li{margin:4px 0}
/* terms box on upgrade / trial / cancel */
.cv-terms{border:1.5px solid var(--line);border-left:5px solid var(--brand);background:var(--panel);border-radius:8px;padding:10px 14px;margin:12px 0;font-size:14px}
.cv-terms b{color:var(--ink)}.cv-terms p{margin:4px 0}
.cv-box{max-width:720px;margin:0 auto}
.cv-box .cv-hero{margin-bottom:14px}
.cv-list{padding-left:20px}.cv-list li{margin:6px 0}
.cv-copy{display:flex;gap:8px;flex-wrap:wrap;align-items:stretch}.cv-copy input{flex:1 1 260px;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:15px var(--mono)}
.cv-copy .btn{min-height:44px}
.cv-stat{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0}.cv-stat div{flex:1 1 130px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.cv-stat b{display:block;font:700 24px var(--serif)}
.cv-danger{background:#b4231a;color:#fff;border-color:#b4231a;box-shadow:none}.cv-danger:hover{background:#8f1b14;color:#fff}
.cv-acct-note{font-size:13.5px;margin:6px 0}
