/* Secondary Conditions Explorer, page-scoped styles for /dc/secondary.html.
 *
 * Loaded by that ONE page. Every selector sits under `.secondary-explorer` on
 * <main> so nothing here can reach another page, and every colour reads a
 * main.css token so the site's two dark-mode mechanisms (:root[data-theme] and
 * the prefers-color-scheme mirror) both work without a second palette here.
 *
 * The approved treatment is the V2 mockup in
 * untracked_files/CODEX_CLAUDE_SHARE/SECONDARY-EXPLORER-MOCKUP-V2-2026-09-11.
 * Its private palette (gold/surface/line/muted/link) is mapped onto site tokens
 * below; the artwork mat and the placeholder are the deliberate exceptions,
 * fixed in both themes because the illustrations are painted on a warm ground
 * and flipping it to a dark surface breaks every image edge.
 *
 * THE BUTTON LAW: every clickable card carries 2px solid var(--color-accent)
 * plus the cursor-following glow from card-fx (class `cardfx-pop` in markup),
 * a hover lift, and a border shift to --color-primary.
 */

.secondary-explorer {
  --sx-gold:    var(--color-accent);
  --sx-surface: var(--color-surface);
  --sx-raised:  var(--color-bg-alt);
  --sx-line:    var(--color-border);
  --sx-muted:   var(--color-text-muted);
  --sx-link:    var(--color-primary);
  /* Artwork mat. Fixed in both themes on purpose, see the header. */
  --sx-ivory:   #f4f0e7;
  --sx-mat-edge:#c6a45160;
}

/* The page keeps <body class="dc-page editorial"> so nothing shared that reads
   those classes changes, but .editorial is the ARTICLE treatment: serif body
   copy, centred h2s and auto-margined paragraphs. This is a tool, and the
   approved V2 comp is sans body copy, serif headings and a left edge every
   block shares. These four rules are that override, scoped to this main and
   nowhere else. */
main.secondary-explorer { font-family: var(--font-sans); }
main.secondary-explorer p,
main.secondary-explorer li,
main.secondary-explorer small,
main.secondary-explorer button,
main.secondary-explorer input { font-family: var(--font-sans); }
main.secondary-explorer h1,
main.secondary-explorer h2,
main.secondary-explorer h3,
main.secondary-explorer h4 { text-align: left; color: var(--color-text); }
main.secondary-explorer p { margin-left: 0; margin-right: 0; }

/* The shared `.editorial p` rule centres prose inside the page measure. That is
   right for an article and wrong inside a card, so prose that lives in one of
   this page's components resets it. */
.secondary-explorer .sx-card-body p,
.secondary-explorer .sx-group-body p,
.secondary-explorer .sx-evidence p,
.secondary-explorer .sx-aside p,
.secondary-explorer .sx-row p { margin-left: 0; margin-right: 0; max-width: none; }

/* The shared .container is capped at 900px, a READING measure meant for
   article prose. This page is a four-across card browser and the approved comp
   is 1248px wide, so the tool's own column is widened here and nowhere else.
   Reading comfort is kept where it matters: the About prose stays at 850px and
   the disclaimer at 1020px, both set further down. */
main.secondary-explorer > .container { max-width: 1248px; }

/* ---------- intro and search ---------- */

.secondary-explorer .sx-intro { padding: 1.2rem 0 1.6rem; border-bottom: 1px solid var(--sx-line); }
.secondary-explorer .sx-eyebrow {
  font-size: .69rem; letter-spacing: 2px; font-weight: 700;
  color: var(--color-accent); margin-bottom: .8rem;
}
.secondary-explorer .sx-intro h1 {
  font-family: var(--font-serif); font-size: clamp(2rem, 4.1vw, 3.2rem);
  font-weight: 600; letter-spacing: -1.6px; line-height: 1.12; margin: 0 0 .9rem;
}
main.secondary-explorer .sx-intro h1 em { font-style: normal; color: var(--sx-link); }
.secondary-explorer .sx-intro-copy {
  font-size: 1.06rem; color: var(--sx-muted); line-height: 1.55;
  margin: 0 0 1.4rem; max-width: 46rem;
}

.secondary-explorer .sx-search { max-width: 800px; position: relative; }
.secondary-explorer .sx-search > label { display: block; font-weight: 600; font-size: .8rem; margin-bottom: .5rem; }
.secondary-explorer .sx-field {
  display: flex; align-items: center; background: var(--sx-surface);
  border: 1px solid var(--color-control-border); border-radius: 9px; padding: 6px;
  box-shadow: var(--shadow-sm);
}
.secondary-explorer .sx-field:focus-within { box-shadow: 0 0 0 3px var(--color-primary-light); }
.secondary-explorer .sx-symbol {
  font-family: var(--font-serif); font-size: 2rem; line-height: 1; color: var(--sx-muted);
  margin: 0 .55rem 0 .6rem; transform: rotate(-18deg);
}
.secondary-explorer .sx-field input {
  min-width: 0; width: 100%; border: 0; outline: 0; background: transparent;
  color: var(--color-text); padding: .62rem .5rem; font-size: 1rem; font-family: inherit;
}
.secondary-explorer .sx-field input:focus-visible { outline: none; }
.secondary-explorer .sx-field button {
  border: 0; border-radius: 5px; background: var(--color-accent); color: var(--color-on-accent);
  font-weight: 700; padding: .72rem 1.5rem; white-space: nowrap; cursor: pointer;
  font-family: inherit; font-size: .95rem;
}
.secondary-explorer .sx-field button:hover { background: var(--color-accent-light); }
.secondary-explorer .sx-field button span { margin-left: .8rem; }
.secondary-explorer .sx-search-help { font-size: .75rem; color: var(--sx-muted); margin: .55rem 0 0; }

/* Autocomplete listbox. */
.secondary-explorer .sx-suggestions {
  position: absolute; top: 100%; left: 0; right: 0; z-index: 20;
  background: var(--sx-surface); border: 1px solid var(--sx-line); padding: 6px;
  border-radius: 8px; box-shadow: var(--shadow-lg); max-height: 340px; overflow: auto;
}
.secondary-explorer .sx-suggestions [role="option"] {
  width: 100%; display: flex; justify-content: space-between; gap: 1.1rem;
  padding: .78rem .75rem; border: 0; background: none; text-align: left;
  border-radius: 4px; cursor: pointer; font: inherit; color: inherit;
}
.secondary-explorer .sx-suggestions [role="option"]:hover,
.secondary-explorer .sx-suggestions [role="option"][aria-selected="true"] {
  background: var(--sx-raised); outline: 2px solid var(--sx-link); outline-offset: -2px;
}
.secondary-explorer .sx-suggestions small { color: var(--sx-muted); white-space: nowrap; }
.secondary-explorer .sx-ac-empty { padding: .8rem .75rem; font-size: .85rem; color: var(--sx-muted); }
.secondary-explorer .sx-ai-badge { margin-left: .4rem; }
/* C08 (2026-09-13): the badge is the shared beveled `.ctl-match-badge`
   (main.css); the confidence modifiers stay as hooks with no colour of their
   own, so the badge never reads as a success or warning meter. */

/* ---------- browse ---------- */

.secondary-explorer .sx-browse-controls {
  display: flex; align-items: center; justify-content: space-between; gap: .9rem; padding-top: 1.6rem;
}
.secondary-explorer .sx-tabs {
  display: flex; padding: 4px; background: var(--sx-raised); border-radius: 9px; border: 1px solid var(--sx-line);
}
.secondary-explorer .sx-tabs button {
  border: 1px solid transparent; background: transparent; font-size: .85rem; font-weight: 600;
  color: var(--sx-muted); padding: .6rem .9rem; border-radius: 6px; line-height: 1.4;
  cursor: pointer; font-family: inherit;
}
.secondary-explorer .sx-tabs button[aria-selected="true"] {
  background: var(--sx-surface); color: var(--color-text); border-color: var(--sx-gold);
}
.secondary-explorer .sx-tabs .sx-tab-count {
  font-size: .68rem; margin-left: .45rem; background: var(--sx-raised);
  padding: 2px 6px; border-radius: 4px;
}
.secondary-explorer .sx-map-link { font-size: .8rem; }

.secondary-explorer .sx-section-heading {
  display: flex; justify-content: space-between; gap: 1.5rem; align-items: center; margin: 1.7rem 0 1.4rem;
}
.secondary-explorer .sx-section-heading h2 {
  font-family: var(--font-serif); font-size: 1.65rem; font-weight: 600;
  letter-spacing: -.5px; margin: 0 0 .5rem;
}
.secondary-explorer .sx-section-heading p { font-size: .88rem; color: var(--sx-muted); margin: 0; max-width: none; }
.secondary-explorer .sx-index-label { font-size: .63rem; letter-spacing: 1.2px; color: var(--sx-muted); white-space: nowrap; }

.secondary-explorer .sx-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.4rem; }

.secondary-explorer .sx-card {
  display: flex; flex-direction: column; position: relative; min-width: 0; text-align: left;
  border: 2px solid var(--color-accent); border-radius: 12px; background: var(--sx-surface);
  padding: 0; overflow: hidden; cursor: pointer; color: inherit; font: inherit;
  transition: transform .16s, box-shadow .16s, border-color .16s;
}
.secondary-explorer .sx-card:hover {
  transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: var(--color-primary);
}
.secondary-explorer .sx-card-body {
  padding: 1.1rem 1rem 1rem; display: flex; flex-direction: column; flex: 1; min-height: 131px;
}
.secondary-explorer .sx-card-code { font-size: .63rem; letter-spacing: 1.1px; color: var(--sx-muted); margin-bottom: .45rem; }
.secondary-explorer .sx-card-title {
  font-family: var(--font-serif); font-size: 1.32rem; line-height: 1.13; letter-spacing: -.25px;
  font-weight: 600; flex: 1; margin: 0 0 1rem; overflow-wrap: break-word;
}
.secondary-explorer .sx-card-bottom {
  display: flex; align-items: center; justify-content: space-between;
  font-size: .75rem; color: var(--sx-muted); gap: .5rem;
}
.secondary-explorer .sx-card-bottom b { color: var(--color-text); font-weight: 600; }
.secondary-explorer .sx-arrow { color: var(--color-accent); font-size: 1.3rem; line-height: 1; }

/* ---------- artwork frames ---------- */

.secondary-explorer .sx-art {
  height: 171px; background: var(--sx-ivory); overflow: hidden; position: relative;
  border-bottom: 1px solid var(--sx-mat-edge); isolation: isolate;
}
.secondary-explorer .sx-art img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
/* Per-subject framing from V2. Knee and shoulder share one source image and
   must keep DIFFERENT crops, or the two cards read as duplicates. */
.secondary-explorer .sx-art-tbi img { width: 132%; max-width: none; transform: translateX(-24%); }
.secondary-explorer .sx-art-fibromyalgia img { width: 122%; max-width: none; transform: translateX(-17%); }
.secondary-explorer .sx-art-joint-knee img { width: 200%; max-width: none; object-position: left center; transform: none; }
.secondary-explorer .sx-art-joint-shoulder img { width: 200%; max-width: none; object-position: right center; transform: translateX(-50%); }
.secondary-explorer .sx-art-back-neck img { object-fit: contain; }
.secondary-explorer .sx-art-caption {
  position: absolute; bottom: 6px; left: 7px; background: #fff9e9ed; color: #4c493b;
  border: 1px solid #d1c4a6; padding: 2px 5px; font-size: .63rem; line-height: 1.35;
  border-radius: 3px; max-width: calc(100% - 14px);
}
/* Image failure must never erase the condition name or the action. */
.secondary-explorer .sx-art-placeholder {
  display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 8px;
  color: #756644; background: #f3eee3;
  background-image: radial-gradient(#99805e26 1px, transparent 1px); background-size: 12px 12px;
}
.secondary-explorer .sx-ph-code { font: 600 2.2rem var(--font-serif); color: #8f7b56; line-height: 1; }
.secondary-explorer .sx-ph-label {
  font-size: .63rem; letter-spacing: 1.1px; text-transform: uppercase;
  border-top: 1px solid #c5b998; padding-top: 8px;
}

.secondary-explorer .sx-count-note { font-size: .7rem; line-height: 1.6; color: var(--sx-muted); margin: 1.25rem 0 0; max-width: none; }

/* ---------- residual groups ---------- */

.secondary-explorer .sx-group-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.4rem; }
.secondary-explorer .sx-group-card {
  border: 2px solid var(--color-accent); background: var(--sx-surface); text-align: left;
  border-radius: 12px; overflow: hidden; padding: 0; cursor: pointer; color: inherit; font: inherit;
  transition: transform .16s, box-shadow .16s, border-color .16s;
}
.secondary-explorer .sx-group-card:hover {
  transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: var(--color-primary);
}
.secondary-explorer .sx-group-card .sx-art { height: 180px; }
.secondary-explorer .sx-group-body { padding: 1.25rem; }
.secondary-explorer .sx-group-body h3 { font: 600 1.5rem/1.18 var(--font-serif); margin: 0 0 .6rem; }
.secondary-explorer .sx-group-body p { color: var(--sx-muted); font-size: .82rem; margin: 0 0 1rem; }
.secondary-explorer .sx-group-count { display: flex; justify-content: space-between; font-size: .82rem; }
.secondary-explorer .sx-group-card[aria-pressed="true"] { border-color: var(--color-primary); box-shadow: 0 0 0 3px var(--color-primary-light); }

.secondary-explorer .sx-group-list-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: 2rem 0 1.1rem; }
.secondary-explorer .sx-group-list-heading h3 { font: 600 1.65rem var(--font-serif); margin: 0; }

.secondary-explorer .sx-rows {
  border: 2px solid var(--color-accent); border-radius: 10px; overflow: hidden;
  background: var(--sx-surface); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
}
.secondary-explorer .sx-row {
  background: none; border: 0; border-bottom: 1px solid var(--sx-line); padding: 1.2rem 1.25rem;
  text-align: left; display: flex; align-items: center; gap: .75rem; min-width: 0;
  cursor: pointer; color: inherit; font: inherit;
}
.secondary-explorer .sx-row:nth-child(odd) { border-right: 1px solid var(--sx-line); }
.secondary-explorer .sx-row:hover { background: var(--sx-raised); }
.secondary-explorer .sx-row strong { display: block; font-size: .95rem; font-weight: 600; line-height: 1.4; }
.secondary-explorer .sx-row small { font-size: .7rem; color: var(--sx-muted); }
.secondary-explorer .sx-row .sx-arrow { margin-left: auto; }

/* ---------- selected result ---------- */

.secondary-explorer .sx-result-nav { display: flex; justify-content: space-between; align-items: center; padding: 1.6rem 0 1.2rem; gap: 1.1rem; }
.secondary-explorer .sx-result-nav button {
  background: none; color: var(--sx-link); border: 0; padding: .6rem 0; font-weight: 500;
  cursor: pointer; font-family: inherit; font-size: .92rem;
}
.secondary-explorer .sx-result-nav > span { color: var(--sx-muted); font-size: .75rem; }

.secondary-explorer .sx-selected-header {
  display: grid; grid-template-columns: minmax(0, 1fr) 270px;
  border: 2px solid var(--color-accent); border-radius: 12px; overflow: hidden; background: var(--sx-surface);
}
.secondary-explorer .sx-selected-copy { padding: 1.8rem 2rem; }
.secondary-explorer .sx-selected-copy .sx-eyebrow { margin-bottom: .8rem; font-size: .63rem; }
.secondary-explorer .sx-selected-copy h1 { font-family: var(--font-serif); font-size: 2.35rem; font-weight: 600; letter-spacing: -1px; line-height: 1.12; margin: 0 0 .5rem; }
.secondary-explorer .sx-selected-copy h1:focus { outline: none; }
.secondary-explorer .sx-full-name { color: var(--sx-muted); font-size: .85rem; margin: 0 0 1rem; max-width: none; }
.secondary-explorer .sx-selected-description { font-size: .95rem; color: var(--sx-muted); max-width: 650px; line-height: 1.7; margin: 0; }
.secondary-explorer .sx-selected-header .sx-art { height: 100%; min-height: 245px; border: 0; border-left: 1px solid var(--sx-mat-edge); }
.secondary-explorer .sx-overview { margin-top: .9rem; font-size: .88rem; }
.secondary-explorer .sx-overview summary { cursor: pointer; color: var(--sx-link); font-size: .82rem; }
.secondary-explorer .sx-overview p { color: var(--sx-muted); line-height: 1.75; margin: .9rem 0 0; max-width: none; }

.secondary-explorer .sx-results-layout { display: grid; grid-template-columns: minmax(0, 1fr) 230px; gap: 2.2rem; margin-top: 1.9rem; }
.secondary-explorer .sx-results-title { display: flex; align-items: center; gap: .75rem; margin-bottom: .5rem; }
.secondary-explorer .sx-results-title h2 { font-family: var(--font-serif); font-size: 1.85rem; font-weight: 600; margin: 0; }
.secondary-explorer .sx-total { background: var(--sx-raised); border: 1px solid var(--sx-line); border-radius: 6px; padding: 1px 10px; font-size: .88rem; }
.secondary-explorer .sx-also { font-family: var(--font-serif); font-size: 1.5rem; font-weight: 600; margin: 2rem 0 1rem; }
.secondary-explorer .sx-results-explanation { color: var(--sx-muted); font-size: .88rem; margin: 0 0 1.4rem; max-width: none; }

.secondary-explorer .sx-evidence {
  border: 1px solid var(--sx-line); border-left: 3px solid var(--color-accent); border-radius: 7px;
  padding: 1.3rem 1.4rem; background: var(--sx-surface); margin-bottom: .9rem;
}
.secondary-explorer .sx-evidence-heading { display: flex; align-items: flex-start; gap: .75rem; justify-content: space-between; }
.secondary-explorer .sx-evidence-heading h3 { font: 600 1.4rem/1.25 var(--font-serif); margin: 0 0 .7rem; overflow-wrap: anywhere; }
.secondary-explorer .sx-dc { display: block; font: 400 .69rem var(--font-sans); letter-spacing: .7px; color: var(--sx-muted); margin-bottom: .45rem; }
.secondary-explorer .sx-basis { font-size: .88rem; line-height: 1.7; color: var(--sx-muted); margin: 0 0 .9rem; max-width: none; }
.secondary-explorer .sx-evidence details { border-top: 1px solid var(--sx-line); padding-top: .75rem; }
.secondary-explorer .sx-evidence summary {
  font-size: .82rem; color: var(--sx-link); cursor: pointer; font-weight: 600;
  display: flex; align-items: center; justify-content: space-between; gap: .9rem; list-style: none;
}
.secondary-explorer .sx-evidence summary::-webkit-details-marker { display: none; }
.secondary-explorer .sx-evidence summary::after { content: '+'; font-size: 1.2rem; font-weight: 400; }
.secondary-explorer .sx-evidence details[open] summary::after { content: '\2212'; }
.secondary-explorer .sx-evidence-body { margin-top: 1rem; font-size: .88rem; line-height: 1.75; }
.secondary-explorer .sx-evidence-body h4 { font-size: .69rem; letter-spacing: .9px; text-transform: uppercase; color: var(--sx-muted); margin: 1.1rem 0 .35rem; }
.secondary-explorer .sx-evidence-body p { margin: 0 0 .75rem; max-width: none; }
.secondary-explorer .sx-evidence-body a { font-size: .82rem; }

.secondary-explorer .sx-aside { padding-top: .25rem; }
.secondary-explorer .sx-aside h3 { font: 600 1.3rem var(--font-serif); margin: 0 0 .75rem; }
.secondary-explorer .sx-aside p { font-size: .82rem; color: var(--sx-muted); line-height: 1.7; }
.secondary-explorer .sx-aside a { display: block; padding: .75rem 0; border-bottom: 1px solid var(--sx-line); font-size: .82rem; }
.secondary-explorer .sx-aside-note { padding: 1.1rem 0 0; margin-top: 1.2rem; font-size: .75rem; }

/* Other parents the same search returned. NOT relationships of the selection. */
.secondary-explorer .sx-other {
  margin: 2rem 0 1.4rem; border: 1px solid var(--sx-line); border-radius: 8px;
  background: var(--sx-surface); padding: 1.1rem 1.25rem;
}
.secondary-explorer .sx-other > summary { cursor: pointer; font-weight: 600; color: var(--sx-link); font-size: .88rem; min-height: 28px; }
.secondary-explorer .sx-other > summary span { display: inline-block; margin-left: .5rem; border: 1px solid var(--sx-line); border-radius: 4px; padding: 0 7px; color: var(--color-text); }
.secondary-explorer .sx-other > p { font-size: .82rem; line-height: 1.7; color: var(--sx-muted); margin: .9rem 0; max-width: none; }

/* ---------- about, disclaimer, states ---------- */

.secondary-explorer .sx-about { margin: 2.75rem 0 1.25rem; border-top: 1px solid var(--sx-line); border-bottom: 1px solid var(--sx-line); }
.secondary-explorer .sx-about > summary {
  padding: 1.35rem 0; display: flex; justify-content: space-between; align-items: center; gap: 1.25rem;
  cursor: pointer; list-style: none; font-weight: 600; font-size: .95rem;
}
.secondary-explorer .sx-about > summary::-webkit-details-marker { display: none; }
.secondary-explorer .sx-about > summary > span:first-child { display: flex; align-items: center; gap: .75rem; }
.secondary-explorer .sx-about-icon {
  display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-serif);
  border: 1px solid var(--sx-muted); border-radius: 50%; width: 23px; height: 23px; line-height: 1;
}
.secondary-explorer .sx-expand { font-size: .75rem; font-weight: 400; color: var(--sx-muted); }
.secondary-explorer .sx-expand b { font-size: 1.35rem; font-weight: 400; color: var(--sx-link); margin-left: 1.1rem; }
.secondary-explorer .sx-about-body { max-width: 850px; padding: .3rem 0 1.5rem; font-size: .95rem; line-height: 1.8; }
.secondary-explorer .sx-about-body h2 { font-family: var(--font-serif); font-size: 1.7rem; }
.secondary-explorer .sx-about-body h3 { font-size: 1rem; margin-top: 1.4rem; }

.secondary-explorer .sx-disclaimer { font-size: .75rem; color: var(--sx-muted); line-height: 1.8; max-width: 1020px; }
.secondary-explorer .sx-disclaimer strong { color: var(--color-text); }

.secondary-explorer .sx-help-row {
  display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: 2.25rem;
  padding: 1.75rem; border: 2px solid var(--color-accent); border-radius: 10px; background: var(--sx-surface);
}
.secondary-explorer .sx-help-row h2 { font-family: var(--font-serif); font-size: 1.6rem; margin: 0 0 .55rem; }
.secondary-explorer .sx-help-row p { font-size: .88rem; color: var(--sx-muted); margin: 0; max-width: none; }
.secondary-explorer .sx-gold-btn {
  border: 0; border-radius: 5px; background: var(--color-accent); color: var(--color-on-accent);
  font-weight: 700; padding: .75rem 1.5rem; white-space: nowrap; font-size: .88rem; display: inline-block;
}
.secondary-explorer .sx-gold-btn:hover { text-decoration: none; background: var(--color-accent-light); }
.secondary-explorer .sx-related { display: flex; justify-content: space-between; gap: 1.25rem; margin: 1.4rem 0 2.7rem; font-size: .75rem; }

.secondary-explorer .sx-state {
  border: 2px solid var(--color-accent); border-radius: 12px; text-align: center;
  padding: 3.25rem 1.5rem; background: var(--sx-surface); margin: 1.9rem 0;
}
.secondary-explorer .sx-state h2 { font-family: var(--font-serif); font-size: 1.85rem; margin: 0 0 .9rem; }
.secondary-explorer .sx-state p { font-size: .95rem; color: var(--sx-muted); max-width: 550px; margin: 0 auto 1.4rem; }
.secondary-explorer .sx-state button {
  background: var(--color-accent); color: var(--color-on-accent); border: 0; border-radius: 5px;
  padding: .75rem 1.25rem; font-weight: 600; cursor: pointer; font-family: inherit;
}
.secondary-explorer .sx-skeletons { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.4rem; margin: 1.75rem 0; }
.secondary-explorer .sx-skeleton {
  height: 275px; border: 1px solid var(--sx-line); border-radius: 12px;
  background: linear-gradient(105deg, var(--sx-surface) 30%, var(--sx-raised) 50%, var(--sx-surface) 70%);
  background-size: 250% 100%; animation: sx-shimmer 1.7s infinite;
}
@keyframes sx-shimmer { to { background-position: -200% 0; } }

.secondary-explorer .sx-text-button { padding: .55rem 0; background: none; border: 0; color: var(--sx-link); font-size: .82rem; cursor: pointer; font-family: inherit; }
.secondary-explorer [hidden] { display: none !important; }

/* ---------- responsive ---------- */

@media (max-width: 1000px) {
  .secondary-explorer .sx-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; }
  .secondary-explorer .sx-results-layout { grid-template-columns: minmax(0, 1fr) 200px; gap: 1.4rem; }
  .secondary-explorer .sx-group-grid { gap: 1rem; }
  .secondary-explorer .sx-group-body h3 { font-size: 1.35rem; }
  .secondary-explorer .sx-group-body { padding: 1rem; }
  .secondary-explorer .sx-map-link { max-width: 190px; text-align: right; }
  .secondary-explorer .sx-selected-header { grid-template-columns: minmax(0, 1fr) 240px; }
  .secondary-explorer .sx-selected-copy { padding: 1.5rem; }
}

@media (max-width: 760px) {
  .secondary-explorer .sx-results-layout { grid-template-columns: 1fr; }
  .secondary-explorer .sx-aside { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.25rem; }
  .secondary-explorer .sx-aside h3,
  .secondary-explorer .sx-aside p,
  .secondary-explorer .sx-aside-note { grid-column: 1 / -1; }
  .secondary-explorer .sx-selected-header { grid-template-columns: minmax(0, 1fr) 180px; }
  .secondary-explorer .sx-selected-copy h1 { font-size: 2rem; }
  .secondary-explorer .sx-group-grid { grid-template-columns: 1fr; }
  .secondary-explorer .sx-group-card { display: grid; grid-template-columns: 135px minmax(0, 1fr); }
  .secondary-explorer .sx-group-card .sx-art { height: 100%; min-height: 166px; border-bottom: 0; border-right: 1px solid var(--sx-mat-edge); }
  .secondary-explorer .sx-rows { grid-template-columns: 1fr; }
  .secondary-explorer .sx-row:nth-child(odd) { border-right: 0; }
  .secondary-explorer .sx-skeletons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .secondary-explorer .sx-help-row { align-items: flex-start; flex-direction: column; }
  .secondary-explorer .sx-related { flex-direction: column; gap: .75rem; }
}

@media (max-width: 560px) {
  .secondary-explorer .sx-intro { padding-top: 1.2rem; padding-bottom: 1.4rem; }
  .secondary-explorer .sx-eyebrow { font-size: .56rem; letter-spacing: 1.6px; }
  .secondary-explorer .sx-intro h1 { font-size: 2.05rem; letter-spacing: -1px; line-height: 1.07; }
  .secondary-explorer .sx-intro h1 em { display: block; }
  .secondary-explorer .sx-intro-copy { font-size: .95rem; margin-bottom: 1.2rem; }
  .secondary-explorer .sx-field { padding: 5px; }
  .secondary-explorer .sx-symbol { margin-left: .25rem; margin-right: .1rem; font-size: 1.8rem; }
  .secondary-explorer .sx-field input { padding-left: .45rem; letter-spacing: -.4px; }
  .secondary-explorer .sx-field input::placeholder { font-size: .82rem; letter-spacing: 0; }
  .secondary-explorer .sx-field button { padding: .72rem .8rem; font-size: .82rem; }
  .secondary-explorer .sx-field button span { display: none; }
  .secondary-explorer .sx-browse-controls { flex-wrap: wrap; padding-top: 1.4rem; gap: 1rem; }
  .secondary-explorer .sx-tabs { width: 100%; }
  .secondary-explorer .sx-tabs button { flex: 1; font-size: .75rem; padding: .68rem .45rem; }
  .secondary-explorer .sx-map-link { font-size: .75rem; max-width: none; text-align: left; }
  .secondary-explorer .sx-section-heading { margin-top: 1.4rem; margin-bottom: 1.1rem; gap: .6rem; }
  .secondary-explorer .sx-section-heading h2 { font-size: 1.45rem; letter-spacing: -.3px; }
  .secondary-explorer .sx-section-heading p { font-size: .75rem; }
  .secondary-explorer .sx-index-label { display: none; }
  .secondary-explorer .sx-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem .75rem; }
  .secondary-explorer .sx-card { border-radius: 10px; }
  .secondary-explorer .sx-art { height: 128px; }
  .secondary-explorer .sx-card-body { padding: .8rem .75rem .75rem; min-height: 128px; }
  .secondary-explorer .sx-card-code { font-size: .56rem; letter-spacing: .7px; }
  .secondary-explorer .sx-card-title { font-size: 1.2rem; line-height: 1.14; letter-spacing: -.3px; margin-bottom: .9rem; }
  .secondary-explorer .sx-card-bottom { font-size: .63rem; gap: .25rem; align-items: flex-end; }
  .secondary-explorer .sx-arrow { font-size: 1.2rem; }
  .secondary-explorer .sx-ph-code { font-size: 1.85rem; }
  .secondary-explorer .sx-ph-label { font-size: .5rem; letter-spacing: .7px; }
  .secondary-explorer .sx-art-caption { font-size: .5rem; bottom: 4px; left: 4px; }
  .secondary-explorer .sx-group-card { grid-template-columns: 118px minmax(0, 1fr); }
  .secondary-explorer .sx-group-card .sx-art { min-height: 163px; }
  .secondary-explorer .sx-group-body { padding: 1rem; }
  .secondary-explorer .sx-group-body h3 { font-size: 1.4rem; }
  .secondary-explorer .sx-group-body p { font-size: .75rem; }
  .secondary-explorer .sx-row { padding: 1rem; }
  .secondary-explorer .sx-result-nav { padding: 1.2rem 0 1rem; }
  .secondary-explorer .sx-selected-header { grid-template-columns: minmax(0, 1fr); }
  .secondary-explorer .sx-selected-copy { padding: 1.35rem; }
  .secondary-explorer .sx-selected-copy h1 { font-size: 2.1rem; line-height: 1.12; }
  .secondary-explorer .sx-selected-header .sx-art { height: 140px; min-height: 0; grid-row: 1; border-left: 0; border-bottom: 1px solid var(--sx-mat-edge); }
  .secondary-explorer .sx-selected-header .sx-art img { object-fit: contain; width: 100%; transform: none; }
  .secondary-explorer .sx-results-layout { margin-top: 1.4rem; gap: 1.4rem; }
  .secondary-explorer .sx-results-title h2 { font-size: 1.65rem; }
  .secondary-explorer .sx-evidence { padding: 1.1rem 1rem; }
  .secondary-explorer .sx-evidence-heading { display: block; }
  .secondary-explorer .sx-aside { gap: 0 .9rem; }
  .secondary-explorer .sx-about { margin-top: 2rem; }
  .secondary-explorer .sx-expand { font-size: 0; }
  .secondary-explorer .sx-expand b { font-size: 1.35rem; margin-left: 0; }
  .secondary-explorer .sx-help-row { margin-top: 1.5rem; padding: 1.35rem; gap: 1.2rem; }
  .secondary-explorer .sx-state { padding: 2.2rem 1.25rem; }
}

/* Single-column fallback at the narrowest widths and at high zoom. */
@media (max-width: 340px) {
  .secondary-explorer .sx-grid { grid-template-columns: 1fr; }
  .secondary-explorer .sx-card { display: grid; grid-template-columns: 105px minmax(0, 1fr); }
  .secondary-explorer .sx-card .sx-art { height: 100%; min-height: 149px; border: 0; border-right: 1px solid var(--sx-mat-edge); }
  .secondary-explorer .sx-card-body { min-height: 149px; padding: .85rem; }
  .secondary-explorer .sx-card-title { font-size: 1.32rem; }
  .secondary-explorer .sx-group-card { grid-template-columns: 90px minmax(0, 1fr); }
  .secondary-explorer .sx-symbol { display: none; }
  .secondary-explorer .sx-tabs button { font-size: .69rem; }
}

@media (prefers-reduced-motion: reduce) {
  .secondary-explorer *, .secondary-explorer *::before, .secondary-explorer *::after {
    animation: none !important; transition: none !important;
  }
}
