.kg-decision-tool { --tool-accent: #1e75aa; --tool-soft: #eef7fc; display: grid; gap: 24px; color: #20242a; }
.kg-tool-intro { padding: 22px 24px; background: var(--tool-soft); border-left: 5px solid var(--tool-accent); }
.kg-tool-intro strong { display: block; margin-bottom: 7px; font-size: 21px; line-height: 1.4; }
.kg-tool-intro p { margin: 0; color: #53616b; line-height: 1.7; }
.kg-tool-form { display: grid; gap: 18px; }
.kg-tool-question { min-width: 0; margin: 0; padding: 22px; border: 1px solid #d8dde1; }
.kg-tool-question legend { display: flex; align-items: center; gap: 10px; padding: 0 8px; color: #17191d; font-size: 18px; font-weight: 850; }
.kg-tool-question legend span { display: inline-grid; width: 27px; height: 27px; place-items: center; color: #fff; background: var(--tool-accent); font-size: 13px; }
.kg-tool-options { display: grid; gap: 10px; margin-top: 8px; }
.kg-tool-options label { display: block; cursor: pointer; }
.kg-tool-options input { position: absolute; opacity: 0; pointer-events: none; }
.kg-tool-options span { display: block; padding: 14px 16px; background: #fff; border: 1px solid #d8dde1; transition: border-color .15s ease, background .15s ease, box-shadow .15s ease; }
.kg-tool-options input:checked + span { background: var(--tool-soft); border-color: var(--tool-accent); box-shadow: inset 4px 0 0 var(--tool-accent); font-weight: 800; }
.kg-tool-options input:focus-visible + span { outline: 3px solid rgba(30, 117, 170, .25); outline-offset: 2px; }
.kg-tool-validation { margin: 0; padding: 12px 15px; color: #8b2b24; background: #fff1ee; border-left: 4px solid #c6483e; font-weight: 750; }
.kg-tool-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.kg-tool-submit, .kg-tool-reset { min-height: 54px; padding: 13px 20px; border: 0; font: inherit; font-weight: 850; cursor: pointer; }
.kg-tool-submit { color: #fff; background: var(--tool-accent); }
.kg-tool-submit:hover { background: #155d89; }
.kg-tool-reset { color: #3e464d; background: #ecefed; }
.kg-tool-result { padding: 26px; background: #f7f3e9; border: 1px solid #e2d6b8; border-left: 5px solid #b98b2c; }
.kg-tool-result > span { display: block; margin-bottom: 6px; color: #8a651c; font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.kg-tool-result h2 { margin: 0 0 9px; font-size: 25px; line-height: 1.4; }
.kg-tool-result p { margin: 0; color: #596067; line-height: 1.7; }
.kg-tool-result ul { display: grid; gap: 8px; margin: 18px 0 0; padding-left: 20px; }
.kg-tool-result li { line-height: 1.65; }
.kg-tool-official { padding-top: 22px; border-top: 2px solid #1b1d20; }
.kg-tool-official strong { font-size: 17px; }
.kg-tool-official ul { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 12px 0 0; padding: 0; list-style: none; }
.kg-tool-official a { color: var(--tool-accent); font-weight: 800; }
.kg-tool-disclaimer { margin: 0; color: #73787e; font-size: 13px; line-height: 1.7; }

@media (max-width: 760px) {
  .kg-tool-intro, .kg-tool-question, .kg-tool-result { padding: 18px; }
  .kg-tool-question legend { align-items: flex-start; font-size: 16px; }
  .kg-tool-controls { grid-template-columns: 1fr; }
  .kg-tool-submit, .kg-tool-reset { width: 100%; }
  .kg-tool-official ul { display: grid; }
}
