/* Fecon Insights shell: page tabs, page switching and the Docs page. Uses the tokens in fusion.css only. */

/* ---------- Page tabs in the black header ---------- */
.titlebar .tabs{display:flex;gap:4px;align-items:stretch;margin-right:auto;margin-left:8px;flex-wrap:wrap}
.tabs a{display:inline-flex;align-items:center;min-height:40px;padding:0 12px;color:var(--chrome-text-2);text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-bottom:3px solid transparent}
.tabs a:hover{color:#fff}
.tabs a[aria-current="page"]{color:#fff;border-bottom-color:var(--brand-red)}
.tabs a:focus-visible{outline:2px solid #fff;outline-offset:-2px}
@media (max-width:640px){.titlebar .tabs{order:3;width:100%;margin-left:0}.tabs a{min-height:36px;padding:0 8px}}
.page[hidden]{display:none}
/* Long option text (tool descriptions) must not widen the page on phones. */
.filters .field{max-width:100%;min-width:0}
.filters .field select{max-width:100%}

/* ---------- Docs ---------- */
.docs-layout{display:grid;grid-template-columns:240px minmax(0,1fr) 200px;gap:32px;padding-top:24px;padding-bottom:48px;align-items:start}
@media (max-width:1100px){.docs-layout{grid-template-columns:220px minmax(0,1fr)}.docs-onpage{display:none}}
@media (max-width:760px){.docs-layout{grid-template-columns:minmax(0,1fr);gap:16px}}
.docs-nav{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto;font-size:13px}
@media (max-width:760px){.docs-nav{position:static;max-height:none}}
.docs-search{margin-bottom:16px}
.docs-nav h3{margin:16px 0 4px}
.docs-nav ul{list-style:none;margin:0;padding:0}
.docs-nav li a{display:block;padding:4px 8px;border-radius:var(--radius);color:var(--text-2);text-decoration:none;border-left:2px solid transparent}
.docs-nav li a:hover{color:var(--text);background:var(--surface-2)}
.docs-nav li a[aria-current="page"]{color:var(--accent);border-left-color:var(--accent);background:var(--accent-weak);font-weight:600}
.docs-results{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px;margin-bottom:12px}
.docs-results a{display:block;padding:6px 8px;color:var(--text);text-decoration:none;border-radius:var(--radius)}
.docs-results a:hover,.docs-results a:focus-visible{background:var(--surface-2)}
.docs-results .snip{display:block;font-size:12px;color:var(--text-3);margin-top:2px}
.docs-main{min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px 32px;outline:none}
@media (max-width:640px){.docs-main{padding:16px}}
.docs-onpage{position:sticky;top:16px;font-size:12px}
.docs-onpage h3{margin-bottom:8px}
.docs-onpage a{display:block;padding:3px 0;color:var(--text-3);text-decoration:none}
.docs-onpage a.l3{padding-left:12px}
.docs-onpage a:hover{color:var(--accent)}
.docs-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--text-3);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}

/* Markdown content */
.md{font-size:15px;line-height:1.65;color:var(--text);max-width:860px}
.md h1{font-size:28px;margin:0 0 16px}
.md h2{font-size:20px;margin:32px 0 12px;padding-top:8px;border-top:1px solid var(--border)}
.md h3{font-size:15px;margin:24px 0 8px;color:var(--text);text-transform:none;letter-spacing:0}
.md h4{font-size:14px;margin:20px 0 8px}
.md p,.md ul,.md ol,.md blockquote,.md table,.md pre{margin:0 0 14px}
.md ul,.md ol{padding-left:24px}
.md li{margin:2px 0}
.md blockquote{border-left:3px solid var(--border-strong);padding:4px 16px;color:var(--text-2);background:var(--surface-2)}
.md code{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:.88em;background:var(--surface-2);padding:1px 5px;border-radius:3px}
.md pre{position:relative;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;overflow-x:auto}
.md pre code{background:none;padding:0;font-size:13px}
.md table{border-collapse:collapse;display:block;overflow-x:auto;max-width:100%;font-size:13px}
.md th,.md td{white-space:normal;border:1px solid var(--border);padding:6px 10px;vertical-align:top}
.md thead th{position:static;background:var(--surface-2)}
.md tbody tr{cursor:default}
.md tbody tr:hover{background:transparent}
.md hr{border:0;border-top:1px solid var(--border);margin:24px 0}
.md .anchor{margin-left:6px;color:var(--text-3);text-decoration:none;opacity:0;font-weight:400}
.md h2:hover .anchor,.md h3:hover .anchor,.md h4:hover .anchor,.md .anchor:focus-visible{opacity:1}
.md .copy{position:absolute;top:6px;right:6px}
.md .mermaid{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;margin:0 0 14px;overflow-x:auto;text-align:center}
.md .generated{font-size:12px;color:var(--text-3);border:1px dashed var(--border-strong);border-radius:var(--radius);padding:6px 10px;margin-bottom:16px}
/* highlight.js tokens on the platform palette (both themes) */
.hljs-keyword,.hljs-built_in,.hljs-type{color:var(--cat-6)}
.hljs-string,.hljs-attr{color:var(--cat-3)}
.hljs-number,.hljs-literal{color:var(--cat-4)}
.hljs-comment{color:var(--text-3);font-style:italic}
.hljs-title,.hljs-name,.hljs-variable{color:var(--cat-5)}
/* Market Activity: public signals */
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:baseline}
#mDis tbody tr[data-cluster]{cursor:pointer}
#mDis td,#mPrj td{white-space:normal}
#mDis td:first-child,#mPrj td:first-child{min-width:220px;max-width:420px}
#mPrj td:first-child a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* Market Activity: inference */
.insights{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.insight{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:start;border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;background:var(--surface)}
.insight .ins-head{grid-column:1/-1;display:flex;gap:8px;align-items:center}
.insight .ins-cat{font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}
.insight .ins-text{font-size:13px;line-height:1.45}
.insight .ins-text .muted{margin-top:4px;font-size:12px}
.insight .ins-evidence{margin-top:4px;font-size:11px;color:var(--text-3)}
.dpi-bar{display:flex;height:10px;width:120px;border-radius:2px;overflow:hidden;background:var(--surface-2)}
.dpi-bar span{display:block;height:100%}
.dpi-legend{display:flex;flex-wrap:wrap;gap:4px 12px}
.dpi-legend .key{display:inline-flex;align-items:center;font-size:12px;color:var(--text-2)}
#mDpi tbody tr[data-st]{cursor:pointer}
#mOut tbody tr[data-dealer]{cursor:pointer}
