.ibms-wrap{
  --ibms-navy:#17365d;
  --ibms-blue:#2563a7;
  --ibms-border:#d9e1ea;
  --ibms-light:#f4f7fb;
  --ibms-green:#147a43;
  --ibms-green-bg:#eaf7ef;
  --ibms-red:#a92b2b;
  --ibms-red-bg:#fff0f0;
  max-width:1180px;
  margin:24px auto;
  padding:22px;
  border:1px solid var(--ibms-border);
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 24px rgba(20,40,70,.08);
  color:#1e293b;
  font-family:Arial,Helvetica,sans-serif;
}
.ibms-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.ibms-head h2{margin:0;color:var(--ibms-navy);font-size:30px;line-height:1.1}
.ibms-subtitle{margin:7px 0 0;color:#526170;font-size:15px}
.ibms-status{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.ibms-status span{display:inline-block;background:var(--ibms-light);border:1px solid var(--ibms-border);border-radius:999px;padding:7px 11px;font-size:13px;font-weight:700;color:var(--ibms-navy)}
.ibms-graph-card{border:1px solid var(--ibms-border);border-radius:12px;background:#fff;overflow:hidden;margin-bottom:16px}
.ibms-graph{display:block;width:100%;height:auto}
.ibms-question-card{border:1px solid var(--ibms-border);border-radius:12px;padding:20px;background:#fff}
.ibms-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800;color:#64748b;margin-bottom:7px}
.ibms-question{margin:0 0 8px;font-size:23px;color:#172b4d}
.ibms-instruction{margin:0 0 16px;font-size:15px;color:#334155}
.ibms-answer-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ibms-input{flex:1 1 280px;max-width:420px;min-height:46px;border:2px solid #bcc8d6;border-radius:9px;padding:9px 12px;font-size:21px;font-weight:700;background:#fff;color:#111827}
.ibms-input:focus{outline:none;border-color:var(--ibms-blue);box-shadow:0 0 0 3px rgba(37,99,167,.14)}
.ibms-btn{border:0;border-radius:9px;padding:11px 17px;font-size:15px;font-weight:800;cursor:pointer;background:var(--ibms-blue);color:#fff;min-height:44px}
.ibms-btn:hover{filter:brightness(.96)}
.ibms-btn:disabled{opacity:.55;cursor:not-allowed}
.ibms-restart{background:#eef2f7;color:#32465f;border:1px solid #ced8e4}
.ibms-actions{display:flex;gap:10px;align-items:center;margin-top:14px}
.ibms-feedback{margin-top:15px;border-radius:10px;padding:14px 16px;font-size:16px;line-height:1.45;border:1px solid transparent}
.ibms-correct{background:var(--ibms-green-bg);border-color:#b7e0c7;color:#0e5d32}
.ibms-incorrect{background:var(--ibms-red-bg);border-color:#efbebe;color:#852020}
.ibms-warn{background:#fff8e6;border-color:#efd697;color:#6e5514}
.ibms-charge-note,.ibms-explain{margin-top:7px}
.ibms-finish{border:1px solid #b7e0c7;border-radius:12px;padding:24px;text-align:center;background:var(--ibms-green-bg)}
.ibms-finish h3{margin:0 0 8px;color:var(--ibms-green);font-size:27px}
.ibms-final-score{font-size:20px;font-weight:800;margin:0 0 16px}
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:700px){
  .ibms-wrap{padding:14px;margin:14px auto;border-radius:12px}
  .ibms-head{display:block}
  .ibms-status{justify-content:flex-start;margin-top:12px}
  .ibms-head h2{font-size:25px}
  .ibms-question{font-size:20px}
  .ibms-input{max-width:none;width:100%}
  .ibms-answer-row{display:block}
  .ibms-check{margin-top:9px;width:100%}
  .ibms-actions{flex-wrap:wrap}
}
/* v1.0.2 compact layout */
.ibms-wrap{padding:16px 18px;margin:16px auto}
.ibms-head{margin-bottom:10px;gap:12px}
.ibms-head h2{font-size:27px}
.ibms-subtitle{margin-top:4px;font-size:14px}
.ibms-status span{padding:6px 9px;font-size:12px}
.ibms-graph-card{margin-bottom:10px}
.ibms-graph{max-height:360px;object-fit:contain}
.ibms-question-card{padding:14px 16px}
.ibms-question{font-size:21px;margin-bottom:10px}
.ibms-input{min-height:42px;font-size:19px;padding:7px 10px;max-width:360px}
.ibms-actions{margin-top:10px;gap:8px;flex-wrap:wrap}
.ibms-btn{min-height:40px;padding:9px 14px;font-size:14px}
.ibms-feedback{margin-top:10px;padding:11px 13px;font-size:15px}
@media(max-width:700px){
  .ibms-wrap{padding:10px 12px;margin:10px auto}
  .ibms-head{margin-bottom:8px}
  .ibms-head h2{font-size:23px}
  .ibms-subtitle{font-size:13px}
  .ibms-graph{max-height:245px}
  .ibms-question-card{padding:12px 14px}
  .ibms-question{font-size:19px;margin-bottom:8px}
  .ibms-input{min-height:40px;font-size:18px}
  .ibms-actions{display:flex;flex-wrap:nowrap;gap:7px}
  .ibms-actions .ibms-btn{width:auto;flex:0 1 auto;white-space:nowrap;margin:0}
  .ibms-check{margin-top:0;width:auto}
}


[data-ibms-root] [hidden]{display:none!important} [data-ibms-root] .ibms-question-card{border:0;padding:18px 0 0} [data-ibms-root] .ibms-question{font-size:22px;line-height:1.35} [data-ibms-root] .ibms-head h2{font-size:28px} [data-ibms-root] .ibms-next{display:none!important} [data-ibms-root] input{min-height:44px;font-size:19px} @media(max-width:520px){[data-ibms-root] .ibms-head{flex-wrap:wrap}[data-ibms-root] .ibms-head h2{font-size:24px}[data-ibms-root] .ibms-question{font-size:20px}}
