:root{--ink:#1e2340;--muted:#656c83;--line:#dfe2ec;--purple:#4f46e5;--purple-dark:#3730a3;--tint:#eef0ff;--paper:#f7f8fc;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.55}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--purple);text-underline-offset:4px}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #7770f3;outline-offset:4px}[hidden]{display:none!important}.site-header,main,footer{max-width:1260px;margin:auto;padding-left:40px;padding-right:40px}.site-header{height:104px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{font-size:28px;letter-spacing:-2px;display:flex;align-items:center;gap:0;color:var(--ink);font-weight:750;text-decoration:none}.brand>span:first-child{color:var(--purple)}.brand .brand-name{font-size:10px;line-height:1.3;letter-spacing:1.2px;font-weight:600;border-left:1px solid var(--line);padding-left:14px;margin-left:16px}nav{display:flex;gap:30px}nav a{font-size:14px;color:var(--muted);text-decoration:none}nav a:hover{color:var(--purple)}.intro{display:flex;justify-content:space-between;align-items:flex-end;padding:40px 0 32px;gap:24px}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:650;margin:0 0 12px;color:var(--muted)}h1{font-size:42px;line-height:1.2;letter-spacing:-1.7px;font-weight:650;margin:0 0 12px}h1 span{color:var(--purple)}.intro p:last-child{margin:0;font-size:17px}.intro-note{font-size:14px;line-height:1.75;color:var(--muted);padding-bottom:5px}.intro-note b{color:var(--ink);font-weight:500}.muted{color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);border:1px solid var(--line);border-radius:20px;overflow:hidden;background:white;box-shadow:0 14px 55px #20204005}.settings{padding:30px 34px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.section-top h2{font-size:21px;letter-spacing:-.5px;margin:0}.tag{font-size:10px;font-weight:600;letter-spacing:1.1px;border:1px solid var(--line);padding:5px 8px;border-radius:5px;white-space:nowrap}.section-top .eyebrow{margin:0;font-size:10px}fieldset{padding:0 0 23px;margin:0 0 21px;border:0;border-bottom:1px solid var(--line);min-width:0}fieldset:last-of-type{margin:0 0 23px}legend{font-weight:600;font-size:15px;padding:0;margin-bottom:16px;display:flex;align-items:center;gap:10px}.step{font-size:11px;letter-spacing:.5px;color:var(--purple);background:var(--tint);width:25px;height:25px;display:inline-grid;place-items:center;border-radius:50%}.segmented{display:grid;gap:4px;background:#f2f3f8;border-radius:10px;padding:4px;margin-bottom:16px}.segmented.two{grid-template-columns:1fr 1fr}.segmented.three{grid-template-columns:repeat(3,1fr)}.segmented label{position:relative;display:block}.segmented input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.segmented span{display:flex;align-items:center;justify-content:center;min-height:40px;font-size:13px;line-height:1.3;text-align:center;padding:7px 5px;border-radius:7px;color:var(--muted)}.segmented input:checked+span{background:#fff;color:var(--purple-dark);box-shadow:0 1px 5px #20204014;font-weight:650}.segmented input:focus-visible+span{outline:2px solid var(--purple)}.field{display:flex;flex-direction:column;gap:7px}.field label,.range-heading label{font-size:14px;font-weight:500}.inline-field{flex-direction:row;align-items:center;justify-content:space-between;gap:16px}.field input,.field select{color:var(--ink);background:white;border:1px solid var(--line);border-radius:8px;min-height:42px;padding:8px 12px;width:100%}.inline-field input{width:82px;text-align:center}.inline-field select{width:auto;max-width:52%;font-size:14px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.hint{font-size:12px;color:var(--muted);line-height:1.65;margin:10px 0 0}.range-heading{display:flex;align-items:center;justify-content:space-between;margin-top:16px}.range-heading output{font-size:15px;font-weight:650;color:var(--purple);font-variant-numeric:tabular-nums}input[type=range]{width:100%;accent-color:var(--purple);margin:15px 0 1px;cursor:pointer}.range-ends{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.launch{display:flex;justify-content:space-between;gap:18px;align-items:center}.launch .hint{display:block;font-size:11px;margin:0 0 4px}.launch strong{font-size:22px;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.primary,.secondary{border-radius:10px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:12px 20px;font-size:14px;font-weight:600;transition:background .15s}.primary{border:1px solid var(--purple);background:var(--purple);color:white}.primary:hover:not(:disabled){background:var(--purple-dark)}.secondary{border:1px solid var(--line);background:white;color:var(--ink)}.secondary:hover{background:var(--tint)}#load-status:empty{display:none}.preview-panel{background:#f4f5fb;padding:30px 32px;border-left:1px solid var(--line)}.example{display:flex;align-items:center;justify-content:center;gap:19px;margin:27px auto}.example-face{width:36%;text-align:center}.face{background-image:url('assets/faces.png');background-size:600% 300%;background-position:calc(var(--col)*20%) calc(var(--row)*50%);background-repeat:no-repeat;aspect-ratio:3/4;border-radius:11px;background-color:#d4d4d4}.example-face:first-child .face{filter:saturate(.75)}.example-face span{font-size:11px;color:var(--muted);display:block;margin-top:10px}.comparison{font-size:30px;color:var(--purple);font-weight:300;margin-top:-24px}.preview-panel h2{font-size:30px;line-height:1.2;letter-spacing:-.9px;margin:24px 0 15px;font-weight:600}.preview-panel>p{color:var(--muted);font-size:14px}.preview-panel p b{font-weight:600;color:var(--ink)}kbd{border:1px solid #d9dce9;border-bottom-width:3px;border-radius:5px;padding:1px 6px;font-size:11px;background:white;font-family:inherit;color:var(--ink);white-space:nowrap}.example-sequence{display:flex;gap:7px;margin:23px 0 15px}.example-sequence>span{flex:1;text-align:center;background:#e9ebf3;border:1px solid transparent;font-size:12px;padding:10px 5px;border-radius:8px;color:var(--muted)}.example-sequence .active{background:#e8e6ff;border-color:#c6c3ff;color:var(--purple-dark)}.example-sequence b{margin-left:8px}details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:24px;padding:15px 0}summary{cursor:pointer;font-size:13px;font-weight:600;list-style:none;display:flex;justify-content:space-between}summary::-webkit-details-marker{display:none}summary span{font-size:18px;font-weight:400;color:var(--muted)}.emotion-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 10px;margin-top:20px}.emotion-tile{min-width:0;text-align:center}.emotion-tile .face{border-radius:6px}.emotion-tile span{font-size:10px;line-height:1.2;display:block;margin-top:6px}.research-dose{margin-top:25px}.research-dose .eyebrow{font-size:10px}.research-dose>div{display:flex;align-items:baseline;gap:12px}.research-dose strong{font-size:40px;line-height:1.2;font-weight:500;letter-spacing:-1.5px;color:var(--purple)}.research-dose>div span{color:var(--muted);font-size:12px}.research-dose p{font-size:13px;margin:9px 0 13px}.text-button{background:none;border:0;padding:0;color:var(--purple);font-size:13px;font-weight:600;min-height:32px;text-align:left}.text-button:hover{text-decoration:underline;text-underline-offset:4px}.small-link{display:block;font-size:11px;margin-top:7px;color:var(--muted)}.evidence{padding:70px 0 25px;display:grid;grid-template-columns:1fr 1.8fr;gap:40px}.evidence-heading h2{font-size:30px;line-height:1.25;letter-spacing:-.7px;margin:0 0 15px}.evidence-heading>p:last-child{font-size:14px;color:var(--muted);max-width:270px}.evidence-list article{display:grid;grid-template-columns:65px 1fr;gap:15px;padding:0 0 25px;margin-bottom:26px;border-bottom:1px solid var(--line)}.study-year{font-size:11px;letter-spacing:.6px;font-weight:600;color:var(--purple);padding-top:4px;overflow-wrap:anywhere}.evidence h3{font-size:17px;line-height:1.45;margin:0 0 10px;font-weight:600}.evidence-list p{font-size:14px;color:var(--muted);margin:0 0 12px}.evidence-list a{font-size:12px}.evidence-list p.dose-line{background:var(--tint);border-left:2px solid #b5b0f9;padding:12px 15px;margin:16px 0 0;font-size:13px;color:var(--ink)}.protocol-note{grid-column:1/-1;border:1px solid var(--line);border-radius:13px;background:#fff;padding:26px 30px}.protocol-note p{font-size:14px;color:var(--muted);margin:12px 0 0}.protocol-note p.hint{font-size:12px}.protocol-note b{color:var(--ink);font-weight:600}footer{margin-top:25px;padding-top:25px;padding-bottom:30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}footer a{color:var(--muted);text-decoration:none}.play{background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px 32px}.play-top{display:flex;align-items:center;gap:25px}.play-top>div:first-child{flex:1}.play-top .eyebrow{font-size:11px;margin:0 0 4px}.play-top h2{font-size:28px;line-height:1.1;margin:0;color:var(--purple)}.time-info{display:flex;flex-direction:column;text-align:right}.time-info span{font-size:11px;color:var(--muted)}.time-info strong{font-size:23px;font-weight:500;font-variant-numeric:tabular-nums}.progress-track{height:3px;background:#eceef5;margin:22px 0 0;border-radius:2px;overflow:hidden}#progress{height:100%;background:var(--purple);width:0;transition:width .2s}.play-center{text-align:center;padding:20px 0}.trial-label{font-size:13px;min-height:24px;margin-bottom:12px;color:var(--muted)}.stimulus-wrap{width:min(270px,70vw);height:360px;max-height:calc(70vw * 4 / 3);margin:auto;position:relative;background:#f4f5f9;border-radius:13px;overflow:hidden}.stimulus{width:100%;height:100%;border-radius:13px}.fixation{font-size:58px;font-weight:200;position:absolute;inset:0;display:grid;place-items:center;color:var(--muted)}.match-rule{font-size:18px;margin:20px 0 0}.response-status{font-size:13px;height:22px;margin:7px 0 15px;color:var(--purple)}.play-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.match{min-width:250px;font-size:16px}.match kbd{background:#ffffff14;color:white;border-color:#ffffff55;font-size:11px}.play-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:17px;font-size:12px;color:var(--muted)}.paused-overlay{position:absolute;inset:0;background:#f4f5f9;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.paused-overlay>span{font-size:25px;font-weight:600}.paused-overlay p{font-size:13px;color:var(--muted)}.results{border:1px solid var(--line);background:white;border-radius:18px;padding:35px}.score-line{display:flex;align-items:center;gap:35px;margin:22px 0 35px}.score strong{font-size:95px;font-weight:500;line-height:1;letter-spacing:-5px;color:var(--purple)}.score>span{font-size:22px;color:var(--muted);margin-left:10px}.score-line h2{margin:0;font-size:24px}.score-line p{font-size:14px;color:var(--muted);margin-bottom:0}.result-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.result-stats>div{border:1px solid var(--line);border-radius:10px;padding:19px}.result-stats strong{display:block;font-size:27px;font-weight:500}.result-stats span{font-size:12px;color:var(--muted)}.result-detail{display:flex;flex-wrap:wrap;gap:15px 30px;margin-top:24px;padding-bottom:22px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}.result-detail b{color:var(--ink)}.result-actions{margin-top:25px;display:flex;gap:12px}body.session-active .intro{padding:24px 0}body.session-active .intro h1{font-size:30px}body.session-active .intro-note,body.session-active .intro .eyebrow,body.session-active .evidence,body.session-active footer{display:none}body.session-active .site-header{height:75px}
@media(min-width:1400px){.workspace{grid-template-columns:1.1fr 1fr}.settings{padding:32px 38px}.preview-panel{padding:32px 40px}}
@media(max-width:950px){.site-header,main,footer{padding-left:24px;padding-right:24px}.intro-note{display:none}.settings,.preview-panel{padding:24px}.segmented.three span{font-size:11px}.launch{align-items:stretch;flex-direction:column}.launch>div{display:flex;gap:12px;align-items:baseline;justify-content:space-between}.launch strong{font-size:19px}.tag{font-size:9px}.section-top{gap:8px}.example{gap:12px}.evidence{grid-template-columns:1fr 2fr;gap:25px}.evidence-heading h2{font-size:26px}}
@media(max-width:700px){.site-header,main,footer{padding-left:18px;padding-right:18px}.site-header{height:78px}.brand{font-size:25px}.brand .brand-name{font-size:8px;letter-spacing:.8px;margin-left:10px;padding-left:10px}nav{gap:17px}nav a{font-size:11px}.intro{padding:28px 0 24px}h1{font-size:32px;letter-spacing:-1px}.intro .eyebrow{font-size:10px}.intro p:last-child{font-size:14px}.workspace{grid-template-columns:1fr;border-radius:14px}.settings{padding:23px 21px}.preview-panel{border-left:0;border-top:1px solid var(--line);padding:25px}.launch{flex-direction:column}.launch .hint{font-size:10px}.launch strong{font-size:21px}.segmented.three span{font-size:12px}.preview-panel .example{max-width:320px}.preview-panel h2{font-size:29px}.research-dose{padding-top:0}.evidence{padding-top:45px;display:block}.evidence-heading{margin-bottom:30px}.evidence-heading>p:last-child{max-width:100%}.evidence-list article{grid-template-columns:50px 1fr;gap:10px}.protocol-note{padding:23px}.evidence-list a{font-size:12px;overflow-wrap:anywhere}footer{flex-direction:column;gap:8px}.play{padding:20px 16px}.play-top{gap:13px}.play-top .secondary{padding:9px 13px;min-height:40px}.time-info strong{font-size:21px}.time-info span{font-size:10px}.play-top h2{font-size:25px}.stimulus-wrap{width:225px;height:300px}.play-center{padding-top:15px}.match-rule{font-size:16px}.play-actions>*{width:100%;min-height:48px}.results{padding:26px 21px}.score-line{display:block;margin:25px 0}.score-line h2{margin-top:15px;font-size:22px}.score strong{font-size:82px}.result-stats{grid-template-columns:1fr 1fr}.result-stats>div{padding:16px}.result-stats strong{font-size:25px}.result-actions{flex-wrap:wrap}.result-actions>*{flex:1;white-space:nowrap}.play-footer .text-button{font-size:11px}body.session-active .intro h1{font-size:24px}body.session-active .intro p:last-child{font-size:12px}body.session-active .intro{padding:20px 0}.play .hint{font-size:11px}}
@media(max-width:700px){body.session-active .site-header{height:60px}body.session-active .intro{padding:14px 0}body.session-active .intro p:last-child{display:none}.play .stimulus-wrap{width:clamp(135px,25svh,225px);height:auto;aspect-ratio:3/4;max-height:none}.play-center{padding:12px 0}.play .trial-label{margin-bottom:8px}.play .match-rule{margin-top:12px}.play .response-status{margin:4px 0 9px}}
@media(max-width:700px) and (max-height:720px){body.session-active .site-header{height:50px}body.session-active .intro{padding:10px 0}body.session-active .intro h1{font-size:22px}.play .stimulus-wrap{width:135px}.play{padding-top:16px}.play .progress-track{margin-top:15px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Additional positive expressions and optional single-flash response feedback. */
.face.positive-extra{background-image:url('assets/positive-extra.png');background-size:200% 300%;background-position:calc(var(--col)*100%) calc(var(--row)*50%)}
.feedback-setting{margin:0 0 25px;padding:15px 16px;background:var(--paper);border:1px solid var(--line);border-radius:10px}.feedback-toggle{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;cursor:pointer}.feedback-toggle input{width:18px;height:18px;margin:0;accent-color:var(--purple);flex-shrink:0}.feedback-setting .hint{margin-top:7px}
.stimulus-wrap[data-feedback]::after{content:"";position:absolute;inset:0;border:7px solid var(--feedback-color);border-radius:inherit;box-shadow:inset 0 0 18px var(--feedback-color);pointer-events:none;z-index:2;animation:answer-flash .65s ease-out both}
[data-feedback="correct"]{--feedback-color:#159447}.response-status[data-feedback="correct"]{color:#15733d}
[data-feedback="incorrect"]{--feedback-color:#e03144}.response-status[data-feedback="incorrect"]{color:#c32437}
@keyframes answer-flash{0%,55%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.stimulus-wrap[data-feedback]::after{animation:none}}
