.section--test {
  background-color: #E9EFEE;
}

.section--test:not(.results-screen) {
  background-image: url('../image/bg.png');
  background-repeat: no-repeat;
  background-position: center top;
}

.bigfive-personality-test {
  max-width: 1086px;
  margin: 0 auto;
  border-radius: 30px;
  padding: 64px;
  background: #fff;
  box-shadow: 0px 35px 40px 0px rgba(0,0,0,0.06);
}

.section--test.results-screen {
  background-color: #fff;
  background-image: none;
}

.section--test.results-screen .bigfive-personality-test {
  max-width: 1307px;
  box-shadow: none;
  border-radius: 0;
  background: none;
  padding: 0;
}

.bigfive-personality-test__progress progress {
  display: block;
  width: 100%;
  margin-top: 0.5rem;
  appearance: none;
  -webkit-appearance: none;
  height: 20px;
  border: 0;
  border-radius: 30px;
  overflow: hidden;
  background: #D3D9D7;
}

.bigfive-personality-test__progress label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-direction: row-reverse;
}

.bigfive-personality-test__progress span {
  font-weight: 600;
  letter-spacing: 0;
  font-size: 18px;
  line-height: 27px;
  color: #222222;
}

.bigfive-personality-test__progress progress::-webkit-progress-bar {
  background: #D3D9D7;
  border-radius: 30px;
}

.bigfive-personality-test__progress progress::-webkit-progress-value {
  background: #1F5E59;
  border-radius: 30px;
}

.bigfive-personality-test__progress progress::-moz-progress-bar {
  background: #1F5E59;
  border-radius: 30px;
}

.bigfive-personality-test__question {
  border: 0;
  margin: 40px 0;
  padding: 0;
}

.bigfive-personality-test__notice p {
  margin-bottom: 6px;
}

.bigfive-personality-test__email-gate {
  max-width: 640px;
  margin: 0 auto;
}

.bigfive-personality-test__email-gate-title {
  margin: 0 0 12px;
  font-size: 28px;
  line-height: 1.3;
  font-weight: 700;
  color: #222222;
}

.bigfive-personality-test__email-gate-intro {
  margin: 0 0 24px;
  font-size: 18px;
  line-height: 1.5;
  color: #222222;
}

.bigfive-personality-test__email-gate-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.bigfive-personality-test__email-gate-label {
  font-size: 16px;
  font-weight: 600;
  color: #222222;
}

.bigfive-personality-test__email-gate-form input {
  width: 100%;
  padding: 14px 18px;
  border: 1px solid #D3D9D7;
  border-radius: 12px;
  background: #fff;
  font-size: 16px;
  line-height: 1.5;
  color: #222222;
}

.bigfive-personality-test__email-gate-error {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: #CA024F;
}

.bigfive-personality-test__lookup {
  margin-bottom: 32px;
  padding: 24px;
  border-radius: 20px;
  background: #F5F7F7;
}

.bigfive-personality-test__lookup-title {
  margin: 0 0 12px;
  font-size: 18px;
  line-height: 1.4;
  font-weight: 600;
  color: #222222;
}

.bigfive-personality-test__lookup-form {
  display: flex;
  gap: 12px;
}

.bigfive-personality-test__lookup-form input {
  flex: 1 1 auto;
  min-width: 0;
  padding: 14px 18px;
  border: 1px solid #D3D9D7;
  border-radius: 12px;
  background: #fff;
  font-size: 16px;
  line-height: 1.5;
  color: #222222;
}

.bigfive-personality-test__lookup-error,
.bigfive-personality-test__result-id-feedback {
  margin: 12px 0 0;
  font-size: 14px;
  line-height: 1.5;
  color: #1F5E59;
}

.bigfive-personality-test__result-id {
  margin-bottom: 36px;
  text-align: center;
}

.bigfive-personality-test__result-id-text {
  margin: 0 0 8px;
  font-size: 18px;
  line-height: 27px;
  color: #222222;
}

.bigfive-personality-test__result-id-text strong {
  font-weight: 700;
}

.bigfive-personality-test__result-id-box {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 47px;
  padding: 6px 20px;
  border-radius: 8px;
  background: #E9EFEE ;
}

.bigfive-personality-test__result-id-value {
  font-size: 18px;
  line-height: 27px;
  letter-spacing: 0;
  color: #17423F;
}

.bigfive-personality-test__result-id button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.bigfive-personality-test__question-text {
  margin-bottom: 16px;
  font-size: 24px;
  line-height: 32px;
  letter-spacing: 0.25px;
  color: #222222;
  font-weight: 600;
  font-family: 'Maven Pro', sans-serif;
}

.bigfive-personality-test__choices {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.bigfive-personality-test__choice {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 18px;
  line-height: 27px;
  color: #222222;
  cursor: pointer;
}

.bigfive-personality-test__choice input {
  appearance: none;
  width: 32px;
  height: 32px;
  border-radius: 100px;
  background: rgba(0, 0, 0, 0.04);
  border: 0.6px solid rgba(37, 64, 53, 0.06);
  margin: 0;
  cursor: pointer;
}

.bigfive-personality-test__choice input:checked {
  background: #1F5E59;
  background-image: radial-gradient(circle, #FFFFFF 0 35%, transparent 40%);
  background-repeat: no-repeat;
  background-position: center;
  border-color: #1F5E59;
}

.bigfive-personality-test__actions {
  display: flex;
  justify-content: center;
  gap: 24px;
  padding-top: 30px;
  border-top: 1px solid #B0B0B0;
}

.bigfive-personality-test__actions button,
.bigfive-personality-test__notice button,
.bigfive-personality-test__lookup-form button,
.bigfive-personality-test__email-gate-form button {
  appearance: none;
  font-family: 'Maven Pro', sans-serif;
  border: 0;
  background: none;
  cursor: pointer;
  font-size: 16px;
  line-height: 28px;
  padding: 14px 24px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 12px;
  transition: all 0.3s;
}

.bigfive-personality-test__actions button[disabled],
.bigfive-personality-test__lookup-form button[disabled] {
  opacity: 0.65;
  cursor: not-allowed;
}

.bigfive-personality-test__actions button[data-action="previous"],
.bigfive-personality-test__notice button[data-action="restart"],
.bigfive-personality-test__lookup-form button {
  border: 2px solid #D3D9D7;
  color: #1F5E59;
  background: #fff;
}

.bigfive-personality-test__actions button[data-action="previous"]:hover,
.bigfive-personality-test__notice button[data-action="restart"]:hover,
.bigfive-personality-test__lookup-form button:hover {
  border-color: #1F5E59;
  color: #fff;
  background: #1F5E59;
}

.bigfive-personality-test__actions button[data-action="next"],
.bigfive-personality-test__email-gate-form button {
  display: inline-flex;
  width: max-content;
  align-items: center;
  gap: 12px;
  border: 2px solid #1F5E59;
  color: #fff;
  background: #1F5E59;
}

.bigfive-personality-test__actions button[data-action="next"]:hover,
.bigfive-personality-test__email-gate-form button:hover {
  border-color: #1F5E59;
  color: #1F5E59;
  background: #fff;
}

.bigfive-personality-test__actions button[data-action="next"]:hover svg path {
  stroke: #1F5E59;
}

.bigfive-personality-test__chart {
  margin: 40px 0 36px;
}

.bigfive-personality-test__chart-title {
  margin: 0 0 36px;
  font-weight: 600;
}

.bigfive-personality-test__chart-layout {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}

.bigfive-personality-test__chart-axis {
  height: 280px;
  margin-top: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
  padding-top: 0;
}

.bigfive-personality-test__chart-tick {
  font-size: 13px;
  line-height: 16px;
  color: #000;
  font-weight: 500;
  letter-spacing: 0.25px;
}

.bigfive-personality-test__chart-scroll,
.bigfive-personality-test__facet-chart-scroll,
.bigfive-personality-test__chart-content,
.bigfive-personality-test__facet-chart-content {
  min-width: 0;
}

.bigfive-personality-test__chart-scale {
  position: relative;
  height: 280px;
  border-bottom: 1px solid #D3D9D7;
}

.bigfive-personality-test__chart-lines {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  pointer-events: none;
}

.bigfive-personality-test__chart-lines span {
  display: block;
  border-top: 1px solid #D3D9D7;
}

.bigfive-personality-test__chart-bars {
  position: relative;
  z-index: 1;
  height: 100%;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
  align-items: end;
  padding: 0 20px;
}

.bigfive-personality-test__chart-bar-column {
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.bigfive-personality-test__chart-bar-column span {
  font-weight: 500;
  font-size: 13px;
  line-height: 16px;
  letter-spacing: 0.25px;
  text-align: center;
}

.bigfive-personality-test__chart-bar {
  width: 100%;
  max-width: 112px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 8px;
  color: #FCFCFC;
  font-size: 14px;
  line-height: 1;
  font-weight: 600;
}

.bigfive-personality-test__chart-labels {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
  padding: 10px 20px 0;
}

.bigfive-personality-test__chart-label {
  text-align: center;
  font-size: 13px;
  line-height: 16px;
  font-weight: 500;
  letter-spacing: 0.25px;
  color: #000;
}

.bigfive-personality-test__tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  width: max-content;
  margin: 0 auto 36px auto;
  padding: 8px;
  border-radius: 16px;
  background: #E9EFEE;
}

.bigfive-personality-test__tab {
  appearance: none;
  border: 0;
  background: transparent;
  color: #2C7A74;
  padding: 2px 8px;
  border-radius: 8px;
  font-size: 16px;
  line-height: 28px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.25s, color 0.25s;
}

.bigfive-personality-test__tab.is-active {
  background: #1F5E59;
  color: #fff;
}

.bigfive-personality-test__result-card,
.bigfive-personality-test__domain-panel {
  padding: 24px;
  border: 1px solid #E2E8F0;
  border-radius: 24px;
  background: #FFFFFF;
  margin-bottom: 32px;
  box-shadow: 0px 1px 3px 0px #0000001A;
}

.bigfive-personality-test__result-card + .bigfive-personality-test__result-card {
  margin-top: 20px;
}

.bigfive-personality-test__domain-panel + .bigfive-personality-test__domain-panel {
  margin-top: 20px;
}

.bigfive-personality-test__domain-title,
.bigfive-personality-test__result-card h3 {
  margin: 0 0 16px;
  font-size: 24px;
  line-height: 1.3;
  font-weight: 600;
  color: #222222;
}

.bigfive-personality-test__domain-short,
.bigfive-personality-test__domain-description,
.bigfive-personality-test__domain-summary,
.bigfive-personality-test__result-card p {
  margin: 0 0 16px;
  font-size: 18px;
  line-height: 1.65;
  color: #45556C;
}

.bigfive-personality-test__domain-summary {
  color: #222222;
  margin: 40px 0;
}

.bigfive-personality-test__domain-toggle {
  appearance: none;
  padding: 14px 24px;
  border: 2px solid #D3D9D7;
  border-radius: 12px;
  background: #FFFFFF;
  color: #1F5E59;
  font-size: 16px;
  line-height: 28px;
  letter-spacing: 0.25px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.25s, color 0.25s, border-color 0.25s;
}

.bigfive-personality-test__domain-toggle:hover {
  border-color: #1F5E59;
  background: #1F5E59;
  color: #FFFFFF;
}

.bigfive-personality-test__facet-chart {
  margin: 32px 0 40px;
}

.bigfive-personality-test__facet-chart-layout {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}

.bigfive-personality-test__facet-chart-axis {
  height: 240px;
  margin-top: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
}

.bigfive-personality-test__facet-chart-tick {
  font-size: 13px;
  line-height: 16px;
  color: #000;
  font-weight: 500;
  letter-spacing: 0.25px;
}

.bigfive-personality-test__facet-chart-content {
  min-width: 0;
}

.bigfive-personality-test__facet-chart-scale {
  position: relative;
  height: 240px;
  border-bottom: 1px solid #D3D9D7;
}

.bigfive-personality-test__facet-chart-lines {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  pointer-events: none;
}

.bigfive-personality-test__facet-chart-lines span {
  display: block;
  border-top: 1px solid #D3D9D7;
}

.bigfive-personality-test__facet-chart-bars {
  position: relative;
  z-index: 1;
  height: 100%;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 16px;
  align-items: end;
  padding: 0 16px;
}

.bigfive-personality-test__facet-chart-bar-column {
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.bigfive-personality-test__facet-chart-bar {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 10px 8px;
  color: #FCFCFC;
  font-size: 13px;
  line-height: 1;
  font-weight: 600;
}

.bigfive-personality-test__facet-chart-labels {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 16px;
  padding: 10px 16px 0;
}

.bigfive-personality-test__facet-chart-label {
  text-align: center;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 500;
  letter-spacing: 0.2px;
  color: #000;
}

.bigfive-personality-test__facet-details {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.bigfive-personality-test__facet-title {
  margin: 0 0 8px;
  font-size: 20px;
  line-height: 30px;
  font-weight: 700;
  color: #222222;
  letter-spacing: 0.75px;
}

.bigfive-personality-test__facet-score {
  margin: 0 0 8px;
  font-size: 16px;
  line-height: 24px;
  color: #1F5E59;
}

.bigfive-personality-test__facet-score strong {
  font-weight: 700;
}

.bigfive-personality-test__facet-description {
  margin: 0;
  font-size: 18px;
  line-height: 27px;
  color: #45556C;
}

.bigfive-personality-test__facets ul {
  margin: 0.75rem 0 0;
  padding-left: 1.25rem;
}

@media (max-width: 992px) {
  .bigfive-personality-test__tabs {
    flex-direction: column;
  }

  .bigfive-personality-test__chart-layout {
    gap: 10px;
    grid-template-columns: 30px minmax(0, 1fr);
  }
}

@media (max-width: 768px) {
  .bigfive-personality-test {
    padding: 20px;
  }
  .bigfive-personality-test__lookup-form,
  .bigfive-personality-test__actions {
    flex-direction: column;
  }
  .bigfive-personality-test__actions button[data-action="next"] {
    width: 100%;
    text-align: center;
  }
  .bigfive-personality-test__chart-layout,
  .bigfive-personality-test__facet-chart-layout {
    display: flex;
    align-items: flex-start;
    gap: 0;
    overflow: hidden;
  }

  .bigfive-personality-test__chart-axis-column,
  .bigfive-personality-test__facet-chart-axis-column {
    flex: 0 0 48px;
    margin-top: 0;
    background: #fff;
    border-right: 1px solid #E9EFEE;
  }

  .bigfive-personality-test__chart-axis,
  .bigfive-personality-test__facet-chart-axis {
    height: 280px;
    align-items: center;
  }

  .bigfive-personality-test__facet-chart-axis {
    height: 240px;
    align-items: center;
  }

  .bigfive-personality-test__chart-scroll,
  .bigfive-personality-test__facet-chart-scroll {
    flex: 1 1 auto;
    min-width: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    touch-action: pan-x;
    scrollbar-width: thin;
    scrollbar-color: #1F5E59 #E9EFEE;
    padding-bottom: 8px;
  }

  .bigfive-personality-test__chart-scroll::-webkit-scrollbar,
  .bigfive-personality-test__facet-chart-scroll::-webkit-scrollbar {
    height: 8px;
  }

  .bigfive-personality-test__chart-scroll::-webkit-scrollbar-track,
  .bigfive-personality-test__facet-chart-scroll::-webkit-scrollbar-track {
    border-radius: 999px;
    background: #E9EFEE;
  }

  .bigfive-personality-test__chart-scroll::-webkit-scrollbar-thumb,
  .bigfive-personality-test__facet-chart-scroll::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #1F5E59;
  }

  .bigfive-personality-test__chart-content {
    min-width: 520px;
  }

  .bigfive-personality-test__facet-chart-content {
    min-width: 660px;
  }

  .bigfive-personality-test__chart-bars {
    grid-template-columns: repeat(5, 88px);
    gap: 16px;
    padding: 0 12px;
  }

  .bigfive-personality-test__chart-labels {
    grid-template-columns: repeat(5, 88px);
    gap: 16px;
    padding: 10px 12px 0;
  }

  .bigfive-personality-test__chart-label {
    font-size: 12px;
    line-height: 1.35;
    hyphens: auto;
  }

  .bigfive-personality-test__facet-chart-bars {
    grid-auto-columns: 100px;
    gap: 14px;
    padding: 0 12px;
  }

  .bigfive-personality-test__facet-chart-labels {
    grid-auto-columns: 100px;
    gap: 14px;
    padding: 10px 12px 0;
  }

  .bigfive-personality-test__facet-chart-label {
    font-size: 11px;
    hyphens: auto;
  }
}