/* Crown Intelligence — documentation pages: sidebar + article. Uses the Signal tokens and the cp-* classes. */
.docs-body{ max-width:1120px; margin:0 auto; padding:24px 24px 96px; display:grid; grid-template-columns:240px minmax(0,1fr); gap:48px; }
.docs-nav{ position:sticky; top:84px; align-self:start; max-height:calc(100vh - 100px); overflow-y:auto; padding:20px 0; font-size:.86rem; }
.docs-nav .docs-nav-mobile{ display:none; }
.docs-sec{ margin:0 0 6px; }
.docs-sec summary{ cursor:pointer; list-style:none; padding:8px 0 6px; font-size:.68rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--amber); }
.docs-sec summary::-webkit-details-marker{ display:none; }
.docs-sec ul{ list-style:none; margin:0 0 8px; padding:0; border-left:1px solid var(--line); }
.docs-sec a{ display:block; padding:5px 0 5px 12px; margin-left:-1px; border-left:2px solid transparent; color:var(--ink-dim); text-decoration:none; line-height:1.35; }
.docs-sec a:hover{ color:var(--ink); }
.docs-sec a[aria-current="page"]{ color:var(--ink); border-left-color:var(--cyan); font-weight:500; }
.docs-nav a:focus-visible, .docs-sec summary:focus-visible{ outline:2px solid var(--focus); outline-offset:2px; }

.docs-article{ min-width:0; padding-top:20px; }
.docs-article > h1{ font-family:var(--serif); font-weight:560; font-size:clamp(1.8rem,3.6vw,2.5rem); line-height:1.15; margin:0 0 12px; }
.docs-article .docs-lead{ font-size:1.05rem; color:var(--ink-dim); line-height:1.6; max-width:72ch; margin:0 0 28px; }
.docs-article h2{ font-family:var(--serif); font-weight:500; font-size:1.45rem; margin:44px 0 10px; scroll-margin-top:84px; }
.docs-article h3{ font-size:1.02rem; margin:28px 0 8px; scroll-margin-top:84px; }
.docs-article p, .docs-article li{ color:var(--ink-dim); font-size:.95rem; line-height:1.7; max-width:72ch; }
.docs-article ul, .docs-article ol{ padding-left:22px; }
.docs-article a{ color:var(--cyan); }
.docs-article code{ font-family:var(--mono); font-size:.84em; padding:1px 5px; border:1px solid var(--line); border-radius:3px; background:var(--bg-1); color:var(--ink); }
.docs-article pre{ margin:14px 0; padding:16px 18px; border:1px solid var(--line); border-radius:6px; background:var(--bg-1); overflow-x:auto; font-family:var(--mono); font-size:.82rem; line-height:1.6; color:var(--ink-dim); }
.docs-article pre code{ padding:0; border:0; background:none; font-size:inherit; }
.docs-crumb{ margin:0 0 10px; font-size:.72rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--cyan); }
.docs-crumb a{ color:inherit; text-decoration:none; }
.docs-pager{ display:flex; justify-content:space-between; gap:16px; margin-top:56px; padding-top:20px; border-top:1px solid var(--line); }
.docs-pager a{ display:block; max-width:48%; padding:14px 16px; border:1px solid var(--line); border-radius:6px; text-decoration:none; color:var(--ink); font-size:.92rem; }
.docs-pager a small{ display:block; color:var(--ink-faint); font-size:.74rem; margin-bottom:2px; }
.docs-pager a:hover{ border-color:var(--cyan); }
.docs-updated{ margin-top:28px; font-size:.78rem; color:var(--ink-faint); }
/* "to be provided" slot for content the owner must supply — never filled with invented facts */
.tbp{ margin:16px 0; padding:14px 16px; border:1px dashed color-mix(in srgb, var(--amber) 60%, var(--line)); border-radius:6px; color:var(--ink-dim); font-size:.9rem; }
.tbp strong{ color:var(--amber); }

/* sidebar box: free use and licensing */
.docs-side-promo{ margin:18px 0 0; padding:14px 14px 12px; border:1px solid var(--line); border-radius:6px; background:var(--bg-1); }
.docs-side-promo p{ margin:0 0 10px; color:var(--ink-dim); font-size:.82rem; line-height:1.5; }
.docs-side-promo strong{ display:block; color:var(--ink); margin-bottom:2px; }
.docs-side-promo-btn{ display:block; margin-top:6px; padding:7px 10px; border:1px solid var(--cyan); border-radius:4px; text-align:center; font-weight:600; font-size:.8rem; color:var(--cyan); text-decoration:none; }
.docs-side-promo-btn:hover{ background:color-mix(in srgb, var(--cyan) 12%, transparent); }
.docs-side-promo-alt{ border-color:var(--line); color:var(--ink); }
.docs-side-promo-btn:focus-visible{ outline:2px solid var(--focus); outline-offset:2px; }

@media (max-width:900px){
  .docs-body{ grid-template-columns:1fr; gap:0; padding-top:8px; }
  .docs-nav{ position:static; max-height:none; overflow:visible; padding:12px 0 0; }
  .docs-nav .docs-nav-mobile{ display:block; }
  .docs-nav .docs-nav-mobile summary{ cursor:pointer; padding:12px 14px; border:1px solid var(--line); border-radius:6px; font-weight:600; color:var(--ink); }
  .docs-nav:not(.is-open) .docs-sec, .docs-nav:not(.is-open) .docs-side-promo{ display:none; }
  .docs-nav.is-open .docs-sec{ display:block; padding-left:4px; }
  .docs-pager{ flex-direction:column; } .docs-pager a{ max-width:none; }
}
