/* ==========================================================================
   privacy.html — a quiet, readable legal page with a sticky contents list
   Loaded after seidr-v2.css; only page-specific rules live here.
   ========================================================================== */

.legal-section { padding-top: clamp(56px, 7vw, 96px); }
/* contents column wide enough that "Hand Control (the Windows app)" and "Backup tooling and Google Drive" stay on one line */
.legal { display: grid; grid-template-columns: minmax(200px, 290px) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: start; }

/* table of contents */
.toc { position: sticky; top: 104px; display: grid; gap: 14px; padding-left: 18px; border-left: 1px solid var(--line-2); }
.toc .label { color: var(--sap); }
.toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; counter-reset: toc; }
.toc li { counter-increment: toc; }
.toc a {
  display: grid; grid-template-columns: 26px 1fr; gap: 4px; padding: 7px 0; font-size: .92rem; line-height: 1.35;
  color: var(--mist); text-decoration: none; transition: color .25s;
}
.toc a::before { content: counter(toc, decimal-leading-zero); font-family: var(--f-mono); font-size: .75rem; color: var(--mist-2); padding-top: 3px; transition: color .25s; }
.toc a:hover, .toc a:focus-visible { color: var(--bone); }
.toc a:hover::before { color: var(--sap); }
.toc a[aria-current="location"] { color: var(--bone); }
.toc a[aria-current="location"]::before { color: var(--sap); }

/* the policy text */
.policy { max-width: 70ch; font-size: 1.04rem; line-height: 1.75; }
.policy .updated { font-family: var(--f-mono); font-size: .75rem; letter-spacing: .08em; color: var(--mist-2); }
.policy .updated em { font-style: normal; }
.policy h2 { scroll-margin-top: 100px; padding-top: 1.4em; border-top: 1px solid var(--line); font-size: clamp(1.7rem, 2.4vw, 2.2rem); }
.policy h2:target { color: var(--sap); }
.policy li strong { color: var(--bone); }
.policy code {
  font-family: var(--f-mono); font-size: .84em; color: var(--aurora); background: rgba(126, 232, 201, .07);
  border: 1px solid rgba(126, 232, 201, .16); border-radius: 6px; padding: .08em .4em; overflow-wrap: anywhere;
}
.policy ul { padding-left: 1.3em; }
.policy li + li { margin-top: .8em; }

@media (max-width: 900px) {
  .legal { grid-template-columns: 1fr; gap: 36px; }
  .toc { position: static; padding: 20px; border: 1px solid var(--line); border-radius: var(--r-m); background: var(--night-2); }
}
