@font-face { font-family:'HelvBlackExt'; src:url('assets/fonts/HelveticaNeue93BlkExtObl.ttf') format('truetype'); font-weight:900; font-display:swap; }
@font-face { font-family:'Montserrat'; src:url('assets/fonts/Montserrat-Regular_0.ttf') format('truetype'); font-weight:400; font-display:swap; }
@font-face { font-family:'Montserrat'; src:url('assets/fonts/Montserrat-Bold_0.ttf') format('truetype'); font-weight:700; font-display:swap; }

:root {
  --bg:#0B0A0E; --surface:#16131C; --line:#2B2437; --ink:#F2F0F6; --muted:#A79FB6;
  --purple:#4C2D78; --purple-bright:#8B67C9;
}
* { box-sizing:border-box; margin:0; }
html { scroll-behavior:smooth; }
body { background:var(--bg); color:var(--ink); font-family:'Montserrat','Segoe UI',sans-serif; line-height:1.7; font-size:.95rem; }

.legal { max-width:820px; margin:0 auto; padding:34px 22px 90px; }
.legal .top { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:34px; }
.legal .top img { height:26px; }
.legal .volver { color:var(--muted); text-decoration:none; font-size:.82rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.legal .volver:hover { color:var(--purple-bright); }

.legal h1 { font-family:'HelvBlackExt','Arial Black',sans-serif; text-transform:uppercase; font-size:1.7rem; line-height:1.25; margin-bottom:8px; }
.legal .version { color:var(--muted); font-size:.8rem; margin-bottom:26px; }
.legal h2 { font-size:1.05rem; color:var(--purple-bright); margin:34px 0 10px; letter-spacing:.02em; }
.legal p { color:#D9D5E2; margin-bottom:12px; }
.legal ul, .legal ol { color:#D9D5E2; margin:0 0 14px 22px; }
.legal li { margin-bottom:6px; }
.legal a { color:var(--purple-bright); }
.legal strong { color:var(--ink); }

.legal .aviso { background:rgba(76,45,120,.22); border:1px solid rgba(139,103,201,.4); border-radius:12px; padding:14px 18px; margin:16px 0; color:#E4DDF2; font-size:.9rem; }
.legal .ficha { background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:16px 20px; margin:14px 0 20px; }
.legal .ficha p { margin-bottom:4px; }

.legal .tabla-wrap { overflow-x:auto; margin:12px 0 18px; }
.legal table { width:100%; border-collapse:collapse; font-size:.85rem; min-width:560px; }
.legal th, .legal td { text-align:left; vertical-align:top; padding:10px 12px; border-bottom:1px solid var(--line); color:#D9D5E2; }
.legal th { color:var(--ink); font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; background:var(--surface); }
.legal code { background:var(--surface); border:1px solid var(--line); border-radius:6px; padding:1px 6px; font-size:.82rem; }

.legal .pie { margin-top:46px; padding-top:22px; border-top:1px solid var(--line); color:var(--muted); font-size:.82rem; display:flex; gap:18px; flex-wrap:wrap; }
.legal .pie a { color:var(--muted); }
.legal .pie a:hover { color:var(--purple-bright); }
