.kep001-wrap{box-sizing:border-box;max-width:100%;margin:24px 0;padding:24px;border:1px solid #ddd5c8;border-radius:16px;background:#fafaf7;box-shadow:0 4px 12px rgba(0,0,0,.06)}
.kep001-wrap *{box-sizing:border-box}
.kep001-wrap [hidden]{display:none!important}
.kep001-wrap .kep001-title{margin:0 0 12px;font-size:1.25rem;line-height:1.4}
.kep001-wrap .kep001-fallback{padding:12px 0}
.kep001-wrap .kep001-fallback ol,.kep001-wrap .kep001-fallback ul{padding-left:1.4rem}
.kep001-wrap .kep001-fallback li{margin-bottom:10px}
.kep001-wrap .kep001-app{margin-top:8px}
.kep001-wrap .kep001-intro{text-align:center}
.kep001-wrap .kep001-intro p{margin:0 0 16px}
.kep001-wrap .kep001-progress{margin:0 0 12px;font-size:.9rem;font-weight:700;opacity:.85}
.kep001-wrap .kep001-question{min-width:0;margin:0 0 16px;padding:0;border:0}
.kep001-wrap .kep001-question legend{width:100%;margin:0 0 8px;padding:0}
.kep001-wrap .kep001-question-number{display:inline-block;margin-bottom:10px;padding:3px 10px;border-radius:999px;background:#1f463a;color:#fff;font-size:.75rem;font-weight:600}
.kep001-wrap .kep001-question-text{display:block;color:var(--red-ink,#a8322a);font-size:1.15rem;font-weight:700;line-height:1.4}
.kep001-wrap .kep001-options{display:flex;flex-direction:column;gap:12px}
.kep001-wrap .kep001-option{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--line,#ccc);border-radius:8px;cursor:pointer;line-height:1.45}
.kep001-wrap .kep001-option:hover{border-color:rgba(31,70,58,.4);background:rgba(31,70,58,.03)}
.kep001-wrap .kep001-option:has(input:checked){border:2px solid #1f463a;background:rgba(31,70,58,.09);box-shadow:0 2px 6px rgba(31,70,58,.14)}
.kep001-wrap .kep001-option:has(input:focus-visible){outline:3px solid #1f463a;outline-offset:2px}
.kep001-wrap .kep001-option input{flex:0 0 20px;width:20px;height:20px}
.kep001-wrap .kep001-feedback{margin:14px 0 0;padding:12px;border-left:4px solid #1f463a;background:#f1eee6}
.kep001-wrap .kep001-error{margin:12px 0 0;color:#b3261e;font-weight:700}
.kep001-wrap .kep001-actions{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:12px;margin-top:16px}
.kep001-wrap .kep001-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px 20px;border:1px solid #1f463a;border-radius:8px;background:#1f463a;color:#fff;font:inherit;font-weight:700;cursor:pointer}
.kep001-wrap .kep001-button:hover{background:#173628}
.kep001-wrap .kep001-button.kep001-secondary{background:transparent;color:#1f463a}
.kep001-wrap .kep001-button.kep001-secondary:hover{background:#f1eee6}
.kep001-wrap .kep001-button:focus-visible,.kep001-wrap input:focus-visible{outline:3px solid #a8692a;outline-offset:2px}
.kep001-wrap #kep001-urgency-next,.kep001-wrap #kep001-understanding-next{background:transparent;color:#1f463a}
.kep001-wrap #kep001-urgency-next:hover,.kep001-wrap #kep001-understanding-next:hover{background:rgba(31,70,58,.06)}
.kep001-wrap .kep001-option input:focus-visible{outline:3px solid #1f463a;outline-offset:2px}
.kep001-wrap .kep001-result h4,.kep001-wrap .kep001-review h4{margin:0 0 10px;outline:none}
.kep001-wrap .kep001-limitation{font-size:.875rem;opacity:.82}
.kep001-wrap .kep001-score{font-weight:700}
.kep001-wrap .kep001-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (forced-colors:active){
  .kep001-wrap .kep001-option:has(input:checked){outline:2px solid CanvasText}
}
