:root {
  color-scheme: light;
  --ink: #1d1d1b;
  --muted: #646464;
  --line: #d9d9d6;
  --paper: #ffffff;
  --page: #fefefd;
  --mark: #245d50;
  --soft: #eef4f0;
  --warn: #8b3f39;
  --code: #20201d;
  --font-current: ui-serif, Georgia, "Times New Roman", "Songti SC", "Noto Serif SC", serif;
  --font-song: "STSongti-SC-Regular", "Songti SC", "STSong", SimSun, "Noto Serif SC", serif;
  --font-fang: "STFangsong", "FangSong", "FangSong_GB2312", "STSongti-SC-Light", "Songti SC", "STSong", serif;
  --text-font: var(--font-current);
  --text-style: normal;
  --body-size: 15px;
  --meta-size: 12px;
  --h1-size: 24px;
  --h2-size: 14px;
  --question-size: 20px;
  --option-size: 15px;
  --result-size: 15px;
  --small-size: 13px;
  --micro-size: 11px;
  --ink-feather: 0.014em 0.01em 0 rgba(29, 29, 27, 0.055), -0.008em 0 0 rgba(29, 29, 27, 0.025);
  --paper-fiber:
    linear-gradient(92deg, rgba(60, 60, 60, 0.004) 0 1px, transparent 1px 19px),
    linear-gradient(3deg, rgba(60, 60, 60, 0.002) 0 1px, transparent 1px 29px),
    linear-gradient(98deg, rgba(255, 255, 255, 0.68), rgba(242, 242, 240, 0.032) 48%, rgba(255, 255, 255, 0.56)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='3' stitchTiles='stitch' seed='19'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.20 0 0 0 0 0.20 0 0 0 0 0.20 0 0 0 0.022 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}

* {
  box-sizing: border-box;
}

html {
  min-width: 320px;
}

body {
  margin: 0;
  color: var(--ink);
  background-color: var(--page);
  background-image: var(--paper-fiber);
  background-size: 34px 34px, 46px 46px, 100% 100%, 160px 160px;
  font-family: var(--text-font);
  font-size: var(--body-size);
  font-style: var(--text-style);
  text-shadow: var(--ink-feather);
  text-rendering: optimizeLegibility;
}

body.font-current {
  --text-font: var(--font-current);
  --text-style: normal;
}

body.font-song {
  --text-font: var(--font-song);
  --text-style: normal;
}

body.font-fang {
  --text-font: var(--font-fang);
  --text-style: oblique 4deg;
}

body.size-small {
  --body-size: 14px;
  --meta-size: 11px;
  --h1-size: 22px;
  --h2-size: 13px;
  --question-size: 18px;
  --option-size: 14px;
  --result-size: 14px;
  --small-size: 12px;
  --micro-size: 10px;
}

body.size-large {
  --body-size: 16px;
  --meta-size: 13px;
  --h1-size: 26px;
  --h2-size: 15px;
  --question-size: 22px;
  --option-size: 16px;
  --result-size: 16px;
  --small-size: 14px;
  --micro-size: 12px;
}

h1,
h2,
h3,
p {
  margin: 0;
}

.dev-only {
  display: none !important;
}

.special-only {
  display: none !important;
}

body[data-product-edition="special"] .special-only:not([hidden]),
body[data-product-edition="interview"] .special-only:not([hidden]) {
  display: grid !important;
}

body[data-product-edition="interview"] #questionText {
  white-space: pre-line;
}

body[data-product-edition="special"] .scale-select-field,
body[data-product-edition="interview"] .scale-select-field {
  display: none;
}

body:not([data-product-edition="interview"]) .interview-target-field {
  display: none;
}

.interview-target-field,
.compiler-edition-field {
  display: grid;
  gap: 0.4rem;
  max-width: 32rem;
  margin: 0.75rem 0;
}

.interview-target-field select,
.compiler-edition-field select {
  max-width: 100%;
  padding: 0.55rem;
  font: inherit;
}

[hidden] {
  display: none !important;
}

body[data-surface="respondent"] .institution-surface,
body[data-surface="respondent"] .expert-audit-surface,
body[data-surface="workbench"] .respondent-surface,
body[data-surface="workbench"] .expert-audit-surface,
body[data-surface="expert-audit"] .respondent-surface,
body[data-surface="expert-audit"] .institution-surface {
  display: none !important;
}

body[data-surface="workbench"] .reader-controls {
  display: none;
}

body[data-surface="workbench"] .app-shell {
  width: min(900px, calc(100% - 28px));
}

body[data-surface="expert-audit"] .reader-controls {
  display: none;
}

body[data-surface="expert-audit"] .app-shell {
  width: min(1180px, calc(100% - 28px));
}

.special-entry {
  margin-top: 18px;
  padding: 22px;
  border: 1px solid var(--ink);
  background-color: var(--paper);
  background-image: var(--paper-fiber);
  gap: 14px;
}

.special-entry h2 {
  font-size: var(--h1-size);
  line-height: 1.25;
}

.special-entry p,
.special-confirmation span {
  line-height: 1.65;
}

.special-kicker,
.special-question-identity {
  color: var(--mark);
  font-size: var(--meta-size);
  font-weight: 700;
  letter-spacing: 0.08em;
}

.special-core-copy {
  padding: 12px;
  border-left: 3px solid var(--mark);
  background: rgba(255, 255, 255, 0.55);
  font-weight: 700;
}

.special-boundary {
  color: var(--muted);
  font-size: var(--small-size);
}

.special-confirmation {
  display: flex;
  gap: 12px;
  align-items: start;
  cursor: pointer;
}

.special-confirmation input {
  appearance: none;
  -webkit-appearance: none;
  display: grid;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  min-height: 22px;
  margin: 0.1em 0 0;
  padding: 0;
  place-content: center;
  border: 1.5px solid var(--ink);
  border-radius: 2px;
  background: var(--paper);
  color: var(--paper);
  cursor: pointer;
}

.special-confirmation input::before {
  width: 10px;
  height: 6px;
  border-bottom: 2px solid currentColor;
  border-left: 2px solid currentColor;
  content: "";
  transform: translateY(-1px) rotate(-45deg) scale(0);
  transform-origin: center;
  transition: transform 100ms ease-out;
}

.special-confirmation input:checked {
  border-color: var(--ink);
  background: var(--ink);
}

.special-confirmation input:checked::before {
  transform: translateY(-1px) rotate(-45deg) scale(1);
}

.special-confirmation input:focus-visible {
  outline: 1.5px solid var(--ink);
  outline-offset: 3px;
}

.special-style-list {
  display: grid;
  gap: 10px;
}

.special-style-list button {
  min-height: 78px;
  padding: 13px 15px;
  display: grid;
  gap: 5px;
  text-align: left;
}

.special-style-list strong,
.special-style-list span,
.special-style-list small {
  display: block;
}

.special-style-list span {
  color: var(--muted);
  line-height: 1.5;
}

.special-style-list small {
  color: var(--warn);
}

.special-question-identity {
  margin-bottom: 8px;
}

.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;
}

button,
input,
select,
textarea {
  font: inherit;
  text-shadow: inherit;
}

button {
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid var(--ink);
  border-radius: 2px;
  background-color: var(--paper);
  background-image: var(--paper-fiber);
  background-size: 30px 30px, 42px 42px, 100% 100%, 120px 120px;
  color: var(--ink);
  cursor: pointer;
}

button:hover {
  background-color: #f7f8f7;
}

a {
  color: var(--ink);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

button.primary,
#dryRunButton {
  background: var(--ink);
  color: var(--paper);
}

#liveRunButton {
  color: var(--warn);
  border-color: var(--warn);
}

.app-shell {
  width: min(760px, calc(100% - 28px));
  min-height: 100vh;
  margin: 0 auto;
  padding: 16px 0 34px;
}

.topbar {
  padding: 8px 0 10px;
  border-bottom: 1px solid var(--ink);
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.brand-block {
  min-width: 0;
  flex: 1 1 420px;
  display: grid;
  gap: 8px;
}

.compiler-panel {
  padding: 14px 0 16px;
  border-bottom: 1px solid var(--ink);
  display: grid;
  gap: 10px;
}

body[data-surface="workbench"] .compiler-panel {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid var(--ink);
  background-color: var(--paper);
  background-image: var(--paper-fiber);
  background-size: 32px 32px, 44px 44px, 100% 100%, 140px 140px;
}

.compiler-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.compiler-head h2 {
  font-size: var(--h2-size);
  line-height: 1.2;
}

.compiler-head p {
  margin-top: 4px;
  color: var(--muted);
  font-size: var(--small-size);
}

.scale-dropzone {
  min-height: 96px;
  border: 1px dashed var(--ink);
  background-color: rgba(255, 255, 255, 0.48);
  background-image: var(--paper-fiber);
  display: grid;
  place-items: center;
  gap: 4px;
  padding: 18px;
  text-align: center;
  cursor: pointer;
}

.scale-dropzone input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.scale-dropzone span {
  font-size: var(--question-size);
  line-height: 1.15;
}

.scale-dropzone small {
  color: var(--muted);
  font-size: var(--small-size);
}

.scale-dropzone.dragging,
.scale-dropzone.loaded,
.scale-dropzone.working {
  border-style: solid;
}

.scale-url-field {
  display: grid;
  gap: 6px;
}

.scale-url-field > span:first-child {
  font-weight: 700;
  font-size: var(--body-size);
}

.scale-url-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.scale-url-control input {
  min-width: 0;
  border: 1px solid var(--line);
  background-color: rgba(255, 255, 255, 0.6);
  color: var(--ink);
  padding: 9px 10px;
  font: inherit;
}

.scale-url-control input:focus {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
}

.scale-url-field small {
  color: var(--muted);
  font-size: var(--small-size);
}

.scale-source-field {
  display: grid;
  gap: 6px;
}

.scale-source-field span {
  font-weight: 700;
  font-size: var(--body-size);
}

.scale-source-field textarea {
  width: 100%;
  min-height: 190px;
  resize: vertical;
  border: 1px solid var(--line);
  background-color: rgba(255, 255, 255, 0.6);
  color: var(--ink);
  padding: 12px;
  font: inherit;
  line-height: 1.55;
}

.scale-source-field textarea:focus {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
}

.scale-source-field small {
  color: var(--muted);
  font-size: var(--small-size);
}

.experience-style-field {
  margin: 0;
  padding: 12px;
  border: 1px solid var(--line);
}

.experience-style-disclosure {
  border: 1px solid var(--line);
}

.experience-style-disclosure > summary {
  padding: 11px 12px;
  cursor: pointer;
  font-weight: 700;
}

.experience-style-disclosure[open] > summary {
  border-bottom: 1px solid var(--line);
}

.experience-style-disclosure .experience-style-field {
  border: 0;
}

.experience-style-field legend {
  padding: 0 6px;
  font-weight: 700;
}

.experience-style-field > p {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: var(--small-size);
}

.experience-style-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.experience-style-grid label {
  display: grid;
  gap: 5px;
  font-size: var(--small-size);
}

.experience-style-grid select {
  min-width: 0;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.6);
  color: var(--ink);
  padding: 8px;
  font: inherit;
}

@media (max-width: 760px) {
  .experience-style-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.compiler-progress {
  height: 5px;
  border: 1px solid var(--ink);
  background: transparent;
}

.compiler-progress span {
  display: block;
  width: 0;
  height: 100%;
  background: var(--ink);
  transition: width 180ms ease;
}

.compiler-report {
  border-top: 1px solid var(--line);
  padding-top: 8px;
  display: grid;
  gap: 6px;
}

.compiler-report-line {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 5px;
}

.compiler-report-line span,
.compiler-report p {
  color: var(--muted);
  font-size: var(--small-size);
}

.compiler-report-line strong {
  text-align: right;
  font-size: var(--small-size);
}

.expert-review-dashboard {
  margin-top: 10px;
  border-top: 1px solid var(--ink);
  display: grid;
  gap: 0;
}

.review-head,
.review-section {
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}

.review-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

.review-head h3,
.review-section h4 {
  margin: 0;
  font-size: var(--body-size);
  line-height: 1.35;
}

.review-head p,
.review-section p,
.strategy-row p,
.review-decision p {
  color: var(--muted);
  font-size: var(--small-size);
  line-height: 1.5;
}

.review-status {
  flex: 0 0 auto;
  border: 1px solid var(--line);
  padding: 4px 7px;
  color: var(--muted);
  font-size: var(--meta-size);
  line-height: 1.2;
  text-align: right;
}

.review-status.ready_for_internal_pilot {
  color: var(--mark);
  border-color: var(--mark);
}

.review-status.blocked_by_quality_gate {
  color: var(--warn);
  border-color: var(--warn);
}

.review-section {
  display: grid;
  gap: 8px;
}

.quality-score,
.white-box-summary,
.expert-focus {
  display: grid;
  gap: 7px;
}

.quality-score-overall,
.quality-score-row,
.expert-focus li {
  display: grid;
  grid-template-columns: minmax(112px, 0.34fr) minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  border-top: 1px solid var(--line);
  padding-top: 5px;
}

.quality-score-overall:first-child {
  border-top-color: var(--ink);
}

.quality-score-overall span,
.quality-score-row span,
.expert-focus strong,
.expert-focus li span {
  font-size: var(--small-size);
  line-height: 1.45;
}

.quality-score-overall strong,
.quality-score-row strong {
  color: var(--muted);
  font-size: var(--small-size);
  text-align: right;
}

.quality-score-overall.strong strong,
.quality-score-row.strong strong {
  color: var(--mark);
}

.quality-score-overall.weak strong,
.quality-score-row.weak strong {
  color: var(--warn);
}

.expert-focus ul {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 3px;
  list-style: none;
}

.expert-focus li em {
  color: var(--muted);
  font-size: var(--small-size);
  font-style: normal;
  line-height: 1.45;
}

.review-capability-row,
.construct-domain-head,
.construct-domain li,
.review-gate,
.strategy-row {
  display: grid;
  grid-template-columns: minmax(112px, 0.34fr) minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.review-capability-row strong,
.construct-domain-head strong,
.review-gate span,
.strategy-row strong {
  font-size: var(--small-size);
  line-height: 1.45;
}

.review-capability-row span,
.construct-domain li span,
.construct-domain li em,
.construct-domain-head span,
.strategy-row span {
  color: var(--muted);
  font-size: var(--small-size);
  font-style: normal;
  line-height: 1.45;
}

.construct-tree,
.review-gates,
.strategy-list {
  display: grid;
  gap: 7px;
}

.fallback-capacity-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.fallback-capacity-card {
  display: grid;
  gap: 4px;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 9px;
}

.fallback-capacity-card strong,
.fallback-capacity-card p,
.fallback-capacity-card span {
  margin: 0;
  font-size: var(--small-size);
  line-height: 1.45;
}

.fallback-capacity-card span {
  color: var(--muted);
}

.construct-domain {
  display: grid;
  gap: 5px;
}

.construct-domain ul {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 3px;
  list-style: none;
}

.construct-domain li,
.review-gate,
.strategy-row {
  border-top: 1px solid var(--line);
  padding-top: 5px;
}

.review-gate strong {
  color: var(--muted);
  font-size: var(--small-size);
  text-align: right;
}

.review-gate.failed strong {
  color: var(--warn);
}

.review-gate.passed strong {
  color: var(--mark);
}

.review-disclosure {
  border-top: 1px solid var(--line);
}

.review-disclosure > summary {
  min-height: 34px;
  padding: 7px 0;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
}

.review-disclosure > summary span {
  color: var(--ink);
  font-size: var(--small-size);
}

.review-table-wrap {
  overflow-x: auto;
}

.review-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  font-size: var(--meta-size);
}

.review-table th,
.review-table td {
  border-top: 1px solid var(--line);
  padding: 7px 6px;
  text-align: left;
  vertical-align: top;
}

.review-table th {
  color: var(--muted);
  font-weight: 700;
}

.review-table td strong,
.review-table td span {
  display: block;
  line-height: 1.45;
}

.review-table td span {
  color: var(--muted);
}

.generation-boundary,
.review-decision {
  display: grid;
  gap: 8px;
}

.review-decision textarea {
  width: 100%;
  min-height: 78px;
  padding: 10px;
  border: 1px solid var(--line);
  background-color: rgba(255, 255, 255, 0.72);
  color: var(--ink);
  resize: vertical;
}

.review-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.reader-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
}

.reader-group {
  display: flex;
  align-items: center;
  gap: 4px;
}

.reader-group span {
  color: var(--muted);
  font-size: var(--meta-size);
  line-height: 1;
}

.reader-option {
  min-width: 30px;
  min-height: 26px;
  padding: 0 6px;
  border-color: var(--line);
  font-size: var(--meta-size);
}

.reader-option.active {
  border-color: var(--ink);
  background-color: var(--ink);
  background-image: none;
  color: var(--paper);
}

#statusLine,
#feedbackLine,
#developerFeedback,
summary em,
.field span,
.question-meta,
#assessmentStatus,
#sessionIdLabel,
.payload-detail,
#payloadMeta,
#resultMeta {
  color: var(--muted);
  font-size: var(--meta-size);
  line-height: 1.45;
}

h1 {
  min-width: 0;
  font-size: var(--h1-size);
  line-height: 1.1;
  letter-spacing: 0;
}

h2,
summary strong {
  font-size: var(--h2-size);
  font-weight: 700;
}

.topbar-side {
  max-width: 380px;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  align-items: flex-start;
  text-align: right;
}

.topbar-actions {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-left: auto;
}

.surface-link {
  min-height: 36px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 2px;
  display: inline-flex;
  align-items: center;
  color: var(--muted);
  font-size: var(--meta-size);
  text-decoration: none;
}

.surface-link:hover {
  border-color: var(--ink);
  color: var(--ink);
}

.language-toggle {
  flex: 0 0 auto;
  min-width: 46px;
}

.assessment-shell {
  margin-top: 14px;
  border: 1px solid var(--ink);
  background-color: var(--paper);
  background-image: var(--paper-fiber);
  background-size: 32px 32px, 44px 44px, 100% 100%, 140px 140px;
}

.assessment-main {
  min-width: 0;
}

.assessment-head,
.session-side-head {
  padding: 10px 14px;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
}

.scale-select-field {
  margin-right: auto;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: var(--meta-size);
}

.scale-select-field select {
  width: auto;
  min-width: 180px;
  max-width: min(56vw, 280px);
  font-size: var(--meta-size);
}

.assessment-actions,
.config-actions,
.lab-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.question-panel {
  padding: 18px 16px 20px;
}

.question-meta {
  display: flex;
  margin-bottom: 12px;
}

.supplement-explanation {
  max-width: 760px;
  margin: -2px 0 14px;
  padding: 10px 12px;
  border-left: 3px solid var(--ink);
  background: color-mix(in srgb, var(--paper) 88%, var(--ink) 12%);
  color: var(--muted);
  font-size: var(--meta-size);
  line-height: 1.55;
}

.result-limitation {
  margin: 18px 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  color: var(--muted);
  font-size: var(--meta-size);
  line-height: 1.55;
}

#questionReason {
  grid-column: 1 / -1;
}

h3 {
  max-width: 760px;
  margin-bottom: 18px;
  font-size: var(--question-size);
  line-height: 1.45;
  font-weight: 700;
}

.option-list {
  display: grid;
  border-top: 1px solid var(--line);
}

.option-list:empty {
  display: none;
}

.option-button {
  width: 100%;
  min-height: 48px;
  padding: 10px 8px;
  border: 0;
  border-bottom: 1px solid var(--line);
  text-align: left;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
}

.option-button.selected {
  background: var(--soft);
  box-shadow: inset 0 0 0 1px var(--ink);
}

.option-key {
  font-weight: 700;
}

.option-copy {
  min-width: 0;
  font-size: var(--option-size);
  line-height: 1.45;
}

.free-text-field {
  margin-top: 14px;
  border-top: 1px solid var(--line);
  padding-top: 10px;
  display: grid;
  gap: 6px;
}

.free-text-field > strong {
  color: var(--ink);
  font-size: var(--meta-size);
}

.natural-language-intro {
  margin: 2px 0 16px;
  padding: 12px 14px;
  border: 1px solid var(--mark);
  background: color-mix(in srgb, var(--paper) 82%, var(--soft) 18%);
}

.natural-language-intro strong {
  display: block;
  margin-bottom: 4px;
  font-size: var(--small-size);
}

.natural-language-intro p {
  color: var(--muted);
  font-size: var(--small-size);
  line-height: 1.6;
}

.free-text-hint {
  color: var(--muted);
  font-size: var(--meta-size);
  line-height: 1.45;
}

.respondent-feedback {
  min-height: 18px;
  margin-top: 10px;
}

.result-narrative {
  max-width: 720px;
  margin: -4px 0 18px;
  color: var(--ink);
  font-size: var(--result-size);
  line-height: 1.7;
}

.result-details {
  margin-top: -4px;
  display: grid;
  gap: 14px;
}

.result-story {
  display: grid;
  gap: 14px;
}

.result-story h4 {
  margin: 0 0 8px;
  font-size: var(--question-size);
  line-height: 1.35;
}

.result-story p {
  font-size: var(--result-size);
  line-height: 1.75;
}

.interview-result {
  max-width: 780px;
  gap: 18px;
}

.interview-result-kicker {
  margin: 0 0 6px;
  color: var(--muted);
  font-size: var(--meta-size) !important;
  letter-spacing: 0.08em;
}

.interview-result header > p:last-child {
  margin: 0;
  white-space: pre-line;
  color: var(--muted);
}

.interview-result-primary,
.interview-result-section,
.interview-result-boundary {
  padding: 16px 18px;
  border: 1px solid var(--line);
}

.interview-result-primary {
  border-color: var(--ink);
  background: color-mix(in srgb, var(--paper) 86%, var(--soft) 14%);
}

.interview-result h5 {
  margin: 0 0 8px;
  color: var(--muted);
  font-size: var(--meta-size);
  letter-spacing: 0.06em;
}

.interview-result-primary p,
.interview-result-boundary p {
  margin: 0;
}

.interview-personal-feedback p + p {
  margin-top: 14px;
}

.interview-result-list {
  margin: 0;
  padding-left: 20px;
  display: grid;
  gap: 8px;
}

.interview-result-list li {
  font-size: var(--result-size);
  line-height: 1.65;
}

.interview-result-withdrawn,
.interview-result-observations {
  border-top: 1px solid var(--line);
}

.interview-result-withdrawn > summary,
.interview-result-observations > summary {
  padding: 12px 0;
  color: var(--muted);
  font-size: var(--small-size);
  cursor: pointer;
}

.interview-result-withdrawn .interview-result-list,
.interview-result-observations .interview-result-list {
  padding-bottom: 12px;
}

.interview-result-boundary strong {
  display: block;
  margin-bottom: 5px;
  font-size: var(--small-size);
}

.interview-result-boundary p {
  color: var(--muted);
  font-size: var(--small-size);
}

.result-screening-notice,
.result-crisis-support,
.result-completion {
  padding: 13px 15px;
  border: 1px solid var(--ink);
  background: color-mix(in srgb, var(--paper) 84%, var(--soft) 16%);
}

.result-screening-notice strong,
.result-crisis-support strong,
.result-completion strong {
  display: block;
  margin-bottom: 4px;
  font-size: var(--small-size);
}

.result-screening-notice p,
.result-crisis-support p,
.result-completion p {
  margin: 0;
  color: var(--ink);
  font-size: var(--small-size);
  line-height: 1.6;
}

.result-completion p {
  margin-top: 6px;
}

.question-source {
  opacity: 0.78;
}

.result-crisis-support {
  border-width: 2px;
  background: color-mix(in srgb, var(--paper) 78%, #d8aa85 22%);
}

.native-result-section {
  display: grid;
  gap: 8px;
}

.native-result-section h5 {
  margin: 0;
  color: var(--muted);
  font-size: var(--meta-size);
  font-weight: 600;
  letter-spacing: 0.08em;
}

.native-observations,
.native-boundaries,
.native-uncertainties,
.native-facet-details > div {
  display: grid;
  gap: 10px;
}

.native-observation,
.native-boundary,
.native-uncertainty {
  padding: 12px 14px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.42);
}

.native-observation > p,
.native-boundary > p,
.native-uncertainty > p {
  margin: 0;
}

.native-boundary dl {
  margin: 10px 0 0;
  display: grid;
  gap: 6px;
}

.native-boundary dl div {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 8px;
}

.native-boundary dt,
.native-boundary dd,
.native-uncertainty span,
.native-facet-row small {
  margin: 0;
  color: var(--muted);
  font-size: var(--meta-size);
  line-height: 1.5;
}

.native-evidence {
  margin-top: 10px;
}

.native-evidence summary,
.native-facet-details > summary {
  color: var(--muted);
  font-size: var(--meta-size);
  cursor: pointer;
}

.native-evidence ol {
  margin: 8px 0 0;
  padding-left: 20px;
  display: grid;
  gap: 8px;
}

.native-evidence li span,
.native-evidence li p {
  display: block;
  color: var(--muted);
  font-size: var(--meta-size);
}

.native-evidence li p {
  margin: 2px 0 0;
}

.native-facet-details,
.native-score-reference {
  border-top: 1px solid var(--line);
}

.native-facet-details > summary {
  padding: 10px 0;
}

.native-facet-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(120px, 0.55fr) auto;
  align-items: center;
  gap: 10px;
}

.native-facet-row > div:first-child {
  display: grid;
  gap: 2px;
}

.native-facet-row > div:first-child span {
  color: var(--muted);
  font-size: var(--meta-size);
}

@media (max-width: 640px) {
  .native-facet-row {
    grid-template-columns: minmax(0, 1fr) 96px;
  }

  .native-facet-row small {
    grid-column: 1 / -1;
  }
}

.result-claims {
  display: grid;
  border-top: 1px solid var(--line);
}

.result-claim {
  border-bottom: 1px solid var(--line);
}

.result-claim > summary {
  min-height: 48px;
  padding: 12px 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
  list-style: none;
  cursor: pointer;
}

.result-claim > summary::after {
  content: "+";
  margin-top: 2px;
  color: var(--muted);
  font-size: var(--small-size);
  line-height: 1;
}

.result-claim[open] > summary::after {
  content: "-";
}

.result-claim > summary span {
  min-width: 0;
  font-size: var(--result-size);
  line-height: 1.65;
}

.result-evidence {
  padding: 0 0 12px 18px;
  display: grid;
  gap: 8px;
}

.result-evidence > strong {
  font-size: var(--small-size);
}

.result-evidence ol {
  margin: 0;
  padding-left: 20px;
  display: grid;
  gap: 8px;
}

.result-evidence li {
  padding-left: 4px;
}

.result-evidence li strong,
.result-evidence li span {
  margin-right: 8px;
  font-size: var(--meta-size);
}

.result-evidence li span,
.result-evidence p,
.result-closing,
.measurement-track > p {
  color: var(--muted);
}

.measurement-track {
  margin-top: 4px;
  border-top: 1px solid var(--ink);
}

.measurement-track > summary {
  padding: 10px 0;
}

.measurement-track > p,
.measurement-track > div {
  padding-bottom: 10px;
}

.measurement-track > p {
  display: grid;
  gap: 4px;
}

.measurement-track > p strong {
  color: var(--ink);
}

#feedbackLine.pulse {
  animation: pulse-status 260ms ease-out;
}

#freeTextInput {
  width: 100%;
  min-height: 76px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 2px;
  resize: vertical;
  background-color: rgba(255, 255, 255, 0.78);
  background-image: var(--paper-fiber);
  background-size: 30px 30px, 42px 42px, 100% 100%, 120px 120px;
  color: var(--ink);
  line-height: 1.5;
}

input,
select {
  width: 100%;
  min-height: 36px;
  border: 1px solid var(--line);
  border-radius: 2px;
  background-color: rgba(255, 255, 255, 0.78);
  background-image: var(--paper-fiber);
  background-size: 30px 30px, 42px 42px, 100% 100%, 120px 120px;
  color: var(--ink);
  padding: 0 9px;
}

input:focus,
select:focus,
textarea:focus,
button:focus-visible {
  outline: 2px solid var(--mark);
  outline-offset: 1px;
}

.developer-panel,
.diagnostic-panel {
  margin-top: 12px;
  border: 1px solid var(--line);
  background-color: var(--paper);
  background-image: var(--paper-fiber);
  background-size: 32px 32px, 44px 44px, 100% 100%, 140px 140px;
}

.developer-panel > .diagnostic-panel,
.developer-panel > .config-panel,
.developer-panel > .lab-panel {
  margin-top: 0;
  border: 0;
  border-top: 1px solid var(--line);
}

.diagnostic-body {
  display: grid;
  gap: 0;
}

.diagnostic-status {
  padding: 10px 14px;
  border-bottom: 1px solid var(--line);
}

.developer-feedback {
  min-height: 18px;
  padding: 0 14px 10px;
  color: var(--muted);
}

.session-side {
  min-width: 0;
  background-color: var(--paper);
  background-image: var(--paper-fiber);
  background-size: 32px 32px, 44px 44px, 100% 100%, 140px 140px;
}

.profile-summary,
.understanding-runway,
.turn-list {
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 8px;
}

.profile-summary p,
.understanding-runway p,
.turn-list p {
  color: var(--muted);
  font-size: var(--small-size);
  line-height: 1.45;
}

.profile-row {
  display: grid;
  gap: 4px;
}

.profile-row-top,
.turn-row,
.runway-headline,
.hypothesis-row,
.probe-line {
  min-width: 0;
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.profile-row-top,
.turn-row,
.hypothesis-row span {
  font-size: var(--small-size);
}

.profile-row-top span,
.turn-row span,
.hypothesis-row span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-row-top strong,
.turn-row strong,
.runway-headline strong,
.probe-line strong,
.hypothesis-row strong {
  color: var(--mark);
  font-size: var(--meta-size);
  text-align: right;
}

.profile-meter {
  height: 4px;
  background: #e2ded5;
}

.profile-meter span {
  display: block;
  height: 100%;
  min-width: 4px;
  max-width: 100%;
  background: var(--mark);
}

.runway-headline span,
.runway-section-label,
.probe-line span,
.hypothesis-row small {
  color: var(--muted);
  font-size: var(--micro-size);
}

.hypothesis-row {
  padding-top: 7px;
  border-top: 1px solid var(--line);
}

.hypothesis-row div {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.bucket-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.bucket-list span {
  padding: 2px 6px;
  border: 1px solid var(--line);
  color: var(--muted);
  font-size: var(--micro-size);
}

.config-panel,
.lab-panel {
  margin-top: 12px;
  border: 1px solid var(--line);
  background-color: var(--paper);
  background-image: var(--paper-fiber);
  background-size: 32px 32px, 44px 44px, 100% 100%, 140px 140px;
}

details > summary {
  min-height: 48px;
  padding: 10px 14px;
  border-bottom: 1px solid transparent;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  cursor: pointer;
  list-style: none;
}

details[open] > summary {
  border-bottom-color: var(--line);
}

details > summary::-webkit-details-marker {
  display: none;
}

summary span {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.summary-action {
  color: var(--mark);
  font-size: var(--meta-size);
  font-weight: 700;
}

.summary-action::before {
  content: attr(data-label-closed);
}

details[open] > summary .summary-action::before {
  content: attr(data-label-open);
}

.config-form {
  padding: 12px 14px 14px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
}

.field {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.field-key {
  grid-column: span 2;
}

.lab-toolbar {
  padding: 12px 14px;
}

.workspace {
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr) minmax(0, 1fr);
  min-height: 480px;
}

.payload-rail,
.editor-pane,
.result-pane {
  min-width: 0;
  min-height: 0;
  border-right: 1px solid var(--line);
  display: grid;
  grid-template-rows: 44px minmax(0, 1fr);
}

.result-pane {
  border-right: 0;
}

.rail-head,
.pane-head {
  height: 44px;
  padding: 0 12px;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.rail-head button {
  min-width: 34px;
  padding: 0;
}

.payload-list {
  padding: 8px;
  display: grid;
  align-content: start;
  gap: 6px;
  overflow: auto;
}

.payload-item {
  width: 100%;
  min-height: 58px;
  padding: 8px;
  text-align: left;
  display: grid;
  gap: 3px;
}

.payload-item.active {
  background: var(--soft);
}

.payload-title {
  font-size: var(--small-size);
  font-weight: 700;
}

#payloadEditor,
pre {
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 12px;
  border: 0;
  outline: none;
  resize: none;
  overflow: auto;
  background-color: rgba(255, 255, 255, 0.78);
  background-image: var(--paper-fiber);
  background-size: 30px 30px, 42px 42px, 100% 100%, 120px 120px;
  color: var(--code);
  font: 12px/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  tab-size: 2;
}

pre {
  white-space: pre-wrap;
  word-break: break-word;
}

.expert-audit-surface {
  padding: 16px 0 28px;
  display: grid;
  gap: 14px;
}

.expert-audit-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.42fr);
  gap: 18px;
  align-items: start;
  border-bottom: 1px solid var(--ink);
  padding-bottom: 14px;
}

.expert-audit-head h2 {
  font-size: 20px;
  line-height: 1.25;
}

.expert-audit-head p,
.expert-muted,
.expert-boundary,
.expert-missing {
  color: var(--muted);
  font-size: var(--small-size);
  line-height: 1.55;
}

.expert-audit-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 8px;
  align-items: end;
}

.expert-audit-controls label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: var(--meta-size);
}

.expert-audit-controls select {
  min-width: 0;
  height: 36px;
  border: 1px solid var(--line);
  background: var(--paper);
  color: var(--ink);
  padding: 0 8px;
}

.expert-audit-status {
  border: 1px solid var(--line);
  padding: 8px 10px;
  color: var(--muted);
  background-color: rgba(255, 255, 255, 0.52);
  font-size: var(--small-size);
}

.expert-audit-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border: 1px solid var(--line);
  border-bottom: 0;
}

.expert-mini-row {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 9px 10px;
  border-bottom: 1px solid var(--line);
}

.expert-audit-summary .expert-mini-row {
  border-right: 1px solid var(--line);
}

.expert-mini-row span,
.expert-question-preview span,
.expert-coverage-pair span {
  color: var(--muted);
  font-size: var(--meta-size);
  line-height: 1.35;
}

.expert-mini-row strong {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: var(--small-size);
  line-height: 1.4;
}

.expert-audit-gaps {
  border: 1px solid var(--line);
  padding: 10px;
  display: grid;
  gap: 8px;
}

.expert-audit-gaps h3,
.expert-turn-rail-head h3,
.expert-turn-title h3,
.expert-section h4 {
  margin: 0;
  font-size: var(--body-size);
  line-height: 1.35;
}

.expert-gap-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.expert-gap-list span,
.expert-chip {
  border: 1px solid var(--line);
  padding: 4px 7px;
  color: var(--muted);
  font-size: var(--meta-size);
  line-height: 1.25;
}

.expert-chip.generated {
  color: var(--mark);
  border-color: var(--mark);
}

.expert-chip.fixed {
  color: #6a5b36;
  border-color: #9c8d65;
}

.expert-chip.unknown {
  color: var(--warn);
  border-color: var(--warn);
}

.expert-chip.shadow-agree {
  color: #2f6b49;
  border-color: #2f6b49;
}

.expert-chip.shadow-expected-difference,
.expert-chip.shadow-unavailable {
  color: #6a5b36;
  border-color: #9c8d65;
}

.expert-chip.shadow-unsafe-difference,
.expert-shadow-warning {
  color: var(--warn);
  border-color: var(--warn);
}

.expert-shadow-warning {
  grid-column: 1 / -1;
  border: 1px solid;
  padding: 8px 10px;
  font-size: var(--meta-size);
}

.expert-audit-layout {
  display: grid;
  grid-template-columns: 310px minmax(0, 1fr);
  border: 1px solid var(--ink);
  min-height: 560px;
}

.expert-turn-rail {
  border-right: 1px solid var(--ink);
  min-width: 0;
}

.expert-turn-rail-head {
  min-height: 46px;
  padding: 10px;
  border-bottom: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.expert-turn-list {
  max-height: 760px;
  overflow: auto;
}

.expert-turn-button {
  width: 100%;
  height: auto;
  min-height: 68px;
  padding: 9px 10px;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 4px 8px;
  text-align: left;
  background: transparent;
}

.expert-turn-button.active {
  background-color: var(--soft);
}

.expert-turn-button span {
  grid-row: span 3;
  color: var(--muted);
  font-size: var(--small-size);
}

.expert-turn-button strong,
.expert-turn-button em,
.expert-turn-button small {
  min-width: 0;
  overflow-wrap: anywhere;
  font-style: normal;
  line-height: 1.35;
}

.expert-turn-button strong {
  font-size: var(--small-size);
}

.expert-turn-button em,
.expert-turn-button small {
  color: var(--muted);
  font-size: var(--meta-size);
}

.expert-turn-panel {
  min-width: 0;
  padding: 14px;
  display: grid;
  gap: 12px;
}

.expert-turn-title {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 10px;
}

.expert-turn-title p {
  color: var(--muted);
  font-size: var(--small-size);
  margin-top: 3px;
}

.expert-section {
  display: grid;
  gap: 8px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.expert-question-preview {
  display: grid;
  gap: 4px;
}

.expert-question-preview p,
.expert-coverage-pair p {
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.55;
}

.expert-options {
  display: grid;
  gap: 5px;
}

.expert-option {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 54px;
  gap: 8px;
  align-items: start;
  border: 1px solid var(--line);
  padding: 7px 8px;
}

.expert-option span,
.expert-option strong {
  color: var(--muted);
  font-size: var(--meta-size);
}

.expert-option p {
  line-height: 1.45;
}

.expert-mini-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.expert-mini-grid .expert-mini-row {
  border-right: 1px solid var(--line);
}

.expert-origin-line {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.expert-origin-line span:last-child {
  color: var(--muted);
  font-size: var(--small-size);
}

.expert-coverage-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.expert-coverage-pair div {
  border: 1px solid var(--line);
  padding: 8px;
}

.expert-raw {
  border-top: 1px solid var(--line);
  padding-top: 6px;
}

.expert-raw summary {
  cursor: pointer;
  color: var(--muted);
  font-size: var(--small-size);
}

.expert-raw pre {
  margin-top: 8px;
  max-height: 320px;
  border: 1px solid var(--line);
}

@keyframes pulse-status {
  from {
    opacity: 0.35;
  }
  to {
    opacity: 1;
  }
}

@media (max-width: 900px) {
  .session-side-head {
    flex-direction: column;
  }

  .assessment-shell,
  .workspace,
  .expert-audit-head,
  .expert-audit-layout {
    grid-template-columns: 1fr;
  }

  .expert-turn-rail {
    border-right: 0;
    border-bottom: 1px solid var(--ink);
  }

  .expert-audit-summary,
  .expert-mini-grid,
  .expert-coverage-pair {
    grid-template-columns: 1fr;
  }

  .expert-audit-controls {
    grid-template-columns: 1fr;
  }

  .payload-rail,
  .editor-pane,
  .result-pane {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .config-form {
    grid-template-columns: 1fr;
  }

  .field-key {
    grid-column: auto;
  }

  #payloadEditor,
  pre {
    height: 330px;
  }
}

@media (max-width: 560px) {
  .app-shell {
    width: calc(100% - 18px);
    padding-top: 10px;
  }

  .topbar {
    gap: 10px;
  }

  .brand-block {
    flex-basis: 100%;
  }

  .reader-controls {
    gap: 6px 10px;
  }

  .reader-option {
    min-width: 28px;
    padding: 0 5px;
  }

  .assessment-head,
  .question-panel,
  .session-side-head {
    padding-left: 12px;
    padding-right: 12px;
  }

  .assessment-head {
    justify-content: stretch;
  }

  .scale-select-field {
    width: 100%;
    margin-right: 0;
  }

  .scale-select-field select {
    flex: 1 1 auto;
    max-width: none;
  }

  .assessment-actions {
    width: 100%;
  }

  .assessment-actions button {
    flex: 1 1 124px;
  }
}

body[data-product-edition="interview"] .shared-content {
  margin: 0 0 1.1rem;
  padding: 1rem 1.15rem;
  border-left: 3px solid #b6c3c0;
  background: #f5f7f6;
  line-height: 1.7;
}
body[data-product-edition="interview"] .shared-content figcaption {
  font-size: .8rem;
  color: #5a6863;
  margin-bottom: .5rem;
}
#sharedContentText { white-space: pre-wrap; }

/* Interview stationery: keep the shared standard/special layouts unchanged. */
body[data-product-edition="interview"] #appSubtitle,
body[data-product-edition="interview"] #specialIntroductionKicker,
body[data-product-edition="interview"] #specialIntroductionControl,
body[data-product-edition="interview"] .special-confirmation,
body[data-product-edition="interview"] #specialQuestionIdentity,
body[data-product-edition="interview"] #freeTextHint {
  display: none;
}
body[data-product-edition="interview"] .special-entry { padding: 26px; gap: 18px; }
body[data-product-edition="interview"] .special-entry h2 { font-size: var(--h2-size); line-height: 1.5; }
body[data-product-edition="interview"] #specialTopic { color: var(--muted); font-size: var(--meta-size); }
body[data-product-edition="interview"] .special-core-copy { padding: 0; border: 0; background: none; font-weight: 400; }
body[data-product-edition="interview"] .special-boundary { line-height: 1.7; }
body[data-product-edition="interview"] .interview-target-field select { border: 0; border-bottom: 1px solid var(--line); background: transparent; }
body[data-product-edition="interview"] .assessment-head { padding: 8px 16px; }
body[data-product-edition="interview"] .assessment-actions { width: 100%; flex-wrap: nowrap; align-items: center; gap: 8px; }
body[data-product-edition="interview"] .assessment-actions button { flex: 0 0 auto; padding: 6px 8px; font-size: var(--meta-size); }
body[data-product-edition="interview"] #previousQuestionButton { order: 0; }
body[data-product-edition="interview"] #latestProgressButton { order: 1; border-color: var(--ink); font-weight: 700; }
body[data-product-edition="interview"] #newSessionButton { order: 2; margin-left: auto; }
body[data-product-edition="interview"] .question-panel { padding: 22px; }
body[data-product-edition="interview"] .question-meta { color: var(--muted); margin-bottom: 18px; }
body[data-product-edition="interview"] #questionText { line-height: 1.7; margin-bottom: 22px; }
body[data-product-edition="interview"] .free-text-field > strong { font-weight: 400; color: var(--muted); }
body[data-product-edition="interview"] .interview-answer-actions { display: flex; justify-content: flex-end; margin-top: 12px; }
body[data-product-edition="interview"] .interview-answer-actions button { min-width: 128px; }
@media (max-width: 640px) {
  body[data-product-edition="interview"] .topbar { flex-wrap: nowrap; align-items: flex-start; gap: 6px; }
  body[data-product-edition="interview"] .brand-block { flex: 1 1 auto; gap: 6px; }
  body[data-product-edition="interview"] h1 { font-size: 22px; }
  body[data-product-edition="interview"] .topbar-actions { gap: 6px; white-space: nowrap; }
  body[data-product-edition="interview"] .surface-link,
  body[data-product-edition="interview"] .language-toggle { padding: 4px; font-size: 12px; }
  body[data-product-edition="interview"] .reader-controls { gap: 4px 8px; }
  body[data-product-edition="interview"] .reader-group { gap: 2px; font-size: 11px; }
  body[data-product-edition="interview"] .reader-option { min-width: 22px; min-height: 28px; padding: 1px 3px; font-size: 12px; }
  body[data-product-edition="interview"] .special-entry { margin-top: 14px; padding: 22px 16px; }
  body[data-product-edition="interview"] .assessment-head { padding: 8px 10px; }
  body[data-product-edition="interview"] .assessment-actions { gap: 5px; }
  body[data-product-edition="interview"] .assessment-actions button { padding: 7px 6px; min-height: 36px; font-size: 13px; }
  body[data-product-edition="interview"] .question-panel { padding: 18px 14px; }
  body[data-product-edition="interview"] #submitAnswerButton { width: 100%; min-height: 44px; }
}

body[data-product-edition="interview"] .interview-feedback-paragraph { margin: 0 0 1.4rem; }
body[data-product-edition="interview"] .interview-feedback-paragraph p { line-height: 1.8; margin: .35rem 0; }
body[data-product-edition="interview"] .interview-feedback-label { font-size: var(--meta-size); color: var(--muted); font-weight: 500; margin: 0 0 .5rem; }
body[data-product-edition="interview"] .interview-scope-note,
body[data-product-edition="interview"] .interview-unexplored-note { font-size: var(--small-size); color: var(--muted); line-height: 1.7; }
body[data-product-edition="interview"] .interview-unexplored-note { border-top: 1px solid var(--line); padding-top: .8rem; }
@media (max-width: 640px) {
  body[data-product-edition="interview"] #questionText.is-probe-question,
  body[data-product-edition="interview"] .shared-content.is-probe-question { font-size: 1.1rem; font-weight: 500; line-height: 1.75; }
  body[data-product-edition="interview"] .shared-content.is-probe-question { background: transparent; border-left: 1px solid var(--line); padding: .7rem .9rem; }
}

/* Interview-only portrait and native expandable evidence. */
body[data-product-edition="interview"] .interview-portrait-lead {
  background: #f7f5ef; border-left: 3px solid #9c8d76; padding: 1.1rem 1.2rem;
  margin: 0 0 1.6rem;
}
body[data-product-edition="interview"] .interview-portrait-lead > h5 { color: #70624f; font-size: .86rem; letter-spacing: .04em; margin: 0 0 .7rem; }
body[data-product-edition="interview"] .interview-portrait-lead .interview-feedback-paragraph { margin-bottom: 0; }
body[data-product-edition="interview"] .interview-speculation { border-left: 2px solid #c8bda9; background: #faf9f5; padding: .65rem .85rem; margin: .8rem 0; color: #625b50; }
body[data-product-edition="interview"] .interview-speculation p { font-size: .94rem; line-height: 1.75; }
body[data-product-edition="interview"] .interview-speculation strong { font-weight: 500; }
body[data-product-edition="interview"] .interview-inline-evidence { margin: .8rem 0 0; font-size: .82rem; }
body[data-product-edition="interview"] .interview-inline-evidence > summary { display: list-item; width: fit-content; max-width: 100%; cursor: pointer; border: 1px solid #d8d2c7; border-radius: 1.1rem; padding: .35rem .75rem; color: #6e6558; background: #faf9f6; line-height: 1.6; }
body[data-product-edition="interview"] .interview-inline-evidence > summary:focus-visible { outline: 2px solid #8e7b5d; outline-offset: 3px; }
body[data-product-edition="interview"] .interview-inline-evidence[open] > summary { background: #f1eee6; }
body[data-product-edition="interview"] .interview-inline-evidence-list { list-style: none; padding: .2rem 0 0; margin: .6rem 0 0; }
body[data-product-edition="interview"] .interview-inline-evidence-list > li { border-left: 1px solid #d8d2c7; padding: .45rem .8rem; margin: .7rem 0; }
body[data-product-edition="interview"] .interview-inline-evidence-list p { font-size: .86rem; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; }
body[data-product-edition="interview"] .interview-evidence-question { color: #706a60; }
body[data-product-edition="interview"] .interview-evidence-quote span { display: block; color: #827b70; font-size: .78rem; }
@media (max-width: 640px) {
  body[data-product-edition="interview"] .interview-portrait-lead { padding: .9rem; }
  body[data-product-edition="interview"] .interview-inline-evidence > summary { font-size: .78rem; }
}
