/* ═══════════════════════════════════════════════════════════════════════
   FLUNTRO — legal documents (/privacy/)
   Self-contained on purpose: these pages do not load styles.css, which is
   26 KB of homepage-specific rules they would never use. The token block
   below mirrors the one inlined in index.html — tools/check.py fails the
   build if the two ever drift apart.
   ═══════════════════════════════════════════════════════════════════════ */

:root{
  --ink:#08090C; --ink-2:#0E1015; --ink-3:#161922;
  --line:rgba(255,255,255,.085); --line-2:rgba(255,255,255,.17);
  --paper:#F2F4F7; --muted:#99A1AE;
  --exif:#3B9DFF; --signal:#FFB347;
  --accent:#3B9DFF;
  --r:16px; --r-lg:26px;
  --ease:cubic-bezier(.2,.7,.2,1); --t:280ms;
  --maxw:1240px;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,sans-serif;
}
html[data-theme="light"]{
  --ink:#F7F6F3; --ink-2:#FFFFFF; --ink-3:#EEECE6;
  --line:rgba(24,20,14,.13); --line-2:rgba(24,20,14,.26);
  --paper:#14161B; --muted:#5B616B;
  --exif:#0A66D6; --signal:#9A5B00; --accent:#0A66D6;
}
@media (prefers-color-scheme:light){
  html:not([data-theme="dark"]){
    --ink:#F7F6F3; --ink-2:#FFFFFF; --ink-3:#EEECE6;
    --line:rgba(24,20,14,.13); --line-2:rgba(24,20,14,.26);
    --paper:#14161B; --muted:#5B616B;
    --exif:#0A66D6; --signal:#9A5B00; --accent:#0A66D6;
  }
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body.legal{
  margin:0;color:var(--paper);
  background-color:var(--ink);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.055'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat:repeat;background-attachment:fixed;
  font-family:var(--sans);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
a{color:inherit}
::selection{background:var(--accent);color:#000}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(20px,4vw,40px)}
.skip{position:absolute;left:-9999px;top:0;z-index:300;background:var(--ink-2);padding:14px 20px;border-radius:0 0 12px 0}
.skip:focus{left:0}
.mono{font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.idx{display:block;margin-bottom:16px;color:var(--accent);font-family:var(--mono);font-size:.7rem;
  letter-spacing:.18em;text-transform:uppercase;font-weight:500}

/* ── bar ─────────────────────────────────────────────────────────── */
.legal-bar{border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;
  background:color-mix(in oklab,var(--ink) 88%,transparent);
  backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5)}
.legal-bar-in{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px}
.brand{display:flex;align-items:center;gap:9px;font-weight:650;letter-spacing:-.035em;font-size:1.06rem;text-decoration:none}
.brand .lens{width:17px;height:17px;border-radius:50%;border:2px solid var(--accent);position:relative}
.brand .lens::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--signal)}
.legal-back{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;color:var(--muted);
  text-decoration:none;padding:10px 14px;border-radius:99px;border:1px solid var(--line);
  transition:color var(--t) var(--ease),border-color var(--t) var(--ease),background var(--t) var(--ease)}
.legal-back:hover{color:var(--paper);border-color:var(--line-2);background:var(--ink-2)}

/* ── document ────────────────────────────────────────────────────── */
.legal-wrap{padding-block:clamp(40px,7vw,84px) clamp(50px,8vw,110px)}
.legal-doc{max-width:68ch}
.legal-doc h1{margin:0 0 14px;font-size:clamp(2.1rem,4.4vw,3.1rem);font-weight:700;letter-spacing:-.045em;line-height:1.04}
.legal-meta{color:var(--muted);margin:0 0 32px}
.legal-doc h2{margin:44px 0 12px;font-size:1.18rem;font-weight:650;letter-spacing:-.03em;line-height:1.25}
.legal-doc h3{margin:28px 0 8px;font-size:1rem;font-weight:650;letter-spacing:-.025em;color:var(--paper)}
.legal-doc p{margin:0 0 16px;color:var(--muted)}
.legal-doc a{color:var(--accent);text-decoration:none;
  border-bottom:1px solid color-mix(in oklab,var(--accent) 40%,transparent)}
.legal-doc a:hover{border-color:var(--accent)}
.legal-apps{margin:0 0 18px;padding:0;list-style:none;display:grid;gap:7px}
.legal-apps li{position:relative;padding-left:20px;color:var(--muted)}
.legal-apps li::before{content:"";position:absolute;left:2px;top:.66em;width:6px;height:6px;
  border-radius:50%;background:var(--accent);opacity:.8}
.legal-rule{border:0;border-top:1px solid var(--line);margin:48px 0 36px}
.legal-note{font-size:.9rem;color:var(--muted);opacity:.85}

/* the plain-language box: helpful, and clearly marked as non-governing */
.legal-summary{border:1px solid var(--line);border-left:2px solid var(--accent);
  border-radius:var(--r);background:var(--ink-2);padding:22px 24px;margin:0 0 34px}
.legal-summary>.mono{color:var(--accent);margin:0 0 10px;display:block}
.legal-summary p{margin:0 0 10px;color:var(--paper)}
.legal-summary p:last-child{margin-bottom:0}
.legal-summary-note{font-size:.84rem;color:var(--muted)!important;opacity:.85}

/* ── footer ──────────────────────────────────────────────────────── */
.legal-foot{border-top:1px solid var(--line);padding:28px 0 36px}
.legal-foot .wrap{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;justify-content:space-between}
.legal-foot p{margin:0;color:var(--muted);opacity:.8}
.legal-foot nav{display:flex;gap:20px;flex-wrap:wrap}
.legal-foot a{font-size:.88rem;color:var(--muted);text-decoration:none;transition:color var(--t) var(--ease)}
.legal-foot a:hover{color:var(--paper)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.001ms!important;animation-duration:.001ms!important}
}
@media (prefers-contrast:more){
  :root{--line:rgba(255,255,255,.3);--line-2:rgba(255,255,255,.5);--muted:#C6CCD5}
  html[data-theme="light"]{--line:rgba(20,18,14,.34);--line-2:rgba(20,18,14,.55);--muted:#3B414B}
}
@media print{.legal-bar,.legal-foot{display:none!important} body.legal{background:#fff;color:#000}}
