:root {
  --ink:#111;
  --muted:#555;
  --soft:#222;
  --rule:#e6e6e6;
  --accent:#ff2233;
  --bg:#fff;
  --chip:#f6f6f6;
}
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body {
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.wrap { max-width:760px;margin:0 auto;padding:52px 22px 96px; }
header.site {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:36px;
  padding-bottom:16px;
  border-bottom:1px solid var(--rule);
}
header.site .mark { color:var(--ink);font-weight:800;font-size:20px;letter-spacing:.06em;text-decoration:none; }
header.site .mark b { color:var(--accent); }
/* Five entries no longer fit one line on a phone, so the nav wraps and stays
   right-aligned against the wordmark rather than pushing the header wider. */
nav.docnav { text-align:right; }
nav.docnav a { margin-left:18px;font-size:14px;color:var(--muted);text-decoration:none;white-space:nowrap; }
nav.docnav a:hover,nav.docnav a:focus-visible { color:var(--accent); }
h1 { font-size:30px;line-height:1.2;margin:0 0 6px; }
.updated { color:var(--muted);font-size:14px;margin:0 0 26px; }
/* Clause headings carry ids so the FAQ can cite one directly. scroll-margin
   keeps the jumped-to heading off the very top edge, where it reads as if the
   page merely failed to scroll. */
h2 { font-size:20px;margin:38px 0 10px;line-height:1.3;scroll-margin-top:20px; }
h3 { font-size:16px;margin:22px 0 6px;scroll-margin-top:20px; }
:target { animation:clauseFlash 2.4s ease-out; }
@keyframes clauseFlash { 0%,55% { background:#fdeaec; } 100% { background:transparent; } }
@media (prefers-reduced-motion:reduce) { :target { animation:none; } }
p,li { color:var(--soft); }
ul { padding-left:20px; }
a { color:var(--accent); }
.tldr { background:#faf7f7;border:1px solid var(--rule);border-radius:12px;padding:16px 20px;margin:22px 0; }
.tldr strong { display:block;margin-bottom:6px; }
.tldr ul { margin:6px 0 0; }
table { border-collapse:collapse;width:100%;margin:16px 0;font-size:14px; }
th,td { border:1px solid var(--rule);padding:9px 12px;text-align:left;vertical-align:top; }
th { background:var(--chip);font-weight:600; }
.callout { border-left:3px solid var(--accent);background:#fcf6f6;padding:12px 16px;margin:18px 0;border-radius:0 8px 8px 0; }
.legal-footer { margin-top:56px;padding-top:18px;border-top:1px solid var(--rule);color:var(--muted);font-size:13px; }
@media (max-width:620px) {
  .wrap { padding:30px 18px 70px; }
  h1 { font-size:27px; }
  table { display:block;overflow-x:auto; }
  header.site { align-items:flex-start; }
}
