/* SodaClip legal pages (privacy, terms, licenses). Loaded after site.css and landing.css on legal pages only.
   Same paper, grain, header pill and footer as the homepage; adds a long-form reading layout.
   Surfaces stay transparent over the grained page and are drawn with full hairline borders. */
:root{--legal-ink:var(--p-ink);--legal-ink-2:var(--p-ink-2);--legal-line:var(--line-2);--legal-accent-bg:var(--mint);--legal-accent-ink:var(--mint-ink)}

.legal-page .legal-panel{padding:132px var(--pad) clamp(56px,7vw,104px);color:var(--legal-ink)}
.legal-doc{max-width:1160px;margin:0 auto}

/* Title block */
.legal-hero{max-width:820px}
.legal-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 20px;padding:6px 14px;border:1px solid var(--legal-line);border-radius:999px;font:500 11.5px/1.4 var(--mono);letter-spacing:.06em;color:var(--legal-ink-2)}
.legal-hero h1{margin:0;font-size:clamp(40px,5.2vw,72px);font-weight:400;line-height:1.08;letter-spacing:var(--h-track,-.035em)}
html[data-lang="zh"] .legal-hero h1{letter-spacing:-.01em;line-height:1.18}
.legal-meta{margin:18px 0 0;font-size:15px;color:var(--legal-ink-2)}
.legal-summary{margin:32px 0 0;padding:24px 28px;border:1px solid var(--legal-line);border-radius:var(--r-card)}
.legal-summary p{margin:0;font-size:17px;line-height:1.75;color:var(--legal-ink)}
.legal-summary p+p{margin-top:12px}

/* Two-column reading layout: table of contents + body */
.legal-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start;margin-top:clamp(40px,5vw,64px)}
.legal-toc{position:sticky;top:100px;max-height:calc(100vh - 116px);overflow:auto;padding:18px 16px;border:1px solid var(--line);border-radius:var(--r-card)}
.legal-toc h2{margin:0 0 10px;padding:0 8px;font:500 11.5px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--legal-ink-2)}
.legal-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.legal-page .legal-toc a{display:block;padding:5px 10px;border-radius:10px;font-size:14px;line-height:1.4;color:var(--legal-ink);text-decoration:none}
.legal-page .legal-toc a:hover{background:color-mix(in srgb,var(--p-ink) 6%,transparent)}

.legal-body{max-width:40em;font-size:17px;line-height:1.75;color:var(--legal-ink)}
html[data-lang="en"] .legal-body{max-width:39em;line-height:1.7}
.legal-body section{scroll-margin-top:104px}
.legal-body section+section{margin-top:52px}
.legal-body h2{margin:0 0 16px;font-size:clamp(23px,2.2vw,28px);font-weight:600;line-height:1.3;letter-spacing:var(--h-track,-.015em)}
html[data-lang="zh"] .legal-body h2{letter-spacing:0}
.legal-body h3{margin:28px 0 10px;font-size:19px;font-weight:600;line-height:1.4}
.legal-body p{margin:0 0 14px}
.legal-body ul,.legal-body ol{margin:0 0 14px;padding-left:1.25em}
.legal-body li+li{margin-top:8px}
.legal-body li::marker{color:var(--legal-ink-2)}
.legal-page .legal-body a{color:var(--legal-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere}
.legal-body code{padding:2px 6px;border-radius:6px;background:color-mix(in srgb,var(--p-ink) 7%,transparent);font-size:.88em;overflow-wrap:anywhere}
.legal-body strong{font-weight:600}
.legal-note{font-size:15px;color:var(--legal-ink-2)}

/* Definition rows: processors, data categories, data flows. Stack on narrow screens. */
.legal-rows{display:grid;gap:10px;margin:18px 0 18px;padding:0}
.legal-row{margin:0;padding:18px 20px;border:1px solid var(--legal-line);border-radius:16px}
.legal-row dt{margin:0 0 8px;font-size:17px;font-weight:600;line-height:1.45}
.legal-row dd{margin:0;display:grid;grid-template-columns:7.5em minmax(0,1fr);gap:4px 14px;font-size:15.5px;line-height:1.65;color:var(--legal-ink-2)}
html[data-lang="en"] .legal-row dd{grid-template-columns:8.5em minmax(0,1fr)}
.legal-row dd+dd{margin-top:6px}
.legal-row dd>span:first-child{font-weight:600;color:var(--legal-ink)}
.legal-row dd>span:only-child{grid-column:1/-1;font-weight:400;color:var(--legal-ink-2)}

/* Package lists (licenses page) */
.legal-pkg{list-style:none;margin:16px 0 18px;padding:0;display:grid;gap:6px}
.legal-body .legal-pkg li{margin:0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 18px;padding:11px 16px;border:1px solid var(--line);border-radius:12px;font-size:15.5px;line-height:1.55}
.legal-pkg .n{color:var(--legal-ink)}
.legal-pkg .l{color:var(--legal-ink-2);font-weight:500}

/* Clearly marked decision or caveat block */
.legal-callout{margin:18px 0;padding:18px 20px;border:1px solid var(--legal-accent-ink);border-radius:16px;background:var(--legal-accent-bg);color:var(--legal-accent-ink)}
.legal-callout p{margin:0}
.legal-callout p+p{margin-top:8px}
.legal-page .legal-callout a{color:var(--legal-accent-ink)}

/* Footer on legal pages: same as homepage; extra home link pill. */
.legal-page .lp-foot nav a[aria-current="page"]{background:var(--mint);color:var(--mint-ink);border-color:var(--mint-ink)}

@media(max-width:900px){
 .legal-layout{grid-template-columns:minmax(0,1fr);gap:32px}
 .legal-toc{position:static;max-height:none}
 .legal-toc ol{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .legal-page .legal-panel{padding:104px 20px 56px}
 .legal-page .theme-toggle{display:inline-flex;padding:8px 10px}
 .legal-page .theme-toggle [data-theme-label]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .legal-hero h1{font-size:38px}
 .legal-summary{padding:18px 18px}
 .legal-summary p{font-size:16px}
 .legal-toc{padding:16px 12px}
 .legal-toc ol{grid-template-columns:minmax(0,1fr)}
 .legal-body{font-size:16px;line-height:1.75}
 .legal-body section+section{margin-top:40px}
 .legal-row{padding:16px}
 .legal-row dd,html[data-lang="en"] .legal-row dd{grid-template-columns:minmax(0,1fr);gap:0}
 .legal-row dd+dd{margin-top:8px}
}
