/* Crown Intelligence — API and documentation guide pages (docs/index, docs/api/*, matcher, monitoring, enrichment, security, TOMs).
   Extends docs.css; uses the Signal tokens only, so light and dark both work. */
.docs-toc{ margin:0 0 32px; padding:14px 18px; border:1px solid var(--line); border-radius:6px; background:var(--bg-1); max-width:72ch; }
.docs-toc p{ margin:0 0 6px; font-size:.68rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); }
.docs-toc ol{ margin:0; padding-left:20px; columns:2 220px; column-gap:28px; }
.docs-toc li{ font-size:.88rem; line-height:1.5; padding:2px 0; break-inside:avoid; }
.docs-toc a{ color:var(--ink-dim); text-decoration:none; }
.docs-toc a:hover{ color:var(--cyan); text-decoration:underline; }

/* cards (hub and section starts) */
.docs-cards{ display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:14px; margin:18px 0 28px; }
.docs-card{ display:block; padding:18px 18px 16px; border:1px solid var(--line); border-radius:6px; background:var(--bg-1); text-decoration:none; color:var(--ink); min-width:0; }
.docs-article a.docs-card{ color:var(--ink); }
.docs-card:hover{ border-color:var(--cyan); }
.docs-card strong{ display:block; font-family:var(--serif); font-weight:500; font-size:1.08rem; margin:0 0 6px; }
.docs-card span{ display:block; color:var(--ink-dim); font-size:.88rem; line-height:1.55; }
.docs-card:focus-visible, .docs-article a:focus-visible, .code-copy:focus-visible, .code-tab:focus-visible, .try-btn:focus-visible{ outline:2px solid var(--focus); outline-offset:2px; }

.docs-group{ margin:8px 0 30px; }
.docs-group h2{ margin-top:36px; }
.docs-links{ list-style:none; padding:0 !important; margin:0; border-top:1px solid var(--line); }
.docs-links li{ border-bottom:1px solid var(--line); padding:10px 0; max-width:none !important; }
.docs-links a{ font-weight:500; }
.docs-links span{ display:block; color:var(--ink-dim); font-size:.9rem; }

/* callouts */
.callout{ margin:18px 0; padding:14px 18px; border:1px solid var(--line); border-left:3px solid var(--cyan); border-radius:4px; background:var(--bg-1); max-width:72ch; }
.callout.warn{ border-left-color:var(--amber); }
.callout p{ margin:0; font-size:.92rem; }
.callout p + p{ margin-top:8px; }
.callout strong{ color:var(--ink); }

/* tables */
.docs-table-wrap{ overflow-x:auto; margin:14px 0 22px; border:1px solid var(--line); border-radius:6px; }
.docs-table{ width:100%; border-collapse:collapse; font-size:.88rem; }
.docs-table th{ text-align:left; padding:10px 12px; font-size:.72rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-faint); border-bottom:1px solid var(--line); background:var(--bg-1); }
.docs-table td{ padding:10px 12px; border-bottom:1px solid var(--line); color:var(--ink-dim); vertical-align:top; line-height:1.55; }
.docs-table tr:last-child td{ border-bottom:0; }
.docs-table td:first-child{ color:var(--ink); }
.docs-table td.num{ text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.docs-table code{ white-space:nowrap; }
@media (max-width:640px){ .docs-table code{ white-space:normal; overflow-wrap:anywhere; } }

/* code blocks with a copy button */
.code-wrap{ position:relative; margin:14px 0; }
.code-wrap pre{ margin:0; padding-top:38px !important; }
.code-copy{ position:absolute; top:6px; right:6px; z-index:1; padding:4px 10px; border:1px solid var(--line); border-radius:4px; background:var(--bg-2); color:var(--ink); font:600 .74rem var(--sans); cursor:pointer; }
.code-copy:hover{ border-color:var(--cyan); }
.code-tabs{ position:relative; }
.docs-article .code-tabs{ margin:14px 0 18px; }
.docs-article .code-tabs-bar, [data-docs-root] .code-tabs-bar{ flex-wrap:wrap; padding-right:70px; }
.docs-article .code-panel{ margin:0; border:0; border-radius:0; background:none; white-space:pre; }
.code-tabs .code-copy{ top:5px; }
.code-tabs:not(:has(.code-tabs-bar)) > .code-panel{ padding-top:40px; }

/* try it */
.try{ margin:10px 0 22px; }
.try-btn{ padding:9px 16px; border:1px solid var(--cyan); border-radius:4px; background:transparent; color:var(--cyan); font:600 .84rem var(--sans); cursor:pointer; }
.try-btn:hover{ background:color-mix(in srgb, var(--cyan) 12%, transparent); }
.try-out{ max-height:420px; overflow:auto; }
.try-status{ font-size:.84rem; color:var(--ink-faint); margin-left:10px; }

.pill{ display:inline-block; padding:1px 8px; border:1px solid var(--line); border-radius:999px; font-size:.74rem; color:var(--ink-dim); white-space:nowrap; }
.pill.yes{ border-color:color-mix(in srgb, var(--good) 60%, var(--line)); color:var(--good); }
.pill.no{ border-color:color-mix(in srgb, var(--bad) 60%, var(--line)); color:var(--bad); }
.docs-article dl{ margin:12px 0 20px; }
.docs-article dt{ font-family:var(--mono); font-size:.88rem; color:var(--ink); margin-top:14px; }
.docs-article dd{ margin:4px 0 0 0; color:var(--ink-dim); font-size:.94rem; line-height:1.65; max-width:72ch; }
.docs-faq details{ border-bottom:1px solid var(--line); padding:14px 0; max-width:72ch; }
.docs-faq summary{ cursor:pointer; font-weight:500; color:var(--ink); }
.docs-faq summary:focus-visible{ outline:2px solid var(--focus); outline-offset:2px; }
.docs-faq details p, .docs-faq details ul{ margin-top:10px; }
.docs-article p code, .docs-article li code, .docs-article dd code{ overflow-wrap:anywhere; }
