/* /privacy and /terms (legal.ts): long-form reading on top of guide.css (bar, index, footer, tokens).
   Dark by default; light.css + body.light for light; body.light.paper adds the warm paper tokens (as recipes.css). */
.lp-intro { padding: 124px 0 18px; max-width: 860px; }
.lp-intro h1 { margin: 20px 0 14px; }
.lp-upd { font-family: var(--hud); font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--ink3); margin: 0 0 22px; }
.lp-upd b { color: var(--ink2); font-weight: 500; }
.lp-intro .lead { margin-bottom: 22px; }

/* the plain-language summary */
.lp-sum { border: 1px solid color-mix(in srgb, var(--warm) 38%, transparent); border-radius: 16px; padding: 18px 22px 16px; background: color-mix(in srgb, var(--lime) 4%, transparent); max-width: 860px; }
.lp-sum h2 { font-family: var(--hud); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--warm); font-weight: 500; margin: 0 0 10px; }
.lp-sum ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 7px; }
.lp-sum li { position: relative; padding-left: 20px; color: var(--ink2); font-size: 14.5px; line-height: 1.55; }
.lp-sum li::before { content: '/'; position: absolute; left: 2px; top: 0; font-family: var(--hud); color: var(--warm); font-weight: 500; }
.lp-sum b { color: var(--ink); font-weight: 500; }

/* who we are: the one entity block (legal.ts ENTITY) */
.lp-ent { margin: 14px 0 0; max-width: 860px; border: 1px solid var(--ln2); border-radius: 16px; padding: 16px 22px; background: var(--card); }
.lp-ent h2 { font-family: var(--hud); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--ink3); font-weight: 400; margin: 0 0 10px; }
.lp-ent dl { margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, auto)); gap: 10px 28px; justify-content: start; }
.lp-ent dt { font-family: var(--hud); font-size: 9.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--ink3); }
.lp-ent dd { margin: 2px 0 0; color: var(--ink2); font-size: 14px; overflow-wrap: anywhere; }
.lp-ent dd b { color: var(--ink); font-weight: 500; }

/* the text */
.lp .layout { padding-top: 34px; }
.lp main { min-width: 0; max-width: 780px; }
.lp .sec { padding-bottom: 30px; }
.lp-h { display: flex; align-items: baseline; gap: 14px; margin: 26px 0 10px; }
.lp-h i { font-family: var(--hud); font-style: normal; font-size: 11px; letter-spacing: .14em; color: var(--warm); min-width: 20px; }
.lp-h h2 { font-weight: 500; font-size: clamp(22px, 2.2vw, 28px); letter-spacing: -.025em; line-height: 1.15; margin: 0; }
.lp-hash { margin-left: 2px; font-family: var(--hud); font-size: 14px; color: var(--ink3); text-decoration: none; opacity: 0; transition: opacity .15s, color .15s; }
.lp-h:hover .lp-hash, .lp-hash:focus-visible { opacity: 1; } .lp-hash:hover { color: var(--warm); }
.lp main h3 { font-size: 16.5px; font-weight: 500; letter-spacing: -.01em; margin: 22px 0 6px; color: var(--ink); }
.lp main p, .lp main li { color: var(--ink2); font-size: 15.5px; line-height: 1.7; }
.lp main p { margin: 0 0 12px; max-width: 72ch; }
.lp main ul, .lp main ol.lp-ol { margin: 0 0 14px; padding-left: 20px; max-width: 72ch; }
.lp main li { margin: 4px 0; } .lp main li::marker { color: var(--ink3); }
.lp main b, .lp main strong { color: var(--ink); font-weight: 500; }
.lp main a:not(.lp-hash) { color: var(--ink); text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--warm) 70%, transparent); text-underline-offset: 3px; text-decoration-thickness: 1px; overflow-wrap: anywhere; }
.lp main a:not(.lp-hash):hover { text-decoration-color: var(--warm); }
.lp main .note { margin: 6px 0 16px; font-size: 15px; line-height: 1.65; }
.lp-quote { border-left: 2px solid var(--warm); padding: 4px 0 4px 16px; margin: 6px 0 14px; color: var(--ink); font-size: 15.5px; line-height: 1.65; max-width: 72ch; }

/* tables: processors, retention, cookies; they become stacked rows on phones */
.lp .tbl { margin: 6px 0 16px; }
.lp .tbl td { font-size: 14px; line-height: 1.55; }
.lp .tbl td:first-child { white-space: normal; min-width: 130px; }
.lp .tbl code { white-space: nowrap; }

.lp .toc ol { counter-reset: none; }
.lp .toc a { font-size: 13px; padding-top: 5px; padding-bottom: 5px; }
.lp-also { margin: 22px 0 0; font-family: var(--hud); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--ink3); }
.lp-also a { display: block; margin-top: 8px; color: var(--ink2); text-decoration: none; letter-spacing: .12em; } .lp-also a:hover { color: var(--ink); }

@media (max-width: 860px) {
  .lp-intro { padding: 88px 0 8px; }
  .lp-sum { padding: 16px 16px 14px; } .lp-ent { padding: 14px 16px; }
  .lp-ent dl { grid-template-columns: 1fr 1fr; gap: 10px 18px; }
  .lp .layout { padding-top: 18px; }
  .lp .toc ol { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
  .lp .toc a { border-radius: 10px; padding: 6px 10px; font-size: 12.5px; line-height: 1.35; }
  .lp-also { display: none; }
  .lp-hash { opacity: .55; }
  .lp main p, .lp main li { font-size: 15px; }
  .lp .tbl thead { display: none; }
  .lp .tbl, .lp .tbl tbody, .lp .tbl tr, .lp .tbl td { display: block; width: 100%; }
  .lp .tbl tr { border-bottom: 1px solid var(--ln2); padding: 10px 0; }
  .lp .tbl td { border: 0; padding: 2px 0; }
  .lp .tbl td:first-child { color: var(--ink); font-weight: 500; }
  .lp .tbl td[data-k]::before { content: attr(data-k) ' · '; font-family: var(--hud); font-size: 9.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink3); }
}
@media (max-width: 420px) { .lp-ent dl > div:nth-child(2) { grid-column: 1 / -1; grid-row: 2; } .lp .toc a { padding: 6px 8px; gap: 7px; font-size: 12px; } }

/* light + paper */
.light .lp-sum { background: rgba(198,255,61,.12); border-color: rgba(74,138,0,.3); }
.light .lp-sum h2, .light .lp-sum li::before, .light .lp-h i { color: #4a8a00; }
.light .lp-ent { box-shadow: 0 1px 2px rgba(16,19,23,.04), 0 12px 32px -18px rgba(16,19,23,.18); }
.light .lp main a:not(.lp-hash) { text-decoration-color: rgba(74,138,0,.55); }
body.light.paper { --bg: #f4f1ea; --ink: #2a2620; --ink2: #57514a; --ink3: #6a6359; --ln: rgba(72,60,42,.12); --ln2: rgba(72,60,42,.2); --card: rgba(251,249,244,.7); --glass: rgba(251,249,244,.78); --warm: #4a7600; --lime: #4a7600; --dot: rgba(72,60,42,.09); }
body.light.paper .lp-sum { background: rgba(74,118,0,.06); border-color: rgba(74,118,0,.28); }
body.light.paper .lp-sum h2, body.light.paper .lp-sum li::before, body.light.paper .lp-h i, body.light.paper .toc a.on i { color: #4a7600; }
body.light.paper .toc a.on { border-left-color: #4a7600; }

@media print {
  .gbar, .toc, .gfoot nav { display: none; }
  body, body.light { background: #fff; color: #000; }
  .lp-intro { padding-top: 0; } .lp .layout { grid-template-columns: 1fr; }
  .lp main p, .lp main li, .lp .tbl td { color: #000; }
}

/* links in the intro, the summary and the entity block */
.lp-intro .lead a, .lp-sum a, .lp-ent a { color: var(--ink); text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--warm) 70%, transparent); text-underline-offset: 3px; text-decoration-thickness: 1px; }
.light .lp-intro .lead a, .light .lp-sum a, .light .lp-ent a { text-decoration-color: rgba(74,138,0,.55); }

/* Sign in in the bar: the app's primary pill (the Found "✓ Accept" look: lime hairline + tint, solid lime on hover) */
.gbar a.lk.in { border: 1px solid rgba(198,255,61,.32); background: rgba(198,255,61,.06); color: #c6ff3d; }
.gbar a.lk.in:hover, .gbar a.lk.in:focus-visible { background: #c6ff3d; border-color: transparent; color: #0b0d07; outline: 0; }
.light .gbar a.lk.in { border-color: rgba(74,138,0,.36); background: rgba(198,255,61,.16); color: #4a8a00; }
body.light.paper .gbar a.lk.in { border-color: rgba(74,118,0,.34); background: rgba(178,214,76,.17); color: #4a7600; }
.light .gbar a.lk.in:hover, .light .gbar a.lk.in:focus-visible { background: #c6ff3d; border-color: transparent; color: #0b0d07; }
