/* Legal layouts use existing type, theme, navbar and grid tokens. */
.legal-main{padding-top:64px;padding-bottom:96px}
.legal-back{display:inline-flex;align-items:center;gap:8px;font-size:12px;line-height:16px;color:var(--muted);margin-bottom:32px}.legal-back:hover{color:var(--ink)}
.legal-heading{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end;margin-bottom:64px}
.legal-heading h1{grid-column:1/10;font-size:var(--type-h3);line-height:1;letter-spacing:-.04em;font-weight:var(--weight-emphasis);margin:0}
.legal-heading p{grid-column:10/13;margin:0;color:var(--muted);font-size:12px;line-height:20px}
.legal-layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}.legal-article{grid-column:1/8;min-width:0}
.legal-note{font-size:12px;line-height:20px;color:var(--muted);padding-bottom:24px;margin:0 0 32px;border-bottom:1px solid var(--line)}
.legal-article section{margin-bottom:32px;scroll-margin-top:96px}.legal-article section:last-child{margin-bottom:0}
.legal-article h2{font-size:20px;line-height:24px;font-weight:var(--weight-emphasis);margin:0 0 12px;letter-spacing:-.015em}
.legal-article p{font-size:16px;line-height:24px;margin:0;color:var(--muted)}
.legal-aside{grid-column:10/13}.legal-toc{position:sticky;top:112px;display:grid;gap:16px;align-items:start;border-left:1px solid var(--line);padding-left:24px}.legal-toc span{font-size:12px;line-height:16px;color:var(--muted);margin-bottom:8px}.legal-toc a{font-size:12px;line-height:16px;color:var(--muted)}.legal-toc a:hover{color:var(--ink)}
.legal-index .legal-heading{margin-bottom:96px}.legal-index .legal-heading h1{grid-column:1/8}.legal-index .legal-heading p{font-size:20px;line-height:28px;grid-column:9/13}
.legal-index{min-height:660px}.legal-index h2{margin-bottom:24px}.legal-document-link{display:flex;align-items:center;gap:16px;padding:24px 16px;border-bottom:1px solid var(--line);border-radius:12px;color:var(--ink)}.legal-document-link:hover{background:rgba(165,165,165,.1)}.legal-document-link strong{display:block;font-size:16px;line-height:24px;font-weight:var(--weight-emphasis)}.legal-document-link small{display:block;font-size:12px;line-height:16px;margin-top:8px;color:var(--muted)}.legal-document-link svg{width:32px;height:40px;flex-shrink:0;color:var(--muted)}.legal-link-arrow{margin-left:auto;color:var(--muted)}
/* Account action retains the current Umbra blue on document pages. */
.legal-main ~ dialog h2{font-size:36px;line-height:1}
body:has(.legal-main) .nav-cta-primary{background:#0100ff;color:#fff}

/* Privacy reference: inset document, full header rule, introduction then numbered topics. */
@media(min-width:901px){
 .privacy-document{max-width:1040px;padding-top:80px}
 .privacy-document .legal-back{margin-bottom:24px}
 .privacy-document .legal-heading{padding-bottom:64px;border-bottom:1px solid var(--line);margin-bottom:64px}
 .privacy-document .legal-heading h1{grid-column:1/9}
 .privacy-document .legal-heading>p{grid-column:9/13;font-size:16px;line-height:24px;justify-self:end;white-space:nowrap}
 .privacy-document .legal-article{grid-column:1/9}
 .privacy-document .legal-aside{grid-column:10/13}
 .privacy-document .legal-note{border:0;padding:0;margin-bottom:24px}
 .privacy-intro{margin-bottom:48px}.privacy-intro p+p{margin-top:24px}
 .privacy-document .legal-article section{margin-bottom:40px}
 body:has(.privacy-document){background-image:none}
 .legal-toc:has(.legal-toc-items){padding-left:0;border-left:0;gap:16px}
 .legal-toc:has(.legal-toc-items)>span{padding-left:18px;margin:0}
 .legal-toc-scroll{max-height:calc(100dvh - 192px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
 .legal-toc-items{position:relative;display:grid;gap:16px;padding:2px 8px 8px 18px}
 .legal-toc-items a{display:block;line-height:18px;min-width:0}
 .legal-toc-items a[aria-current="location"]{color:#0100ff}
 [data-theme="dark"] .legal-toc-items a[aria-current="location"]{color:#e4e4e4}
 .legal-progress-ball{position:absolute;left:2px;top:0;width:5px;height:5px;border-radius:50%;background:#0100ff;pointer-events:none;will-change:transform}
 [data-theme="dark"] .legal-progress-ball{background:#e4e4e4}
}
@media(max-width:900px){.legal-progress-ball{display:none}}
@media(prefers-reduced-motion:reduce){.legal-progress-ball{will-change:auto}html:has(.legal-toc-items){scroll-behavior:auto}}

/* Selected text makes room for the marker; outgoing text returns to the common edge. */
@media(min-width:901px){
 .legal-toc-items{padding-left:2px;padding-right:18px}
 .legal-toc:has(.legal-toc-items)>span{padding-left:2px}
 .legal-toc-label{display:block;transform:translateX(0);transition:transform 280ms cubic-bezier(.22,1,.36,1),color 180ms ease}
 .legal-toc-items a[aria-current="location"] .legal-toc-label{transform:translateX(16px)}
 .legal-toc-items.is-instant .legal-toc-label{transition:none}
}
@media(prefers-reduced-motion:reduce){.legal-toc-label{transition:none}}

/* A brief text-only sheen when the active topic changes. No repeating animation. */
@media(min-width:901px){
 .legal-toc-label{width:fit-content;max-width:100%}
 .legal-toc-label.is-shimmering{background-image:linear-gradient(105deg,#0100ff 35%,#7979ff 44%,#e4e4ff 50%,#7979ff 56%,#0100ff 65%);background-size:260% 100%;background-position:100% 0;background-clip:text;-webkit-background-clip:text;color:transparent;animation:legal-label-shimmer 600ms linear both}
 [data-theme="dark"] .legal-toc-label.is-shimmering{background-image:linear-gradient(105deg,#e4e4e4 35%,#fff 47%,#fff 53%,#e4e4e4 65%)}
}
@keyframes legal-label-shimmer{from{background-position:100% 0}to{background-position:0% 0}}
@media(prefers-reduced-motion:reduce){.legal-toc-label.is-shimmering{animation:none;background:none;color:inherit}}
