/* Equity Fingerprint page: stock figures (map, confusion, mcap, importance). All rules scoped under body.pc-ef, classes prefixed efs-. */
body.pc-ef [data-ef="map"], body.pc-ef [data-ef="confusion"], body.pc-ef [data-ef="mcap"], body.pc-ef [data-ef="importance"] { position:relative; min-width:0; }
body.pc-ef .efs-sr { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
body.pc-ef .efs-svghost { min-width:0; width:100%; }
body.pc-ef .efs-svg { display:block; max-width:none; overflow:visible; }
body.pc-ef .efs-svg text { font:400 12px 'DM Mono',ui-monospace,monospace; fill:var(--pc-muted); }

/* ---------- pills (selected = accent border + chip background) ---------- */
body.pc-ef .efs-pills { display:flex; flex-wrap:wrap; gap:8px; margin:4px 0 16px; }
html body.pc-ef .efs-pills button { margin:0; padding:5px 12px; border-radius:999px; cursor:pointer; display:inline-flex; align-items:center; gap:7px;
  font:500 12.5px/1.4 'DM Mono',ui-monospace,monospace; box-shadow:none !important;
  border:1px solid var(--pc-line) !important; background:transparent !important; color:var(--pc-muted) !important; }
html body.pc-ef .efs-pills button:hover { color:var(--pc-text) !important; border-color:var(--pc-muted) !important; background:transparent !important; }
html body.pc-ef .efs-pills button[aria-pressed="true"] { color:var(--pc-text) !important; border-color:var(--pc-accent) !important; background:var(--pc-chip) !important; }
html body.pc-ef .efs-pills button:focus-visible { outline:2px solid var(--pc-text); outline-offset:2px; }
body.pc-ef .efs-sw { display:inline-block; flex:none; width:9px; height:9px; border-radius:50%; margin-right:2px; }
body.pc-ef .efs-meta .efs-sw { margin-right:7px; }
@media (prefers-reduced-motion:no-preference) {
  html body.pc-ef .efs-pills button { transition:color .2s,border-color .2s; }
}

/* ---------- map ---------- */
body.pc-ef .efs-controls { display:block; }
body.pc-ef .efs-searchbox { display:block; margin:0 0 12px; }
html body.pc-ef input.efs-search { width:100%; max-width:380px; box-sizing:border-box; margin:0; padding:7px 12px; border-radius:999px;
  font:400 13.5px/1.4 'DM Sans',system-ui,sans-serif; color:var(--pc-text) !important; background:transparent !important;
  border:1px solid var(--pc-line) !important; box-shadow:none !important; }
html body.pc-ef input.efs-search:focus { outline:2px solid var(--pc-text); outline-offset:2px; border-color:var(--pc-muted) !important; }
html body.pc-ef input.efs-search::placeholder { color:var(--pc-muted); opacity:1; }
body.pc-ef .efs-searchmsg { margin:-4px 0 12px; font:400 12.5px/1.5 'DM Mono',ui-monospace,monospace; color:var(--pc-muted); }
body.pc-ef .efs-searchmsg:empty { display:none; }
body.pc-ef .efs-mapgrid { display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:28px; align-items:start; }
body.pc-ef .efs-side { min-width:0; padding-left:24px; border-left:1px solid var(--pc-line); }
body.pc-ef .efs-name { margin:0; font:600 16px/1.35 'DM Sans',system-ui,sans-serif; color:var(--pc-text); overflow-wrap:anywhere; }
body.pc-ef .efs-meta { margin:4px 0 14px; font:400 12.5px/1.5 'DM Mono',ui-monospace,monospace; color:var(--pc-muted); display:flex; align-items:center; flex-wrap:wrap; }
body.pc-ef .efs-line { margin:0 0 12px; font-size:13.5px; line-height:1.5; color:var(--pc-text); }
body.pc-ef .efs-line b { font:500 11.5px/1.6 'DM Mono',ui-monospace,monospace; letter-spacing:.06em; text-transform:uppercase; color:var(--pc-muted); }
body.pc-ef .efs-line-h { margin:16px 0 6px; }
body.pc-ef .efs-nbs { display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
html body.pc-ef .efs-nbs button { margin:0; padding:5px 12px; border-radius:999px; cursor:pointer; display:inline-flex; align-items:center; gap:7px; max-width:100%; text-align:left;
  font:400 13px/1.35 'DM Sans',system-ui,sans-serif; box-shadow:none !important;
  border:1px solid var(--pc-line) !important; background:transparent !important; color:var(--pc-text) !important; }
html body.pc-ef .efs-nbs button:hover { border-color:var(--pc-accent) !important; background:var(--pc-chip) !important; }
html body.pc-ef .efs-nbs button:focus-visible { outline:2px solid var(--pc-text); outline-offset:2px; }
body.pc-ef .efs-mapsvg { touch-action:manipulation; }
body.pc-ef .efs-dot { stroke:var(--pc-bg); stroke-width:1; outline:none; }
body.pc-ef .efs-dot:focus-visible { stroke:var(--pc-text); stroke-width:2.5; }
body.pc-ef .efs-dot.is-soft { opacity:.62; }
body.pc-ef .efs-dot.is-dim { opacity:.14; }
body.pc-ef .efs-ring { fill:none; stroke:var(--pc-accent); stroke-width:2.5; pointer-events:none; }
body.pc-ef .efs-nring { fill:none; stroke:var(--pc-accent); stroke-width:1.5; opacity:.85; pointer-events:none; }
body.pc-ef .efs-nline { stroke:var(--pc-accent); stroke-width:1.5; opacity:.8; pointer-events:none; }
body.pc-ef .efs-svg text.efs-lab { paint-order:stroke; stroke:var(--pc-bg); stroke-width:4px; stroke-linejoin:round; pointer-events:none; }
body.pc-ef .efs-svg text.efs-lab-n { font:400 12px 'DM Mono',ui-monospace,monospace; fill:var(--pc-text); }
body.pc-ef .efs-svg text.efs-lab-s { font:600 13px 'DM Sans',system-ui,sans-serif; fill:var(--pc-accent); }
@media (prefers-reduced-motion:no-preference) {
  body.pc-ef .efs-dot { transition:opacity .2s; }
}
@media (max-width:759px) {
  body.pc-ef .efs-mapgrid { grid-template-columns:minmax(0,1fr); gap:0; }
  body.pc-ef .efs-side { padding:16px 0 0; margin-top:16px; border-left:0; border-top:1px solid var(--pc-line); }
}

/* ---------- confusion ---------- */
body.pc-ef .efs-scroll { overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; }
body.pc-ef .efs-hint { margin:6px 0 0; font:400 12px/1.4 'DM Mono',ui-monospace,monospace; color:var(--pc-muted); }
body.pc-ef .efs-hint[hidden] { display:none; }
body.pc-ef .efs-svg text.efs-axis { font:500 11.5px 'DM Mono',ui-monospace,monospace; letter-spacing:.04em; fill:var(--pc-muted); }
body.pc-ef .efs-svg text.efs-col { font:400 12px 'DM Sans',system-ui,sans-serif; fill:var(--pc-text); }
body.pc-ef .efs-svg text.efs-row { font:400 13px 'DM Sans',system-ui,sans-serif; fill:var(--pc-text); }
body.pc-ef .efs-svg text.efs-row.is-top { fill:var(--pc-accent); font-weight:600; }
body.pc-ef .efs-svg tspan.efs-rowN { font:400 12px 'DM Mono',ui-monospace,monospace; fill:var(--pc-muted); }
body.pc-ef .efs-cell { outline:none; cursor:default; }
body.pc-ef .efs-cellbg { fill:var(--pc-chip); }
body.pc-ef .efs-cellfill { fill:var(--pc-accent); }
body.pc-ef .efs-diag { fill:none; stroke:var(--pc-accent); stroke-width:1.5; pointer-events:none; }
body.pc-ef .efs-cell:focus .efs-cellbg, body.pc-ef .efs-cell:focus-visible .efs-cellbg { stroke:var(--pc-text); stroke-width:2; }
body.pc-ef .efs-svg text.efs-ct { font:500 12px 'DM Mono',ui-monospace,monospace; fill:var(--pc-text); pointer-events:none; }
html[data-theme="light"] body.pc-ef .efs-svg text.efs-ct.hd { fill:var(--pc-bg); }
html:not([data-theme="light"]) body.pc-ef .efs-svg text.efs-ct.hl { fill:var(--pc-bg); }

/* ---------- mcap and importance ---------- */
body.pc-ef .efs-grid { stroke:var(--pc-line); stroke-width:1; }
body.pc-ef .efs-frame { stroke:var(--pc-muted); stroke-width:1; opacity:.6; }
body.pc-ef .efs-diagline { stroke:var(--pc-muted); stroke-width:1.25; stroke-dasharray:5 4; }
body.pc-ef .efs-svg text.efs-tick { font:400 12px 'DM Mono',ui-monospace,monospace; fill:var(--pc-muted); }
body.pc-ef .efs-pt { fill:var(--pc-text); fill-opacity:.42; stroke:var(--pc-bg); stroke-width:.75; }
body.pc-ef .efs-pt-err { fill:none; stroke:var(--pc-text); stroke-width:1.5; fill-opacity:1; }
body.pc-ef .efs-pt-sel { fill:var(--pc-accent); fill-opacity:1; stroke:var(--pc-bg); stroke-width:1.5; }
body.pc-ef .efs-status { margin:8px 0 0; font:400 12.5px/1.5 'DM Mono',ui-monospace,monospace; color:var(--pc-muted); }
body.pc-ef .efs-bar { fill:var(--pc-muted); }
@supports (fill:color-mix(in srgb,red,blue)) { body.pc-ef .efs-bar { fill:color-mix(in srgb,var(--pc-muted) 55%,var(--pc-bg)); } }
html body.pc-ef .efs-bar.is-top { fill:var(--pc-accent); }
body.pc-ef .efs-svg text.efs-val { font:500 12px 'DM Mono',ui-monospace,monospace; fill:var(--pc-text); }
body.pc-ef .efs-svg text.efs-val.is-top { fill:var(--pc-accent); font-weight:600; }

/* ---------- tooltip ---------- */
body.pc-ef .efs-tip { position:absolute; z-index:5; max-width:min(320px,calc(100% - 8px)); padding:6px 10px; border-radius:6px; pointer-events:none;
  background:var(--pc-bg); border:1px solid var(--pc-muted); color:var(--pc-text); font:400 12.5px/1.45 'DM Sans',system-ui,sans-serif; box-shadow:none; }
body.pc-ef .efs-tip[hidden] { display:none; }
body.pc-ef .efs-tip span { display:block; }
body.pc-ef .efs-tip .efs-tip-t { font-weight:600; }
