.chk-q{border:1px solid var(--line);border-radius:var(--r);background:var(--card);padding:16px 18px;margin:0 0 12px}
.chk-q legend{float:left;width:100%;padding:0;margin:0 0 10px;font-weight:700;line-height:1.4}
.chk-q legend span{display:block;font-size:.8rem;font-weight:600;color:var(--muted);margin-bottom:2px}
.chk-opts{clear:both;display:flex;gap:10px}
.chk-opts label{flex:0 0 120px;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1.5px solid var(--line);border-radius:999px;cursor:pointer;font-weight:700;background:var(--bg)}
.chk-opts input{position:absolute;opacity:0;width:1px;height:1px}
.chk-opts input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.chk-opts label:has(input:checked){border-color:var(--accent);background:var(--accent);color:#fff}
.chk-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:18px 0 8px}
.chk-actions button{cursor:pointer;font:inherit}
.btn.ghost.dark{color:var(--ink)!important;border-color:var(--ink)}
@media (max-width:640px){.chk-actions{flex-direction:column;align-items:flex-start}}
#chk-msg{min-height:1.4em;color:var(--accent);font-weight:600}
#chk-result{margin-top:22px}
.chk-score{font-size:3rem;font-weight:800;letter-spacing:-.02em;line-height:1}
.chk-score small{font-size:1.1rem;color:var(--muted);font-weight:700}
.chk-bar{height:10px;border-radius:999px;background:var(--line);overflow:hidden;margin:12px 0 14px}
.chk-bar i{display:block;height:100%;background:var(--accent);width:0}
#chk-points li{margin-bottom:10px}
