/* Hidden Cursor Blog — shares the homepage design tokens */
:root{
  --bg:#EAECEF;--surface:#F6F7F9;--surface-2:#FFFFFF;
  --border:rgba(11,14,20,.13);--border-strong:rgba(11,14,20,.22);
  --text:#0B0E14;--text-mid:#39404E;--text-dim:#697082;
  --accent:#A96B08;--accent-ink:#FFFFFF;--accent-soft:rgba(169,107,8,.14);
  --grid:rgba(11,14,20,.05);
  --shadow:0 1px 2px rgba(11,14,20,.05),0 20px 46px -22px rgba(11,14,20,.22);
  --font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,"Cascadia Code",Consolas,monospace;
  --font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#080A0F;--surface:#0F131C;--surface-2:#151A25;
  --border:rgba(255,255,255,.09);--border-strong:rgba(255,255,255,.17);
  --text:#DBE0E9;--text-mid:#A4ACBD;--text-dim:#727A8E;
  --accent:#F2AC42;--accent-ink:#080A0F;--accent-soft:rgba(242,172,66,.16);
  --grid:rgba(255,255,255,.03);
  --shadow:0 1px 2px rgba(0,0,0,.5),0 34px 60px -26px rgba(0,0,0,.7);
}}
:root[data-theme="dark"]{
  --bg:#080A0F;--surface:#0F131C;--surface-2:#151A25;
  --border:rgba(255,255,255,.09);--border-strong:rgba(255,255,255,.17);
  --text:#DBE0E9;--text-mid:#A4ACBD;--text-dim:#727A8E;
  --accent:#F2AC42;--accent-ink:#080A0F;--accent-soft:rgba(242,172,66,.16);
  --grid:rgba(255,255,255,.03);
  --shadow:0 1px 2px rgba(0,0,0,.5),0 34px 60px -26px rgba(0,0,0,.7);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--accent);color:var(--accent-ink)}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:var(--font-mono);font-weight:600;letter-spacing:-.015em;text-wrap:balance;margin:0}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}
.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 28px}
.wrap-narrow{width:100%;max-width:760px;margin:0 auto;padding:0 24px}

/* reading progress */
.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:70;pointer-events:none}
.progress span{display:block;height:100%;width:0;background:var(--accent);transition:width .08s linear}

/* header */
header{position:sticky;top:0;z-index:60;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
header.scrolled{background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px);border-bottom-color:var(--border)}
header nav{display:flex;align-items:center;justify-content:space-between;height:66px;gap:16px}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--font-mono);font-weight:600;font-size:15px;white-space:nowrap}
.brand small{color:var(--text-dim);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.brand-mark{width:27px;height:27px;border:1px solid var(--border-strong);border-radius:6px;display:inline-flex;align-items:center;justify-content:center}
.brand-mark::after{content:"";width:7px;height:12px;background:var(--accent);animation:blink 1.15s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.nav-links{display:flex;gap:26px;font-family:var(--font-mono);font-size:13.5px}
.nav-links a{color:var(--text-mid)}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--text)}
.nav-links a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--accent)}
.nav-right{display:flex;align-items:center;gap:12px}
.theme-btn{background:none;border:1px solid var(--border);color:var(--text-mid);cursor:pointer;width:35px;height:35px;border-radius:8px;font-size:15px}
.btn{font-family:var(--font-mono);font-size:13.5px;display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:9px;border:1px solid transparent;transition:box-shadow .2s,border-color .2s,color .2s;white-space:nowrap}
.btn-primary{background:var(--accent);color:var(--accent-ink);font-weight:600}
.btn-primary:hover{box-shadow:0 0 0 4px var(--accent-soft)}
.btn-ghost{border-color:var(--border-strong);color:var(--text)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
@media(max-width:820px){.nav-links{display:none}}
@media(max-width:480px){.nav-right .btn{display:none}}

/* shared bits */
.eyebrow,.label{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.chip{display:inline-block;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:var(--accent-soft);border-radius:100px;padding:4px 10px}
.dek{color:var(--text-mid);font-size:clamp(17px,1.8vw,19.5px);line-height:1.55;max-width:60ch}
.cursor{display:inline-block;width:.55em;height:1em;margin-left:.12em;background:var(--accent);vertical-align:-.1em;animation:blink 1.15s steps(1) infinite}
@media (prefers-reduced-motion:reduce){.cursor,.brand-mark::after{animation:none}}

/* blog index */
.blog-hero{padding:clamp(56px,9vw,104px) 28px clamp(32px,5vw,52px)}
.blog-hero h1{font-size:clamp(34px,5.4vw,58px);line-height:1.05;margin:16px 0 18px;letter-spacing:-.02em}
.blog-hero .hl{color:var(--accent)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-bottom:clamp(64px,9vw,110px)}
@media(max-width:980px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.cards{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .22s,border-color .22s,box-shadow .22s}
.card:hover{transform:translateY(-4px);border-color:var(--border-strong);box-shadow:var(--shadow)}
.card img{aspect-ratio:1200/630;object-fit:cover;border-bottom:1px solid var(--border)}
.card-body{padding:20px 20px 22px;display:flex;flex-direction:column;gap:11px;flex:1}
.card h2{font-size:19px;line-height:1.25}
.card p{color:var(--text-mid);font-size:14.5px;line-height:1.6;margin:0;flex:1}
.rel-meta{font-family:var(--font-mono);font-size:12px;color:var(--text-dim)}

/* article */
.post{padding:clamp(28px,5vw,48px) 24px clamp(64px,9vw,104px)}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-family:var(--font-mono);font-size:12.5px;color:var(--text-dim);margin-bottom:26px}
.crumbs a:hover{color:var(--accent)}
.post h1{font-size:clamp(30px,4.6vw,46px);line-height:1.1;margin:16px 0 16px;letter-spacing:-.02em}
.meta{display:flex;flex-wrap:wrap;gap:8px;font-family:var(--font-mono);font-size:12.5px;color:var(--text-dim);margin:18px 0 30px;padding-bottom:26px;border-bottom:1px solid var(--border)}
.tldr,.takeaways{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:10px;padding:18px 22px;margin:0 0 34px}
.tldr p{margin:8px 0 0;color:var(--text);font-size:16.5px;line-height:1.65}
.takeaways{margin:40px 0 0}
.takeaways ul{margin:10px 0 0;padding-left:20px}
.takeaways li{margin:6px 0;color:var(--text)}
.prose{font-size:18px;line-height:1.78}
.prose h2{font-size:clamp(21px,2.6vw,26px);line-height:1.25;margin:44px 0 14px}
.prose p{margin:0 0 18px;color:var(--text)}
.prose ul,.prose ol{margin:0 0 20px;padding-left:24px}
.prose li{margin:8px 0}
.prose li::marker{color:var(--accent);font-family:var(--font-mono)}
.prose strong{font-weight:650}
.prose a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.cta{margin:40px 0 0;padding:26px;border:1px solid var(--border-strong);border-radius:14px;background:radial-gradient(80% 120% at 100% 0%,var(--accent-soft),transparent 60%),var(--surface);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.cta h2{font-size:21px;margin:8px 0 6px}
.cta p{margin:0;color:var(--text-mid);font-size:15px}
.cta-btns{display:flex;flex-wrap:wrap;gap:10px}
.related{margin-top:48px}
.rel-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
@media(max-width:640px){.rel-grid{grid-template-columns:1fr}}
.rel{display:flex;flex-direction:column;gap:9px;padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--surface);transition:border-color .2s,transform .2s}
.rel:hover{border-color:var(--accent);transform:translateY(-2px)}
.rel strong{font-family:var(--font-mono);font-size:15.5px;line-height:1.3}
.rel .chip{align-self:flex-start}

/* footer */
footer{border-top:1px solid var(--border);padding:40px 0 34px}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;margin-bottom:26px}
.foot-tag{color:var(--text-dim);font-size:14px;max-width:40ch;margin:12px 0 0}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 22px;font-family:var(--font-mono);font-size:13px;color:var(--text-mid);align-content:flex-start}
.foot-links a:hover{color:var(--accent)}
.foot-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:20px;border-top:1px solid var(--border);font-family:var(--font-mono);font-size:12px;color:var(--text-dim)}
