.context-help { position: relative; display: inline-block; flex: none; vertical-align: middle; }
:root .context-help > summary {
  display: inline-grid; place-items: center; width: 1.8rem; min-height: 1.8rem;
  padding: 0 !important; border: 1px solid var(--line); border-radius: var(--register-radius);
  background: var(--surface); color: var(--muted); font: 750 .85rem/1 system-ui, sans-serif;
  cursor: help; list-style: none;
}
:root .context-help > summary::before { display: none; }
.context-help > summary::-webkit-details-marker { display: none; }
.context-help[open] > summary, .context-help > summary:hover { color: var(--green-dark); border-color: var(--green); background: var(--green-soft); }
.context-help-panel {
  position: absolute; z-index: 100; inset: calc(100% + .4rem) auto auto 0;
  width: min(22rem,calc(100vw - 1.5rem)); max-height: min(26rem,65vh); overflow: auto;
  padding: .9rem 1rem; border: 1px solid #b7c4d4; border-top: 2px solid var(--green);
  border-radius: var(--register-radius); background: #fff; color: var(--ink);
  box-shadow: 0 10px 30px rgb(17 25 35 / 16%); font: 400 .875rem/1.55 system-ui, sans-serif;
  text-align: left; text-transform: none; letter-spacing: normal; white-space: normal; overflow-wrap: anywhere;
}
.context-help[data-enhanced] .context-help-panel { position: fixed; inset: auto; }
.context-help[open][data-enhanced]::after {
  content: ""; position: fixed; z-index: 101; width: 10px; height: 10px;
  left: var(--help-arrow-left); top: var(--help-arrow-top); transform: rotate(45deg);
  background: #fff; border-right: 1px solid #b7c4d4; border-bottom: 1px solid #b7c4d4;
  pointer-events: none;
}
.context-help[open][data-placement="below"]::after {
  border: 0; border-left: 1px solid #b7c4d4; border-top: 1px solid #b7c4d4;
}
.context-help-panel > strong { display: block; color: var(--ink); font-size: .875rem; }
:root .context-help-panel p { margin: .45rem 0 0; color: var(--muted); font: inherit; }
.heading-with-help, .field-heading { display: flex; align-items: center; gap: .5rem; min-width: 0; }
.heading-with-help > :first-child, .field-heading > :first-child { min-width: 0; overflow-wrap: anywhere; }
.field-heading > label { margin: 0; }
.heading-with-help > :first-child { margin-block: 0; }
.field > .field-heading { margin-bottom: .4rem; }
.field-heading-disclosure { align-items: flex-start; }
.field-heading-disclosure > .structured-editor { flex: 1; }
.field-heading-disclosure > .context-help { margin-top: .5rem; }
.switch-field-with-help > .field-heading { flex: 1; }
.switch-field-with-help > .switch-control { position: relative; min-height: 2.75rem; margin: 0; }
.fieldset-heading { margin-bottom: .75rem; }
.fieldset-heading > :first-child { color: var(--ink); font-size: 1rem; font-weight: 700; }
.support-details { margin: .8rem 0; border: 1px solid var(--line); background: var(--surface); }
.support-details > summary { min-height: 2.75rem; display: flex; align-items: center; padding: .6rem .8rem; color: var(--muted); cursor: pointer; font-size: .875rem; font-weight: 650; }
.support-details > :not(summary) { margin: .75rem 1rem; }
.support-details .instructions-links { margin: .75rem 1rem; }
@media (pointer: coarse) { :root .context-help > summary { width: 2.75rem; min-height: 2.75rem; } }
