/* Readable layouts: content may scroll; text and controls never shrink to fit height. */
.qa-app {
  --qa-paper:#f4f3ef;
  --qa-white:#fdfdfa;
  --qa-ink:#1e2925;
  --qa-pine:#20372e;
  --qa-muted:#59675f;
  --qa-line:#d8dfd5;
  --qa-lime:#d6e9a4;
  container-type:inline-size;
  display:flex;
  flex:1 1 0;
  flex-direction:column;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  margin:0 auto;
  overflow:hidden;
  color:var(--qa-ink);
  font-size:14px;
  line-height:1.6;
}
.qa-app * {box-sizing:border-box;}
.qa-app h1,.qa-app h2,.qa-app h3,.qa-app p {margin:0;}
.qa-app button,.qa-app input {font:inherit;}
.qa-app button {cursor:pointer;}
.qa-app button:disabled {opacity:.45;cursor:not-allowed;}
.qa-app button:focus-visible,.qa-app a:focus-visible,.qa-app summary:focus-visible,.qa-app input:focus-visible {outline:2px solid #46633c;outline-offset:3px;}
.qa-app [tabindex='-1']:focus {outline:none;}
.qa-eyebrow {font-size:12px;font-weight:600;letter-spacing:.08em;color:#5e7056;text-transform:uppercase;line-height:1.5;}
.qa-kind {display:inline-block;font-size:12px;line-height:1.5;color:var(--qa-muted);}
.qa-kind.is-screening {color:#456139;}
.qa-sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* One scroll area for the entire catalogue, including its header and filters. */
.qa-catalog {display:block;max-width:none;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:10px;scrollbar-width:thin;scrollbar-color:#a9b99a transparent;}
.qa-head {display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:0 0 22px;}
.qa-head>div {min-width:0;}
.qa-head h1 {font:400 clamp(26px,2.3vw,34px)/1.35 var(--serif,Georgia,serif);letter-spacing:-.025em;margin:8px 0 10px;overflow-wrap:anywhere;}
.qa-head p {font-size:14px;line-height:1.7;color:var(--qa-muted);max-width:820px;}
.qa-catalog-count {flex-shrink:0;font:400 16px/1.5 Georgia,serif;font-variant-numeric:tabular-nums;border:1px solid var(--qa-line);padding:10px 13px;border-radius:5px;white-space:nowrap;color:#53644b;}
.qa-tools {display:flex;flex-direction:column;gap:14px;padding-bottom:22px;}
.qa-search {width:100%;max-width:440px;min-width:0;display:flex;align-items:center;gap:11px;border:1px solid #bfcbb7;background:var(--qa-white);border-radius:6px;padding:0 13px;}
.qa-search svg {width:20px;height:20px;flex-shrink:0;stroke-width:1.6;color:#607355;}
.qa-search input {width:100%;min-width:0;min-height:46px;border:0;background:transparent;color:var(--qa-ink);padding:11px 0;outline:none;font-size:14px;line-height:1.6;}
.qa-search input::placeholder {color:#66775c;opacity:1;}
.qa-search:focus-within {outline:2px solid #728c5d;outline-offset:2px;}
.qa-search input:focus-visible {outline:none;}
.qa-filters {display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0;}
.qa-filters button {min-height:44px;max-width:100%;border:1px solid transparent;background:transparent;color:#4f6444;border-radius:5px;padding:10px 13px;font-size:13px;line-height:1.5;white-space:normal;text-align:left;}
.qa-filters button:hover {background:#e9efdf;}
.qa-filters button.is-active {color:#263f1d;background:#e0eacc;border-color:#c4d6ad;}
.qa-scroll {flex:1 1 0;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a9b99a transparent;scrollbar-gutter:stable;padding:0 10px 24px 0;}
.qa-catalog>.qa-scroll {display:block;overflow:visible;scrollbar-gutter:auto;padding:0;}
.qa-catalog-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch;align-content:start;}
.qa-catalog-card {display:flex;flex-direction:column;min-width:0;height:auto;border:1px solid var(--qa-line);background:var(--qa-white);border-radius:7px;padding:20px;transition:border-color .15s,background .15s;}
.qa-catalog-card:hover {border-color:#8fa679;background:#fefff9;}
.qa-card-top {display:flex;align-items:center;gap:10px;min-width:0;margin-bottom:14px;}
.qa-card-symbol {display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border:1px solid #cfddbe;border-radius:7px;background:#edf3e1;font:400 24px/1 Georgia,serif;color:#4a6737;}
.qa-catalog-card h2 {font:400 22px/1.4 var(--serif,Georgia,serif);letter-spacing:-.02em;overflow-wrap:anywhere;}
.qa-catalog-card>p {flex:1;color:#52664a;font-size:14px;line-height:1.7;margin:10px 0 18px;overflow-wrap:anywhere;}
.qa-card-footer {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;margin-top:auto;border-top:1px solid #dfe7d4;padding-top:10px;}
.qa-card-footer>span {color:#607852;font-size:12px;line-height:1.6;}
.qa-card-footer i {font-style:normal;margin:0 7px;color:#7d936c;}
.qa-start {display:inline-flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;max-width:100%;margin-left:auto;border:0;background:none;padding:10px 0;color:#345629;font-size:14px;font-weight:600;line-height:1.5;text-align:left;white-space:normal;}
.qa-start>span {font-size:20px;line-height:1;flex-shrink:0;}
.qa-library-note {font-size:12px;color:#5f7453;line-height:1.8;margin:20px 0 0!important;}
.qa-bottom-note {display:flex;align-items:flex-start;gap:10px;margin-top:18px;border-top:1px solid var(--qa-line);padding:15px 0 18px;color:#5d7350;font-size:12px;line-height:1.8;}
.qa-bottom-note>span {flex-shrink:0;font-size:18px;line-height:1.2;color:#53703f;margin-top:3px;}
.qa-empty {grid-column:1/-1;text-align:center;padding:60px 20px;color:#5e7650;}
.qa-empty>span {font-size:42px;display:block;}
.qa-empty h2 {font:400 26px/1.5 var(--serif,Georgia,serif);margin:16px 0;}
.qa-text-button {display:inline-flex;align-items:center;gap:8px;min-height:44px;max-width:100%;padding:10px 0;border:0;background:none;color:#4f6b3e;font-size:14px;line-height:1.5;text-align:left;}
.qa-text-button:hover {text-decoration:underline;text-underline-offset:4px;}

/* The question body scrolls independently; its action row stays in normal flex flow. */
.qa-questionnaire {max-width:1160px;}
.qa-question-head {display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px;flex:0 0 auto;padding:0 0 12px;}
.qa-question-name {text-align:right;font-size:13px;line-height:1.6;color:#586e4b;overflow-wrap:anywhere;}
.qa-step {font-size:13px;line-height:1.5;color:#617655;white-space:nowrap;}
.qa-step b {font-weight:600;color:#2e4b22;margin:0 4px;}
.qa-progress {height:4px;flex:0 0 4px;background:#dde6d1;overflow:hidden;}
.qa-progress span {display:block;height:100%;background:#7c9d54;transition:width .15s;}
.qa-question-form {display:flex;flex:1 1 0;min-width:0;min-height:0;flex-direction:column;}
.qa-question-scroll {padding-top:28px;}
.qa-question-layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:start;}
.qa-stem {min-width:0;}
.qa-question-index {display:block;font:400 34px/1 Georgia,serif;color:#80966d;margin-bottom:20px;}
.qa-period {font-size:14px;color:#556e47;line-height:1.7;margin-bottom:12px!important;}
.qa-stem h2 {font:400 clamp(24px,2.3vw,30px)/1.5 var(--serif,Georgia,serif);letter-spacing:-.015em;overflow-wrap:anywhere;}
.qa-choice-help {font-size:14px;line-height:1.8;color:#607651;margin:18px 0 15px!important;}
.qa-options {display:flex;flex-direction:column;gap:10px;min-width:0;border:0;padding:0;margin:0;}
.qa-option {display:flex;align-items:center;gap:13px;min-height:56px;padding:14px 16px;border:1px solid #bfceaf;border-radius:6px;background:#fcfdf8;color:#3e5d2f;cursor:pointer;font-size:14px;line-height:1.7;position:relative;transition:background .12s,border-color .12s;}
.qa-option>span {min-width:0;overflow-wrap:anywhere;}
.qa-option:hover {background:#eff5e3;border-color:#8eaa73;}
.qa-option.is-selected {background:#e6f0d2;border-color:#63883d;color:#244317;}
.qa-option input {position:absolute;width:1px;height:1px;opacity:0;}
.qa-option:has(input:focus-visible) {outline:2px solid #436b2a;outline-offset:3px;}
.qa-option-dot {width:17px;height:17px;flex-shrink:0;border:1px solid #92aa7b;border-radius:50%;}
.qa-option.is-selected .qa-option-dot {border:5px solid #5d8338;background:#f5faeb;}
.qa-option-check {margin-left:auto;opacity:0;color:#426d26;font-size:16px;flex-shrink:0;}
.qa-option.is-selected .qa-option-check {opacity:1;}
.qa-method {border-top:1px solid #d3dfc5;padding:8px 0;margin-top:26px;color:#526f42;font-size:13px;line-height:1.8;}
.qa-method summary {min-height:44px;padding:11px 0;cursor:pointer;color:#3e612d;list-style-position:inside;font-size:13px;line-height:1.7;}
.qa-method p {margin:8px 0 12px;max-width:100%;overflow-wrap:anywhere;}
.qa-source-links {display:flex;flex-wrap:wrap;gap:2px 22px;margin-top:4px;}
.qa-source-links:empty {display:none;}
.qa-source-links a {display:inline-flex;align-items:center;min-height:44px;color:#345c24;text-decoration:underline;text-underline-offset:3px;font-size:13px;line-height:1.6;overflow-wrap:anywhere;}
.qa-question-boundary {font-size:12px;color:#607a4e;line-height:1.8;}
.qa-actions {display:flex;align-items:center;justify-content:space-between;gap:14px;flex:0 0 auto;padding:16px 0 0;border-top:1px solid #ceddbd;background:var(--qa-paper);}
.qa-button {display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:0;min-height:44px;max-width:100%;padding:11px 17px;border-radius:6px;border:1px solid transparent;font-size:14px;line-height:1.5;text-decoration:none;text-align:center;overflow-wrap:anywhere;}
.qa-button>span {flex-shrink:0;}
.qa-button-primary {background:var(--qa-pine);color:#f7fbe9;}
.qa-button-primary:hover:not(:disabled) {background:#304e3b;}
.qa-button-secondary {border-color:#becfac;background:#fcfdf7;color:#3d612b;}
.qa-button-secondary:hover:not(:disabled) {background:#e7efdb;}
.qa-action-help {flex:1;text-align:center;color:#607b4e;font-size:12px;font-variant-numeric:tabular-nums;}

/* Reports keep their historical text and source details in one readable scroll panel. */
.qa-report {max-width:1200px;}
.qa-report-head {display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;flex:0 0 auto;padding:0 0 12px;border-bottom:1px solid var(--qa-line);}
.qa-report-head .qa-eyebrow {margin-left:auto;}
.qa-report-head time {font-size:12px;line-height:1.6;color:#5e784d;}
.qa-report-scroll {padding-top:24px;}
.qa-report-title {margin-bottom:24px;}
.qa-report-title h1 {font:400 clamp(26px,2.3vw,34px)/1.4 var(--serif,Georgia,serif);letter-spacing:-.025em;margin:8px 0 10px;overflow-wrap:anywhere;}
.qa-report-title>p {font-size:14px;line-height:1.7;color:#5c774a;}
.qa-report-grid {display:grid;grid-template-columns:240px minmax(0,1fr);gap:22px;align-items:start;}
.qa-score-panel {background:#e8f0d8;border:1px solid #cbddb3;border-radius:7px;padding:24px;min-width:0;}
.qa-score-panel>span:first-child {font-size:14px;line-height:1.6;color:#4b6c34;}
.qa-score-number {display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;min-width:0;max-width:100%;font:400 58px/1.3 Georgia,serif;color:#2e4c21;overflow-wrap:anywhere;margin:12px 0 14px;}
.qa-score-number small {min-width:0;max-width:10ch;font-size:20px;color:#617f49;overflow-wrap:anywhere;}
.qa-score-panel>p {font-size:13px;color:#52743a;line-height:1.8;overflow-wrap:anywhere;}
.qa-report-status {display:block;margin-top:20px;border-top:1px solid #c6dab0;padding-top:14px;font-size:12px;line-height:1.7;color:#4a6e32;}
.qa-insight {min-width:0;border:1px solid #d2e0c2;border-radius:7px;background:var(--qa-white);padding:24px;}
.qa-insight>h2,.qa-dimensions>h2 {font:400 23px/1.5 var(--serif,Georgia,serif);margin-bottom:14px;}
.qa-insight>p {font-size:14px;line-height:1.9;color:#456637;overflow-wrap:anywhere;}
.qa-next-step {border-top:1px solid #dae7c9;padding-top:18px;margin-top:20px;}
.qa-next-step h3 {font-size:14px;font-weight:600;line-height:1.6;color:#42642e;margin-bottom:9px;}
.qa-next-step p {font-size:14px;line-height:1.9;color:#52743d;overflow-wrap:anywhere;}
.qa-dimensions {padding:26px 0;}
.qa-dimension-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 32px;}
.qa-dimension {min-width:0;}
.qa-dimension>div:first-child {display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:14px;line-height:1.6;color:#426330;}
.qa-dimension>div:first-child>span {min-width:0;overflow-wrap:anywhere;}
.qa-dimension b {font-size:14px;font-weight:600;white-space:nowrap;}
.qa-dimension small {font-size:12px;font-weight:400;color:#637f4d;}
.qa-dimension-track {height:7px;border-radius:3px;background:#dfebce;overflow:hidden;}
.qa-dimension-track>span {display:block;height:100%;background:#8bab5b;}
.qa-dimensions>p {font-size:13px;line-height:1.8;color:#56763f;margin-top:18px;}
.qa-answer-review {border-top:1px solid #cadcb8;border-bottom:1px solid #cadcb8;padding:8px 0;color:#476b32;font-size:14px;}
.qa-answer-review>summary {min-height:44px;padding:10px 0;cursor:pointer;list-style-position:inside;display:list-item;font-size:14px;line-height:1.7;}
.qa-answer-review>summary span {font-size:12px;border:1px solid #c5d9b0;border-radius:4px;padding:2px 7px;margin-left:8px;color:#56773e;}
.qa-answer-review>ol {padding:3px 0 0;margin:0;list-style:none;}
.qa-answer-review li {display:flex;align-items:flex-start;justify-content:space-between;gap:22px;border-bottom:1px solid #dce8ce;padding:18px 0;}
.qa-answer-review li:last-child {border-bottom:0;padding-bottom:8px;}
.qa-answer-review li>div {display:flex;gap:14px;flex:1;min-width:0;}
.qa-answer-review li>div>span {flex-shrink:0;font:400 13px/1.8 Georgia,serif;color:#6c8b52;}
.qa-answer-review li p {font-size:14px;line-height:1.8;color:#4c6c38;overflow-wrap:anywhere;}
.qa-answer-review li>strong {max-width:35%;font-size:13px;font-weight:600;line-height:1.8;text-align:right;color:#3a5e26;overflow-wrap:anywhere;}
.qa-answer-review li small {display:block;font-size:12px;font-weight:400;color:#618147;}
.qa-answer-review>p {font-size:14px;line-height:1.8;margin:12px 0;}
.qa-report-boundary,.qa-support {font-size:12px;color:#54753c;line-height:1.8;margin-top:14px!important;}
.qa-report .qa-method {margin-top:0;border-top:0;}
.qa-result-actions {flex-wrap:wrap;align-items:center;}
.qa-ai-action {display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:10px 16px;min-width:0;max-width:100%;}
.qa-ai-action>span {max-width:280px;font-size:12px;line-height:1.6;color:#536f40;}
.qa-ai-action>.qa-button {background:var(--qa-lime);border-color:#b9d482;color:#2b451f;font-weight:600;}
.qa-ai-action>.qa-button:hover:not(:disabled) {background:#c5df8b;}

/* Respond to usable panel width, including browser zoom, instead of physical pixels. */
@container (max-width:1060px) {
  .qa-catalog-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
  .qa-question-layout {gap:26px;}
  .qa-report-grid {grid-template-columns:210px minmax(0,1fr);gap:18px;}
  .qa-score-panel,.qa-insight {padding:20px;}
  .qa-ai-action>span {max-width:200px;}
}
@container (min-width:900px) {
  .qa-tools {flex-direction:row;align-items:flex-start;gap:16px;}
  .qa-search {flex:0 1 320px;}
  .qa-filters {flex:1;}
}
@container (max-width:780px) {
  .qa-catalog-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .qa-head {gap:16px;}
  .qa-question-layout {grid-template-columns:1fr;gap:24px;}
  .qa-question-index {display:none;}
  .qa-stem h2 {font-size:26px;}
  .qa-options {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .qa-option {padding:13px;}
  .qa-option-check {display:none;}
  .qa-report-grid {grid-template-columns:1fr;}
  .qa-score-panel {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 22px;}
  .qa-score-panel>span:first-child {align-self:center;}
  .qa-score-number {grid-column:2;grid-row:1/3;margin:0;align-self:center;font-size:52px;}
  .qa-score-panel>p {grid-column:1;}
  .qa-report-status {grid-column:1/-1;margin-top:4px;padding-top:12px;}
  .qa-ai-action>span {display:none;}
}
@container (max-width:540px) {
  .qa-head {display:block;padding-bottom:20px;}
  .qa-head h1 {font-size:28px;}
  .qa-catalog-count {display:inline-block;margin-top:14px;font-size:14px;}
  .qa-catalog-grid {grid-template-columns:1fr;gap:14px;}
  .qa-catalog-card {padding:18px;}
  .qa-catalog-card h2 {font-size:23px;}
  .qa-card-footer {gap:6px 14px;}
  .qa-search {max-width:none;}
  .qa-search input {font-size:16px;}
  .qa-filters {gap:4px;}
  .qa-filters button {padding:10px;font-size:13px;}
  .qa-question-head {grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;}
  .qa-question-name {grid-column:1/-1;text-align:left;font-size:13px;}
  .qa-question-scroll {padding-top:22px;}
  .qa-stem h2 {font-size:24px;}
  .qa-options {display:flex;flex-direction:column;}
  .qa-option {min-height:54px;padding:14px;}
  .qa-action-help {display:none;}
  .qa-actions {gap:10px;padding-top:14px;}
  .qa-actions>.qa-button {padding:11px 13px;font-size:14px;gap:8px;}
  .qa-report-head {gap:5px 14px;}
  .qa-report-head time {width:100%;font-size:12px;}
  .qa-report-title h1 {font-size:28px;}
  .qa-report-scroll {padding-top:22px;}
  .qa-score-panel {display:block;padding:20px;}
  .qa-score-number {margin:10px 0 14px;}
  .qa-report-status {margin-top:16px;}
  .qa-insight {padding:20px;}
  .qa-insight>h2,.qa-dimensions>h2 {font-size:22px;}
  .qa-dimension-grid {grid-template-columns:1fr;gap:21px;}
  .qa-answer-review li {display:block;}
  .qa-answer-review li>strong {display:flex;align-items:flex-start;justify-content:space-between;gap:12px;max-width:none;text-align:left;margin:10px 0 0 30px;font-size:14px;}
  .qa-answer-review li small {display:inline;white-space:nowrap;}
  .qa-result-actions {display:grid;grid-template-columns:1fr;gap:10px;}
  .qa-result-actions>.qa-button {width:100%;}
  .qa-ai-action {display:block;width:100%;}
  .qa-ai-action>.qa-button {width:100%;font-size:14px;}
}
@media (max-height:600px) {
  .qa-question-scroll,.qa-report-scroll {padding-top:20px;}
  .qa-question-index {display:none;}
  .qa-head {padding-bottom:18px;}
  .qa-tools {padding-bottom:18px;}
  .qa-actions {padding-top:12px;}
}
@media (prefers-reduced-motion:reduce) {
  .qa-progress span,.qa-option,.qa-catalog-card {transition:none;}
}
