/* sos-across.css - components for the four "Across all twelve" pages.
   Uses sos.css tokens; fallbacks only where a token name is not known.
   Can be folded into sos.css as-is. */

/* confidence dot on every value */
.cf{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px;vertical-align:1px;flex:none}
.cf-o{background:var(--c-obs,#F7CD52)}
.cf-b{background:var(--c-bld,#F57C42)}
.cf-p{background:var(--c-prj,#DC5AA4)}
.cf-m{background:var(--c-mod,#9B72E6)}

.xa-legend{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--fg-3);margin:18px 0}
.xa-legend a{color:var(--c-head,#8FB8E0);text-decoration:none;border-bottom:1px solid rgba(143,184,224,.3)}

/* filters */
.xa-filters{margin:8px 0 18px;padding:14px 16px;border:1px solid var(--line,rgba(255,255,255,.1));border-radius:8px}
.xa-filters__row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}
.xa-filters__k{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);min-width:96px}
.xa-chip{font:500 13px/1 "Instrument Sans",sans-serif;color:var(--fg-2);background:transparent;border:1px solid var(--line,rgba(255,255,255,.16));border-radius:999px;padding:7px 12px;cursor:pointer}
.xa-chip:hover{border-color:var(--c-head,#8FB8E0);color:var(--fg-1,#fff)}
.xa-chip[aria-pressed="true"]{background:rgba(143,184,224,.14);border-color:var(--c-head,#8FB8E0);color:var(--c-head,#8FB8E0)}
.xa-filters__count{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--fg-3);margin:6px 0 0}
.xa-reset{font:inherit;color:var(--c-head,#8FB8E0);background:none;border:0;padding:0;cursor:pointer;border-bottom:1px solid rgba(143,184,224,.3)}

/* wide numeric tables scroll inside their own box on narrow screens */
.xa-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px}
.xa-tbl{min-width:860px}
.xa-tbl td{white-space:nowrap}
.xa-tbl td a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(143,184,224,.3)}
.xa-tbl th button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:left}
.xa-tbl th button::after{content:" \2195";color:var(--c-head,#8FB8E0)}
.xa-tbl tr[hidden]{display:none}

/* small multiples */
.xa-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:8px}
@media (max-width:900px){.xa-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.xa-grid{grid-template-columns:1fr}}
.xa-fig{margin:0;padding:14px 14px 10px;border:1px solid var(--line,rgba(255,255,255,.1));border-radius:8px}
.xa-fig figcaption{display:flex;flex-direction:column;gap:2px}
.xa-fig figcaption a{font-weight:600;color:var(--c-head,#8FB8E0);text-decoration:none}
.xa-fig figcaption span{font-family:"IBM Plex Mono",monospace;font-size:11px;color:var(--fg-3)}
.xa-fig__svg{display:block;width:100%;height:auto;margin-top:6px}
.xa-fig__binds{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--fg-2);margin:4px 0 0}
.xa-grid-line{fill:none;stroke:rgba(220,228,239,.12);stroke-width:1}
.xa-base{stroke:rgba(220,228,239,.35);stroke-width:1}
.xa-ax{font-family:"IBM Plex Mono",monospace;font-size:9px;fill:var(--fg-3,#8B95A3)}

.xa-list{padding-left:18px}
.xa-list li{margin-bottom:8px}
