/* ══ Shared styling for the legal pages ══
   Lives in static/legal/ so the auto-mount serves it at /legal/style.css.
   The documents themselves stay on no-cache routes: a policy that is cached
   for a month is a policy you cannot correct. */
* { margin:0; padding:0; box-sizing:border-box; }
:root {
  --bg:#080614; --gold:#F4A623; --gold2:#FFD166;
  --txt:#fff; --mut:rgba(255,255,255,.70); --dim:rgba(255,255,255,.42);
  --line:rgba(255,255,255,.10); --glass:rgba(255,255,255,.045);
}
html { scroll-behavior:smooth; scrollbar-color:rgba(244,166,35,.35) transparent; }
body {
  background:var(--bg); color:var(--txt);
  font-family:'Nunito',system-ui,-apple-system,'Segoe UI',sans-serif;
  line-height:1.75; -webkit-font-smoothing:antialiased;
}
a { color:var(--gold); text-decoration:none; }
a:hover { text-decoration:underline; }
a:focus-visible, summary:focus-visible { outline:2px solid var(--gold); outline-offset:3px; border-radius:4px; }

header {
  position:sticky; top:0; z-index:10; background:rgba(8,6,20,.86);
  backdrop-filter:blur(14px); border-bottom:1px solid var(--line);
}
header .in { max-width:860px; margin:0 auto; padding:15px 24px; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
header b { font-size:15.5px; font-weight:900; }
header nav { margin-left:auto; display:flex; gap:16px; font-size:13.5px; }
header nav a { color:var(--mut); font-weight:700; }
header nav a[aria-current="page"] { color:var(--gold); }

main { max-width:860px; margin:0 auto; padding:44px 24px 90px; }
h1 { font-size:clamp(27px,4.6vw,40px); font-weight:900; line-height:1.15; text-wrap:balance; }
.updated { color:var(--dim); font-size:13.5px; margin-top:10px; }
.intro { font-size:16.4px; color:var(--mut); margin-top:20px; text-wrap:pretty; }
h2 {
  font-size:19.5px; font-weight:900; margin:42px 0 13px;
  padding-top:20px; border-top:1px solid var(--line); text-wrap:balance;
}
h2:first-of-type { border-top:none; padding-top:0; }
h3 { font-size:15.6px; font-weight:800; margin:22px 0 8px; color:var(--gold2); }
p { color:var(--mut); margin-bottom:13px; font-size:15.2px; text-wrap:pretty; }
b, strong { color:var(--txt); font-weight:800; }
ul, ol { color:var(--mut); margin:0 0 15px 22px; font-size:15.2px; }
li { margin-bottom:8px; }
li::marker { color:var(--gold); }

/* Table of contents */
.toc { background:var(--glass); border:1px solid var(--line); border-radius:16px; padding:20px 24px; margin:30px 0 8px; }
.toc b { display:block; font-size:12px; letter-spacing:.09em; text-transform:uppercase; color:var(--gold); margin-bottom:11px; }
.toc ol { margin:0 0 0 20px; font-size:14.4px; }
.toc li { margin-bottom:5px; }
.toc a { color:var(--mut); font-weight:700; }

/* A fact worth not burying */
.note { background:rgba(244,166,35,.09); border:1px solid rgba(244,166,35,.30); border-radius:14px; padding:17px 20px; margin:20px 0; }
.note p:last-child { margin-bottom:0; }

/* 🚩 Blanks only a human can fill. Deliberately loud — an unfilled placeholder
   in a published policy is worse than having no policy at all. */
.todo { background:rgba(224,51,90,.12); border:1px solid rgba(224,51,90,.45); border-radius:14px; padding:17px 20px; margin:20px 0; }
.todo b { color:#FF8FA8; }
.todo p:last-child { margin-bottom:0; }

table { width:100%; border-collapse:collapse; margin:16px 0 20px; font-size:14.2px; display:block; overflow-x:auto; }
th, td { text-align:left; padding:11px 13px; border-bottom:1px solid var(--line); vertical-align:top; }
th { color:var(--gold); font-size:11.6px; letter-spacing:.08em; text-transform:uppercase; font-weight:800; white-space:nowrap; }
td { color:var(--mut); }
td:first-child { color:var(--txt); font-weight:700; white-space:nowrap; }

footer { border-top:1px solid var(--line); margin-top:60px; }
footer .in { max-width:860px; margin:0 auto; padding:28px 24px 46px; color:var(--dim); font-size:13.4px; }
footer a { color:var(--mut); font-weight:700; }

@media (max-width:600px) {
  main { padding:32px 19px 70px; }
  header nav { gap:12px; width:100%; margin-left:0; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
