/* Legal document pages (/privacy, /terms-of-use). Tokens come from styles.css. */
.doc{max-width:980px;padding-top:124px;padding-bottom:64px}
.doc-title{font-size:clamp(34px,5vw,56px);font-weight:700;letter-spacing:-.03em;line-height:1.05}
.doc-meta{margin-top:14px;min-height:24px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px;font-size:15px;color:var(--fg-3)}
.doc-open{color:var(--fg);font-weight:500;text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:4px;transition:text-decoration-color .2s}
.doc-open:hover,.doc-open:focus-visible{text-decoration-color:#fff}
.doc-frame{position:relative;margin-top:28px;min-height:min(70vh,720px);padding:clamp(8px,2vw,20px);border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
.doc-pages{display:flex;flex-direction:column;gap:clamp(8px,1.4vw,16px)}
.doc-pages canvas{display:block;width:100%;height:auto;background:#fff;border-radius:6px;box-shadow:0 10px 30px -12px rgba(0,0,0,.7)}
.doc-pages iframe{display:block;width:100%;height:min(80vh,1100px);border:0;border-radius:6px;background:#fff}
.doc-status{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;text-align:center;color:var(--fg-2)}
.legal-page[data-state="loading"] .doc-status,.legal-page[data-state="error"] .doc-status{display:flex}
.doc-status p{max-width:36ch}
#docRetry{display:none}
.legal-page[data-state="error"] #docRetry{display:inline-flex}
.spin{width:36px;height:36px;border-radius:50%;border:3px solid var(--line-2);border-top-color:#fff;animation:docspin .9s linear infinite}
.legal-page[data-state="error"] .spin{display:none}
@keyframes docspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation-duration:2.4s}}
.doc-noscript{margin-top:16px;color:var(--fg-2)}
.legal-page footer{padding:28px 0 36px}
.legal-page footer .legal{margin-top:0}
@media (max-width:600px){
  .doc{padding-top:100px;padding-bottom:40px}
  .doc-frame{margin-top:20px;padding:6px;border-radius:var(--r-sm)}
  .doc-pages{gap:6px}
  .doc-pages canvas{border-radius:4px}
  .legal-page .nav .btn-sm{height:40px;padding:0 14px;font-size:14px}
}
