:root{
  --paper:#f6f5f3;
  --panel:#eceae7;
  --ink:#15161a;
  --ink-soft:#3d3e42;
  --muted:#75746f;
  --hair:rgba(21,22,26,.10);
  --hair-soft:rgba(21,22,26,.06);
  --accent:#0a84ff;
  --sans:"Geist",-apple-system,system-ui,sans-serif;
  --gut:clamp(16px,3.4vw,40px);
}
*{box-sizing:border-box}
html{overflow-x:clip;scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:16.5px;line-height:1.7;
  letter-spacing:-.006em;-webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
code,kbd,samp,pre{font-family:var(--sans)}

/* nav */
nav{
  position:sticky;top:0;z-index:50;
  background:rgba(246,245,243,.82);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--hair-soft);
}
nav .inner{
  max-width:1240px;margin:0 auto;padding:0 var(--gut);height:56px;
  display:flex;align-items:center;gap:24px;
}
.logo{display:flex;align-items:center;gap:8px;text-decoration:none;font-weight:600;font-size:14.5px;letter-spacing:-.02em}
.logo .mark{width:16px;height:16px;border-radius:5px;background:var(--ink);position:relative}
.logo .mark::after{content:"";position:absolute;inset:5px;border-radius:99px;background:var(--paper)}
.back{
  margin-left:auto;text-decoration:none;font-size:13.5px;color:var(--muted);
  border:1px solid var(--hair);border-radius:99px;padding:8px 14px;transition:color .16s,border-color .16s;
}
.back:hover{color:var(--ink);border-color:rgba(21,22,26,.22)}

/* article */
main{max-width:1240px;margin:0 auto;padding:0 var(--gut)}
article{max-width:66ch;margin:0 auto;padding:clamp(48px,8vw,104px) 0 clamp(64px,9vw,120px)}
article > header{margin-bottom:clamp(32px,4vw,52px)}
.meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-bottom:20px}
.pill{
  display:inline-flex;align-items:center;padding:5px 11px;border-radius:99px;
  background:var(--panel);color:var(--ink-soft);font-size:11.5px;font-weight:500;
  letter-spacing:.08em;text-transform:uppercase;
}
h1{margin:0;font-weight:500;font-size:clamp(28px,4vw,42px);line-height:1.14;letter-spacing:-.032em}
.lede{margin:20px 0 0;font-size:18px;line-height:1.6;color:var(--muted)}
h2{margin:clamp(44px,5vw,68px) 0 16px;font-weight:500;font-size:clamp(20px,2.3vw,25px);letter-spacing:-.026em;line-height:1.3}
h3{margin:34px 0 12px;font-weight:500;font-size:18px;letter-spacing:-.02em}
p{margin:0 0 18px;color:var(--ink-soft)}
article ul{margin:0 0 20px;padding-left:20px;display:flex;flex-direction:column;gap:9px}
article li{color:var(--ink-soft)}
article li::marker{color:var(--accent)}
article a{color:var(--accent);text-decoration:none;font-weight:500}
article a:hover{text-decoration:underline;text-underline-offset:3px}
article code{
  background:rgba(21,22,26,.055);border-radius:6px;padding:2px 6px;font-size:.94em;color:var(--ink);
}
b,strong{font-weight:500;color:var(--ink)}

/* prompt exchange */
.say{
  background:var(--panel);border-radius:14px;padding:22px 24px;margin:26px 0;
}
.who{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.bubble{
  background:var(--paper);border:1px solid var(--hair-soft);border-radius:11px;
  padding:16px 18px;font-size:15.5px;font-weight:500;line-height:1.55;color:var(--ink);
}
.answer{margin-top:14px;font-size:14.5px;color:var(--muted);line-height:1.6;padding-left:2px}
.answer::before{content:"→ ";color:var(--accent)}

/* note */
.note{
  background:var(--panel);border-radius:12px;padding:18px 20px;margin:26px 0;
  font-size:14.5px;line-height:1.65;color:var(--muted);
}
.note b{color:var(--ink)}

/* connection modes */
.modes{display:flex;flex-direction:column;gap:10px;margin:26px 0}
.mode{background:var(--panel);border-radius:12px;padding:20px 22px}
.mode h3{margin:0;font-size:16.5px;font-weight:500;letter-spacing:-.018em}
.mode .tagline{display:block;font-size:12.5px;color:var(--muted);margin-top:4px}
.mode p{margin:12px 0 0;font-size:14.5px;line-height:1.65;color:var(--muted)}
.mode.pick{background:var(--panel);box-shadow:inset 2px 0 0 var(--accent)}

/* closing cta */
.post-cta{
  margin-top:clamp(56px,7vw,88px);padding:clamp(30px,4vw,48px);
  background:var(--panel);border-radius:18px;text-align:center;
}
.post-cta h2{margin:0 0 12px;font-size:clamp(22px,2.6vw,28px)}
.post-cta p{margin:0 0 26px;color:var(--muted)}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--ink);color:var(--paper);text-decoration:none;
  font-size:14px;font-weight:500;padding:11px 20px;border-radius:99px;transition:background .16s;
}
.btn:hover{background:#2a2b30;text-decoration:none}

/* footer */
footer{border-top:1px solid var(--hair-soft);padding:40px 0 64px}
footer .inner{
  max-width:1240px;margin:0 auto;padding:0 var(--gut);
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;font-size:13.5px;color:var(--muted);
}
footer a{color:var(--muted);text-decoration:none}
footer a:hover{color:var(--ink)}

/* faq + related */
.faq{display:flex;flex-direction:column}
.qa{padding:22px 0;border-top:1px solid var(--hair-soft)}
.qa h3{margin:0 0 10px;font-size:17px;font-weight:500;letter-spacing:-.02em}
.qa p{margin:0;color:var(--muted);font-size:15.5px;line-height:1.7}
.related{margin:clamp(44px,5vw,64px) 0 0;background:var(--panel);border-radius:14px;padding:22px 24px}
.related .who{margin-bottom:14px}
.related a{display:block;padding:11px 0;border-top:1px solid var(--hair-soft);font-size:15.5px;font-weight:500;color:var(--ink);text-decoration:none}
.related a:first-of-type{border-top:0;padding-top:0}
.related a:hover{color:var(--accent)}
