/* Shared styling for the legal pages. Deliberately plain: these documents are
   read when someone is worried or annoyed, so legibility beats personality. */
:root{
  --brand:#1263E0; --brand-soft:#E7F0FE;
  --ink:#111A2B; --ink-2:#48566E; --ink-3:#7B8AA3;
  --paper:#FFFFFF; --tint:#F3F7FD; --line:#DCE6F3; --line-2:#C2D3EA;
  --warn:#B45309; --warn-bg:#FEF3C7;
  --display:ui-rounded,"SF Pro Rounded","Segoe UI Variable Display","Segoe UI",system-ui,sans-serif;
  --body:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,"Cascadia Mono",Menlo,Consolas,monospace;
}
@media (prefers-color-scheme:dark){
  :root{
    --brand:#5FA8FF; --brand-soft:#0D2547;
    --ink:#EAF1FA; --ink-2:#A8BAD1; --ink-3:#7A8CA5;
    --paper:#0E1626; --tint:#16233A; --line:#1E2E47; --line-2:#2B4160;
    --warn:#FBBF24; --warn-bg:#3A2C0A;
  }
}
:root[data-theme="dark"]{
  --brand:#5FA8FF; --brand-soft:#0D2547;
  --ink:#EAF1FA; --ink-2:#A8BAD1; --ink-3:#7A8CA5;
  --paper:#0E1626; --tint:#16233A; --line:#1E2E47; --line-2:#2B4160;
  --warn:#FBBF24; --warn-bg:#3A2C0A;
}
:root[data-theme="light"]{
  --brand:#1263E0; --brand-soft:#E7F0FE;
  --ink:#111A2B; --ink-2:#48566E; --ink-3:#7B8AA3;
  --paper:#FFFFFF; --tint:#F3F7FD; --line:#DCE6F3; --line-2:#C2D3EA;
  --warn:#B45309; --warn-bg:#FEF3C7;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);
  font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
.shell{max-width:760px;margin:0 auto;padding:0 22px 90px}

nav.top{border-bottom:1px solid var(--line);background:var(--paper);
  position:sticky;top:0;z-index:10}
nav.top .shell{display:flex;align-items:center;height:60px;padding-bottom:0;gap:18px}
/* Same guard as the marketing nav: without nowrap the wordmark wraps and the
   logo outgrows the 60px bar. These pages carry a long link beside it
   ("Terms of Service"), so the squeeze arrives sooner. */
.logo{display:flex;align-items:center;gap:8px;text-decoration:none;font-family:var(--display);
  font-weight:800;font-size:1.05rem;letter-spacing:-.03em;color:var(--brand);
  white-space:nowrap;flex:none}
.logo-mark{display:flex;align-items:flex-end;gap:2px;height:17px;flex:none}
.logo-mark i{width:3px;border-radius:2px;background:var(--brand);display:block}
@media (max-width:400px){
  nav.top .logo-text{display:none}
  nav.top .shell{gap:12px}
}
nav.top a.other{margin-left:auto;color:var(--ink-2);text-decoration:none;font-weight:600;font-size:.9rem}
nav.top a.other:hover{color:var(--brand)}

header.doc{padding:46px 0 26px;border-bottom:2px solid var(--ink);margin-bottom:30px}
h1{font-family:var(--display);font-weight:800;font-size:clamp(1.8rem,4vw,2.5rem);
  letter-spacing:-.025em;margin:0 0 10px}
.dates{font-family:var(--mono);font-size:.8rem;color:var(--ink-3);letter-spacing:.03em}

h2{font-family:var(--display);font-weight:800;font-size:1.22rem;letter-spacing:-.02em;
  margin:38px 0 10px;padding-top:14px;border-top:1px solid var(--line)}
h2:first-of-type{border-top:none;padding-top:0}
h3{font-family:var(--display);font-weight:800;font-size:1rem;margin:22px 0 6px}
p{margin:0 0 13px;color:var(--ink-2)}
p strong,li strong{color:var(--ink)}
ul,ol{margin:0 0 15px;padding-left:22px;color:var(--ink-2)}
li{margin-bottom:7px}
a{color:var(--brand)}
code{font-family:var(--mono);font-size:.88em;background:var(--tint);
  border:1px solid var(--line);padding:1px 5px;border-radius:4px}

.toc{background:var(--tint);border:1px solid var(--line);border-radius:10px;
  padding:18px 22px;margin-bottom:30px}
.toc h4{margin:0 0 9px;font-family:var(--display);font-size:.78rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-3)}
.toc ol{margin:0;padding-left:20px;columns:2;column-gap:26px}
@media(max-width:620px){.toc ol{columns:1}}
.toc a{text-decoration:none;font-size:.9rem}
.toc a:hover{text-decoration:underline}

.callout{border-left:3px solid var(--brand);background:var(--tint);
  padding:15px 18px;border-radius:0 8px 8px 0;margin:18px 0}
.callout.warn{border-left-color:var(--warn);background:var(--warn-bg)}
.callout p{margin:0 0 9px}
.callout p:last-child{margin:0}
.callout strong{color:var(--ink)}

.placeholder{background:var(--warn-bg);color:var(--warn);font-family:var(--mono);
  font-size:.85em;padding:1px 6px;border-radius:4px;font-weight:700}

table{border-collapse:collapse;width:100%;font-size:.88rem;margin:0 0 16px}
th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-3);background:var(--tint);font-weight:700}
.tscroll{overflow-x:auto;border:1px solid var(--line-2);border-radius:9px;margin-bottom:16px}
.tscroll table{margin:0;min-width:520px}

footer{margin-top:50px;padding-top:20px;border-top:1px solid var(--line-2);
  color:var(--ink-3);font-size:.85rem}
footer a{color:var(--brand)}
