:root {
  color-scheme:dark;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:#10091f;
  color:#f8e9df;
}
* { box-sizing:border-box; }
html { min-height:100%; scroll-behavior:smooth; }
body {
  min-height:100%;
  margin:0;
  background:
    radial-gradient(circle at 20% 4%,rgba(213,140,205,.22),transparent 28rem),
    radial-gradient(circle at 90% 48%,rgba(124,98,196,.18),transparent 30rem),
    linear-gradient(180deg,#1d102e,#0e0919 75%);
}
a { color:#f2cde5; }
.legal-shell { width:min(100%,760px); margin:0 auto; padding:calc(18px + env(safe-area-inset-top)) 18px calc(48px + env(safe-area-inset-bottom)); }
.legal-topbar { display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.legal-topbar button { width:44px; height:44px; border:1px solid rgba(244,214,167,.45); border-radius:50%; color:#ffe9c9; background:rgba(22,12,35,.5); font:30px/1 Georgia,serif; cursor:pointer; }
.legal-topbar span,.eyebrow { color:rgba(244,222,211,.62); font-size:10px; font-weight:700; letter-spacing:.22em; }
.legal-topbar h1 { margin:3px 0 0; font:32px/1.05 Georgia,serif; }
.legal-tabs { position:sticky; z-index:2; top:0; display:flex; gap:8px; margin:0 0 16px; padding:8px; border:1px solid rgba(244,214,167,.18); border-radius:999px; background:rgba(16,9,31,.76); backdrop-filter:blur(18px); }
.legal-tabs a { flex:1; padding:10px; border-radius:999px; color:#f8e9df; text-align:center; text-decoration:none; background:rgba(137,93,155,.18); }
.legal-card { margin:0 0 18px; padding:24px; border:1px solid rgba(244,214,167,.22); border-radius:28px; background:linear-gradient(145deg,rgba(79,45,93,.52),rgba(13,9,24,.76)); box-shadow:0 24px 70px rgba(2,0,8,.28); }
.legal-card h2 { margin:7px 0 18px; font:34px/1.05 Georgia,serif; }
.legal-card h3 { margin:22px 0 5px; color:#f7d8b4; font:18px/1.25 Georgia,serif; }
.legal-card p { margin:0; color:rgba(251,237,229,.82); font-size:14px; line-height:1.65; }
.legal-card p + p { margin-top:9px; }
footer { padding:12px; color:rgba(255,237,220,.44); font-size:10px; letter-spacing:.12em; text-align:center; }
@media (max-width:480px) { .legal-shell { padding-inline:12px; } .legal-card { padding:20px; border-radius:22px; } .legal-card h2 { font-size:29px; } }
