.bdsmtest-editor { margin-block: 32px; padding: clamp(20px, 4vw, 40px); }
.bdsmtest-editor fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.bdsmtest-editor textarea { width: 100%; box-sizing: border-box; }
.bdsmtest-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 12px; margin-block: 18px; }
.bdsmtest-editor .bdsmtest-choice { display: flex; align-items: center; gap: 12px; padding: 10px; border: 1px solid var(--line, #45404d); border-radius: 10px; cursor: pointer; }
.bdsmtest-editor .bdsmtest-choice input { width: 20px; height: 20px; flex: 0 0 20px; margin: 0; }
.bdsmtest-editor button:disabled { opacity: .55; cursor: not-allowed; }
.bdsmtest-editor [role="status"] { margin-top: 20px; }

.bdsmtest-results { list-style: none; padding: 0; margin: 16px 0 24px; display: grid; gap: 18px; }
.bdsmtest-result { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px 14px; }
.bdsmtest-result-label { grid-column: 1 / -1; overflow-wrap: anywhere; font-weight: 600; }
.bdsmtest-result-score { min-width: 5ch; text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; }
.bdsmtest-result-bar { display: block; width: 100%; height: 12px; border: 0; border-radius: 999px; overflow: hidden; appearance: none; -webkit-appearance: none; background: #302a36; color: var(--accent, #cf88b5); }
.bdsmtest-result-bar::-webkit-progress-bar { background: #302a36; border-radius: 999px; }
.bdsmtest-result-bar::-webkit-progress-value { background: var(--accent, #cf88b5); border-radius: 999px; }
.bdsmtest-result-bar::-moz-progress-bar { background: var(--accent, #cf88b5); border-radius: 999px; }
@media (forced-colors: active) { .bdsmtest-result-bar { appearance: auto; -webkit-appearance: auto; } }
