*{box-sizing:border-box}
:root{
 --bg:#0c0c0c;--panel:#151515;--panel2:#111;--line:#383838;--line2:#555;
 --text:#f2eee7;--muted:#aaa49a;--ok:#80b98c;--warn:#d7aa5c;--stop:#d06d6d;
}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}
body{min-height:100vh}
button,input{font:inherit}
button{cursor:pointer}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;background:white;color:black;padding:.6rem;z-index:30}
header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:1.5rem 2rem;border-bottom:1px solid var(--line)}
h1{font-size:clamp(1.8rem,3vw,3.1rem);max-width:1100px;margin:.15rem 0}
h2{margin:.25rem 0 1rem}
h3{margin:.3rem 0 .65rem}
p{line-height:1.45}
.eyebrow{font-size:.72rem;letter-spacing:.14em;color:var(--muted);margin:0 0 .45rem}
.runtime{font-size:.75rem;color:var(--ok);white-space:nowrap}
.dot{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:var(--ok);margin-right:.35rem}
main{padding:1.5rem 2rem}
.intro{max-width:1100px}
.lead{font-size:1.45rem;font-weight:700;margin-bottom:.4rem}
.privacy-banner{border:1px solid var(--line2);padding:1rem 1.2rem;display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;margin:1.3rem 0;background:#101010}
.privacy-banner p{margin:.2rem 0;color:var(--muted)}
.research-locked{border-left:1px solid var(--line);padding-left:1.2rem;text-align:right;display:grid;gap:.15rem}
.research-locked span,.research-locked small{color:var(--muted);font-size:.72rem}
.research-locked strong{color:var(--stop)}
#state-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.4rem 0}
#state-tabs button{background:transparent;color:var(--text);border:1px solid var(--line);padding:.7rem .9rem;min-height:44px}
#state-tabs button.active{background:var(--text);color:var(--bg)}
.workspace{display:grid;grid-template-columns:.8fr 1.5fr 1fr;gap:1rem;align-items:start}
.card{border:1px solid var(--line);background:var(--panel);padding:1.15rem}
.state-card{position:sticky;top:1rem}
.outcome-card{position:sticky;top:1rem}
dl div{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;border-bottom:1px solid var(--line);padding:.45rem 0}
dt{font-size:.76rem;color:var(--muted)}
dd{margin:0;text-align:right;font-weight:700}
.secondary{background:transparent;color:var(--text);border:1px solid var(--line);padding:.65rem .85rem;min-height:44px}
button:not(.secondary){background:var(--text);color:var(--bg);border:1px solid var(--text);padding:.65rem .85rem;min-height:44px}
.state-question{border-top:1px solid var(--line);margin-top:1.1rem;padding-top:1rem;color:var(--muted)}
.instrument-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}
.step-count{font-size:.8rem;color:var(--muted);padding-top:.3rem}
.dimension-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin:1rem 0}
.dimension-strip span{padding:.5rem;text-align:center;font-size:.67rem;letter-spacing:.1em;color:var(--muted);border-right:1px solid var(--line)}
.dimension-strip span:last-child{border-right:0}
.question-panel{min-height:460px;border:1px solid var(--line);background:var(--panel2);padding:1.25rem}
.question-kicker{font-size:.73rem;letter-spacing:.12em;color:var(--warn)}
.question-title{font-size:1.55rem;max-width:850px}
.question-help{color:var(--muted);margin-bottom:1.2rem}
.options{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}
.option{display:flex;gap:.65rem;align-items:flex-start;border:1px solid var(--line);padding:.8rem;background:#0d0d0d;min-height:64px}
.option:hover{border-color:#777}
.option input{margin-top:.18rem}
.option label{cursor:pointer;line-height:1.3}
.nav-buttons{display:flex;justify-content:space-between;gap:.75rem;margin-top:1rem}
.basket-summary{display:grid;gap:.65rem}
.basket-item{border-bottom:1px solid var(--line);padding-bottom:.55rem}
.basket-item small{display:block;color:var(--muted);font-size:.72rem;margin-bottom:.15rem}
.basket-item strong{font-size:.9rem}
.empty{color:var(--muted);font-style:italic}
#basket-result{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem;min-height:5rem}
.ok{color:var(--ok)}.warn{color:var(--warn)}.stop{color:var(--stop)}
.buttons{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}
.buttons button:disabled,.modal-actions button:disabled{opacity:.35;cursor:not-allowed}
.delivery-status{min-height:1.4rem;color:var(--muted);font-size:.82rem;line-height:1.4}
.delivery-status.success{color:var(--ok)}
.delivery-status.warning{color:var(--warn)}
.delivery-status.error{color:var(--stop)}
.callouts{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}
.callouts article{border-right:1px solid var(--line);padding-right:1rem}
.callouts article:last-child{border-right:0}
.lineage{margin-top:1rem}
#lineage-strip .chain{display:flex;align-items:stretch;gap:.5rem;flex-wrap:wrap}
.node{border:1px solid var(--line);padding:.8rem 1rem;min-width:170px;background:#111}
.arrow{display:grid;place-items:center;color:var(--muted)}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.84);display:grid;place-items:center;padding:2rem;z-index:20}
.modal[hidden]{display:none}
.modal-card{width:min(920px,96vw);max-height:86vh;overflow:auto;background:#111;border:1px solid var(--line);padding:1rem}
.modal-head{display:flex;justify-content:space-between;align-items:center}
.modal pre{white-space:pre-wrap;word-break:break-word;background:#090909;border:1px solid var(--line);padding:1rem}
.email-card{width:min(680px,96vw)}
.consent-row{display:flex;gap:.8rem;align-items:flex-start;border:1px solid var(--line);padding:1rem;margin:1.2rem 0;line-height:1.45}
.consent-row input{margin-top:.25rem;flex:0 0 auto}
.modal-actions{display:flex;justify-content:flex-end;gap:.7rem}
.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.print-sheet{display:none}
footer{border-top:1px solid var(--line);padding:1rem 2rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:.78rem;margin-top:1rem}
footer a{color:inherit}
@media(max-width:1200px){
 .workspace{grid-template-columns:1fr}
 .state-card,.outcome-card{position:static}
 .callouts{grid-template-columns:1fr}
 .callouts article{border-right:0;border-bottom:1px solid var(--line);padding-bottom:.7rem}
}
@media print{
 body{background:#fff!important;color:#000!important}
 .site-global-header,body>header,main>*:not(.print-sheet),footer{display:none!important}
 main{padding:0!important}
 .print-sheet{display:block!important;color:#000;background:#fff;font-family:Arial,Helvetica,sans-serif}
 .print-sheet h1{font-size:24pt;margin:0 0 6pt}.print-sheet h2{font-size:15pt;margin:18pt 0 8pt}
 .print-sheet p{line-height:1.4}.print-sheet dl{margin:0}.print-sheet dl div{display:grid;grid-template-columns:34% 66%;border-bottom:1px solid #bbb;padding:6pt 0}
 .print-sheet dt{color:#444}.print-sheet dd{text-align:left;font-weight:600}.print-meta{color:#555;font-size:9pt}
}
@media(max-width:760px){
 header,main,footer{padding-left:1rem;padding-right:1rem}
 header{display:block}
 .privacy-banner{grid-template-columns:1fr}
 .research-locked{text-align:left;border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:.8rem}
 .options{grid-template-columns:1fr}
 .dimension-strip{grid-template-columns:1fr 1fr}
 .dimension-strip span:nth-child(2){border-right:0}
}
