.od-gap { --gap-navy:#002b56; --gap-ink:#24394e; --gap-border:#66798b; color:var(--gap-ink); background:#fff; border:1px solid #ccd8e2; border-radius:1rem; padding:clamp(.75rem,3vw,2rem); }
.od-gap [hidden] { display:none!important; }
.od-gap h2,.od-gap h3,.od-gap h4 { color:var(--gap-navy); }
.od-gap p,.od-gap li { color:var(--gap-ink); }
.od-gap__toolbar { display:flex; flex-wrap:wrap; gap:.5rem 1rem; align-items:center; justify-content:space-between; margin:1rem 0; }
.od-gap__progress { margin:0; font-weight:650; }
.od-gap__reset { background:#fff; color:var(--gap-navy); padding:.45rem .75rem; border:1px solid var(--gap-border); border-radius:.4rem; font:inherit; min-height:44px; }
.od-gap__reset:disabled { opacity:.65; }
.od-gap__question { padding:0; min-width:0; border:0; margin:0 0 1.5rem; }
.od-gap__question legend { float:none; width:auto; color:var(--gap-navy); font-size:1.05rem; font-weight:700; margin:0 0 .55rem; }
.od-gap__choices { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:clamp(.25rem,1vw,.65rem); }
.od-gap__choice { position:relative; display:grid; min-width:0; cursor:pointer; }
.od-gap__radio { position:absolute; width:1px; height:1px; opacity:0; }
.od-gap__face { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; text-align:center; min-height:6.4rem; padding:.5rem; border:1px solid var(--gap-border); background:#f5f8fa; color:var(--gap-navy); border-radius:.45rem; overflow-wrap:anywhere; font-size:clamp(.72rem,1.7vw,.95rem); line-height:1.24; }
.od-gap__number { font-size:1.55rem; line-height:1.2; margin-bottom:.3rem; }
.od-gap__check { margin-top:auto; visibility:hidden; font-weight:800; }
.od-gap__radio:checked + .od-gap__face { background:var(--gap-navy); color:#fff; border-color:var(--gap-navy); }
.od-gap__radio:checked + .od-gap__face .od-gap__check { visibility:visible; }
.od-gap__choice:hover .od-gap__face { box-shadow:inset 0 0 0 1px currentColor; }
.od-gap__radio:focus-visible + .od-gap__face,.od-gap button:focus-visible,.od-gap a:focus-visible { outline:3px solid #0059a3; outline-offset:2px; }
.od-gap__results { border-top:1px solid #ccd8e2; padding-top:1rem; }
.od-gap__readiness { font-weight:700; margin-bottom:.25rem; }
.od-gap__summary { margin-bottom:1rem; }
.od-gap__tiles { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr)); gap:.65rem; }
.od-gap__tile { padding:.8rem; border:1px solid #a2aeb9; background:#f4f6f8; border-radius:.5rem; }
.od-gap .od-gap__tile h4 { color:var(--gap-navy); font-size:var(--gap-heading-size,1.3rem); font-weight:750; line-height:1.25; margin:0 0 .45rem; overflow-wrap:anywhere; }
.od-gap[data-gap-heading="compact"] { --gap-heading-size:1.125rem; }
.od-gap[data-gap-heading="large"] { --gap-heading-size:1.6rem; }
.od-gap[data-gap-explanation="compact"] { --gap-explanation-size:.875rem; }
.od-gap[data-gap-explanation="large"] { --gap-explanation-size:1.125rem; }
.od-gap[data-gap-accent="navy"] .od-gap__tile.is-recommended { background:#edf3fa; border-color:var(--gap-navy); }
.od-gap .od-gap__tile .od-gap__reasons li { font-size:var(--gap-explanation-size,1rem); line-height:1.5; }
.od-gap__tile.is-recommended { background:#e3f3e8; border:2px solid #25563d; padding:calc(.8rem - 1px); }
.od-gap__tile.is-first { border-color:var(--gap-navy); }
.od-gap__badge { font-size:.85rem; margin:0; }
.is-recommended .od-gap__badge { font-weight:750; }
.od-gap__reasons { margin:.55rem 0; padding-inline-start:1.2em; }
.od-gap a.od-gap__link { display:inline-block; color:var(--gap-navy); text-decoration:underline; margin-top:.4rem; }
@media (forced-colors:active) { .od-gap__radio:checked + .od-gap__face,.od-gap__tile.is-recommended { border:2px solid Highlight; } }

#od-gap-editor,#od-gap-preview { max-width:70rem; }
.od-gap-editor__identity { padding:1rem; background:#fff; border:1px solid #ccd0d4; }
.od-gap-editor__identity label { display:inline-grid; gap:.35rem; margin:0 1rem .5rem 0; font-weight:650; }
.od-gap-editor__identity input { max-width:100%; }
.od-gap-editor__thresholds { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr)); gap:.75rem; }
.od-gap-editor__field { display:flex; flex-direction:column; gap:.25rem; font-weight:600; min-width:0; }
.od-gap-editor__actions,.od-gap-editor__tabs,.od-gap-editor__bar { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.od-gap-editor__tabs { margin:1rem 0; padding-bottom:.75rem; border-bottom:1px solid #ccd0d4; }
.od-gap-editor__tabs [aria-pressed="true"],.od-gap-editor__question-list [aria-current="true"] { background:#e9f3fa; color:#104b79; border-color:#135e96; font-weight:650; }
.od-gap-editor__bar { justify-content:space-between; }
.od-gap-editor__bar h2 { margin:.5rem 0; }
.od-gap-editor__layout { display:grid; grid-template-columns:minmax(9rem,1fr) minmax(0,3fr); gap:1.25rem; }
.od-gap-editor__question-list { display:flex; flex-direction:column; align-items:stretch; gap:.35rem; }
#od-gap-editor .od-gap-editor__question-list .button {
  min-width:0; max-width:100%; height:auto; text-align:left;
  white-space:normal; overflow-wrap:anywhere; line-height:1.4; padding:.45rem .65rem;
}
.od-gap-editor__question-detail { min-width:0; background:#fff; padding:1rem; border:1px solid #ccd0d4; }
.od-gap-editor__answer-labels,.od-gap-editor__points { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.4rem; }
.od-gap-editor__answer-labels { margin-top:.75rem; }
.od-gap-editor__field input,.od-gap-editor__field textarea,.od-gap-editor__field select { width:100%; min-width:0; }
.od-gap-editor__effects { margin-top:1rem; border-top:1px solid #dcdcde; padding-top:.5rem; }
.od-gap-editor__effect-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(13rem,16rem) auto; align-items:end; gap:.6rem; padding:.65rem 0; border-bottom:1px solid #dcdcde; }
.od-gap-editor__effect-row input { text-align:center; padding-inline:2px; }
.od-gap-editor__effects > .button { margin-top:.65rem; }
.od-gap-editor__outcome-list { max-width:48rem; margin-top:.8rem; background:#fff; border:1px solid #ccd0d4; }
.od-gap-editor__outcome-row { display:grid; grid-template-columns:minmax(0,1fr) 5.75rem 3rem; align-items:center; gap:.5rem; padding:.5rem .75rem; border-bottom:1px solid #dcdcde; }
.od-gap-editor__outcome-row strong { overflow-wrap:anywhere; }
.od-gap-editor__outcome-head { background:#f0f3f6; }
.od-gap-editor__outcome-row input.od-gap-editor__number { width:4.4rem; min-width:0; text-align:center; }
.od-gap-editor__outcome-row button { justify-self:end; }
.od-gap-editor__detail { padding:.85rem; background:#f5f7f9; display:grid; gap:.65rem; border-bottom:1px solid #ccd0d4; }
.od-gap-editor__detail .od-gap-editor__field { max-width:38rem; }
#od-gap-editor .button-link-delete { color:#a32628; }
@media(max-width:850px) {
 .od-gap-editor__layout { grid-template-columns:1fr; }
 .od-gap-editor__question-list { flex-direction:row; flex-wrap:wrap; }
 .od-gap-editor__effect-row { grid-template-columns:minmax(0,1fr); justify-items:start; }
 .od-gap-editor__effect-row > label { width:100%; }
 .od-gap-editor__points { width:min(100%,17rem); }
}
@media(max-width:540px) {
 .od-gap-editor__answer-labels { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Per-questionnaire presentation. Outcome cards retain their own contrast. */
.od-gap { background:var(--gap-background,#fff); color:var(--gap-form-ink,#24394e); }
.od-gap[data-gap-border="hide"] { border:0; padding:0; }
.od-gap .od-gap__title,.od-gap .od-gap__results-title,.od-gap .od-gap__intro,
.od-gap .od-gap__progress,.od-gap .od-gap__readiness,.od-gap .od-gap__summary,
.od-gap .od-gap__question legend { color:var(--gap-form-ink,#24394e); }
.od-gap .od-gap__intro,.od-gap .od-gap__readiness { white-space:pre-wrap; }
.od-gap .od-gap__question legend { font-size:var(--gap-question-size,1.05rem); }
.od-gap[data-gap-question-size="small"] { --gap-question-size:.9rem; }
.od-gap[data-gap-question-size="medium"] { --gap-question-size:1.2rem; }
.od-gap[data-gap-question-size="large"] { --gap-question-size:1.45rem; }
.od-gap[data-gap-question-size="extra-large"] { --gap-question-size:1.75rem; }
.od-gap[data-gap-heading-font="body"] .od-gap__tile h4 { font-family:var(--bs-body-font-family,"SteveSans",system-ui,sans-serif); }
.od-gap[data-gap-heading-font="heading"] .od-gap__tile h4 { font-family:"Cormorant Garamond",Georgia,serif; }
.od-gap .od-gap__tile .od-gap__reasons { color:#24394e; font-size:var(--gap-explanation-size,1rem); line-height:1.5; margin:.55rem 0; padding:0; }
.od-gap[data-gap-layout="stacked"] .od-gap__tiles { grid-template-columns:minmax(0,1fr); }
.od-gap[data-gap-layout="centered"] .od-gap__tiles { display:flex; flex-wrap:wrap; justify-content:center; }
.od-gap[data-gap-layout="centered"] .od-gap__tile { flex:0 1 16rem; min-width:0; max-width:100%; }
.od-gap[data-gap-link-style="button"] a.od-gap__link { background:#002b56; color:#fff; border:1px solid transparent; border-radius:.35rem; padding:.45rem .8rem; text-decoration:none; }
.od-gap[data-gap-link-style="button"] a.od-gap__link:hover { background:#174d79; text-decoration:underline; }
.od-gap-editor__copy { max-width:42rem; margin:.7rem 0; }
.od-gap-editor__field input[type="color"] { width:3.5rem; min-height:2rem; }
