@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url("/fonts/bricolage-grotesque-latin-var.woff2") format("woff2");}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:100 800;font-display:swap;src:url("/fonts/jetbrains-mono-latin-var.woff2") format("woff2");}

:root{
  --bg:#070a0f; --panel:#0d131c; --line:#1a2533; --txt:#e7ecf3; --muted:#8694a6;
  --dim:#5a6678; --amber:#ffb000; --cyan:#27d3ff; --green:#19d36b; --red:#ff3b54;
  --disp:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  --read:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--txt);font-family:var(--read);
  -webkit-font-smoothing:antialiased;line-height:1.65;
  background-image:radial-gradient(1200px 600px at 70% -10%, rgba(58,134,255,.06), transparent 60%);}
.wrap{max-width:1100px;margin:0 auto;padding:0 24px;}
a{color:inherit;}
::selection{background:var(--amber);color:#0a0a0a;}

/* header / footer */
header.site{position:sticky;top:0;z-index:10;backdrop-filter:blur(8px);
  background:rgba(7,10,15,.72);border-bottom:1px solid var(--line);}
header.site .nav{display:flex;align-items:center;height:60px;gap:20px;}
.brand{font-family:var(--disp);font-weight:800;letter-spacing:.02em;font-size:16px;display:flex;align-items:center;gap:9px;}
.brand .amber{color:var(--amber);}
.brand .mk{width:17px;height:13px;border:2px solid var(--amber);border-radius:2px;position:relative;display:inline-block;}
.brand .mk::before{content:"";position:absolute;left:2px;top:2px;width:8px;height:1.5px;background:var(--cyan);box-shadow:0 3px 0 var(--green),0 6px 0 var(--red);}
nav.links{margin-left:auto;display:flex;gap:22px;align-items:center;}
nav.links a{font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;color:var(--muted);transition:color .2s;}
nav.links a:hover{color:var(--txt);}
nav.links a.cta{color:var(--amber);border:1px solid rgba(255,176,0,.4);border-radius:999px;padding:7px 14px;}
nav.links a.cta:hover{background:rgba(255,176,0,.1);}

footer.site{border-top:1px solid var(--line);margin-top:80px;padding:40px 0;color:var(--muted);font-size:14px;}
footer.site .fl{margin:10px 0;}
footer.site a{color:var(--muted);text-decoration:underline;text-underline-offset:3px;}
footer.site a:hover{color:var(--txt);}
footer.site .cr{color:var(--dim);font-size:12.5px;margin-top:16px;}

.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--amber);}

/* article */
.article{max-width:740px;padding-top:40px;}
.article h1{font-family:var(--disp);font-weight:800;font-size:clamp(28px,5vw,42px);line-height:1.12;letter-spacing:-.015em;margin:.3em 0 .5em;}
.article h2{font-family:var(--disp);font-weight:700;font-size:clamp(21px,3.4vw,27px);line-height:1.2;margin:1.8em 0 .5em;letter-spacing:-.01em;}
.article h3{font-family:var(--disp);font-weight:600;font-size:18px;margin:1.5em 0 .4em;color:#eef2f8;}
.article p{margin:0 0 1.15em;font-size:17px;color:#d3dae4;}
.article ul,.article ol{margin:0 0 1.2em;padding-left:1.3em;color:#d3dae4;font-size:17px;}
.article li{margin:.4em 0;}
.article li::marker{color:var(--amber);}
.article a{color:var(--cyan);text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(39,211,255,.4);}
.article a:hover{text-decoration-color:var(--cyan);}
.article strong{color:#fff;}
.article code{font-family:var(--mono);font-size:.86em;background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:1px 6px;color:var(--amber);}
.article hr{border:0;border-top:1px solid var(--line);margin:2.4em 0;}

.tablewrap{overflow-x:auto;margin:0 0 1.5em;border:1px solid var(--line);border-radius:10px;}
.article table{width:100%;border-collapse:collapse;font-size:15px;}
.article th,.article td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);}
.article th{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:rgba(255,255,255,.02);}
.article tr:last-child td{border-bottom:0;}

.endcta{margin:3em 0 1em;padding:26px 28px;background:linear-gradient(180deg,#0e141d,#0a0e15);border:1px solid var(--line);border-radius:14px;}
.endcta h3{font-family:var(--disp);font-weight:700;font-size:20px;margin:0 0 .4em;}
.endcta p{color:var(--muted);font-size:15.5px;margin:0 0 1em;}
.btns{display:flex;flex-wrap:wrap;gap:12px;}
.btn{font-family:var(--mono);font-size:13px;letter-spacing:.03em;padding:11px 20px;border-radius:999px;border:1px solid var(--line);color:var(--txt);transition:.2s;}
.btn:hover{border-color:var(--muted);}
.btn.primary{background:var(--amber);color:#0a0a0a;border-color:var(--amber);font-weight:700;}
.btn.primary:hover{filter:brightness(1.08);}
.back{margin-top:30px;}
.back a{font-family:var(--mono);font-size:13px;color:var(--muted);}
.back a:hover{color:var(--txt);}

/* index */
.index{padding-top:54px;}
.masthead{max-width:720px;margin-bottom:46px;}
.masthead h1{font-family:var(--disp);font-weight:800;font-size:clamp(32px,6vw,52px);line-height:1.08;letter-spacing:-.02em;margin:.25em 0 .35em;}
.masthead .lede{font-size:18px;color:var(--muted);max-width:46ch;}
.posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;}
.post{display:flex;flex-direction:column;padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:14px;transition:.2s;}
.post:hover{border-color:var(--muted);transform:translateY(-2px);}
.post h2{font-family:var(--disp);font-weight:700;font-size:20px;line-height:1.22;margin:0 0 .5em;letter-spacing:-.01em;}
.post p{color:var(--muted);font-size:14.5px;margin:0 0 1.2em;flex:1;}
.post .more{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--amber);}

@media(max-width:560px){
  nav.links{gap:14px;}
  nav.links a:not(.cta){display:none;}
  .article p,.article ul,.article ol{font-size:16px;}
}
