/* LCNCagents shared extras — Tailwind handles the bulk via CDN.
   This file is for small touches that are awkward inline. */

:root {
  --lcnc-indigo: #6366f1;
  --lcnc-sky: #0ea5e9;
  --lcnc-ink: #0f172a;
}

html { scroll-behavior: smooth; }

body {
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color: var(--lcnc-ink);
}

.lcnc-gradient-text {
  background: linear-gradient(90deg, var(--lcnc-indigo), var(--lcnc-sky));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.lcnc-gradient-bg {
  background: linear-gradient(135deg, var(--lcnc-indigo), var(--lcnc-sky));
}

.lcnc-card {
  transition: transform .15s ease, box-shadow .15s ease;
}
.lcnc-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px -12px rgba(15, 23, 42, .25);
}

/* D3 flow diagram bits */
.lcnc-flow-node rect { transition: fill .2s ease; }
.lcnc-flow-link { stroke: #cbd5e1; stroke-width: 2; }

[v-cloak] { display: none; }

/* ---- Editorial / article layer ---- */
.lcnc-prose { color: #334155; font-size: 1.05rem; line-height: 1.75; }
.lcnc-prose h2 { color: var(--lcnc-ink); font-size: 1.6rem; font-weight: 700; margin: 2.2rem 0 .8rem; letter-spacing: -.01em; }
.lcnc-prose h3 { color: var(--lcnc-ink); font-size: 1.2rem; font-weight: 600; margin: 1.6rem 0 .5rem; }
.lcnc-prose p { margin: 0 0 1rem; }
.lcnc-prose ul { margin: 0 0 1rem; padding-left: 1.25rem; list-style: disc; }
.lcnc-prose ol { margin: 0 0 1rem; padding-left: 1.25rem; list-style: decimal; }
.lcnc-prose li { margin: .35rem 0; }
.lcnc-prose a { color: var(--lcnc-indigo); font-weight: 500; text-decoration: underline; text-underline-offset: 2px; }
.lcnc-prose a:hover { color: #4338ca; }
.lcnc-prose blockquote { border-left: 3px solid var(--lcnc-indigo); padding: .25rem 0 .25rem 1rem; color: #475569; font-style: italic; margin: 1.25rem 0; }

/* comparison tables */
.lcnc-table { width: 100%; border-collapse: collapse; font-size: .95rem; margin: 1.25rem 0; }
.lcnc-table th, .lcnc-table td { text-align: left; padding: .7rem .85rem; border-bottom: 1px solid #e2e8f0; vertical-align: top; }
.lcnc-table thead th { background: #f8fafc; font-weight: 600; color: var(--lcnc-ink); }
.lcnc-table tbody tr:hover { background: #fafafa; }
.lcnc-table .lcnc-pick { background: #eef2ff; }

/* checklist */
.lcnc-check { list-style: none; padding-left: 0; }
.lcnc-check li { position: relative; padding-left: 1.9rem; margin: .55rem 0; }
.lcnc-check li::before { content: "✓"; position: absolute; left: 0; top: 0; width: 1.3rem; height: 1.3rem; line-height: 1.3rem; text-align: center; border-radius: 999px; background: var(--lcnc-indigo); color: #fff; font-size: .8rem; }

/* callout box for "where X fits" */
.lcnc-fit { border: 1px solid #c7d2fe; background: linear-gradient(135deg, #eef2ff, #f0f9ff); border-radius: 1rem; padding: 1.25rem 1.4rem; margin: 1.75rem 0; }

/* editorial chrome */
.lcnc-eyebrow { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--lcnc-indigo); }
.lcnc-byline { font-size: .85rem; color: #64748b; }
