:root { --ink:#182430; --muted:#5a6b7b; --line:#dfe6ec; --accent:#0b6; --warn:#b45; --bg:#f6f8fa; }
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  color: var(--ink); background: var(--bg); line-height: 1.5; }
.topbar { display:flex; justify-content:space-between; align-items:center; padding:.8rem 1.2rem;
  background:#fff; border-bottom:1px solid var(--line); }
.brand { font-weight:700; text-decoration:none; color:var(--ink); }
nav a { margin-left:1rem; text-decoration:none; color:var(--muted); }
nav a.cta, .btn { background:var(--accent); color:#fff; padding:.45rem .9rem; border-radius:6px; }
main { max-width: 860px; margin: 1.5rem auto; padding: 0 1.2rem; }
footer { max-width:860px; margin:2rem auto; padding:1rem 1.2rem; color:var(--muted); font-size:.85rem;
  border-top:1px solid var(--line); }
.card { background:#fff; border:1px solid var(--line); border-radius:10px; padding:1.2rem; margin:1rem 0; }
.flash { padding:.7rem 1rem; border-radius:8px; margin:.6rem 0; }
.flash.error { background:#fdecef; color:var(--warn); }
.flash.info { background:#eaf6ff; color:#06c; }
label { display:block; margin:.6rem 0 .2rem; font-weight:600; }
input[type=text], input[type=email], input[type=password], input[type=number], select, textarea {
  width:100%; padding:.55rem; border:1px solid var(--line); border-radius:6px; font-size:1rem; }
.btn, button { font-size:1rem; border:none; border-radius:6px; padding:.55rem 1.1rem; cursor:pointer; }
button.primary { background:var(--accent); color:#fff; }
button.link { background:none; color:var(--muted); border:none; cursor:pointer; padding:0; }
form.inline { display:inline; }
.checkboxes label { font-weight:400; display:flex; align-items:center; gap:.5rem; }
.pill { display:inline-block; padding:.15rem .55rem; border-radius:999px; font-size:.78rem; font-weight:600; }
.pill.ok { background:#e5f7ee; color:#0a7; } .pill.blocked { background:#fdecef; color:var(--warn); }
.pill.info { background:#eaf6ff; color:#06c; }
.muted { color:var(--muted); } .big { font-size:1.6rem; font-weight:700; }
table { width:100%; border-collapse:collapse; } td, th { text-align:left; padding:.5rem; border-bottom:1px solid var(--line); }
.hero { text-align:center; padding:2rem 0; }
.hero h1 { font-size:2rem; margin:.3rem 0; } .tagline { color:var(--muted); font-size:1.15rem; }
pre { background:#0d1b26; color:#d7e6f0; padding:.8rem; border-radius:8px; overflow:auto; font-size:.82rem; }
.grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media (max-width:640px){ .grid { grid-template-columns:1fr; } }

/* Long-form legal pages (privacy/terms/cookies) */
.legal { max-width: 760px; margin: 0 auto; line-height: 1.6; }
.legal h1 { margin-bottom: .25rem; }
.legal h2 { margin-top: 1.8rem; font-size: 1.1rem; }
.legal .eyebrow { text-transform: uppercase; letter-spacing: .08em; font-size: .75rem; color: #666; margin-bottom: .25rem; }
.legal ul { padding-left: 1.2rem; }
.legal li { margin: .3rem 0; }
