/* Houston Build Log — Theme 1 "Slate" (light, cool, all-sans, indigo accent). Web-tuned. */
:root{
  --ink:#14181f; --body:#2b3038; --muted:#5b626b; --faint:#9aa1ab;
  --clay:#4f46e5; --clay-dk:#4338ca; --sage:#15803d;
  --line:#e5e8ec; --paper:#ffffff; --card:#f7f8fa; --brand:#4f46e5;
  --sans:-apple-system,BlinkMacSystemFont,"Inter","Helvetica Neue",Arial,sans-serif;
  --serif:-apple-system,BlinkMacSystemFont,"Inter","Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{ background:var(--paper); color:var(--body); font-family:var(--serif);
  font-size:19px; line-height:1.75; margin:0; }

.post,.index{ max-width:816px; margin:0 auto; padding:52px 28px 96px; }
.back{ font-family:var(--sans); font-size:13px; color:var(--faint); text-decoration:none;
  border-bottom:none; }
.back:hover{ color:var(--clay-dk); }

.kicker{ font-family:var(--sans); font-size:12px; font-weight:600; letter-spacing:2px;
  text-transform:uppercase; color:var(--brand); margin:30px 0 16px; }
h1{ font-family:var(--serif); font-weight:600; font-size:42px; line-height:1.14;
  letter-spacing:-0.4px; color:var(--ink); margin:0 0 18px; }
.dek{ font-size:21px; font-style:italic; color:var(--muted); line-height:1.5; margin:0 0 26px; }
.byline{ font-family:var(--sans); font-size:13.5px; color:var(--faint); display:flex;
  flex-wrap:wrap; gap:12px; align-items:center; padding:14px 0; margin-bottom:40px;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.byline .who{ color:var(--muted); font-weight:600; }
.av{ width:22px; height:22px; border-radius:50%; background:linear-gradient(135deg,#4f46e5,#4338ca);
  display:inline-block; vertical-align:middle; margin-right:8px; }

.post p{ margin:0 0 22px; }
.byline + p::first-letter{ font-family:var(--serif); font-size:58px; font-weight:600;
  float:left; line-height:.82; padding:6px 11px 0 0; color:var(--clay-dk); }

h2{ font-family:var(--serif); font-weight:600; font-size:28px; letter-spacing:-0.2px;
  color:var(--ink); margin:48px 0 16px; }
a{ color:var(--clay-dk); text-decoration:none; border-bottom:1px solid #c7c2f0; }

figure{ margin:36px 0; }
figure img,.post p img{ display:block; width:100%; height:auto; background:var(--card);
  border:1px solid var(--line); border-radius:12px; padding:10px; }
figcaption{ font-family:var(--sans); font-size:14px; color:var(--faint); text-align:center;
  margin-top:13px; line-height:1.5; }

pre{ font-family:var(--mono); font-size:14px; line-height:1.62; background:#f3f4f6;
  border:1px solid var(--line); border-radius:10px; padding:18px 20px; overflow:auto; margin:0 0 22px; }
code{ font-family:var(--mono); font-size:.84em; background:#ebedf2; padding:2px 6px;
  border-radius:5px; color:#4338ca; }
pre code{ background:none; padding:0; color:#2b3038; font-size:14px; }
p code,li code{ white-space:nowrap; }

/* the inline lifecycle line reads like a small caption */
p > code:only-child{ display:block; text-align:center; white-space:normal; background:#f3f4f6;
  border:1px solid var(--line); padding:12px 14px; border-radius:10px; color:#4338ca; font-size:13.5px; }

table{ width:100%; border-collapse:collapse; font-family:var(--sans); font-size:15.5px;
  margin:12px 0 28px; }
th,td{ text-align:left; padding:10px 14px; border-bottom:1px solid var(--line); vertical-align:top;
  line-height:1.5; }
thead th{ font-size:12px; letter-spacing:.5px; text-transform:uppercase; color:var(--faint);
  border-bottom:2px solid #c4c9d0; }
tbody td:first-child{ font-weight:650; color:#14181f; }

blockquote{ margin:30px 0; padding:14px 22px; border-left:3px solid var(--clay);
  background:var(--card); border-radius:0 12px 12px 0; font-size:18px; color:var(--ink); }
blockquote p{ margin:0; } blockquote p + p{ margin-top:12px; }

ul,ol{ margin:0 0 22px; padding-left:24px; } li{ margin:8px 0; }
hr{ border:0; border-top:1px solid var(--line); margin:46px 0; }

/* index */
.index h1{ margin-bottom:6px; }
.index .sub{ font-family:var(--sans); color:var(--muted); font-size:16px; margin:0 0 36px; }
.entry{ padding:26px 0; border-bottom:1px solid var(--line); }
.entry a.t{ font-family:var(--serif); font-size:25px; font-weight:600; color:var(--ink);
  text-decoration:none; border:none; letter-spacing:-0.2px; }
.entry a.t:hover{ color:var(--clay-dk); }
.entry .meta{ font-family:var(--sans); font-size:12.5px; color:var(--faint); margin:4px 0 8px; }
.entry .edek{ font-size:17px; color:var(--muted); font-style:italic; margin:0; }

/* chat transcript — before/after capability examples */
.chat{ border:1px solid var(--line); background:var(--card); border-radius:14px;
  padding:18px 18px 6px; margin:30px 0; font-family:var(--sans); }
.chat .ask{ text-align:right; margin-bottom:14px; }
.chat .ask .who{ display:block; font-size:11.5px; color:var(--faint); margin-bottom:5px; }
.chat .ask .bubble{ display:inline-block; background:var(--clay); color:#fff; font-family:var(--mono);
  font-size:13px; line-height:1.4; padding:10px 14px; border-radius:16px 16px 5px 16px; max-width:90%; text-align:left; }
.chat .reply{ margin-bottom:14px; max-width:92%; }
.chat .reply .tag{ display:inline-block; font-size:10.5px; letter-spacing:.6px; text-transform:uppercase;
  color:var(--faint); margin:0 0 5px 2px; }
.chat .reply .bubble{ display:block; border:1px solid var(--line); border-radius:5px 16px 16px 16px;
  padding:11px 14px; font-size:14.5px; line-height:1.5; }
.chat .reply.fail .bubble{ background:#fdf4f3; border-color:#eccdc9; color:#7c3a32; }
.chat .reply.ok .bubble{ background:#f1f8f3; border-color:#cce4d3; color:#23613f; }
.chat .mark{ font-weight:700; }
.chat .reply.fail .mark{ color:#c0392b; }
.chat .reply.ok .mark{ color:#15803d; }

/* Google Chat–style transcript — Houston lives in a G-Suite space */
.gchat{ max-width:560px; margin:14px 0; border:1px solid #e3e6ea; border-radius:12px; background:#fff;
  box-shadow:0 1px 3px rgba(60,64,67,.10); overflow:hidden;
  font-family:"Google Sans",Roboto,-apple-system,"Helvetica Neue",Arial,sans-serif; }
.gchat .gc-head{ display:flex; align-items:center; gap:9px; padding:9px 14px; background:#f8f9fa;
  border-bottom:1px solid #eef0f2; font-size:13px; font-weight:600; color:#3c4043; }
.gchat .gc-head .dot{ width:15px; height:15px; border-radius:4px; background:#1a73e8; display:inline-block; }
.gchat .gc-msg{ display:flex; gap:11px; padding:10px 14px; }
.gchat .gc-av{ width:34px; height:34px; border-radius:50%; flex:none; color:#fff; font-size:13px;
  font-weight:600; display:flex; align-items:center; justify-content:center; }
.gchat .gc-name{ font-size:13.5px; font-weight:600; color:#202124; margin-bottom:2px; }
.gchat .gc-app{ font-size:9.5px; font-weight:700; color:#5f6368; background:#e8eaed; border-radius:3px;
  padding:1px 5px; margin-left:6px; letter-spacing:.4px; vertical-align:middle; }
.gchat .gc-time{ font-size:11.5px; font-weight:400; color:#80868b; margin-left:7px; }
.gchat .gc-text{ font-size:14px; line-height:1.46; color:#3c4043; }
.gchat .gc-mention{ color:#1a73e8; background:#e8f0fe; border-radius:4px; padding:0 3px; font-weight:500; }
.gchat .gc-text code{ font-family:var(--mono); font-size:12px; background:#f1f3f4; padding:1px 4px;
  border-radius:4px; color:#3c4043; }
.gc-label{ font-family:var(--sans); font-size:11px; letter-spacing:.6px; text-transform:uppercase;
  color:var(--faint); margin:20px 0 2px 2px; font-weight:600; }
.gc-label.fail{ color:#c5221f; } .gc-label.ok{ color:#188038; }

@media (max-width:560px){
  body{ font-size:17px; } h1{ font-size:32px; } h2{ font-size:24px; }
  .dek{ font-size:18px; } .post,.index{ padding:32px 20px 64px; }
  .byline + p::first-letter{ font-size:46px; }
}

/* project chips on the index */
.chip{ display:inline-block; font-family:var(--sans); font-size:10.5px; font-weight:700;
  letter-spacing:.5px; text-transform:uppercase; padding:2px 9px; border-radius:20px;
  margin:0 10px 0 0; vertical-align:2px; }
.chip-houston{ background:#eef0fb; color:#3730a3; }
.chip-sentinel{ background:#e7f4ee; color:#15803d; }
.chip-horizon{ background:#fdeee4; color:#b3531f; }
