.home-page .catalog:has(+ .self-test) {padding-bottom: 40px;}
.self-test.shell {width: min(880px, calc(100% - 96px)); margin-block: 0 70px; scroll-margin-top: 120px;}
.self-test [hidden] {display: none !important;}
.self-test-toggle {display: flex; align-items: center; justify-content: space-between; gap: 22px; width: 100%; padding: 22px 28px; border: 1px solid #dedfce; border-radius: 5px; background: #f5f6ef; color: #173b43; text-align: left; cursor: pointer; transition: background .2s ease;}
.self-test-toggle:hover {background: #eef1e6;}
.self-test-toggle .overline {color: #7d754e; flex-shrink: 0; font-size: 10px;}
.self-test-title {font: 400 clamp(22px, 2.3vw, 26px)/1.35 Georgia, serif;}
.self-test-arrow {font-size: 25px; line-height: 1; color: #71814e; margin-left: auto; transition: transform .2s ease;}
.self-test-toggle[aria-expanded=true] {border-radius: 5px 5px 0 0;}
.self-test-toggle[aria-expanded=true] .self-test-arrow {transform: rotate(90deg);}
.self-test-toggle:focus-visible,.self-test button:focus-visible {outline: 3px solid #b99c58; outline-offset: 4px;}
.self-test-panel {padding: 32px; border: 1px solid #d8dfcf; border-top: 0; border-radius: 0 0 5px 5px; background: #fafbf6;}
.self-test-intro {font-size: 16px; line-height: 1.7; color: #526a70; margin: 0 0 12px;}
.self-test-progress {font-size: 13px; font-weight: 600; color: #185363; margin: 0 0 25px;}
.self-test-question {padding: 24px 0; margin: 0; border: 0; border-top: 1px solid #dce2d5; min-width: 0;}
.self-test-question legend {float: left; width: 100%; padding: 0; margin-bottom: 15px; font-size: 19px; font-weight: 600; line-height: 1.5; color: #173b43;}
.self-test-options {clear: both; display: grid; gap: 10px;}
.self-test-option {display: flex; align-items: start; gap: 13px; border: 1px solid #d8e0d5; border-radius: 4px; padding: 13px 16px; background: #fff; color: #34545c; font-size: 16px; line-height: 1.6; cursor: pointer;}
.self-test-option:has(input:checked) {border-color: #185363; background: #eef4ed;}
.self-test-option input:is([type=radio],[type=checkbox]) {display: inline-block; width: 19px; min-width: 19px; height: 19px; min-height: 19px; margin: 3px 0 0; padding: 0; accent-color: #185363;}
.self-test-option input:focus-visible {outline: 2px solid #185363; outline-offset: 3px;}
.self-test-question:disabled {opacity: .75;}
.self-test-question:disabled .self-test-option {cursor: default;}
.self-test-error {padding: 14px 18px; border-left: 3px solid #a34b2c; background: #fff4ed; color: #713921; font-size: 15px;}
.self-test-actions {display: flex; gap: 15px; flex-wrap: wrap; margin-top: 20px;}
.self-test-result {margin-top: 24px; padding: 26px; background: #fff; border: 1px solid #d5c28f; border-top: 3px solid #b99c58; border-radius: 4px;}
.self-test-result h3 {font: 400 28px/1.3 Georgia, serif; color: #173b43; margin: 0 0 20px;}
.self-test-score {display: grid; grid-template-columns: 1fr 1fr; gap: 20px;}
.self-test-score > div {display: flex; flex-direction: column; gap: 4px;}
.self-test-score strong {font-size: 38px; line-height: 1.2; color: #185363;}
.self-test-score span {font-size: 15px; color: #526a70;}
@media(max-width:680px) {
  .home-page .catalog:has(+ .self-test) {padding-bottom: 26px;}
  .self-test.shell {width: calc(100% - 40px); margin-bottom: 44px; scroll-margin-top: 96px;}
  .self-test-toggle {padding: 20px; gap: 10px; flex-wrap: wrap;}
  .self-test-toggle .overline {width: 100%;}
  .self-test-title {flex: 1; font-size: 23px;}
  .self-test-panel {padding: 22px 18px;}
  .self-test-question legend {font-size: 18px;}
  .self-test-option {padding: 12px; gap: 10px;}
  .self-test-result {padding: 22px 18px;}
}
@media(prefers-reduced-motion:reduce) {.self-test-arrow,.self-test-toggle {transition:none;}}
