/* Shared by the pages Astrape and its App Store listing link to: /privacy, /support, /ffmpeg, /mac-companion.
   Self-contained on purpose: it does not depend on the landing page, so the landing page can be redesigned freely. */
:root{
  --night:#060914;
  --night-2:#0b1226;
  --night-3:#111a33;
  --line:rgba(150,185,255,.14);
  --ink:#f3f6ff;
  --ink-2:#aab5cc;
  --ink-3:#77829c;
  --bolt:#7cc2ff;
  --display:-apple-system,BlinkMacSystemFont,"SF Pro Display",system-ui,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --text:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--night);color:var(--ink);font:400 17px/1.6 var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden;
  background-image:radial-gradient(60% 40% at 80% 0%,rgba(47,127,217,.22),transparent 70%),radial-gradient(40% 30% at 5% 0%,rgba(30,50,110,.45),transparent 70%);background-repeat:no-repeat}
a{color:var(--bolt);text-underline-offset:3px}
a:hover{color:var(--ink)}
:focus-visible{outline:2px solid var(--bolt);outline-offset:3px;border-radius:6px}
.wrap{max-width:820px;margin-inline:auto;padding-inline:20px}
h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;letter-spacing:-.01em}
p{margin:0}
code,pre{font-family:var(--mono)}

/* nav and footer */
.nav{position:sticky;top:0;z-index:20;background:rgba(6,9,20,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:24px;height:60px;max-width:1000px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:800 18px/1 var(--display)}
.brand img{width:40px;height:24px;border-radius:5px;object-fit:cover;box-shadow:0 0 0 1px var(--line)}
.nav-links{display:flex;gap:20px;margin-left:auto;flex-wrap:wrap}
.nav-links a{text-decoration:none;color:var(--ink-2);font-size:15px}
.nav-links a:hover,.nav-links a[aria-current]{color:var(--ink)}
footer{border-top:1px solid var(--line);padding-block:30px;margin-top:72px;color:var(--ink-3);font-size:14px}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;max-width:1000px}
footer a{color:var(--ink-2)}
footer nav{display:flex;gap:18px;flex-wrap:wrap}

/* the page */
.doc{padding-block:56px 0}
.eyebrow{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--bolt)}
.doc h1{font-size:clamp(36px,6vw,60px);line-height:1;font-weight:850;margin-block:14px 14px}
.doc .lede{font-size:19px;color:var(--ink-2)}
.doc h2{font-size:24px;line-height:1.15;font-weight:800;margin-top:44px;margin-bottom:12px}
.doc h3{font-size:18px;line-height:1.2;font-weight:700;margin-top:26px;margin-bottom:8px}
.doc p+p,.doc ul+p,.doc ol+p,.doc pre+p{margin-top:14px}
.doc p,.doc li{color:var(--ink-2);max-width:42em}
.doc strong,.doc b{color:var(--ink);font-weight:600}
.doc ul,.doc ol{padding-left:1.3em;margin:12px 0 0}
.doc li+li{margin-top:6px}
.updated{margin-top:18px;font:500 13px/1.4 var(--mono);color:var(--ink-3)}
.note{margin-top:22px;padding:16px 20px;border-radius:16px;background:var(--night-2);box-shadow:inset 0 0 0 1px var(--line)}
.note p{color:var(--ink-2)}

/* FAQ */
.faq{display:grid;gap:10px;margin-top:16px}
.faq details{border-radius:16px;background:var(--night-2);box-shadow:inset 0 0 0 1px var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:18px 22px;font:700 17px/1.3 var(--display);display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 22px/1 var(--mono);color:var(--bolt);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{padding:0 22px 20px}
.faq .a p{max-width:40em}

/* buttons */
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.btn{display:inline-flex;align-items:center;height:46px;padding-inline:22px;border-radius:999px;font:600 16px/1 var(--text);text-decoration:none;white-space:nowrap}
.btn-primary{background:var(--ink);color:var(--night)}
.btn-primary:hover{background:#fff;color:var(--night)}
.btn-ghost{background:rgba(255,255,255,.08);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.btn-ghost:hover{background:rgba(255,255,255,.14)}

/* tables and code (the FFmpeg page) */
.table-scroll{overflow-x:auto;margin-top:16px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--line)}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;vertical-align:top;padding:10px 14px;border-bottom:1px solid var(--line)}
tr:last-child td{border-bottom:0}
th{color:var(--ink-3);font:500 12px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}
td{color:var(--ink-2)}
td code{font-size:12px;word-break:break-all;color:var(--ink)}
td.num{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
pre{margin:14px 0 0;padding:16px 20px;border-radius:12px;background:var(--night-2);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);font-size:13px;line-height:1.55;overflow-x:auto}
p code,li code{background:rgba(255,255,255,.08);padding:1px 6px;border-radius:5px;font-size:.88em;color:var(--ink)}
.badge{display:inline-block;margin-top:18px;padding:7px 12px;border-radius:999px;font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#ffb340;box-shadow:inset 0 0 0 1px rgba(255,179,64,.4)}
