/* PQC Migration Advisor v2.0.1 – every rule is scoped to .pqcma.
   Visual language shared with the PQC Migration Budget Builder: light card surfaces, small uppercase section
   labels, ink for names and values, grey for help text. The widget inherits the host page's font. */

.pqcma {
  --pq-bg: #ffffff;
  --pq-surface: #f5f7fa;
  --pq-surface-2: #eaeef4;
  --pq-ink: #141922;
  --pq-text: #343c4a;
  --pq-muted: #5a6474;
  --pq-help: #6b7482;
  --pq-line: #dde2ea;
  --pq-accent: #1d4f9c;
  --pq-accent-hover: #173f7d;
  --pq-accent-ink: #ffffff;
  --pq-accent-soft: #e7eef9;
  --pq-good: #0f7a2f;
  --pq-good-soft: #e7f4eb;
  --pq-warn: #9a6200;
  --pq-warn-soft: #fff6e0;
  --pq-crit: #b42b2b;
  --pq-crit-soft: #fdecec;
  --pq-mig: #2a78d6;
  --pq-conf: #eb6834;
  --pq-sig: #6250d6;
  --pq-dev: #1baf7a;
  --pq-radius: 6px;
  --pq-card-radius: 8px;
  --pq-chevron: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235a6474' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  position: relative;
  box-sizing: border-box;
  max-width: 100%;
  margin: 1.5em 0;
  padding: 0;
  border: 0;
  background: var(--pq-bg);
  color: var(--pq-ink);
  font-family: inherit;
  font-size: 16px;
  line-height: 1.5;
  text-align: left;
}
.pqcma.pqcma-dark {
  --pq-bg: #14171c;
  --pq-surface: #1c2028;
  --pq-surface-2: #262b35;
  --pq-ink: #eef1f5;
  --pq-text: #d3d9e2;
  --pq-muted: #a7b0bd;
  --pq-help: #98a2b3;
  --pq-line: #343b47;
  --pq-accent: #6ea0ec;
  --pq-accent-hover: #8ab3f0;
  --pq-accent-ink: #0d1424;
  --pq-accent-soft: #1e2a40;
  --pq-good: #4cc26b;
  --pq-good-soft: #15301f;
  --pq-warn: #e3b24a;
  --pq-warn-soft: #3a2f12;
  --pq-crit: #ef7a7a;
  --pq-crit-soft: #40191c;
  --pq-mig: #3987e5;
  --pq-conf: #d95926;
  --pq-sig: #9085e9;
  --pq-dev: #199e70;
  --pq-chevron: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23a7b0bd' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  color-scheme: dark;
  padding: clamp(14px, 3vw, 24px);
  border-radius: var(--pq-card-radius);
}

.pqcma *, .pqcma *::before, .pqcma *::after { box-sizing: border-box; }
.pqcma [hidden] { display: none !important; }
.pqcma a { color: var(--pq-accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.pqcma a:hover { color: var(--pq-accent-hover); text-decoration-thickness: 2px; }
.pqcma :focus-visible { outline: 2px solid var(--pq-accent); outline-offset: 2px; }
.pqcma h2, .pqcma h3, .pqcma h4 { margin: 0; color: var(--pq-ink); font-family: inherit; font-weight: 650; line-height: 1.25; letter-spacing: normal; text-transform: none; }
.pqcma p { margin: 0 0 .5em; }
.pqcma ul, .pqcma ol { margin: 0 0 .5em; }
.pqcma fieldset { min-width: 0; }

/* ---------- header ---------- */
.pqcma .pqcma-head { margin: 0 0 18px; padding: 0 9em 14px 0; border-bottom: 1px solid var(--pq-line); }
.pqcma .pqcma-title { margin: 0 0 .3em; font-size: 1.45em; font-weight: 650; }
.pqcma .pqcma-lede { max-width: 68ch; margin: 0 0 .4em; color: var(--pq-muted); font-size: .95em; }
.pqcma .pqcma-meta { margin: 0; color: var(--pq-help); font-size: .8em; }
.pqcma .pqcma-theme { position: absolute; top: 0; right: 0; }
.pqcma.pqcma-dark .pqcma-theme { top: clamp(14px, 3vw, 24px); right: clamp(14px, 3vw, 24px); }

/* ---------- buttons ---------- */
.pqcma .pqcma-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .35em;
  height: 38px; margin: 0; padding: 0 14px;
  border: 1px solid var(--pq-line); border-radius: 4px;
  background: var(--pq-bg); color: var(--pq-ink);
  font: inherit; font-size: .9em; font-weight: 500; line-height: 1;
  text-transform: none; letter-spacing: normal; text-decoration: none; white-space: nowrap;
  box-shadow: none; cursor: pointer;
}
.pqcma .pqcma-btn:hover { border-color: var(--pq-accent); background: var(--pq-bg); color: var(--pq-accent); }
.pqcma .pqcma-btn:disabled { opacity: .55; cursor: progress; }
.pqcma .pqcma-btn-primary { border-color: var(--pq-accent); background: var(--pq-accent); color: var(--pq-accent-ink); font-weight: 600; }
.pqcma .pqcma-btn-primary:hover { border-color: var(--pq-accent-hover); background: var(--pq-accent-hover); color: var(--pq-accent-ink); }
.pqcma .pqcma-btn-ghost { border-color: transparent; background: transparent; color: var(--pq-accent); }
.pqcma .pqcma-btn-ghost:hover { border-color: var(--pq-line); }
.pqcma .pqcma-btn-small { height: 32px; padding: 0 11px; font-size: .82em; }

/* ---------- starting profiles ---------- */
.pqcma .pqcma-presets { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 28px; padding: 14px 18px 16px; border-radius: var(--pq-card-radius); background: var(--pq-surface); }
.pqcma .pqcma-presets-label { flex: 0 0 100%; margin: 0 0 2px; color: var(--pq-accent); font-size: .74em; font-weight: 700; letter-spacing: .06em; line-height: 1.4; text-transform: uppercase; }
.pqcma .pqcma-presets .pqcma-btn { height: 34px; padding: 0 13px; border-radius: 999px; background: var(--pq-bg); font-size: .86em; }
.pqcma .pqcma-presets .pqcma-btn:hover { border-color: var(--pq-accent); background: var(--pq-accent-soft); color: var(--pq-ink); }

/* ---------- form ---------- */
.pqcma .pqcma-step { margin: 0 0 30px; }
.pqcma .pqcma-step-title { margin: 0 0 .25em; font-size: 1.15em; }
.pqcma .pqcma-step-hint { max-width: 72ch; margin: 0 0 12px; color: var(--pq-muted); font-size: .92em; }
.pqcma .pqcma-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0 0 14px; }
.pqcma .pqcma-filter label { color: var(--pq-ink); font-size: .86em; font-weight: 600; }
.pqcma .pqcma-filter-input {
  width: min(420px, 100%); height: 38px; margin: 0; padding: 0 10px;
  border: 1px solid var(--pq-line); border-radius: 4px; background: var(--pq-bg); color: var(--pq-ink);
  font: inherit; font-size: .92em; box-shadow: none;
}
.pqcma .pqcma-filter-input::placeholder { color: var(--pq-help); opacity: 1; }
.pqcma .pqcma-nomatch { color: var(--pq-muted); font-size: .9em; }

/* cards: algorithm groups, protocol families and the context fields */
.pqcma .pqcma-group,
.pqcma .pqcma-fieldset,
.pqcma .pqcma-context > .pqcma-field,
.pqcma .pqcma-uses > .pqcma-choices {
  min-width: 0; margin: 0 0 12px; padding: 14px 18px 16px;
  border: 0; border-radius: var(--pq-card-radius); background: var(--pq-surface);
}
.pqcma .pqcma-group > legend,
.pqcma .pqcma-fieldset > legend,
.pqcma .pqcma-context > .pqcma-field > label {
  float: left; width: 100%; margin: 0 0 4px; padding: 0;
  color: var(--pq-accent); font-size: .74em; font-weight: 700; letter-spacing: .06em; line-height: 1.4; text-transform: uppercase;
}
.pqcma .pqcma-group > legend + *, .pqcma .pqcma-fieldset > legend + * { clear: both; }
.pqcma .pqcma-hint { clear: both; margin: 0 0 10px; color: var(--pq-help); font-size: .8em; line-height: 1.45; }

.pqcma .pqcma-choices { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr)); gap: 2px 16px; }
.pqcma .pqcma-choice { display: flex; align-items: flex-start; gap: 9px; margin: 0; padding: 6px 8px; border-radius: 4px; color: var(--pq-text); font-size: .9em; font-weight: 400; line-height: 1.35; cursor: pointer; }
.pqcma .pqcma-choice:hover { background: var(--pq-bg); }
.pqcma .pqcma-choice:has(input:checked) { background: var(--pq-bg); box-shadow: inset 0 0 0 1px var(--pq-line); color: var(--pq-ink); }
.pqcma .pqcma-choice:has(input:checked) .pqcma-choice-name { font-weight: 500; }
.pqcma .pqcma-uses .pqcma-choice:has(input:checked) .pqcma-choice-name { font-weight: 600; }
.pqcma .pqcma-choice input { flex: none; width: 15px; height: 15px; margin: 2px 0 0; accent-color: var(--pq-accent); }
.pqcma .pqcma-choice-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pqcma .pqcma-choice-name { overflow-wrap: anywhere; }
.pqcma .pqcma-choice-name .pqcma-badge { margin-left: 3px; }
.pqcma .pqcma-choice-desc { color: var(--pq-help); font-size: .88em; line-height: 1.4; }
.pqcma .pqcma-uses .pqcma-choice-name { font-weight: 600; }

.pqcma .pqcma-context { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 12px; }
.pqcma .pqcma-context > * { margin: 0; }
.pqcma .pqcma-context > .pqcma-juris, .pqcma .pqcma-context > .pqcma-horizons { grid-column: 1 / -1; }
.pqcma .pqcma-radios { display: grid; gap: 2px; }
.pqcma .pqcma-juris-region { grid-column: 1 / -1; margin: 10px 0 0; color: var(--pq-help); font-size: .72em; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.pqcma .pqcma-juris .pqcma-choices > .pqcma-juris-region:first-child { margin-top: 0; }
.pqcma .pqcma-horizon-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 14px 22px; }

.pqcma .pqcma-field { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.pqcma .pqcma-field > label { color: var(--pq-ink); font-size: .86em; font-weight: 600; line-height: 1.3; }
.pqcma .pqcma-field .pqcma-hint { margin: 0; font-size: .78em; }
.pqcma .pqcma-field select {
  -webkit-appearance: none !important; -moz-appearance: none !important; appearance: none !important;
  width: 100%; max-width: 100%; height: 38px !important; margin: 0; padding: 0 34px 0 10px !important;
  border: 1px solid var(--pq-line); border-radius: 4px;
  background-color: var(--pq-bg); background-image: var(--pq-chevron); background-repeat: no-repeat; background-position: right 12px center; background-size: 12px 8px;
  color: var(--pq-ink); font-family: inherit; font-size: .92em; font-weight: 400; line-height: normal !important;
  box-shadow: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.pqcma .pqcma-field select::-ms-expand { display: none; }
.pqcma .pqcma-field select option { color: var(--pq-ink); background: var(--pq-bg); }

.pqcma .pqcma-bar { position: sticky; bottom: 0; z-index: 3; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 6px 0 0; padding: 12px 0; border-top: 1px solid var(--pq-line); background: var(--pq-bg); }
.pqcma .pqcma-count { color: var(--pq-muted); font-size: .86em; }
.pqcma .pqcma-status { min-height: 1.4em; margin: 6px 0 0; color: var(--pq-accent); font-size: .88em; font-weight: 600; }
.pqcma .pqcma-noscript { padding: 10px 14px; border-radius: var(--pq-radius); background: var(--pq-warn-soft); color: var(--pq-ink); font-size: .9em; }

/* ---------- chips, badges and tags ---------- */
.pqcma .pqcma-chip, .pqcma .pqcma-badge {
  display: inline-block; padding: 1px 7px; border-radius: 999px;
  background: var(--pq-surface-2); color: var(--pq-muted);
  font-size: .72em; font-weight: 600; letter-spacing: .01em; line-height: 1.55; white-space: nowrap; vertical-align: .08em;
}
.pqcma .pqcma-chip.bad, .pqcma .pqcma-badge.bad { background: var(--pq-crit-soft); color: var(--pq-crit); }
.pqcma .pqcma-chip.warn, .pqcma .pqcma-badge.warn { background: var(--pq-warn-soft); color: var(--pq-warn); }
.pqcma .pqcma-chip.ok, .pqcma .pqcma-badge.ok { background: var(--pq-good-soft); color: var(--pq-good); }
.pqcma .pqcma-chip.info, .pqcma .pqcma-badge.info { background: var(--pq-accent-soft); color: var(--pq-accent); }
.pqcma .pqcma-tag { display: inline-block; margin: 0 4px 3px 0; padding: 0 7px; border-radius: 999px; background: var(--pq-surface-2); color: var(--pq-muted); font-size: .94em; line-height: 1.65; }

/* ---------- report ---------- */
.pqcma .pqcma-report { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--pq-line); }
.pqcma .pqcma-report:focus { outline: none; }
.pqcma .pqcma-report-title { margin: 0 0 .25em; font-size: 1.45em; }
.pqcma .pqcma-report-title:focus { outline: none; }
.pqcma .pqcma-report-meta { margin: 0; color: var(--pq-muted); font-size: .84em; }
.pqcma .pqcma-toolbar { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 0; }
.pqcma .pqcma-toc { margin: 12px 0 0; color: var(--pq-help); font-size: .84em; }
.pqcma .pqcma-toc a { white-space: nowrap; text-decoration: none; }
.pqcma .pqcma-toc a:hover { text-decoration: underline; }
.pqcma .pqcma-linkbox { width: 100%; height: 38px; margin-top: 10px; padding: 0 10px; border: 1px solid var(--pq-line); border-radius: 4px; background: var(--pq-surface); color: var(--pq-ink); font: inherit; font-size: .86em; }
.pqcma .pqcma-sec { margin: 36px 0 0; }
.pqcma .pqcma-sec-title { margin: 0 0 .35em; padding: 0; border: 0; font-size: 1.15em; }
.pqcma .pqcma-sec-intro { max-width: 78ch; margin: 0 0 12px; color: var(--pq-muted); font-size: .88em; }

/* summary */
.pqcma .pqcma-headline { margin: 6px 0 14px; padding: 12px 16px; border-radius: var(--pq-radius); background: var(--pq-accent-soft); }
.pqcma .pqcma-headline .pqcma-lead { margin: 0 0 4px; color: var(--pq-ink); font-size: .92em; }
.pqcma .pqcma-headline .pqcma-lead:last-child { margin: 0; }
.pqcma .pqcma-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0 0 16px; }
.pqcma .pqcma-tile { display: flex; flex-direction: column; gap: 2px; min-width: 0; padding: 12px 14px; border: 1px solid var(--pq-line); border-radius: var(--pq-radius); background: var(--pq-bg); }
.pqcma .pqcma-tile-l { display: flex; align-items: center; gap: 6px; color: var(--pq-muted); font-size: .8em; line-height: 1.3; }
.pqcma .pqcma-tile-l::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--pq-help); }
.pqcma .pqcma-tile-bad .pqcma-tile-l::before { background: var(--pq-crit); }
.pqcma .pqcma-tile-warn .pqcma-tile-l::before { background: var(--pq-warn); }
.pqcma .pqcma-tile-info .pqcma-tile-l::before { background: var(--pq-accent); }
.pqcma .pqcma-tile-ok .pqcma-tile-l::before { background: var(--pq-good); }
.pqcma .pqcma-tile-n { color: var(--pq-ink); font-size: 1.6em; font-weight: 650; line-height: 1.15; font-variant-numeric: tabular-nums; }
.pqcma .pqcma-tile-s { color: var(--pq-help); font-size: .76em; line-height: 1.35; }

.pqcma .pqcma-checks { display: grid; gap: 8px; margin: 0 0 14px; padding: 0; list-style: none; }
.pqcma .pqcma-check { margin: 0; padding: 12px 14px; border: 1px solid var(--pq-line); border-radius: var(--pq-radius); background: var(--pq-bg); }
.pqcma .pqcma-check-act { border-color: color-mix(in srgb, var(--pq-crit) 35%, var(--pq-line)); }
.pqcma .pqcma-check-unset { border-color: transparent; background: var(--pq-surface); }
.pqcma .pqcma-check-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 0 0 4px; }
.pqcma .pqcma-check-head strong { color: var(--pq-ink); font-size: .94em; font-weight: 650; }
.pqcma .pqcma-check-head .pqcma-chip { display: inline-flex; align-items: center; gap: 5px; padding: 0; background: none; font-size: .78em; }
.pqcma .pqcma-check-head .pqcma-chip::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.pqcma .pqcma-check-head .pqcma-chip.muted { color: var(--pq-help); }
.pqcma .pqcma-check > p { margin: 0; color: var(--pq-text); font-size: .9em; }
.pqcma .pqcma-next { margin: 0 0 4px; padding: 10px 14px; border-radius: var(--pq-radius); background: var(--pq-surface); color: var(--pq-text); font-size: .88em; }
.pqcma .pqcma-next strong { color: var(--pq-ink); font-weight: 650; }

/* timeline */
.pqcma .pqcma-tl { margin: 0 0 12px; padding: 14px 16px 10px; border: 1px solid var(--pq-line); border-radius: var(--pq-radius); background: var(--pq-bg); }
.pqcma .pqcma-tl-grid { position: relative; display: grid; gap: 8px; --label: 11em; }
.pqcma .pqcma-tl-row { display: grid; grid-template-columns: var(--label) 1fr; align-items: center; gap: 10px; }
.pqcma .pqcma-tl-label { color: var(--pq-muted); font-size: .8em; }
.pqcma .pqcma-tl-track { position: relative; height: 18px; border-radius: 4px; background: var(--pq-surface-2); }
.pqcma .pqcma-tl-bar { position: absolute; top: 0; bottom: 0; left: 0; min-width: 2.8em; border-radius: 4px; }
.pqcma .pqcma-tl-mig { background: var(--pq-mig); }
.pqcma .pqcma-tl-conf { background: var(--pq-conf); }
.pqcma .pqcma-tl-sig { background: var(--pq-sig); }
.pqcma .pqcma-tl-dev { background: var(--pq-dev); }
.pqcma .pqcma-tl-end { position: absolute; top: 50%; right: 6px; transform: translateY(-50%); color: #fff; font-size: .7em; font-weight: 600; }
.pqcma .pqcma-tl-axis { position: relative; height: 1.4em; color: var(--pq-help); font-size: .72em; }
.pqcma .pqcma-tl-axis span { position: absolute; top: 0; transform: translateX(-50%); white-space: nowrap; }
.pqcma .pqcma-tl-axis span:first-child { transform: none; }
.pqcma .pqcma-tl-axis span:last-child { transform: translateX(-100%); }
.pqcma .pqcma-tl-axis .pqcma-tl-z { color: var(--pq-crit); font-weight: 600; }
.pqcma .pqcma-tl-zline { position: absolute; top: 0; bottom: 1.6em; left: calc(var(--label) + 10px + (100% - var(--label) - 10px) * var(--zf, 0)); width: 0; border-left: 1.5px dashed var(--pq-crit); pointer-events: none; }
.pqcma .pqcma-tl figcaption { margin-top: 6px; color: var(--pq-help); font-size: .76em; }

/* actions */
.pqcma .pqcma-tier { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: 22px 0 8px; color: var(--pq-muted); font-size: .74em; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.pqcma .pqcma-sec-intro + .pqcma-tier { margin-top: 14px; }
.pqcma .pqcma-tier::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.pqcma .pqcma-tier span { color: var(--pq-help); font-size: 1.2em; font-weight: 500; letter-spacing: normal; text-transform: none; }
.pqcma .pqcma-tier-now { color: var(--pq-crit); }
.pqcma .pqcma-tier-next { color: var(--pq-warn); }
.pqcma .pqcma-tier-later { color: var(--pq-muted); }
.pqcma .pqcma-tier-keep { color: var(--pq-good); }
.pqcma .pqcma-tier-program { color: var(--pq-accent); }
.pqcma .pqcma-actions { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pqcma .pqcma-action { margin: 0; padding: 12px 14px; border: 1px solid var(--pq-line); border-radius: var(--pq-radius); background: var(--pq-bg); }
.pqcma .pqcma-program .pqcma-action { border-color: transparent; background: var(--pq-surface); }
.pqcma .pqcma-action-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; margin: 0 0 4px; }
.pqcma .pqcma-action-head strong { color: var(--pq-ink); font-size: .95em; font-weight: 650; line-height: 1.35; }
.pqcma .pqcma-action > p { margin: 0 0 6px; color: var(--pq-text); font-size: .88em; line-height: 1.5; }
.pqcma p.pqcma-applies, .pqcma p.pqcma-src, .pqcma p.pqcma-read { margin: 4px 0 0; color: var(--pq-help); font-size: .78em; line-height: 1.5; }

/* tables */
.pqcma .pqcma-tablewrap { width: 100%; margin: 4px 0 10px; overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--pq-line); border-radius: var(--pq-radius); }
.pqcma .pqcma-table { width: 100%; margin: 0; border: 0; border-collapse: collapse; background: transparent; font-size: .86em; }
.pqcma .pqcma-table th, .pqcma .pqcma-table td { padding: 8px 10px; border: 0; border-bottom: 1px solid var(--pq-line); background: transparent; color: var(--pq-text); text-align: left; vertical-align: top; }
.pqcma .pqcma-table thead th { background: var(--pq-surface); color: var(--pq-ink); font-size: .92em; font-weight: 650; white-space: nowrap; }
.pqcma .pqcma-table tbody tr:last-child td { border-bottom: 0; }
.pqcma .pqcma-table .pqcma-past td { color: var(--pq-help); }
.pqcma .pqcma-nowrap { white-space: nowrap; }
.pqcma .pqcma-mini { font-size: .86em; white-space: nowrap; }
.pqcma .pqcma-st { display: inline-block; padding: 1px 7px; border-radius: 999px; background: var(--pq-surface-2); color: var(--pq-muted); font-size: .88em; font-weight: 600; line-height: 1.55; white-space: nowrap; }
.pqcma .pqcma-st-binding, .pqcma .pqcma-st-in-force { background: var(--pq-accent-soft); color: var(--pq-accent); }
.pqcma .pqcma-st-draft, .pqcma .pqcma-st-pending { background: var(--pq-warn-soft); color: var(--pq-warn); }
.pqcma .pqcma-st-past { padding: 0; background: none; color: var(--pq-help); font-weight: 500; }

/* cards and details */
.pqcma .pqcma-card { margin: 0 0 10px; padding: 14px 16px; border: 0; border-radius: var(--pq-card-radius); background: var(--pq-surface); }
.pqcma .pqcma-card h4 { margin: 0; font-size: .98em; }
.pqcma .pqcma-card > h4 { margin-bottom: 8px; }
.pqcma .pqcma-card-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; margin: 0 0 8px; }
.pqcma .pqcma-card > p { margin: 0 0 6px; color: var(--pq-text); font-size: .88em; }
.pqcma .pqcma-card > p strong { color: var(--pq-ink); font-weight: 600; }
.pqcma .pqcma-list { margin: 0 0 6px; padding-left: 1.2em; color: var(--pq-text); font-size: .88em; }
.pqcma .pqcma-list li { margin: 3px 0; }
.pqcma .pqcma-list.pqcma-notes { color: var(--pq-muted); }
.pqcma .pqcma-alg, .pqcma .pqcma-sizes { margin: 0 0 6px; border: 1px solid var(--pq-line); border-radius: var(--pq-radius); background: var(--pq-bg); }
.pqcma .pqcma-alg > summary, .pqcma .pqcma-sizes > summary { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; padding: 9px 12px; color: var(--pq-ink); font-size: .9em; font-weight: 600; list-style: none; cursor: pointer; }
.pqcma .pqcma-alg > summary::-webkit-details-marker, .pqcma .pqcma-sizes > summary::-webkit-details-marker { display: none; }
.pqcma .pqcma-alg > summary::after, .pqcma .pqcma-sizes > summary::after { content: "+"; margin-left: auto; color: var(--pq-help); font-weight: 400; }
.pqcma .pqcma-alg[open] > summary::after, .pqcma .pqcma-sizes[open] > summary::after { content: "\2013"; }
.pqcma .pqcma-alg[open] > summary, .pqcma .pqcma-sizes[open] > summary { border-bottom: 1px solid var(--pq-line); }
.pqcma .pqcma-alg-body { padding: 10px 14px 8px; }
.pqcma .pqcma-sizes .pqcma-tablewrap { margin: 0; border: 0; border-radius: 0; }
.pqcma .pqcma-sizes p.pqcma-src { margin: 0; padding: 8px 12px 10px; }
.pqcma .pqcma-kv { display: grid; grid-template-columns: 8.5em 1fr; gap: 6px 14px; margin: 0 0 8px; font-size: .88em; }
.pqcma .pqcma-kv dt { color: var(--pq-muted); font-size: .92em; font-weight: 600; }
.pqcma .pqcma-kv dd { margin: 0; color: var(--pq-text); }
.pqcma .pqcma-maps li { margin: 0 0 8px; }
.pqcma .pqcma-maps strong { color: var(--pq-ink); font-weight: 600; }
.pqcma .pqcma-maps p.pqcma-src { margin-top: 2px; }
.pqcma .pqcma-reading { columns: 2 22em; column-gap: 2em; }
.pqcma .pqcma-reading li { break-inside: avoid; }
.pqcma .pqcma-sources { padding-left: 1.6em; color: var(--pq-muted); font-size: .8em; }
.pqcma .pqcma-sources li { margin: 3px 0; overflow-wrap: anywhere; }
.pqcma #pqcma-s-method .pqcma-list { color: var(--pq-muted); }
.pqcma .pqcma-report-foot { margin-top: 30px; padding-top: 12px; border-top: 1px solid var(--pq-line); color: var(--pq-muted); font-size: .82em; }
.pqcma .pqcma-report-foot p { margin: 2px 0; }
.pqcma .pqcma-cta { color: var(--pq-ink); font-weight: 600; }
.pqcma .pqcma-foot { margin: 16px 0 0; color: var(--pq-help); font-size: .78em; }

/* ---------- small screens ---------- */
@media (max-width: 760px) {
  .pqcma .pqcma-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pqcma .pqcma-context { grid-template-columns: 1fr; }
  .pqcma .pqcma-kv { grid-template-columns: 1fr; gap: 2px 0; }
  .pqcma .pqcma-kv dt { margin-top: 6px; }
  .pqcma .pqcma-tl-grid { --label: 7.5em; }
}
@media (max-width: 640px) {
  .pqcma { font-size: 15px; }
  .pqcma .pqcma-head { padding-right: 0; }
  .pqcma .pqcma-theme, .pqcma.pqcma-dark .pqcma-theme { position: static; margin: 0 0 14px; }
  .pqcma .pqcma-group, .pqcma .pqcma-fieldset, .pqcma .pqcma-context > .pqcma-field, .pqcma .pqcma-uses > .pqcma-choices, .pqcma .pqcma-presets { padding: 12px 12px 14px; }
  .pqcma .pqcma-choice { padding: 6px 4px; }
  .pqcma .pqcma-tl-axis span:first-child { display: none; }
}
@media (max-width: 380px) {
  .pqcma .pqcma-tiles { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .pqcma * { transition: none !important; } }

/* ---------- print ---------- */
@media print {
  html.pqcma-printing body > *:not(.pqcma-print-clone) { display: none !important; }
  html.pqcma-printing body { margin: 0 !important; padding: 0 !important; background: #fff !important; }
  .pqcma-print-clone { display: block !important; position: static !important; max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: #fff; color: #000; font-size: 10.5pt; }
  .pqcma-print-clone .pqcma-report { margin: 0; padding: 0; border: 0; }
  .pqcma-print-clone .pqcma-toolbar, .pqcma-print-clone .pqcma-linkbox, .pqcma-print-clone .pqcma-toc { display: none !important; }
  .pqcma-print-clone .pqcma-action, .pqcma-print-clone .pqcma-card, .pqcma-print-clone .pqcma-check, .pqcma-print-clone .pqcma-tile, .pqcma-print-clone details, .pqcma-print-clone tr { break-inside: avoid; }
  .pqcma-print-clone .pqcma-sec-title, .pqcma-print-clone .pqcma-tier { break-after: avoid; }
  .pqcma-print-clone .pqcma-tablewrap { overflow: visible; border: 0; }
  .pqcma-print-clone a { color: #1d4f9c; }
  .pqcma-print-clone .pqcma-tl-bar, .pqcma-print-clone .pqcma-chip, .pqcma-print-clone .pqcma-st, .pqcma-print-clone .pqcma-tile, .pqcma-print-clone .pqcma-headline, .pqcma-print-clone .pqcma-card, .pqcma-print-clone .pqcma-check { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .pqcma:not(.pqcma-print-clone) .pqcma-bar { position: static; }
}
