/* Shared by privacy, terms, open (/r, /invite), unsubscribe and 404. Tokens from rovelle-frontend spec/02 §1. */
:root {
  --cream: #F6F1E9;
  --ink: #1C1917;
  --muted: #57534E;
  --dark: #171412;
  --on-dark: #EDE7DB;
  --amber: #876223;
  --line: #E4DCCD;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--cream); color: var(--ink); font: 16px/1.65 'Inter', ui-sans-serif, system-ui, sans-serif; }
header { background: var(--dark); padding: 18px 16px; }
header a { color: var(--on-dark); font: 500 22px/1 'Fraunces', Georgia, serif; text-decoration: none; }
main { max-width: 680px; margin: 0 auto; padding: 40px 16px 64px; }
h1 { font: 400 clamp(32px, 6vw, 44px)/1.15 'Fraunces', Georgia, serif; margin: 0 0 8px; }
h2 { font: 500 22px/1.3 'Fraunces', Georgia, serif; margin: 40px 0 8px; }
p, ul { margin: 0 0 14px; }
ul { padding-left: 22px; }
li { margin-bottom: 6px; }
strong { font-weight: 500; } /* only 400 and 500 are loaded */
a { color: var(--amber); text-underline-offset: 3px; }
.meta { color: var(--muted); font-size: 14px; }
.button { display: inline-block; background: var(--ink); color: var(--cream); padding: 14px 22px; border-radius: 999px; font-weight: 500; text-decoration: none; margin: 8px 12px 8px 0; }
button.button { border: 0; cursor: pointer; font: inherit; font-weight: 500; }
button.button:disabled { opacity: .5; cursor: default; }
.button.ghost { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); }
.code { font: 500 20px/1 'IBM Plex Mono', ui-monospace, monospace; letter-spacing: .08em; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 12px 16px; display: inline-block; margin: 4px 0 18px; }
footer { border-top: 1px solid var(--line); max-width: 680px; margin: 0 auto; padding: 20px 16px 40px; font-size: 14px; color: var(--muted); }
footer a { color: var(--muted); margin-right: 16px; }
[hidden] { display: none !important; }
