/* Scoped to the two authored practical articles. */
.ai-article .article-author { margin:24px 0 12px; font:400 14px/1.7 var(--sans); }
.ai-article .article-author a { color:inherit; text-underline-offset:3px; }
.ai-article .ai-article-subtitle { max-width:780px; margin:0; font:400 19px/1.65 var(--sans); }
.ai-article .ai-article-date { margin:18px 0 0; font:400 12px/1.6 var(--sans); color:var(--muted); }
.ai-article .ai-prompt { margin:0 0 30px; }
.ai-article .ai-prompt blockquote { margin:0; padding:20px 24px; border-left:3px solid var(--red); background:#faf8f4; font:400 16px/1.8 var(--sans); }
.ai-article .ai-prompt blockquote p { margin:0; font:inherit; }
.ai-article .ai-copy-controls { display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; margin-top:12px; }
.ai-article .ai-copy { min-height:44px; padding:10px 16px; border:1px solid var(--line); border-radius:4px; background:white; color:#262721; cursor:pointer; font:600 13px/1.5 var(--sans); }
.ai-article .ai-copy:hover { border-color:var(--red); color:var(--red); }
.ai-article .ai-copy:focus-visible { outline:2px solid var(--red); outline-offset:3px; }
.ai-article .ai-copy-status { font:400 13px/1.6 var(--sans); }
.ai-article .article-table table { min-width:560px; }
.ai-article .article-table caption { padding:0 0 14px; text-align:left; font:600 14px/1.6 var(--sans); }
.ai-article .article-table tbody th { background:#faf8f4; font-weight:500; }
.ai-article .article-table :where(th,td) { vertical-align:top; }
.ai-article .ai-related { border-top:1px solid var(--line); padding-top:24px; margin-top:36px; }
@media(max-width:640px) {
  .ai-article .ai-article-subtitle { font-size:17px; }
  .ai-article .ai-prompt blockquote { padding:18px; }
}
