/* Shared styling for Flux's public legal pages — mirrors the app's design tokens. */
:root {
  --void:#0B0B0C; --card:#161619; --hairline:#2A2A2F;
  --ink:#ECECEE; --mid:#9A9AA1; --low:#63636B; --blue:#0052FF; --yellow:#FFD400;
  --ui-font:"TT Norms Pro","TT Norms Pro Regular","TT Norms",-apple-system,BlinkMacSystemFont,"SF Pro Text",
    "Segoe UI Variable Text","Segoe UI",system-ui,Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif;
}
/* Segoe UI Light is too thin under ClearType — Windows reads at Regular.
   html.win is set by the one-line script in each page's <head>. */
html.win body { font-weight:400; }
html.win h1, html.win h2 { font-weight:300; }
@media (prefers-color-scheme: light) {
  :root { --void:#FAFAFA; --card:#FFFFFF; --hairline:#E8E8EB;
    --ink:#1A1A1D; --mid:#5B5B63; --low:#9A9AA1; }
}
* { box-sizing:border-box; }
html,body { margin:0; }
body {
  background:var(--void); color:var(--ink);
  font-family:var(--ui-font); font-weight:300; font-size:15px; line-height:1.62;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  padding:0 24px 96px;
}
.wrap { max-width:720px; margin:0 auto; }
header { display:flex; align-items:center; gap:10px; padding:30px 0 26px; }
.brand { font-size:16px; font-weight:200; letter-spacing:.18em; }
.brand .f{color:#FFD400}.brand .l{color:#0052FF}.brand .u{color:#00C853}.brand .x{color:#EF4444}
.byline { font-size:10.5px; color:var(--mid); letter-spacing:.05em; }
nav { margin-left:auto; display:flex; gap:18px; font-size:12.5px; }
nav a { color:var(--mid); text-decoration:none; }
nav a:hover, nav a[aria-current] { color:var(--ink); }
h1 { font-size:30px; font-weight:200; letter-spacing:-.015em; line-height:1.2; margin:14px 0 8px; }
.eff { font-size:12.5px; color:var(--low); margin:0 0 30px; }
h2 { font-size:18px; font-weight:200; letter-spacing:-.008em; margin:38px 0 10px; }
h3 { font-size:14px; font-weight:400; margin:22px 0 6px; }
p, li { color:var(--mid); }
strong { color:var(--ink); font-weight:400; }
a { color:var(--blue); }
ul { padding-left:20px; }
li { margin:5px 0; }
hr { border:0; border-top:1px solid var(--hairline); margin:34px 0; }
table { width:100%; border-collapse:collapse; margin:14px 0; font-size:13.5px; }
th, td { text-align:left; padding:9px 10px; border-bottom:1px solid var(--hairline); vertical-align:top; }
th { color:var(--ink); font-weight:400; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
td { color:var(--mid); }
.callout {
  border:1px solid var(--hairline); border-left:2px solid var(--yellow);
  border-radius:8px; background:var(--card); padding:14px 16px; margin:22px 0;
}
.callout p { margin:0; color:var(--ink); font-size:13.5px; }
.todo { color:var(--yellow); font-weight:400; }
footer { margin-top:52px; padding-top:22px; border-top:1px solid var(--hairline);
  font-size:12.5px; color:var(--low); }
footer a { color:var(--mid); text-decoration:none; margin-right:16px; }
footer a:hover { color:var(--ink); }
