/* Response Quality Tests: approved page component styles extracted from staging prototype. */
/* Prototype-only. New section CSS stays inline until the component model is approved. */
:root{
  --lab-max:1280px;
  --clear-c:#4f6fe8;
  --clear-c-soft:#eef3ff;
  --clear-l:#2f9662;
  --clear-l-soft:#edf8f2;
  --clear-ear:#7650c8;
  --clear-ear-soft:#f3effc;
}
body{padding-top:var(--pe-nav-height,62px)}
.lab-shell{width:min(calc(100% - 32px),var(--lab-max));margin:0 auto}

/* Hero uses the existing article-hero / hero-subtitle / hero-intro / article-meta structure from shared.css. */
.lab-shell > .article-hero{padding-bottom:42px}

.lab-method-panel{scroll-margin-top:82px;margin:0 0 30px;padding:24px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:var(--sh-xs)}
.lab-method-head{max-width:850px;margin:0 auto 20px;text-align:center}
.lab-method-head h2{margin:0 0 8px;font-size:clamp(24px,3vw,32px);letter-spacing:-.5px;color:var(--text)}
.lab-method-head p{margin:0;color:var(--text-2);font-size:14px;line-height:1.65}
.clear-learn-more-row{display:flex;justify-content:center;margin:18px 0 20px}
.clear-flow{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1.15fr);align-items:center;gap:10px;max-width:900px;margin:0 auto}
.clear-step{display:flex;align-items:center;gap:12px;min-width:0;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}
.clear-step--c{background:linear-gradient(135deg,var(--clear-c-soft),var(--surface))}
.clear-step--l{background:linear-gradient(135deg,var(--clear-l-soft),var(--surface))}
.clear-step--ear{background:linear-gradient(135deg,var(--clear-ear-soft),var(--surface))}
.clear-letter{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;flex:0 0 46px;border-radius:999px;font-size:20px;font-weight:800;letter-spacing:-.4px}
.clear-step--c .clear-letter{background:#dce7ff;color:#284bbd}
.clear-step--l .clear-letter{background:#d9f0e3;color:#187344}
.clear-step--ear .clear-letter{background:#e7dcf8;color:#5d35a8}
.clear-step strong{display:block;margin-bottom:4px;color:var(--text);font-size:14px;line-height:1.2}
.clear-step small{display:block;color:var(--text-2);font-size:12px;line-height:1.35}
.clear-arrow{display:flex;align-items:center;justify-content:center;color:var(--text-3);font-size:24px;line-height:1}
.clear-example{max-width:900px;margin:18px auto 0;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface)}
.clear-example h3{margin:0;padding:12px 16px;border-bottom:1px solid var(--border);font-size:14px;color:var(--text)}
.clear-example-grid{display:grid;grid-template-columns:1fr 1fr 1.25fr}
.clear-example-cell{padding:15px 16px;min-width:0}
.clear-example-cell+.clear-example-cell{border-left:1px solid var(--border)}
.clear-example-label{display:flex;align-items:center;gap:8px;margin-bottom:9px;font-size:14px;font-weight:800;line-height:1.3}
.clear-example-label span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;font-size:12px}
.clear-example-cell--c .clear-example-label{color:var(--clear-c)}
.clear-example-cell--c .clear-example-label span{background:var(--clear-c-soft)}
.clear-example-cell--l .clear-example-label{color:var(--clear-l)}
.clear-example-cell--l .clear-example-label span{background:var(--clear-l-soft)}
.clear-example-cell--ear .clear-example-label{color:var(--clear-ear)}
.clear-example-cell--ear .clear-example-label span{background:var(--clear-ear-soft)}
.clear-example-cell p{margin:0;color:var(--text-2);font-size:13px;line-height:1.55}

.question-card{scroll-margin-top:82px;margin:0 0 24px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:var(--sh-xs);overflow:hidden}
.question-card-inner{padding:24px}
.question-card h2{margin:0;color:var(--text);font-size:clamp(24px,3.1vw,34px);line-height:1.14;letter-spacing:-.6px}
.question-card .sec-label{display:inline-block;margin:0 0 12px;padding:4px 10px;border-radius:999px;background:#e3f6ee;color:#155f48;font-size:12px;font-weight:800;letter-spacing:.055em;line-height:1.25;text-transform:uppercase}
.question-overview-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1.1fr) minmax(220px,.82fr);gap:18px;align-items:stretch;margin-bottom:22px}
.question-prompt,.question-why,.question-details{min-width:0;padding:6px 4px}
.question-prompt{padding-right:12px}
.question-prompt-text{margin:12px 0 0;color:var(--text);font-size:15px;line-height:1.6}
.question-why{padding:18px 20px;border:1px solid var(--accent-mid);border-radius:14px;background:linear-gradient(135deg,var(--accent-light) 0%,var(--accent-soft) 58%,var(--surface) 100%)}
.question-why h3{margin:0 0 9px;color:var(--accent);font-size:16px;line-height:1.3}
.question-why p{margin:0;color:var(--text-2);font-size:14px;line-height:1.65}
.question-details{padding-left:18px;border-left:1px solid var(--border)}
.question-details h3{margin:0 0 10px;color:var(--text);font-size:16px;line-height:1.3}
.lab-details-list{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0;font-size:12px;line-height:1.35}
.lab-details-list dt{font-weight:750;color:var(--text)}
.lab-details-list dd{margin:0;color:var(--text-2)}
.prompt-instructions{display:flex;align-items:flex-start;gap:12px;margin:16px 0 18px;padding:14px 15px;border:1px solid var(--accent-mid);border-radius:12px;background:var(--accent-soft)}
.prompt-instructions-label{flex:0 0 auto;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.prompt-instructions p{margin:0;color:var(--text-2);font-size:13px;line-height:1.55}


/* Same visual grammar as the existing PromptingEasy generator resource divider,
   scoped locally so this prototype does not need an extra generator.css request. */
.lab-results-divider{
  position:relative;
  min-height:70px;
  margin:0 -24px 10px;
  text-align:center;
  isolation:isolate;
}
.lab-results-divider::before{
  content:"";
  position:absolute;
  z-index:0;
  left:50%;
  top:0;
  width:100%;
  height:62px;
  transform:translateX(-50%);
  background:
    linear-gradient(90deg,transparent 0%,rgba(145,138,232,.08) 9%,rgba(145,138,232,.26) 28%,rgba(67,56,202,.40) 50%,rgba(145,138,232,.26) 72%,rgba(145,138,232,.08) 91%,transparent 100%) center 17px/100% 1px no-repeat,
    linear-gradient(90deg,transparent 0%,rgba(145,138,232,.10) 17%,rgba(67,56,202,.26) 50%,rgba(145,138,232,.10) 83%,transparent 100%) center 31px/82% 1px no-repeat,
    linear-gradient(90deg,transparent 0%,rgba(145,138,232,.08) 22%,rgba(67,56,202,.18) 50%,rgba(145,138,232,.08) 78%,transparent 100%) center 45px/64% 1px no-repeat;
  pointer-events:none;
}
.lab-results-divider::after{
  content:"";
  position:absolute;
  z-index:0;
  left:18%;
  right:18%;
  top:11px;
  height:40px;
  background:radial-gradient(ellipse at center,rgba(145,138,232,.12),transparent 68%);
  filter:blur(18px);
  pointer-events:none;
}
.lab-results-divider .resource-divider-kicker{
  position:absolute;
  z-index:1;
  top:15px;
  left:50%;
  transform:translateX(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 16px;
  border:1px solid rgba(94,79,224,.24);
  border-radius:999px;
  background:var(--surface);
  box-shadow:0 0 0 12px var(--surface),var(--sh-xs);
  color:var(--text-2);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
[data-theme="dark"] .lab-results-divider .resource-divider-kicker{
  background:var(--surface);
  box-shadow:0 0 0 12px var(--surface),var(--sh-xs);
  border-color:rgba(145,138,232,.30);
}


.ai-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:stretch}
.ai-grid.has-expanded-answer{align-items:start}
.ai-grid.has-expanded-answer .ai-card{height:auto}
.ai-grid + .lab-results-divider{margin-top:22px}

.ai-card{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;min-width:0;height:100%;padding:15px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}
.ai-card-header{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.ai-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text)}
.ai-mark svg{width:23px;height:23px}
.ai-mark.ai-logo-chatgpt{background:#74aa9c;border-color:transparent}
.ai-mark.ai-logo-perplexity{background:#0d1117;border-color:transparent}
.ai-mark.ai-logo-claude{background:#fff;border-color:transparent}
.ai-mark.ai-logo-grok{background:#111;border-color:transparent}
.ai-card-title{min-width:0}
.ai-card-title h4{margin:0;color:var(--text);font-size:17px;line-height:1.15}
.ai-card-meta{display:grid;grid-template-columns:auto auto;justify-content:end;gap:2px 4px;flex:0 1 auto;min-width:0;max-width:58%;margin:0 0 0 auto;padding-left:8px;color:var(--text-3);font-size:10.5px;line-height:1.35}
.ai-card-meta dt{font-weight:750;color:var(--text-2)}
.ai-card-meta dd{min-width:0;max-width:128px;margin:0;text-align:left;overflow-wrap:anywhere}
.ai-answer-wrap{display:grid;grid-template-rows:auto auto;gap:7px;min-width:0;align-self:start}
.ai-answer{position:relative;height:170px;min-height:170px;padding:13px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text-2);font-size:13px;line-height:1.55;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 40px),rgba(0,0,0,.72) calc(100% - 22px),transparent 100%);mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 40px),rgba(0,0,0,.72) calc(100% - 22px),transparent 100%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.ai-answer.is-expanded{height:auto;min-height:0;overflow:visible;-webkit-mask-image:none;mask-image:none}
.ai-answer>p{margin:0}
.ai-answer-preview p,.ai-answer-more p{margin:0}
.ai-answer-preview p+p,.ai-answer-more p+p{margin-top:8px}
.ai-answer-more{margin-top:8px}
.ai-answer ul{margin:0;padding-left:18px}
.ai-answer li{padding-left:1px}
.ai-answer li+li{margin-top:6px}
.ai-answer-more li:first-child{margin-top:6px}
.ai-answer-toggle{display:inline-flex;align-items:center;gap:6px;justify-self:start;padding:0 2px;border:0;background:transparent;color:var(--text-3);font-family:inherit;font-size:12px;font-weight:650;line-height:1.4;cursor:pointer}
.ai-answer-toggle:hover{color:var(--text)}
.ai-answer-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.ai-answer-toggle-icon{display:block;width:12px;height:12px;flex:0 0 12px;transition:transform var(--transition);transform-origin:50% 50%}
.ai-answer-toggle-icon path{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.ai-answer-toggle[aria-expanded="true"] .ai-answer-toggle-icon{transform:rotate(180deg)}
.hero-clear-line{white-space:nowrap}
.question-collapsed-context{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.8fr);gap:18px;margin-top:16px}
.question-collapsed-context strong{display:block;margin-bottom:5px;color:var(--text);font-size:13px}
.question-collapsed-context p{margin:0;color:var(--text-2);font-size:13px;line-height:1.6}
.question-card--bonus{border-color:var(--accent-mid);box-shadow:inset 4px 0 0 var(--accent),var(--sh-xs)}
.question-card--bonus .sec-label{background:var(--accent-soft);color:var(--accent)}


.ai-analysis-block{min-height:0}
.constraint-evidence{display:grid;gap:6px;margin-top:7px;padding:8px 9px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}
.constraint-checks{display:grid;gap:5px;justify-items:start}
.constraint-chip{display:inline-flex;align-items:center;min-height:23px;padding:3px 7px;border-radius:999px;background:var(--clear-l-soft);color:var(--clear-l);font-size:9.5px;font-weight:750;line-height:1.2}
.constraint-chip--fail{background:var(--tint-bad);color:var(--danger)}
.constraint-assessment{margin:0!important;color:var(--text-3)!important;font-size:10px!important;line-height:1.4!important}
.constraint-assessment strong{color:var(--text-2)}




.clear-rating{margin-top:14px;padding-top:13px;border-top:1px solid var(--border)}
.clear-rating-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.clear-rating-head strong{font-size:12px;letter-spacing:.025em;color:var(--text-3)}
.clear-rating-head span{font-size:10px;color:var(--text-3)}
.clear-word{letter-spacing:.04em}
.clear-rating-list{display:grid;gap:0}
.clear-rating-item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;min-width:0}
.rating-marker{position:relative;display:flex;justify-content:center}
.rating-marker>span{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;font-size:11px;font-weight:850;line-height:1}
.clear-rating-item:not(:last-child) .rating-marker::after{content:"";position:absolute;top:29px;bottom:-14px;width:2px;border-radius:999px;background:var(--border-strong)}
.rating-c .rating-marker>span{background:var(--clear-c-soft);color:var(--clear-c);border:1px solid #4f6fe833}
.rating-l .rating-marker>span{background:var(--clear-l-soft);color:var(--clear-l);border:1px solid #2f966233}
.rating-ear .rating-marker>span{background:var(--clear-ear-soft);color:var(--clear-ear);border:1px solid #7650c833}
.rating-c .rating-marker::after{background:linear-gradient(var(--clear-c),var(--clear-l))}
.rating-l .rating-marker::after{background:linear-gradient(var(--clear-l),var(--clear-ear))}
.rating-content{padding:1px 0 14px}
.clear-rating-item:last-child .rating-content{padding-bottom:0}
.rating-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:3px}
.rating-title strong{font-size:12px;color:var(--text)}
.rating-title b{font-size:15px;line-height:1;white-space:nowrap}
.rating-c .rating-title b{color:var(--clear-c)}
.rating-l .rating-title b{color:var(--clear-l)}
.rating-ear .rating-title b{color:var(--clear-ear)}
.rating-content p{margin:0;color:var(--text-3);font-size:11px;line-height:1.45}
.proof-button{display:inline-flex;align-items:center;justify-content:center;align-self:end;gap:6px;width:100%;min-height:44px;margin-top:14px;padding:8px 10px;border:1px solid var(--accent-mid);border-radius:11px;background:var(--surface);color:var(--accent);font-family:inherit;font-size:12px;font-weight:750;cursor:pointer}
.proof-button:hover{background:var(--accent-soft)}

.lab-learning{margin:0 0 18px}
.lab-learning-head{max-width:850px;margin:0 0 14px}
.lab-learning-head h3{margin:0 0 7px;color:var(--text);font-size:22px;line-height:1.2}
.lab-learning-head p{margin:0;color:var(--text-2);font-size:var(--fs-body);line-height:1.6}
.learning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.learning-item{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;padding:13px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}
.learning-number{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:850}
.learning-item strong{display:block;margin-bottom:4px;color:var(--text);font-size:var(--fs-body);line-height:1.35}
.learning-item p{margin:0;color:var(--text-3);font-size:var(--fs-body);line-height:1.6}
.lab-conclusion{margin-top:12px;padding:14px 16px;border:1px solid var(--accent-mid);border-radius:11px;background:linear-gradient(135deg,var(--accent-light),var(--accent-soft),var(--surface))}
.lab-conclusion strong{display:block;margin-bottom:4px;color:var(--accent);font-size:var(--fs-body);letter-spacing:.035em;text-transform:uppercase}
.lab-conclusion p{margin:0;color:var(--text-2);font-size:var(--fs-body);line-height:1.6}



/* Native <details> for the remaining question groups: no JS required. */
details.question-card>summary{list-style:none;cursor:pointer}
details.question-card>summary::-webkit-details-marker{display:none}
.question-summary-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px}
.question-summary-copy{min-width:0}
.question-summary-copy h2{font-size:clamp(20px,2.6vw,28px)}
.question-summary-copy p{max-width:980px;margin:7px 0 0;color:var(--text-3);font-size:13px;line-height:1.55}
details.question-card[open] details.question-card--completed[open]>.question-card-inner{border-top:1px solid var(--border)}
details.question-card[open] .question-summary-row .faq-arrow{transform:rotate(180deg)}
.question-collapsed-body{padding:0 24px 22px;border-top:1px solid var(--border)}
.question-collapsed-body p{margin:16px 0 0;color:var(--text-2);font-size:14px;line-height:1.65}
.question-collapsed-body .prompt-instructions{margin-bottom:0}


[data-theme="dark"] :is(.lab-method-panel,.question-card,.ai-card,.clear-example){background:var(--surface)}
[data-theme="dark"] .ai-card{background:var(--surface-2)}
[data-theme="dark"] .clear-step--c{background:linear-gradient(135deg,#15213d,var(--surface-2))}
[data-theme="dark"] .clear-step--l{background:linear-gradient(135deg,#132b21,var(--surface-2))}
[data-theme="dark"] .clear-step--ear{background:linear-gradient(135deg,#261c3d,var(--surface-2))}
[data-theme="dark"] .clear-step--c .clear-letter{background:#20366c;color:#b9c8ff}
[data-theme="dark"] .clear-step--l .clear-letter{background:#174b31;color:#aee2c6}
[data-theme="dark"] .clear-step--ear .clear-letter{background:#3d2862;color:#d7c4ff}
[data-theme="dark"] .clear-example-cell--c .clear-example-label span,[data-theme="dark"] .rating-c .rating-marker>span{background:#20366c;color:#b9c8ff}
[data-theme="dark"] .clear-example-cell--l .clear-example-label span,[data-theme="dark"] .rating-l .rating-marker>span{background:#174b31;color:#aee2c6}
[data-theme="dark"] .clear-example-cell--ear .clear-example-label span,[data-theme="dark"] .rating-ear .rating-marker>span{background:#3d2862;color:#d7c4ff}
[data-theme="dark"] .question-card .sec-label{background:#153b2d;color:#b8ead5}

@media (max-width:1024px){.question-card{scroll-margin-top:calc(var(--pe-nav-height,62px) + var(--pe-sticky-social-height,68px) + 18px)}}

@media (max-width:1100px){
  .ai-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .question-overview-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(210px,.8fr);gap:14px}
}
@media (max-width:760px){
  .lab-shell{width:min(calc(100% - 24px),var(--lab-max))}
  .lab-shell>.article-hero{padding:26px 8px 20px}
  .clear-flow{grid-template-columns:1fr;gap:8px}
  .clear-arrow{transform:rotate(90deg);height:24px}
  .clear-example-grid{grid-template-columns:1fr}
  .clear-example-cell+.clear-example-cell{border-left:0;border-top:1px solid var(--border)}
  .question-card-inner{padding:20px 16px}
  .lab-results-divider{min-height:60px;margin:0 -16px 8px}
  .ai-grid + .lab-results-divider{margin-top:20px}
  .lab-results-divider::before{
    height:56px;
    background:
      linear-gradient(90deg,transparent 0%,rgba(145,138,232,.16) 20%,rgba(67,56,202,.34) 50%,rgba(145,138,232,.16) 80%,transparent 100%) center 15px/100% 1px no-repeat,
      linear-gradient(90deg,transparent 0%,rgba(145,138,232,.10) 25%,rgba(67,56,202,.22) 50%,rgba(145,138,232,.10) 75%,transparent 100%) center 31px/78% 1px no-repeat;
  }
  .lab-results-divider .resource-divider-kicker{top:12px;font-size:11px;padding:6px 13px;box-shadow:0 0 0 10px var(--surface),var(--sh-xs)}
  .question-overview-grid{grid-template-columns:1fr;gap:16px;margin-bottom:20px}
  .question-prompt,.question-why,.question-details{padding:0}
  .question-why{padding:17px 18px}
  .question-details{padding-top:16px;border-left:0;border-top:1px solid var(--border)}
  .prompt-instructions{flex-direction:column;gap:5px}
  .ai-grid{grid-template-columns:1fr}
  .hero-clear-line{white-space:normal}
  .learning-grid{grid-template-columns:1fr}

  .question-summary-row{padding:18px 16px}
  .question-collapsed-body{padding:0 16px 18px}
  .question-collapsed-context{grid-template-columns:1fr;gap:12px}
}
@media (max-width:430px){
  .ai-card-meta{max-width:56%;padding-left:5px;font-size:10px}
  .lab-method-panel{padding:18px 14px}
  .clear-step{padding:13px}
  .clear-letter{width:40px;height:40px;flex-basis:40px}
  .question-summary-row{gap:12px}
}
@media (prefers-reduced-motion:reduce){.ai-answer-toggle-icon{transition:none}}
