/* Buyer pages (download, support, terms, privacy, refunds, recovery and the
   checkout returns). They share the landing page's type system and tokens
   (sections/tokens.css): Instrument Serif headings, Geist body, Geist Mono
   labels, outline pill buttons and the white focus ring. */
:root { color-scheme: dark; font-family: var(--lp-body); background: var(--lp-bg); color: var(--lp-text); -webkit-font-smoothing: antialiased; }
body { margin: 0; padding: 36px 24px; }
main { max-width: 620px; margin: 8vh auto; }
main > a:first-child { display: inline-flex; align-items: center; gap: 9px; color: var(--lp-text); font: 400 25px/1 var(--lp-display); letter-spacing: -.01em; text-decoration: none; }
main > a:first-child::before { content: ""; width: 28px; height: 28px; background: url("/assets/app-icon.svg") center / contain no-repeat; }
h1 { margin: 56px 0 24px; font: 400 clamp(44px, 7vw, 64px)/1 var(--lp-display); letter-spacing: var(--lp-display-track); text-wrap: balance; }
h2 { margin: 40px 0 12px; font: 400 32px/1.05 var(--lp-display); }
p, li { color: var(--lp-secondary); font-size: 16px; line-height: 1.65; }
li { margin: 12px 0; }
a { color: var(--lp-text); text-decoration-color: rgb(255 255 255 / .35); text-underline-offset: 4px; transition: text-decoration-color .2s ease; }
a:hover { text-decoration-color: var(--lp-text); }
nav { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--lp-hairline); }
nav a { color: var(--lp-secondary); font-size: 14px; line-height: 1.5; text-decoration: none; transition: color .2s ease; }
nav a:hover { color: var(--lp-text); }
label { display: block; margin-top: 32px; color: var(--lp-secondary); font: var(--lp-label-weight) 12px/16px var(--lp-label-font); letter-spacing: var(--lp-label-track); text-transform: uppercase; }
button, input { font: inherit; }
button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 15px 26px; border: 1px solid rgb(255 255 255 / .24); border-radius: 999px; background: rgb(255 255 255 / .04); color: var(--lp-text); font-size: 15px; font-weight: 500; line-height: 1; cursor: pointer; transition: background-color .2s ease, border-color .2s ease; }
button:hover { background: rgb(255 255 255 / .12); border-color: rgb(255 255 255 / .56); }
button:disabled { border-color: rgb(255 255 255 / .12); background: transparent; color: var(--lp-muted); cursor: wait; }
input { display: block; box-sizing: border-box; width: 100%; margin: 10px 0 20px; padding: 13px 16px; border: 1px solid rgb(255 255 255 / .16); border-radius: 12px; background: rgb(255 255 255 / .04); color: var(--lp-text); }
input:disabled { color: var(--lp-muted); }
:focus-visible { outline: 2px solid rgb(255 255 255 / .85); outline-offset: 3px; }
code { display: block; overflow-wrap: anywhere; margin: 24px 0; font: 14px/1.6 var(--lp-label-font); color: var(--lp-text); }
summary { color: var(--lp-text); cursor: pointer; }
[hidden] { display: none !important; }

textarea { box-sizing: border-box; width: 100%; margin: 20px 0; padding: 14px; border: 1px solid rgb(255 255 255 / .16); border-radius: 12px; background: rgb(255 255 255 / .04); color: var(--lp-text); font: 16px/1.5 var(--lp-label-font); resize: vertical; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

button + button { margin-inline-start: 8px; }
fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
@media (prefers-reduced-motion: reduce) { a, nav a, button { transition: none; } }
/* Phones and other touch screens: the wordmark and page links are at least
   44px tall; the rows close up so the targets never overlap. */
@media (max-width: 760px), (pointer: coarse) {
  main > a:first-child { min-height: 44px; }
  nav { row-gap: 0; padding-top: 13px; }
  nav a { display: inline-flex; align-items: center; min-height: 44px; }
}
