:root{
  color-scheme:light;--canvas:#f8fbfc;--panel:#fff;--line:#d4e0e6;--ink:#142c3d;--muted:#476072;--soft:#577180;--primary:#126b70;--primary-hover:#0e555a;--on-primary:#fff;--focus:#236773;--error:#9b2c36;--radius:12px;--mono:ui-monospace,"SFMono-Regular",Consolas,monospace;--font:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
*{box-sizing:border-box}
html{min-width:280px;scroll-behavior:smooth}
body{min-height:100vh;margin:0;background:var(--canvas);color:var(--ink);font:16px/1.55 var(--font)}
main{min-height:calc(100vh - 164px)}
button,input{font:inherit;color:inherit}
button,a,input{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-underline-offset:4px}
img,svg{display:block;max-width:100%}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
:focus:not(:focus-visible){outline:none}
[tabindex="-1"]:focus{outline:none}
.shell{width:min(100% - 40px,1096px);margin-inline:auto}
.site-header{border-bottom:1px solid #dce5e9}
.header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.wordmark{font-size:15px;font-weight:760;letter-spacing:-.025em;display:inline-flex;align-items:center;gap:10px;text-decoration:none;white-space:nowrap}
.wordmark-light{font-weight:520;color:#365466}
.header-inner nav a,.site-footer>a:last-child{color:var(--muted);font-size:14px;text-decoration:none;font-weight:620;display:inline-flex;gap:8px;align-items:center;min-height:44px;padding-inline:4px}
.header-inner nav a:hover,.site-footer>a:last-child:hover{color:var(--ink)}
.header-inner nav a span{color:var(--primary)}
.site-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 24px;border-top:1px solid #d6e2e8;padding-block:22px 26px;color:var(--soft);font-size:13px}
.site-footer p{margin:0}.site-footer .wordmark{color:var(--ink);font-size:13px}
.skip-link{position:fixed;left:12px;top:12px;transform:translateY(-140%);z-index:3;background:var(--primary);color:var(--on-primary);padding:8px 14px;border-radius:6px}.skip-link:focus{transform:none}
.eyebrow{margin:0 0 14px;color:var(--primary);font:700 11px/1.35 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.eyebrow i,.pill i{display:inline-block;margin:0 7px 1px 0;width:7px;height:7px;background:currentColor;border-radius:50%}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{line-height:1.13;letter-spacing:-.035em}
h1{font-size:clamp(2.25rem,6vw,4.1rem);margin-bottom:18px;font-weight:760}
h2{font-size:clamp(1.5rem,4vw,2.6rem);margin-bottom:10px}
h3{font-size:1.16rem;margin-bottom:7px}
.lede{font-size:clamp(1rem,2.2vw,1.125rem);color:var(--muted);max-width:52ch;margin-bottom:24px;line-height:1.62}
.hero{margin-top:32px;position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;min-height:450px;gap:0;padding:clamp(28px,5vw,62px);border:1px solid #cddfe2;border-radius:18px;background:linear-gradient(115deg,#fff 12%,#f2f8fa 57%,#e1eff1 100%)}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.7;background-image:linear-gradient(90deg,#6c9da619 1px,transparent 1px),linear-gradient(#6c9da619 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(90deg,transparent 42%,black 97%)}
.hero-copy{position:relative;z-index:1}.hero h1{max-width:9.5ch;line-height:1.02}.hero h1 em{font-style:normal;color:var(--focus)}
.hero-art{position:relative;min-width:0;align-self:center}.hero-art img{width:114%;max-width:114%;margin-left:-5%}
.hero-code{color:#3e6572;font:10px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.14em;text-align:center;display:block;margin:-13px 0 0}
.hero-actions{display:flex;align-items:center;gap:13px 16px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.7em;min-height:49px;border-radius:8px;padding:10px 18px;border:1px solid transparent;background:transparent;text-decoration:none;font-size:15px;font-weight:740;letter-spacing:-.015em}
.btn-primary{background:var(--primary);color:var(--on-primary);box-shadow:0 1px 2px #152e4026}
.btn-primary:hover{background:var(--primary-hover)}
.btn-primary:disabled{opacity:.53;cursor:default}
.btn-secondary{border-color:var(--line);background:#fff;color:var(--ink)}.btn-secondary:hover{background:#eff6f8}
.btn-link{color:var(--muted);box-shadow:none;padding-inline:0;min-height:44px}.btn-link:hover{color:var(--ink)}
.hero-note{display:inline-flex;gap:7px;align-items:center;color:var(--muted);font-size:13px}
.section{padding-block:48px 56px}.section-heading{display:flex;flex-wrap:wrap;gap:16px 28px;justify-content:space-between;align-items:end;margin-bottom:22px}
.section-heading p:last-child{color:var(--muted);margin-bottom:0;max-width:42ch}
.catalog{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.test-card{border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:19px;display:flex;flex-direction:column;position:relative;min-height:216px}
.test-card.live{border-color:#84acae;background:#f1f8f8}
.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:9px;margin-bottom:16px}
.card-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:8px;background:#edf3f6;color:var(--focus);flex:none}.live .card-icon{background:#d9ecee;color:var(--primary)}
.card-icon svg,.mini-icon svg{width:19px;height:19px}
.pill{border:1px solid #d2e1e7;border-radius:100px;padding:4px 8px;font:650 10px/1.35 var(--mono);white-space:nowrap;color:#476072}
.pill.available{border-color:#a8c8c9;color:var(--primary);background:#edf8f8}.pill i{width:5px;height:5px;margin-right:5px}
.test-card p{margin-bottom:13px;color:var(--muted);font-size:.88rem;line-height:1.5}
.test-card a{color:var(--primary);margin-top:auto;font-weight:700;text-decoration:none;min-height:35px;display:flex;align-items:end;gap:6px}
.test-card a:hover{text-decoration:underline}.test-card a::after{position:absolute;inset:0;content:"";border-radius:inherit}
.method{border:1px solid #d4e2e9;border-radius:10px;background:#eef4f7;margin-top:24px;padding:13px 15px;color:var(--muted);font-size:.9rem;display:flex;align-items:flex-start;gap:12px}.method p{margin:0;max-width:72ch}.method strong{color:var(--ink)}
.mini-icon{width:26px;height:26px;color:var(--focus);flex:none;display:grid;place-items:center}
.flow{width:min(100% - 40px,690px);margin:0 auto;padding-block:40px 60px}
.flow.flow-wide{width:min(100% - 40px,860px)}
.flow h1{font-size:clamp(1.75rem,5.5vw,2.95rem);margin-bottom:12px}
.flow h2{font-size:clamp(1.3rem,4vw,1.8rem);margin-bottom:9px}
.flow h3{font-size:1.05rem}
.surface{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(17px,5vw,33px)}
.surface + .surface{margin-top:14px}
.flow-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.flow-top .eyebrow{margin:0}
.stepno{font:640 12px/1.3 var(--mono);color:var(--ink)}
progress{appearance:none;display:block;width:100%;height:6px;border:0;border-radius:100px;background:#dce9ee;margin-bottom:18px;overflow:hidden}
progress::-webkit-progress-bar{background:#dce9ee;border-radius:100px}
progress::-webkit-progress-value{background:var(--primary);border-radius:100px}
progress::-moz-progress-bar{background:var(--primary);border-radius:100px}
.item-title{font-size:clamp(1.35rem,3.8vw,2.04rem)!important;line-height:1.26;overflow-wrap:anywhere;white-space:pre-line}
.stimulus{background:#edf5f7;color:#284c5d;border:1px solid #d3e3e9;border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere;font:650 clamp(1rem,3vw,1.32rem)/1.6 var(--mono);letter-spacing:.02em;padding:13px 16px;margin:15px 0}
.answer-list{padding:0;border:0;min-width:0;margin:18px 0}
.answer-row{display:flex;align-items:center;gap:12px;position:relative;color:var(--ink);border:1px solid #b2c6cf;border-radius:8px;margin-bottom:8px;padding:9px 12px;min-height:50px;background:#fff;cursor:pointer}
.answer-row:last-child{margin-bottom:0}.answer-row:hover{background:#f3f8fa}.answer-row:has(:checked){background:#eaf6f6;border-color:var(--primary)}.answer-row:has(:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
.answer-row input{position:absolute;opacity:0;pointer-events:none}.answer-row>span:last-child{white-space:pre-wrap;overflow-wrap:anywhere}
.answer-letter{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;background:#e9f1f5;color:#36586a;font:700 12px/1 var(--mono);flex:none}
.answer-row:has(:checked) .answer-letter{color:var(--on-primary);background:var(--primary)}
.quiz-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.quiz-actions .btn-primary{min-width:146px}
.annotation{font-size:13px;color:var(--muted);margin:12px 0 0}
.form-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:12px;margin:19px 0}
.field{display:grid;gap:5px;font-weight:650;font-size:14px;min-width:0}
.field input{background:#fff;border:1px solid #9eb6c3;border-radius:8px;padding:11px 12px;min-height:47px;min-width:0;width:100%;font-size:16px}
.field input::placeholder{color:#627a89}
.check{display:flex;align-items:flex-start;gap:10px;margin:0 0 13px;color:var(--muted);font-size:14px}
.check input{accent-color:var(--primary);height:18px;width:18px;flex:none;margin:3px 0 0}
.check button{background:none;border:0;padding:0;color:var(--focus);text-decoration:underline;text-underline-offset:3px}
.form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:11px;margin-top:20px}
.error{color:var(--error);font-weight:640;margin:10px 0 0;font-size:.9rem}
dialog{border:1px solid var(--line);border-radius:17px;background:var(--panel);color:var(--ink);padding:24px;width:min(100% - 30px,550px);max-height:90vh}
dialog::backdrop{background:#172d40a6}dialog h2{font-size:1.45rem}dialog p{color:var(--muted)}
.report-lead{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.report-lead .lede{margin-bottom:0}
.stat-grid,.domain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}
.stat,.domain-stat{padding:14px;background:#f2f7f9;border:1px solid #d7e4ea;border-radius:8px}
.stat strong,.domain-stat strong{display:block;font-size:1.17rem;color:var(--primary);overflow-wrap:anywhere}
.stat span,.domain-stat p{display:block;color:var(--muted);font-size:13px;margin:4px 0 0}
.domain-stat h3{margin:0 0 6px;line-height:1.2}
.report-block p:last-child{margin-bottom:0}.report-block>p{color:var(--muted)}
.review{margin:12px 0 0;padding:0;list-style:none}
.review details{border-top:1px solid #d7e4ea;padding:8px 0}
.review summary{cursor:pointer;font-size:.95rem;font-weight:680;color:var(--ink);padding-block:7px;overflow-wrap:anywhere}
.review summary::marker{color:var(--focus)}
.review details>div{padding:8px 0 0 17px;color:var(--muted);overflow-wrap:anywhere}
.review p{margin:0 0 6px}.good{color:var(--primary)}.miss{color:var(--error)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.noscript{padding:30px 0}
@media(max-width:1000px){.catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.test-card{min-height:184px}}
@media(max-width:680px){.hero{grid-template-columns:1fr;margin-top:19px;padding:27px 20px 14px;min-height:0;border-radius:14px}.hero h1{font-size:clamp(2.6rem,10vw,4rem)}.hero .lede{margin-bottom:19px}.hero-art{margin:-15px auto -5px;width:min(100%,300px)}.hero-art img{width:100%;max-width:100%;margin:0}.hero-code{margin-top:-30px}.hero .eyebrow{margin-bottom:12px}.section{padding-block:32px 38px}.header-inner{min-height:64px}.flow{padding-block:24px 40px}.site-footer{padding-block:13px}.site-footer p{order:3;width:100%}}
@media(max-width:450px){.catalog{grid-template-columns:1fr;gap:9px}.test-card{min-height:0;padding:14px}.card-top{margin-bottom:10px}.test-card p{margin-bottom:6px}.test-card a{min-height:32px}.form-grid,.domain-grid{grid-template-columns:1fr}.stat{padding:8px}.stat strong{font-size:1rem}.stat span{font-size:12px}.quiz-actions .btn-primary{min-width:127px}.shell,.flow,.flow.flow-wide{width:calc(100% - 30px)}}
@media(max-width:320px){.wordmark{gap:6px;font-size:13px}.header-inner nav a{font-size:12px}.quiz-actions .btn-primary{min-width:100px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{*{color:#15151b!important;background:transparent!important;box-shadow:none!important}body{font-size:11pt}.site-header,.site-footer,.skip-link,.no-print{display:none!important}.flow,.flow.flow-wide{padding:0;width:100%}.surface{border-color:#bcbcbc;padding:12px;break-inside:avoid}.review details{break-inside:avoid}.review details:not([open])>*:not(summary){display:block}.report-block:has(.review){break-inside:auto}}
.privacy-link{border:0;background:none;padding:4px;color:var(--focus);text-decoration:underline;text-underline-offset:3px}
.path-label{font-size:.9rem;margin:0 0 8px}.path-label span{font-size:.8rem;color:var(--soft);margin-left:8px}
.difficulty-path{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:4px}
.difficulty-path li{font:700 .78rem/1.35 var(--mono);color:#1d404f;text-align:center;border-radius:5px;padding:5px 1px;background:#d9e9ed}
.difficulty-path [data-level="1"]{background:#e6eef3}.difficulty-path [data-level="2"]{background:#d9e8ef}.difficulty-path [data-level="3"]{background:#c5dce6}.difficulty-path [data-level="4"]{background:#afd0da}.difficulty-path [data-level="5"]{background:#8dbbc6}
@media(max-width:340px){.difficulty-path{gap:2px}.difficulty-path li{font-size:.68rem}}

/* Quiet clinical editorial treatment: structure and spacing over decoration. */
.site-header{background:#fff}
.header-inner{min-height:70px}
.wordmark{letter-spacing:-.027em;font-size:16px}
.wordmark-light{font-weight:600}
.hero{min-height:423px;grid-template-columns:1.18fr .82fr;gap:20px}
.hero h1{max-width:12ch;font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.047em;font-size:clamp(2.9rem,5vw,4.75rem);line-height:1.04}
.hero h1 em{font-style:normal;color:#226672}
.hero-art img{width:100%;max-width:100%;margin:0}
.hero-code{margin-top:6px;text-align:left;padding-left:15px}
.hero-note{font-weight:550}
.section-heading h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.032em}
.surface{box-shadow:0 1px 3px #1738490c}
.flow:not(.flow-wide) .surface{max-width:100%}
.flow h1{letter-spacing:-.035em;font-weight:700}
.pill{border-radius:6px}
.check{min-height:32px}.check input{accent-color:var(--primary)}
.snapshot-metrics{display:grid;grid-template-columns:1.25fr .75fr;gap:8px 18px;margin:16px 0 18px}
.session-result{background:#e9f5f5;border:1px solid #bedadd;border-radius:11px;padding:17px 20px;color:#164e55}
.session-result small,.session-result p{display:block;font-size:.88rem;color:#375968;font-weight:650;margin:0}
.session-result strong{display:block;font-variant-numeric:tabular-nums;font-size:clamp(2.6rem,9vw,4.75rem);font-weight:700;letter-spacing:-.065em;line-height:1.02;margin:3px 0 6px}
.session-result strong span{font-size:.56em;letter-spacing:-.055em;color:#476c76}
.session-result .eyebrow{font-size:10px;color:#285f65;letter-spacing:.11em}
.snapshot-support{display:grid;gap:8px;grid-template-columns:1fr}
.snapshot-support .stat{display:flex;flex-direction:column;justify-content:center}
.snapshot-note{border-top:1px solid var(--line);padding-top:12px;font-size:.9rem}
@media(max-width:680px){
  .header-inner{min-height:62px}
  .hero{grid-template-columns:1fr;gap:10px;padding:24px 20px 17px;min-height:0}
  .hero h1{font-size:clamp(2.5rem,10.5vw,3.6rem)}
  .hero-art{margin:4px auto 0;width:min(100%,350px)}
  .hero-art img{max-height:204px;object-fit:contain}
  .hero-code{text-align:center;margin:6px 0 0;padding:0}
}
@media(max-width:420px){
  .snapshot-metrics{grid-template-columns:1fr}
  .snapshot-support{grid-template-columns:repeat(2,minmax(0,1fr))}
  .session-result{padding:14px 16px}
}
