/* Generated by frontend/build.mjs. Edit the source stylesheets. */
/* Font bytes are installed by fonts.js from this origin's public JS bundle. */
:root {
  --sans: 'Manrope';
  --display: 'Newsreader';
}

body, button, input, textarea, select { font-family: var(--sans); }
input::file-selector-button { font-family: var(--sans); }
h1, h2, .display-type { font-family: var(--display); font-optical-sizing: auto; }

/* Perspective and axial rotation are rendered inside the stationary canvas. */
.dna-helix {
  position: relative;
  width: min(100%, 440px);
  height: 220px;
  pointer-events: none;
  contain: layout style;
}
.dna-molecule { display: block; width: 100%; height: 100%; }
.analysis-hero .hero-art .dna-helix { width: 100%; transform: none; }
@media (max-width: 740px) {
  .analysis-hero .hero-art { order: -1; }
  .analysis-hero.is-waiting .hero-art { grid-row: 1; }
  .analysis-hero .hero-art .dna-helix { height: 140px; }
  .analysis-hero.is-waiting .hero-art .dna-helix { height: 100px; transform: none; }
  /* Transfer 12px from the illustration to the space below the copy, keeping
     the card, timing, controls and surrounding page at their existing height. */
  .analysis-hero:not(.is-waiting) .hero-art { height: 134px; }
  .analysis-hero:not(.is-waiting) .hero-art .dna-helix { height: 128px; }
  .analysis-hero:not(.is-waiting) .time-track { margin-top: 17px; }
}

.reference-chart { --comparison-higher: #8a8e88; margin: 2.5rem 0 0; padding: 2rem 0 0; border-top: 1px solid var(--line); min-width: 0; }
.reference-chart figcaption h2 { font-family: var(--display); font-size: clamp(1.7rem, 3vw, 2.2rem); font-weight: 400; line-height: 1.2; letter-spacing: -.03em; }
.reference-chart figcaption p { margin-top: .6rem; color: var(--muted); font-size: .94rem; }
/* One simple figure per supplied person; the assessed person is separate. */
.comparison-definitions { position: absolute; overflow: hidden; }
.reference-chart figcaption p { max-width: 48ch; font-size: 1rem; line-height: 1.65; }
.reference-chart figcaption strong { color: var(--ink); font-weight: 600; }
.comparison-text { margin: .55rem 0 0; max-width: 54ch; color: var(--muted); font-size: .8rem; line-height: 1.6; }
.comparison-legend { display: flex; flex-wrap: wrap; gap: .55rem 1.1rem; margin-top: 1.5rem; color: var(--muted); font-size: .8rem; }
.comparison-legend span { display: inline-flex; align-items: center; gap: .45rem; }
.comparison-legend i { width: 9px; height: 9px; border: 1.5px solid var(--green); border-radius: 50%; background: var(--green); }
.comparison-legend .legend-higher { background: transparent; border-color: var(--comparison-higher); }
.comparison-legend .legend-you { background: var(--blue); border-color: var(--blue); border-radius: 2px; }
.comparison-legend .legend-equal { background: transparent; border-style: dashed; border-radius: 2px; }
.comparison-pictogram { margin: 1rem 0 1.3rem; }
.comparison-grid { display: grid; grid-template-columns: repeat(20,minmax(0,1fr)); gap: 4px 3px; max-width: 620px; }
.comparison-cell { display: flex; justify-content: center; align-items: center; height: 31px; min-width: 0; color: var(--green); }
.comparison-person { display: block; width: 16px; height: 25px; flex: 0 0 auto; fill: currentColor; stroke-width: 2.2; }
.comparison-higher { color: var(--comparison-higher); }
.comparison-higher .comparison-person { fill: none; stroke-width: 1.6; }
.comparison-equal { border: 1px dashed var(--muted); border-radius: 3px; }
.comparison-equal .comparison-person { fill: none; }
.comparison-you { flex-direction: column; color: var(--paper); background: var(--blue); border: 1.5px solid var(--blue); border-radius: 4px; }
.comparison-you .comparison-person { width: 12px; height: 18px; }
.comparison-you small { font-size: 9px; line-height: 10px; font-weight: 700; letter-spacing: -.03em; }
.comparison-scroll { max-height: 26rem; overflow-y: auto; scrollbar-gutter: stable; padding-right: .75rem; }
.comparison-scroll:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
@media (max-width:740px) {
  .comparison-grid { grid-template-columns: repeat(14,minmax(0,1fr)); gap: 2px; }
  .comparison-cell { height: 28px; }
  .comparison-person { width: 14px; height: 22px; }
  .comparison-you .comparison-person { width: 10px; height: 15px; }
}
@media (max-width:350px) {
  .comparison-grid { grid-template-columns: repeat(12,minmax(0,1fr)); }
}
.reference-chart-note { max-width: 60ch; margin-top: 1.5rem; color: var(--muted); font-size: .875rem; line-height: 1.6; }
.reference-chart-details { margin-top: 1.1rem; font-size: .875rem; }
.reference-chart-details summary { display: list-item; width: fit-content; cursor: pointer; min-height: 44px; padding: .6rem 0; color: var(--ink); }
.reference-chart-details summary:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
.reference-chart-details > p { margin: .8rem 0 1.25rem; color: var(--muted); max-width: 65ch; }
.reference-chart-metadata { margin: 0 0 1.5rem; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.1rem 2rem; }
.reference-chart-metadata dt { color: var(--muted); font-size: .8rem; }
.reference-chart-metadata dd { margin: .1rem 0 0; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.reference-chart-details table { width: 100%; border-collapse: collapse; text-align: left; font-variant-numeric: tabular-nums; table-layout: fixed; }
.reference-chart-details caption { color: var(--muted); text-align: left; margin: 0 0 .8rem; font-size: .8rem; }
.reference-chart-details th, .reference-chart-details td { padding: .65rem .5rem .65rem 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; font-weight: 400; }
.reference-chart-details thead th { font-weight: 600; }
.reference-chart-unavailable { color: var(--muted); margin-top: 1.5rem; }
@media (max-width: 480px) {
  .reference-chart { margin-top: 2rem; padding-top: 1.5rem; }
  .reference-chart-metadata { grid-template-columns: 1fr; gap: .85rem; }

}

@media (min-width:1000px) {
  .comparison-cell { height: 42px; }
  .comparison-person { width: 22px; height: 34px; }
  .comparison-you .comparison-person { width: 16px; height: 25px; }
  .comparison-you small { font-size: 10px; line-height: 11px; }
}

:root{--paper:#f7f7f0;--white:#fff;--ink:#173f35;--text:#293e35;--muted:#52655b;--line:#d6dfd3;--green:#234f3f;--soft:#edf2e3;--lime:#d9ed92;--blue:#486d92;--sand:#f7f3e9}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--text);font:15px/1.65 var(--sans);font-synthesis:none}html.fonts-loading body{visibility:hidden}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--ink)}h1,h2{font-family:var(--display);font-weight:400;letter-spacing:-.035em;line-height:1.08}h1{font-size:clamp(44px,5vw,72px)}h2{font-size:34px}h3{font-size:15px;font-weight:650}a{color:var(--green);text-underline-offset:4px}button,input,textarea,select{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}svg{flex-shrink:0;vertical-align:middle}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:var(--lime);padding:12px 20px}.skip-link:focus{top:12px}
.site-header{border-bottom:1px solid var(--line)}.header-content{height:88px;width:min(1296px,90%);margin:auto;display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);font-size:25px;font-weight:800;letter-spacing:-1.3px}.brand img{width:37px;height:37px}.brand-line{font:400 20px/1.3 var(--display);letter-spacing:-.3px;color:var(--muted);border-left:1px solid var(--line);padding-left:25px}.sign-out{margin-left:auto;display:flex;align-items:center;gap:17px;min-height:44px;padding:8px 0 8px 10px;font-size:13px;background:none;border:0}.workspace-main{width:min(1240px,90%);margin:0 auto;padding:45px 0 0;outline:none}.section-label{font:500 14px/1.6 var(--sans);letter-spacing:0;color:var(--muted)}.button{min-height:50px;border:1px solid var(--ink);border-radius:6px;background:var(--ink);color:var(--paper);padding:12px 20px;display:inline-flex;justify-content:center;align-items:center;gap:16px;font-weight:650;font-size:14px;transition:background .2s,transform .2s}.button:hover{background:var(--green);transform:translateY(-1px)}.button.secondary{background:transparent;border-color:var(--line);color:var(--ink)}.button.secondary:hover{background:var(--soft);border-color:var(--muted)}.button.wide{width:100%}.text-button{display:inline-flex;gap:13px;align-items:center;min-height:44px;padding:8px 0;border:0;background:none;font-size:13px;color:var(--muted)}.text-button:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.field-help{font-size:12px;line-height:1.65;color:var(--muted)}.site-footer{display:flex;justify-content:space-between;gap:20px;margin-top:32px;padding:24px 0 28px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.site-footer p:last-child{text-align:right}.end-run{display:flex;align-items:center;gap:24px;margin-top:24px}.end-run p{font-size:11px;color:var(--muted)}
.analysis-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:10px 35px;padding:36px 42px 28px;background:var(--ink);color:var(--paper);border-radius:13px;overflow:hidden;position:relative}.analysis-hero .section-label{display:flex;align-items:center;gap:10px;color:var(--soft);font-size:12px}.live-indicator{display:inline-block;width:5px;height:5px;margin-left:12px;background:var(--lime);border-radius:50%}.analysis-hero h1,.analysis-hero h2{font-size:clamp(44px,5vw,68px);color:var(--paper);max-width:490px;line-height:1.03;margin-top:27px;text-wrap:balance}.hero-description{font-size:16px;max-width:415px;margin-top:19px;color:var(--soft);line-height:1.7}.hero-art{display:grid;align-items:center;justify-items:center;padding:10px 0}.hero-art .dna-helix{width:100%}.time-track{grid-column:1/-1;margin-top:25px;border-top:1px solid var(--muted);padding-top:25px}.time-heading{display:flex;align-items:baseline;justify-content:space-between;gap:25px}.time-remaining{font:400 30px/1.2 var(--display);color:var(--lime);letter-spacing:-.4px}.time-caption{font-size:12px;color:var(--soft);margin-top:7px}.elapsed{font-size:13px;white-space:nowrap;color:var(--soft)}.elapsed strong{font-size:21px;font-weight:500;color:var(--paper);margin-right:3px}.elapsed-track{position:relative;margin-top:24px;height:6px}.elapsed-track progress{display:block;width:100%;height:6px;appearance:none;border:0;border-radius:8px;overflow:hidden;background:var(--muted);color:var(--lime)}.elapsed-track progress::-webkit-progress-bar{background:var(--muted)}.elapsed-track progress::-webkit-progress-value{background:var(--lime);border-radius:8px}.elapsed-track progress::-moz-progress-bar{background:var(--lime);border-radius:8px}.estimate-threshold{position:absolute;left:70%;height:14px;top:-4px;border-left:1px solid var(--paper)}.time-scale{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--soft);margin-top:12px}.attention-bar{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:25px 0;border-bottom:1px solid var(--line)}.attention-bar strong{font-size:15px;font-weight:650}.attention-bar p:not(.field-help){font-size:13px;color:var(--muted);margin-top:5px}.alert-settings{display:flex;align-items:center;gap:17px}.alert-settings .button{font-size:12px;min-height:45px;white-space:nowrap;padding:10px 15px}.alert-settings .field-help{font-size:11px;max-width:195px}.path-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin:28px 0 25px}.path-heading h2{font-size:30px}.path-heading p{font-size:12px;color:var(--muted)}.timeline{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px;padding:0;margin:0;list-style:none}.timeline li{min-width:0}.step-number{display:grid;place-items:center;width:31px;height:31px;font-size:11px;border-radius:50%;border:1px solid var(--line);color:var(--muted);margin-bottom:11px}.complete .step-number{background:var(--soft);border-color:var(--soft);color:var(--green)}.running .step-number,.ask .step-number{background:var(--lime);border-color:var(--ink);color:var(--ink)}.timeline h3{font-size:12px;font-weight:650;line-height:1.5}.timeline p{font-size:11px;color:var(--muted);margin-top:5px}.pending h3{font-weight:500;color:var(--muted)}.technical-details{margin-top:20px;color:var(--muted);font-size:12px}.technical-details summary{min-height:44px;padding:10px 0;cursor:pointer}.technical-details ol,.technical-details ul{padding-left:20px;max-height:300px;overflow:auto}.technical-details li{margin:10px 0;overflow-wrap:anywhere}.completed-path{margin-top:24px;border-top:1px solid var(--line);padding-top:9px}.completed-path>summary{min-height:44px;padding:10px 0;cursor:pointer;font-size:13px}.completed-path .path-heading h2{font-size:28px}
.question-panel{display:grid;grid-template-columns:1.35fr 1fr;gap:55px;border-top:2px solid var(--ink);padding:31px 0 38px;margin-bottom:25px}.question-panel .section-label{color:var(--green);display:inline-block;background:var(--lime);border-radius:30px;padding:5px 13px;font-size:12px;font-weight:650}.question-panel h1{font-size:clamp(36px,3.3vw,48px);line-height:1.12;margin-top:20px;max-width:680px;overflow-wrap:anywhere;white-space:pre-wrap}.question-why{margin-top:20px;max-width:650px;color:var(--muted);font-size:14px}.question-options{padding-left:19px;font-size:13px;color:var(--muted);margin-top:18px}.question-options li{margin:5px 0}.question-panel form{padding-top:8px}.question-panel label{display:block;font-size:14px;font-weight:650;margin-bottom:13px}textarea{width:100%;min-height:170px;display:block;border:1px solid var(--muted);background:var(--white);border-radius:7px;padding:14px;resize:vertical;font-size:16px;line-height:1.7}.question-panel .field-help{margin:12px 0 20px}.analysis-hero.is-waiting{padding-top:25px;padding-bottom:24px;grid-template-columns:1.6fr 1fr;gap:20px}.analysis-hero.is-waiting h2{font-size:38px;margin-top:16px}.analysis-hero.is-waiting .hero-description{font-size:14px;margin-top:12px}.analysis-hero.is-waiting .time-track{margin-top:0}.analysis-hero.is-waiting .hero-art{max-height:170px}.analysis-hero.is-waiting .dna-helix{transform:scale(.8)}
.completion-line{display:flex;gap:9px;align-items:center;color:var(--green);font-size:12px;margin-bottom:25px}.answer-lead{padding:34px 0 38px;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}.answer-lead>.section-label{margin-bottom:24px}.answer-lead h1:not(.section-label){max-width:900px;line-height:1.05}.answer-context{font-size:19px;line-height:1.65;color:var(--muted);max-width:650px;margin-top:24px}.score-lead{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;padding:23px 0 35px}.score-lead h1.section-label{font:500 14px/1.6 var(--sans);letter-spacing:0}.result-number{font:400 clamp(115px,12vw,170px)/1 var(--display);letter-spacing:-.065em;margin-top:10px;color:var(--ink);overflow-wrap:anywhere}.result-number>span{font-size:30px;letter-spacing:-.025em;margin-left:20px}.result-number.long-number{font-size:clamp(40px,7vw,90px);letter-spacing:-.04em}.score-lead .answer-context{font:400 30px/1.4 var(--display);letter-spacing:-.025em;max-width:430px;margin:0}.report-reading{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid var(--line);margin-top:32px;padding-top:30px}.report-section h2{font-size:33px;margin-bottom:23px}.report-prose{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.75}.report-prose+.report-prose{margin-top:15px}.report-facts{margin:0}.report-facts>div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.report-facts dt{font-size:12px;color:var(--muted)}.report-facts dd{font-size:13px;margin:0;text-align:right;overflow-wrap:anywhere}.report-limits h3{font-size:14px;margin-top:20px}.report-limits ul{font-size:13px;padding-left:18px}.report-limits li{margin:8px 0}.report>.technical-details{border-top:1px solid var(--line);padding-top:8px;margin-top:27px}.report>.technical-details .report-facts{max-width:680px}.refusal-body{display:grid;grid-template-columns:1fr 1fr;gap:40px 70px;padding-top:34px}.person-limit{grid-column:1/-1;border-left:3px solid var(--green);padding:5px 0 5px 20px;color:var(--muted);font-size:14px}.reference-chart{margin-top:28px;padding-top:0;border:0}.reference-chart-plot{max-height:300px}.reference-chart figcaption h2{font-size:33px}.reference-chart-note{max-width:100%;font-size:12px;margin-top:12px}.reference-chart-details{font-size:12px;margin-top:5px}
.intake{display:grid;grid-template-columns:1.05fr 1fr;gap:100px;padding:35px 0 30px}.intake-intro h1{margin-top:25px;font-size:clamp(52px,5vw,76px);line-height:1.04}.intro-deck{max-width:490px;font-size:17px;color:var(--muted);line-height:1.8;margin-top:23px}.intake-time{display:flex;align-items:center;gap:22px;margin-top:45px;border-top:1px solid var(--line);padding-top:24px;max-width:450px}.intake-time>span{font:400 45px/1 var(--display);letter-spacing:-.03em;white-space:nowrap}.intake-time p{font-size:12px;color:var(--muted)}.upload-area{padding-top:8px}.upload-area h2{font-size:35px}.upload-area>p{font-size:14px;color:var(--muted);margin-top:16px}.sample-files{font-size:13px;margin-top:16px}.sample-files summary{min-height:44px;cursor:pointer;padding:8px 0}.sample-files ul{padding-left:18px;overflow-wrap:anywhere}.file-drop{margin-top:20px;padding:24px;border:1px dashed var(--muted);border-radius:9px;background:var(--soft);display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--ink);cursor:pointer;font-size:14px;font-weight:600}.file-drop input{max-width:100%;font-size:12px;font-weight:400}.file-drop input::file-selector-button{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:8px 10px;cursor:pointer;margin-right:10px}.upload-area #selected-file{overflow-wrap:anywhere;margin-top:10px}.upload-area #file-limits{margin:10px 0 20px}.upload-area .retention-note{font-size:12px;line-height:1.7;margin-top:19px}.empty-state{position:relative;max-width:870px;margin:auto;padding:70px 0;text-align:center}.empty-state h1{margin:20px auto 0;font-size:68px}.empty-state .intro-deck{margin:25px auto 0}.empty-help{max-width:450px;margin:19px auto 0;color:var(--muted);font-size:13px}.empty-mark{display:none}.failure-state{padding:40px 0 50px}.failure-state h1{margin-top:20px}.connection-banner{border-left:3px solid var(--blue);background:var(--soft);padding:17px 22px;margin-bottom:25px;font-size:14px}.connection-banner strong{font-weight:650}.connection-banner p{font-size:13px;margin-top:5px}.connection-banner .text-button{padding-bottom:0;min-height:35px}.notice-banner{padding:16px 0;margin-bottom:20px;border-bottom:1px solid var(--line);font-size:14px}.connecting-state{min-height:50vh;padding-top:70px}
.login-main{width:min(1100px,90%);margin:auto;display:grid;grid-template-columns:1.2fr 1fr;gap:120px;padding:90px 0 80px}.login-intro h1{font-size:76px;line-height:1.03;margin-top:24px;max-width:520px}.login-intro .intro-deck{font-size:17px;max-width:430px}.login-form{padding-top:14px}.login-form h2{font-size:36px;margin-bottom:20px}.login-form>p{font-size:14px;color:var(--muted);margin-bottom:30px}.login-form label{display:block;font-size:13px;font-weight:650;margin-bottom:10px}input[type=password]{width:100%;height:54px;padding:12px 14px;border:1px solid var(--muted);border-radius:6px;background:var(--white);font-size:17px}.login-form .field-help{min-height:43px;margin-top:12px}.login-form .button{margin-top:18px}.login-footer{width:min(1100px,90%);margin:0 auto}.login-intro .login-flourish{display:block;width:80px;height:1px;background:var(--green);margin:38px 0 0}
.scene-arrival{animation:scene-arrival .65s cubic-bezier(.2,.75,.25,1) both}@keyframes scene-arrival{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.workspace-main{width:90%}.analysis-hero{padding:30px;gap:15px}.analysis-hero h1{font-size:56px}.alert-settings{display:block}.alert-settings .field-help{max-width:280px;margin-top:8px}.timeline{gap:15px}.timeline h3{font-size:11px}.intake{gap:50px}.login-main{gap:65px}.login-intro h1{font-size:65px}.score-lead .answer-context{font-size:26px}.result-number{font-size:135px}.result-number>span{font-size:24px}.report-reading{gap:40px}}
@media(max-width:740px){body{font-size:15px}.header-content{height:77px;width:calc(100% - 40px);gap:15px}.brand{font-size:23px}.brand img{width:32px;height:32px}.brand-line{display:none}.sign-out{font-size:12px;gap:10px}.workspace-main{width:calc(100% - 36px);padding-top:25px}.analysis-hero{display:flex;flex-direction:column;padding:25px 24px 22px;border-radius:10px;gap:0}.analysis-hero .section-label{font-size:10px;gap:7px}.live-indicator{margin-left:6px;width:4px;height:4px}.analysis-hero h1{font-size:46px;line-height:1.03;max-width:310px;margin-top:25px}.hero-description{font-size:13px;line-height:1.8;max-width:310px;margin-top:16px}.hero-art{height:140px;padding:0;margin:4px -8px 0}.hero-art .dna-helix{height:150px}.hero-art .dna-helix-window{inset:-18px -8px}.time-track{width:100%;margin-top:5px;padding-top:20px}.time-heading{display:block}.time-remaining{font-size:25px}.time-caption{font-size:10px;line-height:1.7;margin-top:7px}.elapsed{font-size:11px;margin-top:12px}.elapsed strong{font-size:16px}.elapsed-track{margin-top:17px;height:5px}.elapsed-track progress{height:5px}.time-scale{font-size:9px;gap:16px;line-height:1.6}.time-scale span:first-child{max-width:130px}.time-scale span:last-child{text-align:right;max-width:120px}.attention-bar{display:block;padding:24px 2px}.attention-bar strong{font-size:13px}.attention-bar p:not(.field-help){font-size:12px}.alert-settings{margin-top:18px}.alert-settings .button{width:100%;min-height:46px}.alert-settings .field-help{font-size:11px;text-align:center;max-width:none;line-height:1.6}.path-heading{display:block;margin:27px 0 24px}.path-heading h2{font-size:31px;max-width:300px}.path-heading p{margin-top:9px;font-size:12px}.timeline{display:block}.timeline li{display:flex;gap:15px;position:relative;padding-bottom:24px}.timeline li:not(:last-child)::after{content:'';position:absolute;left:15px;top:32px;bottom:0;width:1px;background:var(--line)}.step-number{flex:0 0 31px;margin:0}.timeline h3{font-size:13px;line-height:1.6}.timeline p{font-size:11px;margin-top:3px}.technical-details{margin-top:5px}.technical-details summary{font-size:12px}.end-run{display:block;margin-top:22px}.end-run p{font-size:10px}.site-footer{display:block;font-size:10px;margin-top:24px;padding-top:20px;line-height:1.8}.site-footer p:last-child{text-align:left;margin-top:6px}.question-panel{display:block;padding:24px 0 26px;margin-bottom:20px}.question-panel .section-label{font-size:11px}.question-panel h1{font-size:37px;line-height:1.12;margin-top:20px}.question-why{font-size:13px;margin-top:18px}.question-options{font-size:12px}.question-panel form{padding-top:16px}.question-panel label{font-size:13px}.question-panel textarea{min-height:125px}.question-panel .field-help{font-size:11px}.question-panel .button{width:100%}.analysis-hero.is-waiting{display:grid;grid-template-columns:1fr;gap:0;padding:23px}.analysis-hero.is-waiting h2{font-size:34px}.analysis-hero.is-waiting .hero-description{font-size:12px}.analysis-hero.is-waiting .hero-art{height:100px;grid-row:2}.analysis-hero.is-waiting .dna-helix{height:130px;transform:scale(.8)}.analysis-hero.is-waiting .time-track{margin-top:0}.completion-line{font-size:11px;margin-bottom:20px}.score-lead{display:block;padding:22px 0 29px}.result-number{font-size:127px;margin-top:10px}.result-number>span{display:block;font-size:29px;margin:0 0 0 4px;line-height:1.2}.result-number.long-number{font-size:52px}.score-lead .answer-context{font-size:24px;line-height:1.4;max-width:340px;margin-top:24px}.report-reading{display:block;padding-top:26px;margin-top:27px}.report-section h2{font-size:30px;margin-bottom:18px}.report-section+.report-section{border-top:1px solid var(--line);margin-top:28px;padding-top:26px}.report-facts>div{display:block;padding:11px 0}.report-facts dt{font-size:11px}.report-facts dd{text-align:left;font-size:13px;margin-top:3px}.report-prose{font-size:14px;line-height:1.8}.report-limits ul{font-size:12px;line-height:1.8}.refusal-body{display:block;padding-top:27px}.answer-lead h1:not(.section-label){font-size:42px}.answer-context{font-size:16px}.person-limit{margin-top:28px;font-size:13px}.reference-chart figcaption h2{font-size:30px}.reference-chart figcaption p{font-size:12px}.reference-chart-note{font-size:11px}.reference-chart-scale{font-size:10px}.intake{display:block;padding-top:14px}.intake-intro .section-label{font-size:12px}.intake-intro h1{font-size:56px;margin-top:20px}.intro-deck{font-size:15px;margin-top:20px}.intake-time{margin-top:26px;padding-top:20px;gap:20px}.intake-time>span{font-size:39px}.intake-time p{font-size:11px}.upload-area{margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}.upload-area h2{font-size:32px}.upload-area>p{font-size:13px}.file-drop{padding:20px 13px;font-size:13px}.file-drop input{font-size:11px}.sample-files{font-size:12px}.empty-state{padding:45px 6px 60px}.empty-state h1{font-size:48px}.empty-state .intro-deck{font-size:15px}.empty-help{font-size:12px}.failure-state{padding:26px 0 38px}.failure-state h1{font-size:48px}.connection-banner{padding:15px 17px;font-size:13px}.connection-banner p{font-size:12px}.login-main{display:block;width:calc(100% - 44px);padding:45px 0 35px}.login-intro .section-label{font-size:12px}.login-intro h1{font-size:58px;margin-top:19px}.login-intro .intro-deck{font-size:15px;margin-top:20px}.login-intro .login-flourish{margin-top:28px}.login-form{padding-top:35px}.login-form h2{font-size:32px}.login-form>p{font-size:13px;margin-bottom:24px}.login-footer{width:calc(100% - 44px)}.login-form .field-help{font-size:11px}.login-form .button{margin-top:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Critique round 1: one visual field for the answer and its comparison. */
@media(min-width:1000px){
 .report-score{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:0 65px;border-top:1px solid var(--ink)}
 .report-score .score-lead{display:block;border:0;padding:32px 0 24px}
 .report-score .result-number{font-size:150px;line-height:1.03;margin-top:18px}
 .report-score .result-number.long-number{font-size:72px}
 .report-score .result-number>span{display:block;font-size:32px;margin:0 0 0 7px;line-height:1.2}
 .report-score .score-lead .answer-context{font-size:27px;line-height:1.4;max-width:365px;margin-top:28px}
 .report-score .reference-chart{padding-top:32px;margin-top:0;align-self:start}
 .report-score .reference-chart figcaption h2{font-size:30px}
 .report-score .reference-chart-plot{max-height:none}
 .report-score .reference-chart-note{font-size:12px;line-height:1.8}
 .report-score .report-reading,.report-score>.technical-details{grid-column:1/-1}
 .report-score .report-reading{margin-top:23px;padding-top:31px}
}
@media(max-width:740px){
 .hero-art{overflow:hidden;height:146px;margin-top:9px;margin-bottom:12px;flex-shrink:0}
 .hero-art .dna-helix-window{inset:-23px -8px;transform:rotate(-10deg) scale(.87)}
 .time-caption{font-size:11px}.time-scale{font-size:10px}.time-scale span:first-child{max-width:150px}
 .analysis-hero .section-label{font-size:11px}.hero-description{font-size:14px}
 .timeline h3{font-size:14px}.timeline p{font-size:12px}
 .attention-bar strong{font-size:14px}.attention-bar p:not(.field-help){font-size:13px}
 .alert-settings .field-help{font-size:12px}.field-help{font-size:12px}
 .site-footer{font-size:11px}.end-run p{font-size:11px}
 .reference-chart figcaption p,.reference-chart-note{font-size:12px}.reference-chart-scale{font-size:11px}
 .analysis-hero.is-waiting .hero-art{margin-bottom:10px}
}

/* Critique round 2: recovery and intake actions stay close to their context. */
.estimate-range{position:absolute;left:70%;right:0;top:-4px;height:14px;border:1px solid var(--muted);border-radius:0 4px 4px 0;pointer-events:none}
.failure-action{display:flex;align-items:center;gap:24px;margin-top:30px}.failure-action p{font-size:12px;color:var(--muted);max-width:245px}
.footer-signature{display:none}
@media(max-width:740px){
 .intake{padding-top:6px}.intake-intro h1{font-size:51px;margin-top:17px}.intake-intro .intro-deck{font-size:14px;line-height:1.75;margin-top:17px}
 .intake-time{margin-top:22px;padding-top:17px;gap:17px}.intake-time>span{font-size:34px}.intake-time p{font-size:10px}
 .upload-area{margin-top:25px;padding-top:23px}.upload-area h2{font-size:30px}.upload-area>p{font-size:12px;margin-top:12px}
 .sample-files{margin-top:10px}.file-drop{margin-top:12px;padding:16px 12px;gap:8px}.file-drop>svg{width:28px;height:28px}
 .upload-area #file-limits{margin-top:6px;margin-bottom:16px;font-size:11px}.upload-area .retention-note{font-size:11px}
 .failure-state{padding-bottom:25px}.failure-action{display:block;margin-top:25px}.failure-action .button{width:100%}.failure-action p{font-size:11px;max-width:none;margin-top:12px}
 .site-footer .footer-signature{display:block;font:400 23px/1.3 var(--display);color:var(--ink);letter-spacing:-.02em;margin-bottom:16px}
}
.upload-progress{margin-top:14px;background:var(--line)}.upload-progress::-webkit-progress-bar{background:var(--line)}.upload-progress::-webkit-progress-value{background:var(--green)}.upload-progress::-moz-progress-bar{background:var(--green)}
.private-link{margin:28px 0;padding:20px 22px;border:1px solid var(--line);border-radius:9px;background:var(--white)}.private-link h2{font-size:22px;margin-bottom:6px}.private-link p{font-size:13px;color:var(--muted)}.private-link-row{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.private-link-row input{flex:1 1 260px;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--soft);color:var(--ink);font-size:13px}.kept-until{margin:22px 0 0;font-size:14px;color:var(--ink)}

/* Comparison figures: keep the count and the uncertainty legible on a phone. */
.report-score .reference-chart figcaption p{font-size:15px;line-height:1.65}
.report-score .reference-chart-note{font-size:13px;line-height:1.75}
.report-score .reference-chart-details{font-size:13px}
.report-score .comparison-text{font-size:13px}
.report-score .result-number>span{font:400 17px/1.6 var(--sans);letter-spacing:0;margin-left:5px;margin-top:14px}
@media(max-width:740px){
 .report-score .reference-chart figcaption p{font-size:15px}
 .report-score .reference-chart-note,.report-score .comparison-text{font-size:13px}
 .report-score .score-lead .answer-context{font-size:23px}
 .comparison-pictogram{margin-top:1.45rem}
}

/* A complete sentence makes the range readable without percentile jargon. */
.report-score .result-sentence{font:400 clamp(35px,3.8vw,49px)/1.13 var(--display);letter-spacing:-.035em;color:var(--ink);margin-top:24px;overflow-wrap:anywhere;max-width:20ch}
.report-score .result-range{color:var(--blue)}
.report-score .score-lead .answer-context{font:400 15px/1.75 var(--sans);letter-spacing:0;max-width:42ch;margin-top:26px}
@media(max-width:740px){
 .report-score .result-sentence{font-size:36px;line-height:1.15;margin-top:18px;max-width:21ch}
 .report-score .score-lead .answer-context{font-size:14px;margin-top:20px}
 .report-score .comparison-pictogram{margin-top:1rem}
}

.report-score .score-lead h1.result-title{font:400 clamp(42px,4.1vw,58px)/1.06 var(--display);letter-spacing:-.035em;max-width:19ch;overflow-wrap:anywhere;text-wrap:balance}
.trait-unavailable{font-size:13px;line-height:1.6;color:var(--muted);margin-top:8px}
.report-summary{font-size:16px;line-height:1.75;margin-top:23px;max-width:48ch}
.report-summary p+p{margin-top:18px}
.report-summary .summary-trait,.report-summary .summary-not_a_chance{color:var(--muted)}
.report-score .report-summary .result-sentence{font:400 29px/1.3 var(--display);letter-spacing:-.02em;max-width:none;color:var(--ink)}
.full-report-details{grid-column:1/-1;margin-top:30px;border-top:1px solid var(--line)}
.full-report-details>summary{display:flex;align-items:center;gap:16px;cursor:pointer;list-style:none;padding:22px 0;font-size:16px;font-weight:600;min-height:64px;width:fit-content}
.full-report-details>summary::-webkit-details-marker{display:none}
.full-report-details>summary svg{transition:transform .2s ease}
.full-report-details[open]>summary svg{transform:rotate(90deg)}
.full-report-details .details-open,.full-report-details[open] .details-closed{display:none}
.full-report-details[open] .details-open{display:inline}
.full-report-details .report-reading{border:0;margin-top:0;padding-top:12px;padding-bottom:12px}
.full-report-details .report-limits ul{font-size:15px;line-height:1.8;padding-left:20px;margin:20px 0}
.full-report-details .report-limits li{margin:14px 0}
.report-disclaimer{margin-top:23px}
.z-score-help{font-size:13px;line-height:1.75;color:var(--muted);margin:9px 0 18px;max-width:48ch}
.z-score-fact dt{font-size:14px}
.z-score-fact dd{font-size:22px;font-weight:500;line-height:1.4;color:var(--ink)}
.z-score-help{font-size:14px;max-width:52ch}
.full-report-details .refusal-body{padding-top:12px}
.full-report-content{padding-top:10px}
.full-report-details[open] .full-report-content{animation:scene-arrival .25s ease both}
@media(min-width:1000px){
 .report-score:has(>.reference-chart-unavailable) .score-lead{grid-column:1/-1;max-width:850px;padding-bottom:14px}
 .report-score:has(>.reference-chart-unavailable) .result-title{max-width:25ch}
 .report-score:has(>.reference-chart-unavailable) .report-summary{max-width:63ch}
 .report-score>.reference-chart-unavailable{grid-column:1/-1;max-width:750px;margin:8px 0 0;font-size:13px;color:var(--muted)}
}
@media(max-width:740px){
 .report-score .score-lead h1.result-title{font-size:clamp(38px,11vw,43px);max-width:19ch}
 .report-summary{font-size:15px;line-height:1.75;margin-top:22px}
 .report-score .report-summary .result-sentence{font-size:26px;line-height:1.35}
 .full-report-details{margin-top:26px}
 .full-report-details>summary{font-size:15px;padding:20px 0;min-height:64px}
 .full-report-details .report-limits ul{font-size:14px}
 .full-report-details .report-reading{padding-top:5px}
}

.question-choices{border:0;padding:0;margin:0;min-width:0}
.question-choices legend{font-size:14px;font-weight:650;margin-bottom:13px;padding:0}
.question-panel .question-choice{position:relative;display:block;margin-bottom:10px;cursor:pointer}
.question-choice-input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.question-choice-face{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:57px;padding:14px 17px;border:1px solid var(--muted);border-radius:7px;background:var(--white);font-size:15px;font-weight:500;line-height:1.5;overflow-wrap:anywhere;transition:background-color .18s ease,border-color .18s ease}
.question-choice-mark{width:18px;height:18px;flex:0 0 18px;border:1px solid var(--muted);border-radius:50%;position:relative}
.question-choice-input:checked+.question-choice-face{background:var(--soft);border-color:var(--green);color:var(--green)}
.question-choice-input:checked+.question-choice-face .question-choice-mark{border-color:var(--green);background:var(--green)}
.question-choice-input:checked+.question-choice-face .question-choice-mark::after{content:'';position:absolute;left:5px;top:3px;width:5px;height:8px;border:solid var(--white);border-width:0 2px 2px 0;transform:rotate(45deg)}
.question-choice-input:focus-visible+.question-choice-face{outline:3px solid var(--blue);outline-offset:3px}
.question-choice-input:disabled+.question-choice-face{cursor:wait;opacity:.7}
.question-choice:hover .question-choice-input:not(:disabled)+.question-choice-face{border-color:var(--green)}
.question-written-answer{margin-top:21px}
.question-written-answer:first-child{margin-top:0}
.question-choices+.question-written-answer textarea{min-height:102px}
.question-panel #answer-submit{min-height:48px}
@media(max-width:740px){
 .question-choices legend{font-size:13px}
 .question-choice-face{min-height:54px;font-size:14px;padding:13px 15px}
 .question-choices+.question-written-answer textarea{min-height:98px}
}
@media(prefers-reduced-motion:reduce){.question-choice-face{transition:none}}
