/* ============================================================
   Notiva — legal pages (privacy, terms, EULA).
   Standalone on purpose: base.css locks the desktop fiction to
   body{overflow:hidden}, which would kill a scrolling document.
   These pages re-declare only the tokens they need.
   ============================================================ */

:root {
  --frost:     #f2f6fc;
  --frost-70:  rgba(235, 242, 252, .78);
  --frost-45:  rgba(230, 238, 250, .5);
  --accent:    #0a84ff;
  --line:      rgba(255, 255, 255, .1);
  --card:      rgba(255, 255, 255, .03);
  --f-display: "SF Pro Rounded", ui-rounded, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --f-ui:      -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", "Segoe UI", Roboto, sans-serif;
  --measure:   760px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html { color-scheme: dark; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
  font-family: var(--f-ui);
  color: var(--frost-70);
  background: radial-gradient(120vmax 80vmax at 100% -12%, #16294d 0%, #0b1220 58%) fixed, #0b1220;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  padding: 0 22px 96px;
}

a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }

:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 6px; }

/* ---- top bar ---- */
.legal-nav {
  max-width: var(--measure); margin: 0 auto;
  display: flex; align-items: center; gap: 11px;
  padding: 22px 0 4px;
}
.legal-nav .ring { width: 26px; height: 26px; color: var(--accent); flex: none; }
.legal-nav .brand {
  font-family: var(--f-display); font-weight: 800; font-size: 17px;
  color: var(--frost); letter-spacing: -.01em;
}
.legal-nav .home { margin-left: auto; font-size: 13.5px; color: var(--frost-45); }
.legal-nav .home:hover { color: var(--accent); text-decoration: none; }

/* ---- document ---- */
.legal { max-width: var(--measure); margin: 0 auto; padding-top: 26px; }
.legal h1 {
  font-family: var(--f-display); font-weight: 800;
  font-size: clamp(28px, 5vw, 38px); color: var(--frost);
  letter-spacing: -.02em; line-height: 1.1;
}
.legal .updated { color: var(--frost-45); font-size: 13.5px; margin-top: 11px; }
.legal .lead { font-size: 16.5px; color: var(--frost); margin-top: 20px; line-height: 1.6; }
.legal h2 {
  font-family: var(--f-display); font-weight: 700; font-size: 20px;
  color: var(--frost); margin: 40px 0 12px; letter-spacing: -.01em;
}
.legal h3 { font-weight: 650; font-size: 15.5px; color: var(--frost); margin: 24px 0 8px; }
.legal p { margin: 12px 0; font-size: 15px; }
.legal ul { margin: 12px 0; padding-left: 22px; }
.legal li { margin: 7px 0; font-size: 15px; }
.legal strong { color: var(--frost); font-weight: 650; }

/* callout box — used for the honest "this leaves your Mac" / beta asterisks */
.legal .note {
  border: 1px solid var(--line); background: var(--card);
  border-radius: 12px; padding: 14px 16px; margin: 22px 0; font-size: 14px;
}
.legal .note strong { display: block; margin-bottom: 4px; }

hr.rule { border: 0; border-top: 1px solid var(--line); margin: 42px 0; }

/* ---- footer ---- */
.legal-foot {
  max-width: var(--measure); margin: 50px auto 0; padding-top: 22px;
  border-top: 1px solid var(--line);
  display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center;
  font-size: 13px; color: var(--frost-45);
}
.legal-foot a { color: var(--frost-70); }
.legal-foot a:hover { color: var(--accent); }
.legal-foot .copy { margin-left: auto; }

@media (max-width: 560px) {
  .legal-foot .copy { margin-left: 0; margin-top: 6px; width: 100%; }
}
