/* Shared styles for landing (/) and about (/about) pages */
:root {
  --bg:#09090b; --surface:#18181b; --border:#27272a; --text:#fafafa;
  --muted:#71717a; --accent:#3b82f6; --fraud:#ef4444; --ok:#22c55e;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}
* { box-sizing:border-box; margin:0; padding:0; }
body {
  font-family:var(--mono); background:var(--bg); color:var(--text);
  min-height:100dvh; line-height:1.6;
  background-image:radial-gradient(circle at 50% 0%, #14141a 0%, var(--bg) 55%);
}
.wrap { max-width:900px; margin:0 auto; padding:80px 24px 48px; }

/* status pill */
.status { display:inline-flex; align-items:center; gap:8px; font-size:11px;
  letter-spacing:.14em; color:var(--muted); text-transform:uppercase; margin-bottom:28px; }
.dot { width:7px; height:7px; border-radius:50%; background:var(--ok); animation:pulse 1.8s infinite; }
@keyframes pulse { 0%{box-shadow:0 0 0 0 rgba(34,197,94,.5)} 70%{box-shadow:0 0 0 8px rgba(34,197,94,0)} 100%{box-shadow:0 0 0 0 rgba(34,197,94,0)} }

/* typography */
h1 { font-size:clamp(32px,6vw,52px); font-weight:700; letter-spacing:-.02em; line-height:1.1; }
h1 .hl { color:var(--accent); }
.tagline { font-size:16px; color:var(--muted); margin-top:18px; max-width:620px; }
h2 { font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent);
  margin:44px 0 14px; font-weight:700; }
p { color:#d4d4d8; margin-bottom:14px; }
a.inline { color:var(--accent); text-decoration:none; border-bottom:1px dotted var(--accent); }

/* buttons */
.cta { display:flex; flex-wrap:wrap; gap:12px; margin-top:36px; }
.btn { display:inline-flex; align-items:center; gap:8px; padding:12px 20px;
  font-family:var(--mono); font-size:13px; font-weight:500; border-radius:8px;
  text-decoration:none; border:1px solid var(--border); transition:.15s; }
.btn-primary { background:var(--accent); color:#fff; border-color:var(--accent); }
.btn-primary:hover { filter:brightness(1.1); transform:translateY(-1px); }
.btn-ghost { background:var(--surface); color:var(--text); }
.btn-ghost:hover { border-color:var(--accent); color:var(--accent); }

/* chips */
.chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:44px; }
.chip { font-size:11px; padding:5px 11px; border:1px solid var(--border);
  border-radius:999px; color:var(--muted); background:var(--surface); }

/* pipeline box */
.flow { margin-top:52px; padding:24px; background:var(--surface);
  border:1px solid var(--border); border-radius:12px; overflow-x:auto; }
.flow-label { font-size:9px; letter-spacing:.16em; color:var(--muted);
  text-transform:uppercase; margin-bottom:16px; }
.pipe { display:flex; align-items:center; gap:10px; font-size:12px; white-space:nowrap; }
.node { padding:8px 12px; border:1px solid var(--border); border-radius:6px; background:var(--bg); color:var(--text); }
.arrow { color:var(--accent); font-weight:700; }

/* about: definition rows + table */
.rows { border:1px solid var(--border); border-radius:12px; overflow:hidden; }
.row { display:grid; grid-template-columns:170px 1fr; gap:16px; padding:14px 18px; border-bottom:1px solid var(--border); font-size:13px; }
.row:last-child { border-bottom:none; }
.row .k { color:var(--muted); }
.row .v { color:#d4d4d8; }
code { font-family:var(--mono); background:#111114; border:1px solid var(--border);
  padding:1px 6px; border-radius:4px; font-size:.9em; color:#e4e4e7; }

/* footer */
footer { margin-top:56px; padding-top:24px; border-top:1px solid var(--border);
  font-size:11px; color:var(--muted); display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; }
footer a { color:var(--muted); text-decoration:none; border-bottom:1px dotted var(--muted); }
footer a:hover { color:var(--accent); border-color:var(--accent); }
