/* Readable typography and consistent light/dark surfaces across the guided platform. */
body {font-size:17px;line-height:1.65}
#app p, #info-dialog p {font-size:17px;line-height:1.7}
#app .small, #app small, #info-dialog .small {font-size:15px;line-height:1.65}
#app .eyebrow, #info-dialog .eyebrow {font-size:12px;letter-spacing:1.35px;line-height:1.6}
#app h1 {font-size:clamp(40px,4vw,54px);line-height:1.12;overflow-wrap:anywhere}
#app h2 {font-size:32px;line-height:1.2;overflow-wrap:anywhere}
#app h3 {font-size:25px;line-height:1.3;overflow-wrap:anywhere}
#app .flow-home-copy h1 {font-size:clamp(52px,5vw,68px);line-height:1.07}
#app .flow-home-tagline {font-size:22px}
#app .flow-invitation-cover h1 {font-size:clamp(42px,5vw,64px)}
#app .flow-question-card h1 {font-size:36px;line-height:1.25}
#app .flow-auth-story h1 {font-size:48px}
#app .flow-review-row h3, #app .history-copy h3 {font-size:23px}
#app .button, #app .text-button, #info-dialog .button, #info-dialog .text-button {font-size:16px;line-height:1.4;white-space:normal;min-height:46px}
#app .icon-button {font-size:20px;min-width:44px;min-height:44px}
#app .field>span, #app .field>label, #app legend, #info-dialog .field>span {font-size:16px;line-height:1.5}
#app input:not([type=checkbox]):not([type=radio]), #app select, #app textarea, #info-dialog input:not([type=checkbox]):not([type=radio]), #info-dialog select, #info-dialog textarea {font-size:17px;line-height:1.5}
#app .check-row, #app .survey-choice, #app .sharing-switch, #info-dialog .check-row {font-size:16px;line-height:1.65}
#app .pill, #app .survey-question-number, #app .flow-review-row span, #app .flow-row-state, #app .chart-label, #app .flow-survey-context, #app .flow-question-footer, #app .flow-survey-progress>div:first-child>span {font-size:14px;line-height:1.6}
#app .flow-survey-progress strong {font-size:17px}
#app .flow-facts span, #app .flow-counts span, #app .choice-meta, #app .flow-home-notes, #app .flow-question-styles, #app .flow-invitation-facts {font-size:15px;line-height:1.6}
#app .flow-steps {flex-wrap:wrap}
#app .flow-steps li {font-size:14px}
#app .flow-steps li>span {width:29px;height:29px;font-size:13px}
#app .flow-tabs button, #app .flow-workspace-nav button, #app .tab-bar button, #app .flow-builder-steps button {font-size:15px;line-height:1.5;min-height:46px}
#app .flow-workspace-nav {position:relative;overflow-x:auto;scrollbar-width:thin;max-width:100%;scroll-padding-inline:12px}
#app .flow-workspace-nav button {flex-shrink:0}
#app .flow-type-palette button, #app .flow-question-map li>button {font-size:15px;line-height:1.5;min-height:46px}
#app .flow-question-map li>button small, #app #flow-save-label {font-size:14px}
#app .flow-reporting strong, #app .flow-reporting small {font-size:16px;line-height:1.6}
#app .flow-builder-note li, #app .flow-publish-checks {font-size:16px;line-height:1.7}
#app .flow-facts strong {font-size:34px}
#app .flow-counts strong {font-size:44px}
#app .flow-path-strip strong {font-size:17px}
#app .flow-path-strip p {font-size:15px}
#app .flow-conditions summary, #app .flow-future summary, #app .profile-details summary, #app .flow-start-included strong, #app .flow-auth-benefits, #app .flow-invited strong {font-size:15px;line-height:1.65}
#app .error-text, #info-dialog .error-text {font-size:16px;color:#a52335;line-height:1.6}
#app .button:disabled {opacity:1;background:#e8e5ed;color:#655870;border-color:#d6cede;box-shadow:none;cursor:not-allowed}
#app .notice {font-size:16px;line-height:1.65}
#app .flow-review-row p, #app .flow-survey-purpose {color:#42566b}
#app .flow-share-card .field input {font-size:16px}
#app .option .label {font-size:13px;line-height:1.45}
#app .question-label {font-size:19px;line-height:1.6}
#app .step-link {font-size:15px}
#app .save-state {font-size:14px}
#app .flow-question-actions {flex-wrap:wrap}
#app .flow-question-actions .button {min-width:0}
body .site-header nav .nav-link, .site-header .mobile-menu-panel .nav-link {font-size:15px;line-height:1.4;min-height:44px}
body.invitation-focus .site-header nav>.nav-link[data-action=flow-privacy] {font-size:14px}
.site-footer, .site-footer button {font-size:14px;line-height:1.6}
.site-header .mobile-menu summary {width:44px;height:44px}

/* Legacy page headings use the same pale surfaces as the new flow headings. */
#app .page-head {color:#43236d;border-color:#e0d3ef}
#app .page-head h1 {color:#43236d}
#app .page-head p, #app .page-head .eyebrow {color:#58416e}
#app .page-head .light, #app .page-head .secondary {background:#fff;color:#43236d;border:1px solid #c8b5e0;box-shadow:none}
#app .page-head .light:hover, #app .page-head .secondary:hover {background:#ede1fc;color:#43236d}
#app .report-hero {color:#fff}
#app .report-hero h2, #app .report-hero .score, #app .report-hero .score span {color:#fff}
#app .report-hero p, #app .report-hero .score-block small {color:#e2eff5}
#app .report-hero .pill {color:#244d5c;background:#fff;border-color:#fff}

/* Survey results: overview, report controls, then the response story. */
.flow-results-actions {display:grid;grid-template-columns:1fr 1.4fr;gap:28px;align-items:start;background:#fff;border:1px solid #ddd4e9;border-radius:23px;padding:28px 30px;margin:25px 0;box-shadow:0 6px 25px #31205405}
#app .flow-results-actions h2 {font-size:25px;color:#43236d}
#app .flow-results-actions p {font-size:16px;color:#4b5d70;margin-top:12px;max-width:470px}
.flow-results-tools .actions {display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
#app .flow-results-tools .button {font-size:15px;min-height:47px;padding:12px 17px}
.flow-results-status {display:flex;gap:16px;justify-content:flex-end;align-items:center;margin-top:16px;flex-wrap:wrap}
#app .flow-results-status .pill {color:#4c3b66;background:#f2edfa;border-color:#ded2ed}
#app .flow-results-status .text-button {font-size:15px}
#app .insight-summary {gap:20px;margin:28px 0}
#app .insight-summary>div {display:flex;flex-direction:column;align-items:start;gap:7px;padding:26px 28px;border-top:4px solid #8052c1;background:#f7f2ff}
#app .insight-summary>div:nth-child(2) {border-top-color:#148d80;background:#ebf8f4}
#app .insight-summary>div:nth-child(3) {border-top-color:#bf7d18;background:#fff6e1}
#app .insight-summary strong {font-size:50px;line-height:1.1;color:#53328d}
#app .insight-summary>div:nth-child(2) strong {color:#08685e}
#app .insight-summary>div:nth-child(3) strong {color:#825711}
#app .insight-summary span {font-size:16px;color:#405169;line-height:1.55}
#app .survey-result {padding:32px 35px;position:relative;overflow:hidden;border-left:5px solid #8b62c9}
#app .survey-result:nth-of-type(3n+1) {border-left-color:#249184}
#app .survey-result:nth-of-type(3n+2) {border-left-color:#c18129}
#app .survey-result .survey-question-number {font-size:14px;color:#604281}
#app .survey-result h2 {font-size:31px;line-height:1.3;color:#21354a;margin:16px 0 20px}
#app .survey-result .small {color:#425970}
#app .result-mean {display:flex;flex-wrap:wrap;align-items:center;gap:17px;background:#f2f7fc;border:1px solid #dce7f1;border-radius:17px;padding:23px 26px;margin:23px 0}
#app .result-mean strong {font-size:56px;line-height:1.1;color:#215671}
#app .result-mean span {font-size:16px;color:#425970;margin-right:22px}
#app .result-choice {font-size:17px;line-height:1.65}
#app .result-choice>div:first-child {font-size:17px;color:#405569;line-height:1.6}
#app .result-choice strong {font-size:17px;color:#405569}
#app .result-choice .bar {height:12px;background:#edf1f5}
#app .comparison-row {font-size:17px;line-height:1.6;gap:20px}
#app .comparison-row>strong {font-size:25px;color:#215671}
#app .comparison-row>span:last-child {font-size:15px;color:#465d72;max-width:150px}
#app .text-responses summary {font-size:17px;color:#53328d;line-height:1.6;min-height:44px;padding:9px 0}
#app .text-responses blockquote {font-size:17px;color:#334f65;line-height:1.75;padding:20px 24px;background:#f4f7fb;border-left:3px solid #8259bc;overflow-wrap:anywhere}

@media(max-width:900px) {
  .flow-results-actions {grid-template-columns:1fr;gap:22px}
  .flow-results-tools .actions, .flow-results-status {justify-content:flex-start}
  #app .flow-home-copy h1 {font-size:54px}
}
@media(max-width:650px) {
  #app p, #info-dialog p {font-size:16px;line-height:1.7}
  #app h1 {font-size:36px;line-height:1.16;letter-spacing:-.7px}
  #app h2 {font-size:29px}
  #app h3 {font-size:23px}
  #app .flow-home-copy h1 {font-size:clamp(40px,10.6vw,48px);line-height:1.08}
  #app .flow-home-tagline {font-size:20px}
  #app .flow-invitation-cover h1 {font-size:38px}
  #app .flow-question-card h1 {font-size:30px;line-height:1.25}
  #app .flow-auth-story h1 {font-size:39px}
  #app .button, #app .text-button {font-size:15px;min-height:46px}
  #app .flow-head .button {font-size:15px}
  #app .flow-home-quick {grid-template-columns:1fr;gap:11px}
  #app .flow-home-notes, #app .choice-meta, #app .flow-facts span, #app .flow-question-styles, #app .flow-invitation-facts {font-size:14px}
  #app .eyebrow {font-size:11px;letter-spacing:1.15px}
  #app .flow-facts {flex-wrap:wrap;gap:20px}
  #app .flow-facts strong {font-size:30px}
  #app .flow-counts {grid-template-columns:1fr}
  #app .flow-counts>div {display:flex;gap:18px;align-items:center;padding:19px 22px}
  #app .flow-counts strong {font-size:39px;min-width:45px}
  #app .flow-counts span {font-size:15px}
  #app .flow-invitation-next .flow-steps {flex-wrap:wrap;gap:12px}
  #app .flow-tabs button, #app .flow-workspace-nav button {font-size:14px;padding:12px 15px}
  #app .flow-builder-steps button {font-size:13px;padding:13px 5px}
  #app .flow-question-map li {min-width:210px;max-width:230px}
  #app .flow-type-palette button {font-size:14px;gap:8px;padding:14px 11px}
  #app .flow-question-actions .button {flex:1;padding:14px 13px}
  #app .option .label {font-size:12px}
  .site-header .header-primary {font-size:12px!important}
  .site-header .mobile-menu-panel .nav-link {font-size:15px}
  #app .flow-share-card .actions {display:grid}
  #app .flow-share-card .actions .button {width:100%}
  .flow-results-actions {padding:25px 23px;border-radius:20px;margin:23px 0}
  #app .flow-results-actions h2 {font-size:25px}
  .flow-results-tools .actions {display:grid;grid-template-columns:1fr 1fr;width:100%}
  #app .flow-results-tools .button {font-size:14px;padding:12px 11px;min-height:49px}
  .flow-results-status {justify-content:space-between;gap:10px}
  #app .insight-summary {grid-template-columns:1fr;gap:13px}
  #app .insight-summary>div {flex-direction:row;align-items:center;gap:22px;padding:21px 24px;border-radius:17px}
  #app .insight-summary strong {font-size:43px;min-width:56px}
  #app .insight-summary span {font-size:16px}
  #app .survey-result {padding:27px 24px}
  #app .survey-result h2 {font-size:28px;line-height:1.3}
  #app .result-mean {padding:21px 20px;gap:13px}
  #app .result-mean strong {font-size:46px}
  #app .result-mean span {font-size:15px;margin-right:0;max-width:130px}
  #app .comparison-row {display:grid;grid-template-columns:1fr auto;gap:8px 15px;font-size:16px}
  #app .comparison-row>span:last-child {grid-column:1/-1;font-size:14px;max-width:none}
  #app .text-responses blockquote {font-size:16px;padding:18px}
}
@media(max-width:380px) {
  .site-header {padding-left:16px;padding-right:16px}
  .site-header .brand img {width:120px;height:auto}
  .site-header nav>.header-primary {display:none!important}
  #app .flow-invitation-cover h1 {font-size:34px}
  #app .flow-question-card h1 {font-size:28px}
  #app .flow-steps li {font-size:13px}
  #app .flow-results-tools .actions {grid-template-columns:1fr}
}
@media print {
  .flow-results-actions {display:none!important}
  #app .page-head, #app .flow-head {background:#fff!important;color:#21354a;border:0}
  #app .page-head h1, #app .flow-head h1 {color:#21354a;font-size:30px}
  #app .report-hero {background:#fff!important;color:#21354a}
  #app .report-hero h2, #app .report-hero p, #app .report-hero .score, #app .report-hero .score span, #app .report-hero .score-block small {color:#21354a}
  #app p {font-size:14px}
  #app .insight-summary {grid-template-columns:repeat(3,1fr)}
  #app .survey-result {padding:22px;border-left-width:3px}
}
