/* Shared polish for text pages (support, privacy, terms, release notes, reviewer notes). Loaded after site.css.
   Same tokens as site-v3.css; Inter (OFL-1.1) self-hosted, see assets/fonts/OFL-Inter.txt. */
@font-face { font-family: "Inter CF"; src: url("./assets/fonts/inter-latin-opsz.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter CF"; src: url("./assets/fonts/inter-latin-ext-opsz.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
  --bg: #0a0c14; --bg-deep: #090b12; --line: rgba(255,255,255,.08); --line-strong: rgba(255,255,255,.14);
  --teal: #34d399; --teal-soft: #6ee7b7; --text: #eef1f6; --muted: #b4bbca; --muted-2: #8b93a7;
  --shell: min(1180px, calc(100% - 48px));
}
body {
  font-family: "Inter CF", "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif; font-optical-sizing: auto;
  font-size: clamp(1rem, .97rem + .14vw, 1.0625rem); line-height: 1.7;
  background:
    radial-gradient(900px 520px at 85% -8%, rgba(84, 110, 255, .10), transparent 62%),
    radial-gradient(800px 480px at 0% -6%, rgba(52, 211, 153, .10), transparent 62%),
    linear-gradient(180deg, #0b0e17 0%, #090b12 100%);
  background-attachment: fixed;
}
body::before { display: none; }
::selection { color: #04140d; background: var(--teal); }
a { color: var(--teal-soft); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: #a7f3d0; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid var(--teal); outline-offset: 3px; border-radius: 6px; }

.site-header { background: rgba(10, 12, 20, .72); backdrop-filter: blur(14px) saturate(140%); -webkit-backdrop-filter: blur(14px) saturate(140%); border-bottom: 1px solid var(--line); }
.site-header .nav-shell { min-height: 68px; }
.site-header .brand { font-weight: 700; letter-spacing: -.02em; }
.site-header .brand img { width: 34px; height: 34px; border-radius: 9px; box-shadow: 0 0 24px rgba(52, 211, 153, .25); }
.nav-links a { color: #b4bbca; font-weight: 520; padding: 8px 12px; border-radius: 9px; transition: color .2s, background-color .2s; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: var(--text); background: rgba(255,255,255,.05); }

.page-shell { max-width: 780px; padding: clamp(56px, 6vw, 96px) 0 clamp(80px, 8vw, 128px); }
.page-shell .eyebrow { padding: 0; border: 0; background: none; color: var(--teal); font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.page-shell h1 { margin-top: 14px; font-size: clamp(2.25rem, 1.6rem + 2.8vw, 3.5rem); line-height: 1.05; letter-spacing: -.035em; font-weight: 740; text-wrap: balance; }
.page-shell .meta { margin-top: 16px; color: var(--muted-2) !important; font-size: .875rem; line-height: 1.6; }
.page-shell h2 { margin: clamp(48px, 5vw, 64px) 0 16px; padding: 0 0 0 14px; border: 0; border-left: 3px solid var(--teal); font-size: clamp(1.25rem, 1.1rem + .6vw, 1.5rem); line-height: 1.25; letter-spacing: -.02em; font-weight: 680; scroll-margin-top: 90px; }
.page-shell h3 { margin: 32px 0 8px; font-size: 1.0625rem; font-weight: 650; letter-spacing: -.01em; color: var(--text); }
.page-shell p, .page-shell li { color: #c3c9d6; max-width: 72ch; }
.page-shell strong { color: var(--text); font-weight: 650; }
.page-shell ul, .page-shell ol { padding-left: 1.3em; }
.page-shell li + li { margin-top: 8px; }
.page-shell li::marker { color: var(--teal); }
.page-shell code { padding: 1px 6px; border-radius: 6px; background: rgba(255,255,255,.06); border: 1px solid var(--line); color: #a7f3d0; font: .875em/1.5 ui-monospace, "Cascadia Mono", Consolas, monospace; word-break: break-word; }
.legal-card { margin: 32px 0; padding: 22px 24px; border-radius: 16px; border: 1px solid rgba(52, 211, 153, .24);
  background: radial-gradient(80% 120% at 0% 0%, rgba(52, 211, 153, .10), transparent 60%), linear-gradient(180deg, rgba(36, 40, 56, .55), rgba(18, 21, 31, .7));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 20px 50px -30px rgba(0,0,0,.8); }
.legal-card h2 { margin-top: 0; }
.page-shell details { margin: 18px 0; border: 1px solid var(--line); border-radius: 14px; background: rgba(18, 21, 31, .6); }
.page-shell details > summary { cursor: pointer; padding: 14px 18px; font-weight: 620; color: var(--text); }
.page-shell details > :not(summary) { padding: 0 18px; }
.page-shell details[open] > summary { border-bottom: 1px solid var(--line); margin-bottom: 12px; }

.site-footer { color: #8b93a7; border-top: 1px solid var(--line); }
.site-footer .brand img { border-radius: 8px; }
.footer-links a { color: #b4bbca; font-weight: 560; }
.footer-links a:hover { color: var(--text); }
.riot-note { color: #7f879a; }

@media (max-width: 560px) {
  :root { --shell: calc(100% - 32px); }
  .legal-card { padding: 18px; }
  .page-shell h2 { padding-left: 12px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; } }

/* Reviewer page screenshot gallery */
.review-shots { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 20px 0 32px; }
.review-shots figure { margin: 0; }
.review-shots img { display: block; width: 100%; height: auto; border-radius: 12px; border: 1px solid rgba(52, 211, 153, .24); }
.review-shots figcaption { margin-top: 8px; font-size: .9rem; line-height: 1.45; opacity: .85; }
@media (max-width: 720px) { .review-shots { grid-template-columns: 1fr; } }
