.leadem-tsq-tool { margin: 10px 0 0; text-align: left; }
.leadem-tsq-button { background:#4687b0; border:2px solid #4687b0; border-radius:3px; color:#fff; cursor:pointer; font:inherit; font-size:15px; font-weight:600; min-height:44px; padding:10px 25px; }
.leadem-tsq-button:hover { background:#326f97; border-color:#326f97; color:#fff; }
.leadem-tsq-button:focus-visible,.leadem-tsq-modal__close:focus-visible,.leadem-tsq-question input:focus-visible { box-shadow:0 0 0 3px #fff,0 0 0 6px #132573; outline:0; }
body.leadem-tsq-modal-open { overflow:hidden; }
.leadem-tsq-modal[hidden],.leadem-tsq-result[hidden],.leadem-tsq-form__download[hidden] { display:none!important; }
.leadem-tsq-modal { align-items:center; background:rgba(0,0,0,.6); box-sizing:border-box; display:flex; inset:0; justify-content:center; opacity:0; padding:24px; position:fixed; transition:opacity .2s ease; z-index:99999; }
.leadem-tsq-modal.is-open { opacity:1; }
.leadem-tsq-modal *,.leadem-tsq-modal *::before,.leadem-tsq-modal *::after { box-sizing:border-box; }
.leadem-tsq-modal__panel { background:#fff; border-radius:12px; box-shadow:0 20px 60px rgba(0,0,0,.3); color:#333; max-height:90vh; max-width:750px; overflow-y:auto; padding:40px 45px; position:relative; width:100%; }
.leadem-tsq-modal__close { align-items:center; background:none; border:0; color:#333; cursor:pointer; display:flex; font:28px/1 Arial,sans-serif; height:38px; justify-content:center; position:absolute; right:14px; top:10px; width:38px; }
.leadem-tsq-modal__close:hover { background:#f1f3f6; }
.leadem-tsq-modal__title { color:#132573; font-size:28px; line-height:1.25; margin:0 35px 10px 0; }
.leadem-tsq-modal__subtitle { color:#132573; font-size:16px; font-weight:600; margin:0 0 10px; }
.leadem-tsq-modal__introduction { color:#555; font-size:15px; line-height:1.6; margin:0 0 25px; }
.leadem-tsq-question { border:0; margin:0 0 18px; padding:8px; }
.leadem-tsq-question.has-error { background:#fff3f2; border-radius:6px; }
.leadem-tsq-question legend { color:#333; display:flex; float:left; font-size:15px; font-weight:600; gap:12px; line-height:1.5; margin:0; padding:0; width:100%; }
.leadem-tsq-question__number { align-items:center; background:#132573; border-radius:50%; color:#fff; display:flex; flex:0 0 28px; font-size:13px; height:28px; justify-content:center; margin-top:2px; }
.leadem-tsq-question__options { clear:both; margin:8px 0 0 40px; }
.leadem-tsq-question__options label { color:#555; cursor:pointer; margin-right:20px; }
.leadem-tsq-question__options input { margin-right:5px; }
.leadem-tsq-form__message { background:#fff3f2; border-left:4px solid #b3261e; border-radius:4px; color:#7d1b17; font-weight:600; margin-bottom:18px; padding:13px 16px; }
.leadem-tsq-form__actions,.leadem-tsq-form__download { margin-bottom:20px; text-align:center; }
.leadem-tsq-button--primary { background:#132573; border-color:#132573; border-radius:999px; padding:11px 34px; }
.leadem-tsq-result { background:#f0f4ff; border-left:4px solid #132573; border-radius:8px; color:#132573; margin-bottom:15px; padding:20px 25px; }
.leadem-tsq-result p { margin:0; }
.leadem-tsq-result__score { font-size:18px; font-weight:700; margin-bottom:10px!important; }
.leadem-tsq-note { background:#f0f4ff; border-left:4px solid #132573; border-radius:8px; color:#132573; font-size:14px; line-height:1.6; margin:0 0 15px; padding:15px 20px; }
.leadem-tsq-citation { color:#888; font-size:12px; font-style:italic; line-height:1.5; margin:0; }
@media(max-width:600px){.leadem-tsq-modal{padding:12px}.leadem-tsq-modal__panel{max-height:94vh;padding:34px 20px 28px}.leadem-tsq-modal__title{font-size:24px}.leadem-tsq-modal__introduction{font-size:14px}.leadem-tsq-question{padding-left:0;padding-right:0}.leadem-tsq-form__download .leadem-tsq-button{width:100%}}
@media(prefers-reduced-motion:reduce){.leadem-tsq-button,.leadem-tsq-modal{transition:none}}
