/* ============================================================================
   X-Relay — shared design system ("Radar")
   One stylesheet for every non-homepage page so the whole site reads as one
   product. Pages load Sora + JetBrains Mono in their <head> and link this file;
   page-specific tweaks stay in a small inline <style> after it.
   ============================================================================ */

:root{
  --bg:#000000;
  --bg-1:#060607;
  --bg-2:#0c0c0e;
  --panel:rgba(255,255,255,0.025);
  --panel-2:rgba(255,255,255,0.04);
  --line:rgba(255,255,255,0.07);
  --line-2:rgba(255,255,255,0.12);
  --fg:#f4f4f5;
  --fg-2:#9d9da3;
  --fg-3:#5f5f66;
  --fg-4:#3a3a40;
  --amber:oklch(0.83 0.145 78);
  --amber-soft:oklch(0.83 0.145 78 / 0.16);
  --amber-faint:oklch(0.83 0.145 78 / 0.06);
  --green:oklch(0.8 0.13 150);
  --red:oklch(0.72 0.17 28);
  --sans:'Sora',ui-sans-serif,system-ui,-apple-system,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,'SFMono-Regular',monospace;
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--fg);
  font:16px/1.65 var(--sans);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
/* ambient grain — same subtle texture as the homepage */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:200;opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.015) 1px,transparent 1px);
  background-size:3px 3px;mix-blend-mode:screen;
}
a{color:var(--amber);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
h1,h2,h3,h4{font-weight:400;letter-spacing:-0.025em;margin:0}
::selection{background:var(--amber);color:#000}

/* ───────── top nav ───────── */
.site-nav{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:16px clamp(18px,4vw,44px);
  border-bottom:1px solid var(--line);
  background:rgba(0,0,0,.72);backdrop-filter:blur(14px) saturate(1.2);
  position:sticky;top:0;z-index:100;
}
.site-nav .brand{display:flex;align-items:center;gap:11px;font-family:var(--mono);font-weight:500;font-size:14px;letter-spacing:.02em;color:var(--fg)}
.site-nav .brand:hover{text-decoration:none}
.site-nav .brand .mk{
  width:24px;height:24px;border:1px solid var(--line-2);border-radius:7px;
  display:grid;place-items:center;font-size:13px;color:var(--fg);
}
.site-nav .navlinks{display:flex;gap:26px;font-size:14px;color:var(--fg-2)}
.site-nav .navlinks a{color:var(--fg-2);transition:color .15s}
.site-nav .navlinks a:hover{color:var(--fg);text-decoration:none}
.site-nav .nav-cta{
  display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
  padding:9px 16px;border-radius:10px;font-size:13.5px;font-weight:500;
  background:var(--amber);color:#0a0a0a;border:1px solid var(--amber);
  transition:background .18s,transform .18s;
}
.site-nav .nav-cta:hover{background:oklch(0.88 0.15 80);transform:translateY(-1px);text-decoration:none}
@media(max-width:720px){.site-nav .navlinks{display:none}}

/* ───────── layout + prose ───────── */
main{max-width:860px;margin:0 auto;padding:clamp(40px,6vw,72px) 22px}
main.wide{max-width:1180px}
.kicker{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--amber);margin-bottom:18px;display:flex;align-items:center;gap:10px;
}
.kicker::before{content:"";width:22px;height:1px;background:var(--amber)}
.breadcrumb{font-family:var(--mono);font-size:11.5px;color:var(--fg-4);letter-spacing:.03em;margin-bottom:26px}
.breadcrumb a{color:var(--fg-3)}
h1{font-weight:300;font-size:clamp(32px,4.6vw,54px);line-height:1.05;letter-spacing:-0.03em;margin:0 0 22px;text-wrap:balance}
h1 em{font-style:normal;color:var(--amber);font-weight:400}
main h2{font-size:clamp(22px,2.6vw,30px);font-weight:300;letter-spacing:-.02em;margin:52px 0 14px;text-wrap:balance}
main h3{font-size:19px;font-weight:500;letter-spacing:-.015em;margin:28px 0 8px}
p,li{color:var(--fg-2)}
main p{line-height:1.7;margin:0 0 16px}
.lead{font-size:clamp(16px,2vw,19px);color:var(--fg-2);line-height:1.6;font-weight:300;text-wrap:pretty}
main ul,main ol{padding-left:22px;line-height:1.7}
main li{margin-bottom:7px}
main strong,main b{color:var(--fg);font-weight:600}
code{font-family:var(--mono);font-size:.88em;background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:1px 6px;color:var(--fg)}
blockquote{margin:18px 0;padding:14px 20px;border-left:2px solid var(--amber);background:var(--amber-faint);border-radius:0 10px 10px 0;color:var(--fg-2)}
hr{border:0;border-top:1px solid var(--line);margin:40px 0}

/* section label (amber dash + caps) — matches the homepage */
.sec-label{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--amber);display:flex;align-items:center;gap:12px;margin:0 0 18px}
.sec-label::before{content:"";width:26px;height:1px;background:var(--amber);opacity:.6}

/* ───────── buttons ───────── */
.btn{display:inline-flex;align-items:center;gap:9px;padding:12px 20px;border-radius:11px;font-size:14.5px;border:1px solid var(--line-2);background:var(--panel);color:var(--fg);transition:all .18s cubic-bezier(.2,.7,.3,1);white-space:nowrap}
.btn:hover{background:var(--panel-2);transform:translateY(-1px);text-decoration:none}
.btn-primary{background:var(--amber);color:#0a0a0a;border-color:var(--amber);font-weight:500}
.btn-primary:hover{background:oklch(0.88 0.15 80);box-shadow:0 8px 30px -8px var(--amber-soft)}
.btn .ar{transition:transform .18s}
.btn:hover .ar{transform:translateX(3px)}

/* ───────── cards ───────── */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:26px 0}
.card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;padding:22px 22px;background:var(--bg-1);transition:border-color .2s,transform .2s,background .2s}
.card:hover{transform:translateY(-3px);border-color:var(--line-2);background:var(--bg-2);text-decoration:none}
.card .ctag{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--amber);margin-bottom:13px}
.card .ct{font-size:16.5px;font-weight:500;letter-spacing:-.015em;line-height:1.3;color:var(--fg);margin:0 0 8px}
.card .cd{font-size:13.5px;color:var(--fg-2);line-height:1.5;font-weight:300;margin:0}
.card .cmore{margin-top:auto;padding-top:15px;font-family:var(--mono);font-size:11.5px;color:var(--fg-3);transition:color .2s}
.card:hover .cmore{color:var(--amber)}

/* simple link list */
.linklist{list-style:none;padding:0;margin:14px 0}
.linklist li{margin:0;border-bottom:1px solid var(--line)}
.linklist li:last-child{border-bottom:0}
.linklist a{display:block;padding:13px 4px;color:var(--fg-2);font-size:14.5px;transition:color .15s,padding .15s}
.linklist a:hover{color:var(--amber);padding-left:10px;text-decoration:none}

/* ───────── footer ───────── */
.site-footer{border-top:1px solid var(--line);margin-top:72px;padding:44px clamp(18px,4vw,44px) 34px}
.site-footer .fgrid{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;justify-content:center;font-family:var(--mono);font-size:12.5px}
.site-footer a{color:var(--fg-3);letter-spacing:.02em}
.site-footer a:hover{color:var(--amber);text-decoration:none}
.site-footer .fbar{max-width:1180px;margin:22px auto 0;padding-top:20px;border-top:1px solid var(--line);text-align:center;font-family:var(--mono);font-size:11px;color:var(--fg-4);letter-spacing:.03em}

/* narrow-mobile polish: let comparison tables breathe. `main table td/th`
   (0,0,3) out-specifies the per-page inline `th,td` (0,0,2) so no !important is
   needed; scoped to <=560px so desktop is untouched. */
@media (max-width:560px){
  main table{font-size:12.5px}
  main table th, main table td{padding:9px 7px}
  main{padding-left:18px;padding-right:18px}
}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}body::after{display:none}}
