/* 41Q explorer: scoped enhancement, no global/theme overrides. */
.q41-ex, .q41-ex-support, .q41-ex-catalogue {
  --ex-ink:#14263b; --ex-muted:#526277; --ex-blue:#1039e9; --ex-border:#dce4ef;
  --ex-surface:#f5f7fc; --ex-night:#132235; --ex-white:#f3f7fd;
  --ex-sky:#a9d9f0; --ex-violet:#cbbcf1; --ex-mint:#a0d9cd; --ex-gold:#edcf96;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color:var(--ex-ink); font-size:16px; line-height:1.6; min-width:0;
}
.q41-ex *, .q41-ex-support *, .q41-ex-catalogue * { box-sizing:border-box; }
.q41-ex [hidden], .q41-ex-support [hidden], .q41-ex-catalogue [hidden] { display:none!important; }
.q41-ex { margin:28px 0 42px; max-width:1120px; }
.q41-ex h2, .q41-ex h3, .q41-ex-support h2, .q41-ex-support h3,
.q41-ex-catalogue h2 { font-family:inherit; font-weight:700; letter-spacing:-.025em; word-spacing:normal; line-height:1.2; text-transform:none; color:inherit; }
.q41-ex h2, .q41-ex-support h2, .q41-ex-catalogue h2 { font-size:clamp(25px,2.3vw,32px); margin:0 0 12px; }
.q41-ex h3, .q41-ex-support h3 { font-size:20px; margin:0 0 10px; }
/* The native article stylesheet uses !important heading colours. Keep this
   override inside the new component, including its dark graph panel. */
.q41-v57-article .q41-ex h2, .q41-v57-article .q41-ex h3,
.q41-v57-article .q41-ex-support h2, .q41-v57-article .q41-ex-support h3,
.q41-v57-article .q41-ex-catalogue h2 { color:inherit!important; font-family:inherit!important; }
.q41-ex p, .q41-ex-support p { margin:0 0 14px; max-width:none; }
.q41-ex > p { color:var(--ex-muted); max-width:72ch; }
.q41-ex a, .q41-ex-support a { color:var(--ex-blue); text-underline-offset:3px; }
.q41-ex button, .q41-ex input, .q41-ex textarea,
.q41-ex-catalogue button { font-family:inherit; font-size:14px; line-height:1.3; }
.q41-ex button, .q41-ex-catalogue button {
  display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:44px;
  padding:10px 15px; border:1px solid var(--ex-border); border-radius:12px; background:#fff;
  color:var(--ex-ink); cursor:pointer; font-weight:650; white-space:normal;
  overflow-wrap:anywhere; text-align:center; box-shadow:none; text-transform:none;
}
.q41-ex button:hover, .q41-ex-catalogue button:hover { background:#eef2ff; border-color:#99afe9; }
.q41-ex button:disabled { opacity:.42; cursor:default; }
.q41-ex button[aria-pressed="true"] { background:#eaf0ff; color:#1233be; border-color:#3256d7; }
.q41-ex :is(a,button,input,textarea,summary):focus-visible,
.q41-ex-support :is(a,summary):focus-visible,
.q41-ex-catalogue :is(a,button):focus-visible { outline:3px solid #3158db; outline-offset:4px; }
.q41-ex [data-ex-heading]:focus { outline:none; }
.q41-ex-board {
  display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:0;
  overflow:hidden; border-radius:24px; color:var(--ex-white); background:var(--ex-night);
  border:1px solid #26384b; margin:22px 0 14px; text-align:left; isolation:isolate;
}
.q41-ex-graph { padding:26px; min-width:0; position:relative; }
.q41-ex-badge { display:inline-flex; align-items:center; font-size:12px; font-weight:700; letter-spacing:.015em;
  padding:5px 10px; background:#e3edfb; color:#19314d; border-radius:7px; margin:0 0 12px; }
.q41-ex-board > p, .q41-ex-instructions { font-size:13px; line-height:1.5; color:#c2cede; }
.q41-ex-scales { position:relative; margin-top:18px; }
.q41-ex-line { position:absolute; inset:0; width:100%; height:100%; overflow:visible; z-index:0; pointer-events:none; }
.q41-ex-line path { fill:none; stroke:#a5b9cf; stroke-width:2.5; opacity:.55; vector-effect:non-scaling-stroke; }
.q41-ex-row { position:relative; z-index:1; margin:0; padding:13px 10px; border:1px solid transparent; border-radius:14px; min-width:0; }
.q41-ex-row + .q41-ex-row { margin-top:3px; }
.q41-ex-row.is-active, .q41-ex-row:focus-within { background:rgba(225,238,255,.055); border-color:#526479; }
.q41-ex-row label { display:block; font-size:15px; line-height:1.4; font-weight:700; color:#f1f6ff; }
.q41-ex-row label small, .q41-ex-row .q41-ex-axis-description { display:inline; font-size:12px; font-weight:400; color:#c2cede; margin-left:8px; }
.q41-ex-status { font-size:13px; font-weight:600; color:#d2dfed; line-height:1.5; margin:4px 0 6px!important; min-height:20px; }
.q41-ex-track-row { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; gap:8px; align-items:center; min-height:44px; }
.q41-ex-track-row > button {
  width:44px; min-height:44px; padding:6px; font-size:22px; background:#24364a;
  color:#f4f8ff; border-color:#64748a; border-radius:12px; z-index:2;
}
.q41-ex-track-row > button:hover { background:#354b64; border-color:#b1cde8; }
.q41-ex-track { height:44px; min-width:0; position:relative; grid-column:2; }
.q41-ex-track::before { content:""; position:absolute; top:21px; height:2px; left:0; right:0; background:#5a6e84; }
.q41-ex-track::after { content:""; position:absolute; top:15px; bottom:15px; left:44.444%; width:11.112%; border-radius:10px; background:rgba(196,219,242,.22); }
.q41-ex-ticks { position:absolute; left:0; right:0; top:18px; height:8px; display:flex; justify-content:space-between; pointer-events:none; }
.q41-ex-ticks span { width:1px; height:8px; background:#95a8bd; }
.q41-ex-dot, .q41-ex [data-ex-dot] { position:absolute; left:var(--ex-position,50%); top:22px; width:17px; height:17px;
  transform:translate(-50%,-50%); border:3px solid #132235; border-radius:50%; background:var(--ex-sky);
  box-shadow:0 0 0 1px #8fa7bf; pointer-events:none; z-index:2; }
.q41-ex-row[data-ex-index="1"] [data-ex-dot] { background:var(--ex-violet); }
.q41-ex-row[data-ex-index="2"] [data-ex-dot] { background:var(--ex-mint); }
.q41-ex-row[data-ex-index="3"] [data-ex-dot] { background:var(--ex-gold); }
.q41-ex input[type="range"] { position:absolute; inset:0; width:100%; height:44px; opacity:0; margin:0; cursor:pointer; z-index:3; }
.q41-ex-track:focus-within { outline:3px solid #bddff6; outline-offset:1px; border-radius:8px; }
.q41-ex-board :is(button,a,summary):focus-visible { outline-color:#bddff6; }
.q41-ex-poles { display:flex; justify-content:space-between; gap:16px; margin:1px 52px 0; color:#c2cede; font-size:12px; line-height:1.45; }
.q41-ex-poles > * { flex:1; min-width:0; overflow-wrap:anywhere; }
.q41-ex-poles > :last-child { text-align:right; }
.q41-ex-middle-note { color:#bdccdd; font-size:12px; margin:12px 0 0!important; display:flex; align-items:center; gap:8px; }
.q41-ex-middle-note::before { content:""; display:inline-block; width:26px; height:10px; border-radius:10px; background:#46596f; }
.q41-ex-aside { border-left:1px solid #34465d; padding:30px 28px 26px; display:flex; flex-direction:column; gap:28px; min-width:0; }
.q41-ex-detail { flex:1; min-width:0; }
.q41-ex-detail h3 { font-size:23px; line-height:1.25; margin:0 0 16px; }
.q41-ex-detail p { line-height:1.65; color:#e6eef8; }
.q41-ex-detail [data-ex-detail-status] { font-weight:650; font-size:14px; }
.q41-ex-detail [data-ex-detail-position] { color:#bdccdd; font-size:12px; margin-top:20px; }
.q41-ex-detail-kicker { font-size:11px!important; text-transform:uppercase; font-weight:700; letter-spacing:.12em; color:#b9cadc!important; margin-bottom:12px!important; }
.q41-ex-name { background:#21344a; border:1px solid #52637b; border-radius:15px; padding:17px 18px; }
.q41-ex-name strong, .q41-ex-name [data-ex-profile-name] { display:block; font-size:21px; line-height:1.25; font-weight:700; margin:5px 0 9px; overflow-wrap:anywhere; }
.q41-ex-name > :first-child { color:#b9cadd; font-size:12px; font-weight:600; }
.q41-ex-name [data-ex-profile-note] { color:#d7e2f0; font-size:13px; line-height:1.55; margin:0; }
.q41-ex-presets, .q41-ex-tabs, .q41-ex-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:16px 0; }
.q41-ex-presets > span { color:var(--ex-muted); font-size:13px; font-weight:600; margin-right:2px; }
.q41-ex-presets button { border-radius:24px; }
.q41-ex-tabs button { background:#20354d; color:#e8f1fd; border-color:#596f88; }
.q41-ex-tabs button[aria-pressed="true"] { background:#dcecff; color:#153252; }
.q41-ex-pattern { background:#f3f6fc; border:1px solid var(--ex-border); padding:22px 24px; border-radius:18px; margin:20px 0 12px; }
.q41-ex-pattern [data-ex-pattern-headline] { font-weight:650; font-size:17px; line-height:1.5; margin-bottom:14px; }
.q41-ex-pattern dl { display:grid; grid-template-columns:130px minmax(0,1fr); gap:12px 10px; font-size:14px; margin:0; }
.q41-ex-pattern dt { color:var(--ex-muted); font-size:13px; font-weight:650; padding:4px 0; }
.q41-ex-pattern dd { display:flex; flex-wrap:wrap; gap:5px 8px; margin:0; }
.q41-ex-chip { border:1px solid #d8e2ef; background:#fff; padding:3px 9px; border-radius:20px; }
.q41-ex-neighbors { font-size:14px; margin:14px 0 12px; }
.q41-ex-neighbors summary, .q41-ex-support summary, .q41-ex-glossary summary { cursor:pointer; min-height:44px; padding:11px 0; font-weight:650; }
.q41-ex-neighbors ul { padding-left:22px; margin:4px 0 12px; }
.q41-ex-neighbors li { margin:7px 0; }
.q41-ex [data-ex-facts] { color:var(--ex-muted); font-size:13px; margin:14px 0 0; padding-top:14px; border-top:1px solid #d9e3f0; }
.q41-ex-actions button { color:#163aba; border-color:#aebeea; }
.q41-ex [data-ex-message] { color:#39516e; font-size:14px; min-height:0; }
.q41-ex [data-ex-message]:not(:empty) { padding:12px 0; }
.q41-ex-copy-fallback, .q41-ex textarea { width:100%; min-height:75px; border:1px solid #a3b2c6; border-radius:8px; padding:12px; color:var(--ex-ink); background:#fff; overflow-wrap:anywhere; }
.q41-ex-compare { margin:20px 0; padding:22px; border:1px solid #c7d6ea; border-radius:17px; background:#fff; }
.q41-ex-compare table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:13px; line-height:1.45; }
.q41-ex-compare th, .q41-ex-compare td { text-align:left; vertical-align:top; padding:12px 9px; border-bottom:1px solid #dce5f0; overflow-wrap:anywhere; }
.q41-ex-compare th { font-weight:650; }
.q41-ex-compare thead { background:#f2f5fb; }
.q41-ex-compare button { margin-top:14px; }
.q41-ex-cta { display:flex; align-items:center; justify-content:space-between; gap:24px; border:1px solid #d8e2f1; border-left:4px solid #123cf0; border-radius:14px; padding:22px 24px; margin:26px 0 8px; }
.q41-ex-cta p { color:var(--ex-muted); font-size:14px; margin:6px 0; }
.q41-ex-cta > a, .q41-ex-cta .q41-ex-test { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:11px 20px; flex-shrink:0; background:var(--ex-blue); border-radius:12px; color:#fff; text-decoration:none; font-weight:700; text-align:center; }
.q41-ex-cta > a:hover { background:#1231bd; }
.q41-ex-support, .q41-v57-article .q41-ex-support { margin:28px 0; padding:24px 26px; background:#f5f7fc; border:1px solid #dce4ef; border-radius:18px; }
.q41-ex-support p:last-child { margin-bottom:0; }
.q41-ex-support ol, .q41-ex-support ul { padding-left:24px; }
.q41-ex-support li { margin:8px 0; }
.q41-ex-levels { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:20px 0; }
.q41-ex-levels > * { padding:18px; background:#fff; border:1px solid #dce4ef; border-radius:14px; min-width:0; }
.q41-ex-levels h3 { font-size:17px; }
.q41-ex-levels p { font-size:14px; }
.q41-ex-glossary { margin:22px 0; border-top:1px solid #dce4ef; padding:10px 0; }
.q41-ex-glossary dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.q41-ex-glossary dt { font-weight:700; }
.q41-ex-glossary dd { margin:7px 0 0; font-size:14px; color:#526277; }
.q41-ex-glossary dl > div { padding:18px; background:#f5f7fc; border-radius:12px; }
.q41-ex-catalogue { margin:38px 0 26px; }
.q41-ex-catalogue > p { color:#526277; }
.q41-ex-card { min-width:0; }
.q41-ex-card.is-current { outline:2px solid #2443d1; outline-offset:2px; }
.q41-ex-card [data-ex-profile-badge] { font-size:11px; font-weight:650; color:#526277; }
.q41-ex-catalogue button { font-size:13px; margin-top:12px; color:#173bb9; }
.q41-ex[data-ex-mode="dimensions"] .q41-ex-board { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); }
.q41-ex[data-ex-mode="dimensions"] .q41-ex-aside { justify-content:center; }
.q41-ex[data-ex-mode="dimensions"] .q41-ex-detail { flex:0; }
.q41-ex-noscript-example { margin:16px 0; padding:16px; border:1px solid #dce4ef; border-radius:12px; }
@media(max-width:860px) {
  .q41-ex-board, .q41-ex[data-ex-mode="dimensions"] .q41-ex-board { grid-template-columns:minmax(0,1fr); }
  .q41-ex-aside { border-left:0; border-top:1px solid #34465d; padding:22px; gap:20px; }
  .q41-ex-detail h3 { font-size:20px; }
  .q41-ex-detail p { font-size:14px; }
  .q41-ex-detail [data-ex-detail-position] { margin-top:10px; margin-bottom:0; }
  .q41-ex-graph { padding:22px 18px; }
  .q41-ex-cta { align-items:flex-start; }
  .q41-ex-cta > a { flex-shrink:1; }
}
@media(max-width:520px) {
  .q41-ex { margin-top:20px; }
  .q41-ex h2, .q41-ex-support h2 { font-size:25px; }
  .q41-ex > p { font-size:15px; }
  .q41-ex-board { border-radius:18px; margin-top:17px; }
  .q41-ex-graph { padding:18px 10px; }
  .q41-ex-badge, .q41-ex-instructions { margin-left:7px!important; margin-right:7px!important; }
  .q41-ex-row { padding:10px 7px; }
  .q41-ex-row label { font-size:15px; }
  .q41-ex-row label small, .q41-ex-axis-description { display:none!important; }
  .q41-ex-track-row { gap:6px; }
  .q41-ex-poles { margin-left:50px; margin-right:50px; gap:10px; font-size:12px; }
  .q41-ex-aside { padding:20px 18px; }
  .q41-ex-name strong { font-size:20px; }
  .q41-ex-pattern { padding:18px; }
  .q41-ex-pattern dl { grid-template-columns:minmax(0,1fr); gap:5px; }
  .q41-ex-pattern dd + dt { margin-top:9px; }
  .q41-ex-presets { align-items:stretch; gap:7px; }
  .q41-ex-presets > span { width:100%; padding:3px 0; }
  .q41-ex-presets button { flex:1 1 auto; font-size:13px; padding:9px 12px; }
  .q41-ex-actions { align-items:stretch; }
  .q41-ex-actions button { flex:1 1 calc(50% - 8px); font-size:13px; padding:9px 10px; }
  .q41-ex-compare { padding:15px 10px; }
  .q41-ex-compare th, .q41-ex-compare td { padding:10px 5px; font-size:12px; }
  .q41-ex-cta { flex-direction:column; align-items:stretch; gap:15px; padding:19px; }
  .q41-ex-cta > a { align-self:stretch; }
  .q41-ex-support, .q41-v57-article .q41-ex-support { padding:20px 18px; }
  .q41-ex-levels, .q41-ex-glossary dl { grid-template-columns:minmax(0,1fr); }
}
@media(prefers-reduced-motion:reduce) {
  .q41-ex *, .q41-ex-support * { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
@media print {
  .q41-ex [data-ex-control], .q41-ex-actions, .q41-ex-presets { display:none!important; }
  .q41-ex-board { break-inside:avoid; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
}

