/* "؟" help component. No inline styles: JS only sets --hl/--ht/--ha custom properties. */
.hlp{display:inline-block;position:relative;vertical-align:middle;margin-inline-start:6px;line-height:1;font-weight:400;font-size:.9rem}
.hlp-inline{margin-inline-start:4px}
/* 32px hit area, small visible glyph */
.hlp-btn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:32px;margin:-7px -7px;cursor:help;border-radius:50%}
.hlp-btn>span{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;
  border:1px solid var(--line-strong);background:var(--surface-2);color:var(--fg-2);font-size:.75rem;font-weight:700;
  transition:background .15s,color .15s,border-color .15s}
.hlp-btn:hover>span,.hlp-btn[aria-expanded=true]>span{background:var(--brand-soft);color:var(--brand);border-color:var(--brand)}
.hlp-btn:focus-visible{outline:3px solid var(--ring);outline-offset:0}
.hlp-pop{position:fixed;z-index:1000;inset:auto;left:var(--hl,0);top:var(--ht,0);box-sizing:border-box;
  max-width:min(20rem,90vw);width:max-content;padding:var(--s3) var(--s4);border-radius:var(--r);
  background:var(--surface);color:var(--fg);border:1px solid var(--line-strong);
  box-shadow:0 8px 24px rgba(15,23,42,.18);font-size:.88rem;line-height:1.8;font-weight:400;
  text-align:start;white-space:normal;overflow-wrap:anywhere;
  opacity:0;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease;pointer-events:none}
.hlp-pop[hidden]{display:none}
.hlp-pop.is-open{opacity:1;transform:none;pointer-events:auto}
.hlp-pop.flip-y{transform:translateY(-4px)}
.hlp-pop.flip-y.is-open{transform:none}
/* invisible bridge so the pointer can travel from icon to popup */
.hlp-pop::before{content:"";position:absolute;inset-inline:0;height:12px;top:-12px}
.hlp-pop.flip-y::before{top:auto;bottom:-12px}
.hlp-pop::after{content:"";position:absolute;top:-6px;left:var(--ha,12px);width:10px;height:10px;margin-left:-5px;
  background:var(--surface);border-left:1px solid var(--line-strong);border-top:1px solid var(--line-strong);
  transform:rotate(45deg)}
.hlp-pop.flip-y::after{top:auto;bottom:-6px;transform:rotate(225deg)}
.hlp-t{display:block;margin-bottom:var(--s1);color:var(--fg)}
@media (prefers-reduced-motion:reduce){.hlp-pop,.hlp-btn>span{transition:none;transform:none}}
@media (forced-colors:active){.hlp-pop{border-color:CanvasText}}
.field-lbl{display:flex;align-items:center;margin-bottom:6px}
.field-lbl>label{margin:0;font-weight:500}
