/* Corvyn's public pages: the Privacy Policy, Support and Delete-data pages whose URLs the App Store
   Connect and Play Console listings point at, plus the landing page (which adds landing.css).
   Deliberately one shared stylesheet, no build step and no fonts to fetch, and the policy pages
   carry no script — a policy page that needs a toolchain is a policy page that rots, and these URLs
   have to stay reachable for as long as the app is on sale.

   Dark liquid glass, in the same family as zoltanberki.com, because the app and all its store art
   are dark. Text sits on a solid-enough panel to stay readable where backdrop-filter is missing. */

:root {
  --bg: #07080c;
  --ink: #f2f3f6;
  --ink-soft: #a6acb9;
  --faint: #6f7584;
  --line: rgba(255, 255, 255, .10);
  --glass-1: rgba(255, 255, 255, .075);
  --glass-2: rgba(255, 255, 255, .025);
  --spec: rgba(255, 255, 255, .20);
  --link: #e9c46a;
  --accent: #8ab4ff;
  --radius: 24px;
  --ease: cubic-bezier(.2, .8, .2, 1);
  --spring: cubic-bezier(.34, 1.56, .64, 1);
  color-scheme: dark;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(900px 600px at 10% -10%, rgba(43, 92, 255, .28), transparent 60%),
    radial-gradient(800px 600px at 100% 10%, rgba(155, 77, 255, .18), transparent 60%),
    var(--bg);
  background-attachment: fixed;
  color: var(--ink);
  font: 16px/1.65 -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}

.glass {
  background: linear-gradient(160deg, var(--glass-1), var(--glass-2)), rgba(12, 13, 19, .55);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
  backdrop-filter: blur(24px) saturate(160%);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: inset 0 1px 0 var(--spec), 0 30px 80px -30px rgba(0, 0, 0, .8);
}

/* ---------- policy pages: one glass sheet ---------- */
main {
  max-width: 44rem;
  margin: 2.5rem auto 4rem;
  padding: 2.5rem 2.25rem 2rem;
  background: linear-gradient(160deg, var(--glass-1), var(--glass-2)), rgba(12, 13, 19, .6);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
  backdrop-filter: blur(24px) saturate(160%);
  border: 1px solid var(--line);
  border-radius: 28px;
  box-shadow: inset 0 1px 0 var(--spec), 0 40px 100px -40px rgba(0, 0, 0, .9);
}

h1 {
  font-size: 2.1rem;
  line-height: 1.15;
  margin: 0 0 1rem;
  letter-spacing: -0.025em;
}

h2 {
  font-size: 1.15rem;
  letter-spacing: -0.01em;
  margin: 2.25rem 0 0.5rem;
  padding-top: 1.1rem;
  border-top: 1px solid var(--line);
}

p, li { margin: 0 0 0.85rem; color: #d7dae2; }
ul { padding-left: 1.3rem; }
b, strong { color: var(--ink); }

.lede { font-size: 1.1rem; color: var(--ink-soft); }
.effective { font-size: 0.9rem; color: var(--faint); margin-top: -0.5rem; }

.crumb {
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
}
.crumb a { text-decoration: none; color: var(--accent); }
.crumb a::before { content: "‹ "; }

a { color: var(--link); text-decoration-thickness: 1px; text-underline-offset: 2px; }
a:hover { text-decoration-thickness: 2px; }

footer {
  margin-top: 3rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
  font-size: 0.9rem;
  color: var(--ink-soft);
}

@media (max-width: 640px) {
  main { margin: 0; min-height: 100vh; border-radius: 0; border: 0; padding: 2rem 1.25rem 3rem; }
  h1 { font-size: 1.75rem; }
}
