/* alidoes.ai base styles — restrained, fast, legible. Calm is the credibility signal. */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--bg); color: var(--ink);
  font-family: var(--sans); font-size: var(--step-0); line-height: 1.7;
  font-synthesis: none; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased;
}
.wrap { max-width: 760px; margin: 0 auto; padding: 0 1.25rem; }
main { display: block; }

a { color: var(--brand-ink); text-decoration-thickness: 1px; text-underline-offset: 2px; transition: color 0.15s ease, opacity 0.15s ease; }
a:hover { text-decoration: none; }
:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; border-radius: 2px; }

.skip-link {
  position: absolute; left: -999px; top: 0; background: var(--bg); color: var(--ink);
  padding: 8px 14px; border: 1px solid var(--line); border-radius: var(--radius); z-index: 10;
}
.skip-link:focus { left: 1rem; top: 1rem; }

/* header */
.site-header { border-bottom: 1px solid var(--line); }
.site-header .wrap { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 14px; padding-bottom: 14px; }
.brand-lockup { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--ink); }
.brand-mark {
  width: 30px; height: 30px; border-radius: 8px; background: var(--brand-tint);
  display: inline-flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 17px; letter-spacing: -0.01em;
}
.brand-mark .x { color: var(--brand); } .brand-mark .l { color: var(--ink-3); }
.brand-word { font-weight: 600; font-size: 17px; letter-spacing: -0.02em; }
.brand-word .ai { color: var(--brand); }
.site-nav { display: flex; gap: 18px; font-size: 15px; }
.site-nav a { color: var(--ink-2); text-decoration: none; }
.site-nav a:hover { color: var(--ink); }

/* content */
.hero { padding: var(--space-5) 0 var(--space-3); }
.hero h1 { font-family: var(--serif); font-size: var(--step-3); line-height: 1.14; letter-spacing: -0.01em; font-weight: 500; margin: 0 0 var(--space-2); max-width: 20ch; }
.lede { color: var(--ink-2); font-size: var(--step-1); line-height: 1.55; max-width: var(--measure); }
h2 { font-family: var(--serif); font-size: var(--step-2); line-height: 1.2; letter-spacing: -0.005em; font-weight: 500; margin: var(--space-4) 0 var(--space-1); }
p, li { max-width: var(--measure); }
code, .mono { font-family: var(--mono); font-size: 0.9em; }

/* the verified / correction inline markers — the wedge in the UI */
.tag { display: inline-flex; align-items: center; gap: 5px; font-family: var(--mono); font-size: 0.78rem; padding: 3px 9px; border-radius: 6px; }
.tag-verified { color: var(--verified); background: color-mix(in srgb, var(--verified) 12%, transparent); }
.tag-correction { color: var(--correction); background: color-mix(in srgb, var(--correction) 14%, transparent); }

/* list of posts */
.post-list { list-style: none; padding: 0; margin: 1rem 0; }
.post-list li { display: flex; justify-content: space-between; gap: 1rem; padding: 12px 0; border-bottom: 1px solid var(--line); }
.post-list a { text-decoration: none; font-weight: 500; }
.post-list time { color: var(--ink-3); font-family: var(--mono); font-size: 0.85rem; white-space: nowrap; }

/* footer */
.site-footer { border-top: 1px solid var(--line); margin-top: 4rem; color: var(--ink-3); font-size: 0.9rem; }
.site-footer .wrap { padding-top: 1.5rem; padding-bottom: 2.5rem; display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; }
.site-footer a { color: var(--ink-3); }

@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }
