/* ------------------------------------------------------------------
   Readabler for Chrome — legal pages (privacy policy, terms, cookies)
   Loaded in addition to style.css; uses the same tokens and the same
   `html.dark` convention. Kept in its own file so the immutable cache
   on style.css is not disturbed by legal copy edits.
   ------------------------------------------------------------------ */

/* Page head ------------------------------------------------------- */
.legal-hero{text-align:center;padding:64px 24px 12px}
.legal-hero h1{font-size:44px;max-width:720px}
.legal-hero .sub{margin-bottom:20px}
.legal-meta{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;
  font-size:13px;color:var(--gray)}
.legal-meta .pill{background:var(--surface);box-shadow:var(--shadow);border-radius:999px;padding:7px 15px;
  font-weight:700;color:var(--blue-ink)}

/* Layout: sticky contents + article --------------------------------- */
.legal-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:44px;
  align-items:start;padding:34px 0 10px}

.toc{position:sticky;top:92px;background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r);box-shadow:var(--shadow);padding:20px}
.toc h2{font-size:12.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink);margin-bottom:12px}
.toc ol{list-style:none;counter-reset:toc;display:flex;flex-direction:column;gap:2px}
.toc li{counter-increment:toc}
.toc a{display:flex;gap:9px;padding:6px 8px;border-radius:9px;font-size:13.5px;line-height:1.35;
  color:var(--gray);text-decoration:none}
.toc a::before{content:counter(toc);font-weight:900;font-size:11.5px;color:var(--blue);
  min-width:14px;padding-top:2px}
.toc a:hover{background:var(--blue-15);color:var(--blue-ink)}

/* Article ----------------------------------------------------------- */
.legal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);
  box-shadow:var(--shadow);padding:38px 42px 42px}
.legal > section{padding:0;scroll-margin-top:96px}
.legal > section + section{margin-top:34px;padding-top:34px;border-top:1px solid var(--border-soft)}
.legal h2{font-size:23px;font-weight:900;letter-spacing:-.02em;margin-bottom:12px;display:flex;gap:12px}
.legal h2 .num{color:var(--blue);font-size:15px;font-weight:900;padding-top:6px;flex:none}
.legal h3{font-size:16px;font-weight:700;margin:22px 0 8px}
.legal p{font-size:15.5px;color:var(--gray);margin-bottom:12px}
.legal p:last-child,.legal ul:last-child,.legal table:last-child{margin-bottom:0}
.legal a{color:var(--blue-ink);text-decoration:underline;text-underline-offset:2px}
.legal a:hover{color:var(--blue)}
.legal strong{color:var(--ink);font-weight:700}
.legal ul{list-style:none;margin:0 0 14px;display:flex;flex-direction:column;gap:9px}
.legal ul li{position:relative;padding-left:22px;font-size:15.5px;color:var(--gray)}
.legal ul li::before{content:"";position:absolute;left:4px;top:9px;width:7px;height:7px;border-radius:50%;
  background:var(--blue);opacity:.5}
.legal ul li strong{color:var(--ink)}

/* "In short" callout at the top ------------------------------------- */
.legal-tldr{background:var(--blue-15);border-radius:16px;padding:22px 24px;margin-bottom:8px}
.legal-tldr .tldr-title{display:block;margin:0 0 10px;font-size:14px;font-weight:900;text-transform:uppercase;
  letter-spacing:.1em;color:var(--blue-ink)}
.legal-tldr ul li{color:var(--ink)}
.legal-tldr ul li::before{background:var(--green);opacity:1}
.legal-tldr ul:last-child{margin-bottom:0}

/* Permission / data tables ------------------------------------------ */
.legal-table-wrap{overflow-x:auto;margin-bottom:14px}
.legal table{border-collapse:collapse;width:100%;min-width:520px;font-size:14.5px}
.legal th,.legal td{text-align:left;vertical-align:top;padding:11px 14px;border-bottom:1px solid var(--border-soft)}
.legal thead th{font-size:11.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink);
  border-bottom:1px solid var(--border)}
.legal tbody th{font-weight:700;color:var(--ink);white-space:nowrap}
.legal tbody td{color:var(--gray)}
.legal tbody tr:last-child th,.legal tbody tr:last-child td{border-bottom:none}
.legal code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;
  background:var(--blue-15);color:var(--blue-ink);border-radius:5px;padding:1px 6px}

/* Contact card ------------------------------------------------------ */
.legal-contact{display:flex;flex-wrap:wrap;align-items:center;gap:14px;justify-content:space-between;
  background:var(--slab);color:#fff;border:1px solid var(--slab-border);border-radius:16px;padding:22px 24px;margin-top:16px}
.legal-contact p{color:rgba(255,255,255,.72);margin:0;max-width:520px}
.legal-contact strong{color:#fff}

.legal-back{display:inline-flex;align-items:center;gap:8px;margin:26px 0 0;font-size:14px;font-weight:700;
  color:var(--blue-ink);text-decoration:none}
.legal-back:hover{color:var(--blue)}
.legal-back svg{width:16px;height:16px}

/* Responsive -------------------------------------------------------- */
@media(max-width:1000px){
  .legal-layout{grid-template-columns:1fr;gap:22px;padding-top:24px}
  .toc{position:static}
  .toc ol{display:grid;grid-template-columns:1fr 1fr;gap:2px 14px}
  .legal-hero h1{font-size:34px}
  .legal{padding:28px 24px 32px}
}
@media(max-width:620px){
  .legal-hero{padding:44px 24px 6px}
  .legal-hero h1{font-size:28px}
  .toc ol{grid-template-columns:1fr}
  .legal h2{font-size:20px}
  .legal p,.legal ul li{font-size:15px}
}
