:root{--ink:#182c32;--muted:#6a7d81;--line:#dce6e4;--paper:#f3f6f2;--green:#146353;--mint:#d6eee2;--yellow:#f5e7ad}*{box-sizing:border-box}body{margin:0;background:var(--paper);font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ba7b25;outline-offset:3px}.top{height:92px;padding:0 5vw;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fcfdf9}.brand{font-size:26px;font-weight:750;letter-spacing:-1px;display:flex;align-items:center;gap:10px}.brand-mark{display:inline-grid;place-items:center;background:var(--green);color:white;border-radius:12px;width:38px;height:38px;font:italic 32px Georgia}.brand-sub{font-size:11px;letter-spacing:1px;font-weight:500;color:var(--muted);border-left:1px solid var(--line);padding-left:16px;margin-left:10px;max-width:120px;line-height:1.4}nav{display:flex;align-items:center;gap:24px;font-size:14px}nav form{margin:0}main{max-width:1440px;padding:52px 5vw 80px;margin:auto}footer{max-width:1440px;margin:auto;padding:26px 5vw;border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:20px}h1,h2,h3,h4,p{margin-top:0}h1{font-size:clamp(34px,4vw,56px);line-height:1.12;letter-spacing:-2px;margin-bottom:18px;font-weight:630}h2{font-size:25px;line-height:1.3;letter-spacing:-.7px;margin-bottom:16px;font-weight:640}h3{font-size:22px;line-height:1.35;letter-spacing:-.4px}h4{font-size:14px;margin:18px 0 8px;color:var(--green)}p{margin-bottom:16px}.muted,.small-note{color:var(--muted)}.small-note{font-size:12px;line-height:1.65}.small-note a,.text-link{text-decoration:underline;text-underline-offset:4px}.lead{font-size:20px;max-width:650px;color:#52676b}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--green);margin-bottom:20px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px}.pill{display:inline-block;background:#e8f2ed;color:var(--green);padding:6px 12px;border-radius:30px;font-size:11px;letter-spacing:.2px;font-weight:650}.page-title{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:30px}.page-title p:last-child{margin:0}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #c9d8d2;border-radius:9px;background:#fff;color:var(--ink);padding:12px 20px;font-size:14px;font-weight:600;text-align:center;line-height:1.45}.button:hover{text-decoration:none;background:#edf5ef}.button.primary{background:var(--green);border-color:var(--green);color:white}.button.primary:hover{background:#0d4f42}.button.small{font-size:12px;padding:9px 13px}.full{width:100%}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.link{background:none;border:0;padding:0;color:inherit;font-size:13px}.link:hover{text-decoration:underline}.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.tag-row span{font-size:11px;border:1px solid var(--line);padding:8px 13px;border-radius:30px}.login-intro{display:grid;grid-template-columns:1.4fr 1fr;gap:8vw;align-items:center;padding:60px 0 90px}.login-intro h1{font-size:clamp(44px,5vw,72px)}.login-card{background:var(--mint);border:0;padding:42px}.login-card h2{margin-top:24px}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:14px;background:#eaf0e7;margin-bottom:32px}.stats div{padding:24px 28px;display:flex;flex-direction:column;border-right:1px solid #d6e1d5}.stats div:last-child{border:0}.stats b{font-size:32px;line-height:1.2;font-weight:550;letter-spacing:-1px}.stats span{font-size:12px;color:var(--muted);margin-top:8px}.admin-grid{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:24px;align-items:start}.section-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.section-title h2{margin:0}.section-title input{width:180px;font-size:12px}.test-row{padding:22px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px}.test-row strong{font-size:15px;font-weight:630}.test-row p{font-size:11px;margin:4px 0 0;color:var(--muted)}.test-row.archived{opacity:.5}.row-end{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:end}.row-end form{display:flex}.status{font-size:10px;color:var(--green);background:#eff5ec;padding:5px 8px;border-radius:6px;white-space:nowrap}.row-end .link{font-size:10px}.step-number{display:grid;place-items:center;width:36px;height:36px;background:var(--yellow);border-radius:10px;font-size:25px;margin-bottom:20px}.invite-card h2{font-size:22px}.invite-card>p{font-size:13px}label{display:block;font-size:12px;font-weight:600;margin-bottom:18px}input,select{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fcfdfb;color:var(--ink);margin-top:7px;font-size:13px}input[readonly]{font-size:13px;font-weight:400}.narrow{max-width:760px;margin:45px auto;padding:44px}.narrow h1{margin-top:25px}.narrow .actions{margin:24px 0}.test-shell{max-width:960px;margin:0 auto}.test-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}#saved{font-size:11px;color:var(--muted)}.progress-track{height:5px;background:#dce5dc;border-radius:5px;overflow:hidden;margin-bottom:32px}#progress{height:100%;width:0;background:var(--green);transition:width .2s}.welcome{padding:50px 60px}.welcome p{max-width:720px}.welcome h1{margin:20px 0 28px}.welcome .button{margin-top:15px}.question-card{padding:48px;min-height:410px}.question-card h1{font-size:clamp(24px,3vw,34px);letter-spacing:-.8px;min-height:110px;line-height:1.35}.answer-grid{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:15px;margin:32px 0}.answer{display:flex;justify-content:space-between;align-items:center;padding:22px;border:1px solid var(--line);background:#f8faf6;border-radius:11px;color:var(--ink)}.answer b{font-size:16px;font-weight:550}.answer span{font-size:11px;opacity:.5;border:1px solid var(--line);border-radius:4px;width:20px}.answer:hover,.answer.selected{background:var(--mint);border-color:var(--green)}.question-bottom{display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:11px}#finish-area{margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}.error{color:#a73c2b}.report-grid{display:grid;grid-template-columns:minmax(0,2.5fr) 1fr;gap:24px;align-items:stretch}.report-grid aside{font-size:13px;background:#e9f0e5}.report-grid aside h2{margin-top:25px}.chart-card{padding:26px}.chart-wrap{width:100%;overflow:auto}.chart-wrap svg{width:100%;min-width:540px;display:block}.band-high{fill:#e8f0e3}.band-good{fill:#edf6eb}.band-mid{fill:#fcfaf0}.band-low{fill:#f8efeb}.grid-line{stroke:#b7c6c0;stroke-width:.7;stroke-dasharray:3 5}.grid-line.vertical{stroke:#d8dfd9;stroke-dasharray:none}.axis-text{fill:#81938c;font-size:11px}.axis-label{fill:#355c50;font-size:14px;font-weight:650}.profile-line{fill:none;stroke:var(--green);stroke-width:3;stroke-linejoin:round}.profile-dot{fill:#fff;stroke:var(--green);stroke-width:3}.point-label{fill:#183e32;font-size:14px;font-weight:650;paint-order:stroke;stroke:#fff;stroke-width:4;stroke-linejoin:round}.scale-key{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;font-size:10px}.scale-key b{color:var(--green);margin-right:4px}.calculation{margin-top:24px;font-size:13px}.calculation summary{font-weight:600;cursor:pointer}.calculation p{margin-top:18px;max-width:1000px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line)}th{font-weight:600;color:var(--green)}.report-section{margin-top:48px}.report-section>.eyebrow{margin-bottom:10px}.report-section>h2{font-size:32px;margin-bottom:24px}.combination-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.combination{position:relative;padding:30px}.combination h3{max-width:85%;min-height:58px;margin-bottom:16px}.combination p{font-size:14px}.combination-num{position:absolute;top:30px;right:28px;color:#a3b6a9;font-size:20px}.prompt{border-top:1px solid var(--line);padding-top:14px;color:var(--green);font-style:italic;font-size:13px!important;margin:20px 0 0}.trait{margin-bottom:24px;scroll-margin-top:30px;padding:35px}.trait-head{display:flex;gap:18px;align-items:center;padding-bottom:23px;border-bottom:1px solid var(--line)}.scale-letter{background:#edf3e9;color:var(--green);display:grid;place-items:center;width:54px;height:58px;border-radius:10px;font-size:28px;flex-shrink:0}.trait-head h2{margin:0 0 4px}.trait-head p{font-size:12px;color:var(--muted);margin:0}.score-number{margin-left:auto;text-align:right;font-size:36px;line-height:1.2;color:var(--green);letter-spacing:-1px}.score-number span{display:block;font-size:10px;line-height:1.6;letter-spacing:0;white-space:nowrap;margin-top:4px;color:var(--muted)}.trait-summary{font-size:17px;line-height:1.7;margin:25px 0 16px;max-width:1050px}.trait-columns{display:grid;grid-template-columns:1fr 1fr;gap:50px;font-size:14px}.trait-columns ul{padding-left:20px}.trait-columns li{margin-bottom:10px}.closing{background:var(--mint);margin-top:32px}.closing p{max-width:1000px}.empty{padding:40px 0;color:var(--muted)}[hidden]{display:none!important}@media(max-width:1050px){.admin-grid{grid-template-columns:minmax(0,1fr) 300px}.test-row{align-items:start;flex-direction:column}.row-end{justify-content:start}.report-grid{grid-template-columns:1fr}.report-grid aside{display:none}.brand-sub{display:none}}@media(max-width:720px){.top{height:auto;min-height:76px;flex-wrap:wrap;padding:18px 6vw;gap:14px}nav{font-size:11px;gap:16px;flex-wrap:wrap}main{padding:30px 5vw 55px}.brand{font-size:23px}h1{letter-spacing:-1px}.page-title{align-items:start;flex-direction:column;gap:16px}.stats{grid-template-columns:1fr 1fr}.stats div{padding:19px 22px}.stats div:nth-child(2){border-right:0}.stats div:nth-child(-n+2){border-bottom:1px solid var(--line)}.stats b{font-size:28px}.admin-grid{grid-template-columns:1fr}.invite-card{order:-1}.card{padding:24px}.section-title{flex-wrap:wrap}.section-title input{width:100%}.login-intro{grid-template-columns:1fr;padding:25px 0;gap:35px}.login-intro h1{font-size:46px}.login-card{padding:30px}.narrow{margin:20px 0;padding:28px}.welcome{padding:30px}.question-card{padding:25px}.question-card h1{min-height:150px;font-size:26px}.answer-grid{gap:8px;grid-template-columns:1fr 1.2fr 1fr}.answer{padding:18px 10px;justify-content:center}.answer b{font-size:14px}.answer span{display:none}.scale-key{grid-template-columns:repeat(2,1fr);gap:8px}.chart-card{padding:18px 10px}.chart-card .section-title{padding:0 8px}.chart-card h2{font-size:21px}.combination-grid{grid-template-columns:1fr}.trait{padding:24px}.trait-head{gap:12px;flex-wrap:wrap}.trait-head h2{font-size:22px}.trait-head>div:nth-child(2){flex:1}.scale-letter{width:40px;height:46px;font-size:23px}.score-number{font-size:28px;display:flex;align-items:center;gap:15px;margin-left:52px;text-align:left}.score-number span{white-space:normal;margin:0}.trait-columns{grid-template-columns:1fr;gap:0}.trait-summary{font-size:16px}.report-section>h2{font-size:28px}footer{flex-direction:column;gap:8px}.lead{font-size:18px}}@media print{@page{size:A4;margin:14mm}body{background:white;font-size:10pt;line-height:1.5}.top,footer,.no-print{display:none}main{padding:0;max-width:none}h1{font-size:27pt}h2{font-size:17pt}.page-title{margin-bottom:20px}.card{border-radius:0;padding:17px;box-shadow:none}.report-grid{display:block}.report-grid aside{display:none}.chart-card{break-inside:avoid}.chart-wrap svg{width:100%;min-width:0}.scale-key{font-size:7pt}.report-section{margin-top:24px}.combination-grid{grid-template-columns:1fr 1fr;gap:12px}.combination{break-inside:avoid}.combination h3{font-size:13pt;min-height:0}.combination p{font-size:9pt}.combination-num{font-size:12pt;top:15px;right:15px}.trait{break-inside:avoid;margin-bottom:15px}.trait-head h2{font-size:17pt}.trait-summary{font-size:11pt}.trait-columns{font-size:9pt;gap:25px}.trait-head p{font-size:8pt}.score-number{font-size:25pt}.score-number span{font-size:7pt}.closing{break-inside:avoid}.band-high,.band-good,.band-mid,.band-low{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
/* Keep the large chart inside its own scroll area on narrow screens. */
.chart-card,.chart-wrap{min-width:0}.chart-scroll-hint{display:none}.chart-wrap{overscroll-behavior-x:contain}
@media(max-width:1050px){.report-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:720px){.chart-scroll-hint{display:block;font-size:10px;color:var(--muted);padding:0 8px;margin:8px 0 14px}.report-grid>.card{min-width:0}}
@media print{.chart-scroll-hint{display:none}}
