:root {
  --insight-blue: #2f5f78;
  --insight-green: #315f46;
  --insight-gold: #9a6b28;
  --insight-red: #8a4a3c;
}

.jump-feedback {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 0 14px;
  border-radius: 999px;
  background: var(--forest);
  color: #fff;
  text-decoration: none;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
}

.explain-strip {
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--line);
  background: #fff;
}
.explain-strip article {
  min-height: 112px;
  padding: 20px;
  border-right: 1px solid var(--line);
}
.explain-strip article:last-child { border-right: 0; }
.explain-strip b {
  display: block;
  color: var(--orange-dark);
  font-size: 9px;
  letter-spacing: .15em;
}
.explain-strip strong {
  display: block;
  margin-top: 10px;
  font-size: 15px;
  letter-spacing: -.02em;
}
.explain-strip p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.55;
}

.audience-panel {
  margin-top: 18px;
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr);
  border: 1px solid var(--line);
  background: #fff;
}
.audience-picker {
  padding: 24px;
  border-right: 1px solid var(--line);
}
.audience-picker > span,
.scale-copy > span,
.feedback-copy > span,
.opinion-head > span {
  color: var(--orange-dark);
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .15em;
}
.audience-picker h2,
.scale-copy h2,
.feedback-copy h2 {
  margin: 14px 0 10px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 34px;
  line-height: 1;
  letter-spacing: -.04em;
}
.audience-picker p,
.scale-copy p,
.feedback-copy p {
  margin: 0;
  color: #5a6760;
  font-size: 12px;
  line-height: 1.6;
}
.audience-buttons {
  margin-top: 19px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 7px;
}
.audience-buttons button {
  min-height: 42px;
  padding: 0 11px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
  color: #45534b;
  cursor: pointer;
  text-align: left;
  font-size: 10px;
  font-weight: 850;
}
.audience-buttons button:hover { border-color: #9ca79f; }
.audience-buttons button.active {
  background: var(--forest);
  color: #fff;
  border-color: var(--forest);
}
.audience-readout {
  min-height: 280px;
  padding: 30px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .6fr);
  gap: 38px;
  align-items: center;
  background: linear-gradient(120deg, #f8f8f4 0%, #edf1ed 100%);
}
.audience-readout h3 {
  margin: 0;
  max-width: 780px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(31px, 3.5vw, 52px);
  line-height: 1;
  letter-spacing: -.045em;
}
.audience-readout p {
  margin: 16px 0 0;
  max-width: 760px;
  color: #536159;
  font-size: 13px;
  line-height: 1.65;
}
.audience-proof {
  padding: 20px;
  border: 1px solid #cdd5ce;
  background: #fff;
}
.audience-proof small {
  color: #7b877f;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .12em;
}
.audience-proof strong {
  display: block;
  margin-top: 11px;
  font-size: 18px;
  letter-spacing: -.03em;
}
.audience-proof ul {
  margin: 12px 0 0;
  padding-left: 17px;
  color: #56635c;
  font-size: 11px;
  line-height: 1.65;
}

.zone.role-focus .zone-shape {
  stroke: var(--orange-dark) !important;
  stroke-width: 2.1 !important;
  filter: drop-shadow(0 2px 4px #ef6b3428);
}
.zone.vote-essential .zone-shape { stroke: var(--insight-green) !important; stroke-width: 2.7 !important; }
.zone.vote-interesting .zone-shape { stroke: var(--insight-gold) !important; stroke-width: 2.2 !important; }
.zone.vote-pass { opacity: .43; }

.opinion-dock {
  margin-top: 18px;
  padding: 22px 24px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 24px;
  align-items: center;
  border: 1px solid var(--line);
  background: #fff;
}
.opinion-head h3 {
  margin: 8px 0 4px;
  font-size: 20px;
  letter-spacing: -.03em;
}
.opinion-head p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}
.vote-buttons {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}
.vote-buttons button {
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  cursor: pointer;
  color: #4e5a53;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .05em;
}
.vote-buttons button[data-vote="essential"].active { background: #e7f0ea; color: var(--insight-green); border-color: #8ca894; }
.vote-buttons button[data-vote="interesting"].active { background: #f5eddc; color: #7f5b25; border-color: #c7ab7c; }
.vote-buttons button[data-vote="pass"].active { background: #f1e9e7; color: var(--insight-red); border-color: #b8968e; }
.vote-summary {
  min-width: 165px;
  padding-left: 22px;
  border-left: 1px solid var(--line);
}
.vote-summary small { color: #7d8981; font-size: 8px; font-weight: 900; letter-spacing: .12em; }
.vote-summary strong { display: block; margin-top: 6px; font-size: 24px; letter-spacing: -.05em; }
.vote-summary span { color: var(--muted); font-size: 9px; }

.scale-panel {
  margin-top: 18px;
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr);
  border: 1px solid var(--line);
  background: #fff;
}
.scale-copy { padding: 28px; border-right: 1px solid var(--line); }
.scale-note {
  margin-top: 20px;
  padding: 14px;
  border: 1px solid #e0d6c5;
  background: #faf5eb;
  color: #78664d;
  font-size: 10px;
  line-height: 1.5;
}
.scale-workbench { padding: 26px; }
.scale-controls {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.scale-control {
  padding: 16px;
  border: 1px solid var(--line);
  background: var(--paper);
}
.scale-control label {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: #68746d;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.scale-control output { color: var(--ink); font-size: 14px; letter-spacing: -.02em; }
.scale-control input[type="range"] { width: 100%; margin-top: 16px; accent-color: var(--forest); }
.scale-results {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  border: 1px solid var(--line);
}
.scale-results article {
  min-height: 105px;
  padding: 15px;
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  justify-content: end;
}
.scale-results article:last-child { border-right: 0; }
.scale-results small { color: #7c877f; font-size: 7.5px; font-weight: 900; letter-spacing: .1em; }
.scale-results b { margin-top: 8px; font-size: 23px; letter-spacing: -.05em; }
.scale-results span { margin-top: 3px; color: var(--muted); font-size: 8.5px; line-height: 1.35; }
.scale-tier {
  margin-top: 14px;
  padding: 14px 16px;
  display: flex;
  gap: 12px;
  align-items: center;
  background: var(--forest);
  color: #fff;
}
.scale-tier span { color: #abbab2; font-size: 8px; font-weight: 900; letter-spacing: .13em; }
.scale-tier strong { font-size: 14px; }
.scale-tier p { margin: 0 0 0 auto; color: #c9d3ce; font-size: 9px; }

.feedback-panel {
  margin-top: 18px;
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr);
  border: 1px solid var(--line);
  background: #fff;
}
.feedback-copy {
  padding: 28px;
  border-right: 1px solid var(--line);
  background: var(--forest);
  color: #fff;
}
.feedback-copy > span { color: #ff8a58; }
.feedback-copy p { color: #c8d1cc; }
.feedback-copy .privacy-note {
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid #ffffff24;
  color: #aebbb4;
  font-size: 10px;
}
.feedback-form { padding: 28px; }
.feedback-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.field { display: grid; gap: 7px; }
.field.full { grid-column: 1 / -1; }
.field label,
.field > span {
  color: #68746d;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.field input,
.field select,
.field textarea {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fbfcfa;
  color: var(--ink);
  font: inherit;
  font-size: 12px;
}
.field textarea { min-height: 112px; resize: vertical; }
.rating-row { display: flex; gap: 7px; }
.rating-row label { flex: 1; }
.rating-row input { position: absolute; opacity: 0; pointer-events: none; }
.rating-row span {
  min-height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fbfcfa;
  cursor: pointer;
  color: #5c6961;
  font-size: 12px;
  font-weight: 900;
}
.rating-row input:checked + span { background: var(--forest); color: #fff; border-color: var(--forest); }
.forgehub-question {
  position: relative;
  overflow: hidden;
  margin-top: 19px;
  padding: 22px 23px;
  border: 1px solid #c6d5c9;
  background: linear-gradient(130deg, #f3f8f3, #faf7f0 72%);
}
.forgehub-question::after {
  content: "FORGEHUB";
  position: absolute;
  right: 15px;
  bottom: -15px;
  color: #315f4610;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(54px, 8vw, 92px);
  font-weight: 700;
  letter-spacing: -.09em;
}
.forgehub-question > * { position: relative; z-index: 1; }
.forgehub-question small {
  color: var(--insight-green);
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .14em;
}
.forgehub-question h3 {
  max-width: 730px;
  margin: 13px 0 9px;
  color: #1e3226;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(24px, 2.45vw, 35px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.045em;
}
.forgehub-question p {
  max-width: 670px;
  margin: 0;
  color: #5a685e;
  font-size: 11px;
  line-height: 1.55;
}
.forgehub-question .question-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.forgehub-question .question-action { min-height: 38px; padding: 0 13px; border: 1px solid #b9cbbd; border-radius: 999px; background: #fff; color: #36513e; cursor: pointer; font-size: 9px; font-weight: 950; letter-spacing: .04em; }
.forgehub-question .question-action:hover,.forgehub-question .question-action[aria-pressed="true"] { border-color: var(--forest); background: var(--forest); color: #fff; }
.forgehub-response { margin-top: 16px; padding: 15px 16px; border: 1px solid #c9d6ca; background: #fff; }
.forgehub-response[hidden] { display: none; }
.forgehub-response small { color: var(--insight-green); font-size: 8px; font-weight: 950; letter-spacing: .13em; }
.forgehub-response strong { display: block; max-width: 640px; margin-top: 8px; color: #213528; font-family: Georgia, "Times New Roman", serif; font-size: 19px; line-height: 1.18; letter-spacing: -.03em; }
.forgehub-response label { display: flex; justify-content: space-between; gap: 12px; margin-top: 14px; color: #627168; font-size: 9px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.forgehub-response label span { color: #8b988e; font-size: 8px; }
.forgehub-response textarea { width: 100%; min-height: 76px; margin-top: 7px; padding: 10px 11px; resize: vertical; border: 1px solid #c7d1c8; border-radius: 5px; background: #fbfcfa; color: var(--ink); font: inherit; font-size: 12px; }
.forgehub-response .question-status { margin-top: 7px; color: #738077; font-size: 9px; }
.feedback-actions {
  margin-top: 18px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.feedback-actions button {
  min-height: 48px;
  padding: 0 18px;
  border: 0;
  border-radius: 999px;
  background: var(--orange);
  color: #fff;
  cursor: pointer;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .05em;
}
.feedback-actions button:disabled { opacity: .55; cursor: wait; }
#feedbackStatus { color: var(--muted); font-size: 10px; line-height: 1.45; }
.feedback-success {
  margin-top: 15px;
  padding: 13px 15px;
  border: 1px solid #b8ccb9;
  background: #eff6ef;
  color: #36543b;
  font-size: 11px;
  line-height: 1.5;
}

@media (max-width: 1180px) {
  .audience-panel,
  .scale-panel,
  .feedback-panel { grid-template-columns: 300px minmax(0, 1fr); }
  .scale-controls { grid-template-columns: repeat(2, 1fr); }
  .scale-results { grid-template-columns: repeat(3, 1fr); }
  .scale-results article:nth-child(3) { border-right: 0; }
  .scale-results article:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
}

@media (max-width: 820px) {
  .jump-feedback { display: none; }
  .explain-strip,
  .audience-panel,
  .scale-panel,
  .feedback-panel,
  .audience-readout,
  .opinion-dock { grid-template-columns: 1fr; }
  .explain-strip article { border-right: 0; border-bottom: 1px solid var(--line); }
  .explain-strip article:last-child { border-bottom: 0; }
  .audience-picker,
  .scale-copy,
  .feedback-copy { border-right: 0; border-bottom: 1px solid var(--line); }
  .audience-readout { gap: 20px; }
  .opinion-dock { gap: 15px; }
  .vote-summary { padding: 14px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .scale-results { grid-template-columns: repeat(2, 1fr); }
  .scale-results article { border-bottom: 1px solid var(--line); }
  .scale-results article:nth-child(even) { border-right: 0; }
  .scale-results article:nth-last-child(-n+2) { border-bottom: 0; }
  .scale-tier { align-items: flex-start; flex-wrap: wrap; }
  .scale-tier p { width: 100%; margin-left: 0; }
  .feedback-grid { grid-template-columns: 1fr; }
  .field.full { grid-column: auto; }
}

@media (max-width: 520px) {
  .audience-buttons { grid-template-columns: 1fr; }
  .scale-controls { grid-template-columns: 1fr; }
  .scale-results { grid-template-columns: 1fr; }
  .scale-results article,
  .scale-results article:nth-child(even),
  .scale-results article:nth-child(3) { border-right: 0; border-bottom: 1px solid var(--line); }
  .scale-results article:last-child { border-bottom: 0; }
  .vote-buttons { display: grid; grid-template-columns: 1fr; }
  .feedback-actions { align-items: stretch; flex-direction: column; }
  .feedback-actions button { width: 100%; }
  .forgehub-question .question-actions { display: grid; grid-template-columns: 1fr; }
  .forgehub-question .question-action { width: 100%; }
}
