:root{color-scheme:dark;--bg:#101914;--panel:#19251c;--line:#354537;--ink:#f1f0dd;--muted:#b3beb0;--accent:#e5c477}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 90% 10%,#283d28 0,transparent 48%),var(--bg);color:var(--ink);font:17px/1.65 system-ui,sans-serif;min-height:100vh}header{max-width:1080px;margin:auto;padding:26px 32px;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);font-size:14px;color:var(--muted)}a{color:var(--accent)}.brand{color:var(--ink);font-weight:800;letter-spacing:2px;text-decoration:none}.brand span{display:block;font-size:10px;letter-spacing:3px;color:var(--accent)}main{max-width:850px;margin:50px auto;padding:0 28px 40px}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(32px,5vw,55px);line-height:1.15;margin:14px 0 26px}h2{font-size:23px;line-height:1.3;margin:24px 0 14px}.lead{font-size:20px;color:var(--muted);max-width:650px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:3px;color:var(--accent)}.reward{display:flex;gap:24px;margin:32px 0;padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.reward>span{font-size:40px;color:var(--accent)}.reward p{margin:5px 0 0;font-size:15px;color:var(--muted)}form{margin-top:28px}label{display:block}input,button{font:inherit;border-radius:8px}input{padding:12px 14px;border:1px solid #6a7964;background:#101a13;color:var(--ink);max-width:100%;width:100%}button{padding:12px 24px;background:var(--accent);color:#172013;border:1px solid transparent;font-weight:700;cursor:pointer}button:hover{filter:brightness(1.08)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #faf1ab;outline-offset:4px}.inline{display:flex;gap:12px;margin-top:8px}.inline input{text-transform:uppercase;letter-spacing:2px;flex:1;min-width:0}.check{display:flex;gap:12px;margin:22px 0}.check input{width:22px;height:22px;flex-shrink:0;margin-top:5px;accent-color:var(--accent)}.demographics{display:grid;grid-template-columns:1fr 2fr;gap:20px}.muted{color:var(--muted);font-size:14px}details{padding:18px;background:var(--panel);border-radius:8px}summary{cursor:pointer}.progress-head{display:flex;justify-content:space-between;font-size:14px;color:var(--accent)}progress{width:100%;height:7px;accent-color:var(--accent);margin:12px 0 24px}fieldset{border:1px solid var(--line);padding:22px;margin:28px 0;border-radius:12px;background:var(--panel)}legend{padding:0 6px;font-size:18px;font-weight:600}.choices{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px}.choice{display:flex;position:relative;cursor:pointer}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice span{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:12px 6px;width:100%;border:1px solid #52634d;border-radius:7px;text-align:center;font-size:12px;line-height:1.4}.choice b{font-size:24px;margin-bottom:8px;color:var(--accent)}.choice input:checked+span{border-color:var(--accent);background:#3b4326;box-shadow:0 0 0 1px var(--accent)}.choice input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}.actions{display:flex;justify-content:space-between;gap:14px}.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.text-button{background:transparent;color:var(--muted);padding-left:0;font-size:14px;text-decoration:underline;margin-top:24px}.code{font:700 clamp(22px,4vw,36px)/1.5 monospace;letter-spacing:3px;color:var(--accent);padding:24px 0}#status{color:#ffce98;font-weight:600;min-height:30px}footer{border-top:1px solid var(--line);padding:25px;text-align:center;color:var(--muted);font-size:12px}[hidden]{display:none!important}@media(max-width:560px){header{padding:20px}header>span{display:none}main{margin-top:32px;padding:0 18px 28px}.reward{gap:14px;padding:18px}.inline{flex-direction:column}.demographics{grid-template-columns:1fr}.choices{grid-template-columns:1fr}.choice span{flex-direction:row;text-align:left;justify-content:flex-start;padding:9px 14px;gap:16px;font-size:14px}.choice b{margin:0;min-width:18px;font-size:19px}fieldset{padding:16px}.actions button{padding:12px 18px}}
#instrument-title{font-size:clamp(24px,4vw,34px);line-height:1.25}#instrument-title:focus{outline:none}.progress-head{gap:18px}.progress-head span:last-child{flex-shrink:0}
