/* Shared chrome for the standalone legal pages (privacy, terms).
   Same pigments and hard shadows as the landing page. */
  :root {
    --ink:      #14110d;
    --ink-soft: #4a4239;
    --paper:    #f2ece0;
    --paper-2:  #e9e0cd;
    --coral:    #e2603c;
    --ultra:    #2d49ab;
    --viridian: #2e7a58;
    --naples:   #efb63d;
    --mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;
    --sans: "Helvetica Neue", Helvetica, Inter, system-ui, -apple-system, Arial, sans-serif;
  }
  * { box-sizing: border-box; }
  body {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: var(--sans);
    font-size: 17px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
  }
  .wrap { max-width: 760px; margin: 0 auto; padding: 0 24px; }

  header.top {
    border-bottom: 3px solid var(--ink);
    background: var(--paper-2);
    padding: 22px 0;
  }
  .brand { display: flex; align-items: center; gap: 11px; text-decoration: none; color: var(--ink); }
  .brand-mark {
    width: 32px; height: 32px; border-radius: 8px;
    background: var(--naples); border: 3px solid var(--ink);
    display: grid; place-items: center;
    box-shadow: 4px 4px 0 var(--ink);
  }
  .brand-name { font-weight: 800; letter-spacing: -0.02em; font-size: 20px; }

  main { padding: 52px 0 80px; }
  h1 { font-size: 40px; line-height: 1.1; letter-spacing: -0.03em; margin: 0 0 10px; }
  .updated {
    font-family: var(--mono); font-size: 13px; color: var(--ink-soft);
    margin: 0 0 34px; text-transform: uppercase; letter-spacing: 0.06em;
  }
  h2 {
    font-size: 22px; letter-spacing: -0.02em; margin: 42px 0 12px;
    padding-top: 22px; border-top: 2px solid rgba(20,17,13,0.16);
  }
  h3 { font-size: 17px; margin: 26px 0 8px; }
  p, li { color: var(--ink-soft); }
  p { margin: 0 0 14px; }
  ul { margin: 0 0 16px; padding-left: 22px; }
  li { margin-bottom: 8px; }
  strong { color: var(--ink); font-weight: 700; }
  a { color: var(--ultra); text-decoration-thickness: 2px; text-underline-offset: 2px; }
  code {
    font-family: var(--mono); font-size: 0.88em;
    background: var(--paper-2); border: 1px solid rgba(20,17,13,0.18);
    border-radius: 4px; padding: 1px 5px; color: var(--ink);
  }

  .callout {
    background: #fffcf5;
    border: 3px solid var(--ink);
    border-radius: 12px;
    box-shadow: 6px 6px 0 var(--ink);
    padding: 20px 22px;
    margin: 26px 0 32px;
  }
  .callout p:last-child { margin-bottom: 0; }
  .callout.warn { border-color: var(--coral); box-shadow: 6px 6px 0 var(--coral); }

  table { border-collapse: collapse; width: 100%; margin: 16px 0 22px; font-size: 15px; }
  th, td { text-align: left; padding: 11px 12px; border-bottom: 2px solid rgba(20,17,13,0.14); vertical-align: top; }
  th { font-size: 13px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink); border-bottom-color: var(--ink); }
  td:first-child { font-family: var(--mono); font-size: 13.5px; color: var(--ink); white-space: nowrap; }
  td { color: var(--ink-soft); }

  footer.bot {
    border-top: 3px solid var(--ink);
    background: var(--ink); color: var(--paper);
    padding: 30px 0; font-size: 15px;
  }
  footer.bot a { color: var(--naples); }
  footer.bot p { color: rgba(242,236,224,0.78); margin: 0 0 8px; }

  @media (max-width: 640px) {
    h1 { font-size: 31px; }
    body { font-size: 16px; }
    td:first-child { white-space: normal; }
  }
