/* Astrae — legal pages. Self-contained on purpose: no webfonts, no CDN, no analytics.
   Loading Google Fonts from a privacy policy would open a connection to a third party on
   the very page that promises we don't, which has been litigated in the EU. System stack. */
:root {
  --bg: #F0EBE3; --card: #FAF7F2; --strip: #F5F0E8;
  --text1: #1C1635; --text2: #52497A; --text3: #9E97C0;
  --accent: #6B5CE7; --accent-light: #EDE9FF; --border: #DFC97A;
  --serif: Georgia, "Times New Roman", serif;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root { --bg:#14101F; --card:#1E1830; --strip:#241D3A;
          --text1:#EFEBFA; --text2:#BDB4DC; --text3:#8B82AE;
          --accent:#B5AAF5; --accent-light:#2A2145; }
}
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--text1); font-family:var(--sans);
       font-size:17px; line-height:1.65; -webkit-text-size-adjust:100%; }
.wrap { max-width:46rem; margin:0 auto; padding:2.5rem 1.25rem 4rem; }
header { border-bottom:1px solid var(--strip); padding-bottom:1.5rem; margin-bottom:2rem; }
.brand { font-family:var(--serif); font-size:1.35rem; letter-spacing:.08em;
         text-transform:uppercase; color:var(--accent); text-decoration:none; display:inline-block; }
h1 { font-family:var(--serif); font-size:1.9rem; font-weight:400; line-height:1.25; margin:1.25rem 0 .35rem; }
h2 { font-family:var(--serif); font-size:1.25rem; font-weight:400; margin:2.5rem 0 .75rem;
     padding-top:1.25rem; border-top:1px solid var(--strip); }
h3 { font-size:1rem; font-weight:600; margin:1.5rem 0 .4rem; }
.updated { color:var(--text3); font-size:.9rem; margin:0; }
p, li { color:var(--text2); }
strong { color:var(--text1); font-weight:600; }
a { color:var(--accent); }
ul { padding-left:1.25rem; }
li { margin:.4rem 0; }
.callout { background:var(--card); border-left:3px solid var(--accent);
           padding:1rem 1.15rem; border-radius:6px; margin:1.5rem 0; }
.callout p:first-child { margin-top:0; } .callout p:last-child { margin-bottom:0; }
.tablewrap { overflow-x:auto; margin:1.25rem 0; }
table { border-collapse:collapse; width:100%; min-width:33rem; font-size:.92rem; }
th, td { text-align:left; vertical-align:top; padding:.7rem .8rem; border-bottom:1px solid var(--strip); }
th { color:var(--text1); font-weight:600; background:var(--card); }
td { color:var(--text2); }
code { font-family:ui-monospace, SFMono-Regular, Menlo, monospace; font-size:.88em;
       background:var(--strip); padding:.1em .35em; border-radius:3px; color:var(--text1); }
footer { margin-top:3.5rem; padding-top:1.5rem; border-top:1px solid var(--strip);
         color:var(--text3); font-size:.88rem; }
footer a { margin-right:1rem; }
.lang { float:right; font-size:.85rem; }
