/* llmstxgenerator.com blog. Built by tools/blog.py. Uses the tokens in app.css. */
.foot p a + a { margin-left: 16px; }
.lxg8-top { padding: 44px 0 8px; background: linear-gradient(180deg, #fff, var(--bg)); }
.lxg8-crumb { margin: 0 0 10px; color: var(--mute); font-size: .98rem; }
.lxg8-crumb a { color: var(--ink2); }
.lxg8-by { color: var(--ink2); margin: 6px 0 0; font-size: 1rem; }
.lxg8-post { padding: 20px 0 56px; }
.lxg8-post h2 { font-size: clamp(1.45rem, 2.6vw, 1.85rem); margin-top: 1.8em; scroll-margin-top: 16px; }
.lxg8-post h3 { margin-top: 1.4em; }
.lxg8-post p, .lxg8-post li { color: var(--ink); }
.lxg8-post figure { margin: 26px 0; }
.lxg8-post figure img { width: 100%; height: auto; border: 1px solid var(--line); border-radius: var(--r); background: #fff; display: block; }
.lxg8-post figcaption { color: var(--mute); font-size: .95rem; margin-top: 8px; }
.lxg8-post pre { background: #f2f3fb; border: 1px solid var(--line); border-radius: 10px; padding: 14px 16px; margin: 18px 0;
  font: .9rem/1.55 'JetBrains Mono', ui-monospace, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.lxg8-post table { width: 100%; border-collapse: collapse; margin: 18px 0; font-size: 1rem; }
.lxg8-post th, .lxg8-post td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
.lxg8-post th { background: var(--acc-l); font-weight: 600; }
.lxg8-tablewrap { width: 100%; }
@media (max-width: 560px) { .lxg8-post table { font-size: .95rem; } .lxg8-post th, .lxg8-post td { padding: 8px 6px; } }

/* Highlights: numbered list right under the h1 */
.poka3-top { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 18px 22px 18px 44px; margin: 0 0 24px; display: grid; gap: 8px; }
.poka3-top li::marker { color: var(--acc); font-weight: 700; }
.poka3-first { font-size: 1.18rem; }
.poka3-call { border-left: 4px solid var(--acc); background: var(--acc-l); padding: 14px 18px; border-radius: 0 10px 10px 0; margin: 20px 0; }
.poka3-list { display: grid; gap: 6px; }

/* Table of contents: reads like the link list of an llms.txt file */
.lxg8-file { border-left: 3px solid var(--acc); background: #f5f6fd; border-radius: 0 12px 12px 0; padding: 14px 18px; margin: 24px 0 8px;
  font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: .95rem; }
.lxg8-file-h { margin: 0 0 8px; color: var(--ink2); font-weight: 600; }
.lxg8-file ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.lxg8-file li { margin: 0; }
.lxg8-file a { display: inline-block; min-height: 44px; line-height: 1.4; padding: 11px 0; color: var(--acc-d); text-decoration: none; overflow-wrap: anywhere; }
.lxg8-file a:hover span { text-decoration: underline; }
.lxg8-file b { color: var(--mute); font-weight: 400; }

/* FAQ as a definition list */
.poka3-asks { margin: 12px 0 0; }
.poka3-asks dt { font-weight: 700; font-size: 1.12rem; margin-top: 18px; }
.poka3-asks dd { margin: 6px 0 0; color: var(--ink2); }
.lxg8p-pref { margin: 22px 0 0; }
.lxg8p-pref a { color: var(--ink2); font-weight: 600; }
.lxg8p-pref span { color: #c98a00; margin-right: 6px; }

/* Research notes */
.poka3-notes { padding-left: 1.2em; display: grid; gap: 8px; }
.poka3-notes small { color: var(--mute); }

.lxg8-end { margin-top: 36px; }

/* Index and related cards */
.lxg8-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; margin-top: 22px; }
.lxg8-card { display: grid; gap: 8px; align-content: start; background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 20px; text-decoration: none; color: var(--ink); }
.lxg8-card:hover { border-color: var(--acc); }
.lxg8-card b { font-size: 1.15rem; line-height: 1.3; }
.lxg8-card span { color: var(--ink2); }
.lxg8-card time { color: var(--mute); font-size: .95rem; }

/* Google map card (_shared/gmap), restyled to this site */
.lxg8-map { padding: 0 0 56px; }
.gmap-card { background: #fff; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; box-shadow: var(--shadow); }
.gmap-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 24px; padding: 22px 24px 18px; border-bottom: 1px solid var(--line); }
.gmap-head h2 { margin: 4px 0 0; font-size: 1.4rem; }
.lxg8-map-over { color: var(--acc); font-weight: 600; font-size: .95rem; }
.gmap-line { display: flex; align-items: flex-start; gap: 6px; margin: 8px 0 0; color: var(--ink2); font-size: 1rem; }
.gmap-line svg { flex: none; margin-top: 3px; color: var(--acc); }
.gmap-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.gmap-btn { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); background: #fff; font-size: 15px; font-weight: 600; text-decoration: none; }
.gmap-btn-primary { background: var(--acc); border-color: var(--acc); color: #fff; }
.gmap-btn-primary:hover { background: var(--acc-d); }
.gmap-frame { position: relative; aspect-ratio: 16 / 7; background-color: #f1f2f9;
  background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 40px 40px; }
.gmap-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; opacity: 0; transition: opacity .4s ease; }
.gmap-frame.is-loaded iframe, .gmap-frame noscript iframe { opacity: 1; }
.gmap-facade { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; width: 100%; border: 0; background: transparent; color: var(--mute); font: inherit; font-size: 15px; cursor: pointer; }
.gmap-facade-pin { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: #fff; color: var(--acc); box-shadow: 0 0 0 8px var(--acc-l); }
.gmap-facade-pin svg { width: 24px; height: 24px; }
.gmap-frame.is-loaded .gmap-facade { display: none; }
@media (max-width: 700px) {
  .gmap-head { padding: 18px 16px 14px; }
  .gmap-frame { aspect-ratio: 4 / 3; }
  .gmap-actions { width: 100%; }
  .gmap-btn { flex: 1 1 auto; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .gmap-frame iframe { transition: none; } }
