/* MBTI user-facing palette: aligned with the current unlock-report surface. */
:root {
  --mbti-theme-primary: #1ec0bf;
  --mbti-theme-primary-hover: #14aaa9;
  --mbti-theme-navy: #0d2041;
  --mbti-theme-muted: #8e9aae;
  --mbti-theme-soft: #e5fffa;
  --mbti-theme-soft-strong: #c1fff3;
  --mbti-theme-page: #f9f9f9;
  --mbti-theme-line: #c8eee8;
}

body.home-page,
body.test-page,
body.report-loading-page,
body.pro-test-page,
body.report-loading-pro-page,
body.report-unlock-pro-page,
body.report-demo-page,
body.recover-page {
  color: var(--mbti-theme-navy);
}

body.home-page {
  background: var(--mbti-theme-page);
}

.home-page .home-shell {
  background: linear-gradient(180deg, #fff 0%, var(--mbti-theme-soft) 45%, var(--mbti-theme-page) 100%);
  box-shadow: 0 0 42px rgba(13, 32, 65, 0.08);
}

.home-page .clone-logo-text .logo-purple,
.home-page .clone-logo-text .logo-blue,
.home-page .home-edge-action,
.home-page .home-edge-action.is-wechat {
  color: var(--mbti-theme-primary);
}

.home-page .test-plan-card.is-selected,
.home-page .test-plan-card:has(input:checked),
.home-page .home-edge-action,
.home-page .home-edge-action.is-wechat {
  border-color: var(--mbti-theme-primary);
}

.home-page .plan-check,
.home-page .clone-primary,
.home-page .test-progress-continue {
  background: var(--mbti-theme-primary);
}

.home-page .clone-primary:hover,
.home-page .clone-primary:focus,
.home-page .test-progress-continue:hover,
.home-page .test-progress-continue:focus {
  background: var(--mbti-theme-primary-hover);
}

.home-page .clone-pro-entry {
  border-color: var(--mbti-theme-line);
  border-left-color: var(--mbti-theme-primary);
  background: rgba(255, 255, 255, 0.92);
}

.home-page .clone-pro-entry__tag,
.home-page .clone-pro-entry__copy strong {
  color: var(--mbti-theme-navy);
}

body.test-page {
  background: var(--mbti-theme-page);
}

.test-page .test-shell,
.test-page .question-card {
  background: #fff;
  box-shadow: 0 0 42px rgba(13, 32, 65, 0.08);
}

.test-page .test-hero {
  background: #f3f3f3;
}

.test-page .test-hero h1,
.test-page .question-copy h2,
.test-page .question-copy p,
.test-page .test-progress-row strong {
  color: var(--mbti-theme-navy);
}

.test-page .test-progress-row strong span,
.test-page .test-progress-row em {
  color: var(--mbti-theme-primary);
}

.test-page .test-progress-track {
  background: #d9f1ed;
}

.test-page .test-progress-track span,
.test-page .submit-confirm-ok,
.test-page .back-exit-stay {
  background: var(--mbti-theme-primary);
}

.test-page .choice-a {
  border-color: #a45fb3;
  color: #a45fb3;
}

.test-page .choice-a.is-selected,
.test-page .choice-a:hover,
.test-page .choice-a:focus {
  background: rgba(164, 95, 179, 0.16);
  box-shadow: 0 0 0 8px rgba(164, 95, 179, 0.16);
}

.test-page .choice-b {
  border-color: var(--mbti-theme-primary);
  color: var(--mbti-theme-primary);
}

.test-page .choice-b.is-selected,
.test-page .choice-b:hover,
.test-page .choice-b:focus {
  background: rgba(30, 192, 191, 0.12);
  box-shadow: 0 0 0 8px rgba(30, 192, 191, 0.12);
}

body.report-loading-page:not(.report-loading-pro-page) {
  background: var(--mbti-theme-page);
}

.report-loading-page:not(.report-loading-pro-page) .report-shell {
  background: linear-gradient(180deg, var(--mbti-theme-soft-strong) 0 19%, var(--mbti-theme-page) 19% 100%);
  box-shadow: 0 0 42px rgba(13, 32, 65, 0.08);
}

.report-loading-page:not(.report-loading-pro-page) .chart-board,
.report-loading-page:not(.report-loading-pro-page) .report-card {
  border-color: var(--mbti-theme-primary);
}

.report-loading-page:not(.report-loading-pro-page) .report-tabs .is-active {
  color: var(--mbti-theme-primary-hover);
  background-color: transparent;
}

.report-loading-page:not(.report-loading-pro-page) .report-tabs .is-active::after {
  background-color: var(--mbti-theme-primary);
}

.report-loading-page:not(.report-loading-pro-page) .report-bar {
  background: #d9f1ed;
}

.report-loading-page:not(.report-loading-pro-page) .report-bar span {
  background-color: var(--mbti-theme-primary);
}

body.pro-test-page {
  background: #edf9f7;
}

.pro-test-page .pro-test-shell {
  background: #f8fdfc;
}

.pro-test-page .pro-identity-kicker,
.pro-test-page .pro-test-title-badge {
  border-color: var(--mbti-theme-line);
  background: linear-gradient(180deg, #fff, var(--mbti-theme-soft));
  color: var(--mbti-theme-primary-hover);
}

.pro-test-page .pro-identity-kicker span,
.pro-test-page .pro-test-title-badge span {
  background: var(--mbti-theme-navy);
}

.pro-test-page .pro-identity-card h1,
.pro-test-page .pro-test-title-row h1,
.pro-test-page .pro-progress__row strong,
.pro-test-page .pro-question-card h2,
.pro-test-page .pro-submit-card h2 {
  color: var(--mbti-theme-navy);
}

.pro-test-page .pro-identity-card p::after,
.pro-test-page .pro-progress__track span,
.pro-test-page .pro-submit-ok {
  background: linear-gradient(90deg, var(--mbti-theme-navy), var(--mbti-theme-primary));
}

.pro-test-page .pro-progress__track {
  background: #d9f1ed;
}

.pro-test-page .pro-identity-option:hover,
.pro-test-page .pro-identity-option:focus,
.pro-test-page .pro-option-description:hover,
.pro-test-page .pro-option-description:focus {
  border-color: var(--mbti-theme-primary);
  background: #f5fffd;
}

.pro-test-page .pro-option-description.is-selected {
  border-color: var(--mbti-theme-primary);
  background: var(--mbti-theme-soft);
}

.pro-test-page .pro-option-description__label {
  background: #dff8f3;
  color: var(--mbti-theme-primary-hover);
}

.pro-test-page .pro-prev:hover,
.pro-test-page .pro-prev:focus {
  color: var(--mbti-theme-primary-hover);
}

body.report-loading-pro-page {
  background: var(--mbti-theme-page);
  color: var(--mbti-theme-navy);
}

.report-loading-pro-page .pro-loading-shell {
  background: linear-gradient(180deg, #fff 0%, #effffc 46%, var(--mbti-theme-soft) 100%);
  box-shadow: 0 0 42px rgba(13, 32, 65, 0.08);
}

.report-loading-pro-page .pro-loading-kicker,
.report-loading-pro-page .pro-analysis-panel,
.report-loading-pro-page .pro-loading-metrics article,
.report-loading-pro-page .pro-loading-card {
  border-color: rgba(30, 192, 191, 0.22);
}

.report-loading-pro-page .pro-loading-kicker,
.report-loading-pro-page .pro-analysis-panel {
  color: var(--mbti-theme-primary-hover);
}

.report-loading-pro-page .pro-loading-kicker span,
.report-loading-pro-page .report-tabs .is-active::after {
  background: var(--mbti-theme-primary);
}

.report-loading-pro-page .pro-loading-hero h1,
.report-loading-pro-page .pro-analysis-header b,
.report-loading-pro-page .report-step p {
  color: var(--mbti-theme-navy);
}

.report-loading-pro-page .pro-analysis-header span,
.report-loading-pro-page .pro-loading-metrics b,
.report-loading-pro-page .report-tabs .is-active {
  color: var(--mbti-theme-primary-hover);
}

.report-loading-pro-page .pro-signal-grid span {
  background: linear-gradient(180deg, #e8fffb, #9cece3);
  box-shadow: inset 0 -8px 0 rgba(30, 192, 191, 0.12);
}

.report-loading-pro-page .pro-signal-grid span:nth-child(3n + 1) {
  background: linear-gradient(180deg, #f6fffd, #a9f3ea);
}

.report-loading-pro-page .pro-signal-grid span:nth-child(4n) {
  background: linear-gradient(180deg, #fff, #bff5ee);
}

.report-loading-pro-page .pro-scan-line,
.report-loading-pro-page .report-bar span {
  background: linear-gradient(90deg, var(--mbti-theme-navy), var(--mbti-theme-primary));
}

.report-loading-pro-page .report-bar {
  background: #d9f1ed;
}

body.report-unlock-pro-page,
.report-unlock-pro-page .unlock-shell {
  background: var(--mbti-theme-page);
  color: var(--mbti-theme-navy);
}

.report-unlock-pro-page .unlock-summary,
.report-unlock-pro-page .result-card,
.report-unlock-pro-page .preview-header,
.report-unlock-pro-page .preview-key-grid,
.report-unlock-pro-page .preview-section {
  border-color: var(--mbti-theme-line);
}

.report-unlock-pro-page .unlock-pro-tag,
.report-unlock-pro-page .accuracy-line {
  color: var(--mbti-theme-primary-hover);
}

.report-unlock-pro-page .unlock-pro-tag span,
.report-unlock-pro-page .unlock-footer a {
  background: var(--mbti-theme-primary);
}

.report-unlock-pro-page .unlock-footer a {
  box-shadow: 0 12px 26px rgba(30, 192, 191, 0.24);
}

.report-unlock-pro-page .unlock-summary h1,
.report-unlock-pro-page .result-main h2,
.report-unlock-pro-page .preview-header h2,
.report-unlock-pro-page .preview-section h2 {
  color: var(--mbti-theme-navy) !important;
}

.report-unlock-pro-page .part-label,
.report-unlock-pro-page .preview-header p,
.report-unlock-pro-page .share-card-preview span {
  color: var(--mbti-theme-primary-hover);
}

.report-unlock-pro-page .function-preview-grid i,
.report-unlock-pro-page .dimension-card b {
  background: linear-gradient(90deg, var(--mbti-theme-navy), var(--mbti-theme-primary));
}

body.report-demo-page {
  background: var(--mbti-theme-page);
}

.report-demo-page .report-demo-shell {
  background:
    radial-gradient(circle at 15% 0%, rgba(30, 192, 191, 0.16), transparent 28%),
    radial-gradient(circle at 90% 7%, rgba(13, 32, 65, 0.08), transparent 24%),
    #fff;
}

.report-demo-page .demo-result-copy h2,
.report-demo-page .demo-tags span,
.report-demo-page .pill-list span,
.report-demo-page .soft-tags span {
  color: var(--mbti-theme-primary-hover);
}

.report-demo-page .demo-tags span,
.report-demo-page .pill-list span,
.report-demo-page .soft-tags span {
  background: var(--mbti-theme-soft);
}

body.recover-page {
  background: var(--mbti-theme-page);
}

.recover-page .recover-shell {
  background: #fff;
}

.recover-page .recover-search input {
  border-color: var(--mbti-theme-primary);
}

.recover-page .recover-search input:focus {
  border-color: var(--mbti-theme-primary-hover);
  box-shadow: 0 0 0 3px rgba(30, 192, 191, 0.14);
}

.recover-page .recover-search button {
  background: var(--mbti-theme-primary);
}

.privacy-header {
  background: linear-gradient(180deg, var(--mbti-theme-soft), #fff);
}

.privacy-content a {
  color: var(--mbti-theme-primary-hover);
}

.personality-list-page .grid figcaption h2,
.personality-detail-page button.trigger::before,
.personality-detail-page button.trigger svg {
  color: var(--mbti-theme-primary) !important;
}

.personality-detail-page .intro-effect-jam3 .content > div {
  border-left-color: var(--mbti-theme-primary);
}

.personality-list-page .pi .grid figcaption h2 {
  color: var(--mbti-theme-primary);
}
