/* legal.css — páginas de Privacidad y Términos. Generadas por scripts/build-legal.mjs. */
:root { --bg: #05060f; --plate: #0c0f1e; --ink: #f4f6ff; --soft: rgba(226,232,255,.82); --mut: #9aa4cf; --acc: #8fb0ff; --edge: rgba(143,176,255,.2); --gutter: clamp(16px, 4vw, 36px); }
* { box-sizing: border-box; }
html { background: var(--bg); -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--soft); font: 400 1rem/1.7 "Onest", system-ui, -apple-system, "Segoe UI", sans-serif; }
a { color: var(--acc); text-underline-offset: 3px; }
a:hover { color: #fff; }
a:focus-visible { outline: 2px solid var(--acc); outline-offset: 3px; border-radius: 4px; }
.lg-top, .lg-main, .lg-foot { width: min(100%, 860px); margin-inline: auto; padding-inline: var(--gutter); }
.lg-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 20px; }
.lg-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); font: 600 1.25rem "General Sans", system-ui, sans-serif; text-decoration: none; }
.lg-brand img { width: 40px; height: 40px; object-fit: contain; }
.lg-lang { font: 500 .92rem "General Sans", system-ui, sans-serif; }
.lg-main { padding-block: 24px 56px; }
h1, h2, h3 { color: var(--ink); font-family: "General Sans", system-ui, sans-serif; line-height: 1.2; text-wrap: balance; }
h1 { margin: 0 0 16px; font-size: clamp(2rem, 6vw, 2.9rem); font-weight: 600; }
h2 { margin: 44px 0 12px; font-size: 1.4rem; font-weight: 600; scroll-margin-top: 16px; }
h3 { margin: 28px 0 8px; font-size: 1.1rem; font-weight: 600; }
p { margin: 0 0 14px; }
strong { color: var(--ink); font-weight: 600; }
code { color: var(--ink); font: .88em ui-monospace, Consolas, monospace; white-space: nowrap; }
ul { margin: 0 0 14px; padding-left: 22px; }
li { margin-bottom: 7px; }
.lg-meta { color: var(--mut); font-size: .92rem; }
.lg-alpha { margin: 0 0 7px; padding-left: 26px; text-indent: -26px; }
.lg-table { margin: 14px 0 20px; overflow-x: auto; border: 1px solid var(--edge); border-radius: 10px; background: var(--plate); }
table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: .9rem; line-height: 1.5; }
th, td { padding: 11px 13px; border-bottom: 1px solid var(--edge); text-align: left; vertical-align: top; }
th { color: var(--ink); font-weight: 600; }
tr:last-child td { border-bottom: 0; }
.lg-foot { display: flex; flex-wrap: wrap; gap: 8px 22px; padding-block: 24px 36px; border-top: 1px solid var(--edge); color: var(--mut); font-size: .9rem; }
@media print { html, body { background: #fff; color: #000; } h1, h2, h3, strong, code, th { color: #000; } .lg-table { border-color: #999; background: none; } }
